
:root{--bg:#f4f6f0;--paper:#fff;--ink:#18352b;--muted:#5b6c63;--line:#dce5dc;--brand:#126846;--bright:#d3ed9a;--soft:#edf4e6;--error:#a3352b;--errorbg:#fff1ee;--shadow:0 12px 32px #173d2410;--radius:20px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}body.dark{--bg:#101e19;--paper:#1a2b23;--ink:#edf4e9;--muted:#b3c6ba;--line:#35493d;--brand:#a2d785;--bright:#33512e;--soft:#233c2b;--error:#ffb4a8;--errorbg:#422a25;--shadow:none}button,input,select,textarea{font:inherit}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #d28b20}button{cursor:pointer}button:disabled{cursor:default;opacity:.62}a{color:var(--brand)}button{border:1px solid var(--line);border-radius:10px;padding:10px 17px;background:var(--paper);color:var(--ink);font-weight:650;transition:background .15s,transform .15s}button:hover:enabled{background:var(--soft);transform:translateY(-1px)}button.primary{background:var(--brand);border-color:var(--brand);color:var(--paper)}body.dark button.primary{color:#102719}button.quiet{background:transparent;border-color:transparent}button.small{padding:7px 11px;font-size:13px}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{padding:27px 18px;background:var(--paper);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:29px;letter-spacing:-1.6px;font-weight:850;color:var(--brand);line-height:1.1}.brand-sub{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;margin:8px 0 38px;color:var(--muted)}.navlabel{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--muted);margin:22px 12px 9px}.navbtn{display:flex;align-items:center;text-align:left;gap:10px;width:100%;border:0;border-radius:10px;font-size:13px;padding:11px 12px;margin:3px 0;font-weight:600}.navbtn.active{background:var(--soft);color:var(--brand)}.navno{display:inline-grid;place-items:center;font-size:11px;width:23px;height:23px;border:1px solid var(--line);border-radius:7px;flex:none}.sidebar-note{margin:28px 12px 0;font-size:11px;color:var(--muted)}.main{min-width:0}.topbar{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:18px 38px}.crumb{font-size:12px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:8px}.mode-tag{font-size:10px;letter-spacing:1px;text-transform:uppercase;background:var(--soft);padding:5px 10px;border-radius:30px;color:var(--brand)}main{max-width:1420px;margin:auto;padding:34px 38px 60px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:750;color:var(--brand);margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3.4vw,49px);line-height:1.12;letter-spacing:-1.6px;font-weight:750;margin-bottom:18px}h2{font-size:24px;line-height:1.25;letter-spacing:-.6px;margin-bottom:16px}h3{font-size:17px;margin-bottom:9px}.lead{font-size:17px;color:var(--muted);max-width:700px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.hero-art{background:var(--soft);border-radius:50%;aspect-ratio:1;max-width:280px;width:100%;justify-self:center;display:grid;place-items:center}.hero-art svg{width:86%;height:86%}.hero p{max-width:650px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 35px}.metric{padding:19px 24px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.metric strong{font-size:26px;letter-spacing:-1px;display:block}.metric span{font-size:12px;color:var(--muted)}.section-head{display:flex;align-items:end;justify-content:space-between;margin:30px 0 16px;gap:16px}.section-head h2{margin:0}.section-head p{font-size:13px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:23px;background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;min-width:0;box-shadow:var(--shadow)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.icon{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--brand);background:var(--soft);font-size:16px;font-weight:800}.badge{font-size:10px;letter-spacing:.8px;color:var(--muted);text-transform:uppercase}.card p{color:var(--muted);font-size:13px;flex:1}.card button{align-self:flex-start;margin-top:12px}.meta{font-size:11px;color:var(--muted);margin-top:12px}.gamecard{background:#18372c;color:#f0f6eb;border-color:#284d3d}.gamecard p,.gamecard .meta,.gamecard .badge{color:#bfd3c2}.gamecard .icon{background:#284c36;color:#d3ed9a;border-color:#476447}.gamecard button{background:#d3ed9a;color:#18352b;border-color:#d3ed9a}.workspace-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:25px}.workspace-head h1{font-size:34px}.workspace-head .lead{font-size:15px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:25px;margin-bottom:20px}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.split.equal{grid-template-columns:1fr 1fr}.stamp{font-size:10px;letter-spacing:1.4px;color:var(--muted);border:1px dashed var(--line);padding:6px 10px;display:inline-block;margin-bottom:18px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid .wide{grid-column:1/-1}label{display:block;font-size:13px;font-weight:650}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);margin-top:6px;min-height:46px}input[type=checkbox]{width:18px;min-height:18px;margin:0}label.check{display:flex;align-items:center;gap:10px;margin:12px 0}input:disabled,select:disabled{opacity:.8}.tiny{font-size:12px;color:var(--muted)}.tablewrap{overflow-x:auto;margin:14px 0}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-weight:650;color:var(--muted);background:var(--soft)}td,th{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}td.number,th.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td select{font-size:12px;min-width:175px;margin:0;padding:7px}.pill{display:inline-block;border-radius:20px;padding:4px 10px;font-size:11px;background:var(--soft);color:var(--brand)}details{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}summary{cursor:pointer;font-size:13px;font-weight:650}details p,details li{font-size:13px;color:var(--muted);margin-top:12px}.feedback{margin-top:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.feedback h3{padding:18px 20px;background:var(--soft);margin:0}.feedback .fbbody{padding:17px 20px}.fbrow{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.fbrow:last-child{border:0}.fbrow strong{display:block}.ok{color:var(--brand)}.bad{color:var(--error)}.message{font-size:13px;margin:12px 0;padding:12px 16px;background:var(--soft);border-radius:9px}.message.error{color:var(--error);background:var(--errorbg)}.empty{padding:40px 25px;text-align:center;color:var(--muted)}.bank-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--brand);padding-bottom:14px;margin-bottom:16px}.bank-head strong{font-size:16px}.docrows{display:grid;grid-template-columns:1fr 1fr;gap:18px}.docrows dt{font-size:11px;color:var(--muted)}.docrows dd{margin:3px 0 0;font-size:15px;font-weight:650}.money{font-variant-numeric:tabular-nums}.route{display:flex;flex-direction:column;gap:0;margin-top:18px}.route-row{display:grid;grid-template-columns:68px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.day{color:var(--brand);font-weight:700}.chart{margin-top:20px;display:flex;gap:8px;align-items:stretch;height:150px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}.chart-bar{width:80%;background:var(--brand);opacity:.8;border-radius:6px 6px 0 0;min-height:4px}.chart-col small{font-size:10px;padding-top:5px}.chart-col strong{font-size:10px;white-space:nowrap}.chart-bar.negative{background:var(--error)}.game-stage{border-radius:18px;padding:30px;background:#122c23;color:#f0f5e9;min-height:360px;position:relative}.game-stage .tiny{color:#bfcebd}.game-stage .pill{background:#294e39;color:#d3ed9a}.game-stage h2{color:#f1f8e9}.game-stage .lead{color:#bfd3c2}.game-score{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:12px;font-size:13px}.track{height:5px;border-radius:10px;background:#3c5545;overflow:hidden;margin:14px 0 24px}.track>div{height:100%;background:#d3ed9a}.question{font-size:23px;line-height:1.4;max-width:780px;margin-bottom:22px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choices button{padding:18px;text-align:left;background:#213e30;color:#f4f8ee;border:1px solid #4a6550;min-height:70px}.choices button:hover:enabled{background:#345941}.choices button.correct{background:#d3ed9a;color:#153522}.choices button.wrong{background:#72382d;color:white}.game-feedback{padding:20px;background:#244532;border-radius:10px;margin:20px 0;color:#eef5e9}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.memory-card{min-height:115px;background:#244632;border:1px solid #4c6c52;color:#d3ed9a;font-size:24px;display:grid;place-items:center;text-align:center;line-height:1.3;padding:15px}.memory-card.flipped,.memory-card.matched{font-size:13px;background:#edf4dd;color:#173b29;font-weight:650}.memory-card.matched{background:#b9da89;opacity:1}.game-stage input,.game-stage select{color:#18352b;background:#fff}.locks{display:flex;gap:8px;margin-bottom:24px}.lock{width:32px;height:32px;border:1px solid #688067;border-radius:8px;display:grid;place-items:center;font-size:12px}.lock.open{background:#d3ed9a;color:#163321}.case-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.case-nav button.selected{background:var(--soft);border-color:var(--brand)}.tip-list{padding-left:20px;font-size:14px}.statusline{min-height:22px;font-size:12px;color:var(--muted)}.foot{font-size:11px;color:var(--muted);margin:35px 0 0;border-top:1px solid var(--line);padding-top:18px}.mobile-menu{display:none}.result-number{font-size:58px;font-weight:750;letter-spacing:-3px}.report-badge{font-size:12px}.notice{padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.center{text-align:center}.hide{display:none!important}@media(max-width:1150px){.shell{grid-template-columns:215px minmax(0,1fr)}main{padding:28px}.topbar{padding:17px 28px}.cards{grid-template-columns:repeat(2,1fr)}.hero{padding:27px}.split{grid-template-columns:1fr}.hero-art{max-width:210px}}@media(max-width:760px){.shell{display:block}.sidebar{display:none;position:relative;height:auto;padding:20px;border-bottom:1px solid var(--line)}.sidebar.visible{display:block}.brand-sub{margin-bottom:20px}.mobile-menu{display:inline-block}.topbar{padding:12px 16px;flex-wrap:wrap}.crumb{font-size:11px}.mode-tag{display:none}main{padding:23px 16px 40px}.hero{grid-template-columns:1fr;padding:25px}.hero-art{display:none}.metrics{gap:8px;margin:15px 0 28px}.metric{padding:13px 11px}.metric strong{font-size:22px}.metric span{font-size:10px}.cards{grid-template-columns:1fr}.workspace-head{flex-direction:column;gap:8px}.workspace-head h1{font-size:29px}.split.equal,.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.panel{padding:20px 16px}.game-stage{padding:23px 17px}.memory-grid{grid-template-columns:repeat(3,1fr);gap:8px}.memory-card{min-height:105px;padding:8px}.choices{grid-template-columns:1fr}.question{font-size:20px}.section-head{align-items:start;flex-direction:column;gap:6px}.docrows{grid-template-columns:1fr 1fr}.top-actions button{padding:7px 9px;font-size:12px}.route-row{grid-template-columns:55px 1fr auto;gap:7px}.card-top{margin-bottom:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,button,.foot{display:none!important}.shell{display:block}body,main{background:white;color:black;padding:0}.panel{break-inside:avoid}.tablewrap{overflow:visible}}
