:root{--bg:#f4f7f5;--panel:#fff;--panel2:#eef3f0;--text:#14231d;--muted:#5d6f66;--line:#dbe4df;--green:#1d6b52;--green2:#e1f1ea;--green3:#0f4a39;--blue:#2a5fa5;--blue2:#e3edfa;--red:#c0392b;--red2:#fbe7e4;--amber:#a86a00;--amber2:#fdf0d4;--gold:#b78a00;--shadow:0 1px 2px rgba(15,40,30,.05),0 8px 24px rgba(15,40,30,.06);--r:16px;--nav-h:64px;--side-w:236px;color-scheme:light}html[data-theme=dark]{--bg:#0c1512;--panel:#142019;--panel2:#1a2a22;--text:#e6f0ea;--muted:#92a89c;--line:#25382f;--green:#46c08f;--green2:#173a2d;--green3:#7fe0b6;--blue:#7fb0f0;--blue2:#172a45;--red:#ff8a7a;--red2:#3a1a17;--amber:#f0b95a;--amber2:#3a2c10;--gold:#e6c24d;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.28);color-scheme:dark}@media(prefers-color-scheme:dark){html[data-theme=auto]{--bg:#0c1512;--panel:#142019;--panel2:#1a2a22;--text:#e6f0ea;--muted:#92a89c;--line:#25382f;--green:#46c08f;--green2:#173a2d;--green3:#7fe0b6;--blue:#7fb0f0;--blue2:#172a45;--red:#ff8a7a;--red2:#3a1a17;--amber:#f0b95a;--amber2:#3a2c10;--gold:#e6c24d;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.28);color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-y:scroll}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}body.noscroll{overflow:hidden}h1,h2,h3{line-height:1.2;margin:0 0 .4em;letter-spacing:-.01em}h1{font-size:1.7rem}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:.4em 0}.muted{color:var(--muted)}.small{font-size:.86rem}.center{text-align:center}.mt{margin-top:14px}.hidden{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}button,select,input,textarea{font:inherit;color:inherit}button{min-height:44px;padding:9px 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;font-weight:600;transition:transform .08s,background .15s,border-color .15s}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}@media(hover:hover){button:not(:disabled):hover{border-color:var(--green)}}button.primary{background:var(--green);border-color:var(--green);color:#fff}html[data-theme=dark] button.primary{color:#07261b}button.soft{background:var(--green2);border-color:transparent;color:var(--green)}button.danger{color:var(--red);border-color:var(--red)}button.ghosty{border-color:transparent;background:transparent;color:var(--green);padding:6px 8px;min-height:36px}button.sm{min-height:36px;padding:5px 12px;font-size:.88rem;border-radius:10px}:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 55%,transparent);outline-offset:2px}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-size:16px}textarea{min-height:90px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;min-height:0}.field{display:flex;flex-direction:column;gap:5px;font-size:.88rem;font-weight:600}.field>span{color:var(--muted)}.fieldgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.field.full,.full{grid-column:1/-1}.checkline{display:flex;align-items:center;gap:8px;font-weight:500;font-size:.95rem}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.eyebrow{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--green);font-weight:750}.lead{font-size:1.02rem;color:var(--text)}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:.78rem;font-weight:650;white-space:nowrap}.pill.ok{background:var(--green2);color:var(--green)}.pill.warn{background:var(--amber2);color:var(--amber)}.pill.bad{background:var(--red2);color:var(--red)}.pill.blue{background:var(--blue2);color:var(--blue)}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-btn{min-height:36px;padding:4px 12px;border-radius:999px;font-size:.9rem}.lvl{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:.82rem}.lvl.gold{color:var(--gold)}.lvl.green{color:var(--green)}.lvl.yellow{color:var(--amber)}.lvl.orange{color:#c2610c}.lvl.red{color:var(--red)}.progress{height:9px;background:var(--panel2);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--green),#3fb88a);border-radius:99px;transition:width .4s ease}.progress>span.low{background:var(--red)}.progress>span.mid{background:#d8a21a}.progress>span.good{background:var(--green)}.ring{position:relative;display:inline-block}.ring svg{display:block}.ring-bg{fill:none;stroke:var(--panel2);stroke-width:9}.ring-fg{fill:none;stroke:var(--green);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.ring-label b{font-size:1.15rem}.ring-label small{color:var(--muted);font-size:.68rem}.empty{display:flex;gap:12px;align-items:center;padding:18px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)}.empty-ic{font-size:1.6rem}.notice{padding:12px 14px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);font-size:.93rem}.notice.info{background:var(--blue2);border-color:transparent}.notice.bad{background:var(--red2);border-color:transparent;color:var(--red)}.notice.warn{background:var(--amber2);border-color:transparent;color:var(--amber)}.notice.good{background:var(--green2);border-color:transparent}.banner{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.skeleton{background:linear-gradient(90deg,var(--panel2),var(--line),var(--panel2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:12px}@keyframes sk{to{background-position:-200% 0}}.app{min-height:100vh}.side{display:none}.main{max-width:1120px;margin:0 auto;padding:18px 16px 28px}.pagehead{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.pagehead h1{margin:2px 0}.pagehead p{margin:0}.topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;max-width:1120px;margin:0 auto}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;font-size:1.05rem}.brand-ic{width:34px;height:34px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:1.1rem}html[data-theme=dark] .brand-ic{color:#07261b}.topbar .grow{flex:1}.iconbtn{min-height:40px;width:40px;padding:0;border-radius:12px;display:grid;place-items:center;font-size:1.1rem}.bottom-nav{position:fixed;inset:auto 0 0;z-index:40;display:flex;background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button{flex:1;min-height:var(--nav-h);border:0;background:transparent;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.7rem;font-weight:650;color:var(--muted);padding:4px 2px;position:relative}.bottom-nav button .ic{font-size:1.3rem;line-height:1}.bottom-nav button.on{color:var(--green);background:var(--green2)}.dot{position:absolute;top:6px;right:calc(50% - 18px);width:9px;height:9px;border-radius:50%;background:var(--red)}@media(min-width:1024px){body{padding-bottom:0;padding-left:var(--side-w)}.bottom-nav{display:none}.side{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:var(--side-w);padding:18px 12px;border-right:1px solid var(--line);background:var(--panel);overflow:auto;z-index:30}.side .brand{padding:4px 8px 16px}.side button{width:100%;justify-content:flex-start;text-align:left;border:0;background:transparent;display:flex;gap:10px;align-items:center;font-weight:600;color:var(--muted);min-height:42px;position:relative}.side button.on{background:var(--green2);color:var(--green)}.side .sep{height:1px;background:var(--line);margin:10px 8px}.side .grow{flex:1}.topbar .brand{display:none}.main{padding:22px 28px 40px}}.hero{background:linear-gradient(135deg,var(--green3),var(--green));color:#fff;border:0;position:relative;overflow:hidden}html[data-theme=dark] .hero{color:#eafff5;background:linear-gradient(135deg,#0f3a2c,#1b6a50)}.hero h1{font-size:1.75rem}.hero .muted{color:#fffc}.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:#ffffff12}.tile{display:flex;flex-direction:column;gap:6px;text-align:left;align-items:flex-start;padding:16px;min-height:112px;border-radius:var(--r);box-shadow:var(--shadow);position:relative}.tile .em{font-size:1.7rem;line-height:1}.tile b{font-size:1rem}.tile span{color:var(--muted);font-weight:500;font-size:.84rem}.tile .badge{position:absolute;top:10px;right:10px}.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{padding:14px 16px}.stat .v{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}.stat .l{font-size:.8rem;color:var(--muted);font-weight:600}.barrow{display:grid;grid-template-columns:minmax(80px,140px) 1fr auto;gap:10px;align-items:center;margin:8px 0;font-size:.92rem}.split{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.split>*{min-width:0}@media(min-width:900px){.split{grid-template-columns:340px minmax(0,1fr)}}.listcol{display:flex;flex-direction:column;gap:6px}.listitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border-radius:12px;padding:10px 12px;min-height:56px}.listitem.on{border-color:var(--green);background:var(--green2)}.li-main{flex:1;min-width:0}.li-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.li-main span{font-size:.8rem;color:var(--muted);font-weight:500}.typedot{width:34px;height:34px;border-radius:10px;background:var(--green2);display:grid;place-items:center;font-size:1.1rem;flex:none}.sname{font-size:1.7rem;margin:.2em 0}.facts{display:grid;gap:10px;margin-top:12px}.fact{padding:12px 14px;border-radius:12px;background:var(--panel2)}.fact-l{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:750}.fact-v{margin-top:3px;white-space:pre-line}.facts.compact .fact{padding:8px 12px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.thumb{position:relative;padding:0;min-height:0;aspect-ratio:4/3;overflow:hidden;border-radius:12px}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .tag{position:absolute;left:0;right:0;bottom:0;background:#0000008c;color:#fff;font-size:.72rem;padding:3px 6px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb .vid{position:absolute;inset:0;display:grid;place-items:center;font-size:2rem;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}.thumb .pinmark{position:absolute;top:5px;right:5px;background:var(--red);color:#fff;border-radius:999px;font-size:.7rem;padding:1px 7px}.stage{overflow:auto;border-radius:12px;background:var(--panel2);text-align:center;margin:10px 0;-webkit-overflow-scrolling:touch}.imgwrap{position:relative;display:inline-block;max-width:100%;line-height:0}.imgwrap img{max-width:100%;max-height:60vh;width:auto;height:auto;display:block;user-select:none;-webkit-user-select:none}.pin{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:var(--red);color:#fff;border:2px solid #fff;font:700 .8rem/22px system-ui;text-align:center;box-shadow:0 2px 6px #0006;pointer-events:none}.videobox{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#000}.videobox iframe,.videobox video{position:absolute;inset:0;width:100%;height:100%;border:0}.back-narrow{display:inline-flex}@media(min-width:900px){.back-narrow{display:none}}.narrow-hide{display:none}@media(min-width:900px){.narrow-hide{display:block}}.flash{min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:24px;cursor:pointer;border-radius:20px}.flash .word{font-size:1.4rem;font-weight:750}.flash .answer{border-top:1px solid var(--line);padding-top:12px;white-space:pre-line;text-align:left;width:100%}.flash .hint{color:var(--muted);font-size:.85rem}.runner-top{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.timer{font:700 1.15rem ui-monospace,SFMono-Regular,Menlo,monospace;padding:6px 12px;border-radius:12px;background:var(--panel2)}.timer.low{background:var(--red2);color:var(--red)}.quizq{font-size:1.2rem;font-weight:650;margin:6px 0 10px;white-space:pre-line}.option{display:block;width:100%;text-align:left;margin:8px 0;padding:12px 14px;font-weight:550;border-radius:14px}.option.correct{background:var(--green2);border-color:var(--green)}.option.wrong{background:var(--red2);border-color:var(--red)}.option.chosen{border-color:var(--blue);background:var(--blue2)}.feedback{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--panel2)}.feedback.good{background:var(--green2)}.feedback.bad{background:var(--red2)}.feedback.warn{background:var(--amber2)}.kp{display:flex;gap:8px;align-items:flex-start;padding:6px 0}.kp input{margin-top:5px}.qnav{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.qnav button{min-height:38px;min-width:38px;padding:0;border-radius:10px}.qnav .cur{border-color:var(--green);box-shadow:0 0 0 2px var(--green2)}.qnav .ans{background:var(--green2)}.qnav .flag{border-color:var(--amber);color:var(--amber)}.review{padding:12px 0;border-top:1px solid var(--line)}.tabs{display:flex;gap:4px;overflow-x:auto;padding:4px;background:var(--panel2);border-radius:14px;margin-bottom:14px;-webkit-overflow-scrolling:touch}.tab{border:0;background:transparent;white-space:nowrap;min-height:38px;padding:6px 14px;border-radius:10px;color:var(--muted)}.tab.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.row-between{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.mist{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel);margin:8px 0}.mist .sev{font-size:1.3rem}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.bdg{padding:12px;border-radius:14px;border:1px solid var(--line);text-align:center;background:var(--panel)}.bdg.off{opacity:.45;filter:grayscale(1)}.bdg .i{font-size:1.8rem}.stepcard{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel);width:100%;text-align:left}.station{display:flex;flex-direction:column;gap:6px}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.modal-back{position:fixed;inset:0;z-index:80;background:#050f0a8c;display:flex;align-items:flex-end;justify-content:center;padding:0}@media(min-width:700px){.modal-back{align-items:center;padding:20px}}.modal{background:var(--panel);width:100%;max-width:560px;max-height:92vh;border-radius:22px 22px 0 0;display:flex;flex-direction:column;box-shadow:var(--shadow);outline:0;animation:up .2s ease}.modal.wide{max-width:860px}@media(min-width:700px){.modal{border-radius:22px}}@keyframes up{0%{transform:translateY(24px);opacity:0}}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:16px 18px calc(18px + env(safe-area-inset-bottom));overflow:auto}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + 18px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);padding:11px 18px;border-radius:14px;z-index:99;max-width:min(92vw,520px);font-weight:600;box-shadow:var(--shadow);animation:up .2s ease}.toast.err{background:var(--red);color:#fff}@media(min-width:1024px){.toast{bottom:24px}}.view{animation:fadein .25s ease}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{.side,.bottom-nav,.topbar,.noprint{display:none!important}body{padding:0!important;background:#fff;color:#000}.card{box-shadow:none}}.print-only{display:none}@media print{.print-only{display:block!important}.noprint{display:none!important}.print-only h1{font-size:18pt}.print-only .pq{break-inside:avoid;margin:10px 0}.print-only ol{padding-left:20px}}
