:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#071018;--bg-2:#0b121a;--panel:#121f2de0;--panel-strong:#15283a;--panel-soft:#ffffff0e;--line:#b2d9ef29;--line-strong:#74e1f261;--text:#f3f8fb;--muted:#a5b6c4;--faint:#708595;--cyan:#13b8d6;--mint:#23cfa7;--violet:#7a5cff;--amber:#f2a93b;--rose:#f56b8d;--green:#58d36e;--shadow:0 22px 70px #00000057;--radius:8px}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 16% 0,#13b8d626,#0000 32rem),radial-gradient(circle at 92% 18%,#7a5cff21,#0000 28rem),linear-gradient(#08131d 0%,#050a10 72%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(32px,5vw,60px);line-height:.98}h2{margin-bottom:8px;font-size:clamp(24px,3vw,36px);line-height:1.08}h3{margin-bottom:8px;font-size:19px;line-height:1.25}p{color:var(--muted);line-height:1.65}pre{margin:0}code,.blank-input{font-family:Cascadia Code,Fira Code,Consolas,monospace}.app{grid-template-columns:260px minmax(0,1fr);min-height:100dvh;display:grid}.scrim{display:none}.rail{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#050c12f0;flex-direction:column;gap:22px;height:100dvh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{border-radius:var(--radius);background:linear-gradient(135deg, #13b8d661, #7a5cff47), var(--panel-strong);color:#dcfbff;border:1px solid #74e1f26b;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 -10px 20px #0003}.brand-text strong,.brand-text span{display:block}.brand-text strong{font-size:19px}.brand-text span{color:var(--muted);font-size:12px;font-weight:700}.rail-nav{gap:8px;display:grid}.rail-nav button,.btn,.hamburger,.icon-btn,.node,.choice,.token{cursor:pointer;border:0;transition:transform .15s,border-color .15s,background .15s,color .15s,opacity .15s}.rail-nav button{border-radius:var(--radius);min-height:52px;color:var(--muted);text-align:left;background:0 0;align-items:center;gap:12px;padding:0 14px;font-weight:800;display:flex}.rail-nav button:hover,.rail-nav button.active{color:var(--text);background:#13b8d61f}.rail-progress{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0b;gap:10px;margin-top:auto;padding:14px;display:grid}.rail-progress small{color:var(--muted);font-weight:700}.track{background:#ffffff14;border-radius:999px;width:100%;height:10px;overflow:hidden}.track span,.player-track span{border-radius:inherit;background:linear-gradient(90deg, var(--cyan), var(--mint), var(--amber));width:0;height:100%;transition:width .22s;display:block}.track.sm{height:8px}.main{min-width:0;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.topbar{z-index:12;border-radius:var(--radius);max-width:1120px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:12px;margin:0 auto 18px;padding:0;display:flex;position:sticky;top:18px}.hamburger{border-radius:var(--radius);border:1px solid var(--line);background:#ffffff12;place-items:center;width:44px;height:44px;display:none}.stat-chips{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.chip{border-radius:var(--radius);min-height:42px;color:var(--muted);background:#ffffff12;align-items:center;gap:7px;padding:0 12px;font-weight:900;display:inline-flex}.chip.flame svg{color:var(--amber)}.chip.gem svg{color:var(--mint)}.chip.heart svg{color:var(--rose)}.chip.xp svg{color:var(--cyan)}.content{max-width:1120px;margin:0 auto}.path-wrap{gap:18px;max-width:900px;margin:0 auto;display:grid}.path-banner,.unit,.simple-view,.teach,.exercise,.result,.review-card,.tile,.mech,.league-bar,.empty{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 18px 48px #0003}.path-banner{justify-content:space-between;align-items:flex-end;gap:18px;min-height:220px;padding:26px;display:flex;position:relative;overflow:hidden}.path-banner:before{content:"";opacity:.9;background:linear-gradient(90deg,#071018f5,#071018ad),url(/assets/hexbyte-hero.png) 50%/cover;position:absolute;inset:0}.path-banner>*{z-index:1;position:relative}.path-banner p{max-width:560px;margin-bottom:0}.eyebrow{color:var(--cyan);letter-spacing:0;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:10px;font-size:12px;font-weight:900;display:inline-flex}.btn{border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 15px;font-weight:950;display:inline-flex}.btn:hover,.node:not(:disabled):hover,.choice:not(:disabled):hover,.token:not(:disabled):hover,.hamburger:hover,.icon-btn:hover{transform:translateY(-1px)}.btn.primary{color:#061016;background:linear-gradient(135deg,#73e9fb,#36e0ad);box-shadow:0 12px 24px #13b8d638}.btn.ghost{color:var(--text);border:1px solid var(--line);background:#ffffff12}.btn.danger{color:#fff5f7;background:linear-gradient(135deg,#f56b8d,#c84c70)}.btn.big{min-height:54px;padding-inline:20px}.btn.block{width:100%}.btn.sm{min-height:38px;padding-inline:11px;font-size:13px}.btn:disabled{cursor:default;opacity:.48;transform:none}.unit{overflow:hidden}.unit.cyan{--unit:var(--cyan)}.unit.violet{--unit:var(--violet)}.unit.amber{--unit:var(--amber)}.unit.mint{--unit:var(--mint)}.unit-head{border-bottom:1px solid var(--line);background:linear-gradient(90deg, color-mix(in srgb, var(--unit) 16%, transparent), transparent);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;padding:18px 20px;display:grid}.unit-head h2{margin-bottom:5px;font-size:24px}.unit-head p{margin-bottom:0}.unit-tag,.tag{color:#061016;background:var(--unit,var(--cyan));border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex}.tag.cyan{--unit:var(--cyan)}.tag.violet{--unit:var(--violet)}.tag.amber{--unit:var(--amber)}.tag.mint{--unit:var(--mint)}.trail{gap:22px;padding:26px 26px 30px;display:grid;position:relative}.trail:before{content:"";background:linear-gradient(#0000,#ffffff1c,#0000);border-radius:999px;width:5px;position:absolute;top:38px;bottom:42px;left:calc(50% - 267px)}.node-row{z-index:1;width:min(100%,610px);transform:translateX(var(--shift));align-items:center;gap:16px;margin:0 auto;display:flex;position:relative}.node{width:76px;height:76px;color:var(--muted);background:#263747;border:4px solid #ffffff14;border-radius:50%;flex:none;place-items:center;display:grid;position:relative;box-shadow:inset 0 -8px #00000038,0 16px 28px #00000038}.node.current,.node.unlocked{color:#061016;background:linear-gradient(#6df3ff,#19c6df);border-color:#e1feff6b}.node.done{color:#061016;background:linear-gradient(#67e48a,#27bf55);border-color:#deffe780}.node.locked{cursor:default;opacity:.55}.node-disc{place-items:center;display:grid}.node-pulse{border-radius:inherit;border:2px solid #6ee7f89e;animation:1.5s ease-out infinite pulse;position:absolute;inset:-9px}.node-score{color:#061016;background:#fff2a5;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:950;display:inline-flex;position:absolute;bottom:-7px;right:-8px}.node-label{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0e;min-width:0;max-width:340px;padding:12px 14px}.node-label strong,.node-label small{display:block}.node-label small{color:var(--muted);margin-top:3px;line-height:1.45}.path-end{border-radius:var(--radius);color:#ffe3ad;text-align:center;background:#f2a93b17;border:1px dashed #f2a93b6b;justify-content:center;align-items:center;gap:10px;min-height:76px;padding:14px;font-weight:900;display:flex}.player{background:radial-gradient(circle at 50% -10%,#23cfa724,#0000 32rem),linear-gradient(#091520,#050a10);grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.player-top{z-index:10;padding:max(16px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 14px max(18px, env(safe-area-inset-left));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050c12db;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid;position:sticky;top:0}.icon-btn{border-radius:var(--radius);width:44px;height:44px;color:var(--muted);background:#ffffff12;place-items:center;display:grid}.player-track{background:#ffffff1a;border-radius:999px;height:14px;overflow:hidden}.player-hearts{border-radius:var(--radius);min-height:44px;color:var(--rose);background:#f56b8d1f;align-items:center;gap:7px;padding:0 12px;font-weight:950;display:inline-flex}.player-stage{align-content:center;width:100%;max-width:840px;margin:0 auto;padding:28px 18px;display:grid}.teach,.exercise,.result{width:100%;padding:clamp(20px,4vw,34px)}.teach p{font-size:17px}.teach-badge{text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;min-height:30px;margin-bottom:16px;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex}.teach-badge.concept{color:#9ff3ff;background:#13b8d629}.teach-badge.example{color:#b8fbe8;background:#23cfa726}.teach-badge.tip{color:#ffe0a8;background:#f2a93b26}.code-block{border-radius:var(--radius);color:#d9f7ff;background:#06111b;border:1px solid #74e1f233;max-width:100%;padding:16px;font-size:13px;line-height:1.65;overflow:auto}.teach .code-block,.exercise .code-block{margin:16px 0}.dots{justify-content:center;gap:7px;margin:20px 0;display:flex}.dots span{background:#ffffff2e;border-radius:999px;width:8px;height:8px}.dots span.on{background:var(--cyan)}.ex-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.ex-kicker,.ex-count{color:var(--cyan);text-transform:uppercase;font-size:12px;font-weight:950}.ex-count{color:var(--muted)}.ex-prompt{max-width:720px}.choices{gap:10px;margin:18px 0 22px;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius);min-height:58px;color:var(--text);text-align:left;background:#fff1;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:850;display:flex}.choice.selected{border-color:var(--line-strong);background:#13b8d621}.choice.right{background:#58d36e24;border-color:#58d36e99}.choice.wrong{background:#f56b8d21;border-color:#f56b8da6}.choice:disabled{cursor:default}.fill{white-space:pre-wrap}.blank-input{border:1px solid var(--line-strong);min-width:8ch;max-width:100%;height:34px;color:var(--text);background:#ffffff14;border-radius:6px;margin:0 4px;padding:0 8px;font-size:13px}.build{gap:14px;margin:18px 0 22px;display:grid}.build-line,.build-bank{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0b;flex-wrap:wrap;align-items:center;gap:8px;min-height:64px;padding:12px;display:flex}.build-line{background:#13b8d60f;border-color:#74e1f23d}.build-hint{color:var(--faint);font-weight:800}.token{color:#dffaff;background:#132b3d;border:1px solid #74e1f238;border-radius:7px;min-height:38px;padding:0 11px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:13px;font-weight:850}.token.in-line{background:#23cfa72e;border-color:#23cfa76b}.token.spent{opacity:.28;cursor:default}.ex-footer{border-top:1px solid var(--line);gap:14px;margin-top:20px;padding-top:18px;display:grid}.ex-footer.ok{border-color:#58d36e5c}.ex-footer.bad{border-color:#f56b8d61}.feedback{gap:8px;display:grid}.feedback-head{align-items:center;gap:9px;display:flex}.feedback p{margin-bottom:0}.answer-line code{color:#dffaff}.result{text-align:center}.result-burst{color:#061016;background:linear-gradient(#f9d06f,#f2a93b);border-radius:50%;place-items:center;width:104px;height:104px;margin:0 auto 18px;display:grid;box-shadow:0 20px 44px #f2a93b3d}.result-burst.great{background:linear-gradient(#74f5a7,#32cd68);box-shadow:0 20px 44px #23cfa73d}.result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0;display:grid}.rs{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0e;place-items:center;gap:5px;min-height:86px;padding:12px;display:grid}.rs span{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:850;display:inline-flex}.rs strong{font-size:25px}.simple-view{padding:clamp(18px,3vw,28px)}.page-head{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;display:flex}.page-head p{margin-bottom:0}.empty{min-height:220px;color:var(--muted);text-align:center;place-items:center;gap:8px;padding:24px;display:grid}.empty strong{color:var(--text);font-size:20px}.card-grid,.stat-tiles,.mech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.review-card{gap:10px;padding:16px;display:grid}.review-card small{color:var(--muted)}.review-icon{border-radius:var(--radius);color:#dffaff;background:#13b8d621;place-items:center;width:46px;height:46px;display:grid}.review-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:850;display:flex}.league-bar{margin-bottom:14px;padding:16px}.stat-tiles{margin-bottom:24px}.tile{align-content:center;gap:8px;min-height:126px;padding:16px;display:grid}.tile svg{color:var(--cyan)}.tile strong{font-size:28px}.tile span{color:var(--muted);font-weight:800}.section-title{margin:8px 0 14px;font-size:22px}.mech{align-items:flex-start;gap:12px;min-height:120px;padding:16px;display:flex}.mech svg{flex:none}.mech strong,.mech span{display:block}.mech span{color:var(--muted);margin-top:4px;line-height:1.5}.mech.amber svg{color:var(--amber)}.mech.rose svg{color:var(--rose)}.mech.cyan svg{color:var(--cyan)}.mech.mint svg{color:var(--mint)}@keyframes pulse{0%{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.18)}}@media (width<=980px){.app{grid-template-columns:1fr}.scrim.show{z-index:18;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;border:0;display:block;position:fixed;inset:0}.rail{width:min(310px,100vw - 36px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:26px 0 70px #0000007a}.rail.open{transform:translate(0)}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f1c28db;justify-content:space-between;padding:12px;box-shadow:0 18px 50px #00000038}.hamburger{display:grid}.card-grid,.stat-tiles,.mech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.main{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.topbar{padding:10px;top:10px}.stat-chips{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chip{justify-content:center;min-height:38px;padding:0 8px;font-size:13px}.path-wrap{gap:12px}.path-banner{align-content:end;min-height:280px;padding:18px;display:grid}.path-banner .btn{width:100%}.unit-head{grid-template-columns:1fr;padding:16px}.trail{gap:18px;padding:20px 14px 22px}.trail:before{left:52px}.node-row{width:100%;margin:0;transform:none}.node{width:68px;height:68px}.node-label{flex:1;max-width:none;padding:10px 12px}.player-stage{align-content:start;padding:18px 10px 22px}.player-top{gap:10px;padding-inline:10px}.teach,.exercise,.result,.simple-view{padding:18px}.code-block{padding:12px;font-size:12px}.result-stats,.card-grid,.stat-tiles,.mech-grid{grid-template-columns:1fr}.page-head,.review-foot{display:grid}.page-head .btn,.review-foot .btn{width:100%}}@media (width<=420px){.brand-mark,.hamburger,.icon-btn{width:42px;height:42px}.player-hearts{min-height:42px;padding:0 9px}.node{width:62px;height:62px}.trail:before{left:45px}.choices{gap:8px}.choice{min-height:54px;padding:10px 12px}}
