
:root{--ink:#17202B;--muted:#6A7684;--line:#C6CED7;--fill:#EBEFF3;
--sea:#2E9E85;--gold:#B8891B;--r:11px}
*{box-sizing:border-box}
body{margin:0;background:#F3F5F7;color:var(--ink);line-height:1.5;
font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
main{max-width:430px;margin:0 auto;padding:22px 18px 64px}
a{color:inherit}
.bar{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-bottom:16px}
h1{font-size:25px;font-weight:700;letter-spacing:-.025em;line-height:1.15;margin:0 0 6px}
h2{font-size:18px;font-weight:600;letter-spacing:-.015em;margin:0 0 8px}
.sub{font-size:13.5px;color:var(--muted);margin:0 0 20px}
.card{background:#fff;border-radius:var(--r);padding:18px 16px;box-shadow:0 1px 2px rgba(23,32,43,.08)}
.sec{border-top:1px solid var(--fill);padding-top:18px;margin-top:18px}
label,.label{display:block;font-size:12.5px;font-weight:600;margin:0 0 7px}
.hint{font-size:11.5px;color:var(--muted);margin:7px 0 0}
input[type=text],input[type=number],input[type=date],input[type=url]{
width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:inherit;font-size:15px;background:#fff}
input:focus-visible,button:focus-visible,label:focus-within{outline:2px solid var(--sea);outline-offset:2px}
button,.btn{display:block;width:100%;border:0;background:var(--ink);color:#fff;border-radius:9px;
padding:13px;font:inherit;font-size:14.5px;font-weight:600;text-align:center;text-decoration:none;margin-top:14px;cursor:pointer}
.btn.ghost,button.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.sea{background:var(--sea)}
.foot{font-size:11.5px;color:var(--muted);text-align:center;margin-top:10px}
.err{background:#FDECEA;color:#9B2C1E;border-radius:9px;padding:11px 12px;font-size:13px;margin-bottom:14px}
.days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;-webkit-user-select:none;user-select:none}
.days .month-h{grid-column:1/-1;font-size:11.5px;font-weight:600;color:var(--muted);
text-transform:capitalize;margin:10px 0 -2px}
.days .month-h:first-child{margin-top:0}
.days label{border:1px solid var(--line);border-radius:8px;padding:7px 0;text-align:center;
font-size:11px;color:var(--muted);cursor:pointer;margin:0;font-weight:400;touch-action:none}
.days label b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.days input{position:absolute;opacity:0;width:0;height:0}
.days label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#9FB0BF}
.days label:has(input:checked) b{color:#fff}
.days label.turn{border-color:var(--gold);border-width:2px}
input[type=range]{width:100%;accent-color:var(--ink);margin:16px 0 6px}
.val{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--muted)}
.val b{font-size:20px;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.stepper{display:flex;align-items:center;gap:14px}
.stepper button{width:38px;height:38px;margin:0;background:#fff;color:var(--ink);border:1px solid var(--line);font-size:18px;padding:0}
.stepper b{font-size:20px;min-width:20px;text-align:center;font-variant-numeric:tabular-nums}
.stepper span{font-size:12px;color:var(--muted);line-height:1.35}
.opt{display:flex;gap:11px;align-items:center;border:1px solid var(--line);border-radius:10px;
padding:11px;margin-bottom:9px;cursor:pointer;font-weight:400}
.opt:has(input:checked){border-color:var(--ink);border-width:2px;padding:10px}
.opt input{width:20px;height:20px;flex:none;accent-color:var(--ink)}
.opt-txt{flex:1;min-width:0}
.opt-txt b{display:block;font-size:13.5px}
.opt-txt small{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.opt-txt .ad-link{display:inline-block;margin-top:3px;font-size:11.5px;color:var(--sea);font-weight:600}
.res{display:block;background:#fff;border-radius:var(--r);overflow:hidden;margin-bottom:11px;
text-decoration:none;box-shadow:0 1px 2px rgba(23,32,43,.08)}
.flag{height:4px;background:#D7DDE4}
.flag.all{background:var(--sea)}.flag.over,.flag.partial{background:#E3AC3C}
.res-in{padding:12px;display:flex;gap:11px;align-items:flex-start}
.res b.t{font-size:14.5px;display:block}
.state{font-size:12px;font-weight:600;margin-top:3px}
.state.all{color:var(--sea)}.state.partial,.state.over{color:var(--gold)}.state.none{color:var(--muted)}
.why{font-size:11.5px;color:var(--muted);margin-top:4px}
.price{flex:none;text-align:right}
.price b{display:block;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
.price small{font-size:10.5px;color:var(--muted)}
.res.dim{opacity:.6}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{font-size:11.5px;border:1px solid var(--line);border-radius:99px;padding:4px 10px;color:var(--muted)}
.pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.wait{border-style:dashed}
.rows div{display:flex;justify-content:space-between;font-size:13.5px;padding:9px 0;border-bottom:1px solid var(--fill)}
.rows div:last-child{border-bottom:0}
.rows b{font-weight:600;font-variant-numeric:tabular-nums}
.banner{background:var(--fill);border-radius:9px;padding:12px;font-size:12.5px;line-height:1.45}
.link{word-break:break-all;font-size:12.5px;background:var(--fill);border-radius:9px;padding:10px}
main.wide{max-width:560px}
.hero{padding:26px 0 4px}
.hero h1{font-size:clamp(30px,8vw,40px);letter-spacing:-.03em;line-height:1.08;margin:0 0 12px}
.hero p{font-size:16px;color:var(--muted);margin:0 0 24px;line-height:1.5}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
background:#fff;color:#3c4043;border:1px solid var(--line);border-radius:9px;padding:13px;
font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;margin-top:0}
.gbtn:hover{background:#F8F9FA}
.gbtn svg{width:18px;height:18px;flex:none}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;position:relative;padding-left:34px;margin-bottom:14px;
font-size:14px;line-height:1.45}
.steps li::before{content:counter(s);position:absolute;left:0;top:-1px;width:23px;height:23px;
border-radius:50%;background:var(--sea);color:#fff;font-size:12px;font-weight:700;
display:grid;place-items:center}
.steps b{font-weight:600}
.grp{display:block;background:#fff;border-radius:var(--r);padding:14px;margin-bottom:10px;
text-decoration:none;box-shadow:0 1px 2px rgba(23,32,43,.08)}
.grp b{font-size:15px;display:block}
.grp small{font-size:12px;color:var(--muted);display:block;margin-top:3px}
.grp .bar2{display:flex;gap:8px;margin-top:11px}
.grp .bar2 a{flex:1;text-align:center;font-size:12.5px;font-weight:600;text-decoration:none;
border:1px solid var(--line);border-radius:8px;padding:8px;color:var(--ink)}
.who{display:flex;justify-content:space-between;align-items:center;font-size:12px;
color:var(--muted);margin-bottom:18px}
.who form{margin:0}
.who button{width:auto;margin:0;padding:5px 10px;font-size:12px;background:#fff;
color:var(--muted);border:1px solid var(--line)}
.danger{background:#fff;color:#9B2C1E;border:1px solid #E6C3BD}
.pwa-toast{position:fixed;left:12px;right:12px;
bottom:calc(12px + env(safe-area-inset-bottom));z-index:999;
background:var(--ink);color:#fff;border-radius:10px;padding:12px 14px;
font-size:12.5px;display:flex;align-items:center;gap:10px;
box-shadow:0 4px 16px rgba(23,32,43,.25)}
.pwa-toast span{flex:1}
.pwa-toast button{width:auto;margin:0;padding:6px 10px;font-size:12px;flex:none;
background:#fff;color:var(--ink);border-radius:7px}
.pwa-toast button.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
