:root{--bg:#06231a;--panel:#0b3d2a;--panel2:#083024;--panel3:#0e4a33;--line:#1d6a4a;--gold:#f5c451;--gold-dim:#c9a227;--text:#eef5f0;--muted:#a7c4b4;--bad:#e05d5d;--good:#4cc38a;--card-red:#c62f3b;--card-black:#1c2430}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh}button{font:inherit;cursor:pointer}input,select{font:inherit}.wrap{max-width:960px;margin:0 auto;padding:16px}#landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}.pitch{max-width:560px;text-align:center;margin-bottom:24px}.pitch h1{font-size:2rem;margin-bottom:10px}.pitch h1 .gold{color:var(--gold)}.pitch p{color:var(--muted);line-height:1.55}.brand{display:inline-flex;align-items:center;gap:10px}.brand .wordmark{font-weight:800;letter-spacing:.04em;font-size:1.6rem;color:var(--text)}.brand .wordmark .gold{color:var(--gold)}.chipmark{width:40px;height:40px;flex:none}.brand-big .wordmark{font-size:2.4rem}.brand-big .chipmark{width:56px;height:56px}.pitch .tagline{color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;margin:10px 0 12px}.brandbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.brandbar .wordmark{font-size:1.25rem}.brandbar .chipmark{width:30px;height:30px}.brandbar .brandtag{color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;width:100%;max-width:380px}.auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tabs button{flex:1;padding:9px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-weight:600}.auth-tabs button.active{background:var(--gold);border-color:var(--gold);color:#231a02}.auth-card label{display:block;font-size:.85rem;color:var(--muted);margin:10px 0 4px}.auth-card input{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}.auth-submit{width:100%;margin-top:16px;padding:11px;border:none;border-radius:9px;background:var(--gold);color:#231a02;font-weight:700}#auth-error{color:var(--bad);min-height:1.2em;font-size:.9rem;margin-top:10px}#banner{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}#banner .lvl{font-weight:700}#banner .stat{color:var(--muted);font-size:.92rem}#banner .stat b{color:var(--text)}#banner .spacer{flex:1}#banner .email{color:var(--muted);font-size:.9rem}#logout-btn{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:6px 12px}.xpbar{flex-basis:100%;height:8px;background:var(--panel2);border-radius:99px;overflow:hidden}.xpbar>div{height:100%;background:var(--gold);width:0%}.xpnote{flex-basis:100%;color:var(--muted);font-size:.82rem;margin-top:-2px}nav#tabs{display:flex;gap:8px;margin:14px 0}nav#tabs button{flex:1;padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-weight:700}nav#tabs button.active{background:var(--gold);border-color:var(--gold);color:#231a02}.btn{background:var(--gold);border:none;color:#231a02;font-weight:700;border-radius:10px;padding:10px 18px}.btn.secondary{background:var(--panel3);color:var(--text);border:1px solid var(--line)}.btn:disabled{opacity:.45;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.panel h2{font-size:1.25rem;margin-bottom:8px}.panel h3{font-size:1.05rem;margin-bottom:6px}.muted{color:var(--muted)}.small{font-size:.88rem}.hero-cards{display:flex;gap:6px;margin-bottom:12px}.hero p.lede{line-height:1.65;color:var(--text);max-width:640px}.hero h1{font-size:1.9rem;margin-bottom:10px}.defword{background:none;border:none;color:var(--gold);border-bottom:1px dotted var(--gold);padding:0;font:inherit}.gword{color:var(--gold);border-bottom:1px dotted var(--gold);cursor:pointer}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}.module-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.module-card .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.module-card h3{font-size:1.12rem}.level-tag{color:var(--gold);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.module-card .sub{color:var(--muted);margin:2px 0 6px}.module-card .meta{color:var(--muted);font-size:.88rem;margin-bottom:10px}.badge{display:inline-block;background:var(--good);color:#06231a;font-weight:700;font-size:.75rem;border-radius:99px;padding:2px 9px;margin-left:8px;vertical-align:middle}.badge.best{background:var(--panel3);color:var(--gold);border:1px solid var(--gold-dim)}.briefing{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:10px;line-height:1.55}.briefing .key{color:var(--gold);font-weight:600}.disclaimer{color:var(--muted);font-size:.85rem;margin-top:14px;line-height:1.5}.cards{display:inline-flex;gap:6px;flex-wrap:wrap;vertical-align:middle}.pcard{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:62px;background:#fdfdf8;border-radius:7px;font-weight:800;line-height:1.05;box-shadow:0 1px 3px #0006}.pcard .r{font-size:1.05rem}.pcard .s{font-size:1.1rem}.pcard.red{color:var(--card-red)}.pcard.black{color:var(--card-black)}.pcard.mini{width:36px;height:48px}.pcard.mini .r{font-size:.85rem}.pcard.mini .s{font-size:.9rem}.scenario{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}.scenario .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0}.scenario .lbl{color:var(--muted);font-size:.85rem;min-width:64px}table.seats{width:100%;border-collapse:collapse;margin-top:6px}table.seats td{padding:6px 8px;border-top:1px solid var(--line);font-size:.92rem;vertical-align:middle}table.seats td.seat{color:var(--gold);font-weight:700;white-space:nowrap;width:52px}table.seats td.info{color:var(--muted)}.drill-head{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-bottom:6px}.drill-head .prog{color:var(--muted)}.combo{color:var(--gold);font-weight:700}.prompt{font-size:1.12rem;line-height:1.55;margin:10px 0}.options{display:grid;gap:10px;margin:14px 0}.opt{text-align:left;padding:13px 15px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:1rem}.opt:hover:not(:disabled){border-color:var(--gold)}.opt.correct{background:#14532d;border-color:var(--good)}.opt.wrong{background:#5a1f1f;border-color:var(--bad)}.opt:disabled{cursor:default;opacity:.92}.hintbox{background:var(--panel2);border:1px dashed var(--line);border-radius:10px;padding:10px 12px;color:var(--muted);font-size:.92rem;line-height:1.5}.hintbox b{color:var(--gold)}.feedback{margin-top:14px}.result-line{font-size:1.15rem;font-weight:800;margin-bottom:10px}.result-line.good{color:var(--good)}.result-line.bad{color:var(--bad)}.quickstat{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;background:var(--panel2);border:1px solid var(--gold-dim);border-radius:12px;padding:12px 14px;margin-bottom:12px}.quickstat .big{font-size:1.35rem;font-weight:800;color:var(--gold);white-space:nowrap}.quickstat .lab{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.quickstat .calc{line-height:1.45}.fb-block{margin-bottom:12px;line-height:1.6}.fb-block .h{color:var(--gold);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.verdict{font-size:1.3rem;font-weight:800;margin-bottom:6px}.recap-q{border-top:1px solid var(--line);padding:10px 0;line-height:1.5}.recap-q .qs{color:var(--gold);font-size:.92rem}.mark-good{color:var(--good);font-weight:700}.mark-bad{color:var(--bad);font-weight:700}.lab-sec{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.lab-sec h2{font-size:1.2rem;margin-bottom:4px}.lab-sec .desc{color:var(--muted);margin-bottom:12px;line-height:1.5}.lab-grid{display:flex;flex-wrap:wrap;gap:14px}.field{display:flex;flex-direction:column;gap:4px;min-width:150px}.field label{font-size:.85rem;color:var(--muted)}.field input,.field select{padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text);width:100%}.toggle{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.toggle button{padding:8px 14px;background:var(--panel2);color:var(--muted);border:none;font-weight:600}.toggle button.active{background:var(--gold);color:#231a02}.lab-out{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:14px;line-height:1.6}.lab-out .big{font-size:1.3rem;font-weight:800;color:var(--gold)}.mathlines{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;line-height:1.6;white-space:pre-wrap}.trick{color:var(--gold);margin-top:8px;line-height:1.5}table.stakes{width:100%;border-collapse:collapse;margin-top:8px}table.stakes th,table.stakes td{padding:8px;border-top:1px solid var(--line);text-align:left;font-size:.93rem}table.stakes tbody tr{cursor:pointer}table.stakes tbody tr:hover{background:var(--panel3)}table.stakes tr.featured td{color:var(--gold);font-weight:600}input[type=range]{width:220px;accent-color:var(--gold)}.chart{display:grid;grid-template-columns:repeat(13,1fr);gap:3px;margin:12px 0}.cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;border-radius:4px;background:var(--panel2);color:var(--muted)}.cell.premium{background:#14532d;color:#eafff3}.cell.strong{background:#2f7d46;color:#eafff3}.cell.playable{background:#c9a227;color:#231a02}.cell.fold{background:var(--panel2);color:#5f7a6b}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.88rem;color:var(--muted);margin:8px 0 4px}.legend .sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}.rank-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line);flex-wrap:wrap}.rank-row .n{font-weight:800;min-width:150px}.cheat{border-top:1px solid var(--line);padding:10px 0;line-height:1.55}.tip-item{border-top:1px solid var(--line)}.tip-item>button{width:100%;text-align:left;background:none;border:none;color:var(--text);padding:12px 2px;font-weight:700}.tip-item .tag{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-right:8px}.tip-item .body{padding:0 2px 14px;color:var(--muted);line-height:1.6}.gloss-search{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text);margin-bottom:10px}.gloss-item{padding:9px 2px;border-top:1px solid var(--line);cursor:pointer;line-height:1.5}.gloss-item .t{font-weight:700;color:var(--gold)}.gloss-item .f{display:block;color:var(--muted);font-size:.88rem;font-family:ui-monospace,Menlo,monospace}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.tile .v{font-size:1.35rem;font-weight:800;color:var(--gold)}.tile .k{color:var(--muted);font-size:.85rem;margin-top:2px}.ach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.ach{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}.ach.locked{opacity:.5}.ach .n{font-weight:800}.ach .d{color:var(--muted);font-size:.88rem;line-height:1.45}.record-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line);flex-wrap:wrap}.view-title{font-size:1.45rem;margin-bottom:6px}.hero{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.hero h2{font-size:1.9rem;margin-bottom:10px}.btn.ghost{background:var(--panel3);color:var(--text);border:1px solid var(--line)}.btn.gold{background:var(--gold);color:#231a02}.btn.danger-btn{background:#5a1f1f;color:#ffd9d9;border:1px solid var(--bad)}.path-title{font-size:1.25rem;margin:22px 0 12px}.modcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}.modcard.locked{background:var(--panel2)}.modhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.modhead h4{font-size:1.12rem}.modcard .tag{color:var(--gold);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.modcard.locked .tag{color:var(--muted)}.modcard p{line-height:1.5}.modactions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.modcard .btn:disabled{background:var(--panel3);color:var(--muted);border:1px solid var(--line);opacity:1;cursor:not-allowed}.brief{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:12px;line-height:1.55}.modcard.locked .brief{background:var(--panel)}.brief p+p{margin-top:8px}.brief .key strong{color:var(--gold)}.dhead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;align-items:baseline;margin-bottom:8px}.dtitle{font-weight:800}.dmeta{color:var(--muted);font-size:.9rem}.pbar{height:8px;background:var(--panel2);border:1px solid var(--line);border-radius:99px;overflow:hidden;margin-bottom:12px}.pfill{height:100%;background:var(--gold)}.scenario .sc-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0}.sc-label{color:var(--muted);font-size:.85rem;min-width:64px}.note{color:var(--muted);line-height:1.55;margin:10px 0}.tbl{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:8px 14px;margin:12px 0}.trow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 0;border-top:1px solid var(--line)}.trow:first-child{border-top:none}.trow .seat{color:var(--gold);font-weight:700;white-space:nowrap;min-width:52px}.trow .tname{font-weight:600}.trow .tinfo{color:var(--muted);font-size:.92rem}.small-cards .pcard{width:36px;height:48px}.small-cards .pcard .r{font-size:.85rem}.small-cards .pcard .s{font-size:.9rem}.hint{background:var(--panel2);border:1px dashed var(--line);border-radius:10px;padding:10px 12px;color:var(--muted);font-size:.92rem;line-height:1.5;margin-top:12px}.hint strong{color:var(--gold)}.options .opt.right{background:#14532d;border-color:var(--good)}.options .opt.wrong{background:#5a1f1f;border-color:var(--bad)}.result{font-size:1.15rem;font-weight:800;margin:14px 0 10px}.result.good{color:var(--good)}.result.bad{color:var(--bad)}.qstat{background:var(--panel2);border:1px solid var(--gold-dim);border-radius:12px;padding:12px 14px;margin-bottom:12px}.qs-label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.qs-big{font-size:1.35rem;font-weight:800;color:var(--gold);margin:2px 0}.qs-calc{line-height:1.45}.ex{line-height:1.6;margin-bottom:12px}.tip{line-height:1.6;margin-bottom:14px}.tip strong{color:var(--gold)}.res-title{font-size:1.45rem;margin-bottom:6px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}.tile-num{font-size:1.35rem;font-weight:800;color:var(--gold)}.tile-label{color:var(--muted);font-size:.85rem;margin-top:2px}.recap-row{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line);line-height:1.5}.recap-row .mark{font-weight:800}.recap-row .mark.ok{color:var(--good)}.recap-row .mark.no{color:var(--bad)}.lab-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.lab-card h3{font-size:1.12rem;margin-bottom:8px}.lab-card.danger{border-color:var(--bad)}.lab-grid label{display:flex;flex-direction:column;gap:4px;min-width:150px;font-size:.85rem;color:var(--muted)}.lab-grid label input,.lab-grid label select{padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text);width:100%;font:inherit}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:12px}.seg-btn{padding:8px 14px;background:var(--panel2);color:var(--muted);border:none;font-weight:600;cursor:pointer}.seg-btn.active{background:var(--gold);color:#231a02}.range-label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:10px}.chart-wrap{overflow-x:auto;margin:12px 0}table.chart{border-collapse:separate;border-spacing:3px;width:100%}table.chart td{font-size:.62rem;font-weight:700;text-align:center;padding:5px 1px;border-radius:4px;background:var(--panel2);white-space:nowrap}.leg{display:inline-flex;align-items:center}.formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;line-height:1.55;color:var(--gold)}.cheat h4{margin-bottom:3px}.rank-name{font-weight:800;min-width:150px}.tip-acc{border-top:1px solid var(--line)}.tip-head{width:100%;text-align:left;background:none;border:none;color:var(--text);padding:12px 2px;font-weight:700;cursor:pointer}.tip-head .tag{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-right:8px}.tip-body{display:none;padding:0 2px 14px;color:var(--muted);line-height:1.6}.tip-acc.open .tip-body{display:block}.gloss-row{display:flex;gap:12px;padding:9px 2px;border-top:1px solid var(--line);line-height:1.5}.gloss-row strong{color:var(--gold);min-width:130px}.ach-name{font-weight:800}.ach.earned{border-color:var(--gold-dim)}.leak-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);line-height:1.5;flex-wrap:wrap}.misses{color:var(--bad);font-weight:700;white-space:nowrap}.modrec{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line);flex-wrap:wrap}body.in-drill #banner,body.in-drill nav#tabs,body.in-drill .brandbar{display:none}.dhead{align-items:center}.quit-link{background:none;border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:4px 12px;font-size:.85rem;cursor:pointer}.quit-link:hover{color:var(--text);border-color:var(--muted)}.combo{font-size:.92rem;margin-bottom:10px}.scenario .sc-noterow{border-top:1px solid var(--line);margin-top:8px;padding-top:8px;color:var(--muted);line-height:1.5}.hint-toggle{background:none;border:1px dashed var(--line);color:var(--muted);border-radius:10px;padding:9px 13px;font-size:.92rem;cursor:pointer;margin-top:4px}.hint-toggle:hover{color:var(--gold);border-color:var(--gold-dim)}#sheet{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:50}#sheet[hidden]{display:none!important}#gloss-sheet{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:60}#gloss-sheet .box{position:relative}#gloss-close{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer}#g-term{color:var(--gold);margin:0 24px 6px 0}#g-short{line-height:1.55}#g-detail{color:var(--muted);line-height:1.55;font-family:ui-monospace,Menlo,monospace;font-size:.92rem}#sheet .box{background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:560px;max-height:80vh;overflow:auto}#sheet h3{color:var(--gold);margin-bottom:8px}#sheet .f{font-family:ui-monospace,Menlo,monospace;color:var(--muted);margin-top:8px;line-height:1.5}@media(max-width:560px){.pcard{width:40px;height:54px}.cell{font-size:.5rem}}
