:root{--ink: #080a16;--ink-2: #10142a;--line: rgba(160, 170, 220, .16);--text: #e8e9f5;--muted: #9aa0c4;--gold: #ffd37a;--grid: rgba(120,132,180,.14);--tag: #fff3c4;--coral: #ff6b57;--mint: #5ef2c0;--font: "Chakra Petch", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ink);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.45;overflow:hidden;-webkit-font-smoothing:antialiased}#stage{position:fixed;inset:0}#stage canvas{display:block}.labels{position:absolute;inset:0;pointer-events:none}.hidden{display:none!important}button{font:inherit;font-weight:500;color:var(--text);background:#ffffff0d;border:1px solid var(--line);border-radius:6px;padding:10px 16px;cursor:pointer;transition:background .12s,border-color .12s,transform 80ms}button:hover{background:#ffffff1a;border-color:#a0aadc66}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button.primary{background:var(--gold);color:#1a1405;border-color:transparent;font-weight:600}button.primary:hover{background:#ffe1a0}input,select{font:inherit;color:var(--text);background:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:9px 11px;width:100%}select option{background:var(--ink-2)}.screen{position:fixed;inset:0;display:grid;place-items:center;padding:24px;overflow:auto;background:radial-gradient(ellipse at 50% 45%,#080a161a,#080a16b8 78%)}.panel{width:min(780px,100%);background:#0b0e1ee6;border:1px solid var(--line);border-radius:12px;padding:26px 32px;backdrop-filter:blur(14px) saturate(120%);box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffd37a0f}h1{margin:0 0 6px;font-size:52px;font-weight:600;letter-spacing:.04em;line-height:1;color:var(--gold);text-shadow:0 0 40px rgba(255,211,122,.35)}h2{margin:0;font-size:30px;font-weight:600;letter-spacing:.02em}h3{margin:14px 0 6px;font-size:15px;font-weight:600;color:var(--muted)}.lede{margin:4px 0 14px;max-width:78ch;color:var(--text)}.how{display:grid;gap:4px;margin:8px 0 4px;color:var(--muted);font-size:13px}.how .k{display:inline-block;min-width:46px;margin-right:8px;padding:1px 7px;border:1px solid var(--line);border-radius:4px;color:var(--text);text-align:center}.t-head{margin-bottom:14px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.tab{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:7px 14px;color:var(--muted);font-size:14px}.tab:hover{background:#ffffff0d;color:var(--text)}.tab.on{color:var(--gold);border-bottom-color:var(--gold)}.pane-lead{margin:0 0 10px;font-size:14px}.pane-note{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.how-details{margin-top:14px;border-top:1px solid var(--line);padding-top:8px}.how-details summary{cursor:pointer;font-size:13.5px;color:var(--muted);list-style:none}.how-details summary::-webkit-details-marker{display:none}.how-details summary:before{content:"+ ";color:var(--gold)}.how-details[open] summary:before{content:"- "}.how-details summary:hover{color:var(--text)}.daily-board{display:grid;gap:4px;font-size:13px;margin-bottom:12px}.daily-board .row{display:flex;gap:10px;color:var(--muted)}.daily-board .row b{color:var(--text);font-variant-numeric:tabular-nums}.campaign{margin:0 0 12px;padding-left:20px;display:grid;gap:4px;font-size:13.5px}.campaign li{color:var(--muted)}.campaign li.done{color:var(--text)}.campaign li.now{color:var(--gold)}.campaign li .cs{float:right;font-variant-numeric:tabular-nums}.campaign li .cb{font-size:12.5px;color:var(--muted)}.campaign li.now .cb,.campaign li.done .cb{color:var(--muted)}.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:8px}.settings label{display:grid;gap:4px;font-size:12.5px;color:var(--muted)}.ach-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 16px;margin-top:10px}.ach-head{grid-column:1 / -1;font-size:12.5px;color:var(--muted)}.ach{font-size:12.5px;color:#9aa0c480;display:grid}.ach b{font-weight:600}.ach span{font-size:11.5px}.ach.on{color:var(--text)}.ach.on b{color:var(--gold)}.r-ach{margin:6px 0 0;font-size:13px;color:var(--gold)}.coach.tutorial{width:min(680px,calc(100% - 32px));border-color:#5ef2c08c}.coach.tutorial.dim{opacity:.9}.form{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:12px;margin-bottom:12px}.form label{display:grid;gap:5px;font-size:13px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px}.fine{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.r-formula{margin:8px 0 0;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 16px}.f-part{display:inline-flex;gap:6px;align-items:baseline}.f-part b{color:var(--text);font-variant-numeric:tabular-nums}.f-part.total b{color:var(--gold)}.coach{position:fixed;left:50%;bottom:108px;transform:translate(-50%);width:min(580px,calc(100% - 32px));display:flex;align-items:center;gap:14px;background:#0c0f20f0;border:1px solid rgba(255,211,122,.5);border-radius:8px;padding:12px 14px;box-shadow:0 10px 30px #00000073;z-index:6;animation:pop .22s ease-out}.coach p{margin:0;font-size:14px;line-height:1.45}.coach button{flex-shrink:0;padding:7px 12px;font-size:13px}.ghost-info{margin:8px 0 0;color:#9fd8ff;font-size:13.5px}@media (max-height: 720px){.panel{padding:18px 28px}h1{font-size:40px}.lede{margin-bottom:8px}.how{margin-bottom:10px}.r-actions{margin-top:14px}}#hud{position:fixed;inset:0;pointer-events:none}#hud:before,#hud:after{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:0}#hud:before{top:0;height:108px;background:linear-gradient(#080a16d1,#080a1600)}#hud:after{bottom:0;height:78px;background:linear-gradient(#080a1600,#080a16c7)}.hud-left{position:absolute;top:18px;left:22px;z-index:1}.hud-seed{font-size:13px;color:var(--muted)}.hud-target{margin-top:6px;font-size:14px;color:var(--text)}.hud-objective{margin-top:5px;font-size:12px;color:var(--gold);max-width:260px}.m-value.hot{color:var(--gold);text-shadow:0 0 12px rgba(255,211,122,.5)}.hud-right{position:absolute;top:18px;right:22px;display:flex;gap:22px;z-index:1}.meter{display:grid;justify-items:end}.m-label{font-size:12px;color:var(--muted)}.m-value{font-size:30px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.m-value.low{color:var(--coral);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.55}}.meter-q{min-width:96px}.qbar{display:block;width:96px;height:3px;margin-top:5px;background:#a0aadc33;border-radius:2px;overflow:hidden}.qbar i{display:block;height:100%;width:0;background:var(--mint);transition:width .26s ease-out}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.minimap{position:absolute;right:22px;bottom:64px;z-index:1;width:150px;height:150px;border:1px solid var(--line);border-radius:8px;background:#0a0d1c8c}.coach.dim{opacity:.22}.coach{transition:opacity .16s}.hud-actions{position:absolute;right:22px;bottom:16px;display:flex;gap:8px;pointer-events:auto;z-index:1}.hud-btn{padding:8px 12px;font-size:13px;display:inline-flex;align-items:center;gap:8px}.hud-btn .k{font-size:11px;padding:0 5px;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.hud-btn.primary .k{color:#1a1405;border-color:#1a140559}@media (pointer: coarse){.hud-btn{padding:11px 14px;font-size:14px}.hud-btn .k{display:none}}.nlabel{font-family:var(--font);font-size:12px;color:#e8e9f5d9;background:#080a168c;padding:2px 7px;border-radius:4px;white-space:nowrap;transform:translateY(-4px);pointer-events:none}.nlabel{display:inline-flex;align-items:center;gap:6px}.nl-type{font-style:normal;font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 55%,transparent);border-radius:3px;padding:0 3px;line-height:1.35}.nlabel.current{color:#fff;background:#080a16d9;border:1px solid rgba(255,255,255,.35)}.nlabel.tagged{color:var(--tag);text-shadow:0 0 10px rgba(255,243,196,.7)}.nlabel.swamp{color:#c8bf9a;font-size:11px}.nlabel.out{color:#d98a8a;text-decoration:line-through;opacity:.8}.nmark{font-size:10.5px;letter-spacing:.03em;white-space:nowrap;padding:1px 6px;border-radius:9px;pointer-events:none;margin:12px 0 0 30px;z-index:9000!important;background:#080a16d1;border:1px solid var(--line);color:var(--muted)}.nmark.confirmed{color:#0f1a12;background:var(--mint);border-color:var(--mint)}.nmark.provisional{color:#1f1607;background:#e8c37a;border-color:#e8c37a}.nmark.hold{color:#1a0f06;background:#e8a06a;border-color:#e8a06a}.nmark.unsupported{color:var(--muted)}.c-hist{color:var(--muted);font-weight:400}.c-hist.old{color:#e8c37a}#card{position:fixed;top:0;left:0;width:280px;background:#0c0f20eb;border:1px solid var(--line);border-radius:8px;padding:10px 12px;pointer-events:none;box-shadow:0 10px 30px #00000073;z-index:7}.c-head{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:baseline;font-size:11.5px}.c-type{color:var(--muted)}.c-label{font-size:15px;font-weight:600;word-break:break-all;margin:1px 0 4px}.c-src{font-size:12.5px;color:var(--mint)}.c-deg{color:var(--muted)}.c-deg.warm{color:#e8c37a}.c-deg.hot{color:var(--coral);font-weight:600}.c-note{font-size:12.5px;color:var(--muted);margin-top:4px;border-top:1px solid var(--line);padding-top:5px}.c-hint{font-size:11.5px;color:var(--muted);margin-top:6px}.c-sig{font-size:12px;color:var(--mint);margin-top:4px}.c-ev{margin-top:6px;border-top:1px solid var(--line);padding-top:5px;display:grid;gap:4px}.c-ev .ev{font-size:12px;color:var(--mint)}.c-ev .ev.lead{color:var(--muted)}.src{font-style:normal;font-size:10px;letter-spacing:.03em;padding:1px 5px;border-radius:3px;margin-right:6px;white-space:nowrap;border:1px solid var(--line);color:var(--muted)}.src.strong{color:#0f1a12;background:var(--mint);border-color:var(--mint)}.src.fair{color:#bfe9d8;border-color:#5ef2c073}.src.weak{color:#9aa0c4;border-color:var(--line)}.c-cautions{margin-top:4px;display:grid;gap:3px}.c-cautions .cau{font-size:12px;color:#e8a06a;padding-left:12px;position:relative}.c-cautions .cau:before{content:"";position:absolute;left:2px;top:5px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:6px solid #e8a06a}.c-verdict{font-size:12px;font-weight:600;margin-top:6px;padding:3px 7px;border-radius:4px;display:block}.c-verdict.confirmed{color:#0f1a12;background:var(--mint)}.c-verdict.provisional{color:#1f1607;background:#e8c37a}.c-verdict.unsupported{color:var(--muted);border:1px solid var(--line)}.c-verdict.hold{color:#1a0f06;background:#e8a06a}.c-verdict.out{color:#d98a8a;border:1px solid rgba(217,138,138,.4)}#toast{position:fixed;left:50%;bottom:60px;transform:translate(-50%);background:#0c0f20eb;border:1px solid var(--line);border-radius:8px;padding:9px 16px;font-size:14px;pointer-events:none;z-index:6}#toast.pop{animation:pop .22s ease-out}@keyframes pop{0%{transform:translate(-50%,8px);opacity:0}}.title-panel{max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain}.title-panel::-webkit-scrollbar{width:8px}.title-panel::-webkit-scrollbar-thumb{background:#a0aadc40;border-radius:4px}.results-panel{width:min(780px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column}.r-body{overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:0;padding-right:4px}.r-body::-webkit-scrollbar{width:8px}.r-body::-webkit-scrollbar-thumb{background:#a0aadc40;border-radius:4px}#results{justify-items:end}.r-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.r-actor{color:var(--muted);font-size:14px;margin-top:2px}.r-score-wrap{display:flex;align-items:center;gap:14px;text-align:right}.r-rank{font-size:56px;font-weight:600;line-height:1;width:72px;height:72px;display:grid;place-items:center;border:2px solid currentColor;border-radius:10px}.r-rank[data-rank=S]{color:var(--tag);text-shadow:0 0 20px rgba(255,243,196,.8)}.r-rank[data-rank=A]{color:var(--gold)}.r-rank[data-rank=B]{color:var(--mint)}.r-rank[data-rank=C]{color:#6fb8ff}.r-rank[data-rank=D]{color:var(--coral)}.r-score{font-size:40px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.r-score-label{font-size:12px;color:var(--muted)}.r-stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.stat span{font-size:12px;color:var(--muted);margin-right:8px}.stat b{font-weight:600;font-variant-numeric:tabular-nums}.r-objective{margin:8px 0 0;font-size:13px}.r-objective.met{color:var(--gold)}.r-objective.missed{color:var(--muted)}.r-lessons{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px;line-height:1.45}.r-account{margin:0;padding:0;list-style:none;display:grid;gap:3px;font-size:12.5px}.r-assessment{margin:12px 0 8px;font-size:13px;line-height:1.55;color:var(--text)}.r-assessment b{color:var(--muted);font-weight:600}.r-account li{display:grid;grid-template-columns:132px minmax(140px,auto) 1fr;gap:10px;align-items:baseline}.r-account .ag{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.r-account .aw{color:var(--muted)}.r-account b{font-weight:600;word-break:break-all}.r-account li.confirmed .ag{color:var(--mint)}.r-account li.provisional .ag{color:#e8c37a}.r-account li.unsupported .ag{color:#e8a06a}.r-account li.miss .ag{color:var(--coral)}.r-account li.miss b{color:var(--muted);text-decoration:line-through}@media (max-width: 720px){.r-account li{grid-template-columns:1fr;gap:0}}.r-rank.stamp{animation:stamp .42s cubic-bezier(.2,1.6,.4,1)}@keyframes stamp{0%{transform:scale(1.6) rotate(-6deg);opacity:0}}.r-board-row{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;margin-top:10px}.r-board-row h3{grid-column:1 / -1;margin:0 0 2px}.r-board{margin:0;padding:0;list-style:none;font-size:12.5px;display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}.r-board li{display:grid;grid-template-columns:20px 1fr auto auto;gap:8px;align-items:baseline;padding:2px 6px;border-radius:5px}.r-board li.me{background:#ffd37a1a;border:1px solid rgba(255,211,122,.3)}.r-board .pos{color:var(--muted)}.r-board .sc{font-weight:600;font-variant-numeric:tabular-nums}.r-board .pv{color:var(--muted);font-size:12px}.r-board .empty{color:var(--muted)}label.inline{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}label.inline input{width:160px}.r-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);flex-shrink:0}@media (max-width: 720px){.panel{padding:22px}h1{font-size:46px}.form,.r-board-row,.r-board{grid-template-columns:1fr}.how .k{min-width:40px}.tab{padding:7px 10px;font-size:13px}.hud-right{top:8px;left:8px;right:8px;display:flex;justify-content:space-between;gap:6px}.meter{justify-items:center}.m-label{font-size:10px}.m-value{font-size:21px}.meter-q,.qbar{min-width:56px;width:56px}.hud-left{top:70px;left:12px;right:12px}.hud-seed{font-size:11px}.hud-target{margin-top:2px;font-size:13px}.hud-objective{margin-top:2px;font-size:11px;max-width:none}#hud:before{height:132px}.minimap{width:84px;height:84px;right:10px;top:126px;bottom:auto}.hud-actions{left:8px;right:8px;bottom:10px;justify-content:space-between}.hud-btn{flex:1;justify-content:center}#card{left:8px!important;right:8px;bottom:74px;top:auto;width:auto;transform:none!important;border-radius:10px}.coach{bottom:78px}.coach.dim{opacity:0;pointer-events:none}#card{bottom:78px}.hud-btn{padding:11px 6px;font-size:13px;white-space:nowrap}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}html[data-motion=reduced] *{animation:none!important;transition:none!important}
