:root{--navy:#0b1a33;--blue:#1d4ed8;--gold:#f5b301;--bg:#f4f6fb;--card:#fff;--text:#111;--muted:#3d4757;--line:#d5dbe6;--ok:#11663f;--bad:#a61b12;--warn:#7a5200;--noteb:#fff4d6;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--card:#162238;--text:#f3f6fb;--muted:#c7d2e3;--line:#2c3c58;--ok:#5ee09b;--bad:#ff9b8f;--warn:#ffd166;--noteb:#2b2410;--blue:#3b82f6}}
html{font:-apple-system-body}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;font-size:1.2rem;line-height:1.5;background:var(--bg);color:var(--text);padding-bottom:calc(170px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
@supports not (font:-apple-system-body){html{font-size:17px}}
a{color:var(--blue)}@media (prefers-color-scheme:dark){a{color:#9cc3ff}}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:12px;z-index:99}.skip:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:4px solid var(--gold);outline-offset:3px}
header{background:var(--navy);color:#fff;padding:10px 12px 10px;padding-top:max(10px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));position:sticky;top:0;z-index:10}
.topbar{display:flex;align-items:center;gap:8px;min-height:52px}header h1{margin:0;font-size:1.35rem;flex:1;text-align:center}header p{margin:2px 0 0;font-size:1rem;color:#dfe8f8;text-align:center}
.nav{font-family:inherit;min-height:52px;min-width:88px;border:2px solid #fff;border-radius:12px;background:transparent;color:#fff;font-size:1.05rem;font-weight:700;padding:6px 10px;cursor:pointer}
main{padding:14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));max-width:680px;margin:auto}main:focus{outline:none}
.btn{font-family:inherit;display:block;width:100%;min-height:60px;margin:12px 0;padding:14px 16px;border:2px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);font-size:1.2rem;font-weight:700;text-align:left;text-decoration:none;cursor:pointer;line-height:1.3}
.btn.center,.center .btn{text-align:center}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;text-align:center}.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff;text-align:center}.btn.gold{background:var(--gold);border-color:var(--gold);color:#111;text-align:center}.btn.danger{color:var(--bad)}
.btn:disabled{opacity:.7}.lk{font-size:1rem;font-weight:600;color:var(--muted)}
@media (prefers-color-scheme:dark){.btn.navy{background:#25406f;border-color:#25406f}}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 14px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:150px;padding:12px 8px;border:2px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);cursor:pointer;font:inherit}
.tile .ti{font-size:2.6rem;line-height:1.1}.tile .tt{font-size:1.15rem;font-weight:800;margin-top:6px;line-height:1.2}.tile .ts{font-size:1rem;color:var(--muted)}.tile .tl{font-size:.95rem;font-weight:700;color:var(--warn);margin-top:4px}
.tile:first-child{background:var(--blue);border-color:var(--blue);color:#fff}.tile:first-child .ts{color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin:14px 0}
h2{font-size:1.6rem;margin:8px 0 10px;line-height:1.25}h2:focus{outline:none}h3{font-size:1.3rem;margin:8px 0}
.big{font-size:3rem;font-weight:800;text-align:center;margin:4px 0}.unit{font-size:1.3rem}.verdict{font-size:1.8rem;text-align:center;margin:6px 0}
.small{font-size:1.05rem;color:var(--muted)}.center{text-align:center}
.good{color:var(--ok)}.warn{color:var(--warn)}.badc{color:var(--bad)}
ol li,ul li{margin:10px 0}label{display:block;margin:14px 0 6px;font-weight:700}
input,select{width:100%;min-height:56px;font-size:1.2rem;padding:12px;border:2px solid #7d8899;border-radius:12px;background:var(--card);color:var(--text)}
.note{background:var(--noteb);border-left:6px solid var(--gold);padding:14px;border-radius:10px;margin:12px 0}
.chk{display:flex;gap:14px;align-items:flex-start;margin:6px 0;font-weight:400;padding:10px 0;min-height:48px;cursor:pointer}.chk input{width:34px;height:34px;min-height:34px;flex:none;margin:2px 0}
.progress{font-weight:700;margin:0 0 6px}.bar{height:12px;background:var(--line);border-radius:6px;overflow:hidden}.bar span{display:block;height:100%;background:var(--blue)}
.step p{font-size:1.3rem;line-height:1.55;margin:4px 0}
.bkrow{border-bottom:1px solid var(--line);padding:10px 0}
footer{text-align:center;font-size:1rem;color:var(--muted);padding:20px}
.helpbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--bg);border-top:1px solid var(--line);padding:8px 14px calc(64px + env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
.helpbar .btn{margin:0;max-width:680px;margin:auto;min-height:56px}
.toast{position:fixed;left:14px;right:14px;bottom:calc(150px + env(safe-area-inset-bottom));z-index:30;background:var(--navy);color:#fff;padding:14px 16px;border-radius:14px;font-size:1.15rem;box-shadow:0 4px 16px #0005}.toast.bad{background:#7f1d1d}.toast.ok{background:#14532d}
.a2hs{display:block;padding:10px 14px;background:transparent;border:0}.a2hs[hidden]{display:none}.a2c{max-width:680px;margin:auto;background:var(--noteb);border:2px solid var(--gold);border-radius:14px;padding:10px 14px}.a2t{display:flex;align-items:center;justify-content:space-between;gap:8px}.a2hs .x{min-width:48px;min-height:48px;border:0;background:transparent;font-size:1.4rem;color:inherit}.a2hs summary{min-height:44px;display:flex;align-items:center;font-weight:700;text-decoration:underline;cursor:pointer}.a2hs ol{margin:6px 0;padding-left:1.4em}.a2hs li{margin:6px 0}.a2n{font-size:.92em;opacity:.9;margin:6px 0 2px}
.welcome{position:fixed;inset:0;z-index:50;background:#0b1a33ee;display:flex;align-items:center;justify-content:center;padding:20px}.welcome[hidden]{display:none}
.wbox{background:var(--card);color:var(--text);border-radius:20px;padding:22px;max-width:460px;width:100%;text-align:center}.wi{font-size:3.4rem}
#qr img{display:block;margin:auto;width:240px;height:240px;background:#fff;padding:8px}
.hide{display:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* keep sticky help button clear of the Netlify badge (bottom-right) */
