:root{color-scheme:dark;--ink:#f7f5eb;--soft:#c6d4da;--lime:#c8f486;--gold:#ffd783;--mint:#88edcd;--panel:#172331;--line:#b8c6e45b}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 54% -13%,#533975 0,transparent 43%),radial-gradient(circle at 92% 53%,#1c5d6750,transparent 38%),#0c111d;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.site-head{max-width:1400px;margin:auto;padding:18px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #ffffff25}.brand img{display:block;width:185px;max-width:36vw}.site-head nav{display:flex;gap:23px;flex-wrap:wrap}.site-head nav a{color:var(--soft);font-size:13px;font-weight:800}.site-head nav a:hover{color:var(--lime)}main{max-width:1360px;margin:auto;padding:34px 24px 50px}.intro{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:0 4px 20px}.eyebrow,.card-kicker{margin:0 0 7px;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:2px}.intro h1{margin:0 0 9px;font-size:clamp(38px,5.7vw,64px);letter-spacing:-2.6px;line-height:1.02}.intro h1 span{color:var(--lime)}.intro p:not(.eyebrow){max-width:740px;margin:0;color:var(--soft)}.game-tag{flex:none;margin-bottom:4px;padding:9px 13px;border:1px solid #c8f4865b;border-radius:99px;color:var(--lime);font-size:10px;font-weight:900;letter-spacing:1px}.game-shell{overflow:hidden;border:1px solid #b9c2e24a;border-radius:18px;background:linear-gradient(145deg,#172536,#111b25);box-shadow:0 24px 70px #0009}.hud{min-height:68px;padding:10px 15px;display:flex;align-items:center;gap:clamp(10px,2vw,24px);border-bottom:1px solid #ffffff20;background:linear-gradient(90deg,#202e42,#1c2737)}.hud>div:not(.actions){display:grid;min-width:max-content;gap:2px}.hud small{font-size:9px;letter-spacing:1.4px;color:#a7bccb;font-weight:900}.hud strong{font-size:13px}.actions{display:flex;gap:7px;margin-left:auto}.actions button,.touch-controls button{border:1px solid #dae8ca4b;border-radius:9px;background:#2a3d4d;color:var(--ink);padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}.actions button:hover,.touch-controls button:hover{background:#3a5361}.actions button:disabled{opacity:.45;cursor:default}.world-route{display:flex;gap:7px;margin:0;padding:11px 16px;list-style:none;border-bottom:1px solid #ffffff19;background:#121d2a}.world-route li{flex:1;height:5px;border-radius:9px;background:#526074;transition:background .25s}.world-route li.current{background:var(--gold);box-shadow:0 0 12px #ffda8a88}.world-route li.complete{background:var(--lime)}.viewport{position:relative;height:min(57vw,470px);min-height:350px;overflow:hidden;background:#201c41}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.scene-label{position:absolute;top:14px;left:15px;padding:7px 11px;border:1px solid #e4f2df42;border-radius:99px;background:#111b2bc9;color:#fff6da;font-size:11px;font-weight:900;pointer-events:none}.gate-prompt{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;padding:9px 13px;border:1px solid #fff1ad80;border-radius:11px;background:#142034ed;box-shadow:0 6px 23px #0007;color:#fff6d8;font-size:12px;font-weight:800;text-align:center}.gate-prompt[hidden]{display:none}.gate-prompt kbd{padding:2px 5px;border:1px solid #ffffff70;border-radius:5px;color:var(--gold)}.overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:16px;background:linear-gradient(90deg,#101728bb,#17112aa8)}.overlay[hidden],[hidden]{display:none!important}.overlay-card{width:min(580px,96%);padding:clamp(21px,4vw,34px);border:1px solid #d1d19f6b;border-radius:19px;background:linear-gradient(145deg,#253748f5,#171b35f5);box-shadow:0 22px 70px #0009;backdrop-filter:blur(11px)}.overlay-card h2{margin:5px 0 11px;font-size:clamp(27px,5vw,40px);line-height:1.05}.overlay-card>p:not(.eyebrow){color:var(--soft)}.quick-lesson{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.quick-lesson span{padding:10px 7px;border:1px solid #ffffff16;border-radius:9px;background:#ffffff0a;color:#e7efda;text-align:center;font-size:11px;font-weight:800}.primary{border:0;border-radius:10px;background:var(--lime);color:#18251c;padding:12px 18px;font-weight:900;cursor:pointer}.primary:hover{background:#e2ffad}.control-note{margin:13px 0 0;color:#bbcad1;font-size:11px}.touch-controls{display:none}.lesson-area{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(420px,1.35fr);gap:14px;padding:14px}.lesson-card,.puzzle-card{min-height:238px;padding:20px;border:1px solid #ffffff1b;border-radius:13px;background:linear-gradient(145deg,#233044,#1a2734)}.card-kicker{color:#f4d889}.lesson-card h2,.puzzle-card h2{margin:0 0 9px;font-size:20px;line-height:1.2}.lesson-card p,.puzzle-card>p:not(.feedback){margin:0 0 12px;color:var(--soft);font-size:13px}.formula{display:inline-block;margin-top:6px;padding:8px 11px;border:1px solid #c8f48650;border-radius:8px;background:#c8f48612;color:var(--lime);font-size:14px;font-weight:900}.steps{margin-top:11px;padding:10px 12px;border-left:3px solid var(--mint);border-radius:0 8px 8px 0;background:#88edcd10;color:#e0f1e8;font-size:12px;line-height:1.55}.steps[hidden]{display:none}.hint-button{display:block;margin-top:12px;border:0;background:transparent;color:var(--gold);font-size:12px;font-weight:900;text-decoration:underline;cursor:pointer}.triangle-wrap{width:min(100%,340px);margin:2px auto 9px}.triangle-wrap svg{display:block;width:100%;height:auto;max-height:175px;overflow:visible}.triangle-wrap[hidden],.answer-grid[hidden]{display:none}.answer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}.answer-grid button{min-height:44px;border:1px solid #b8c6e470;border-radius:9px;background:#202b42;color:#fff;font-size:14px;font-weight:900;cursor:pointer;transition:transform .14s,border-color .14s,background .14s}.answer-grid button:hover{transform:translateY(-2px);border-color:var(--lime);background:#2b3d4e}.answer-grid button.correct{border-color:var(--lime);background:#3f6949;color:#edffd4}.answer-grid button.wrong{border-color:#ff8c97;background:#704147}.answer-grid button:disabled{cursor:default}.feedback{min-height:18px;margin:8px 0 0;color:var(--gold);font-size:12px;font-weight:800}.statusbar{display:flex;justify-content:space-between;gap:15px;padding:11px 16px;border-top:1px solid #ffffff18;color:#b8c9d0;font-size:11px}.statusbar span:first-child{color:#dcedcd;font-weight:800}.footnote{margin:15px 4px 0;color:#a7b5c3;text-align:center;font-size:12px}
@media(max-width:850px){.hud{gap:10px;flex-wrap:wrap}.hud>div:not(.actions){flex:1}.actions{margin-left:0}.lesson-area{grid-template-columns:1fr 1.3fr}.lesson-card,.puzzle-card{padding:15px}.answer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.site-head{padding:14px 16px;align-items:flex-start;flex-direction:column}.site-head nav{gap:14px}.site-head nav a{font-size:12px}main{padding:25px 12px 35px}.intro{display:block}.intro h1{letter-spacing:-1.7px}.game-tag{display:inline-block;margin:12px 0 0}.hud{gap:8px;padding:10px}.hud>div:not(.actions){min-width:64px}.hud strong{font-size:11px}.hud small{font-size:8px}.actions{width:100%;justify-content:flex-end}.actions button{padding:6px 9px;font-size:10px}.world-route{padding:9px 11px}.viewport{height:56vw;min-height:300px;max-height:390px}.touch-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #ffffff18;background:#141e2b}.move-pad{display:flex;gap:7px}.touch-controls button{min-width:54px;min-height:44px;touch-action:none}.touch-controls .jump-button{background:var(--lime);color:#16231a}.touch-controls .solve-button{background:#81643b;color:#fff6d8}.touch-controls .solve-button:not([hidden]){background:var(--gold);color:#292115}.lesson-area{grid-template-columns:1fr;padding:10px}.lesson-card,.puzzle-card{min-height:0;padding:16px}.triangle-wrap{width:min(88%,320px)}.answer-grid{grid-template-columns:repeat(2,1fr)}.statusbar{display:grid;gap:5px;padding:10px 12px}.statusbar span:last-child{font-size:10px}.quick-lesson{grid-template-columns:1fr}.quick-lesson span{text-align:left;padding:7px 10px}.overlay-card{padding:19px}.overlay-card h2{font-size:29px}}
