@font-face{font-family:'Stack Sans Headline';src:url(font.woff) format('woff');font-weight:200 700;font-display:swap}
:root{--pink:#FF00BA;--ink:#1B0097;--blue:#1B2ACF;--gr:#B2B2B2}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;font:200 18px/1.45 'Stack Sans Headline',system-ui,sans-serif;color:#000;background:#fff}
b,strong,h1,h2,h3,th,label,button{font-weight:700}
header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px 40px;border-bottom:1px solid var(--gr)}
header .t{font-size:clamp(16px,2.1vw,28px);font-weight:200;line-height:1.2}
header img{height:clamp(22px,2.6vw,34px);flex:none}
main{flex:1;width:100%;max-width:780px;margin:0 auto;padding:56px 20px 64px;text-align:center}
main.w{max-width:1100px;text-align:left;padding-top:32px}
footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;padding:24px 20px 32px;font-size:16px;text-align:center}
footer img{height:28px}
h1{font-size:clamp(26px,3.4vw,34px);margin:0 0 24px}
h2{font-size:clamp(22px,2.6vw,28px);margin:48px 0 18px}
h3{font-size:16px;margin:24px 0 10px;color:var(--blue)}
p{margin:0 0 16px}.lead{font-size:clamp(18px,2.2vw,22px);max-width:640px;margin:0 auto 32px}
button,.btn{font:inherit;font-weight:700;cursor:pointer;border:2px solid var(--blue);background:#fff;color:var(--blue);padding:10px 22px;border-radius:12px;transition:.15s}
button:hover:not(:disabled){background:var(--blue);color:#fff}
.btn.p{background:var(--blue);color:#fff}.btn.p:hover{background:var(--ink);border-color:var(--ink)}
:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
.g{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sl{padding:9px 14px;font-size:16px;border:1px solid var(--gr);color:var(--gr);background:#fff;cursor:not-allowed}
.sl.ok{border:2px solid var(--blue);color:var(--blue);cursor:pointer}
.sl.on,.sl.on:disabled{background:var(--ink);border:2px solid var(--pink);color:#fff}
.sl.on:hover{background:var(--ink)}
input,select{font:inherit;font-weight:400;padding:11px 12px;border:1px solid var(--gr);border-radius:12px;width:100%;color:#000;background:#fff}
input:focus,select:focus{border-color:var(--blue)}
label{display:block;margin:16px 0 6px}
.f{max-width:460px;margin:0 auto;text-align:left}.f h1{text-align:center}
.err{color:var(--pink);font-weight:700;min-height:1.4em}
.note{max-width:560px;margin:0 auto 24px;padding:12px 16px;border:1px solid var(--pink);border-radius:12px}
.bar{position:sticky;bottom:0;background:#fff;padding:16px 0;text-align:center;display:flex;gap:12px;justify-content:center}
.kv{margin:0 auto;border-collapse:collapse;text-align:left}.kv td{border:0;padding:2px 28px 2px 0;font-size:18px}
table{width:100%;border-collapse:collapse;min-width:620px}
td,th{padding:8px 6px;border-bottom:1px solid var(--gr);text-align:left;font-size:15px}
td input{width:auto;padding:6px 8px;max-width:150px}
.w #m,.tw{overflow-x:auto}
.tabs{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.tabs .on{background:var(--blue);color:#fff}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:20px}.row>div{flex:1;min-width:120px}
dialog{border:1px solid var(--gr);border-radius:16px;width:92%;max-width:440px;padding:20px;font-family:inherit}
.spots{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.card{border:1px solid var(--gr);border-radius:16px;padding:16px;min-height:180px;display:flex;flex-direction:column;gap:8px}.card h2{margin:0;font-size:22px}
.card.y{background:#FFE14D}.card.r{background:#E5383B;color:#fff}.card.k{background:#000;color:#fff}
.card.r button,.card.k button{background:#fff;color:#000;border-color:#fff}
@media(max-width:600px){
 body{font-size:17px}header{padding:16px 20px}main{padding:36px 16px 40px}
 .g button{flex:1 1 calc(50% - 10px)}.bar button{flex:1}
 h2{margin-top:36px}
}
