:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg:#090b11;--color-surface:#141722;--color-surface-muted:#1e2230;--color-border:#ffffff14;--color-text:#f3f4f6;--color-text-muted:#9ca3af;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-bg:#6366f126;--color-accent:#10b981;--color-accent-hover:#059669;--color-accent-bg:#10b98126;--color-success:#34d399;--color-success-bg:#34d3991f;--color-success-border:#34d3994d;--color-danger:#f87171;--color-danger-bg:#f871711f;--color-danger-border:#f871714d;--color-warning:#fbbf24;--color-warning-bg:#fbbf241f;--color-warning-border:#fbbf244d;--color-boss:#a78bfa;--color-boss-bg:#a78bfa1f;--color-boss-border:#a78bfa4d;--glass-bg:#0f121e73;--glass-bg-strong:#0a0c16bf;--glass-border:#ffffff0f;--glass-border-light:#ffffff1f;--glass-blur:24px;--glass-blur-sm:12px;--shadow-glass:0 12px 40px #00000080;--shadow-glass-sm:0 6px 20px #0000004d;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:9999px;--font-sans:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, sans-serif;--font-mono:"Fira Code", ui-monospace, "SF Mono", Consolas, monospace}*{box-sizing:border-box}body{background-color:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);background-image:radial-gradient(circle at 10% 20%,#6366f126,#0000 40%),radial-gradient(circle at 85% 15%,#10b9811f,#0000 45%),radial-gradient(circle at 50% 80%,#8b5cf626,#0000 50%),radial-gradient(circle at 80% 85%,#fbbf2414,#0000 35%);background-attachment:fixed;margin:0;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:var(--radius-sm);background:#0003}::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#ffffff1a}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.ambient-glow-1{z-index:-1;pointer-events:none;background:radial-gradient(circle,#6366f133 0%,#6366f100 70%);width:40vw;height:40vw;animation:15s ease-in-out infinite pulseGlow;position:fixed;top:-10%;left:-10%}.ambient-glow-2{z-index:-1;pointer-events:none;background:radial-gradient(circle,#10b98126 0%,#10b98100 70%);width:45vw;height:45vw;animation:20s ease-in-out infinite alternate pulseGlow;position:fixed;bottom:-10%;right:-10%}.avatar-stage{perspective:320px;flex-shrink:0;display:inline-flex}.avatar{border-radius:var(--radius-pill);transform-style:preserve-3d;justify-content:center;align-items:center;line-height:1;transition:transform .25s,box-shadow .25s;animation:3.4s ease-in-out infinite avatar-spin;display:flex;position:relative;overflow:hidden;box-shadow:inset -5px -5px 10px #00000047,inset 4px 5px 8px #ffffff8c,0 8px 14px #17192338}.avatar-portrait{object-fit:cover;object-position:center 15%;width:100%;height:100%}.avatar:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 30% 26%,#ffffffd9,#fff0 55%);position:absolute;inset:0}.avatar:hover{animation-play-state:paused;box-shadow:inset -5px -5px 10px #00000038,inset 4px 5px 8px #fff9,0 10px 18px #17192342;transform:rotateY(0)rotateX(0)scale(1.1)!important}.avatar-sm{width:30px;height:30px;font-size:15px}.avatar-md{width:44px;height:44px;font-size:22px}.avatar-lg{width:48px;height:48px;font-size:24px}@keyframes avatar-spin{0%,to{transform:rotateY(-10deg)rotateX(6deg)translateY(0)}50%{transform:rotateY(14deg)rotateX(-4deg)translateY(-3px)}}@media (prefers-reduced-motion:reduce){.avatar{animation:none;transform:rotateY(-6deg)rotateX(4deg)}}.confessional{border-radius:var(--radius-md);background:#2925240d;border:1px dashed #29252440;margin-top:14px;padding:14px 16px;transform:rotate(-.5deg)}.confessional-tag{letter-spacing:.06em;color:#57534e;border-radius:var(--radius-pill);background:#29252414;margin-bottom:10px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-block}.confessional-body{align-items:flex-start;gap:12px;display:flex}.confessional-name{color:var(--color-text);font-size:13px;font-weight:700}.confessional-text{color:var(--color-text);margin:4px 0 0;font-size:14px;font-style:italic;line-height:1.5}.confessional-detour-button{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;margin-top:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:background-color .15s}.confessional-detour-button:hover{background:var(--color-primary-hover)}.grid-wrap{flex-direction:column;gap:10px;max-width:100%;display:inline-flex}.grid-frame{border:1px solid var(--glass-border);border-radius:var(--radius-md);max-width:100%;box-shadow:var(--shadow-glass-sm);display:inline-block;overflow:auto}.grid{border-collapse:collapse;background:var(--color-surface);font-size:14px}.grid th,.grid td{border:1px solid var(--color-border);text-align:left;min-width:90px;height:30px;padding:7px 12px}.grid thead th{background:var(--color-surface-muted);text-align:center;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.grid tbody th{background:var(--color-surface-muted);text-align:center;color:var(--color-text-muted);min-width:32px;font-weight:600}.grid-corner{background:var(--color-surface-muted)}.grid-cell{color:var(--color-text);-webkit-user-select:none;user-select:none}.grid-cell-drag{background:var(--color-primary-bg);outline:1.5px dashed var(--color-primary);outline-offset:-1.5px}.grid-cell-spotlight{background:var(--color-warning-bg);outline-offset:-1.5px;outline:1.5px solid #f59e0b;transition:background-color .2s,outline-color .2s}.grid-cell-answer{background:var(--color-success-bg);outline:1.5px solid var(--color-success);outline-offset:-1.5px;transition:background-color .2s,outline-color .2s}.grid-error-hint{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);border-radius:var(--radius-md);max-width:480px;padding:10px 14px;font-size:13px}.grid-cell-editable{padding:0}.grid-input{box-sizing:border-box;background:var(--color-primary-bg);outline-offset:-2px;border:none;outline:2px solid #0000;width:100%;height:100%;padding:7px 12px;font-family:inherit;font-size:14px}.grid-input:focus{outline:2px solid var(--color-primary)}.grid-input-error{background:var(--color-danger-bg)}.workbook-header-selector{background:var(--glass-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:12px;margin-bottom:4px;padding:8px 12px;display:flex}.workbook-header-selector label{color:var(--color-text-muted);font-size:13px;font-weight:500}.sheets-tab-bar{background:var(--color-surface-muted);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-top:none;justify-content:space-between;align-items:center;height:38px;padding:0 12px;display:flex}.tabs-list{align-items:flex-end;gap:4px;height:100%;display:flex}.tab-btn{color:var(--color-text-muted);cursor:pointer;border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);background:0 0;border:1px solid #0000;border-bottom:none;height:32px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .15s}.tab-btn:hover{color:var(--color-text);background:#ffffff0d}.tab-btn.active{background:var(--color-surface);border-color:var(--color-border);color:var(--color-primary);font-weight:600;box-shadow:0 -2px 8px #0000001a}.add-tab-dummy{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;padding:4px 8px;font-size:18px;font-weight:400}.add-tab-dummy:hover{color:var(--color-text);background:#ffffff0d}.formula-autocomplete-dropdown{border:1px solid var(--color-border);min-width:170px;box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#101521fa;border-radius:6px;flex-direction:column;margin-top:4px;padding:4px 0;display:flex;position:absolute;top:100%;left:0}.autocomplete-item{color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;width:100%;padding:8px 14px;font-family:Roboto Mono,monospace;font-size:11px;transition:background-color .15s;display:flex}.autocomplete-item.active{color:var(--color-primary);background:#00f2fe1f;font-weight:600}.autocomplete-item:hover{color:var(--color-text);background:#00f2fe0f}.ninja-mascot-container{z-index:5500;pointer-events:none;font-family:var(--font-sans);flex-direction:column;align-items:flex-end;display:flex;position:fixed;bottom:24px;right:24px}.ninja-mascot-container *{pointer-events:auto}.ninja-mascot-speech-bubble{color:#1e293b;background:#faf8f5;border:2px solid #d97706;border-radius:12px;max-width:240px;margin-bottom:12px;padding:12px 16px;font-size:12.5px;line-height:1.4;animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards popBubble;position:relative;box-shadow:0 8px 16px #0006}@keyframes popBubble{0%{opacity:0;transform:scale(.8)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.mascot-speech-text{margin:0;padding-right:12px;font-weight:550}.mascot-close-bubble{color:#64748b;cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;line-height:1;position:absolute;top:4px;right:8px}.mascot-close-bubble:hover{color:#0f172a}.speech-bubble-tail{border-top:8px solid #faf8f5;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-8px;right:32px}.speech-bubble-tail:after{content:"";z-index:-1;border-top:8px solid #faf8f5;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:1px;right:-8px}.ninja-mascot-character{cursor:pointer;transition:transform .2s;animation:3s ease-in-out infinite mascotBob}.ninja-mascot-character:hover{transform:scale(1.08)rotate(3deg)}@keyframes mascotBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.head-circle{transition:transform .3s}.mascot-svg:hover .head-circle{stroke-width:4px}.bandband-tail-1{transform-origin:86px 38px;animation:2s ease-in-out infinite wiggleTail1}.bandband-tail-2{transform-origin:87px 41px;animation:2s ease-in-out .5s infinite wiggleTail2}@keyframes wiggleTail1{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}@keyframes wiggleTail2{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}.ninja-eyes{animation:6s infinite blinkEyes}@keyframes blinkEyes{0%,96%,to{transform:scaleY(1)}98%{transform:scaleY(.1)}}.boss-badge-inline{vertical-align:middle;margin-left:10px;padding:3px 9px;font-size:11px}.npc-bubble{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.npc-bubble-success{border-color:var(--color-success-border);background:#ecfdf3b3;margin-top:18px;margin-bottom:0}.npc-name{color:var(--color-text);font-size:13px;font-weight:700}.npc-role{color:var(--color-text-muted);font-weight:400}.npc-text{color:var(--color-text);margin:4px 0 0;font-size:14px;line-height:1.5}.level-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.level-card{text-align:left;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-sm));cursor:pointer;box-shadow:var(--shadow-glass-sm);align-items:center;gap:14px;padding:14px 16px;font-family:inherit;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.level-card:not(:disabled):hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.level-card:disabled{cursor:not-allowed;opacity:.6}.level-card-avatar-locked{background:var(--color-surface-muted);border-radius:var(--radius-pill);opacity:.7;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.cast-strip{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-wrap:wrap;gap:16px;margin:4px 0 22px;padding:12px 16px;display:flex}.cast-member{align-items:center;gap:8px;display:flex}.cast-member-name{color:var(--color-text);font-size:12px;font-weight:700}.cast-member-role{color:var(--color-text-muted);font-size:11px}.level-card-title{color:var(--color-text);font-size:15px;font-weight:600}.level-card-check{color:var(--color-success)}.level-card-sub{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex}.level-card-done{border-color:var(--color-success-border);background:#34d39914}.level-card-boss{border-color:var(--color-boss-border);background:#a78bfa14}.level-card-boss.level-card-done{border-color:var(--color-success-border);background:#34d39914}.boss-badge{background:var(--color-boss);color:#fff;letter-spacing:.04em;border-radius:var(--radius-pill);padding:2px 7px;font-size:10px;font-weight:700}.formula-search{margin-bottom:20px;position:relative}.formula-search-input{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur-sm));color:var(--color-text);outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .12s}.formula-search-input:focus{border-color:var(--color-primary)}.formula-search-results{z-index:5;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:220px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden auto}.formula-search-result{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:600;display:block}.formula-search-result:hover{background:var(--color-primary-bg);color:var(--color-primary)}.formula-search-empty{color:var(--color-text-muted);padding:10px 14px;font-size:13px}.hub-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.hub-header h1{letter-spacing:-.01em;margin:0;font-size:27px;font-weight:700}.streak-badge{-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--color-warning-border);color:var(--color-warning);border-radius:var(--radius-pill);background:#fbbf2414;padding:7px 16px;font-size:14px;font-weight:700}.unit-block{margin-bottom:20px}.unit-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:11px;font-weight:700}.kata-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.kata-card{text-align:left;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-sm));cursor:pointer;box-shadow:var(--shadow-glass-sm);padding:13px 15px;font-family:inherit;transition:transform .12s,box-shadow .12s,border-color .12s}.kata-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.kata-card-done{border-color:var(--color-success-border);background:#34d39914}.kata-card-tutorial{border-color:var(--color-warning-border);background:#fbbf2414}.kata-card-tutorial:hover{border-color:var(--color-warning)}.kata-card-tutorial.kata-card-done{border-color:var(--color-success-border);background:#34d39914}.kata-card-title{color:var(--color-text);font-size:14px;font-weight:600}.kata-card-check{color:var(--color-success)}.kata-card-tags{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;font-size:11px}.hub-header-actions{align-items:center;gap:10px;display:flex}.practice-range-link{color:var(--color-primary);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .12s,transform .12s;display:inline-flex}.practice-range-link:hover{border-color:var(--color-primary);transform:translateY(-1px)}.chapter-hero-list{flex-direction:column;gap:16px;display:flex}.chapter-hero{border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur-sm));box-shadow:var(--shadow-glass);background:linear-gradient(135deg,#1a2035d9,#121626d9);padding:24px 26px}.chapter-hero-locked{opacity:.6;background:var(--color-surface-muted)}.chapter-hero-locked .chapter-hero-title{color:var(--color-text-muted)}.chapter-hero-title{color:var(--color-text);margin-bottom:8px;font-size:20px;font-weight:700}.chapter-hero-intro{color:var(--color-text-muted);margin:0 0 18px;font-size:14px;line-height:1.55}.chapter-hero-progress-track{border-radius:var(--radius-pill);background:#4f46e51f;height:8px;margin-bottom:10px;overflow:hidden}.chapter-hero-progress-fill{background:var(--color-primary);border-radius:var(--radius-pill);height:100%;transition:width .25s}.chapter-hero-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.chapter-hero-progress-label{color:var(--color-text-muted);font-size:13px;font-weight:600}.formula-breakdown{-webkit-overflow-scrolling:touch;background:var(--glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-wrap:nowrap;align-items:flex-start;gap:6px;margin:4px 0 16px;padding:14px;display:flex;overflow-x:auto}.formula-part{flex-direction:column;align-items:center;gap:6px;display:flex}.formula-part-text{color:#e7e9f2;border-radius:var(--radius-sm);font-family:var(--font-mono);white-space:pre;background:#1e2130;padding:5px 9px;font-size:14px;font-weight:600}.formula-part-label{color:var(--color-text-muted);text-align:center;max-width:100px;font-size:11px;line-height:1.3}.tutorial-step-counter{color:var(--color-warning);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;background:#f59e0b1a;border:1px solid #f59e0b40;margin:0 0 12px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.lookup-demo{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:16px;padding:14px 16px}.lookup-demo-caption{color:var(--color-text);align-items:center;gap:8px;min-height:24px;font-size:15px;font-weight:600;display:flex}.lookup-demo-icon{flex-shrink:0;font-size:18px}.lookup-demo-controls{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.lookup-demo-nav{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;padding:6px 12px;font-size:13px;font-weight:600}.lookup-demo-nav:disabled{opacity:.4;cursor:not-allowed}.lookup-demo-nav:not(:disabled):hover{border-color:var(--color-primary)}.lookup-demo-dots{gap:6px;display:flex}.lookup-demo-dot{border-radius:var(--radius-pill);background:var(--color-border);width:7px;height:7px}.lookup-demo-dot-active{background:var(--color-primary)}.speedrun-arcade-wrap{justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 120px);display:flex}.gameplay-container{animation:.3s ease-out slide-up-subtle}.choice-card-btn{transition:all .2s cubic-bezier(.4,0,.2,1)}.choice-card-btn:active{transform:scale(.98)}.animate-bounce-in{animation:.5s cubic-bezier(.34,1.56,.64,1) bounce-in}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes slide-up-subtle{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.arcade-container{flex-direction:column;gap:20px;max-width:1200px;height:100%;margin:0 auto;padding:32px 48px;animation:.4s ease-out fadeIn;display:flex}.arcade-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.arcade-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:10px 0;display:grid}.arcade-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);cursor:pointer;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:220px;padding:24px;transition:all .25s cubic-bezier(.25,1,.5,1);display:flex}.arcade-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 8px 24px #00f2fe26}.game-play-area{flex-wrap:wrap;gap:24px;display:flex}.game-visual-panel{background:#0003;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;flex:1.2;justify-content:space-between;min-width:320px;min-height:380px;padding:20px;display:flex;position:relative;overflow:hidden}.game-controls-panel{flex-direction:column;flex:1;gap:16px;min-width:280px;display:flex}@keyframes slide-belt{0%{transform:translate(0)}to{transform:translate(-40px)}}.factory-belt{background:linear-gradient(90deg,#1f2937 25%,#111827 25% 50%,#1f2937 50% 75%,#111827 75%) 0 0/40px 60px;border:2px solid #374151;border-radius:8px;height:60px;animation:1s linear infinite slide-belt;position:relative;overflow:hidden}.factory-arm{transform-origin:top;background:#f59e0b;width:10px;height:40px;transition:transform .3s;position:absolute;top:10px;left:50%}.factory-arm.active{transform:rotate(45deg)}.defense-corridor{background:radial-gradient(circle,#1e1b4b 0%,#0f0b29 100%);border-radius:8px;width:100%;height:240px;position:relative;overflow:hidden}@keyframes creep-move{0%{top:50%;left:0%}50%{top:20%;left:50%}to{top:50%;left:100%}}.defense-creep{font-size:32px;animation:4s linear infinite creep-move;position:absolute}.defense-tower{font-size:36px;position:absolute;bottom:20px;left:45%}@keyframes shoot-laser{0%{opacity:1;transform:scaleX(0)}to{opacity:0;transform:scaleX(1)}}.defense-laser-beam{transform-origin:0;background:#38bdf8;width:150px;height:4px;animation:.4s ease-out forwards shoot-laser;position:absolute;bottom:38px;left:50%}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-width:180px;margin:10px auto;display:grid}.keypad-btn{color:var(--color-text);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:10px;font-size:16px;font-weight:700;transition:all .15s}.keypad-btn:hover{border-color:var(--color-primary);background:#00f2fe1a}.racer-track{background:#111827;border-radius:8px;grid-template-columns:repeat(8,1fr);gap:4px;padding:10px;display:grid}.racer-tile{aspect-ratio:1;background:#1f2937;border-radius:4px;justify-content:center;align-items:center;font-size:18px;display:flex}.racer-tile.track-path{background:#374151}.tycoon-grid{grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0;display:grid}.tycoon-tile{aspect-ratio:1;background:#ffffff08;border:1px solid #ffffff0d;border-radius:6px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.tycoon-tile:hover{border-color:var(--color-primary);background:#00f2fe0d}@keyframes cauldron-bubble{0%{opacity:0;transform:translateY(100px)scale(.5)}50%{opacity:.8}to{opacity:0;transform:translateY(-20px)scale(1.2)}}.cauldron-pot{background:#4b5563;border:4px solid #1f2937;border-radius:50% 50% 40% 40%;width:140px;height:140px;margin:20px auto;position:relative}.cauldron-liquid{background:#8b5cf6;border-radius:50%;width:110px;height:40px;position:absolute;top:10px;left:11px;overflow:hidden}.cauldron-bubble{background:#ffffff4d;border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite cauldron-bubble;position:absolute}.crawler-arrow-keys{grid-template-columns:repeat(3,1fr);gap:8px;max-width:140px;margin:10px auto;display:grid}.crawler-key{color:var(--color-text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;padding:8px;font-size:18px}.crawler-key:hover{border-color:var(--color-primary);background:#00f2fe1a}.analytics-input-group{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.analytics-select{color:var(--color-text);background:#0f172a;border:1px solid #ffffff1a;border-radius:6px;padding:6px 12px}.analytics-date-picker{color:var(--color-text);background:#0f172a;border:1px solid #ffffff1a;border-radius:6px;padding:4px 8px}.graduation-overlay{z-index:6000;background:#0b0f19f2;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.graduation-canvas{pointer-events:none;z-index:6010;width:100%;height:100%;position:absolute;top:0;left:0}.graduation-content{text-align:center;z-index:6020;background:#0f172a;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:760px;padding:30px;animation:.6s cubic-bezier(.25,1,.5,1) forwards slideUpCert;position:relative;box-shadow:0 20px 50px #000c,0 0 40px #00f2fe1a}@keyframes slideUpCert{0%{opacity:0;transform:translateY(50px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.certificate-wrapper{color:#1e293b;text-align:center;background:#faf8f5;border:12px double #d97706;border-radius:4px;width:100%;max-width:640px;margin:24px auto;padding:40px;font-family:Playfair Display,Cinzel,Georgia,serif;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000080}.cert-logo{margin-bottom:12px;font-size:28px}.cert-title{letter-spacing:2px;color:#b45309;text-transform:uppercase;margin:10px 0;font-size:32px;font-weight:800}.cert-subtitle{letter-spacing:4px;text-transform:uppercase;color:#64748b;margin-bottom:24px;font-size:13px}.cert-recipient{color:#1e1b4b;border-bottom:2px solid #cbd5e1;margin:12px 0;padding:4px 20px;font-size:28px;font-weight:700;display:inline-block}.cert-body{color:#475569;max-width:480px;margin:16px auto;font-size:13px;font-style:italic;line-height:1.6}.cert-rank{text-transform:uppercase;color:#b45309;letter-spacing:1px;margin:12px 0;font-size:20px;font-weight:800}.cert-footer{justify-content:space-between;align-items:flex-end;margin-top:40px;padding:0 20px;display:flex}.cert-signature{color:#64748b;border-top:1px solid #94a3b8;width:150px;padding-top:8px;font-size:11px}.cert-sig-name{color:#b45309;margin-bottom:4px;font-family:Dancing Script,Courier New,cursive;font-size:16px}.cert-seal{opacity:.85;font-size:44px}.graduation-actions{justify-content:center;gap:16px;margin-top:24px;display:flex}.portal-container{max-width:1400px;min-height:100vh;margin:0 auto;display:flex;position:relative}.portal-sidebar{background:var(--glass-bg-strong);width:260px;-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--glass-border);z-index:10;flex-direction:column;flex-shrink:0;height:100vh;padding:30px 20px;display:flex;position:sticky;top:0}.portal-logo{color:var(--color-text);letter-spacing:-.02em;align-items:center;gap:12px;margin-bottom:36px;font-size:20px;font-weight:800;display:flex}.logo-icon{background:var(--color-primary-bg);color:var(--color-primary);border-radius:var(--radius-sm);border:1px solid var(--color-border);justify-content:center;align-items:center;width:38px;height:38px;font-weight:900;display:flex}.logo-img{border-radius:var(--radius-sm);object-fit:cover;width:38px;height:38px}.nav-links{flex-direction:column;gap:6px;margin-bottom:auto;display:flex}.nav-item{color:var(--color-text-muted);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:var(--color-text);background:#ffffff0a}.nav-item.active{background:var(--color-primary-bg);border-color:var(--color-border);color:var(--color-primary);font-weight:600}.nav-footer-profile{border-top:1px solid var(--color-border);padding-top:18px}.user-snippet{align-items:center;gap:12px;margin-bottom:12px;display:flex}.user-avatar{background:var(--color-primary-bg);color:var(--color-primary);border-radius:var(--radius-pill);justify-content:center;align-items:center;width:38px;height:38px;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex}.username{font-size:14px;font-weight:600}.user-role-badge{color:var(--color-accent);font-size:11px;font-weight:500}.portal-content{flex-grow:1;max-width:100%;padding:40px;overflow-y:auto}.mobile-nav-bar{display:none}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);margin-bottom:24px;padding:30px}.glass-card.hero-card{background:linear-gradient(135deg,#6366f126 0%,#10b98114 100%);border-color:#ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.hero-text-wrap{max-width:600px}.hero-badge{background:var(--color-primary-bg);color:var(--color-primary);border-radius:var(--radius-pill);margin-bottom:12px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-block}.hero-lead{color:var(--color-text-muted);font-size:16px;line-height:1.6}.hero-stats{gap:16px;display:flex}.stat-pill{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;background:#ffffff0a;flex-direction:column;align-items:center;min-width:100px;padding:16px;display:flex}.stat-icon{margin-bottom:6px;font-size:20px}.stat-val{font-size:16px;font-weight:700}.stat-lbl{color:var(--color-text-muted);margin-top:2px;font-size:11px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:24px;display:grid}.card-half h2{margin-top:0;margin-bottom:12px;font-size:20px}.card-desc{margin-bottom:20px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{color:var(--color-text-muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:#0003;padding:10px 14px;font-family:inherit;font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);outline:none}.form-group-row{gap:16px;display:flex}.col-half{flex:1}.btn-group{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0003;display:flex;overflow:hidden}.btn-group .filter-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:11px 16px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-group .filter-btn:hover{color:var(--color-text);background:#ffffff08}.btn-group .filter-btn.active{background:var(--color-primary);color:#fff;font-weight:600}.checkbox-option{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#ffffff05;align-items:flex-start;gap:12px;margin-bottom:12px;padding:14px;display:flex}.checkbox-option input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin-top:2px}.option-info strong{justify-content:space-between;font-size:14px;display:flex}.price-tag{color:var(--color-accent)}.option-info p{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.pricing-summary{border-top:1px solid var(--color-border);justify-content:space-between;margin-bottom:18px;padding-top:14px;font-size:14px;display:flex}.pricing-summary strong{color:var(--color-accent);font-size:18px}.profile-details{border-radius:var(--radius-md);background:#00000026;margin-bottom:18px;padding:14px 18px}.profile-row{justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.profile-row:last-child{margin-bottom:0}.badge-role{border-radius:var(--radius-pill);padding:2px 8px;font-size:11px;font-weight:700}.badge-student{color:var(--color-text);background:#ffffff1a}.badge-certified{background:var(--color-primary-bg);color:var(--color-primary)}.badge-expert{background:var(--color-accent-bg);color:var(--color-accent)}.badge-admin{background:var(--color-boss-bg);color:var(--color-boss)}.role-selector-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px;display:grid}.role-btn{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:13px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.role-btn:hover{background:#ffffff0f;border-color:#ffffff26;transform:translateY(-1px)}.role-btn.btn-active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.role-explainer{border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#ffffff05;padding:12px}.info-txt{margin:0;font-size:12px;line-height:1.4}.kb-search-header{margin-bottom:24px}.kb-search-input{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);box-shadow:var(--shadow-glass-sm);padding:16px 20px;font-size:16px}.category-filters{gap:10px;margin-top:14px;display:flex}.filter-tab{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-pill);cursor:pointer;background:0 0;padding:8px 18px;font-size:13px;transition:all .15s}.filter-tab:hover{background:#ffffff08}.filter-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.kb-content-layout{align-items:flex-start;gap:24px;display:flex}.kb-article-list{flex-direction:column;flex-shrink:0;gap:12px;width:320px;max-height:70vh;display:flex;overflow-y:auto}.list-actions{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.list-actions h3{margin:0;font-size:15px}.btn-accent{background:var(--color-accent)!important;color:#fff!important}.kb-article-card{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;padding:16px;transition:all .15s}.kb-article-card:hover{background:#ffffff0f;border-color:#ffffff26}.kb-article-card.selected{background:var(--color-primary-bg);border-color:var(--color-primary)}.kb-article-card h4{margin:8px 0 4px;font-size:15px}.kb-article-card .summary{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.4}.card-top{justify-content:space-between;align-items:center;display:flex}.badge-cat{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.badge-cat.sheets{color:var(--color-accent);background:#10b98126}.badge-cat.script{color:var(--color-primary);background:#6366f126}.fav-btn{cursor:pointer;color:var(--color-warning);background:0 0;border:none;padding:0;font-size:16px}.author-tag{color:var(--color-text-muted);margin-top:8px;font-size:10px;display:block}.kb-article-viewer{flex-grow:1;min-height:480px}.article-actions{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;display:flex}.expert-actions-wrap{gap:8px;display:flex}.btn-edit,.btn-delete{border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0d;padding:4px 10px;font-size:11px}.btn-edit:hover{background:#6366f126}.btn-delete:hover{background:#f8717126}.article-body{font-size:15px;line-height:1.6}.code-block{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);background:#0f172a;margin:16px 0;padding:16px;font-size:13px;overflow-x:auto}.no-article-selected{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:380px;display:flex}.watermark-icon{opacity:.3;margin-bottom:16px;font-size:64px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:100;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{width:480px;max-width:90%;animation:.3s ease-out modalSlide;position:relative;box-shadow:0 24px 48px #000c,0 0 0 1px #ffffff0d;background:#101521f5!important;border:1px solid #ffffff26!important}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:20px;right:20px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.template-card{flex-direction:column;height:100%;display:flex}.template-card h3{margin:12px 0 8px;font-size:16px}.template-card .description{flex-grow:1;margin-bottom:16px;font-size:13px}.price-badge{border-radius:var(--radius-pill);padding:4px 10px;font-size:12px;font-weight:700}.price-badge.free{color:var(--color-success);background:#34d39926}.price-badge.paid{color:var(--color-warning);background:#fbbf2426}.features-list{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.feat-chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#ffffff08;padding:2px 8px;font-size:11px}.cert-exam-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.cert-exam-card{flex-direction:column;justify-content:space-between;display:flex}.difficulty-badge{border-radius:var(--radius-pill);padding:2px 8px;font-size:11px}.difficulty-badge.beginner{color:var(--color-success);background:#34d39926}.difficulty-badge.intermediate{color:var(--color-primary);background:#6366f126}.difficulty-badge.advanced{color:var(--color-boss);background:#a78bfa26}.pass-actions{justify-content:space-between;align-items:center;width:100%;display:flex}.earned-badge{color:var(--color-success);font-size:14px;font-weight:700}.certificate-modal-wrapper{border:4px solid var(--color-primary);border-radius:var(--radius-lg);background:#111522;width:780px;max-width:95%;padding:20px;position:relative}.certificate-canvas{color:#e2e8f0;text-align:center;background:#0f121d;padding:40px;position:relative}.cert-border-outer{border:8px solid #fbbf241a;padding:4px}.cert-border-inner{border:2px solid #fbbf244d;padding:30px}.cert-header-meta{color:#94a3b8;justify-content:space-between;margin-bottom:24px;font-size:12px;display:flex}.cert-title-stamp{letter-spacing:.15em;color:#fbbf24;font-size:18px;font-weight:700}.cert-subtitle{color:#94a3b8;margin-top:14px;font-size:14px;font-style:italic}.cert-recipient{color:#fff;letter-spacing:-.01em;margin:16px 0;font-size:32px;font-weight:800}.cert-divider{background:#fbbf24;width:180px;height:2px;margin:0 auto 16px}.cert-description{color:#94a3b8;max-width:480px;margin:0 auto;font-size:14px;line-height:1.5}.cert-title{color:#fff;margin-top:12px;margin-bottom:30px;font-size:24px;font-weight:700}.cert-signatures{justify-content:space-around;margin-top:40px;display:flex}.sig-block{flex-direction:column;align-items:center;display:flex}.sig-block .signature{color:#e2e8f0;font-size:18px;font-style:italic}.sig-block .sig-divider{background:#ffffff26;width:160px;height:1px;margin:4px 0}.sig-block .title{color:#94a3b8;font-size:10px}.modal-close-cert{background:var(--color-primary);border-radius:var(--radius-pill);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex;position:absolute;top:-12px;right:-12px;box-shadow:0 4px 12px #00000080}.quiz-options{flex-direction:column;gap:10px;margin-top:24px;display:flex}.option-btn{border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:#ffffff08;align-items:center;gap:16px;padding:16px 20px;transition:all .15s;display:flex}.option-btn:hover{border-color:var(--color-primary);background:#ffffff0f}.option-marker{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:#ffffff0d;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.checkbox-grid{flex-wrap:wrap;gap:8px;display:flex}.chip-btn{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-pill);cursor:pointer;background:#ffffff05;padding:8px 16px;transition:all .15s}.chip-btn.active{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary);font-weight:700}.quote-box{border-radius:var(--radius-md);background:#0003;margin-top:18px;padding:16px}.quote-row{justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.quote-row.total{border-top:1px solid var(--color-border);margin-bottom:0;padding-top:12px;font-size:16px}.quote-row.total strong{color:var(--color-accent)}.grid-cell-editor-table{border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:180px;margin-bottom:16px;overflow-y:auto}.grid-cell-editor-table table{border-collapse:collapse;width:100%}.grid-cell-editor-table th,.grid-cell-editor-table td{border-bottom:1px solid var(--color-border);padding:6px 12px;font-size:13px}.grid-cell-editor-table input{width:100%;color:var(--color-text);background:0 0!important;border:none!important;padding:2px!important}.scrollable-code{max-height:200px;font-size:12px;overflow-y:auto}.scrollable-form{max-height:80vh;overflow-y:auto}.quest-locked-level-cover{-webkit-backdrop-filter:blur(12px);z-index:20;text-align:center;background:#090b11d9;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex;position:absolute;top:0;left:0}.lock-badge{margin-bottom:16px;font-size:48px}@media (width<=800px){.portal-container{flex-direction:column}.portal-sidebar{display:none}.mobile-nav-bar{border-top:1px solid var(--glass-border);z-index:100;justify-content:space-around;width:100vw;padding:10px 0;display:flex;position:fixed;bottom:0;left:0;-webkit-backdrop-filter:none!important;background:#0a0c16!important}.mobile-nav-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.mobile-nav-btn.active{color:var(--color-primary);font-weight:700}.mobile-nav-icon{font-size:18px}.portal-content{padding:20px 20px 80px}.dashboard-grid{grid-template-columns:1fr}.kb-content-layout{flex-direction:column}.kb-article-list{width:100%;max-height:220px}}.testimonials-list{flex-direction:column;gap:14px;display:flex}.quote-item{border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);background:#ffffff05;margin:0;padding:10px 14px;font-size:13px;line-height:1.4}.quote-item p{color:var(--color-text);margin:0 0 6px;font-style:italic}.quote-item cite{color:var(--color-primary);font-size:11px;font-weight:600;display:block}.btn-accent{background:var(--color-accent)!important}.btn-accent:hover{background:var(--color-accent-hover)!important}.check-button{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-glass-sm);border:1px solid #ffffff14;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.check-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #6366f140}.check-button:active{transform:translateY(1px)}.check-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.check-button.btn-accent{border-color:#ffffff0d;background:var(--color-accent)!important}.check-button.btn-accent:hover{box-shadow:0 6px 20px #10b98140;background:var(--color-accent-hover)!important}.check-button.btn-danger{border-color:#ffffff0d;background:var(--color-danger)!important}.check-button.btn-danger:hover{box-shadow:0 6px 20px #ef444440;background:#ef4444!important}.check-button.btn-muted{color:var(--color-text);border-color:var(--color-border);background:#ffffff0d}.check-button.btn-muted:hover{box-shadow:var(--shadow-glass-sm);background:#ffffff1a}.back-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-bottom:20px;padding:0;font-size:14px;font-weight:600;transition:color .15s}.back-link:hover{color:var(--color-boss);text-decoration:underline}.instructions{color:var(--color-text-muted);margin-bottom:24px;font-size:15px;line-height:1.6}.actions{gap:12px;margin-top:20px;display:flex}.report{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid #0000;margin-top:20px;padding:16px;font-size:14px}.report-pass{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.report-fail{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}
