:root{--bg:#0b0c0e;--bg-raised:#111214;--surface:#151618;--surface-2:#1a1b1e;--border:#ffffff0f;--border-focus:#ffffff1f;--text:#e4e4e7;--text-dim:#8a8b90;--text-muted:#52535a;--accent:#7c5cfc;--accent-dim:#7c5cfc1f;--accent-glow:#7c5cfc40;--green:#22c55e;--green-dim:#22c55e1f;--green-glow:#22c55e33;--red:#ef4444;--red-dim:#ef44441a;--gold:#f59e0b;--gold-dim:#f59e0b1a;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", system-ui, sans-serif;--font-mono:"Fira Code", "Cascadia Code", monospace;--radius:13px;--radius-lg:22px;--radius-full:9999px;--ui-scale:1.1}:focus{outline:none}:focus-visible,button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{font-size:calc(16px * var(--ui-scale))}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100svh;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;-webkit-mask-composite:source-in;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:50%;background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000059 8%,#000 22% 78%,#00000059 92%,#0000 100%),radial-gradient(115% 105% at 50% 48%,#000 28%,#000000d9 48%,#00000073 68%,#00000026 84%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#00000059 8%,#000 22% 78%,#00000059 92%,#0000 100%),radial-gradient(115% 105% at 50% 48%,#000 28%,#000000d9 48%,#00000073 68%,#00000026 84%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}body:after{content:"";pointer-events:none;z-index:0;opacity:.18;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;font-weight:700;line-height:1.25}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.app-shell{max-width:calc(640px * var(--ui-scale));margin:0 auto;padding:0 1.25rem 5rem}.navbar{z-index:90;background:#0b0c0ef9;border:none;border-bottom:1px solid #ffffff0d;border-radius:0;justify-content:space-between;align-items:center;margin:0 -1.25rem 2.5rem;padding:1.1rem 1.25rem;display:flex;position:sticky;top:0}.navbar-brand{cursor:pointer;align-items:center;gap:.6rem;text-decoration:none;transition:margin-left .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:visible}.navbar-icon{background:var(--accent);border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;transition:width .22s cubic-bezier(.4,0,.2,1),opacity .14s,margin .22s cubic-bezier(.4,0,.2,1);display:grid}.navbar-title{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;align-items:baseline;font-size:1.2rem;font-weight:800;display:inline-flex;overflow:visible}.navbar-brand-word{white-space:nowrap;opacity:1;max-width:5.5em;transition:max-width .22s cubic-bezier(.4,0,.2,1),opacity .14s;display:inline-block;overflow:hidden}.navbar-brand-tld{white-space:nowrap;line-height:1;transition:transform .22s cubic-bezier(.4,0,.2,1),font-size .22s cubic-bezier(.4,0,.2,1),margin-left .22s cubic-bezier(.4,0,.2,1);display:inline-block}.navbar-title .dot,.navbar-brand-tld{color:var(--green)}.navbar-stats{align-items:center;gap:.35rem;display:flex}.stat-item{cursor:default;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:.4rem;padding:.35rem .6rem;transition:background .15s;display:flex}.stat-item:hover{background:#ffffff0d}.stat-item-icon{flex-shrink:0}.stat-item-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;line-height:1}.stat-item.streak{color:var(--gold)}.stat-item.tokens{color:#38bdf8}.stat-item.energy{color:var(--green)}.stat-item.energy.empty{color:var(--text-muted)}.stat-item.as-button{font:inherit;cursor:pointer;background:0 0;border:none}.stat-item.as-button.open,.stat-item.as-button:hover{background:#ffffff0d}.energy-menu-root{position:relative}.energy-dropdown{z-index:120;border:1px solid var(--border-focus);width:300px;box-shadow:none;background:#17191e;border-radius:16px;padding:1rem 1.1rem .85rem;animation:.18s energy-drop-in;position:absolute;top:calc(100% + 12px);right:-.25rem}@media (width<=640px){.energy-menu-root .energy-dropdown{width:min(290px,100vw - 1.25rem);left:auto;right:0}.energy-menu-root .energy-dropdown-arrow{left:auto;right:1.1rem}.shop-menu-root .energy-dropdown{width:min(260px,100vw - 1.25rem);right:0}.streak-menu-root .streak-dropdown{top:var(--streak-menu-top,4.75rem);width:min(290px,100vw - 1.25rem);max-width:calc(100vw - 1.25rem);position:fixed;left:50%;right:auto;translate:-50%}.streak-menu-root .streak-dropdown-arrow{right:auto;left:var(--streak-arrow-left,60%);transform:translate(-50%)rotate(45deg)}}@keyframes energy-drop-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.energy-dropdown-arrow{border-left:1px solid var(--border-focus);border-top:1px solid var(--border-focus);background:#17191e;border-radius:3px;width:12px;height:12px;position:absolute;top:-6px;right:1.4rem;transform:rotate(45deg)}.energy-dropdown-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.energy-dropdown-title{font-family:var(--font-display);color:var(--green);align-items:center;gap:.4rem;font-size:.95rem;font-weight:800;display:flex}.energy-dropdown-count{font-family:var(--font-display);color:var(--text);font-size:.9rem;font-weight:700}.energy-pips{gap:.4rem;margin-bottom:.85rem;display:flex}.energy-pip{border:1px solid var(--border);background:#ffffff12;border-radius:999px;flex:1;height:10px;transition:background .2s,border-color .2s}.energy-pip.filled{background:var(--green);border-color:var(--green);box-shadow:none}.energy-regen-card{border:1px solid var(--border);background:#ffffff06;border-radius:12px;align-items:center;gap:.65rem;min-height:58px;margin-bottom:.85rem;padding:.65rem .7rem;display:flex}.energy-regen-card.is-full{border-color:#22c55e40}.energy-regen-card-icon{width:32px;height:32px;color:var(--green);background:var(--green-dim);border-radius:9px;flex:0 0 32px;place-items:center;display:grid}.energy-regen-copy{flex-direction:column;flex:1;align-items:flex-start;gap:.08rem;min-width:0;display:flex}.energy-regen-copy strong{color:var(--text);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:.95rem}.energy-regen-copy small,.energy-regen-full{color:var(--text-muted);font-size:.68rem}.energy-regen-full{white-space:nowrap;font-variant-numeric:tabular-nums}.energy-empty-note{color:var(--gold);background:var(--gold-dim);border:1px solid #f59e0b40;border-radius:10px;margin-bottom:.85rem;padding:.5rem .65rem;font-size:.78rem;line-height:1.45}.energy-refill-btn{border:1px solid var(--border);width:100%;min-height:56px;font-family:var(--font-display);cursor:pointer;color:var(--text);box-shadow:none;background:#ffffff06;border-radius:12px;justify-content:space-between;align-items:center;gap:.7rem;padding:.55rem .65rem;font-size:.85rem;font-weight:800;transition:border-color .15s,background .15s,transform .1s;display:flex}.energy-refill-btn:hover:not(:disabled){background:#22c55e12;border-color:#22c55e73}.energy-refill-btn:active:not(:disabled){transform:translateY(1px)}.energy-refill-btn:disabled{color:var(--text-muted);box-shadow:none;cursor:default;background:#ffffff0f}.energy-action-main{align-items:center;gap:.6rem;min-width:0;display:flex}.energy-action-icon{width:32px;height:32px;color:var(--green);background:var(--green-dim);border-radius:9px;flex:0 0 32px;place-items:center;display:grid}.energy-action-copy{flex-direction:column;align-items:flex-start;gap:.08rem;min-width:0;display:flex}.energy-action-copy strong{font-size:.8rem}.energy-action-copy small{color:var(--text-muted);font-size:.66rem;font-weight:600}.energy-action-cost,.energy-action-free{color:#7dd3fc;background:#38bdf81a;border-radius:8px;justify-content:center;align-items:center;gap:.25rem;min-width:42px;padding:.32rem .45rem;font-size:.74rem;font-weight:800;display:inline-flex}.energy-action-free{background:var(--green-dim);color:var(--green)}.energy-refill-hint{color:var(--text-muted);text-align:center;margin-top:.5rem;font-size:.74rem;line-height:1.4}.energy-refill-btn.owned{color:var(--text);box-shadow:none;background:#ffffff06;margin-bottom:.5rem}.energy-refill-btn.owned:active:not(:disabled){transform:translateY(1px)}.shop-btn{width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;transition:background .15s,color .15s;display:grid}.shop-btn:hover,.shop-btn.open{color:var(--text);background:#ffffff0d}.shop-dropdown{width:320px}.streak-dropdown{width:290px}.energy-dropdown-title.streak-title{color:var(--gold)}.streak-safe{color:var(--green);align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;display:inline-flex}.streak-week{justify-content:space-between;gap:.2rem;margin-top:.9rem;display:flex}.streak-day{flex-direction:column;flex:1;align-items:center;gap:.35rem;display:flex}.streak-day-letter{color:var(--text-muted);font-size:.62rem;font-weight:700}.streak-day.today .streak-day-letter{color:var(--text)}.streak-day-pip{background:var(--surface);border:2px solid var(--border);width:28px;height:28px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.streak-day.active .streak-day-pip{border-color:var(--gold);color:var(--gold);background:#f59e0b26}.streak-day.today .streak-day-pip{border-color:var(--border-focus)}.streak-day.today.active .streak-day-pip{border-color:var(--gold)}.streak-day-dot{background:var(--border);border-radius:50%;width:5px;height:5px}.streak-warn{color:var(--text-dim);background:#f59e0b14;border:1px solid #f59e0b38;border-radius:10px;margin-top:.8rem;padding:.6rem .7rem;font-size:.76rem;line-height:1.45}.streak-month{margin-top:.9rem}.streak-month-label{color:var(--text-muted);text-transform:capitalize;margin-bottom:.45rem;font-size:.72rem;font-weight:700}.streak-month-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.streak-mhead{text-align:center;color:var(--text-muted);font-size:.58rem;font-weight:700}.streak-mday{aspect-ratio:1;color:var(--text-dim);background:var(--surface);border:1px solid #0000;border-radius:8px;place-items:center;font-size:.66rem;font-weight:600;display:grid}.streak-mday.active{color:var(--gold);background:#f59e0b29;font-weight:700}.streak-mday.today{border-color:var(--border-focus)}.streak-mday.today.active{border-color:var(--gold)}.streak-mday.future{opacity:.35}.streak-expand-btn{border:1px solid var(--border);width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:.3rem;margin-top:.8rem;padding:.5rem;font-size:.76rem;font-weight:600;transition:background .15s,color .15s;display:flex}.streak-expand-btn:hover{background:var(--surface);color:var(--text)}.energy-dropdown-title.shop-title{color:var(--text)}.shop-credits{font-family:var(--font-display);color:#38bdf8;align-items:center;gap:.3rem;font-size:.9rem;font-weight:700;display:flex}.shop-boost-banner{color:var(--accent);background:#7c5cfc1f;border:1px solid #7c5cfc4d;border-radius:10px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.45rem .65rem;font-size:.76rem;font-weight:600;display:flex}.shop-items{flex-direction:column;gap:.6rem;display:flex}.shop-item{border:1px solid var(--border);background:#ffffff05;border-radius:12px;align-items:center;gap:.7rem;padding:.65rem .7rem;display:flex}.shop-item-icon{border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.shop-item-icon.full_recharge{color:var(--green);background:var(--green-dim)}.shop-item-icon.xp_potion{color:var(--accent);background:#7c5cfc1f}.shop-item-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.shop-item-name{color:var(--text);font-size:.84rem;font-weight:700}.shop-item-owned{color:var(--green);margin-left:.4rem;font-size:.72rem;font-weight:700}.shop-item-desc{color:var(--text-muted);font-size:.72rem;line-height:1.35}.shop-item-actions{flex-shrink:0;gap:.4rem;display:flex}.shop-buy-btn,.shop-use-btn{font-family:var(--font-display);cursor:pointer;border:none;border-radius:9px;align-items:center;gap:.25rem;padding:.4rem .6rem;font-size:.76rem;font-weight:700;transition:filter .15s,transform .1s;display:flex}.shop-buy-btn{color:#7dd3fc;box-shadow:none;background:#38bdf814;border:1px solid #38bdf84d}.shop-use-btn{background:var(--green-dim);color:var(--green);box-shadow:none;border:1px solid #22c55e4d}.shop-buy-btn:hover:not(:disabled),.shop-use-btn:hover:not(:disabled){filter:brightness(1.08)}.shop-buy-btn:active:not(:disabled),.shop-use-btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.shop-buy-btn:disabled,.shop-use-btn:disabled{color:var(--text-muted);box-shadow:none;cursor:default;background:#ffffff0f}.shop-flash{color:var(--green);justify-content:center;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.78rem;font-weight:700;display:flex}.energy-dropdown-foot{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin-top:.75rem;padding-top:.65rem;font-size:.72rem}.account-dropdown{width:260px}.account-dropdown-slim{padding-bottom:.65rem}.auth-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(8px);background:#06070cb8;place-items:center;padding:1.25rem;animation:.18s auth-fade-in;display:grid;position:fixed;inset:0}.auth-modal-backdrop.is-required{cursor:default}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}.auth-modal{border-radius:var(--radius-lg);border:1px solid var(--border-focus);width:min(100%,400px);max-height:min(90dvh,640px);box-shadow:none;background:#141518;outline:none;padding:1.5rem 1.35rem 1.25rem;position:relative;overflow-y:auto}.auth-modal-close{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:#ffffff0d;border:none;place-items:center;display:grid;position:absolute;top:.75rem;right:.75rem}.auth-modal-close:hover{color:var(--text);background:#ffffff17}.auth-modal-brand{font-family:var(--font-display);color:var(--text);margin-bottom:.85rem;font-size:.95rem;font-weight:800}.auth-modal-brand .dot{color:var(--accent)}.auth-modal-title{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:0 0 .45rem;padding-right:2rem;font-size:1.35rem;font-weight:800}.auth-modal-sub{color:var(--text-dim);margin:0 0 1.15rem;font-size:.86rem;line-height:1.5}.auth-modal-actions,.auth-modal-form{flex-direction:column;gap:.65rem;display:flex}.auth-modal-primary,.auth-modal-secondary{justify-content:center;gap:.45rem;width:100%}.auth-modal-label{color:var(--text-dim);font-size:.75rem;font-weight:600}.auth-modal-input{border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-sans);background:#ffffff08;border-radius:12px;padding:.7rem .85rem;font-size:.95rem}.auth-modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.auth-modal-back{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:center;padding:.35rem;font-size:.8rem;font-weight:600;text-decoration:underline}.auth-modal-hint{text-align:center;margin:.35rem 0 0;font-size:.78rem;line-height:1.4}.auth-modal-hint.ok{color:var(--green)}.auth-modal-hint.err{color:var(--red)}.auth-modal-hint.muted{color:var(--text-muted)}.auth-modal-foot{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin:1.15rem 0 0;padding-top:.9rem;font-size:.72rem;line-height:1.45}@media (width<=480px){.auth-modal-backdrop{place-items:center;padding:1.25rem .85rem}.auth-modal{border-radius:var(--radius-lg);border:1px solid var(--border);width:min(100%,360px);min-height:0;max-height:min(80dvh,520px)}}.energy-dropdown-title.account-title{color:var(--text-secondary,#cbd5e1)}.account-blurb{color:var(--text-dim);margin:0 0 .8rem;font-size:.78rem;line-height:1.45}.account-provider-btn{border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-sans);cursor:pointer;background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.55rem;padding:.55rem .7rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.account-provider-btn:hover:not(:disabled){border-color:var(--border-focus);background:#ffffff12}.account-provider-btn:disabled{opacity:.45;cursor:not-allowed}.account-email-row{gap:.4rem;margin-bottom:.55rem;display:flex}.account-email-input{border:1px solid var(--border);min-width:0;color:var(--text);font-family:var(--font-sans);background:#ffffff08;border-radius:10px;flex:1;padding:.5rem .6rem;font-size:.8rem}.account-email-input:focus{border-color:var(--border-focus);outline:none}.account-email-send{background:var(--green);color:#06220f;cursor:pointer;border:none;border-radius:10px;place-items:center;width:38px;display:grid}.account-email-send:disabled{color:var(--text-muted);cursor:default;background:#ffffff0f}.account-identity{border:1px solid var(--border);background:#ffffff05;border-radius:10px;flex-direction:column;gap:.15rem;margin-bottom:.7rem;padding:.6rem .7rem;display:flex}.account-name{font-size:.85rem;font-weight:700}.account-email{color:var(--text-dim);font-size:.75rem}.account-signout-btn{border:1px solid var(--border);width:100%;color:var(--text-dim);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .7rem;font-size:.78rem;font-weight:600;display:flex}.account-signout-btn:hover{color:var(--red);border-color:var(--red)}.account-hint{text-align:center;margin-top:.2rem;font-size:.74rem}.account-hint.ok{color:var(--green)}.account-hint.err{color:var(--red)}.auth-verify-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;min-height:100dvh;padding:2rem;display:flex}.auth-verify-title{font-family:var(--font-display);font-size:1.5rem;font-weight:800}.auth-verify-sub{color:var(--text-dim);max-width:380px;margin-bottom:.6rem;font-size:.9rem;line-height:1.5}.auth-verify-spinner{color:var(--text-dim);animation:1s linear infinite spin}.auth-verify-ok{color:var(--green)}.auth-verify-err{color:var(--red)}.lesson-header{margin-bottom:.5rem}.lesson-header .module-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.75rem;font-weight:600}.lesson-header h2{margin-top:.25rem;font-size:1.65rem}.progress-wrap{margin:1.25rem 0}.progress-meta{color:var(--text-dim);font-size:.78rem;font-weight:600;font-family:var(--font-display);justify-content:space-between;margin-bottom:.4rem;display:flex}.progress-track{background:var(--surface);border-radius:var(--radius-full);border:1px solid var(--border);width:100%;height:8px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:var(--accent);height:100%;transition:width .5s cubic-bezier(.34,1.56,.64,1)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:1.25rem 0;padding:1.5rem;transition:border-color .25s}.card:hover{border-color:var(--border-focus)}.card-question{color:#fff;margin-bottom:1.25rem;font-size:1.05rem;font-weight:600;line-height:1.45}.code-area{border:1px solid var(--border);border-radius:var(--radius);background:#0c0d11;position:relative;overflow:hidden}.code-area .file-label{font-family:var(--font-mono);color:var(--text-muted);border-left:1px solid var(--border);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;background:#ffffff08;border-bottom-left-radius:8px;padding:.35rem .75rem;font-size:.7rem;position:absolute;top:0;right:0}.code-area textarea,.code-area pre.code-display{color:#c4cbda;width:100%;min-height:140px;font-family:var(--font-mono);resize:vertical;tab-size:4;background:0 0;border:none;outline:none;padding:1rem 1.25rem;font-size:.88rem;line-height:1.65}.code-area textarea::placeholder{color:var(--text-muted)}.console{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);background:#060609;min-height:80px;max-height:200px;padding:.85rem 1rem;font-size:.82rem;overflow-y:auto}.console-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:.5rem;padding-bottom:.4rem;font-size:.68rem}.console pre{white-space:pre-wrap;word-break:break-word;color:#86efac;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0}.console pre.error{color:var(--red)}.console .placeholder{color:#fff3;font-style:italic}.sandbox-block{margin:1.25rem 0}.sandbox-question{color:#fff;margin-bottom:.9rem;font-size:1.02rem;font-weight:600;line-height:1.5}.sandbox-frame{background:#0d1117;border:1px solid #ffffff14;border-radius:14px;transition:border-color .25s;overflow:hidden}.sandbox-frame.passed{border-color:#22c55e66}.sandbox-titlebar{background:#010409;border-bottom:1px solid #ffffff0f;align-items:center;gap:.9rem;padding:.55rem .9rem;display:flex}.sandbox-dots{flex-shrink:0;gap:6px;display:flex}.sandbox-dot{border-radius:50%;width:11px;height:11px}.sandbox-dot.red{background:#ff5f57}.sandbox-dot.yellow{background:#febc2e}.sandbox-dot.green{background:#28c840}.sandbox-tab{font-family:var(--font-mono);color:#ffffffbf;-webkit-user-select:none;user-select:none;background:#ffffff0f;border-radius:7px;padding:.25rem .75rem;font-size:.76rem}.sandbox-status{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;align-items:center;gap:.4rem;margin-left:auto;font-size:.72rem;display:flex}.sandbox-status .dot{background:var(--green);border-radius:50%;width:7px;height:7px}.sandbox-status .dot.loading{background:var(--gold);animation:1.2s ease-in-out infinite pulse}.sandbox-status .dot.error{background:var(--red)}.sandbox-status.error{color:var(--red)}.sandbox-editor{background:#0d1117;position:relative}.sandbox-editor:before{content:"";z-index:1;pointer-events:none;background:#ffffff0d;width:1px;position:absolute;top:0;bottom:0;left:2.55rem}.sandbox-editor pre,.sandbox-editor textarea{padding-left:3.1rem!important}.sandbox-editor textarea{caret-color:var(--accent);outline:none}.sandbox-editor textarea::selection{background:#7c5cfc40}.sandbox-line-number{text-align:right;color:#ffffff2e;-webkit-user-select:none;user-select:none;pointer-events:none;width:2.2rem;font-size:.85em;position:absolute;left:0}.sandbox-terminal{background:#010409;border-top:1px solid #ffffff12}.sandbox-terminal-header{text-transform:uppercase;letter-spacing:.07em;color:#fff6;border-bottom:1px solid #ffffff0d;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.68rem;font-weight:700;display:flex}.sandbox-terminal-goal{text-transform:none;letter-spacing:0;color:#ffffff40;margin-left:auto;font-weight:500}.sandbox-terminal-body{min-height:64px;max-height:200px;font-family:var(--font-mono);padding:.7rem .9rem;font-size:.82rem;line-height:1.55;overflow-y:auto}.sandbox-terminal-body pre{white-space:pre-wrap;word-break:break-word;color:#86efac;font-family:inherit;font-size:inherit;background:0 0;border:none;margin:0;padding:0}.sandbox-terminal-body pre.error{color:#f87171}.sandbox-terminal-body .placeholder{color:#ffffff38;font-style:italic}.sandbox-evaluating{color:var(--text-muted);font-style:italic}.sandbox-fail-hint{color:#fecaca;white-space:pre-wrap;background:#f871711a;border:1px solid #f8717159;border-radius:8px;margin-top:.55rem;padding:.45rem .6rem;font-size:.82rem;line-height:1.45}.sandbox-toolbar{background:#010409;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.sandbox-toolbar-actions{align-items:center;gap:.75rem;display:flex}.sandbox-run-btn{background:var(--green);color:#06130b;border-radius:10px;padding:.5rem 1.1rem;font-size:.84rem;font-weight:700;transition:all .15s;box-shadow:0 3px #15803d}.sandbox-run-btn:hover:not(:disabled){background:#2dd468}.sandbox-run-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #15803d}.sandbox-run-btn:disabled{background:var(--surface-2);color:var(--text-muted);box-shadow:0 2px 0 var(--border);opacity:1}.predict-code pre{font-family:var(--font-mono);background:0 0;margin:0;padding:14px 14px 14px 3.1rem;font-size:.88rem;line-height:1.65;overflow-x:auto}.predict-input{resize:vertical;color:#86efac;width:100%;caret-color:var(--green);font-family:inherit;font-size:inherit;line-height:inherit;background:0 0;border:none;outline:none;padding:0}.predict-input::placeholder{color:#ffffff38;font-style:italic}.predict-input:disabled{opacity:.7;resize:none}.predict-hint{color:var(--text-muted);font-size:.74rem}.btn-sm{padding:.35rem .75rem;font-size:.78rem}@media (width<=640px){.sandbox-editor pre,.sandbox-editor textarea{font-size:.82rem!important}.sandbox-status{display:none}}.status-bar{color:var(--text-dim);align-items:center;gap:.4rem;padding:.35rem 0;font-size:.78rem;display:flex}.status-bar.error{color:var(--red)}.status-bar .dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-bar .dot.loading{background:var(--gold);animation:1.2s ease-in-out infinite pulse}.status-bar .dot.error{background:var(--red)}.btn{border-radius:var(--radius);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.4;cursor:default;pointer-events:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#8d6ffd;transform:translateY(-1px)}.btn-success{background:var(--green);color:#fff}.btn-success:hover:not(:disabled){background:#2dd468;transform:translateY(-1px)}.btn-danger{background:var(--red-dim);color:var(--red);border-color:#ef444440}.btn-danger:hover:not(:disabled){background:#ef44442e}.btn-ghost{color:var(--text-dim);background:0 0;border:none;padding:.45rem .75rem}.btn-ghost:hover:not(:disabled){color:var(--text)}.btn-outline{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--border-focus);background:#ffffff0f;transform:translateY(-1px)}.card-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.card-footer .actions{align-items:center;gap:.6rem;display:flex}.dnd-code-editor{border:1px solid var(--border);border-radius:var(--radius);background:#0c0d11;margin-bottom:1.25rem;padding:1rem 1.25rem}.dnd-line{min-height:2.5rem;font-family:var(--font-mono);color:#ffffffbf;flex-wrap:wrap;align-items:center;font-size:.9rem;display:flex}.dnd-line>:first-child{margin-left:0}.dnd-slot{border:2px dashed var(--border);color:#fff;min-width:72px;max-width:100%;height:auto;min-height:2rem;font-family:var(--font-mono);cursor:pointer;white-space:normal;text-align:left;background:#ffffff04;border-radius:8px;outline:none;justify-content:center;align-items:center;margin:.15rem .35rem;padding:.2rem .6rem;font-size:.85rem;font-weight:600;line-height:1.3;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.dnd-slot-val{word-break:break-word;display:inline}.dnd-slot:hover{border-color:var(--border-focus)}.dnd-slot.focused{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 10px var(--accent-glow)}.dnd-slot.correct{border-color:var(--green);background:var(--green-dim);border-style:solid}.dnd-slot.wrong{border-color:var(--red);background:var(--red-dim);border-style:solid}.dnd-slot .empty{opacity:.25}.option-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.option-chip{font-family:var(--font-mono);background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.4rem .9rem;font-size:.85rem;font-weight:500;transition:all .2s}.option-chip:hover:not(:disabled){border-color:var(--border-focus);background:#ffffff12;transform:translateY(-1px)}.option-chip.placed{opacity:.2;cursor:default;pointer-events:none;transform:scale(.95)}.feedback{align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:inline-flex}.feedback.success{color:var(--green)}.feedback.error{color:var(--red)}.md-content p{color:var(--text-dim);margin:.55rem 0;font-size:.98rem;line-height:1.55}.md-content strong{color:var(--accent);font-weight:600}.md-content em{color:var(--text-dim);font-style:italic}.md-content h1,.md-content h2,.md-content h3{color:#fff;letter-spacing:-.01em;margin-top:0;margin-bottom:.5rem;font-weight:700}.md-content h1{font-size:1.45rem}.md-content h2{font-size:1.25rem}.md-content h3{font-size:1.15rem}.md-content ul,.md-content ol{color:var(--text-dim);margin:.35rem 0 .65rem 1.25rem}.md-content ul{list-style-type:disc}.md-content ol{list-style-type:decimal}.md-content li{margin-bottom:.3rem;line-height:1.5}.md-content blockquote{border-left:4px solid var(--accent);color:var(--text-dim);background:#ffffff0d;border-radius:0 8px 8px 0;margin:.75rem 0;padding:.7rem .9rem}.md-content code{font-family:var(--font-mono);color:var(--green);background:#22c55e14;border:1px solid #22c55e1f;border-radius:5px;padding:.1rem .4rem;font-size:.88em}.md-content pre{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);color:#c9d1d9;white-space:pre-wrap;word-break:break-word;background:#0d1117;margin:.75rem 0;padding:.85rem 1rem;font-size:.82rem;line-height:1.5;overflow-x:auto}.lesson-slide-wrapper .md-content h3{margin-top:0;margin-bottom:.55rem;font-size:1.15rem}.lesson-slide-wrapper .md-content p{margin-bottom:.65rem}.md-content pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}code[class*=language-],pre[class*=language-]{text-shadow:none;font-family:var(--font-mono);background:0 0}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#636e83;font-style:italic}.token.punctuation{color:#8b95a7}.token.keyword,.token.tag,.token.important{color:#c792ea}.token.boolean,.token.number,.token.constant,.token.symbol{color:#f5a97f}.token.string,.token.char,.token.attr-value,.token.inserted{color:#86efac}.token.function{color:#82aaff}.token.class-name,.token.builtin,.token.namespace{color:#5eead4}.token.operator,.token.entity,.token.url{color:#9dc4f8}.token.variable,.token.property,.token.attr-name{color:#e4e4e7}.token.regex,.token.deleted{color:#f87171}.token.decorator,.token.annotation{color:#fbbf24}.completion-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100svh - 4rem);padding:2rem 1rem;display:flex}.completion-burst{width:84px;height:84px;color:var(--gold);background:var(--gold-dim);border:2px solid #f59e0b59;border-radius:50%;place-items:center;margin-bottom:1.5rem;display:grid}.completion-title{color:var(--gold);letter-spacing:-.02em;margin-bottom:.4rem;font-size:2rem;font-weight:800}.completion-subtitle{color:var(--text-dim);margin-bottom:2.25rem;font-size:.95rem}.completion-subtitle strong{color:var(--text)}.completion-tiles{justify-content:center;gap:.9rem;margin-bottom:2.5rem;display:flex}.completion-tile{background:var(--bg-raised);border:2px solid;border-radius:14px;min-width:130px;overflow:hidden}.completion-tile-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.09em;color:#0c0d12;padding:.3rem .6rem;font-size:.68rem;font-weight:800}.completion-tile-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.4rem;padding:.85rem .75rem;font-size:1.35rem;font-weight:800;display:flex}.completion-tile.tile-gold{border-color:var(--gold)}.completion-tile.tile-gold .completion-tile-label{background:var(--gold)}.completion-tile.tile-gold .completion-tile-value{color:var(--gold)}.completion-tile.tile-flame{border-color:#fb7185}.completion-tile.tile-flame .completion-tile-label{background:#fb7185}.completion-tile.tile-flame .completion-tile-value{color:#fb7185}.completion-tile.tile-credits{border-color:#38bdf8}.completion-tile.tile-credits .completion-tile-label{background:#38bdf8}.completion-tile.tile-credits .completion-tile-value{color:#38bdf8}.completion-actions{gap:.75rem;width:100%;max-width:380px;display:flex}.completion-actions .btn{border-radius:12px;flex:1;padding:.8rem 1rem;font-size:.92rem}.completion-actions .success-btn{flex:1.4}.critical-hit{z-index:999;color:#0f0b00;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);white-space:nowrap;background:linear-gradient(135deg,#f59e0b,#d97706);align-items:center;gap:.5rem;max-width:90vw;padding:.6rem 1.35rem;font-size:.9rem;font-weight:700;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #d977064d,0 0 15px #f59e0b33}.continue-row{border-bottom:1px solid var(--border);justify-content:flex-end;padding:1rem 0 1.5rem;display:flex}@keyframes shake{0%,to{transform:translate(0)}15%,55%{transform:translate(-5px)}35%,75%{transform:translate(5px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-shake{animation:.4s ease-in-out shake}.animate-float{animation:2.5s ease-in-out infinite float}.animate-spin{animation:1s linear infinite spin}.motion-el{will-change:transform, opacity}.motion-spin{animation:1.6s linear infinite spin}@media (prefers-reduced-motion:reduce){:not(.route-loading-spinner):not(.motion-spin),:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-float,.float-1,.float-2,.float-3,.float-4,.lesson-node-pulse,.node-pulse{animation:none!important}.route-loading-spinner{animation:1.2s linear infinite spin!important}}.onboarding-shell{flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;overflow:hidden}.onboarding-anim,.onboarding-step{flex-direction:column;flex:1;min-height:0;display:flex}.onboarding-topbar{align-items:center;gap:1rem;padding:.5rem 0 1.5rem;display:flex}.onboarding-back{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;transition:all .2s;display:grid}.onboarding-back:hover{border-color:var(--border-focus);background:var(--surface-2)}.onboarding-back-spacer{flex-shrink:0;width:36px}.onboarding-dots{flex:1;gap:.4rem;display:flex}.onboarding-dot{border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);flex:1;height:6px}.onboarding-dot.filled{background:var(--accent);border-color:#0000}.onboarding-body{flex-direction:column;flex:1;min-height:0;display:flex}.onboarding-title{margin-bottom:.5rem;font-size:1.6rem}.onboarding-subtitle{color:var(--text-dim);margin-bottom:1.75rem;font-size:.95rem;line-height:1.55}.onboarding-content{flex:1;min-height:0;overflow-y:auto}.onboarding-footer{padding-top:1.5rem}.onboarding-continue{width:100%;padding:.85rem;font-size:.95rem}.onboarding-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:#fff;width:100%;font-family:var(--font-sans);box-shadow:none;appearance:none;outline:none;padding:.9rem 1.1rem;font-size:1.05rem;transition:border-color .15s}.onboarding-input:focus,.onboarding-input:focus-visible{box-shadow:none;border-color:var(--accent);outline:none}.onboarding-input::placeholder{color:var(--text-muted)}.onboarding-field-hint{color:var(--text-secondary,#a1a1aa);margin:.55rem 0 0;font-size:.82rem}.onboarding-field-hint.muted{opacity:.75}.feature-gate{text-align:center;max-width:420px;margin:2.5rem auto;padding:1.5rem 1.25rem}.feature-gate h2{margin:.35rem 0 .5rem}.feature-gate-actions{flex-direction:column;gap:.65rem;margin-top:1.25rem;display:flex}.feature-gate-actions .btn{width:100%}.sidebar-nav-item.is-gated,.bottom-nav-item.is-gated{opacity:.55}.choice-grid{flex-direction:column;gap:.7rem;display:flex}.option-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;align-items:center;gap:.9rem;padding:.9rem 1.1rem;transition:all .2s;display:flex}.option-card:hover{border-color:var(--border-focus);background:var(--surface-2)}.option-card.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent) inset}.option-card-icon{background:var(--surface-2);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.option-card.selected .option-card-icon{background:var(--accent);color:#fff}.option-card-text{flex:1;min-width:0}.option-card-title{color:#fff;font-size:.95rem;font-weight:600}.option-card-subtitle{color:var(--text-dim);margin-top:.1rem;font-size:.8rem}.option-card-check{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.onboarding-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;min-height:0;display:flex;overflow-y:auto}.onboarding-hero-icon{background:var(--accent);border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:1.5rem;display:grid}.onboarding-hero-title{margin-bottom:.75rem;font-size:1.9rem;line-height:1.25}.onboarding-hero-title .highlight{color:var(--accent)}.onboarding-hero-title .dot{color:var(--green)}.onboarding-hero-subtitle{color:var(--text-dim);max-width:340px;margin-bottom:2rem;font-size:1rem;line-height:1.6}.onboarding-cta{padding:.9rem 2.5rem;font-size:.95rem}.onboarding-hero-meta{color:var(--text-muted);margin-top:.85rem;font-size:.8rem}.onboarding-commit-body{text-align:center;flex:1;justify-content:center;align-items:center}.onboarding-commit .onboarding-title{margin-top:1rem}.hold-button-wrap{flex-direction:column;align-items:center;gap:1.1rem;margin-top:1.5rem;display:flex}.hold-button{background:var(--surface);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;place-items:center;width:132px;height:132px;display:grid;position:relative}.hold-button *,.hold-button-ring{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.hold-button.holding{background:var(--surface-2)}.hold-button.done{cursor:default}.hold-button-ring{position:absolute;inset:0;transform:rotate(-90deg)}.hold-ring-track{fill:none;stroke:var(--border);stroke-width:6px}.hold-ring-fill{fill:none;stroke:var(--gold);stroke-width:6px;stroke-linecap:round;filter:drop-shadow(0 0 6px #f59e0b80)}.hold-button.done .hold-ring-fill{stroke:var(--green)}.hold-button-core{z-index:1;background:var(--surface-2);width:72px;height:72px;color:var(--gold);border-radius:50%;place-items:center;display:grid;position:relative}.hold-button.done .hold-button-core{color:var(--green)}.hold-check-pop{place-items:center;animation:.55s cubic-bezier(.22,1.35,.36,1) both hold-check-in;display:grid}@keyframes hold-check-in{0%{opacity:0;transform:scale(.35)}55%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.hold-flame{place-items:center;transition:transform .2s;display:grid}.hold-flame.is-holding{transform:scale(1.12)}.hold-button-caption{color:var(--text-dim);font-size:.9rem;font-weight:600}.onboarding-generating{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.onboarding-generating .onboarding-hero-icon{width:56px;height:56px;margin-bottom:1.5rem}.onboarding-generating-msg{min-height:1.5rem;margin-bottom:1.5rem}.onboarding-generating-track{width:100%;max-width:280px}.lesson-greeting{color:var(--text-dim);margin-top:.35rem;font-size:.88rem}.dashboard-header{margin-bottom:1.5rem}.dashboard-header h2{margin-top:.3rem;font-size:1.65rem}.dashboard-subtitle{color:var(--text-dim);margin-top:.35rem;font-size:.95rem}.path-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1.5rem;font-size:.75rem;font-weight:600}.dashboard-path{--row-h:12rem;--node-size:4.5rem;width:100%;max-width:360px;height:calc(var(--row-h) * var(--n));margin:0 auto;position:relative}.dashboard-path-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dashboard-path-track{fill:none;stroke:#2a2b32;stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:.1 8}.dashboard-path-progress{fill:none;stroke:#1a6b3c;stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:.1 8}.dashboard-path-node{width:8.5rem;transform:translate(-50%, calc(var(--node-size) / -2));z-index:1;justify-content:center;display:flex;position:absolute}.lesson-node-col{flex-direction:column;align-items:center;gap:.6rem;display:flex}.path-module-header{background:var(--bg);border:1px solid var(--border);color:var(--text);box-shadow:none;text-transform:uppercase;letter-spacing:.05em;border-radius:12px;width:max-content;margin:0 auto;padding:1rem;font-size:1.2rem;font-weight:700;transition:opacity .25s,color .25s,border-color .25s}.path-module-header-locked{color:var(--text-dim);opacity:.45;box-shadow:none;border-color:#ffffff0a}.lesson-node{width:var(--node-size,56px);height:var(--node-size,56px);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;transition:all .2s;display:grid;position:relative;box-shadow:0 3px #00000040}.lesson-node:disabled{cursor:default}.lesson-node-complete{background:linear-gradient(var(--green-dim), var(--green-dim)), var(--bg);color:var(--green);border-color:#22c55e4d}.lesson-node-active{background:var(--accent);border-color:var(--accent);color:#fff}.lesson-node-active:hover{background:#8d6ffd;transform:scale(1.04)}.lesson-node-locked{background:var(--surface);color:var(--text-muted)}.lesson-node-pulse{border:1.5px solid var(--accent);opacity:.5;border-radius:50%;animation:2s ease-out infinite node-pulse;position:absolute;inset:-6px}@keyframes node-pulse{0%{opacity:.6;transform:scale(.85)}to{opacity:0;transform:scale(1.25)}}.lesson-node-label{text-align:center}.lesson-node-title{color:#fff;font-size:.92rem;font-weight:600;line-height:1.25}.lesson-node-title-locked{color:var(--text-muted)}.lesson-node-sub{color:var(--text-dim);margin-top:.15rem;font-size:.76rem}.deco-icon{color:var(--text-muted);opacity:.08;pointer-events:none;z-index:0;position:absolute}.float-1{animation:7s ease-in-out infinite float-slow}.float-2{animation:9s ease-in-out 1.2s infinite float-slow}.float-3{animation:8s ease-in-out 2.5s infinite float-slow}.float-4{animation:10s ease-in-out .7s infinite float-slow}@keyframes float-slow{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(6deg)}}.desktop-layout{flex-direction:column;min-height:100vh;display:flex}.sidebar-nav{display:none}.desktop-content{flex:1;min-width:0}@media (width>=1024px){.desktop-layout{flex-direction:row;padding-left:80px;display:flex}.sidebar-nav{z-index:100;background:#0b0c0e;border-right:1px solid #ffffff0d;flex-direction:column;justify-content:space-between;align-items:flex-start;width:80px;padding:1.5rem .75rem;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-nav:hover{width:228px;box-shadow:10px 0 30px #00000080}.sidebar-nav:hover~.desktop-content .navbar-icon{opacity:0;border:none;width:0;margin:0;padding:0;overflow:hidden}.sidebar-nav:hover~.desktop-content .navbar-brand-word{opacity:0;max-width:0}.sidebar-nav:hover~.desktop-content .navbar-brand{margin-left:calc(148px - 2.7rem)}.sidebar-nav:hover~.desktop-content .navbar-brand-tld{margin-left:-.24rem;font-size:1.05em;transform:translateY(.28rem)}}.sidebar-nav-top{flex-direction:column;gap:2.25rem;width:100%;display:flex}.sidebar-nav-brand{color:#fff;width:100%;font-family:var(--font-display);white-space:nowrap;align-items:center;gap:.75rem;padding:.5rem .55rem .5rem .75rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:flex;overflow:hidden;transform:translateY(-4px)}.sidebar-nav-logo{background:var(--accent);border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;margin-left:.2rem;display:grid}.sidebar-nav-brand-text{opacity:1;white-space:nowrap;align-items:baseline;max-width:0;transition:max-width .22s cubic-bezier(.4,0,.2,1);display:inline-flex;overflow:hidden}.sidebar-nav:hover .sidebar-nav-brand-text{opacity:1;max-width:none;margin-left:.2rem;overflow:visible}.sidebar-brand-word{white-space:nowrap;opacity:0;letter-spacing:-.03em;max-width:0;transition:max-width .22s cubic-bezier(.4,0,.2,1),opacity .16s 40ms;display:inline-block;overflow:hidden}.sidebar-nav:hover .sidebar-brand-word{opacity:1;max-width:none;font-size:1.96rem;font-weight:800;line-height:1;overflow:visible}.sidebar-brand-tld{color:var(--green);display:none}.sidebar-nav-list{flex-direction:column;gap:.5rem;width:100%;display:flex}.sidebar-nav-item{border-radius:var(--radius);width:100%;color:var(--text-dim);cursor:pointer;font-family:var(--font-sans);text-align:left;white-space:nowrap;background:0 0;border:none;outline:none;align-items:center;gap:.75rem;padding:.8rem .75rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.sidebar-nav-item:hover{color:#fff;background:#ffffff08}.sidebar-nav-item.active{background:var(--accent-dim);color:var(--accent)}.sidebar-nav-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.sidebar-nav-item-label{opacity:0;white-space:nowrap;width:0;transition:opacity .15s,width .15s;overflow:hidden}.sidebar-nav:hover .sidebar-nav-item-label{opacity:1;width:auto}.sidebar-nav-footer{width:100%;color:var(--text-muted);white-space:nowrap;opacity:0;padding:.5rem .75rem;font-size:.72rem;transition:opacity .15s}.sidebar-nav:hover .sidebar-nav-footer{opacity:1}.bottom-nav{z-index:100;background:#0b0c0e;border-top:1px solid #ffffff0d;justify-content:space-around;align-items:center;height:4.5rem;padding:.25rem .5rem;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=1024px){.bottom-nav{display:none}}.bottom-nav-item{color:var(--text-dim);cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;height:100%;font-size:.72rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-icon{justify-content:center;align-items:center;height:20px;display:flex}.lb{max-width:520px;margin:0 auto;padding-bottom:2rem}.lb-league-head{background:0 0;border:none;margin-bottom:.25rem;padding:.5rem 0 1.25rem;position:relative}.lb-league-rail{grid-template-columns:1fr auto 1fr;align-items:center;gap:.35rem;display:grid}.lb-league-neighbor{opacity:.55;flex-direction:column;align-items:center;gap:.3rem;min-width:0;display:flex}.lb-league-neighbor.is-prev{justify-self:end;padding-right:.15rem}.lb-league-neighbor.is-next{justify-self:start;padding-left:.15rem}.lb-league-neighbor.is-empty{opacity:0;pointer-events:none;min-height:44px}.lb-league-neighbor-name{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:4.5rem;font-size:.65rem;font-weight:700;overflow:hidden}.lb-league-center{text-align:center;flex-direction:column;align-items:center;gap:.45rem;min-width:0;display:flex}.lb-league-badge-wrap{filter:drop-shadow(0 10px 24px color-mix(in srgb, var(--lb-accent,var(--accent)) 40%, transparent));place-items:center;display:grid}.lb-league-svg.is-muted{opacity:.72;filter:saturate(.75)}.lb-league-name{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;margin:.15rem 0 0;font-size:1.85rem;font-weight:800;line-height:1.1}.lb-league-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .5rem;margin:0;font-size:.8rem;display:flex}.lb-league-rank{font-family:var(--font-display);color:var(--lb-accent,var(--accent));font-size:.92rem;font-weight:800}.lb-league-xp{color:#ffffffe0;font-weight:600}.lb-league-timer{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:.28rem;font-size:.74rem;display:inline-flex}.lb-league-dot{background:var(--text-muted);opacity:.65;border-radius:50%;width:3px;height:3px}.lb-result{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem;padding:1rem 1rem .9rem;display:flex}.lb-result-promoted{background:#22c55e14;border-color:#22c55e59}.lb-result-demoted{background:#ef444412;border-color:#ef44444d}.lb-result-stayed{border-color:var(--border-focus)}.lb-settle-chain{justify-content:center;align-items:center;gap:.75rem;display:flex}.lb-settle-node{flex-direction:column;align-items:center;gap:.3rem;min-width:3.5rem;display:flex}.lb-settle-node-name{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.lb-settle-link{background:var(--surface-2);border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--text-dim);z-index:1;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.lb-settle-link.result-promoted{color:var(--green);background:#22c55e1f;border-color:#22c55e59}.lb-settle-link.result-demoted{color:var(--red);background:#ef44441f;border-color:#ef444459}.lb-settle-link-line{display:none}.lb-result-text{text-align:center;color:var(--text-dim);flex-direction:column;gap:.15rem;font-size:.82rem;display:flex}.lb-result-text strong{color:#fff;font-size:.95rem}.lb-result-btn{background:var(--surface-2);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:center;padding:.45rem 1.15rem;font-size:.78rem;font-weight:700}.lb-result-btn:hover{filter:brightness(1.12)}.lb-podium{grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:.5rem;margin:.25rem 0 1.25rem;padding:.25rem 0 0;display:grid}.lb-podium-card{text-align:center;flex-direction:column;align-items:center;gap:.35rem;min-width:0;padding:.75rem .4rem 0;display:flex;position:relative}.lb-podium-card.place-1{z-index:2;order:2}.lb-podium-card.place-2{order:1}.lb-podium-card.place-3{order:3}.lb-podium-place{font-family:var(--font-display);color:var(--text-dim);place-items:center;height:1.25rem;font-size:.85rem;font-weight:800;display:grid}.lb-podium-crown{color:#f5b942}.lb-podium-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 .2rem;font-size:.88rem;font-weight:700;overflow:hidden}.lb-podium-card.is-you .lb-podium-name{color:var(--accent)}.lb-podium-xp{font-family:var(--font-display);color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.lb-podium-stem{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--border);border-bottom:none;border-radius:10px 10px 4px 4px;width:100%;margin-top:.55rem}.lb-podium-stem.place-1{background:linear-gradient(180deg, #f5b94238, var(--surface));border-color:#f5b94247;height:4.25rem}.lb-podium-stem.place-2{background:linear-gradient(180deg, #c0c0c024, var(--surface));height:3.1rem}.lb-podium-stem.place-3{background:linear-gradient(180deg, #b4642829, var(--surface));height:2.35rem}.lb-avatar{font-family:var(--font-display);background:var(--surface-2);border:1.5px solid var(--border);color:var(--text);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.lb-avatar-sm{width:1.75rem;height:1.75rem;font-size:.72rem}.lb-avatar-md{width:2.35rem;height:2.35rem;font-size:.9rem}.lb-avatar-lg{width:3rem;height:3rem;font-size:1.05rem}.lb-avatar-xl{border-width:2px;border-color:#f5b9428c;width:3.6rem;height:3.6rem;font-size:1.25rem;box-shadow:0 0 0 4px #f5b9421f}.lb-avatar.is-you{background:var(--accent);color:#fff;border-color:var(--accent)}.lb-board{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);overflow:hidden}.lb-board-head{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:#0003;justify-content:space-between;padding:.65rem 1rem;font-size:.7rem;font-weight:700;display:flex}.lb-board-rest{flex-direction:column;display:flex}.lb-zone-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.65rem;padding:.55rem 1rem .35rem;font-size:.68rem;font-weight:700;display:flex}.lb-zone-label:after{content:"";background:var(--border);flex:1;height:1px}.lb-zone-label.tone-up{color:#86efac}.lb-zone-label.tone-up:after{background:#22c55e40}.lb-zone-label.tone-down{color:#fca5a5}.lb-zone-label.tone-down:after{background:#ef444438}.lb-row{border-bottom:1px solid #ffffff08;align-items:center;gap:.65rem;padding:.65rem 1rem;transition:background .15s;display:flex}.lb-row:last-child{border-bottom:none}.lb-row:hover{background:#ffffff05}.lb-row.is-you{background:var(--accent-dim);box-shadow:inset 3px 0 0 var(--accent)}.lb-row-rank{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.1rem;width:2rem;display:flex}.lb-rank-num{font-family:var(--font-display);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:700}.lb-row-meta{flex:1;min-width:0}.lb-row-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;display:flex;overflow:hidden}.lb-you-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:#7c5cfc2e;border-radius:999px;flex-shrink:0;padding:.12rem .4rem;font-size:.65rem;font-weight:800}.lb-row-xp{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:baseline;gap:.25rem;display:flex}.lb-row-xp-num{font-family:var(--font-display);color:#fff;font-size:.95rem;font-weight:700}.lb-row.is-you .lb-row-xp-num{color:var(--accent)}.lb-row-xp-unit{color:var(--text-muted);text-transform:uppercase;font-size:.68rem;font-weight:600}.lb-dev{border-top:1px dashed #ffffff14;margin-top:1.75rem;padding-top:1rem}.lb-dev-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.lb-dev-toggle svg.open{transform:rotate(180deg)}.lb-dev-speed-pill{font-family:var(--font-mono);color:#fecaca;background:#ef444426;border:1px solid #ef44444d;border-radius:999px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.lb-dev-panel{overscroll-behavior:contain;background:#ef44440f;border:1px solid #ef444440;border-radius:12px;max-height:min(70dvh,520px);margin-top:.65rem;padding:.75rem;overflow-y:auto}.lb-dev-warn{color:#fca5a5;margin:0 0 .65rem;font-size:.72rem;line-height:1.4}.lb-dev-actions{flex-wrap:wrap;gap:.4rem;display:flex}.lb-dev-actions button{background:var(--surface-2);color:#fff;cursor:pointer;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:.3rem;padding:.4rem .65rem;font-size:.74rem;font-weight:700;display:inline-flex}.lb-dev-actions button:hover{border-color:#ffffff47}.lb-dev-actions button.is-active{color:#fecaca;background:#ef44442e;border-color:#f87171a6}.lb-dev-clock{border-bottom:1px dashed #ffffff1a;margin-bottom:.85rem;padding-bottom:.85rem}.lb-dev-clock-head{letter-spacing:.06em;text-transform:uppercase;color:#fca5a5;margin-bottom:.35rem;font-size:.68rem;font-weight:700}.lb-dev-clock-now{font-family:var(--font-mono);color:#fff;font-size:.92rem;font-weight:600}.lb-dev-clock-offset{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:.74rem}.lb-dev-clock-hint{color:var(--text-muted);margin:.45rem 0 .65rem;font-size:.72rem;line-height:1.4}.lb-dev-clock .lb-dev-actions{margin-top:.45rem}.lb-dev-custom-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.45rem;display:flex}.lb-dev-custom-row input,.lb-dev-custom-row select{font-family:var(--font-mono);color:#fff;background:var(--bg-raised);border:1px solid #ffffff1f;border-radius:8px;min-width:0;padding:.4rem .55rem;font-size:.78rem}.lb-dev-custom-row input{width:5.5rem}.lb-dev-custom-row select{width:auto}.lb-dev-custom-suffix{color:var(--text-dim);font-size:.78rem}.lb-dev-custom-row button{background:var(--surface-2);color:#fff;cursor:pointer;border:1px solid #ffffff1f;border-radius:8px;padding:.4rem .65rem;font-size:.74rem;font-weight:700}.lb-dev-dock{display:none}@media (width<=768px){.lb-dev-dock{z-index:1200;padding:calc(.35rem + env(safe-area-inset-top,0px)) .65rem .45rem;-webkit-backdrop-filter:blur(12px);background:#0b0c0ef0;border-bottom:1px solid #ef444447;display:block;position:fixed;top:0;left:0;right:0}.lb-dev-dock .lb-dev{border:none;margin:0;padding:0}.lb-dev-dock .lb-dev-panel{max-height:min(55dvh,420px)}.lb.has-dev{padding-top:calc(3.1rem + env(safe-area-inset-top,0px))}}@media (width>=769px){.lb-dev-dock{background:0 0;border:none;margin-bottom:1rem;padding:0;display:block;position:static}.lb-dev-dock .lb-dev{border-top:none;margin-top:0;padding-top:0}}.lb-row{transform:translateZ(0)}.lb-row.did-rise,.lb-row.did-fall{will-change:transform}.lb-row.did-rise{background:#22c55e1a}.lb-row.did-fall{background:#ef444414}.lb-row.did-gain-xp .lb-row-xp-num{color:#86efac}.lb-rank-delta{letter-spacing:.02em;margin-top:.15rem;font-size:.62rem;font-weight:800;line-height:1;display:block}.lb-rank-delta.up{color:#86efac}.lb-rank-delta.down{color:#fca5a5}.lb-xp-delta{color:#86efac;font-size:.66rem;font-weight:800;animation:.85s forwards lb-xp-pop;position:absolute;top:-.55rem;right:0}.lb-row-xp{position:relative}.lb-podium-card.did-rise,.lb-podium-card.did-gain-xp{filter:drop-shadow(0 0 12px #22c55e59)}@keyframes lb-xp-pop{0%{opacity:0;transform:translateY(4px)}25%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.quests-container{max-width:600px;margin:0 auto}.section-subtitle{color:var(--text-dim);text-align:center;margin-bottom:2rem;font-size:.92rem}.quests-tab-grid{flex-direction:column;gap:2rem;display:flex}.quest-large-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.quest-large-card h3{align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.1rem;display:flex}.daily-chest-card{--chest-tilt-x:0deg;--chest-tilt-y:0deg;isolation:isolate;text-align:left;width:100%;min-height:126px;color:inherit;border-radius:var(--radius-lg);cursor:pointer;background:radial-gradient(circle at 9%,#f59e0b26,#0000 27%),linear-gradient(135deg,#f59e0b16,#f59e0b05);border:1px solid #f59e0b52;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:1.1rem;margin-bottom:1.25rem;padding:.85rem 1.2rem .85rem .8rem;transition:transform .2s,border-color .2s,background .35s;display:grid;position:relative;overflow:hidden}.daily-chest-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.daily-chest-card:disabled{opacity:1}.daily-chest-card.phase-waiting,.daily-chest-card.phase-revealing{cursor:progress}.daily-chest-card.phase-revealing{background:radial-gradient(circle at 18%,#facc1540,#0000 35%),linear-gradient(135deg,#f59e0b1f,#38bdf809);border-color:#facc159e}.daily-chest-card.opened{background:var(--surface);border-color:var(--border);cursor:default}.daily-chest-art{perspective:320px;width:96px;height:84px;transform:rotateX(var(--chest-tilt-y)) rotateY(var(--chest-tilt-x));transform-style:preserve-3d;transition:transform .18s;display:block;position:relative}.daily-chest-svg{filter:drop-shadow(0 8px 10px #120b025c);width:100%;height:100%;display:block;overflow:visible}.chest-lid{transform-box:fill-box;transform-origin:14% 100%;transition:transform .26s cubic-bezier(.22,1,.36,1)}.daily-chest-card.phase-idle:hover .chest-lid{transform:translateY(-2px)rotate(-2deg)}.chest-light,.chest-reward-gems,.chest-spark{opacity:0}.daily-chest-card.phase-waiting .daily-chest-art{animation:.58s ease-in-out infinite chest-ready}.daily-chest-card.phase-revealing .chest-lid{animation:1.45s cubic-bezier(.2,.85,.28,1) both chest-lid-open}.daily-chest-card.phase-revealing .chest-light{animation:1.35s ease-out both chest-light-burst}.daily-chest-card.phase-revealing .chest-reward-gems{animation:1.25s cubic-bezier(.2,.9,.3,1) .1s both chest-gem-rise}.daily-chest-card.phase-revealing .chest-spark-one{animation:.8s ease-out .1s both chest-spark-pop}.daily-chest-card.phase-revealing .chest-spark-two{animation:.8s ease-out .28s both chest-spark-pop}.daily-chest-card.phase-revealing .chest-spark-three{animation:.7s ease-out .42s both chest-spark-pop}.daily-chest-card.phase-done .chest-lid{transform:translate(-7px,-12px)rotate(-12deg)}.daily-chest-card.phase-done .daily-chest-svg{opacity:.58;filter:grayscale(.45)drop-shadow(0 5px 7px #00000047)}@keyframes chest-ready{0%,to{transform:rotateX(var(--chest-tilt-y)) rotateY(var(--chest-tilt-x)) rotate(0)}35%{transform:rotateX(var(--chest-tilt-y)) rotateY(var(--chest-tilt-x)) rotate(-2deg) translateY(-1px)}70%{transform:rotateX(var(--chest-tilt-y)) rotateY(var(--chest-tilt-x)) rotate(2deg) translateY(-1px)}}@keyframes chest-lid-open{0%{transform:translate(0)rotate(0)}24%{transform:translate(1px,1px)rotate(2deg)}54%,to{transform:translate(-8px,-17px)rotate(-17deg)}}@keyframes chest-light-burst{0%{opacity:0;transform-origin:50% 100%;transform:scaleY(.2)}36%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.08)}}@keyframes chest-gem-rise{0%{opacity:0;transform-origin:50%;transform:translateY(18px)scale(.55)rotate(-9deg)}42%{opacity:1;transform:translateY(-11px)scale(1.08)rotate(5deg)}to{opacity:0;transform:translateY(-27px)scale(.85)rotate(10deg)}}@keyframes chest-spark-pop{0%{opacity:0;transform-origin:50%;transform:scale(.2)rotate(-30deg)}45%{opacity:1;transform:scale(1.1)rotate(5deg)}to{opacity:0;transform:scale(.7)rotate(20deg)}}.daily-chest-loading{border:2px solid #f59e0b38;border-top-color:var(--gold);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite chest-loader;position:absolute;bottom:3px;right:5px}@keyframes chest-loader{to{transform:rotate(360deg)}}.daily-chest-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.daily-chest-title{font-family:var(--font-display);color:#fff;font-size:1.05rem;font-weight:800}.daily-chest-sub{max-width:38rem;color:var(--text-dim);font-size:.82rem;line-height:1.45}.daily-chest-cta{background:var(--gold);color:#2d1c02;font-family:var(--font-display);border-radius:10px;flex-shrink:0;align-items:center;gap:.35rem;padding:.5rem .9rem;font-size:.82rem;font-weight:800;display:flex;box-shadow:0 3px #b45309}.daily-chest-reward{flex-shrink:0;align-items:stretch;gap:.45rem;animation:.38s cubic-bezier(.2,.9,.3,1) .24s both chest-reward-in;display:flex}.daily-chest-reward span{color:#fff;font-family:var(--font-display);white-space:nowrap;background:#090e17ad;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:.3rem;padding:.45rem .62rem;font-size:.8rem;font-weight:800;display:flex}@keyframes chest-reward-in{0%{opacity:0;transform:translateY(7px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.daily-chest-done{width:30px;height:30px;color:var(--green);background:var(--green-dim);border-radius:50%;flex-shrink:0;place-items:center;display:grid}@media (width<=600px){.daily-chest-card{grid-template-columns:74px minmax(0,1fr);gap:.8rem;min-height:116px;padding:.75rem .85rem .75rem .55rem}.daily-chest-art{width:74px;height:70px}.daily-chest-cta,.daily-chest-reward,.daily-chest-done{grid-column:2;justify-self:start}.daily-chest-reward{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.daily-chest-card,.daily-chest-art,.chest-lid{transition-duration:.01ms!important}.daily-chest-card.phase-waiting .daily-chest-art,.daily-chest-card.phase-revealing .chest-lid,.daily-chest-card.phase-revealing .chest-light,.daily-chest-card.phase-revealing .chest-reward-gems,.daily-chest-card.phase-revealing .chest-spark,.daily-chest-reward{animation-duration:.01ms!important;animation-delay:0s!important}}.daily-chest-card{text-align:left;width:100%;min-height:158px;color:inherit;border-radius:var(--radius-lg);cursor:pointer;background:radial-gradient(circle at 12% 58%,#94653e24,#0000 30%),linear-gradient(135deg,#684a331c,#ffffff03);border:1px solid #b08b5d47;grid-template-columns:138px minmax(0,1fr);align-items:center;gap:1.25rem;margin-bottom:1.25rem;padding:.85rem 1.45rem .85rem 1rem;transition:transform .2s,border-color .2s,background .25s;display:grid;position:relative;overflow:hidden}.daily-chest-card:hover:not(:disabled){border-color:#c1a06b9e;transform:translateY(-2px)}.daily-chest-card:focus-visible{outline-offset:3px;outline:2px solid #c1a06b}.daily-chest-art{perspective:680px;place-items:center;width:220px;height:180px;transition:transform .2s;display:grid;position:relative;transform:translateZ(0)}.daily-chest-art.is-small{width:132px;height:118px;animation:3.4s ease-in-out .8s infinite chest-invite-v2}.daily-chest-card.is-modal-open .daily-chest-art.is-small{animation-play-state:paused}.daily-chest-svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.chest-base-svg{z-index:2}.chest-closed-lid-svg{z-index:3;transform-origin:50% 45%;transition:transform .64s cubic-bezier(.2,.78,.24,1),opacity .32s}.chest-open-lid{opacity:0;transform-box:fill-box;transform-origin:50% 100%;transition:transform .72s cubic-bezier(.18,.86,.22,1),opacity .18s;transform:translateY(29px)scaleY(.12)}.chest-light,.chest-rays,.chest-sparks{opacity:0}.daily-chest-art.is-open .chest-closed-lid-svg{opacity:0;transform:perspective(520px)translateY(-2px)rotateX(76deg)scaleY(.72)}.daily-chest-art.is-open .chest-open-lid{opacity:1;transition-delay:.12s;transform:translateY(0)scaleY(1)}.daily-chest-art.is-open .chest-light{animation:1.45s ease-out both chest-light-burst-v2}.daily-chest-art.is-open .chest-rays{fill:none;stroke:#f5d67e;stroke-width:5px;stroke-linecap:round;animation:1.2s ease-out .2s both chest-rays-out}.daily-chest-art.is-open .chest-sparks{fill:#f2d082;animation:1.2s ease-out .25s both chest-spark-pop-v2}.daily-chest-art.is-busy{animation:.55s ease-in-out infinite chest-waiting-v2}@keyframes chest-invite-v2{0%,64%,to{transform:translateY(0)rotate(0)}70%{transform:translateY(-3px)rotate(-2.2deg)}76%{transform:translateY(0)rotate(2deg)}82%{transform:translateY(-2px)rotate(-1.4deg)}88%{transform:translateY(0)rotate(.8deg)}}@keyframes chest-waiting-v2{0%,to{transform:rotate(0)translateY(0)}30%{transform:rotate(-1.8deg)translateY(-2px)}70%{transform:rotate(1.8deg)translateY(-2px)}}@keyframes chest-light-burst-v2{0%{opacity:0;transform-origin:50% 100%;transform:scaleY(.08)}32%{opacity:1;transform:scaleY(1)}to{opacity:.3;transform:scaleY(1.05)}}@keyframes chest-rays-out{0%{opacity:0;transform-origin:50%;transform:scale(.65)}45%{opacity:.82;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@keyframes chest-spark-pop-v2{0%{opacity:0;transform-origin:50%;transform:translateY(10px)scale(.5)}45%{opacity:1;transform:translateY(-3px)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.75)}}.daily-chest-loading{border:3px solid #c1a06b38;border-top-color:#c1a06b;width:24px;height:24px;bottom:-18px;left:calc(50% - 12px);right:auto}.daily-chest-card-copy{flex-direction:column;align-items:flex-start;gap:.28rem;display:flex}.daily-chest-kicker{color:#c7a66d;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.34rem;font-size:.7rem;font-weight:800;display:inline-flex}.daily-chest-card-copy>strong{font:800 1.1rem var(--font-display);color:#fff}.daily-chest-card-copy>small{max-width:38rem;color:var(--text-dim);font-size:.82rem;line-height:1.45}.daily-chest-card-prompt{color:#e5c990;margin-top:.38rem;font-size:.76rem;font-weight:800}.daily-chest-collected{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);align-items:center;gap:.8rem;min-height:80px;margin-bottom:1.25rem;padding:.9rem 1rem;display:flex}.daily-chest-collected-check{width:34px;height:34px;color:var(--green);background:var(--green-dim);border-radius:50%;place-items:center;display:grid}.daily-chest-collected>span:last-child{flex-direction:column;gap:.1rem;display:flex}.daily-chest-collected strong{color:#fff;font-size:.88rem}.daily-chest-collected small{color:var(--text-dim);font-size:.75rem}.daily-chest-overlay{z-index:2200;background:#03060bd1;place-items:center;padding:1rem;animation:.2s ease-out both chest-overlay-in;display:grid;position:fixed;inset:0}@keyframes chest-overlay-in{0%{opacity:0}to{opacity:1}}.daily-chest-popup{contain:layout paint;text-align:center;width:min(100%,470px);min-height:580px;box-shadow:none;background:radial-gradient(circle at 50% 47%,#95683a1a,#0000 34%),linear-gradient(#14171d 0%,#0c0f14 100%);border:1px solid #c1a06b4d;border-radius:24px;padding:1.55rem 1.4rem;animation:.34s cubic-bezier(.18,.9,.26,1) both chest-popup-in;position:relative;overflow:hidden}@keyframes chest-popup-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.daily-chest-close{z-index:2;width:34px;height:34px;color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:#ffffff09;border-radius:10px;place-items:center;display:grid;position:absolute;top:.8rem;right:.8rem}.daily-chest-close:hover{color:#fff;border-color:#ffffff29}.daily-chest-popup-copy{min-height:96px}.daily-chest-popup-copy h3{color:#fff;font:800 1.45rem var(--font-display);margin:.45rem 0 .25rem}.daily-chest-popup-copy p{color:var(--text-dim);margin:0;font-size:.84rem}.daily-chest-stage{width:100%;min-height:275px;color:inherit;cursor:default;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.daily-chest-stage.phase-opening,.daily-chest-stage.phase-reward,.daily-chest-stage.phase-summary{min-height:240px}.daily-chest-stage.phase-ready{cursor:pointer}.daily-chest-stage.phase-ready .daily-chest-art{animation:2.8s ease-in-out .4s infinite chest-invite-v2}.daily-chest-stage.phase-ready:hover .daily-chest-art{transform:translateY(-4px)scale(1.025)}.daily-chest-stage:focus-visible{outline-offset:3px;border-radius:18px;outline:2px solid #c1a06b}.chest-floor-glow{background:radial-gradient(#0000008c,#0000 70%);border-radius:50%;width:180px;height:36px;position:absolute;bottom:39px;left:50%;transform:translate(-50%)}.daily-chest-tap{color:#d9c29b;font-size:.76rem;font-weight:750;animation:1.8s ease-in-out infinite chest-prompt;position:absolute;bottom:8px}@keyframes chest-prompt{50%{opacity:.5}}.daily-chest-error{color:#fca5a5;margin:-.25rem 0 .75rem;font-size:.78rem}.daily-chest-reward-card{z-index:5;color:#fff;width:190px;box-shadow:none;cursor:pointer;background:#10151df5;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;align-items:center;margin:0 auto;padding:1rem .9rem .85rem;animation:.52s cubic-bezier(.17,.9,.27,1.22) both chest-reward-pop;display:flex;position:relative}@keyframes chest-reward-pop{0%{opacity:0;transform:translateY(24px)scale(.72)}to{opacity:1;transform:translateY(0)scale(1)}}.daily-chest-reward-card.reward-energy{color:var(--green)}.daily-chest-reward-amount{font:900 1.55rem/1 var(--font-display);margin-top:.35rem}.daily-chest-reward-name{color:#fff;margin-top:.2rem;font-size:.84rem;font-weight:800}.daily-chest-reward-card small{color:var(--text-dim);margin-top:.45rem;font-size:.66rem}.chest-xp-mark{color:#e9c77a;min-width:2.35em;font:900 1rem/1 var(--font-display);letter-spacing:-.055em;flex:none;justify-content:center;align-items:baseline;display:inline-flex}.chest-xp-mark>span{color:#b99758;margin-right:.04em;font-size:.72em}.daily-chest-summary{z-index:6;animation:.35s ease-out both chest-summary-in;position:absolute;bottom:1.55rem;left:1.4rem;right:1.4rem}@keyframes chest-summary-in{0%{opacity:0;transform:translateY(10px)}}.daily-chest-summary-items{justify-content:center;align-items:flex-start;gap:2.4rem;min-height:58px;margin:.2rem 0 1.5rem;display:flex}.daily-chest-summary-item{color:#fff;flex-direction:column;flex:0 auto;align-items:center;min-width:72px;display:inline-flex}.daily-chest-summary-item.reward-energy{color:var(--green)}.daily-chest-summary-value{justify-content:center;align-items:center;gap:.34rem;min-height:34px;display:inline-flex}.daily-chest-summary-item strong{color:#fff;font:850 1.1rem var(--font-display)}.daily-chest-summary-item>span:last-child{color:var(--text-dim);margin-top:.28rem;font-size:.68rem}.daily-chest-claim{color:#062811;background:var(--green);width:100%;font-family:var(--font-display);cursor:pointer;border:0;border-radius:12px;padding:.82rem 1rem;font-weight:850}.daily-chest-claim:hover{filter:brightness(1.08)}.energy-bonus-dot{color:#062811;background:#75dc91;border-radius:999px;place-items:center;min-width:19px;height:16px;margin-left:-4px;padding:0 4px;font-size:.58rem;font-weight:900;display:grid}.energy-bonus-expiry{color:#a7e6b8;background:#22c55e14;border:1px solid #4ade8033;border-radius:10px;align-items:center;gap:.5rem;margin:0 0 .85rem;padding:.7rem;font-size:.72rem;line-height:1.35;display:flex}@media (width<=600px){.daily-chest-card{grid-template-columns:102px minmax(0,1fr);gap:.75rem;min-height:138px;padding:.7rem .85rem .7rem .45rem}.daily-chest-art.is-small{width:103px;height:94px}.daily-chest-card-copy>strong{font-size:.94rem}.daily-chest-card-copy>small{font-size:.72rem}.daily-chest-popup{min-height:560px;padding-inline:1rem}.daily-chest-art{width:200px;height:165px}.daily-chest-summary{left:1rem;right:1rem}.daily-chest-summary-items{gap:1.3rem}}@media (prefers-reduced-motion:reduce){.daily-chest-art,.chest-light,.chest-rays,.chest-sparks,.daily-chest-reward-card,.daily-chest-popup,.daily-chest-overlay,.daily-chest-summary{animation-duration:.01ms!important;animation-delay:0s!important}.chest-closed-lid-svg,.chest-open-lid{transition-duration:.01ms!important}}.quest-claim-btn{background:var(--green);color:#052e13;font-family:var(--font-display);cursor:pointer;border:none;border-radius:9px;align-self:center;margin-left:auto;padding:.4rem .8rem;font-size:.76rem;font-weight:700;transition:filter .15s,transform .1s;box-shadow:0 2px #15803d}.quest-claim-btn:hover{filter:brightness(1.08)}.quest-claim-btn:active{box-shadow:none;transform:translateY(1px)}.quest-claimed-tag{color:var(--text-muted);align-self:center;margin-left:auto;font-size:.72rem;font-weight:700}.quests-reset-note{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin-top:1rem;padding-top:.85rem;font-size:.74rem}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.achievement-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:flex-start;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.achievement-card:hover{border-color:var(--border-focus)}.achievement-card.unlocked{background:radial-gradient(circle at 10% 10%, #22c55e08, transparent 70%), var(--surface);border-color:#22c55e33}.achievement-icon-wrapper{background:var(--surface-2);width:42px;height:42px;color:var(--text-muted);border:1px solid var(--border);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.achievement-card.unlocked .achievement-icon-wrapper{background:var(--green-dim);color:var(--green);border-color:#22c55e33}.achievement-info{text-align:left;flex:1}.achievement-name{color:#fff;font-size:.95rem;font-weight:600}.achievement-desc{color:var(--text-dim);margin-top:.15rem;font-size:.78rem;line-height:1.4}.achievement-progress-row{justify-content:space-between;align-items:center;margin-top:.6rem;font-size:.75rem;display:flex}.profile-tab-container{max-width:600px;margin:0 auto}.profile-tab{flex-direction:column;gap:1rem;max-width:720px;margin:0 auto;display:flex}.profile-heading{justify-content:flex-start;align-items:flex-end;gap:1rem;padding:0 .2rem .15rem;display:flex}.profile-heading h2{letter-spacing:-.035em;margin:.12rem 0 0;font-size:1.65rem}.profile-eyebrow{color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;font-size:.66rem;font-weight:800;display:block}.profile-card{background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.35rem}.profile-id-card{border-color:var(--border-focus);background:linear-gradient(115deg, #7c5cfc13, transparent 46%), var(--surface);position:relative;overflow:hidden}.profile-id-card:before{content:"";background:var(--accent);width:3px;position:absolute;inset:0 auto 0 0}.profile-card-title{color:#fff;align-items:center;gap:.45rem;margin:0 0 .9rem;font-size:.92rem;font-weight:700;display:flex}.profile-card-title-sub{color:var(--text-muted);margin-left:auto;font-size:.72rem;font-weight:600}.profile-id-row{align-items:center;gap:1.1rem;display:flex}.profile-avatar{width:64px;height:64px;font-family:var(--font-display);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.6rem;font-weight:800;display:grid;position:relative}.profile-level-chip{background:var(--surface-2);border:1px solid var(--border-focus);color:#fff;white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.6rem;font-weight:800;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.profile-id-info{flex:1;min-width:0}.profile-name-row{align-items:center;gap:.45rem;display:flex}.profile-name-row h3{margin:0;font-size:1.25rem;font-weight:800}.profile-name-row button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;place-items:center;padding:.2rem;display:grid}.profile-name-row button:hover{color:var(--text)}.profile-name-edit{align-items:center;gap:.5rem;display:flex}.profile-name-edit input{border:1px solid var(--border);border-radius:var(--radius);color:#fff;background:#ffffff08;outline:none;width:160px;min-width:0;padding:.3rem .6rem;font-size:1.05rem;font-weight:700}.profile-name-edit .btn{padding:.35rem .7rem;font-size:.75rem}.profile-id-sub{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.35rem;margin:.22rem 0 .65rem;font-size:.8rem;display:flex}.profile-id-sub span{text-transform:capitalize}.profile-id-sub i{background:var(--text-muted);border-radius:50%;width:3px;height:3px}.profile-level-bar{background:#ffffff0f;border-radius:999px;height:7px;overflow:hidden}.profile-level-fill{border-radius:999px;height:100%;transition:width .3s}.profile-level-hint{color:var(--text-muted);margin-top:.3rem;font-size:.68rem;display:block}.profile-stats-row{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1.1rem;padding-top:1rem;display:grid}.profile-stat{background:#ffffff06;border-radius:12px;flex-direction:column;align-items:center;gap:.12rem;min-width:0;padding:.65rem .35rem;display:flex}.profile-stat strong{font-family:var(--font-display);color:#fff;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.profile-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.62rem;font-weight:600}.profile-detail-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;display:grid}.profile-detail-grid .profile-card{min-width:0}.profile-account-card,.profile-activity-card{min-height:152px}.profile-account-signed-in{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.profile-account-mark{width:38px;height:38px;color:var(--green);background:var(--green-dim);border:1px solid #22c55e33;border-radius:11px;place-items:center;display:grid}.profile-account-copy{flex-direction:column;gap:.08rem;min-width:0;display:flex}.profile-account-copy strong,.profile-account-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-account-copy strong{font-size:.84rem}.profile-account-copy span{color:var(--text-dim);font-size:.7rem}.profile-signout-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;transition:color .15s,border-color .15s,background .15s;display:grid}.profile-signout-btn:hover{color:var(--red);background:var(--red-dim);border-color:#ef444459}.profile-account-guest{flex-direction:column;align-items:flex-start;gap:.7rem;display:flex}.profile-account-guest p{color:var(--text-dim);margin:0;font-size:.76rem;line-height:1.45}.profile-account-guest .btn{justify-content:center;width:100%}.profile-heatmap{grid-template-columns:repeat(14,1fr);gap:4px;display:grid}.profile-heatmap .heatmap-cell{aspect-ratio:1;border-radius:3px}.heatmap-cell.hm-0{background:#ffffff0a}.heatmap-cell.hm-today{outline:1px solid #ffffff59}.profile-heatmap-legend{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:.6rem;font-size:.66rem;display:flex}.profile-heatmap-legend .heatmap-cell{border-radius:2px;width:9px;height:9px}.profile-badges{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.6rem;display:grid}.profile-badge{border:1px solid var(--border);opacity:.45;filter:grayscale(.7);background:#ffffff04;border-radius:12px;flex-direction:column;align-items:center;gap:.4rem;padding:.7rem .35rem;transition:transform .15s;display:flex}.profile-badge.earned{opacity:1;filter:none;border-color:var(--border-focus)}.profile-badge.earned:hover{transform:translateY(-2px)}.profile-badge-icon{width:36px;height:36px;color:var(--gold);background:var(--gold-dim);border-radius:10px;place-items:center;display:grid;position:relative}.profile-badge-check{background:var(--green);color:#052e13;border-radius:50%;place-items:center;width:14px;height:14px;display:grid;position:absolute;bottom:-3px;right:-3px}.profile-badge-name{color:var(--text);text-align:center;font-size:.66rem;font-weight:700;line-height:1.2}.profile-course-switch{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.profile-course-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:#ffffff06;border-radius:12px;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .5rem;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}@media (width<=640px){.profile-tab{gap:.8rem}.profile-heading{align-items:center}.profile-heading h2{font-size:1.4rem}.profile-eyebrow{display:none}.profile-card{padding:1rem}.profile-id-row{align-items:flex-start;gap:.85rem}.profile-avatar{width:54px;height:54px;font-size:1.35rem}.profile-name-row h3{font-size:1.08rem}.profile-id-sub{font-size:.7rem}.profile-stats-row{gap:.35rem}.profile-stat{padding:.55rem .2rem}.profile-stat span{letter-spacing:.035em;font-size:.53rem}.profile-detail-grid{grid-template-columns:1fr;gap:.8rem}.profile-account-card,.profile-activity-card{min-height:0}.profile-heatmap{gap:3px}}.profile-course-btn:hover{border-color:var(--border-focus)}.profile-course-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.profile-course-btn.c.active{background:var(--green-dim);border-color:var(--green);color:var(--green)}.profile-large-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.75rem}.profile-large-card h3{font-family:var(--font-display);color:#fff;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.1rem;font-weight:700;display:flex}.subject-selectors{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.subject-selector-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-dim);outline:none;flex-direction:column;align-items:center;gap:.6rem;padding:1.25rem;font-weight:600;transition:all .2s;display:flex}.subject-selector-btn:hover{border-color:var(--border-focus);background:#ffffff0a}.subject-selector-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.subject-selector-title{color:#fff;font-size:.95rem}.subject-selector-btn.active .subject-selector-title{color:var(--accent)}.sidebar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .25s}.sidebar-card:hover{border-color:var(--border-focus)}.sidebar-card h3{font-family:var(--font-display);color:#fff;align-items:center;gap:.5rem;margin-bottom:1.15rem;font-size:.95rem;font-weight:700;display:flex}.profile-avatar-row{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.profile-avatar{background:var(--accent-dim);border:1.5px solid var(--accent);width:44px;height:44px;color:var(--accent);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.profile-info h4{color:#fff;font-size:1.05rem;font-weight:600}.profile-info p{color:var(--text-dim);text-transform:capitalize;font-size:.8rem}.profile-meta-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;padding-top:1rem;display:grid}.profile-meta-item{flex-direction:column;gap:.2rem;display:flex}.profile-meta-item .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.profile-meta-item .value{color:#fff;font-size:.9rem;font-weight:600}.quest-item{align-items:flex-start;gap:.75rem;margin-bottom:.85rem;font-size:.85rem;display:flex}.quest-item:last-child{margin-bottom:0}.quest-checkbox{border:1.5px solid var(--border);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;margin-top:.1rem;transition:all .2s;display:grid}.quest-checkbox.completed{border-color:var(--green);background:var(--green-dim);color:var(--green)}.quest-details{flex-direction:column;gap:.15rem;display:flex}.quest-title{color:var(--text);font-weight:500;line-height:1.2}.quest-title.completed{color:var(--text-dim);text-decoration:line-through}.quest-progress{color:var(--text-muted);font-size:.75rem}.roadmap-list{flex-direction:column;gap:.65rem;display:flex}.roadmap-item{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;padding:.65rem .85rem;font-size:.85rem;display:flex}.roadmap-item-title{font-weight:500}.onboarding-sidebar{display:none}.onboarding-main{flex-direction:column;flex:1;min-height:0;display:flex}.onboarding-sidebar-brand{align-items:center;gap:.6rem;margin-bottom:2.5rem;display:flex}.onboarding-sidebar-list{flex-direction:column;flex:1;gap:1.15rem;display:flex}.onboarding-sidebar-item{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.onboarding-sidebar-item.active{color:var(--accent);font-weight:600}.onboarding-sidebar-item.completed{color:var(--green)}.onboarding-sidebar-dot{border:1.5px solid var(--border);width:20px;height:20px;color:var(--text-muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;font-size:.7rem;font-weight:700;transition:all .2s;display:grid}.onboarding-sidebar-item.active .onboarding-sidebar-dot{border-color:var(--accent);color:#fff;background:var(--accent)}.onboarding-sidebar-item.completed .onboarding-sidebar-dot{border-color:var(--green);background:var(--green);color:#fff}.onboarding-sidebar-footer{color:var(--text-muted);border-top:1px solid var(--border);padding-top:1.25rem;font-size:.72rem}@media (width<=640px){.app-shell{width:100%;max-width:100%;padding:0 1rem 4rem}.navbar{gap:.25rem;width:auto;max-width:calc(100% + 2rem);margin:0 -1rem 1.75rem;padding:.8rem 1rem}.navbar-brand{flex:auto;min-width:0;overflow:hidden}.navbar-title{min-width:0}.navbar-brand-word,.navbar-brand-tld{flex-shrink:1}.navbar-icon{width:28px;height:28px}.navbar-title{font-size:1.05rem}.navbar-stats{flex:none;gap:.1rem}.stat-item{gap:.22rem;padding:.3rem .35rem}.stat-item-value{font-size:.92rem}.card{margin:1rem 0;padding:1.15rem}.card-question{font-size:1rem}.lesson-header h2{font-size:1.35rem}.card-footer{flex-direction:column;align-items:stretch}.card-footer .actions{width:100%}.card-footer .actions .btn{flex:1}.code-area textarea,.code-area pre.code-display{padding:.85rem 1rem;font-size:.82rem}.dnd-slot{min-width:60px}.onboarding-shell{padding:1.25rem 1.25rem 2.5rem}.onboarding-hero-title{font-size:1.55rem}.onboarding-hero-subtitle{max-width:300px;font-size:.92rem}.onboarding-title{font-size:1.35rem}.onboarding-subtitle{font-size:.88rem}.hold-button,.hold-button-ring{width:168px;height:168px}.hold-button-core{width:84px;height:84px}.option-card{gap:.7rem;padding:.8rem 1rem}.option-card-icon{border-radius:9px;width:34px;height:34px}.dashboard-header{margin-bottom:1.75rem}.dashboard-header h2{font-size:1.4rem}.dashboard-path{--node-size:58px;--row-h:10rem;max-width:280px}.dashboard-path-node{width:7rem}.lesson-node-title{font-size:.85rem}.lesson-node-sub{font-size:.72rem}.completion-title{font-size:1.6rem}.completion-burst{width:68px;height:68px;margin-bottom:1.15rem}.completion-tile{min-width:116px}.completion-tile-value{padding:.7rem .6rem;font-size:1.15rem}.completion-actions{flex-direction:column;gap:.75rem}.completion-actions .btn{width:100%}.critical-hit{padding:.45rem 1rem;font-size:.75rem;top:.75rem;box-shadow:0 6px 15px #d9770640}}@media (width<=380px){.navbar-icon{display:none}.navbar-brand{flex-basis:5.8rem}.navbar-title{font-size:.96rem}.stat-item{padding-inline:.28rem}.onboarding-hero-title{font-size:1.35rem}.choice-grid{gap:.55rem}.option-card{padding:.7rem .85rem}.dashboard-path{--node-size:52px;--row-h:7.5rem;max-width:250px}}@media (width>=768px){.dashboard-path{max-width:420px}}@media (width>=1024px){body{overflow-x:clip}.navbar{margin:0 calc(50% - 50vw + 40px) 2rem;padding:1.35rem 3rem}.navbar-icon{border-radius:11px;width:40px;height:40px}.navbar-title{font-size:1.45rem}.navbar-stats{gap:.6rem}.stat-item{gap:.45rem;padding:.4rem .7rem}.stat-item-value{font-size:1.08rem}.onboarding-shell{--onboarding-desktop-pad:clamp(1.5rem, 6dvh, 4rem);width:100vw;max-width:none;height:100dvh;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:2.6fr 7.4fr;padding:0;display:grid;position:fixed;inset:0;transform:none}.onboarding-sidebar{border-right:1px solid var(--border);background:#0d0e14;flex-direction:column;align-items:stretch;height:100dvh;padding:3.5rem 0;display:flex}.onboarding-sidebar-inner{flex-direction:column;justify-content:space-between;width:100%;max-width:250px;height:100%;margin-left:auto;margin-right:7.5vw;transition:all .2s;display:flex}.onboarding-sidebar-brand{align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.onboarding-sidebar-brand .navbar-title{font-size:1.45rem}.onboarding-sidebar-brand .navbar-icon{border-radius:10px;width:36px;height:36px}.onboarding-sidebar-brand .navbar-icon svg{width:20px;height:20px}.onboarding-sidebar-list{flex-direction:column;flex:none;gap:1.5rem;margin:auto 0;display:flex}.onboarding-sidebar-item{font-size:1.15rem}.onboarding-sidebar-dot{width:28px;height:28px;font-size:.9rem}@media (width<=1280px){.onboarding-sidebar-inner{max-width:210px;margin-right:2.5rem}.onboarding-sidebar-brand .navbar-title{font-size:1.25rem}.onboarding-sidebar-brand .navbar-icon{width:32px;height:32px}.onboarding-sidebar-brand .navbar-icon svg{width:18px;height:18px}.onboarding-sidebar-item{font-size:1.05rem}.onboarding-sidebar-dot{width:24px;height:24px;font-size:.8rem}}.onboarding-main{padding-top:var(--onboarding-desktop-pad);padding-bottom:var(--onboarding-desktop-pad);flex-direction:column;justify-content:flex-start;height:100dvh;padding-left:8vw;padding-right:22vw;display:flex;overflow-y:auto}.onboarding-anim{width:100%;min-height:calc(100svh - var(--onboarding-desktop-pad) - var(--onboarding-desktop-pad));min-height:calc(100dvh - var(--onboarding-desktop-pad) - var(--onboarding-desktop-pad));flex-direction:column;flex:none;justify-content:center;align-items:center;padding-left:0;display:flex}.onboarding-step{text-align:center;flex:none;align-items:center;width:100%;max-width:520px}.onboarding-body{width:100%;margin:0 auto;flex:none!important}.onboarding-title{margin-bottom:.75rem;font-size:2.1rem}.onboarding-subtitle{margin-bottom:2.25rem;font-size:1.1rem}.onboarding-footer{width:100%;max-width:520px;margin:0 auto;padding-top:2rem}.onboarding-topbar{width:100%;max-width:520px;margin:0 auto;padding-bottom:2rem}.onboarding-hero,.onboarding-generating{text-align:center;align-items:center;width:100%;max-width:520px;min-height:auto;flex:none!important}.onboarding-hero-icon{width:72px;height:72px;margin-left:auto;margin-right:auto}.onboarding-hero-title{margin-bottom:1rem;font-size:2.4rem}.onboarding-hero-subtitle{max-width:420px;margin-bottom:2.25rem;font-size:1.15rem}.onboarding-input{padding:1rem 1.25rem;font-size:1.15rem}.option-card{padding:1.1rem 1.3rem}.option-card-title{font-size:1.05rem}.option-card-subtitle{font-size:.85rem}.hold-button-caption{font-size:1rem}@media (height<=900px){.onboarding-main{--onboarding-desktop-pad:clamp(1rem, 3dvh, 1.75rem)}.onboarding-topbar{padding-top:0;padding-bottom:1rem}.onboarding-title{margin-bottom:.45rem;font-size:1.7rem}.onboarding-subtitle{margin-bottom:1.2rem;font-size:.95rem;line-height:1.45}.onboarding-footer{padding-top:1rem}.choice-grid{gap:.55rem}.option-card{padding:.72rem .95rem}.onboarding-commit .onboarding-title{margin-top:0}.hold-button-wrap{gap:.65rem;margin-top:.75rem}}.card{padding:1.85rem}.app-shell{max-width:800px;padding:0 3rem 6rem}}.node-popover{z-index:30;text-align:left;width:min(340px,100%);box-shadow:none;border:1px solid #ffffff24;border-radius:16px;margin:0 auto;padding:1.1rem 1.25rem 1.25rem;position:absolute;left:0;right:0}.node-popover-arrow{background:inherit;border-radius:3px;width:14px;height:14px;position:absolute;top:-6px;transform:translate(-50%)rotate(45deg)}.node-popover-module{text-transform:uppercase;letter-spacing:.09em;opacity:.75;margin-bottom:.3rem;font-size:.68rem;font-weight:700}.node-popover-title{color:inherit;margin-bottom:.35rem;font-size:1.15rem;font-weight:800}.node-popover-desc{opacity:.85;margin-bottom:1rem;font-size:.86rem;line-height:1.5}.node-popover-btn{width:100%;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1rem;font-size:.88rem;font-weight:800;transition:filter .15s,transform .1s,box-shadow .1s;display:flex;box-shadow:0 3px #00000040}.node-popover-btn:hover:not(:disabled){filter:brightness(1.06)}.node-popover-actions{flex-wrap:wrap;align-items:stretch;gap:.45rem;display:flex}.node-popover-actions .node-popover-btn{width:auto}.node-popover-actions .node-popover-continue{min-width:0;color:var(--accent);background:#fff;flex:auto;box-shadow:0 3px #00000040}.node-popover-actions .node-popover-continue:hover:not(:disabled){filter:brightness(1.06)}.node-popover-actions .node-popover-abort{color:#fff;background:#dc2626;flex:0 0 2.75rem;width:2.75rem;min-width:2.75rem;padding-left:0;padding-right:0;box-shadow:0 3px #991b1b}.node-popover-actions .node-popover-abort:hover:not(:disabled){filter:none;background:#ef4444}.node-popover-actions .node-popover-abort:active:not(:disabled){box-shadow:0 1px #991b1b}.node-popover-actions.abort-armed .node-popover-continue{width:2.75rem;min-width:2.75rem;color:var(--accent);background:#fff;flex:0 0 2.75rem;padding-left:0;padding-right:0;box-shadow:0 3px #00000040}.node-popover-actions.abort-armed .node-popover-abort{color:#fff;background:#dc2626;flex:auto;width:auto;min-width:0;padding-left:1rem;padding-right:1rem;box-shadow:0 3px #991b1b}.node-popover-abort-hint{color:#ffffffc7;text-align:center;flex:1 0 100%;margin:.1rem 0 0;font-size:.72rem;line-height:1.35}.node-popover-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #00000040}.node-popover-active{background:var(--accent);color:#fff}.node-popover-active .node-popover-actions .node-popover-continue{color:var(--accent)}.node-popover-active .node-popover-actions .node-popover-abort{color:#fff}.node-popover-active>.node-popover-btn{color:var(--accent)}.node-popover-complete{color:#fff;background:#16a34a}.node-popover-complete .node-popover-actions .node-popover-continue{color:#15803d}.node-popover-complete .node-popover-actions .node-popover-abort{color:#fff}.node-popover-complete>.node-popover-btn{color:#15803d}.node-popover-locked{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.node-popover-locked .node-popover-title{color:var(--text-dim)}.node-popover-locked .node-popover-btn{color:var(--text-muted);box-shadow:none;cursor:not-allowed;background:#ffffff0f}.popover-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;overscroll-behavior:none;touch-action:none;background:#0a0b10b3;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow:hidden}.popover-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overscroll-behavior:none;touch-action:manipulation;width:100%;max-width:420px;max-height:min(90dvh,640px);overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.explore-swap-card{max-height:none}.popover-header{justify-content:space-between;align-items:center;padding:1.25rem 1.5rem .5rem;display:flex}.popover-close-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.75rem;line-height:1;transition:color .2s}.popover-close-btn:hover{color:#fff}.popover-body{text-align:center;flex-direction:column;align-items:center;padding:1.5rem;display:flex}.popover-body h3{color:#fff;margin-bottom:.5rem;font-size:1.35rem;font-weight:700}.popover-desc{color:var(--text-dim);max-width:320px;margin-bottom:1.5rem;font-size:.92rem;line-height:1.5}.popover-reward-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.6rem 1.25rem;font-size:.88rem;font-weight:600;display:flex}.popover-reward-row .reward-label{color:var(--text-dim)}.popover-reward-row .reward-value{color:var(--gold);align-items:center;gap:.25rem;display:flex}.popover-footer{border-top:1px solid var(--border);background:#ffffff03;padding:1.25rem 1.5rem 1.5rem}.popover-footer .btn{justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.9rem;font-size:.95rem;font-weight:700;display:flex}.lesson-node-selected{box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--accent), 0 3px 0 #00000040}.lesson-node-complete.lesson-node-selected{box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--green), 0 3px 0 #00000040}.lesson-node-locked.lesson-node-selected{box-shadow:0 0 0 3px var(--bg), 0 0 0 6px #ffffff40, 0 3px 0 #00000040}.lesson-node-checkpoint{border-radius:18px}.lesson-node-skip{background:linear-gradient(var(--gold-dim), var(--gold-dim)), var(--bg);color:var(--gold);cursor:pointer;border-color:#f59e0b66}.lesson-node-skip.lesson-node-selected{box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--gold), 0 3px 0 #00000040}.lesson-node-title-skip{color:var(--text-muted)}.lesson-node-checkpoint.lesson-node-active{background:var(--gold);border-color:var(--gold);color:#241a02}.lesson-node-checkpoint.lesson-node-active .lesson-node-pulse{border-color:var(--gold)}.lesson-node-checkpoint.lesson-node-complete{background:linear-gradient(var(--gold-dim), var(--gold-dim)), var(--bg);color:var(--gold);border-color:#f59e0b8c}.lesson-node-checkpoint.lesson-node-selected{box-shadow:0 0 0 3px var(--bg), 0 0 0 6px var(--gold), 0 3px 0 #00000040}.lesson-node-sub-skip{color:var(--gold);font-weight:600}.node-popover-skip,.node-popover-checkpoint.node-popover-active{color:#fff;background:linear-gradient(140deg,#b45309,#92600a)}.node-popover-skip .node-popover-btn,.node-popover-checkpoint.node-popover-active .node-popover-btn{color:#92600a}.quiz-card:hover{border-color:var(--border)}.quiz-question{color:#fff;margin-bottom:1.25rem;font-size:1.1rem;font-weight:700;line-height:1.45}.quiz-options{flex-direction:column;gap:.6rem;display:flex}.quiz-option{background:var(--surface);border:2px solid var(--border);width:100%;box-shadow:0 2px 0 var(--border);color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:.8rem;padding:.85rem 1rem;font-size:.95rem;line-height:1.4;transition:border-color .15s,background .15s,color .15s,opacity .25s,filter .25s;display:flex}.quiz-option:hover:not(:disabled):not(.selected):not(.correct):not(.wrong){background:var(--surface-2);border-color:var(--border-focus)}.quiz-option:disabled{cursor:default}.quiz-option.selected{border-color:var(--accent);background:var(--accent-dim);color:#cabdff;box-shadow:0 2px #7c5cfc73}.quiz-option.correct{border-color:var(--green);background:var(--green-dim);color:var(--green);box-shadow:0 2px #22c55e73}.quiz-option.wrong{border-color:var(--red);background:var(--red-dim);color:var(--red);box-shadow:0 2px #ef444466}.quiz-option.dimmed{opacity:.45;filter:grayscale()}.quiz-key{border:2px solid var(--border);width:26px;height:26px;color:var(--text-muted);border-radius:8px;flex-shrink:0;place-items:center;font-size:.72rem;font-weight:700;transition:inherit;display:grid}.quiz-option.selected .quiz-key{border-color:var(--accent);color:var(--accent)}.quiz-option.correct .quiz-key{border-color:var(--green);color:var(--green)}.quiz-option.wrong .quiz-key{border-color:var(--red);color:var(--red)}.quiz-option-label{flex:1;min-width:0}.quiz-option-mark{flex-shrink:0;place-items:center;width:18px;display:grid}.quiz-footer{align-items:center;min-height:44px;margin-top:1.25rem;display:flex}.quiz-footer-row{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.quiz-footer-row.center{justify-content:center}.quiz-check-btn{background:var(--accent);color:#fff;border-radius:12px;width:100%;padding:.75rem 1rem;font-weight:700;transition:all .15s;box-shadow:0 3px #5b3fd4}.quiz-check-btn:hover:not(:disabled){background:#8d6ffd}.quiz-check-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #5b3fd4}.quiz-check-btn:disabled{background:var(--surface-2);color:var(--text-muted);box-shadow:0 2px 0 var(--border);opacity:1}.quiz-verdict{font-family:var(--font-display);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.quiz-verdict.correct{color:var(--green)}.quiz-verdict.wrong{color:var(--red)}.quiz-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.quiz-explanation{overflow:hidden}.quiz-explanation-inner{background:var(--green-dim);color:var(--text-dim);border:1px solid #22c55e2e;border-radius:12px;align-items:flex-start;gap:.6rem;margin-top:1rem;padding:.9rem 1rem;font-size:.88rem;line-height:1.55;display:flex}.quiz-explanation-icon{color:var(--green);flex-shrink:0;margin-top:.15rem}.builder-built{background:var(--bg);border:2px dashed var(--border);border-radius:14px;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:.45rem;min-height:64px;padding:.85rem 1rem;transition:border-color .15s,background .15s;display:flex}.builder-built.passed{border-style:solid;border-color:var(--green);background:var(--green-dim)}.builder-built.wrong{border-style:solid;border-color:var(--red);background:var(--red-dim)}.builder-placeholder{color:var(--text-muted);align-self:center;font-size:.88rem}.builder-bank{flex-wrap:wrap;gap:.45rem;min-height:46px;margin-top:.9rem;display:flex}.builder-chip{background:var(--surface);border:2px solid var(--border);box-shadow:0 2px 0 var(--border);font-family:var(--font-mono);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-size:.85rem;transition:border-color .15s,background .15s,transform .1s,box-shadow .1s;display:inline-flex}.builder-chip:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-focus)}.builder-chip:active:not(:disabled){box-shadow:0 0 0 var(--border);transform:translateY(2px)}.builder-chip:disabled{cursor:default}.builder-chip.built{background:var(--surface-2);border-color:var(--border-focus)}.builder-chip-key{border:2px solid var(--border);width:20px;height:20px;font-family:var(--font-sans);color:var(--text-muted);border-radius:6px;flex-shrink:0;place-items:center;font-size:.62rem;font-weight:700;display:grid}.builder-chip-text{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word}.builder-hint{color:var(--text-muted);flex-shrink:0;align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.pairs-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.pairs-col{flex-direction:column;justify-content:center;gap:.6rem;min-width:0;display:flex}.pairs-card{background:var(--surface);border:2px solid var(--border);width:100%;box-shadow:0 2px 0 var(--border);color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:.65rem;padding:.75rem .85rem;font-size:.9rem;font-weight:600;line-height:1.35;transition:border-color .15s,background .15s,color .15s,opacity .3s;display:flex}.pairs-card:hover:not(:disabled):not(.selected):not(.wrong){background:var(--surface-2);border-color:var(--border-focus)}.pairs-card.selected{border-color:var(--accent);background:var(--accent-dim);color:#cabdff;box-shadow:0 2px #7c5cfc73}.pairs-card.wrong{border-color:var(--red);background:var(--red-dim);color:var(--red);animation:.4s shake;box-shadow:0 2px #ef444466}.pairs-card.matched{background:var(--green-dim);color:var(--green);box-shadow:none;opacity:.5;cursor:default;border-color:#22c55e59}.pairs-card.pop{animation:.35s pair-pop}@keyframes pair-pop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.pairs-card-key{border:2px solid var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:7px;flex-shrink:0;place-items:center;font-size:.65rem;font-weight:700;transition:inherit;display:grid}.pairs-card.selected .pairs-card-key{border-color:var(--accent);color:var(--accent)}.pairs-card.wrong .pairs-card-key{border-color:var(--red);color:var(--red)}.pairs-card.matched .pairs-card-key{border-color:var(--green);color:var(--green)}.pairs-card-label{overflow-wrap:break-word;flex:1;min-width:0}.pairs-progress{color:var(--text-muted);font-size:.82rem;font-weight:600}@media (width<=540px){.pairs-card-key{display:none}.pairs-grid{gap:.65rem}.pairs-col{gap:.7rem}.pairs-card{text-align:center;justify-content:center;padding:.75rem .6rem;font-size:.84rem}}.quiz-explanation-inner strong{color:var(--green)}.glass-card{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffff08;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 20px #0003}.heatmap-cell:hover{transform:scale(1.15);box-shadow:0 0 8px #22c55e66}.friend-item:hover{transform:translateY(-2px);background:#ffffff14!important}.explore-tab{max-width:34rem;margin:0 auto;padding-bottom:2.5rem}.explore-hero{margin-bottom:1.75rem}.explore-hero h2{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;margin-top:.35rem;font-size:1.65rem;font-weight:700}.explore-tracks{flex-direction:column;gap:.85rem;display:flex}.explore-track{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:1.15rem;padding:1.25rem 1.3rem 1.15rem;transition:border-color .18s,background .18s;display:flex}.explore-track:hover{border-color:var(--border-focus);background:var(--surface-2)}.explore-track.is-active{background:linear-gradient(180deg, #ffffff08, transparent 55%), var(--surface);border-color:#ffffff29}.explore-track-main{align-items:flex-start;gap:1rem;display:flex}.explore-track-glyph{border:1px solid var(--border-focus);background:var(--bg-raised);color:#fff;width:2.75rem;height:2.75rem;font-family:var(--font-mono);letter-spacing:-.02em;border-radius:12px;flex-shrink:0;place-items:center;font-size:.92rem;font-weight:600;display:grid}.explore-track-copy{flex:1;min-width:0}.explore-track-title-row{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.explore-track-title{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;font-size:1.12rem;font-weight:700}.explore-track-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--green);background:var(--green-dim);border-radius:6px;flex-shrink:0;align-items:center;gap:.28rem;padding:.22rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.explore-track-blurb{color:var(--text-dim);margin-top:.45rem;font-size:.9rem;line-height:1.5}.explore-track-meta{flex-direction:column;gap:.65rem;display:flex}.explore-track-bar{border-radius:var(--radius-full);background:#ffffff0f;height:4px;overflow:hidden}.explore-track-bar-fill{border-radius:inherit;background:#1a6b3c;height:100%;transition:width .35s;display:block}.explore-track-foot{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.explore-track-stats{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.78rem}.explore-track-cta{color:#fff;white-space:nowrap;align-items:center;gap:.15rem;font-size:.86rem;font-weight:650;display:inline-flex}.explore-track:hover .explore-track-cta{color:var(--text)}.explore-soon{margin-top:2.4rem}.explore-soon-list{border-top:1px solid var(--border);margin-top:.75rem;list-style:none}.explore-soon-item{border-bottom:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;font-size:.92rem;display:flex}.explore-soon-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-size:.68rem;font-weight:650}.explore-swap-body{padding:1.35rem 1.5rem .5rem}.explore-swap-body h3{margin-bottom:.45rem;font-size:1.15rem}.explore-swap-actions{gap:.75rem;display:flex}.explore-swap-actions .btn{flex:1}@media (width<=480px){.explore-hero h2{font-size:1.4rem}.explore-track{padding:1.1rem 1.05rem 1rem}.explore-track-title{font-size:1.05rem}}.lesson-topbar{z-index:95;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#0c0d12d9;margin:0 -1.25rem 1.5rem;position:sticky;top:0}.lesson-topbar-inner{align-items:center;gap:1rem;max-width:860px;margin:0 auto;padding:1rem 1.25rem;display:flex}.lesson-quit-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;place-items:center;transition:all .15s;display:grid}.lesson-quit-btn:hover{color:var(--text);background:#ffffff0f}.lesson-topbar-progress{flex:1;min-width:0}.lesson-progress-track{background:var(--surface-2);border-radius:var(--radius-full);width:100%;height:14px;overflow:hidden}.lesson-progress-fill{border-radius:var(--radius-full);background:var(--green);min-width:14px;height:100%;position:relative}.lesson-progress-shine{border-radius:var(--radius-full);background:#ffffff4d;height:4px;position:absolute;top:3px;left:8px;right:8px}@media (width<=640px){.lesson-topbar{margin:0 -1rem 1.15rem}.lesson-topbar-inner{gap:.6rem;padding:.75rem 1rem}.lesson-progress-track{height:12px}}@media (width>=1024px){.lesson-topbar{margin:0 calc(50% - 50vw) 2rem}.lesson-topbar-inner{padding:1.15rem 2rem}}.lesson-page-container{flex-direction:column;min-height:calc(100vh - 180px);padding-bottom:2rem;display:flex}.lesson-slide-wrapper{margin-top:1.5rem}.app-shell.ide-layout-active{height:100dvh;overflow:hidden;max-width:100%!important;padding:0 clamp(1.25rem,2.6vw,3rem) 1.5rem!important}.ide-layout-active .lesson-page-container{width:100%;height:calc(100dvh - 1.5rem);min-height:auto;padding-bottom:0}.ide-layout-active .lesson-header,.ide-layout-active .lesson-slide-wrapper{width:100%;max-width:1640px;margin-inline:auto}.app-shell.ide-layout-active .lesson-topbar{margin:0 calc(-1*clamp(1.25rem,2.6vw,3rem)) 1.15rem}.ide-layout-active .lesson-slide-wrapper{flex-direction:column;flex:1;min-height:0;margin-top:.85rem;display:flex;overflow:hidden}.ide-layout-active .lesson-slide-wrapper>div{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.ide-mode-container{width:100%;height:100%;min-height:0;text-shadow:none;background:#0d1117;border:1px solid #ffffff17;border-radius:16px;flex:1;grid-template-columns:minmax(260px,330px) minmax(0,1fr);align-items:stretch;gap:0;display:grid;overflow:hidden}.ide-instruction-pane{min-width:0;max-width:none;box-shadow:none;background:#12161d;border:0;border-right:1px solid #ffffff13;border-radius:0;flex-direction:column;align-self:stretch;padding:clamp(1.1rem,1.6vw,1.5rem);display:flex;position:relative;overflow-y:auto}.ide-workspace-pane{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.ide-task-kicker{color:#b8a7ff;font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #ffffff12;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.85rem;font-size:.73rem;font-weight:800;display:flex}.ide-task-kicker span{color:#ffffff80;letter-spacing:.04em;border:1px solid #b8a7ff33;border-radius:999px;margin-left:auto;padding:.22rem .5rem;font-size:.65rem}.ide-task-heading{color:#fff;font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,1.6vw,1.65rem);line-height:1.12}.ide-task-copy{color:#ffffff9e;white-space:pre-line;margin:.75rem 0 0;font-size:.93rem;line-height:1.65}.ide-instruction-pane .md-content h1,.ide-instruction-pane .md-content h2,.ide-instruction-pane .md-content h3{color:#f4f4f5;letter-spacing:-.015em;margin:0 0 .65rem;font-size:clamp(1.12rem,1.3vw,1.3rem);line-height:1.2}.ide-instruction-pane .md-content p{color:#ffffffa8;margin:0 0 .8rem;font-size:.9rem;line-height:1.6}.ide-instruction-pane .md-content strong{color:#d4ccff}.ide-instruction-pane .md-content>:last-child{margin-bottom:0}.ide-task-output{background:#03060b94;border:1px solid #fff1;border-radius:11px;flex-direction:column;gap:.5rem;margin-top:1.4rem;padding:.85rem .95rem;display:flex}.ide-task-output span{color:#ffffff5c;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.66rem;font-weight:700}.ide-task-output code{color:#7ee2a8;font-family:var(--font-mono);font-size:.86rem}.ide-task-shortcut{color:#ffffff57;border-top:1px solid #fff1;align-items:center;gap:.45rem;margin-top:auto;padding-top:1rem;font-size:.73rem;display:flex}.ide-task-shortcut span{margin-right:auto}.ide-task-shortcut kbd{color:#ffffff85;min-width:24px;font-family:var(--font-mono);text-align:center;background:#ffffff0b;border:1px solid #ffffff1a;border-bottom-color:#ffffff2e;border-radius:5px;padding:.18rem .36rem;font-size:.62rem}.ide-editor-workspace{height:100%;min-height:0;box-shadow:none;background:#0d1117;border:0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.ide-tab-bar{background:#10141b;border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:stretch;gap:0;min-height:46px;padding:0;display:flex}.ide-tab{font-size:.78rem;font-family:var(--font-mono);color:#ffffff59;cursor:default;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff0a;align-items:center;gap:.45rem;padding:0 1.15rem;transition:color .15s;display:flex;position:relative}.ide-tab .tab-icon{color:var(--accent);flex-shrink:0}.ide-tab.active{color:#ffffffd9;background:#0d1117}.ide-tab.active:after{content:"";background:var(--accent);height:2px;position:absolute;top:0;left:0;right:0}.ide-tab.disabled{opacity:.3;pointer-events:none}.ide-tab-actions{align-items:center;gap:.5rem;margin-left:auto;padding:0 .6rem;display:flex}.ide-icon-btn{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:grid}.ide-icon-btn:hover:not(:disabled){color:#ffffffd9;background:#ffffff0f}.ide-icon-btn:disabled{opacity:.35;cursor:default}.ide-run-btn{background:var(--green);color:#06130b;font-size:.8rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.44rem 1.05rem;transition:background .15s,transform .1s,box-shadow .1s;display:flex;box-shadow:0 2px #15803d}.ide-run-btn:hover:not(:disabled){background:#2dd468}.ide-run-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #15803d}.ide-run-btn:disabled{opacity:.55;cursor:default;box-shadow:none}.ide-run-btn.stop{background:var(--red);color:#fff;box-shadow:0 2px #b91c1c}.ide-run-btn .kbd-run-hint{opacity:.55;font-size:.72em;font-weight:600}.ide-editor-area{background:#0d1117;flex:auto;min-height:230px;display:flex;position:relative}.ide-layout-active .ide-editor-area>.code-editor{flex:auto;min-height:100%!important}.ide-layout-active .ide-editor-area>.code-editor>pre,.ide-layout-active .ide-editor-area>.code-editor>textarea{min-height:100%!important}.ide-editor-area textarea{color:#c9d1d9;resize:none;tab-size:4;width:100%;height:100%;caret-color:var(--accent);letter-spacing:.01em;background:#0d1117;border:none;outline:none;padding:1rem 1.25rem;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:.88rem;line-height:1.65}.ide-editor-area textarea:disabled{opacity:.6}.ide-editor-area textarea::selection{background:#7c5cfc40}.ide-console-area{border-top:1px solid #ffffff0f;flex-direction:column;flex:0 0 clamp(130px,20vh,190px);height:auto;min-height:118px;max-height:210px;display:flex}.ide-console-header{background:#10141b;border-bottom:1px solid #ffffff0a;flex-shrink:0;align-items:center;padding:.4rem 1rem;display:flex}.ide-console-header span{color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.72rem;font-weight:600}.ide-console-body{color:#8b949e;background:#0d1117;flex:1;padding:.75rem 1rem;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.82rem;line-height:1.5;overflow-y:auto}.ide-console-body pre{font-family:inherit;font-size:inherit;white-space:pre-wrap;word-break:break-word;color:#c9d1d9;margin:0}.ide-console-body pre.error{color:#f85149}.ide-console-body .placeholder{color:#fff3;font-style:italic}.term-cmd{color:var(--accent);margin-bottom:.25rem}.term-checking{color:var(--text-muted)}.term-check{border:1px solid;border-radius:8px;margin-top:.75rem;padding:.65rem .8rem}.term-check.fail{background:var(--red-dim);border-color:#ef444440}.term-check.pass{background:var(--green-dim);border-color:#22c55e40}.term-check-title{align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;display:flex}.term-check.fail .term-check-title{color:var(--red)}.term-check.pass .term-check-title{color:var(--green)}.term-rule-hint{color:#fecaca;margin:.45rem 0 0;font-size:.84rem;line-height:1.45}.term-check-cols{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.55rem;display:grid}.term-check-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.25rem;font-size:.68rem;font-weight:700;display:block}.term-check-cols pre{border:1px solid var(--border);background:#00000059;border-radius:6px;padding:.5rem .6rem}.ide-status-bar{font-family:var(--font-mono);color:#ffffff73;-webkit-user-select:none;user-select:none;background:#10141b;border-top:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.28rem .9rem;font-size:.7rem;display:flex}.ide-status-left{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.45rem;min-width:0;display:flex;overflow:hidden}.ide-status-right{flex-shrink:0;gap:1rem;display:flex}.ide-status-dot{background:#ffffff59;border-radius:50%;flex-shrink:0;width:7px;height:7px}.ide-status-dot.loading{background:var(--gold);animation:1s ease-in-out infinite ide-dot-pulse}.ide-status-dot.error{background:var(--red)}.ide-status-dot.success{background:var(--green)}.ide-editor-workspace.passed .ide-status-bar{color:var(--green);background:#22c55e1a;border-top-color:#22c55e40}@keyframes ide-dot-pulse{50%{opacity:.35}}.lesson-success-panel{z-index:1000;-webkit-backdrop-filter:blur(14px);padding:.8rem 1.25rem calc(.8rem + env(safe-area-inset-bottom,0px));background:#0d1611eb;border-top:2px solid #22c55e59;position:fixed;bottom:0;left:0;right:0}.success-panel-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:640px;margin:0 auto;display:flex}.success-panel-info{align-items:center;gap:.7rem;min-width:0;display:flex}.success-panel-icon{background:var(--green);color:#06130b;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.success-panel-title{font-family:var(--font-display);color:var(--green);white-space:nowrap;font-size:1.05rem;font-weight:800}.lesson-page-container.panel-open{padding-bottom:6.5rem}.success-btn{border-radius:12px;padding:.65rem 1.75rem;font-weight:700;transition:all .15s;box-shadow:0 3px #15803d;background:var(--green)!important;border-color:var(--green)!important;color:#06130b!important}.success-btn:hover{background:#2dd468!important;border-color:#2dd468!important}.success-btn:active{transform:translateY(2px);box-shadow:0 1px #15803d}.kbd-hint{opacity:.55;margin-left:.35rem;font-size:.8em}.lesson-section-enter{animation:.32s cubic-bezier(.22,1,.36,1) both lesson-section-in}@keyframes lesson-section-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.kbd-hint,.kbd-run-hint,.kbd-only,.quiz-key,.builder-chip-key,.pairs-key,.pairs-card-key{display:none!important}.quiz-option{gap:.65rem}.builder-chip{gap:.35rem}.app-shell.ide-layout-active{height:auto;min-height:0;overflow:visible;padding:0 .85rem 1rem!important}.app-shell.ide-layout-active .lesson-topbar{margin:0 -.85rem .65rem}.ide-layout-active .lesson-page-container{height:auto;min-height:0;padding-bottom:.5rem}.ide-layout-active .lesson-slide-wrapper,.ide-layout-active .lesson-slide-wrapper>div{height:auto;display:block;overflow:visible}.ide-mode-container{border-radius:14px;flex-direction:column;gap:0;height:auto;display:flex}.ide-instruction-pane,.ide-workspace-pane{flex:none;width:100%;min-width:0;max-width:none;height:auto}.ide-instruction-pane{box-shadow:none;border-bottom:1px solid #ffffff13;border-right:0;border-radius:0;padding:.85rem 1rem;overflow-y:visible}.ide-task-kicker{margin-bottom:.65rem;padding-bottom:.6rem;font-size:.67rem}.ide-task-heading{font-size:1.1rem}.ide-task-copy{margin-top:.35rem;font-size:.88rem;line-height:1.45}.ide-task-output{margin-top:.7rem;padding:.6rem .7rem}.ide-task-shortcut{display:none}.ide-editor-workspace{height:auto;min-height:0;box-shadow:none}.ide-editor-area{flex:none!important;min-height:0!important}.ide-layout-active .ide-editor-area>.code-editor,.ide-layout-active .ide-editor-area>.code-editor>pre,.ide-layout-active .ide-editor-area>.code-editor>textarea{min-height:0!important}.ide-editor-area pre,.ide-editor-area textarea{padding-top:.55rem!important;padding-bottom:.55rem!important}.ide-console-area{flex:none;height:auto;min-height:56px;max-height:120px}.ide-console-body{min-height:40px;max-height:88px;padding:.45rem .65rem}.ide-tab-bar{min-height:38px}.ide-status-bar{padding:.3rem .65rem;font-size:.72rem}.ide-status-right{display:none}.term-check-cols{grid-template-columns:1fr}.sandbox-block{margin:.65rem 0}.lesson-header h2{font-size:1.15rem!important}.lesson-success-panel{padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom,0px))}.success-panel-icon{width:30px;height:30px}.success-panel-title{font-size:.98rem}.success-btn{padding:.6rem 1.4rem;font-size:.85rem}}.route-loading{contain:layout paint;place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.route-loading-inner{flex-direction:column;align-items:center;gap:.85rem;display:flex}.route-loading-label{color:var(--text-dim);letter-spacing:.01em;margin:0;font-size:.88rem}.route-loading-spinner{border:2.5px solid color-mix(in srgb, var(--border) 80%, transparent);border-top-color:var(--accent);will-change:transform;border-radius:50%;width:36px;height:36px;animation:.95s linear infinite spin}.route-loading--error{place-items:center}.route-loading-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);text-align:center;width:100%;max-width:22rem;padding:1.35rem 1.25rem}.route-loading-title{margin:0 0 .45rem;font-size:1.05rem;font-weight:650}.route-loading-msg{color:var(--text-dim);margin:0 0 1.1rem;font-size:.9rem;line-height:1.45}.route-loading-actions{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.lesson-shell{overscroll-behavior-x:none}.lesson-page-container{max-width:100%}.lesson-slide-wrapper{contain:layout;max-width:100%;overflow:clip visible}.lesson-slide-wrapper>.motion-el,.lesson-slide-wrapper>div{max-width:100%}.predict-output-block,.sandbox-block{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.sandbox-frame{max-width:100%}
