:root{color-scheme:dark;--ink:#f8f7e9;--soft:#bfd0d0;--lime:#c8f486;--gold:#ffda8c;--panel:#101d27}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif;background:radial-gradient(ellipse at 80% 6%,#4e4077 0,transparent 35%),radial-gradient(ellipse at 10% 37%,#275d4b70 0,transparent 38%),#081217}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}.site-head{max-width:1320px;margin:auto;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff25;gap:20px}.brand img{width:174px;max-width:38vw}.site-head nav{display:flex;gap:24px}.site-head nav a{font-size:13px;text-decoration:none;color:var(--soft);font-weight:800}.site-head nav a:hover{color:var(--lime)}main{max-width:1180px;margin:auto;padding:37px 24px 70px}.hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:25px}.eyebrow,.label{font-weight:900;letter-spacing:1.8px;font-size:10px;color:var(--gold)}h1{font-size:clamp(42px,6vw,68px);letter-spacing:-2px;line-height:1;margin:4px 0 10px}h1 span{color:var(--lime)}.hero p:not(.eyebrow){max-width:620px;color:var(--soft);margin:0}.hero-spark{font:900 clamp(18px,3vw,34px) Georgia;color:#edfacb;transform:rotate(-5deg);padding:23px 30px;border:1px solid #dbedb94a;border-radius:20px;background:linear-gradient(135deg,#253d32,#182d3b);box-shadow:0 12px 35px #0004;white-space:nowrap}.hero-spark b{color:#ffe391;margin-left:12px}.game-shell{overflow:hidden;border:1px solid #bbd2bd55;border-radius:19px;background:#0e1921;box-shadow:0 24px 60px #0006}.game-top{display:flex;align-items:center;gap:25px;padding:14px 18px;border-bottom:1px solid #ffffff1c}.game-top>div:first-child{display:grid}.game-top strong{font-size:15px}.stats{display:flex;gap:17px;margin-left:auto;color:#afc5c2;font-size:10px;font-weight:800;letter-spacing:1px}.stats b{color:var(--ink);letter-spacing:0}.game-actions{display:flex;gap:7px}.game-actions button,.hint{background:#22313a;border:1px solid #8fa6a044;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800}.game-actions button:hover,.hint:hover{border-color:var(--lime)}.course-wrap{position:relative;background:#273c43;line-height:0}canvas{display:block;width:100%;height:auto;aspect-ratio:25/12}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#07131a9c;backdrop-filter:blur(3px);line-height:1}.overlay[hidden]{display:none}.overlay-card{max-width:440px;margin:20px;padding:27px;border:1px solid #d6f3b655;border-radius:17px;background:linear-gradient(145deg,#243941,#15232d);text-align:center;box-shadow:0 18px 50px #0009}.overlay-card span{font-size:10px;letter-spacing:1.8px;font-weight:900;color:var(--gold)}.overlay-card h2{font-size:27px;margin:10px 0}.overlay-card p{color:var(--soft);line-height:1.5}.primary{border:0;border-radius:10px;background:var(--lime);color:#1a2c21;padding:12px 19px;font-weight:900}.primary:hover{background:#ddff9d}.toast{position:absolute;left:50%;top:14px;transform:translateX(-50%);border-radius:30px;padding:9px 17px;background:#11231ddd;border:1px solid #fff2;color:var(--gold);font-weight:800;font-size:13px;line-height:1.2;white-space:nowrap}.controls{display:flex;align-items:center;gap:9px;padding:11px 16px;border-top:1px solid #ffffff20}.controls button{width:43px;height:39px;border:1px solid #8fa6a044;border-radius:9px;background:#20313a;font-weight:900}.controls button:active{background:#415c58}.controls span{font-size:11px;color:#b8cbca;margin-left:7px}.controls i{color:var(--gold);font-style:normal}.below-game{padding:9px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111e25}.world-list{display:flex;align-items:center;gap:12px}.world-list ol{display:flex;list-style:none;margin:0;padding:0;gap:5px}.world-list li{width:12px;height:12px;background:#50605e;border-radius:50%;box-shadow:0 0 0 2px #ffffff12}.world-list li.current{background:var(--gold);box-shadow:0 0 10px #ffdf84}.world-list li.complete{background:var(--lime)}#status{margin:0;text-align:right;font-size:12px;color:var(--soft)}.lesson-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:17px;margin-top:18px}.lesson-card,.puzzle-card{padding:20px;border:1px solid #adc6b13a;border-radius:15px;background:linear-gradient(145deg,#17272e,#101b24)}.lesson-card h2,.puzzle-card h2{margin:7px 0;font-size:21px}.lesson-card p,.puzzle-card>p{color:var(--soft);font-size:14px}.formula{display:inline-block;padding:9px 12px;border-radius:9px;background:#263d34;color:#dfffad;font:700 17px Georgia}.equation{font:900 clamp(24px,4vw,38px) Georgia;text-align:center;color:#fff2ba;padding:14px;border-radius:11px;background:#1d2e37;margin:10px 0}.equation[hidden],.answers[hidden],#hint[hidden],#steps[hidden]{display:none}.answers{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.answers button{padding:10px;border-radius:9px;border:1px solid #d5edb044;background:#263841;font-size:19px;font-weight:900}.answers button:hover{border-color:var(--lime);background:#34504a}.answers button.correct{border-color:#c8f486;background:#314827}.answers button.wrong{opacity:.45}.hint{margin-top:7px;color:var(--gold)}#feedback{min-height:20px;margin:9px 0 0;color:#ddedce;font-size:13px}.puzzle-card pre{white-space:pre-wrap;margin:9px 0 0;padding:11px;border-radius:9px;background:#0b151c;color:#d8efbd;font:14px/1.6 Georgia}.return-link{margin:19px 0 0;color:var(--soft);font-size:13px}.return-link a{text-decoration:none}.return-link a:hover{color:var(--lime)}@media(max-width:760px){.site-head{padding:15px 16px;align-items:flex-start;flex-direction:column}.site-head nav{gap:15px;flex-wrap:wrap}.site-head nav a{font-size:12px}main{padding:27px 13px 50px}.hero{align-items:flex-start}.hero-spark{display:none}.game-top{flex-wrap:wrap;gap:11px}.stats{margin-left:auto}.game-actions{width:100%;justify-content:flex-end}.controls{flex-wrap:wrap}.controls span{width:100%;order:2;margin:0}.below-game{align-items:flex-start;flex-direction:column}.world-list{width:100%;justify-content:space-between}#status{text-align:left}.lesson-grid{grid-template-columns:1fr}.answers{gap:6px}.answers button{padding:10px 4px}.overlay-card{padding:19px}.overlay-card h2{font-size:22px}}@media(max-width:400px){.stats{gap:9px;font-size:9px}.game-top{padding:12px}.controls{padding:9px}.world-list .label{font-size:9px}.world-list ol{gap:3px}}
