:root{--line-height: 24px;--mono: "Fira Code", "JetBrains Mono", monospace;--ui: "Poppins", "Inter", system-ui, -apple-system, sans-serif;--primary: #6B4CFF;--primary-glow: #8B72FF;--secondary: #6B4CFF;--accent: #38BDF8;--success: #34D399;--warning: #F59E0B;--danger: #FF5C7A;--brand-peach: #FBBE95;--brand-sky: #9ECCFA;--brand-gold: #FBDD80;--brand-lavender: #D2BBFB;--brand-pink: #FF3A9E;--brand-mint: #89E6D5;--grad-primary: linear-gradient(135deg, #7C4DFF, #FF3A9E);--grad-sky: linear-gradient(135deg, #8DBBFF, #CDE6FF);--grad-lavender: linear-gradient(135deg, #C8B6FF, #EAE2FF);--grad-mint: linear-gradient(135deg, #9FF5D0, #D8FFF2);--grad-rose: linear-gradient(135deg, #FFB6D9, #FFE3F1);--grad-gold: linear-gradient(135deg, #FFE68B, #FFF8FF);--grad-peach: linear-gradient(135deg, #FFCC9C, #FFE8D2);--bg-0: #07080E;--card-bg: #0C0F1A;--panel-bg: #111524;--border-glass: rgba(107, 76, 255, .14);--border-glass-strong: rgba(107, 76, 255, .25);--ink: #FFFFFF;--ink-secondary: #C4CDE0;--ink-muted: #6C7793;--code-bg: #1E1E1E;--code-ink: #D4D4D4;--glow-primary: 0 0 25px rgba(107, 76, 255, .5);--glow-secondary: 0 0 25px rgba(139, 114, 255, .5);--glow-accent: 0 0 20px rgba(56, 189, 248, .4);--glow-success: 0 0 15px rgba(52, 211, 153, .4);--shadow-card: 0 20px 40px -10px rgba(0, 0, 0, .8);--shadow-float: 0 12px 30px -10px rgba(0, 0, 0, .7);--radius-card: 16px;--radius-pill: 999px}:root[data-theme=light]{--primary: #6F3F87;--primary-glow: #824D9E;--secondary: #6F3F87;--accent: #F7B32B;--success: #1E9E5A;--warning: #F7B32B;--danger: #E53E3E;--brand-peach: #FBBE95;--brand-sky: #9ECCFA;--brand-gold: #F7B32B;--brand-lavender: #E3D7EC;--brand-pink: #FF3A9E;--brand-mint: #89E6D5;--bg-0: #FFFDF6;--card-bg: #FFFFFF;--panel-bg: #F8F5EE;--border-glass: #ECE4F1;--border-glass-strong: #E3D7EC;--ink: #261B30;--ink-secondary: #574B63;--ink-muted: #93849F;--code-bg: #F6F3E9;--code-ink: #261B30;--glow-primary: 0 4px 20px rgba(111, 63, 135, .15);--glow-secondary: 0 4px 20px rgba(247, 179, 43, .2);--glow-accent: 0 4px 20px rgba(247, 179, 43, .2);--shadow-card: 0 14px 34px rgba(38, 27, 48, .06), 0 2px 8px rgba(38, 27, 48, .04);--shadow-float: 0 20px 48px rgba(38, 27, 48, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;background:var(--bg-0);font-family:var(--ui);color:var(--ink);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}:focus-visible{outline:2px solid var(--secondary);outline-offset:2px;border-radius:8px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8e5bff40;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8e5bff80}.bg-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:radial-gradient(1100px 700px at 15% -10%,rgba(123,63,152,.35),transparent 60%),radial-gradient(1100px 800px at 85% 10%,rgba(142,91,255,.25),transparent 60%),radial-gradient(950px 550px at 50% 95%,rgba(72,214,255,.12),transparent 55%),var(--bg-0)}:root[data-theme=light] .bg-fx{background:radial-gradient(900px 480px at 12% -10%,#f3ecf8,#f3ecf800 60%),radial-gradient(900px 480px at 90% 110%,#fdf3dc,#fdf3dc00 55%),#fffdf6}.bg-fx:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 10%,transparent 80%);mask-image:radial-gradient(circle at 50% 30%,#000 10%,transparent 80%)}.app{display:flex;flex-direction:column;height:100vh;padding:14px 20px;gap:12px;max-width:1720px;margin:0 auto}.masthead-floating{display:flex;align-items:center;gap:14px;padding:8px 18px;background:var(--card-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-glass-strong);border-radius:16px;box-shadow:var(--shadow-float);z-index:40}.gradenext-brand-container{display:flex;align-items:center;gap:12px}.gradenext-logo-svg{filter:drop-shadow(0 0 12px rgba(168,85,247,.45));overflow:visible}.logo-cap-group{transform-origin:26px 14px;animation:capFloat 3.5s ease-in-out infinite alternate;transition:transform .3s ease}.gradenext-logo-svg:hover .logo-cap-group{transform:translateY(-2px) rotate(-4deg)}.logo-x-cross{transform-origin:170px 33px;animation:logoXPulse 3s ease-in-out infinite alternate}.logo-tm-badge{animation:tmPulse 2.5s ease-in-out infinite alternate}.gradenext-official-brand{display:flex;align-items:center;gap:8px;cursor:pointer;transition:transform .25s ease}.gradenext-official-brand:hover{transform:scale(1.04)}.gradenext-official-logo-img{height:38px;width:auto;object-fit:contain;border-radius:6px;transition:all .25s ease;filter:drop-shadow(0 2px 10px rgba(124,58,237,.4))}.gradenext-logo-svg-vector{color:var(--ink);transition:filter .25s ease;filter:drop-shadow(0 2px 10px rgba(142,91,255,.45))}.gradenext-official-brand:hover .gradenext-logo-svg-vector{filter:drop-shadow(0 4px 18px rgba(168,85,247,.75))}.gradenext-official-brand:hover .gradenext-official-logo-img{filter:drop-shadow(0 4px 18px rgba(168,85,247,.7)) scale(1.02)}.brand-subtitle{font-family:var(--mono);font-size:11px;color:var(--ink-muted)}.masthead-spacer{flex:1}.viz-top-control-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:14px;box-shadow:0 4px 16px #0003;margin-bottom:12px;flex-wrap:wrap}.viz-top-control-bar.standalone-mode-bar{justify-content:center;padding:6px 12px;margin-bottom:12px}.chrome-safari-top-tabstrip{width:100%;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;margin:2px 0;padding:0;border-bottom:none!important}.chrome-tabstrip-container{display:flex;align-items:center;width:100%;max-width:620px;height:40px;position:relative;background:#0e121ebf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:4px;border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 18px #0000004d,inset 0 1px #ffffff0d}.chrome-tab-slider{position:absolute;top:4px;bottom:4px;border-radius:16px;background:linear-gradient(135deg,#8e5bff40,#38bdf840);border:1px solid rgba(142,91,255,.45);box-shadow:0 2px 12px #8e5bff40,inset 0 1px #fff3;transition:left .35s cubic-bezier(.16,1,.3,1),width .35s ease;z-index:1}.chrome-top-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:100%;border-radius:16px;font-family:var(--ui);font-size:14px;font-weight:600;color:var(--ink-secondary);background:transparent!important;border:none!important;box-shadow:none!important;cursor:pointer;transition:color .25s ease;-webkit-user-select:none;user-select:none;position:relative;z-index:2}.chrome-top-tab:hover{color:#fff}.chrome-top-tab.active{color:#fff;font-weight:700}.chrome-tab-icon{color:#ffffff73;transition:color .25s ease,transform .25s ease}.chrome-top-tab:hover .chrome-tab-icon{color:#fffc;transform:scale(1.1)}.chrome-top-tab.active .chrome-tab-icon{color:#38bdf8;filter:drop-shadow(0 0 6px rgba(56,189,248,.6));transform:scale(1.1)}.unified-voice-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:17px;font-family:var(--ui);font-size:11px;font-weight:700;cursor:pointer;border:1px solid rgba(142,91,255,.22);background:#121626bf;color:var(--ink-secondary);box-shadow:none!important;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.unified-voice-pill.female{background:#ff3a9e1a;border-color:#ff3a9e59;color:#ff70b8}.unified-voice-pill.male{background:#38bdf81a;border-color:#38bdf859;color:#38bdf8}.unified-voice-pill.off{background:#121626bf;border-color:#ffffff1f;color:var(--ink-muted)}.unified-voice-pill.disabled{opacity:.4;cursor:not-allowed}.unified-voice-pill:hover:not(.disabled){background:#ffffff14;box-shadow:none!important}.unified-full-browser-window{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);width:100%;flex:1;min-height:0}.full-width-tabbar{width:100%;border-bottom:1px solid var(--border-glass-strong);background:#06080fe6}.topbar-right-stage-badge{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto;padding-left:12px}.stage-title-text{font-family:var(--mono);font-size:13px;font-weight:800;color:var(--ink)}.unified-window-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:0;flex:1;min-height:0;position:relative}.unified-window-body .panel-editor{display:flex;flex-direction:column;height:100%;justify-content:space-between;border-right:1px solid var(--border-glass-strong);border-radius:0;border-top:none;border-bottom:none;border-left:none;box-shadow:none}.unified-window-body .panel-visualizer{display:flex;flex-direction:column;height:100%;justify-content:space-between;border-radius:0;border:none;box-shadow:none}.editor-subhead-bar{display:flex;align-items:center;gap:8px;height:36px;padding:0 16px;background:#ffffff05;border-bottom:1px solid var(--border-glass)}.editor-label-title{font-family:var(--mono);font-size:12.5px;font-weight:800;color:var(--ink)}.chrome-tab-header{display:flex;align-items:center;justify-content:space-between;height:44px;padding:4px 12px 0;background:#080a12d9;border-bottom:1px solid var(--border-glass-strong);scrollbar-width:none}.chrome-tab-header::-webkit-scrollbar{display:none}.chrome-tabs-list{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.chrome-tabs-list::-webkit-scrollbar{display:none}.chrome-tab-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:12px}.chrome-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:8px 8px 0 0;background:#ffffff08;border:1px solid transparent;border-bottom:none;font-family:var(--ui);font-size:12px;font-weight:600;color:var(--ink-muted);cursor:pointer;white-space:nowrap;transition:all .2s ease;position:relative}.chrome-tab:hover{background:#ffffff14;color:var(--ink)}.chrome-tab.active{background:var(--panel-bg);border-color:var(--border-glass-strong);color:var(--ink);font-weight:700;box-shadow:0 -2px 10px #0003}.chrome-tab.active:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#8e5bff,#38bdf8);border-radius:8px 8px 0 0}.chrome-tab.right-stage-tab{margin-left:auto;flex-shrink:0;border-radius:8px 8px 0 0;background:var(--panel-bg);border:1px solid var(--border-glass-strong);border-bottom:none;color:var(--ink);font-weight:700;box-shadow:0 -2px 10px #0003;display:inline-flex;align-items:center;gap:8px;padding:7px 14px}.chrome-tab.right-stage-tab:before{background:linear-gradient(90deg,#10b981,#38bdf8)}.chrome-tab-icon{color:var(--secondary);display:flex;align-items:center}.chrome-stage-header{display:flex;align-items:center;justify-content:space-between;height:44px;padding:4px 16px 0;background:#080a12d9;border-bottom:1px solid var(--border-glass-strong)}.panel-subhead{display:flex;align-items:center;gap:10px;height:36px;padding:0 16px;background:var(--panel-bg);border-bottom:1px solid var(--border-glass)}.panel-subhead h2{margin:0;font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--ink)}.viz-preset-chips{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:2px 0}.viz-preset-label{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;margin-right:4px;white-space:nowrap}.viz-preset-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;background:#ffffff0a;border:1px solid var(--border-glass);font-family:var(--ui);font-size:12px;font-weight:700;color:var(--ink-muted);cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.16,1,.3,1)}.viz-preset-chip:hover{background:#8e5bff1f;border-color:#8e5bff66;color:var(--ink);transform:translateY(-1px)}.viz-preset-chip.active{background:linear-gradient(135deg,#8e5bff40,#38bdf840);border-color:var(--accent);color:#38bdf8;box-shadow:0 2px 10px #38bdf833}.viz-top-right-group{display:flex;align-items:center;gap:10px}.viz-engine-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#34d399;font-family:var(--mono);font-size:11px;font-weight:700;white-space:nowrap}.viz-engine-tag .pulse-dot{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399;animation:pulseDot 1.5s infinite}@keyframes pulseDot{0%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}to{opacity:.4;transform:scale(.9)}}.viz-run-top-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;font-family:var(--ui);font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #10b9814d;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}.viz-run-top-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98180;background:linear-gradient(135deg,#34d399,#10b981)}.gamify-symbolic{display:inline-flex;align-items:center;gap:8px;padding:4px 11px;border-radius:var(--radius-pill);background:#ffffff0a;border:1px solid var(--border-glass-strong);font-family:var(--mono);font-size:11.5px;font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1)}.gamify-symbolic:hover{background:#ffffff14;border-color:var(--secondary);transform:translateY(-1px)}.gamify-stat{display:inline-flex;align-items:center;gap:4px}.gamify-stat.streak{color:#ff9f43}.flame-icon{fill:#ff9f43;filter:drop-shadow(0 0 6px rgba(255,159,67,.6))}.gamify-stat.xp{color:#ffc857}.zap-icon{fill:#ffc857;filter:drop-shadow(0 0 6px rgba(255,200,87,.6))}.stat-divider{width:1px;height:12px;background:var(--border-glass-strong);opacity:.6}.mode-toggle-pills{display:inline-flex;align-items:center;gap:6px;padding:4px;background:#0d111cb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:30px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0000004d,inset 0 1px 1px #ffffff0d;position:relative}.mode-pill{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:22px;font-family:var(--ui);font-size:13.5px;font-weight:800;color:var(--ink-secondary);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.mode-pill-active-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;background:linear-gradient(135deg,#8e5bff,#6366f1);box-shadow:0 4px 18px #8e5bff80;z-index:0}.mode-pill-active-bg.python{background:linear-gradient(135deg,#0ea5e9,#10b981);box-shadow:0 4px 18px #0ea5e980}.mode-pill.active{color:#fff!important}.mode-pill-icon,.mode-pill-text{position:relative;z-index:2}.mode-pill .mode-pill-icon{flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s ease}.mode-pill:hover{color:var(--ink);background:#ffffff0f}.mode-pill:hover .mode-pill-icon{transform:scale(1.15) rotate(-4deg)}.mode-pill.learn-mode.active{background:linear-gradient(135deg,#8e5bff,#6366f1);color:#fff;border-color:#fff3;box-shadow:0 4px 18px #8e5bff73,inset 0 1px 1px #ffffff4d;animation:pillPulseViolet 3s ease-in-out infinite alternate}.mode-pill.learn-mode.active .mode-pill-icon{color:#ffe57f;filter:drop-shadow(0 0 6px rgba(255,229,127,.8));animation:lightningFloat 2s ease-in-out infinite alternate}.mode-pill.python-mode.active{background:linear-gradient(135deg,#0ea5e9,#10b981);color:#fff;border-color:#fff3;box-shadow:0 4px 18px #0ea5e973,inset 0 1px 1px #ffffff4d;animation:pillPulseCyan 3s ease-in-out infinite alternate}.mode-pill.python-mode.active .mode-pill-icon{color:#a7f3d0;filter:drop-shadow(0 0 6px rgba(167,243,208,.8));animation:pythonSpinPulse 3s ease-in-out infinite alternate}.mode-active-dot{width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;margin-left:2px;animation:activeDotBlink 1.5s ease-in-out infinite alternate}@keyframes lightningFloat{0%{transform:translateY(0) scale(1)}to{transform:translateY(-1.5px) scale(1.1)}}@keyframes pythonSpinPulse{0%{transform:rotate(0) scale(1)}50%{transform:rotate(8deg) scale(1.1)}to{transform:rotate(0) scale(1)}}@keyframes pillPulseViolet{0%{box-shadow:0 4px 18px #8e5bff73}to{box-shadow:0 6px 24px #8e5bffb3}}@keyframes pillPulseCyan{0%{box-shadow:0 4px 18px #0ea5e973}to{box-shadow:0 6px 24px #10b981b3}}@keyframes activeDotBlink{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#ffffff0a;border:1px solid var(--border-glass);color:var(--ink-secondary);transition:all .2s ease}.icon-btn:hover{background:#ffffff1a;color:var(--ink);border-color:var(--border-glass-strong);transform:translateY(-1px)}.cmd-btn{width:auto;padding:0 10px;gap:6px;background:#8e5bff1f;border-color:#8e5bff4d;color:var(--secondary)}.cmd-text{font-family:var(--mono);font-size:10.5px;font-weight:800}.examples{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:8px 12px;margin-bottom:12px;background:#0e122099;border:1px solid var(--border-glass);border-radius:14px;scrollbar-width:none}.examples::-webkit-scrollbar{display:none}.examples-label{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;margin-right:4px}.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:10px;background:#0c0f1ab3;border:1px solid var(--border-glass);color:var(--ink-secondary);font-size:12.5px;font-weight:600;white-space:nowrap;flex-shrink:0;position:relative;overflow:hidden;transition:all .2s cubic-bezier(.16,1,.3,1)}.example-tag-badge{font-family:var(--mono);font-size:9.5px;font-weight:800;padding:2.5px 7px;border-radius:6px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.15);z-index:2;transition:all .2s ease}.chip.active .example-tag-badge,.chip.playing-animated .example-tag-badge{background:#0a0e1a73;color:#38bdf8;border-color:#38bdf899;box-shadow:0 0 8px #38bdf84d}.chip span{z-index:2}.chip:hover{background:var(--panel-bg);color:var(--ink);border-color:var(--secondary);transform:translateY(-1px)}.chip.active{background:linear-gradient(135deg,#7b3f9873,#8e5bff73);border-color:var(--secondary);color:#fff;box-shadow:0 0 15px #8e5bff59}.chip.playing-animated{background:linear-gradient(90deg,#7b3f98d9,#8e5bfff2,#38bdf8d9,#7b3f98d9);background-size:250% 100%;animation:moveBackground 4s linear infinite,chipPulse 1.4s ease-in-out infinite alternate;border-color:#38bdf8;box-shadow:0 0 20px #38bdf880,0 0 10px #8e5bff99;color:#fff}.chip.playing-animated:after{content:"";position:absolute;top:0;left:-120%;width:65%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),rgba(255,255,255,.45),rgba(56,189,248,.5),rgba(255,255,255,.15),transparent);transform:skew(-20deg);animation:moveBeam 3s linear infinite;pointer-events:none;z-index:1}.example-tag-badge.pulse{animation:badgeGlow .8s ease-in-out infinite alternate}@keyframes moveBackground{0%{background-position:0% 0%}to{background-position:250% 0%}}@keyframes moveBeam{0%{left:-120%}to{left:220%}}@keyframes chipPulse{0%{transform:scale(1)}to{transform:scale(1.04)}}@keyframes badgeGlow{0%{background:#48d6ff4d;color:#fff}to{background:#8e5bffcc;color:#fff}}.live-playing-indicator{display:inline-flex;align-items:flex-end;gap:2.5px;height:12px;margin-left:4px}.live-playing-indicator .bar{width:2.5px;background:#fff;border-radius:2px;animation:eqBar .6s ease-in-out infinite alternate}.live-playing-indicator .bar.b1{height:35%;animation-delay:0s}.live-playing-indicator .bar.b2{height:100%;animation-delay:.15s}.live-playing-indicator .bar.b3{height:65%;animation-delay:.3s}@keyframes eqBar{0%{height:25%}to{height:100%}}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;flex:1;min-height:0}.panel{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card)}.panel-head{display:flex;align-items:center;gap:10px;height:44px;padding:0 18px;background:var(--panel-bg);border-bottom:1px solid var(--border-glass)}.panel-head h2{margin:0;font-family:var(--mono);font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:.02em}.panel-head h2:before{content:""}.panel-head-title-group{display:flex;align-items:center;gap:8px}.panel-head-icon{color:var(--secondary);flex-shrink:0}.clean-live-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:700;color:#34d399;padding:3px 10px;border-radius:20px;background:#34d3991f;border:1px solid rgba(52,211,153,.25);margin-left:8px}.lang-text-clean{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--ink-muted);margin-left:8px}.grade-tag{font-size:10.5px;font-weight:800;padding:2.5px 7px;border-radius:6px;background:#ffffff0d;border:1px solid var(--border-glass);color:var(--ink-secondary);font-family:var(--mono)}.live-badge{color:#ff4757;border-color:#ff475766;background:#ff47571a;animation:livePulse 2s ease-in-out infinite}@keyframes livePulse{0%{box-shadow:0 0 #ff475766}70%{box-shadow:0 0 0 4px #ff475700}to{box-shadow:0 0 #ff475700}}.lang-tag{font-size:10px;font-weight:800;padding:2.5px 7px;border-radius:6px;background:#8e5bff24;border:1px solid rgba(142,91,255,.3);color:var(--secondary);font-family:var(--mono)}.blocks-toggle-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent!important;border:none!important;color:var(--ink-secondary);transition:all .2s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}.blocks-toggle-btn:hover{background:transparent!important;color:#fff;transform:scale(1.12)}.blocks-toggle-btn:active{transform:scale(.92)}.panel-head-spacer{flex:1}.editor{display:flex;flex:1;background:var(--code-bg);overflow:hidden;position:relative}.vscode-editor{background:var(--code-bg)}.gutter{width:44px;padding-top:14px;padding-bottom:14px;background:var(--code-bg);border-right:1px solid var(--border-glass);-webkit-user-select:none;user-select:none;font-family:var(--mono);font-size:13.5px;color:var(--ink-muted);text-align:right;padding-right:10px;overflow:hidden}.gutter-num{height:24px;line-height:24px;font-size:13.5px;box-sizing:border-box}.gutter-num.active{color:#c6c6c6;font-weight:700;text-shadow:0 0 8px rgba(72,214,255,.4)}.code-area{position:relative;flex:1;overflow:hidden}.active-strip{position:absolute;left:0;right:0;height:24px;background:#ffffff0a;border-left:3px solid #007ACC;pointer-events:none}.hl-layer,.code-input{margin:0;padding:14px 18px;font-family:var(--mono);font-size:13.5px;line-height:24px;-moz-tab-size:4;tab-size:4;letter-spacing:0px;word-spacing:0px;box-sizing:border-box;-webkit-font-smoothing:antialiased}.hl-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--code-ink);white-space:pre;overflow:auto;scrollbar-width:none}.hl-layer::-webkit-scrollbar{display:none}.code-input{width:100%;height:100%;border:none;background:transparent;color:transparent;caret-color:#569cd6;resize:none;outline:none;overflow:auto}.t-kw{color:#c778dd;font-weight:700}.t-bi{color:#61afef;font-weight:700}.t-fn{color:#48d6ff;font-weight:700}.t-str{color:#98c379}.t-num{color:#d19a66;font-weight:700}.t-com{color:#5c6370;font-style:italic}.t-op{color:#abb2bf}.t-var{color:#e5c07b}.block-palette{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--panel-bg);border-top:1px solid var(--border-glass)}.block-header{display:flex;justify-content:space-between;align-items:center}.block-title{font-family:var(--mono);font-size:12.5px;font-weight:800;color:var(--ink)}.block-sub{font-size:11px;color:var(--ink-muted)}.block-categories{display:flex;gap:5px;overflow-x:auto}.block-cat-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;background:#ffffff0a;border:1px solid var(--border-glass);color:var(--ink-secondary);white-space:nowrap;transition:all .2s ease}.block-cat-btn.active,.block-cat-btn:hover{background:var(--card-bg);color:var(--ink);border-color:var(--secondary)}.block-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:135px;overflow-y:auto;padding-right:4px;padding-bottom:4px;scroll-behavior:smooth}.block-chips::-webkit-scrollbar{width:5px}.block-chips::-webkit-scrollbar-track{background:#ffffff08;border-radius:4px}.block-chips::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a855f780,#38bdf880);border-radius:4px}.block-chips::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a855f7cc,#38bdf8cc)}.block-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-family:var(--mono);font-size:11.5px;font-weight:700;background:#ffffff0a;border:1px solid var(--border-glass-strong);color:var(--ink);transition:all .2s cubic-bezier(.16,1,.3,1)}.block-chip:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 4px 12px #48d6ff33}.block-tag{font-size:9px;font-family:var(--mono);font-weight:800;padding:1.5px 4px;border-radius:4px;background:#ffffff14;color:var(--accent)}.block-add{color:var(--accent);font-weight:800}.error-banner{display:flex;align-items:center;gap:10px;margin:8px 12px;padding:8px 12px;border-radius:10px;background:#ff5c7a1f;border:1px solid var(--danger);color:var(--danger);font-family:var(--mono);font-size:12px;font-weight:700}.error-tag{background:var(--danger);color:#fff;font-size:9.5px;padding:1.5px 5px;border-radius:4px}.error-text{flex:1}.error-fix-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#ff5c7a33;border:1px solid var(--danger);color:var(--danger);transition:all .2s ease;cursor:pointer}.error-fix-btn:hover{background:var(--danger);color:#fff;transform:scale(1.08);box-shadow:0 0 12px #ff5c7a80}.toolbar{display:flex;gap:10px;padding:12px 18px;background:var(--panel-bg);border-top:1px solid var(--border-glass)}.btn{padding:8px 18px;border-radius:10px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:7px;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:var(--glow-secondary)}.btn.primary:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 0 30px #8e5bffbf}.btn.ghost{background:#ffffff0a;border:1px solid var(--border-glass);color:var(--ink-secondary)}.btn.ghost:hover{background:#ffffff14;color:var(--ink)}.stage{display:flex;flex-direction:column;gap:8px;padding:8px 12px;flex:1;overflow-y:auto}.narration{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:8px 14px;min-height:38px;border-radius:10px;background:#101424f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(142,91,255,.4);box-shadow:0 4px 16px #00000059;margin-bottom:2px}.step-tag-pill{font-family:var(--mono);font-size:10.5px;font-weight:800;padding:3px 7px;border-radius:5px;background:var(--secondary);color:#fff;box-shadow:0 0 10px #8e5bff80}.narration .text{font-family:var(--ui);font-size:13.5px;font-weight:700;color:var(--ink);flex:1}.line-badge{font-family:var(--mono);font-size:10.5px;font-weight:800;padding:3px 7px;border-radius:5px;background:#ffffff1a;color:var(--accent)}.voice-guide-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:#8e5bff29;border:1.5px solid rgba(142,91,255,.4);color:#a78bfa;font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #8e5bff26;margin-left:6px}.voice-guide-btn:hover{background:#8e5bff47;border-color:#8e5bff;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #8e5bff59}.voice-guide-btn:active{transform:translateY(0)}.voice-speed-tag{font-size:9.5px;font-weight:900;padding:1.5px 5.5px;border-radius:6px;background:#38bdf833;color:#38bdf8;border:1px solid rgba(56,189,248,.35);letter-spacing:.02em}.voice-guide-btn.speaking{background:linear-gradient(135deg,#8e5bff66,#38bdf866);border-color:#38bdf8;color:#fff;box-shadow:0 0 16px #38bdf880;animation:voicePulse 1.2s ease-in-out infinite alternate}.voice-guide-btn.speaking svg{animation:wavePulse .6s ease-in-out infinite alternate}@keyframes voicePulse{0%{box-shadow:0 0 8px #8e5bff66}to{box-shadow:0 0 18px #38bdf8b3}}@keyframes wavePulse{0%{transform:scale(.95)}to{transform:scale(1.15)}}.stage-section-title{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;font-weight:800;color:var(--ink);letter-spacing:.02em}.title-sub{font-size:11px;font-weight:600;color:var(--ink-muted)}.vars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}.var-card{padding:6px 10px;border-radius:10px;background:var(--panel-bg);border:1px solid var(--border-glass-strong);box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:2px}.var-name{font-family:var(--mono);font-size:12.5px;font-weight:800;color:var(--ink)}.type-badge{font-family:var(--mono);font-size:9.5px;font-weight:800;padding:1.5px 5px;border-radius:4px;text-transform:uppercase}.type-int,.type-float{background:#ffc85724;color:var(--warning)}.type-str{background:#3ddc8424;color:var(--success)}.type-bool{background:#48d6ff24;color:var(--accent)}.var-value{font-family:var(--mono);font-size:17px;font-weight:800;color:var(--accent)}.var-value.text{color:var(--success)}.empty-hint-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;background:#8e5bff08;border:1px dashed rgba(142,91,255,.25);border-radius:14px}.empty-hint-title{font-weight:700;font-size:13.5px;color:var(--ink)}.empty-hint-sub{font-size:11.5px;color:var(--ink-muted);max-width:300px;margin-top:4px}.console-window{display:flex;flex-direction:column;background:var(--code-bg);border:1px solid var(--border-glass-strong);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 25px #000000b3}.console-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#05070dd9;border-bottom:1px solid var(--border-glass)}.dot{width:9px;height:9px;border-radius:50%}.dot.r{background:var(--danger)}.dot.y{background:var(--warning)}.dot.g{background:var(--success)}.console-title{font-family:var(--mono);font-size:10.5px;font-weight:800;color:var(--ink-secondary);letter-spacing:.05em}.console-badge{font-family:var(--mono);font-size:9.5px;color:var(--ink-muted);margin-left:auto}.console-copy-btn{font-family:var(--mono);font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:#ffffff0f;color:var(--accent);border:1px solid var(--border-glass)}.console-body{padding:6px 12px;min-height:50px;max-height:95px;overflow-y:auto;font-family:var(--mono);font-size:12px;line-height:1.5}.console-empty{color:var(--ink-muted);font-size:11.5px;padding:10px 0}.console-line{display:flex;gap:8px}.console-text{color:var(--code-ink)}.youtube-player-bar{display:flex;flex-direction:column;width:100%;background:#0a0d16f2;border-top:1px solid var(--border-glass-strong);position:relative;margin-top:auto;border-radius:0 0 16px 16px}.youtube-scrubber-track-container{width:100%;height:12px;position:relative;cursor:pointer;display:flex;align-items:center;margin-top:-6px;z-index:10}.youtube-scrubber-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;outline:none;background:transparent;cursor:pointer;margin:0;padding:0;transition:height .15s ease}.youtube-scrubber-track-container:hover .youtube-scrubber-input{height:6px}.youtube-scrubber-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#38bdf8;border:2px solid #FFFFFF;box-shadow:0 0 12px #38bdf8e6;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1)}.youtube-scrubber-input::-webkit-slider-thumb:hover{transform:scale(1.3)}.youtube-scrubber-input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#38bdf8;border:2px solid #FFFFFF;box-shadow:0 0 12px #38bdf8e6;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1)}.youtube-controls-row{display:flex;align-items:center;justify-content:space-between;height:42px;padding:0 14px}.youtube-left-controls{display:flex;align-items:center;gap:8px}.youtube-play-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 10px #8e5bff66}.youtube-play-btn:hover{transform:scale(1.1);box-shadow:0 4px 16px #38bdf899}.youtube-play-btn:active{transform:scale(.92)}.youtube-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:transparent!important;border:none!important;color:#ffffffbf;cursor:pointer;transition:all .2s ease}.youtube-icon-btn:hover:not(:disabled){color:#fff;transform:scale(1.12)}.youtube-icon-btn:disabled{opacity:.3;cursor:not-allowed}.youtube-step-counter{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--ink-secondary);margin-left:6px;-webkit-user-select:none;user-select:none}.youtube-right-controls{display:flex;align-items:center;gap:8px}.play-hero-btn:active{transform:scale(.92)!important}.speed-segmented{display:flex;align-items:center;gap:10px}.player-voice-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:20px;font-family:var(--ui);font-size:12.5px;font-weight:700;cursor:pointer;border:1px solid var(--border-glass-strong);transition:all .2s cubic-bezier(.16,1,.3,1)}.player-voice-btn.active{background:linear-gradient(135deg,#7c4dff40,#6366f140);border-color:#7c4dff;color:#c4b5fd;box-shadow:0 0 14px #7c4dff66}.player-voice-btn.off{background:#ffffff0a;border-color:var(--border-glass)}.player-voice-btn.disabled{background:#ffffff05;border-color:#ffffff0d;color:#ffffff40;cursor:not-allowed;opacity:.6}.player-voice-btn:hover:not(.disabled){transform:translateY(-1px);border-color:#7c4dff}.player-gender-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-family:var(--ui);font-size:12.5px;font-weight:700}.py-results-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:280px}.empty-hero-minimal{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;-webkit-user-select:none;user-select:none}.minimal-hint-text{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink-secondary);display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em;flex-wrap:wrap;justify-content:center}.kbd-glow{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:10px;font-family:var(--mono);font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,#8e5bff4d,#38bdf84d);border:1px solid rgba(56,189,248,.5);box-shadow:0 0 16px #38bdf866,inset 0 1px #ffffff4d;text-shadow:0 0 8px rgba(255,255,255,.6);animation:kbdPulseGlow 2.5s ease-in-out infinite alternate}.kbd-glow.learn{background:linear-gradient(135deg,#8e5bff59,#38bdf859);border-color:#38bdf899;box-shadow:0 0 18px #38bdf873,inset 0 1px #ffffff4d}.kbd-glow.python{background:linear-gradient(135deg,#38bdf859,#8e5bff59);border-color:#8e5bff99;box-shadow:0 0 18px #8e5bff73,inset 0 1px #ffffff4d}@keyframes kbdPulseGlow{0%{transform:scale(1);box-shadow:0 0 12px #38bdf859}to{transform:scale(1.04);box-shadow:0 0 24px #38bdf8b3,0 0 36px #8e5bff80}}.player-gender-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-family:var(--ui);font-size:12.5px;font-weight:700;cursor:pointer;border:1px solid rgba(255,58,158,.3);background:#ff3a9e24;color:#ff70b8;transition:all .2s ease}.player-gender-pill:hover{transform:translateY(-1px);background:#ff3a9e40;box-shadow:0 0 12px #ff3a9e66}.speed-label{font-family:var(--mono);font-size:12px;color:var(--ink-muted);font-weight:700}.speed-pills{display:inline-flex;align-items:center;height:34px;background:#121626bf;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2px;border-radius:17px;border:1px solid rgba(142,91,255,.22);gap:2px}.speed-pill{height:28px;padding:0 10px;border-radius:14px;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-muted);background:transparent;border:none;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.speed-pill:hover{color:var(--ink);background:#ffffff14}.speed-pill.active{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-weight:800;box-shadow:0 2px 8px #8e5bff59}.cmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070dd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:1000}.cmd-modal{width:100%;max-width:580px;background:var(--card-bg);border:1px solid var(--secondary);border-radius:18px;box-shadow:var(--glow-secondary),0 25px 50px #000000e6;overflow:hidden;display:flex;flex-direction:column}.cmd-input-wrapper{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border-glass)}.cmd-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--ui);font-size:15px;font-weight:600;color:var(--ink)}.cmd-list{max-height:340px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.cmd-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--ink);transition:all .15s ease;text-align:left}.cmd-item:hover{background:linear-gradient(90deg,#8e5bff33,#48d6ff1a);color:#fff}.cmd-item-title{flex:1}.cmd-item-cat{font-family:var(--mono);font-size:10.5px;color:var(--ink-muted)}.cmd-shortcut{font-family:var(--mono);font-size:10.5px;padding:2px 5px;border-radius:4px;background:#ffffff14;color:var(--accent)}.cmd-empty{padding:20px;text-align:center;color:var(--ink-muted);font-family:var(--mono)}.toast{position:fixed;bottom:84px;left:50%;transform:translate(-50%);background:var(--card-bg);border:1px solid var(--accent);color:var(--ink);padding:10px 18px;border-radius:var(--radius-pill);font-weight:700;font-size:12.5px;font-family:var(--mono);box-shadow:var(--glow-accent);z-index:90}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 18px;background:var(--card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass-strong);border-radius:12px;font-family:var(--mono);font-size:11px;color:var(--ink-secondary);box-shadow:var(--shadow-float)}.footer-left{display:flex;align-items:center;gap:10px}.footer-brand{font-weight:800;color:var(--ink)}.footer-ver{font-size:9.5px;padding:1.5px 5px;border-radius:4px;background:#ffffff0d;color:var(--ink-muted)}.footer-status{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--success)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:var(--glow-success)}.footer-center{color:var(--ink-muted);font-weight:600}.footer-right{display:flex;align-items:center;gap:10px}.footer-kbd{display:flex;align-items:center;gap:4px;color:var(--ink-muted)}.footer-kbd kbd{font-family:var(--mono);font-size:9.5px;font-weight:800;padding:1.5px 4px;border-radius:4px;background:#ffffff14;border:1px solid var(--border-glass);color:var(--accent)}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:#0c0f1af0;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-top:1px solid var(--border-glass-strong);z-index:999;justify-content:space-around;align-items:center;padding:0 10px;box-shadow:0 -10px 30px #000000b3}.mobile-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;color:var(--ink-muted);font-family:var(--mono);font-size:11px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.mobile-nav-btn.active{color:var(--accent)}.mobile-nav-btn.active:before{content:"";position:absolute;top:0;width:32px;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:0 0 4px 4px;box-shadow:var(--glow-accent)}.mobile-nav-btn.has-badge:after{content:"";position:absolute;top:10px;right:25%;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-accent)}@media (max-width: 1200px){.app{max-width:100%}}@media (max-width: 940px){.app{height:auto;min-height:100vh;padding:10px 10px 72px}.masthead-floating{padding:8px 12px}.workspace{grid-template-columns:1fr}.panel-editor,.panel-visualizer,.mode-examples{display:none}.panel-editor.mobile-show,.panel-visualizer.mobile-show,.mode-examples.mobile-show{display:flex;flex-direction:column}.mobile-nav{display:flex}.gamify-symbolic,.brand-subtitle,.footer-center,.footer-right{display:none}.app-footer{border-radius:12px;padding:8px 12px}}@media (max-width: 480px){.icon-btn.cmd-btn{padding:0 8px}.cmd-text{display:none}.mode-pill{padding:4px 10px;font-size:11.5px}}.python-symbol-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border-glass-strong);transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 0 10px #38bdf826}.python-symbol-badge:hover{background:#ffffff17;border-color:var(--accent);transform:scale(1.08) rotate(5deg);box-shadow:0 0 16px #38bdf866}.py-results-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:240px;padding:20px}.empty-hero-minimal{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.minimal-play-icon{width:54px;height:54px;border-radius:50%;background:#8e5bff26;border:1.5px solid rgba(72,214,255,.5);display:flex;align-items:center;justify-content:center;color:#48d6ff;box-shadow:0 0 20px #48d6ff40}.minimal-hint-text{font-family:var(--mono);font-size:14px;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px}.kbd-glow{padding:3px 8px;border-radius:6px;background:linear-gradient(135deg,#8e5bff4d,#48d6ff4d);border:1px solid var(--accent);color:#fff;font-weight:800;box-shadow:0 0 10px #48d6ff4d}.stage{display:flex;flex-direction:column;gap:14px;padding:16px;flex:1;overflow-y:auto;min-height:0}.narration{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#0e1220b3;border:1px solid rgba(142,91,255,.25);border-radius:12px;box-shadow:0 4px 20px #0000004d;transition:border-color .25s ease}.step-tag-pill{font-family:var(--mono);font-size:10px;font-weight:800;padding:3.5px 8px;border-radius:6px;background:var(--secondary);color:#fff;letter-spacing:.05em;transition:all .25s ease}.step-tag-pill.kind-check{background:#f59e0b;color:#000;box-shadow:0 0 10px #f59e0b66}.step-tag-pill.kind-assign{background:#10b981;color:#000;box-shadow:0 0 10px #10b98166}.step-tag-pill.kind-print{background:#38bdf8;color:#000;box-shadow:0 0 10px #38bdf866}.step-tag-pill.kind-done{background:#ec4899;color:#fff;box-shadow:0 0 10px #ec489966}.narration .text{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--ink);flex:1}.line-badge{font-family:var(--mono);font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;background:#ffffff0f;border:1px solid var(--border-glass);color:var(--accent)}.callstack{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:#0c0f1aa6;border-radius:12px;border:1px solid var(--border-glass-strong);box-shadow:inset 0 1px 3px #0003}.callstack-label{font-family:var(--mono);font-size:10.5px;font-weight:800;text-transform:uppercase;color:var(--ink-muted);letter-spacing:.06em;margin-right:2px}.callstack-frame{font-family:var(--mono);font-size:12px;font-weight:700;padding:4px 12px;border-radius:8px;background:#ffffff0d;border:1px solid var(--border-glass);color:var(--ink-secondary);transition:all .2s ease}.callstack-frame.current{background:#38bdf82e;border-color:#38bdf8;color:#fff;box-shadow:0 0 12px #38bdf866}.stage-section{display:flex;flex-direction:column;gap:8px}.stage-section-title{display:flex;align-items:center;gap:6px;font-family:var(--mono)}.stage-section-title .title-text{font-size:12px;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.05em}.stage-section-title .title-sub{font-size:11px;color:var(--ink-muted)}.array-card{display:flex;flex-direction:column;gap:6px;padding:10px 14px;background:#0e1220bf;border:1px solid rgba(142,91,255,.22);border-radius:14px;box-shadow:0 6px 20px #00000059}.array-card-head{display:flex;justify-content:space-between;align-items:center}.var-name{font-family:var(--mono);font-size:13px;font-weight:900;color:var(--secondary);letter-spacing:-.01em}.array-count-badge{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;background:#ffffff0d;border:1px solid var(--border-glass);color:var(--ink-muted)}.bars{display:flex;align-items:flex-end;gap:8px;height:190px;padding:20px 12px 14px;background:#080a12d9;border-radius:12px;border:1px solid rgba(255,255,255,.05);overflow-x:auto;position:relative}.bar-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:32px;height:100%;justify-content:flex-end;gap:6px;position:relative}.bar-value-pill{font-family:var(--mono);font-size:11px;font-weight:900;padding:2px 7px;border-radius:6px;background:#ffffff12;color:var(--ink);border:1px solid rgba(255,255,255,.1);transition:all .25s ease}.bar-value-pill.write{background:#10b98140;color:#10b981;border-color:#10b981;box-shadow:0 0 12px #10b98199}.bar-value-pill.compare{background:#f59e0b40;color:#f59e0b;border-color:#f59e0b;box-shadow:0 0 12px #f59e0b99}.bar-value-pill.pointed{background:#38bdf840;color:#38bdf8;border-color:#38bdf8;box-shadow:0 0 12px #38bdf899}.bar-track{width:100%;max-width:36px;flex:1;display:flex;align-items:flex-end;background:#ffffff08;border-radius:8px;overflow:hidden;position:relative;padding:3px;border:1px solid transparent;transition:all .25s ease}.bar-track.write{border-color:#10b98180;box-shadow:0 0 16px #10b98166}.bar-track.compare{border-color:#f59e0b80;box-shadow:0 0 16px #f59e0b66}.bar-track.pointed{border-color:#38bdf880;box-shadow:0 0 16px #38bdf866}.bar{width:100%;border-radius:6px;position:relative;overflow:hidden;transition:height .3s cubic-bezier(.175,.885,.32,1.275)}.bar-glass-sheen{position:absolute;top:0;left:0;right:0;height:35%;background:linear-gradient(180deg,#ffffff59,#ffffff0d);border-radius:6px 6px 0 0;pointer-events:none}.bar-action-badge{position:absolute;top:-24px;font-family:var(--mono);font-size:8.5px;font-weight:900;padding:2px 6px;border-radius:4px;letter-spacing:.05em;animation:badgePop .3s cubic-bezier(.175,.885,.32,1.275);z-index:5}.write-badge{background:#10b981;color:#000;box-shadow:0 0 10px #10b981cc}.compare-badge{background:#f59e0b;color:#000;box-shadow:0 0 10px #f59e0bcc}@keyframes badgePop{0%{transform:scale(0) translateY(6px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.bar-index-badge{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink-muted)}.ptr-stack{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:2px;min-height:18px}.ptr-badge{display:inline-flex;align-items:center;gap:2px;padding:1.5px 6px;border-radius:5px;font-size:9.5px;font-weight:900;font-family:var(--mono);text-transform:uppercase;color:#fff;box-shadow:0 2px 8px #0006}.ptr-badge.c0{background:linear-gradient(135deg,#ec4899,#db2777)}.ptr-badge.c1{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#000}.ptr-badge.c2{background:linear-gradient(135deg,#f59e0b,#d97706);color:#000}.ptr-badge.c3{background:linear-gradient(135deg,#10b981,#059669)}.ptr-arrow-anim{font-size:8px;animation:arrowBounce 1.2s ease-in-out infinite alternate}@keyframes arrowBounce{0%{transform:translateY(0)}to{transform:translateY(-2px)}}.chip-list{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.chip-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.value-chip{padding:6px 12px;border-radius:8px;background:#ffffff0d;border:1px solid var(--border-glass-strong);font-family:var(--mono);font-size:12px;font-weight:700;color:var(--ink)}.value-chip.write{background:#10b98133;border-color:#10b981;color:#10b981}.value-chip.compare{background:#f59e0b33;border-color:#f59e0b;color:#f59e0b}.value-chip.read{background:#38bdf833;border-color:#38bdf8;color:#38bdf8}.vars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.var-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#11152499;border:1px solid var(--border-glass-strong);border-radius:10px}.var-card-header{display:flex;justify-content:space-between;align-items:center}.type-badge{font-family:var(--mono);font-size:9.5px;font-weight:800;padding:1.5px 5px;border-radius:4px}.type-int,.type-float{background:#38bdf826;color:#38bdf8}.type-str{background:#10b98126;color:#10b981}.type-bool{background:#f59e0b26;color:#f59e0b}.type-value{background:#a855f726;color:#a855f7}.var-value{font-family:var(--mono);font-size:16px;font-weight:800;color:var(--ink)}.dict-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#11152499;border:1px solid var(--border-glass-strong);border-radius:12px}.dict-head{display:flex;justify-content:space-between;align-items:center}.dict-count{font-family:var(--mono);font-size:10.5px;color:var(--ink-muted)}.dict-entries{display:flex;flex-wrap:wrap;gap:8px}.dict-entry{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border-glass);font-family:var(--mono);font-size:12px}.dict-key{font-weight:800;color:#38bdf8}.dict-arrow{opacity:.5}.dict-val{font-weight:800;color:#a855f7}.console-window{display:flex;flex-direction:column;background:#0a0c16;border:1px solid var(--border-glass-strong);border-radius:12px;overflow:hidden}.console-bar{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;background:#ffffff08;border-bottom:1px solid var(--border-glass)}.console-dots{display:flex;gap:5px}.console-dots .dot{width:9px;height:9px;border-radius:50%}.dot.r{background:#ff5f56}.dot.y{background:#ffbd2e}.dot.g{background:#27c93f}.console-title{font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--ink-muted)}.console-badge{font-family:var(--mono);font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:4px;background:#ffffff0d;color:var(--ink-secondary)}.console-copy-btn{margin-left:auto;font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;background:#ffffff0f;border:1px solid var(--border-glass);color:var(--ink-secondary);cursor:pointer;transition:all .2s ease}.console-copy-btn:hover{background:#ffffff1f;color:#fff}.console-body{padding:12px;font-family:var(--mono);font-size:12.5px;max-height:140px;overflow-y:auto}.console-empty{font-size:11.5px;color:var(--ink-muted)}.console-empty code{color:var(--accent);background:#38bdf81a;padding:2px 5px;border-radius:4px}.console-line{display:flex;gap:8px;line-height:1.6}.console-prompt{color:var(--accent);font-weight:800}.console-text{color:var(--ink)}.tree-card{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#0e1220b3;border:1px solid var(--border-glass-strong);border-radius:14px;box-shadow:0 4px 20px #0003;width:100%;box-sizing:border-box}.tree-scroll{overflow-x:auto;overflow-y:visible;padding:6px 4px 10px;-webkit-overflow-scrolling:touch}.tree-edge{stroke:#8e5bff99;stroke-width:2.2}.tree-node rect{fill:#1a1832;stroke:#8e5bff80;stroke-width:1.8;transition:all .25s ease}.tree-node text{font-family:var(--mono);font-size:11.5px;font-weight:700;fill:#fff}.tree-node.active rect{fill:#38bdf859;stroke:#38bdf8;stroke-width:2.2;filter:drop-shadow(0 0 10px rgba(56,189,248,.7))}.tree-node.active text{fill:#fff;font-weight:800}.tree-node.returned rect{fill:#10b98140;stroke:#10b981;stroke-width:2}.tree-node.returned text{fill:#34d399;font-weight:800}:root[data-theme=light] .masthead-floating,:root[data-theme=light] .panel,:root[data-theme=light] .app-footer,:root[data-theme=light] .portal-topbar{background:#fff!important;border-color:#ece4f1!important;box-shadow:0 1px 12px #261b300d!important}:root[data-theme=light] .topbar-streak-pill,:root[data-theme=light] .topbar-icon-btn,:root[data-theme=light] .topbar-right-btn{background:#f3ecf8!important;border-color:#e3d7ec!important;color:#574b63!important}:root[data-theme=light] .topbar-icon-btn:hover{background:#e3d7ec!important;color:#261b30!important}:root[data-theme=light] .chrome-tabstrip-container,:root[data-theme=light] .examples{background:#f8f5ee!important;border-color:#ece4f1!important;box-shadow:0 4px 14px #261b300a!important}:root[data-theme=light] .chrome-top-tab{color:#574b63!important}:root[data-theme=light] .chrome-top-tab.active{color:#fff!important}:root[data-theme=light] .chrome-tab-slider{background:#6f3f87!important;border-color:#55306a!important;box-shadow:0 4px 14px #6f3f8759!important}:root[data-theme=light] .panel-head,:root[data-theme=light] .toolbar{background:#f8f5ee!important;border-color:#ece4f1!important}:root[data-theme=light] .chip{background:#fff!important;color:#261b30!important;border-color:#ece4f1!important}:root[data-theme=light] .chip:hover:not(.active){background:#f3ecf8!important;color:#261b30!important;border-color:#6f3f87!important}:root[data-theme=light] .chip.active{background:#6f3f87!important;color:#fff!important}:root[data-theme=light] .example-tag-badge{background:#f3ecf8!important;color:#6f3f87!important;border-color:#e3d7ec!important}:root[data-theme=light] .chip.active .example-tag-badge,:root[data-theme=light] .chip.playing-animated .example-tag-badge{background:#ffffff40!important;color:#fff!important;border-color:#fff6!important}:root[data-theme=light] .mode-toggle-pills,:root[data-theme=light] .speed-pills{background:#f3ecf8!important;border-color:#e3d7ec!important}:root[data-theme=light] .mode-pill,:root[data-theme=light] .speed-pill{color:#574b63!important}:root[data-theme=light] .mode-pill.active,:root[data-theme=light] .speed-pill.active{background:#6f3f87!important;color:#fff!important;box-shadow:0 4px 14px #6f3f8759!important}:root[data-theme=light] .vscode-editor,:root[data-theme=light] .gutter{background:#fffdf6!important;color:#261b30!important}:root[data-theme=light] .console-window{background:#fff!important;border-color:#ece4f1!important;box-shadow:0 4px 16px #261b300a!important}:root[data-theme=light] .console-bar{background:#f8f5ee!important;border-bottom:1px solid #ECE4F1!important}:root[data-theme=light] .console-body{color:#261b30!important;background:#fff!important}:root[data-theme=light] .console-text{color:#261b30!important}:root[data-theme=light] .bars{background:#f8f5ee!important;border-color:#ece4f1!important}:root[data-theme=light] .array-card,:root[data-theme=light] .dict-card,:root[data-theme=light] .tree-card,:root[data-theme=light] .var-card{background:#fff!important;border-color:#ece4f1!important;box-shadow:0 4px 16px #261b300d!important;color:#261b30!important}:root[data-theme=light] .narration{background:#fff!important;border-color:#e3d7ec!important;box-shadow:0 4px 16px #261b300f!important}:root[data-theme=light] .narration .text{color:#261b30!important}:root[data-theme=light] .minimal-hint-text{color:#574b63!important}:root[data-theme=light] .kbd-glow{background:#f3ecf8!important;border:1.5px solid #D6CCEE!important;color:#6f3f87!important;box-shadow:0 2px 8px #6f3f8726!important;text-shadow:none!important;animation:none!important;font-weight:800!important}:root[data-theme=light] .kbd-glow.learn{background:#f3ecf8!important;border-color:#6f3f87!important;color:#6f3f87!important;box-shadow:0 2px 10px #6f3f872e!important}:root[data-theme=light] .kbd-glow.python{background:#eff6ff!important;border-color:#3b82f6!important;color:#1d4ed8!important;box-shadow:0 2px 10px #1d4ed82e!important}:root[data-theme=light] .youtube-player-bar{background:#fff!important;border-color:#ece4f1!important;box-shadow:0 -4px 20px #261b300f!important}:root[data-theme=light] .player-time-badge,:root[data-theme=light] .player-step-counter{color:#574b63!important}:root[data-theme=light] .callstack{background:#f8f5ee!important}:root[data-theme=light] .callstack-frame{background:#fff!important;color:#261b30!important;border-color:#ece4f1!important}:root[data-theme=light] .bar-value-pill{background:#f3ecf8!important;color:#6f3f87!important}:root[data-theme=light] .var-code-block{background:#f3ecf8!important;color:#6f3f87!important;border-color:#e3d7ec!important}:root[data-theme=light] .t-com{color:#93849f;font-style:italic}:root[data-theme=light] .t-kw{color:#6f3f87;font-weight:700}:root[data-theme=light] .t-str{color:#1e9e5a}:root[data-theme=light] .t-num{color:#d97706;font-weight:700}:root[data-theme=light] .t-op{color:#261b30}:root[data-theme=light] .t-var{color:#2563eb}:root[data-theme=light] .intro-stats-strip{background:#fff!important;border:1.5px solid #ECE4F1!important;box-shadow:0 14px 34px #261b300f!important}:root[data-theme=light] .strip-num{color:#6f3f87!important;font-weight:900!important}:root[data-theme=light] .strip-lbl{color:#574b63!important;font-weight:700!important}:root[data-theme=light] .strip-divider{background:#ece4f1!important}:root[data-theme=light] .intro-site-footer{background:#fff!important;border:1.5px solid #ECE4F1!important;box-shadow:0 14px 34px #261b300f!important}:root[data-theme=light] .brand-logo-text{color:#261b30!important}:root[data-theme=light] .brand-tagline{color:#574b63!important}:root[data-theme=light] .footer-links-group h4{color:#6f3f87!important;font-weight:800!important}:root[data-theme=light] .footer-links-group a{color:#574b63!important}:root[data-theme=light] .footer-links-group a:hover{color:#6f3f87!important}:root[data-theme=light] .footer-bottom{color:#726580!important;border-top:1px solid #ECE4F1!important}:root[data-theme=light] .intro-feature-card{background:#fff!important;border:1.5px solid #ECE4F1!important;box-shadow:0 14px 34px #261b300d!important}:root[data-theme=light] .intro-feature-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px #6f3f871f!important;border-color:#6f3f87!important}:root[data-theme=light] .intro-feature-card .feature-title{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .intro-feature-card .feature-desc{color:#574b63!important;font-weight:600!important}:root[data-theme=light] .intro-feature-card:nth-child(1) .feature-icon-box{background:#f3ecf8!important;color:#6f3f87!important}:root[data-theme=light] .intro-feature-card:nth-child(1) .feature-tag-badge{background:#f3ecf8!important;color:#6f3f87!important;border-color:#e3d7ec!important}:root[data-theme=light] .intro-feature-card:nth-child(1) .feature-launch-link{color:#6f3f87!important;font-weight:800!important}:root[data-theme=light] .intro-feature-card:nth-child(2) .feature-icon-box{background:#ccfbf1!important;color:#0f766e!important}:root[data-theme=light] .intro-feature-card:nth-child(2) .feature-tag-badge{background:#ccfbf1!important;color:#0f766e!important;border-color:#99f6e4!important}:root[data-theme=light] .intro-feature-card:nth-child(2) .feature-launch-link{color:#0f766e!important;font-weight:800!important}:root[data-theme=light] .intro-feature-card:nth-child(3) .feature-icon-box{background:#eff6ff!important;color:#1d4ed8!important}:root[data-theme=light] .intro-feature-card:nth-child(3) .feature-tag-badge{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}:root[data-theme=light] .intro-feature-card:nth-child(3) .feature-launch-link{color:#1d4ed8!important;font-weight:800!important}:root[data-theme=light] .intro-feature-card:nth-child(4) .feature-icon-box{background:#fff7ed!important;color:#c2410c!important}:root[data-theme=light] .intro-feature-card:nth-child(4) .feature-tag-badge{background:#fff7ed!important;color:#c2410c!important;border-color:#ffedd5!important}:root[data-theme=light] .intro-feature-card:nth-child(4) .feature-launch-link{color:#c2410c!important;font-weight:800!important}:root[data-theme=light] .intro-section-label span{color:#574b63!important;font-weight:800!important}:root[data-theme=light] .label-line{background:#ece4f1!important}:root[data-theme=light] .dashboard-container,:root[data-theme=light] .home-dashboard-v2{background:#fffdf6!important}:root[data-theme=light] .dash-hero-banner{background:#fff!important;border:1.5px solid #ECE4F1!important;box-shadow:0 14px 34px #261b300d!important}:root[data-theme=light] .xp-progress-card{background:#f3ecf8!important;border:1.5px solid #E3D7EC!important;box-shadow:0 4px 14px #261b300a!important}:root[data-theme=light] .lvl-badge{background:#e3d7ec!important;color:#6f3f87!important;border-color:#6f3f87!important}:root[data-theme=light] .lvl-name{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .xp-ratio,:root[data-theme=light] .xp-card-footer span{color:#574b63!important;font-weight:700!important}:root[data-theme=light] .xp-needed{color:#6f3f87!important;font-weight:800!important}:root[data-theme=light] .xp-track-bg{background:#e3d7ec!important}:root[data-theme=light] .xp-fill-bar{background:linear-gradient(135deg,#6f3f87,#38bdf8)!important}:root[data-theme=light] .level-progress-box{background:#f3ecf8!important;border:1.5px solid #E3D7EC!important;color:#261b30!important}:root[data-theme=light] .level-progress-box *{color:#261b30!important}:root[data-theme=light] .level-progress-box .xp-text{color:#6f3f87!important;font-weight:800!important}:root[data-theme=light] .dashboard-hero-title,:root[data-theme=light] .hero-greeting{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .dashboard-hero-subtitle,:root[data-theme=light] .hero-subtext,:root[data-theme=light] .section-subtitle,:root[data-theme=light] .page-desc{color:#574b63!important;font-weight:600!important}:root[data-theme=light] .dash-stat-card,:root[data-theme=light] .metric-card,:root[data-theme=light] .workspace-card,:root[data-theme=light] .challenge-card,:root[data-theme=light] .file-card,:root[data-theme=light] .exercise-card,:root[data-theme=light] .podium-card,:root[data-theme=light] .leader-row{background:#fff!important;border:1.5px solid #ECE4F1!important;box-shadow:0 14px 34px #261b300d!important;color:#261b30!important}:root[data-theme=light] .stat-value,:root[data-theme=light] .metric-num,:root[data-theme=light] .workspace-title,:root[data-theme=light] .challenge-title,:root[data-theme=light] .file-title,:root[data-theme=light] .exercise-title,:root[data-theme=light] .section-title,:root[data-theme=light] .page-title,:root[data-theme=light] h1,:root[data-theme=light] h2,:root[data-theme=light] h3{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .stat-subtext,:root[data-theme=light] .metric-bottom-lbl,:root[data-theme=light] .workspace-desc,:root[data-theme=light] .challenge-subtext,:root[data-theme=light] .file-date,:root[data-theme=light] .exercise-desc{color:#574b63!important;font-weight:600!important}:root[data-theme=light] .files-ambient-bg.full-page{opacity:.3!important}:root[data-theme=light] .ambient-orb.orb-1{background:radial-gradient(circle,#e3d7ec,#c9e8ff)!important;opacity:.25!important}:root[data-theme=light] .ambient-orb.orb-2{background:radial-gradient(circle,#f3ecf8,#fdecea)!important;opacity:.2!important}:root[data-theme=light] .files-animated-grid{background-image:linear-gradient(to right,rgba(111,63,135,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(111,63,135,.06) 1px,transparent 1px)!important}:root[data-theme=light] .files-page-container.ultra-minimal{background:transparent!important}:root[data-theme=light] .files-main-title{color:#261b30!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#261B30!important;background-clip:unset!important}:root[data-theme=light] .files-subtitle{color:#574b63!important;font-weight:600!important}:root[data-theme=light] .files-search-input.inline.google-style{background:#fff!important;border-color:#ece4f1!important;color:#261b30!important;box-shadow:0 2px 10px #261b300a!important}:root[data-theme=light] .files-search-input.inline.google-style:focus{background:#fff!important;border-color:#6f3f87!important;box-shadow:0 0 0 3px #6f3f871f!important}:root[data-theme=light] .files-search-input.inline.google-style::placeholder{color:#93849f!important}:root[data-theme=light] .search-leading{color:#93849f!important}:root[data-theme=light] .files-search-wrap.google-style.focused .search-leading{color:#6f3f87!important}:root[data-theme=light] .clear-search-btn{background:#f3ecf8!important;color:#574b63!important}:root[data-theme=light] .google-search-dropdown{background:#fff!important;border-color:#ece4f1!important;box-shadow:0 14px 34px #261b3014!important}:root[data-theme=light] .search-suggestion-item{color:#261b30!important}:root[data-theme=light] .search-suggestion-item:hover{background:#f3ecf8!important;color:#261b30!important}:root[data-theme=light] .search-suggestion-empty{color:#726580!important}:root[data-theme=light] .suggestion-badge{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}:root[data-theme=light] .unified-pill{background:#fff!important;border:1.5px solid #ECE4F1!important;color:#574b63!important;font-weight:700!important;box-shadow:0 2px 6px #261b300a!important}:root[data-theme=light] .unified-pill:hover{border-color:#6f3f87!important;color:#261b30!important;background:#f3ecf8!important}:root[data-theme=light] .unified-pill.active{background:#6f3f87!important;color:#fff!important;border-color:#55306a!important;box-shadow:0 4px 14px #6f3f8759!important}:root[data-theme=light] .unified-pill.plus-btn{background:#6f3f87!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 14px #6f3f8759!important}:root[data-theme=light] .folder-card.color-purple{--folder-accent: #6F3F87}:root[data-theme=light] .folder-card.color-cyan{--folder-accent: #0284C7}:root[data-theme=light] .folder-card.color-green{--folder-accent: #059669}:root[data-theme=light] .folder-card.color-red{--folder-accent: #E11D48}:root[data-theme=light] .folder-card.color-amber{--folder-accent: #D97706}:root[data-theme=light] .folder-card.color-white{--folder-accent: #475569}:root[data-theme=light] .folder-card.ultra-minimal{background:#fff!important;border:1.5px solid #ECE4F1!important;box-shadow:0 4px 20px #261b300f!important}:root[data-theme=light] .folder-card.ultra-minimal:hover{border-color:var(--folder-accent, #6F3F87)!important;box-shadow:0 8px 28px #261b301a!important}:root[data-theme=light] .folder-card-tab{background:#fff!important;border-color:#ece4f1!important}:root[data-theme=light] .folder-card-title{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .folder-open-link{color:var(--folder-accent, #6F3F87)!important;font-weight:700!important}:root[data-theme=light] .folder-card.ultra-minimal.is-drag-over{border-color:#6f3f87!important;box-shadow:0 0 20px #6f3f874d!important}:root[data-theme=light] .wb-editor-subactions .wb-text-link-btn{color:#574b63!important;font-weight:700!important}:root[data-theme=light] .wb-editor-subactions .wb-text-link-btn:hover{color:#6f3f87!important}:root[data-theme=light] .wb-big-editor-header{background:#f8f5ee!important;border-bottom:1px solid #ECE4F1!important}:root[data-theme=light] .wb-editor-lang-tag{font-weight:800!important}:root[data-theme=light] .wb-editor-hint{color:#726580!important;font-weight:600!important}:root[data-theme=light] .wb-editor-subactions{background:#f8f5ee!important;border-bottom:1px solid #ECE4F1!important}:root[data-theme=light] .btn-run-code,:root[data-theme=light] .wb-run-btn{background:#6f3f87!important;color:#fff!important;box-shadow:0 4px 14px #6f3f8766!important}:root[data-theme=light] .btn.primary,:root[data-theme=light] .btn.primary.glow{background:#6f3f87!important;color:#fff!important;box-shadow:0 4px 16px #6f3f8766!important}:root[data-theme=light] .btn.primary:hover{background:#55306a!important;box-shadow:0 6px 22px #6f3f878c!important}:root[data-theme=light] .btn.ghost{background:#fff!important;border:1.5px solid #ECE4F1!important;color:#574b63!important}:root[data-theme=light] .btn.ghost:hover{background:#f3ecf8!important;border-color:#6f3f87!important;color:#261b30!important}:root[data-theme=light] .visualiser-notice-bar,:root[data-theme=light] .notice-banner{background:#fff9e6!important;border-color:#f7b32b!important;color:#574b63!important}:root[data-theme=light] .visualiser-notice-bar strong,:root[data-theme=light] .notice-banner strong{color:#6f3f87!important}:root[data-theme=light] .code-blocks-bar,:root[data-theme=light] .quick-blocks-section{background:#f8f5ee!important;border-top:1px solid #ECE4F1!important}:root[data-theme=light] .quick-blocks-title{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .quick-block-chip{background:#fff!important;border:1px solid #ECE4F1!important;color:#261b30!important}:root[data-theme=light] .quick-block-chip:hover{background:#f3ecf8!important;border-color:#6f3f87!important;color:#6f3f87!important}.py-plots{display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;padding:12px 0;width:100%}.py-plot-card{position:relative;border-radius:16px;overflow:hidden;background:#0e1220f2;padding:8px 12px 12px;border:1.5px solid rgba(142,91,255,.4);box-shadow:0 12px 36px #00000080,0 0 25px #8e5bff40;max-width:420px;width:90%;margin:0 auto;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.plot-badge-pill{font-family:var(--mono);font-size:9.5px;font-weight:800;padding:2px 8px;border-radius:6px;background:#0a0e1ad9;color:#38bdf8;border:1px solid rgba(56,189,248,.5);box-shadow:0 0 10px #38bdf84d;display:inline-block;margin-bottom:8px}.py-plot-card:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 44px #0009,0 0 35px #38bdf873;border-color:#38bdf8}.py-plot-card img{display:block;width:100%;max-height:240px;object-fit:contain;border-radius:10px}.plot-glass-sheen{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),rgba(56,189,248,.35),transparent);transform:skew(-20deg);animation:plotBeam 3.5s linear infinite;pointer-events:none;z-index:2}@keyframes plotBeam{0%{left:-100%}to{left:200%}}.py-results{padding:30px 20px}.py-loading-hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:36px 24px;background:#0e1220d9;border:1px solid var(--border-glass-strong);border-radius:20px;box-shadow:0 20px 50px #00000080,0 0 30px #8e5bff33;text-align:center;max-width:480px;margin:40px auto}.py-spinner-pulse{width:44px;height:44px;border-radius:50%;border:3px solid rgba(142,91,255,.2);border-top-color:#38bdf8;border-right-color:#a855f7;animation:pySpin .9s linear infinite;box-shadow:0 0 20px #38bdf866}@keyframes pySpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.py-loading-title{font-family:var(--mono);font-size:14px;font-weight:800;color:#fff;letter-spacing:-.01em}.py-loading-sub{font-size:12px;color:var(--ink-muted);margin-top:4px}.py-loading-bar-track{width:100%;height:4px;background:#ffffff14;border-radius:999px;overflow:hidden;position:relative}.py-loading-bar-fill{width:50%;height:100%;background:linear-gradient(90deg,#38bdf8,#a855f7,#ec4899);border-radius:999px;animation:loadingBeam 1.5s ease-in-out infinite alternate}@keyframes loadingBeam{0%{transform:translate(-50%);width:30%}to{transform:translate(200%);width:60%}}.var-card.complex-card{flex:1 1 100%;max-width:100%;background:#0c101ce6;border-color:#38bdf859;box-shadow:0 4px 20px #0000004d}.type-badge.type-dataframe{background:#38bdf833;color:#38bdf8;border-color:#38bdf880}.type-badge.type-series{background:#a855f733;color:#c084fc;border-color:#a855f780}.type-badge.type-ndarray{background:#10b98133;color:#34d399;border-color:#10b98180}.var-code-block{margin:0;font-family:var(--mono);font-size:11px;line-height:1.5;color:#38bdf8;white-space:pre-wrap;word-break:break-word;max-height:140px;overflow-y:auto;padding:6px 10px;background:#0006;border-radius:8px;border:1px solid rgba(56,189,248,.2)}.share-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070dd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:shareBackdropIn .25s ease}@keyframes shareBackdropIn{0%{opacity:0}to{opacity:1}}.share-modal{width:100%;max-width:380px;background:var(--card-bg);border:1.5px solid var(--border-glass-strong);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-float),0 0 60px #8e5bff26;animation:shareModalIn .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes shareModalIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-modal-header{padding:22px 24px 12px;text-align:center}.share-modal-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:4px}.share-modal-title{font-family:var(--body);font-size:18px;font-weight:800;background:linear-gradient(135deg,#8e5bff,#48d6ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}.share-modal-subtitle{font-family:var(--mono);font-size:11.5px;color:var(--ink-muted);margin:6px 0 0}.share-preview-card{margin:0 16px;padding:18px 16px;background:var(--panel-bg);border:1px solid var(--border-glass);border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;overflow:hidden}.share-preview-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,rgba(142,91,255,.08),transparent 60%),radial-gradient(ellipse at 80% 70%,rgba(56,189,248,.06),transparent 60%);pointer-events:none}.share-preview-brand{text-align:center;display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.share-brand-gradient{font-family:var(--body);font-size:22px;font-weight:900;background:linear-gradient(135deg,#8e5bff,#48d6ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.share-brand-tag{font-family:var(--mono);font-size:10px;color:var(--ink-muted);font-weight:600}.share-stats-row{display:flex;align-items:center;gap:14px;width:100%;position:relative;z-index:1}.share-stat-block{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;transition:transform .2s ease}.share-stat-block:hover{transform:scale(1.03)}.share-stat-value{font-family:var(--body);font-size:28px;font-weight:900;letter-spacing:-.03em;line-height:1.1}.streak-block .share-stat-value{color:#f59e0b}.xp-block .share-stat-value{color:#8e5bff}.share-stat-label{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em}.share-stat-divider{width:1.5px;height:44px;background:linear-gradient(180deg,transparent,var(--border-glass-strong),transparent);flex-shrink:0}.share-mode-badge{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--ink-secondary);padding:5px 14px;background:#8e5bff1a;border:1px solid rgba(142,91,255,.25);border-radius:999px;position:relative;z-index:1;display:flex;align-items:center;gap:6px}.share-quote{font-family:var(--body);font-size:11.5px;font-style:italic;color:var(--ink-muted);text-align:center;position:relative;z-index:1;opacity:.65}.share-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 16px 0}.share-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 10px;font-family:var(--mono);font-size:12px;font-weight:700;border:1.5px solid var(--border-glass-strong);border-radius:12px;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);background:transparent;color:var(--ink-secondary)}.share-action-btn:hover{transform:translateY(-2px)}.share-action-btn:active{transform:translateY(0) scale(.97)}.share-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.share-action-btn.whatsapp{border-color:#25d36659;color:#25d366}.share-action-btn.whatsapp:hover{background:#25d3661a;border-color:#25d36699;box-shadow:0 4px 20px #25d36633}.share-action-btn.instagram{border-color:#e1306c59;color:#e1306c}.share-action-btn.instagram:hover{background:#e1306c1a;border-color:#e1306c99;box-shadow:0 4px 20px #e1306c33}.share-action-btn.copy{border-color:#38bdf859;color:#38bdf8}.share-action-btn.copy:hover{background:#38bdf81a;border-color:#38bdf899;box-shadow:0 4px 20px #38bdf833}.share-action-btn.download{border-color:#a855f759;color:#a855f7}.share-action-btn.download:hover{background:#a855f71a;border-color:#a855f799;box-shadow:0 4px 20px #a855f733}.share-modal-footer{padding:8px 16px 16px}.share-back-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--ink-muted);background:transparent;border:1px solid var(--border-glass);border-radius:12px;cursor:pointer;transition:all .2s ease}.share-back-btn:hover{background:var(--panel-bg);border-color:var(--border-glass-strong);color:var(--ink)}:root[data-theme=light] .share-backdrop{background:#efebfad1}:root[data-theme=light] .share-modal{box-shadow:var(--shadow-float),0 0 40px #7b3f981f}:root[data-theme=light] .share-stat-block{background:#7b3f980d;border-color:#7b3f9824}:root[data-theme=light] .share-mode-badge{background:#7b3f981a;border-color:#7b3f9840;color:#43325b}:root[data-theme=light] .share-action-btn{border-color:#7b3f982e}:root[data-theme=light] .share-action-btn.whatsapp{border-color:#25d3664d}:root[data-theme=light] .share-action-btn.instagram{border-color:#e1306c4d}:root[data-theme=light] .share-action-btn.copy{border-color:#38bdf84d}:root[data-theme=light] .share-action-btn.download{border-color:#a855f74d}:root[data-theme=light] .share-back-btn{border-color:#7b3f9833}@media (max-width: 480px){.share-modal{max-width:100%;border-radius:20px}.share-modal-header{padding:16px 14px 10px}.share-preview-card{margin:0 10px;padding:14px 12px;gap:10px}.share-brand-gradient{font-size:18px}.share-stat-value{font-size:22px}.share-actions-grid{padding:10px 10px 0;gap:6px}.share-action-btn{padding:10px 8px;font-size:11px;gap:6px}.share-modal-footer{padding:6px 10px 14px}}.portal-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-0)}.portal-body{display:flex;flex:1;overflow:hidden}.portal-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;background:var(--bg-0);scrollbar-width:thin;scrollbar-color:var(--border-glass-strong) transparent}.portal-main::-webkit-scrollbar{width:6px}.portal-main::-webkit-scrollbar-track{background:transparent}.portal-main::-webkit-scrollbar-thumb{background:var(--border-glass-strong);border-radius:3px}.visualiser-page-container{display:flex;flex-direction:column;gap:12px;width:100%;flex:1;min-height:calc(100vh - 96px);padding:12px 18px 18px;box-sizing:border-box}.viz-top-control-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 12px;background:var(--panel-bg);border:1px solid var(--border-glass-strong);border-radius:14px;flex-shrink:0;box-shadow:0 4px 16px #0003}.portal-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 28px;background:var(--card-bg);border-bottom:1px solid var(--border-glass-strong);flex-shrink:0;z-index:100;gap:16px;box-shadow:0 4px 24px #0000002e}.topbar-left{display:flex;align-items:center;gap:16px;justify-self:start}.topbar-inline-nav{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;padding:0;border:none;box-shadow:none;justify-self:center}.top-nav-icon-only{position:relative;display:flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;text-decoration:none;color:var(--ink-secondary);background:transparent;border:none;box-shadow:none;transition:all .22s cubic-bezier(.16,1,.3,1);cursor:pointer}.top-nav-icon-only:hover{color:#38bdf8;transform:translateY(-1px) scale(1.12)}.top-nav-icon-only:hover .top-nav-icon svg{stroke:#38bdf8;filter:drop-shadow(0 0 6px rgba(56,189,248,.5))}.top-nav-icon-only.active{background:transparent!important;border:none!important;box-shadow:none!important;color:#38bdf8!important}.top-nav-icon-only.active .top-nav-icon svg{stroke:#38bdf8!important;fill:none;filter:drop-shadow(0 0 10px #38BDF8) drop-shadow(0 0 16px rgba(56,189,248,.6));transform:scale(1.15)}.top-nav-icon{display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1)}.top-nav-icon svg{transition:stroke .2s,filter .2s}.top-nav-badge-superscript{position:absolute;top:0;right:-2px;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-size:10px;font-weight:900;padding:1.5px 6px;border-radius:8px;font-family:var(--mono);box-shadow:0 0 10px #38bdf899;line-height:1;pointer-events:none;border:1px solid rgba(255,255,255,.2)}.gradenext-minimal-brand{display:flex;align-items:center;gap:8px;cursor:pointer}.gradenext-logo-svg-minimal{overflow:visible;transition:transform .2s}.gradenext-minimal-brand:hover .gradenext-logo-svg-minimal{transform:scale(1.03)}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;justify-self:end}.topbar-login-btn{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border:none;border-radius:10px;padding:9px 20px;font-size:13.5px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #8e5bff4d;transition:all .2s ease}.topbar-login-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 18px #8e5bff73}.topbar-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-weight:700;font-size:14px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.topbar-avatar:hover{transform:scale(1.08)}.topbar-avatar-wrap{position:relative}.topbar-profile-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:12px;padding:12px;min-width:180px;z-index:500;box-shadow:0 8px 32px #0006;animation:fadeIn .15s ease}.profile-name{font-size:13px;font-weight:700;color:var(--ink)}.profile-email{font-size:11px;color:var(--ink-muted);margin-top:2px}.profile-role{font-size:11px;color:var(--ink-secondary);margin-top:4px}.profile-divider{border:none;border-top:1px solid var(--border-glass);margin:10px 0}.profile-logout{width:100%;background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;border-radius:8px;padding:6px;font-size:12px;cursor:pointer}.profile-logout:hover{background:#ef444433}.portal-sidebar{position:relative;display:flex;flex-direction:column;background:var(--card-bg);border-right:1px solid var(--border-glass);flex-shrink:0;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1);z-index:50;min-height:0}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:100%;height:40px;background:transparent;border:none;border-bottom:1px solid var(--border-glass);color:var(--ink-muted);cursor:pointer;flex-shrink:0;transition:color .2s,background .2s}.sidebar-collapse-btn:hover{background:var(--panel-bg);color:var(--ink)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px 6px;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--ink-secondary);font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;transition:background .15s,color .15s;position:relative}.sidebar-nav-item:hover{background:var(--panel-bg);color:var(--ink)}.sidebar-nav-item.active{background:#8e5bff26;color:#8e5bff}.sidebar-nav-item.active .sidebar-nav-icon svg{stroke:#8e5bff}.sidebar-nav-icon{display:flex;align-items:center;flex-shrink:0}.sidebar-nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.sidebar-badge{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;flex-shrink:0}.sidebar-badge-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:#8e5bff;border-radius:50%}.sidebar-resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background .2s;z-index:10}.sidebar-resize-handle:hover{background:#8e5bff66}.portal-sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:10px}.portal-sidebar.collapsed .sidebar-nav-label,.portal-sidebar.collapsed .sidebar-badge{display:none}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070dd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;padding:20px}.auth-modal{background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;width:100%;max-width:380px;padding:28px;position:relative;box-shadow:0 24px 64px #0009;animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1)}.auth-header{margin-bottom:20px}.auth-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.auth-brand{font-size:18px;font-weight:800;background:linear-gradient(135deg,#8e5bff,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-title{font-size:20px;font-weight:700;color:var(--ink);margin:0}.auth-tabs{display:flex;gap:4px;background:var(--panel-bg);padding:4px;border-radius:10px;margin-bottom:20px}.auth-tab{flex:1;padding:7px;border-radius:8px;border:none;background:transparent;color:var(--ink-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.auth-tab.active{background:var(--card-bg);color:var(--ink);box-shadow:0 2px 8px #0000004d}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-field label{font-size:12px;font-weight:600;color:var(--ink-secondary)}.auth-field input{background:var(--panel-bg);border:1px solid var(--border-glass);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--ink);outline:none;transition:border-color .2s;font-family:var(--ui)}.auth-field input:focus{border-color:#8e5bff;box-shadow:0 0 0 3px #8e5bff26}.auth-role-pills{display:flex;gap:8px}.role-pill{flex:1;padding:8px;border-radius:10px;border:1px solid var(--border-glass);background:var(--panel-bg);color:var(--ink-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.role-pill.active{background:#8e5bff26;border-color:#8e5bff;color:#8e5bff}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:8px 12px;font-size:12px;color:#ef4444}.auth-submit{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border:none;border-radius:10px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.auth-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.auth-close-btn{position:absolute;top:14px;right:14px;background:var(--panel-bg);border:1px solid var(--border-glass);color:var(--ink-muted);width:28px;height:28px;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s}.auth-close-btn:hover{color:var(--ink)}.home-page{padding:24px 32px;display:flex;flex-direction:column;gap:24px;max-width:1360px;width:100%;margin:0 auto;box-sizing:border-box;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}.home-hero{display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;padding:28px 36px;gap:20px;box-shadow:0 8px 32px #0003;transition:border-color .2s ease}.home-greeting{font-size:26px;font-weight:800;color:var(--ink);margin:0 0 6px;letter-spacing:-.02em}.home-sub{font-size:14px;color:var(--ink-secondary);margin:0}.hero-xp-ring{position:relative;display:flex;align-items:center;justify-content:center}.hero-xp-val{position:absolute;display:flex;flex-direction:column;align-items:center;font-size:18px;font-weight:800;color:#8e5bff;line-height:1}.hero-xp-val small{font-size:10px;font-weight:600;color:var(--ink-muted)}.home-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.home-stat-card{background:var(--card-bg);border:1px solid var(--border-glass);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:8px;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s;box-shadow:0 4px 16px #00000026}.home-stat-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0000004d;border-color:#8e5bff59}.stat-icon{display:flex;align-items:center}.stat-val{font-size:30px;font-weight:800;letter-spacing:-.02em}.stat-label{font-size:12.5px;color:var(--ink-muted);font-weight:600}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-section{background:var(--card-bg);border:1px solid var(--border-glass);border-radius:20px;padding:24px 26px;display:flex;flex-direction:column;gap:16px;box-shadow:0 4px 20px #00000026}.home-section-title{font-size:16px;font-weight:800;color:var(--ink);margin:0;letter-spacing:-.01em}.home-see-all{font-size:12.5px;color:#8e5bff;text-decoration:none;font-weight:700;margin-top:4px;display:inline-flex;align-items:center;gap:4px;transition:transform .2s}.home-see-all:hover{text-decoration:underline;transform:translate(2px)}.home-leader-teaser{grid-column:1 / -1}.quick-actions-grid{display:flex;flex-direction:column;gap:10px}.quick-action-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--panel-bg);border:1px solid var(--border-glass);border-radius:14px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.quick-action-card:hover{background:#8e5bff1a;border-color:#8e5bff59;transform:translate(4px)}.qa-icon{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qa-text{flex:1}.qa-label{font-size:13.5px;font-weight:700;color:var(--ink)}.qa-sub{font-size:11.5px;color:var(--ink-muted);margin-top:2px}.qa-arrow{color:var(--ink-muted);flex-shrink:0;transition:transform .2s}.quick-action-card:hover .qa-arrow{transform:translate(3px);color:#8e5bff}.recent-exercises-list{display:flex;flex-direction:column;gap:12px}.recent-ex-card{display:flex;flex-direction:column;gap:6px}.rex-top{display:flex;justify-content:space-between;align-items:center}.rex-title{font-size:13.5px;font-weight:700;color:var(--ink)}.rex-lang{font-size:11px;font-weight:700}.rex-progress-row{display:flex;align-items:center;gap:10px}.rex-progress-bar{flex:1;height:6px;background:var(--panel-bg);border-radius:3px;overflow:hidden}.rex-progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.rex-pct{font-size:11px;color:var(--ink-muted);font-weight:600;flex-shrink:0}.leader-teaser-list{display:flex;flex-direction:column;gap:8px}.leader-teaser-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--panel-bg);border-radius:12px;border:1px solid var(--border-glass);transition:transform .2s}.leader-teaser-row:hover{transform:translate(3px);background:#ffffff08}.lt-badge{font-family:var(--mono);font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px}.lt-badge.rank-1{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.lt-badge.rank-2{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.lt-badge.rank-3{background:#b4530926;color:#b45309;border:1px solid rgba(180,83,9,.3)}.lt-name{flex:1;font-size:13.5px;font-weight:700;color:var(--ink)}.lt-xp{font-size:12.5px;font-weight:800;color:#8e5bff}.workbench-page{display:flex;flex-direction:column;height:100%;background:var(--bg-0)}.wb-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--card-bg);border-bottom:1px solid var(--border-glass);gap:12px;flex-shrink:0}.wb-lang-pills{display:flex;gap:6px}.wb-lang-pill{padding:6px 14px;border-radius:8px;border:1px solid var(--border-glass);background:transparent;color:var(--ink-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.wb-lang-pill.active{background:#8e5bff26;border-color:#8e5bff;color:#8e5bff}.wb-lang-pill:hover:not(.active){background:var(--panel-bg);color:var(--ink)}.wb-run-btn{display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,#34d399,#38bdf8);color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .2s}.wb-run-btn:hover:not(:disabled){opacity:.85}.wb-run-btn:disabled{opacity:.6;cursor:not-allowed}.wb-running-dot{width:10px;height:10px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.wb-body{display:flex;flex:1;overflow:hidden;gap:0;height:100%;min-height:0}.wb-webdev-layout{display:flex;flex:1;width:100%;height:100%;overflow:hidden}.wb-submode-pills{display:flex;gap:6px;align-items:center}.wb-editor-pane{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--border-glass);overflow:hidden;min-width:0}.wb-file-tabs{display:flex;gap:2px;background:var(--card-bg);border-bottom:1px solid var(--border-glass);padding:6px 8px 0;flex-shrink:0}.wb-file-tab{padding:5px 14px;border-radius:6px 6px 0 0;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--ink-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.wb-file-tab.active{background:var(--panel-bg);border-color:var(--border-glass);color:var(--ink)}.wb-file-tab:hover:not(.active){color:var(--ink-secondary)}.wb-code-area{flex:1;width:100%;background:var(--panel-bg);color:var(--code-ink);font-family:var(--mono);font-size:13px;line-height:1.7;border:none;outline:none;resize:none;padding:16px;-moz-tab-size:2;tab-size:2;white-space:pre;overflow:auto}.wb-output-pane{width:380px;flex-shrink:0;display:flex;flex-direction:column;background:var(--card-bg);overflow:hidden}.wb-output-label{padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom:1px solid var(--border-glass);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.wb-clear-console{background:transparent;border:1px solid var(--border-glass);color:var(--ink-muted);border-radius:5px;padding:2px 8px;font-size:10px;cursor:pointer}.wb-preview-frame{flex:1;border:none;background:#fff}.wb-console{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:12px;line-height:1.6}.wb-console-line{color:var(--code-ink)}.wb-console-line.error{color:#ef4444}.wb-console-empty{color:var(--ink-muted);font-size:12px}.whiteboard-page{position:relative;width:100%;flex:1;min-height:0;overflow:hidden;background:var(--bg-0);display:flex}.wb-overlay{flex:1;position:relative;overflow:hidden;min-width:0;min-height:0}.wb-toolbar{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:16px;padding:10px 6px;box-shadow:0 8px 32px #0006;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.wb-toolbar::-webkit-scrollbar{display:none}.wb-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;background:#07080ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;border:3px dashed #8E5BFF;pointer-events:none}.wb-drag-modal{background:var(--card-bg);border:1px solid var(--border-glass-strong);padding:30px 40px;border-radius:20px;text-align:center;box-shadow:var(--shadow-float)}.wb-drag-modal h3{margin:10px 0 6px;font-size:18px;color:var(--ink)}.wb-drag-modal p{margin:0;font-size:13px;color:var(--ink-muted)}.wb-doc-header-overlay{position:absolute;z-index:90;display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:8px 8px 0 0;padding:4px 10px;font-size:11px;font-weight:700;color:var(--ink);box-shadow:0 2px 8px #0003}.wb-doc-header-overlay .doc-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.wb-doc-header-overlay.minimized{border-radius:8px;background:var(--card-bg);border:1px solid #8E5BFF;box-shadow:0 4px 16px #8e5bff4d}.doc-title-group{display:flex;align-items:center;gap:6px;overflow:hidden}.doc-controls-group{display:flex;align-items:center;gap:8px}.wb-doc-resize-handle{position:absolute;z-index:95;width:18px;height:18px;background:linear-gradient(135deg,#8e5bff,#38bdf8);border:2px solid #FFFFFF;border-radius:50%;box-shadow:0 2px 8px #0006;cursor:nwse-resize!important;transition:transform .15s}.wb-doc-resize-handle:hover{transform:scale(1.3);box-shadow:0 4px 14px #8e5bff99}.doc-min-btn{background:transparent;border:none;color:var(--ink-secondary);font-weight:700;font-size:11px;cursor:pointer;padding:1px 4px}.doc-min-btn:hover{color:#8e5bff;transform:scale(1.15)}.wb-doc-header-overlay .doc-del-btn:hover{transform:scale(1.2)}.wb-tool-btn{width:34px;height:34px;border-radius:8px;border:none;background:transparent;color:var(--ink-secondary);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.wb-tool-btn:hover{background:var(--panel-bg);color:var(--ink)}.wb-tool-btn.active{background:#8e5bff33;color:#8e5bff}.wb-tool-btn.wb-upload-btn:hover{background:#38bdf826;color:#38bdf8}.wb-tool-btn.wb-eraser-btn.active{background:#f472b633;color:#f472b6}.wb-tool-btn.wb-clear{color:#ef4444}.wb-tool-btn.wb-clear:hover{background:#ef44441a}.wb-tool-divider{width:20px;height:1px;background:var(--border-glass);margin:2px 0}.wb-width-btn{width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--ink-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.wb-width-btn:hover{background:var(--panel-bg);border-color:var(--border-glass)}.wb-width-btn.active{border-color:#8e5bff;background:#8e5bff26}.wb-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:2px 0}.wb-color-swatch{width:14px;height:14px;border-radius:50%;border:1.5px solid transparent;cursor:pointer;transition:transform .15s;outline:none}.wb-color-swatch:hover{transform:scale(1.25)}.wb-color-swatch.active{border-color:#8e5bff;transform:scale(1.2);box-shadow:0 0 0 2px #8e5bff66}.wb-text-floating-toolbar{position:absolute;bottom:100%;left:0;margin-bottom:8px;display:flex;align-items:center;gap:6px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:10px;padding:5px 8px;box-shadow:0 8px 24px #0006;white-space:nowrap;animation:fadeIn .15s ease-out}.wb-text-colors{display:flex;align-items:center;gap:4px}.wb-text-color-swatch{width:16px;height:16px;border-radius:50%;border:1.5px solid transparent;cursor:pointer;transition:transform .15s}.wb-text-color-swatch:hover{transform:scale(1.3)}.wb-text-color-swatch.active{border-color:#fff;transform:scale(1.2);box-shadow:0 0 0 2px #8e5bff}.wb-text-toolbar-divider{width:1px;height:14px;background:var(--border-glass)}.wb-text-sizes{display:flex;align-items:center;gap:2px}.wb-text-size-btn{background:transparent;border:none;color:var(--ink-secondary);font-size:11px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s}.wb-text-size-btn:hover{background:var(--panel-bg);color:var(--ink)}.wb-text-size-btn.active{background:#8e5bff33;color:#8e5bff}.wb-text-del-btn{background:transparent;border:none;color:#ef4444;font-size:12px;font-weight:700;cursor:pointer;padding:1px 4px;transition:transform .15s}.wb-text-del-btn:hover{transform:scale(1.2)}.wb-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-user-select:none;user-select:none}.wb-canvas{width:100%;height:100%;display:block}.wb-sticky{position:absolute;border-radius:4px;padding:10px;box-shadow:2px 4px 12px #00000040;cursor:pointer;display:flex;align-items:flex-start;min-width:120px;min-height:80px;font-family:var(--ui);transition:box-shadow .2s;-webkit-user-select:none;user-select:none}.wb-sticky.editing{box-shadow:0 0 0 2px #8e5bff,2px 4px 12px #00000040}.wb-sticky-close-btn{position:absolute;top:4px;right:6px;background:#00000014;border:none;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:700;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:10}.wb-sticky-close-btn:hover{background:#ef4444;color:#fff;transform:scale(1.15)}.wb-zoom-controls{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:4px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:12px;padding:6px 10px;box-shadow:0 4px 16px #0000004d;z-index:100}.wb-controls-v-divider{width:1px;height:18px;background:var(--border-glass);margin:0 4px}.wb-kbd-btn.active{background:#8e5bff40;color:#8e5bff;border-color:#8e5bff66}.wb-shortcuts-card{position:absolute;bottom:calc(100% + 12px);right:0;width:280px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:16px;padding:14px 16px;box-shadow:0 12px 36px #00000073;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:fadeIn .15s ease-out;z-index:150}.wb-shortcuts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-glass)}.wb-shortcuts-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink)}.wb-shortcuts-close{background:transparent;border:none;color:var(--ink-muted);font-size:12px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .15s}.wb-shortcuts-close:hover{color:#ef4444;transform:scale(1.15)}.wb-shortcuts-grid{display:flex;flex-direction:column;gap:7px;max-height:260px;overflow-y:auto;padding-right:4px}.wb-shortcuts-grid::-webkit-scrollbar{width:4px}.wb-shortcuts-grid::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:4px}.wb-shortcut-item{display:flex;align-items:center;justify-content:space-between;font-size:12px}.wb-shortcut-desc{color:var(--ink-secondary);font-weight:500}.wb-shortcut-key{background:var(--panel-bg);border:1px solid var(--border-glass-strong);border-radius:6px;padding:2px 7px;font-family:var(--mono);font-size:11px;font-weight:700;color:#8e5bff;box-shadow:0 2px 4px #00000026}.wb-zoom-btn{width:28px;height:28px;border-radius:7px;border:none;background:transparent;color:var(--ink-secondary);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.wb-zoom-btn:hover{background:var(--panel-bg);color:var(--ink)}.wb-zoom-val{font-size:12px;font-weight:700;color:var(--ink-secondary);min-width:40px;text-align:center}.exercises-page{padding:28px 36px;display:flex;flex-direction:column;gap:24px;max-width:1380px;width:100%;margin:0 auto;box-sizing:border-box;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}.exercises-hero-header{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;padding:24px 28px;box-shadow:0 8px 32px #00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ex-hero-text{max-width:600px}.exercises-title{font-size:26px;font-weight:900;color:var(--ink);margin:0 0 8px;letter-spacing:-.02em;background:linear-gradient(135deg,var(--ink),var(--ink-secondary));-webkit-background-clip:text}.exercises-sub{font-size:13.5px;color:var(--ink-muted);margin:0;line-height:1.5}.ex-stats-grid{display:flex;gap:16px}.ex-stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 20px;background:#ffffff08;border:1px solid var(--border-glass);border-radius:14px;min-width:100px}.ex-stat-val{font-size:22px;font-weight:900;font-family:var(--mono)}.ex-stat-lbl{font-size:11px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em}.exercises-overall-progress{display:flex;flex-direction:column;gap:8px;background:var(--card-bg);border:1px solid var(--border-glass);border-radius:14px;padding:14px 20px}.ex-prog-header{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--ink-secondary)}.ex-prog-count{font-family:var(--mono);color:#38bdf8}.exercises-progress-bar{width:100%;height:8px;background:var(--panel-bg);border-radius:4px;overflow:hidden;border:1px solid var(--border-glass)}.epb-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#8e5bff,#38bdf8);transition:width .5s ease}.exercises-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.filter-search{display:flex;align-items:center;gap:10px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:12px;padding:8px 16px;box-shadow:inset 0 1px 3px #0003}.exercises-search-input{background:transparent;border:none;outline:none;color:var(--ink);font-size:13px;font-family:var(--ui);width:240px}.exercises-search-input::placeholder{color:var(--ink-muted)}.search-clear-btn{background:transparent;border:none;color:var(--ink-muted);font-size:13px;cursor:pointer}.search-clear-btn:hover{color:var(--ink)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group-label{font-size:11.5px;font-weight:800;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pill{padding:6px 14px;border-radius:9px;border:1px solid var(--border-glass);background:transparent;color:var(--ink-secondary);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.filter-pill.active{background:#8e5bff2e;border-color:#8e5bff;color:#8e5bff;box-shadow:0 0 12px #8e5bff40}.filter-pill:hover:not(.active){background:var(--panel-bg);color:var(--ink);transform:translateY(-1px)}.exercises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.exercise-card{background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 6px 24px #00000040;cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s}.exercise-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #0006,0 0 20px #8e5bff33;border-color:#8e5bff80}.ex-card-top{display:flex;justify-content:space-between;align-items:center}.ex-badge-group{display:flex;align-items:center;gap:8px}.ex-lang-tag,.ex-diff-tag{font-size:11.5px;font-weight:800;font-family:var(--mono)}.ex-done-badge{display:inline-flex;align-items:center;gap:4px;background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.35);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800}.ex-title{font-size:16px;font-weight:800;color:var(--ink);margin:0;letter-spacing:-.01em}.ex-tags{display:flex;flex-wrap:wrap;gap:6px}.ex-tag{background:#ffffff0a;border:1px solid var(--border-glass);border-radius:6px;padding:3px 8px;font-size:10.5px;color:var(--ink-muted);font-weight:600}.ex-progress{display:flex;align-items:center;gap:12px}.ex-progress-bar{flex:1;height:6px;background:var(--panel-bg);border-radius:3px;overflow:hidden}.ex-progress-fill{height:100%;border-radius:3px;transition:width .4s ease}.ex-progress-text{font-size:11.5px;font-family:var(--mono);color:var(--ink-muted);font-weight:700;flex-shrink:0}.ex-start-btn{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px;font-size:13px;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);margin-top:auto}.ex-start-btn.btn-completed{background:#34d3991f;border:1px solid rgba(52,211,153,.35);color:#34d399}.exercise-card:hover .ex-start-btn.btn-completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent;box-shadow:0 4px 16px #10b98166}.ex-start-btn.btn-inprogress{background:#38bdf81f;border:1px solid rgba(56,189,248,.35);color:#38bdf8}.exercise-card:hover .ex-start-btn.btn-inprogress{background:linear-gradient(135deg,#38bdf8,#8e5bff);color:#fff;border-color:transparent;box-shadow:0 4px 16px #38bdf866}.ex-start-btn.btn-start{background:#8e5bff1f;border:1px solid rgba(142,91,255,.35);color:#a78bfa}.exercise-card:hover .ex-start-btn.btn-start{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border-color:transparent;box-shadow:0 4px 16px #8e5bff66}.lb-coming-soon-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:32px 16px;position:relative;overflow:hidden}.lb-cs-orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}.lb-cs-orb-1{width:360px;height:360px;background:radial-gradient(circle,rgba(142,91,255,.18) 0%,transparent 70%);top:-60px;left:50%;transform:translate(-60%)}.lb-cs-orb-2{width:280px;height:280px;background:radial-gradient(circle,rgba(56,189,248,.14) 0%,transparent 70%);bottom:40px;right:10%}.lb-cs-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:24px;padding:44px 40px 36px;max-width:480px;width:100%;box-shadow:0 24px 80px #00000059;text-align:center}.lb-cs-trophy{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8e5bff1f,#38bdf814);border:1px solid rgba(142,91,255,.25);border-radius:20px}.lb-cs-trophy-glow{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;background:radial-gradient(circle,rgba(142,91,255,.2) 0%,transparent 70%);border-radius:50%;animation:lb-pulse 2.4s ease-in-out infinite}@keyframes lb-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.lb-cs-podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;width:100%}.lb-cs-slot{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.lb-cs-crown{font-size:18px;line-height:1}.lb-cs-avatar{width:36px;height:36px;border-radius:50%;background:var(--panel-bg);border:2px solid var(--border-glass-strong);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--ink-muted)}.lb-cs-avatar-blur{filter:blur(3px);-webkit-user-select:none;user-select:none}.lb-cs-bar{width:100%;border:1px solid;border-radius:8px 8px 0 0}.lb-cs-title{margin:0;font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-.02em}.lb-cs-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;box-shadow:0 4px 14px #8e5bff59;animation:lb-pulse 2.4s ease-in-out infinite}.lb-cs-desc{margin:0;font-size:14px;color:var(--ink-muted);line-height:1.65}.lb-cs-rows{position:relative;width:100%;display:flex;flex-direction:column;gap:8px;overflow:hidden}.lb-cs-row{display:flex;align-items:center;gap:10px;background:var(--panel-bg);border:1px solid var(--border-glass);border-radius:10px;padding:10px 14px}.lb-cs-row-rank{font-size:12px;font-weight:700;color:var(--ink-muted);width:24px;text-align:center;flex-shrink:0}.lb-cs-row-avatar{width:28px;height:28px;border-radius:50%;background:var(--border-glass-strong);flex-shrink:0}.lb-cs-row-lines{flex:1;display:flex;flex-direction:column;gap:5px}.lb-cs-row-line{height:8px;border-radius:4px;background:var(--border-glass-strong)}.lb-cs-row-xp{width:44px;height:8px;border-radius:4px;background:var(--border-glass-strong);flex-shrink:0}.lb-cs-blur-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 10%,var(--card-bg) 75%);pointer-events:none}.leaderboard-page{padding:24px 32px;display:flex;flex-direction:column;gap:24px;max-width:1360px;width:100%;margin:0 auto;box-sizing:border-box;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}.lb-title{font-size:26px;font-weight:800;color:var(--ink);margin:0 0 6px;letter-spacing:-.02em}.lb-sub{font-size:14px;color:var(--ink-secondary);margin:0}.lb-my-rank{display:inline-block;margin-top:10px;background:#8e5bff1f;border:1px solid rgba(142,91,255,.3);border-radius:8px;padding:5px 14px;font-size:13px;color:#8e5bff;font-weight:700}.lb-tabs{display:flex;gap:8px}.lb-tab{padding:7px 18px;border-radius:10px;border:1px solid var(--border-glass);background:transparent;color:var(--ink-secondary);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.lb-tab.active{background:#8e5bff2e;border-color:#8e5bff;color:#8e5bff;box-shadow:0 0 12px #8e5bff33}.lb-tab:hover:not(.active){background:var(--panel-bg);color:var(--ink);transform:translateY(-1px)}.lb-podium{display:flex;justify-content:center;align-items:flex-end;gap:20px;padding:32px 24px 0;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:24px;overflow:hidden;box-shadow:0 8px 32px #0003}.podium-slot{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:160px;transition:transform .25s ease}.podium-slot:hover{transform:translateY(-4px)}.podium-avatar-wrap{position:relative;display:flex;align-items:center;justify-content:center}.podium-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-size:20px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000004d}.podium-slot.rank-1 .podium-avatar{width:66px;height:66px;font-size:26px;box-shadow:0 0 28px #f59e0b73}.podium-trophy-badge{position:absolute;bottom:-6px;font-family:var(--mono);font-size:10.5px;font-weight:900;color:#fff;padding:2px 8px;border-radius:10px;box-shadow:0 2px 8px #0006}.podium-name{font-size:13px;font-weight:800;color:var(--ink);text-align:center}.podium-xp{font-size:11.5px;color:var(--ink-muted);font-weight:600}.podium-block{width:100%;background:linear-gradient(180deg,#8e5bff2e,#8e5bff0a);border-top:3px solid #8E5BFF;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.podium-slot.rank-1 .podium-block{background:linear-gradient(180deg,#f59e0b40,#f59e0b0d);border-color:#f59e0b}.lb-list{display:flex;flex-direction:column;gap:8px}.lb-loading{text-align:center;color:var(--ink-muted);padding:40px}.lb-row{display:flex;align-items:center;gap:14px;padding:12px 18px;background:var(--card-bg);border:1px solid var(--border-glass);border-radius:14px;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #0000001a}.lb-row:hover{background:var(--panel-bg);transform:translate(3px);border-color:#8e5bff40}.lb-row.is-me{border-color:#8e5bff66;background:#8e5bff14}.lb-rank{width:44px;text-align:center;flex-shrink:0}.lb-badge-top{font-family:var(--mono);font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px}.lb-rank-num{font-size:13px;font-weight:700;color:var(--ink-muted)}.lb-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lb-info{flex:1;min-width:0}.lb-name{font-size:13px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}.lb-you{background:#8e5bff26;color:#8e5bff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}.lb-role{font-size:11px;color:var(--ink-muted);display:block;margin-top:2px}.lb-stats{display:flex;gap:10px;flex-shrink:0}.lb-streak,.lb-exercises{font-size:12px;color:var(--ink-secondary);font-weight:600}.lb-xp-wrap{display:flex;flex-direction:column;gap:4px;align-items:flex-end;width:100px;flex-shrink:0}.lb-xp-bar{width:80px;height:4px;background:var(--panel-bg);border-radius:2px;overflow:hidden}.lb-xp-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#8e5bff,#38bdf8);transition:width .5s}.lb-xp-val{font-size:12px;font-weight:800;color:#8e5bff}.files-page-container.ultra-minimal{padding:32px 40px;gap:24px;max-width:1300px;margin:0 auto;width:100%;position:relative}.files-ambient-bg.full-page{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.22;animation:floatOrb 14s ease-in-out infinite alternate}.ambient-orb.orb-1{width:450px;height:450px;top:-100px;right:-80px;background:radial-gradient(circle,#8e5bff,#38bdf8);animation-duration:12s}.ambient-orb.orb-2{width:500px;height:500px;bottom:-120px;left:-100px;background:radial-gradient(circle,#a855f7,#ec4899);animation-duration:16s;animation-delay:-6s}@keyframes floatOrb{0%{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.12)}to{transform:translate(-30px,40px) scale(.92)}}.files-animated-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(ellipse 70% 65% at 50% 30%,#000 25%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 30%,#000 25%,transparent 100%);animation:gridBreathe 8s ease-in-out infinite alternate;pointer-events:none;z-index:1}@keyframes gridBreathe{0%{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}to{opacity:.45;transform:scale(1)}}.files-header-title-row{position:relative;z-index:1;margin-bottom:2px}.files-main-title{font-size:28px;font-weight:900;color:var(--ink);margin:0;letter-spacing:-.01em}.files-subtitle{font-size:13px;color:var(--ink-muted);margin:4px 0 0;font-weight:500}.files-unified-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1}.files-search-wrap.inline.google-style{position:relative;flex:1;max-width:480px;display:flex;align-items:center}.search-leading{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none;display:flex;align-items:center;transition:color .2s ease}.files-search-wrap.google-style.focused .search-leading{color:#8e5bff}.files-search-input.inline.google-style{width:100%;height:42px;padding:0 46px 0 44px;border-radius:22px;background:var(--card-bg);border:1px solid var(--border-glass-strong);color:var(--ink);font-family:var(--ui);font-size:13.5px;font-weight:500;outline:none;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 14px #0000001f}.files-search-input.inline.google-style:hover{border-color:#8e5bff66;box-shadow:0 6px 18px #0003}.files-search-input.inline.google-style:focus{background:#12182af2;border-color:#8e5bff;box-shadow:0 6px 24px #8e5bff59,inset 0 1px #ffffff1a}.search-trailing{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center}.search-shortcut-badge{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-muted);background:#ffffff14;border:1px solid var(--border-glass);padding:2px 6px;border-radius:6px;pointer-events:none}.clear-search-btn{background:#ffffff1a;border:none;color:var(--ink-muted);border-radius:50%;width:20px;height:20px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-search-btn:hover{background:#f43f5e33;color:#f43f5e}.google-search-dropdown{position:absolute;top:48px;left:0;right:0;z-index:40;background:#12182af5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border-glass-strong);border-radius:16px;padding:8px 0;box-shadow:0 14px 40px #00000080,0 0 20px #8e5bff40;animation:popoverFade .2s cubic-bezier(.16,1,.3,1);max-height:260px;overflow-y:auto}.search-suggestion-item{display:flex;align-items:center;gap:10px;padding:9px 18px;color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.search-suggestion-item:hover{background:#8e5bff26;color:#fff}.suggestion-name{flex:1;font-family:var(--mono)}.suggestion-badge{font-size:10.5px;font-weight:700;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:2px 8px;border-radius:10px}.search-suggestion-empty{padding:14px;text-align:center;font-size:12.5px;color:var(--ink-muted)}.files-filter-group{display:flex;align-items:center;gap:8px}.unified-pill{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:12px;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--ink-muted);background:var(--card-bg);border:1px solid var(--border-glass-strong);cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1)}.unified-pill:hover{color:var(--ink);border-color:#8e5bff66;transform:translateY(-1px)}.unified-pill.active{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border-color:transparent;box-shadow:0 4px 14px #8e5bff59}.unified-pill.plus-btn{width:38px;padding:0;font-size:20px;font-weight:800;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border-color:transparent;box-shadow:0 4px 14px #8e5bff59}.unified-pill.plus-btn:hover{transform:scale(1.08) rotate(90deg);box-shadow:0 6px 20px #8e5bff80}.lang-pick-btn:hover{border-color:#8e5bff8c!important;background:#8e5bff14!important;transform:translateY(-2px)}.files-action-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 18px;border-radius:12px;font-family:var(--ui);font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,#8e5bff,#38bdf8);border:none;cursor:pointer;box-shadow:0 4px 14px #8e5bff59;transition:all .22s cubic-bezier(.16,1,.3,1);white-space:nowrap}.files-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8e5bff80}.files-action-btn:active{transform:translateY(0)}.files-filter-pills.ultra-minimal{display:flex;align-items:center;gap:5px;background:var(--card-bg);padding:4px;border-radius:12px;border:1px solid var(--border-glass)}.folder-grid.ultra-minimal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:38px 24px;margin-top:24px;padding-top:18px}.folder-card.ultra-minimal{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:155px;padding:18px 20px 16px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:0 16px 16px;box-shadow:0 6px 20px #0003;cursor:grab;-webkit-user-select:none;user-select:none;transition:all .25s cubic-bezier(.16,1,.3,1)}.folder-card-tab{position:absolute;top:-18px;left:-1px;height:18px;padding:0 14px;background:var(--card-bg);border-top:1.5px solid var(--folder-accent, var(--border-glass-strong))!important;border-left:1px solid var(--border-glass-strong);border-right:1px solid var(--border-glass-strong);border-radius:9px 9px 0 0;display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px!important;font-weight:800!important;color:var(--folder-accent, #A78BFA)!important;letter-spacing:.05em}.folder-card-title{font-family:var(--mono);font-size:15.5px!important;font-weight:800;color:var(--ink);margin:0;line-height:1.35;word-break:break-word}.folder-card.ultra-minimal:active{cursor:grabbing}.folder-card.ultra-minimal.is-dragging{opacity:.35;transform:scale(.95);border-style:dashed!important;border-color:#8e5bff!important}.folder-card.ultra-minimal.is-drag-over{border-color:#38bdf8!important;box-shadow:0 0 25px #38bdf873!important;transform:translateY(-4px) scale(1.02)}.chrome-top-tab{cursor:grab}.chrome-top-tab:active,.chrome-top-tab.is-dragging-tab{cursor:grabbing;opacity:.5}.folder-card.ultra-minimal:hover{transform:none;border-color:var(--folder-accent, rgba(142, 91, 255, .6))!important;box-shadow:0 8px 30px #00000059,0 0 20px var(--folder-accent, rgba(142, 91, 255, .2))!important}.folder-card.color-purple{--folder-accent: #8E5BFF}.folder-card.color-cyan{--folder-accent: #38BDF8}.folder-card.color-green{--folder-accent: #10B981}.folder-card.color-red{--folder-accent: #F43F5E}.folder-card.color-amber{--folder-accent: #F59E0B}.folder-card.color-white{--folder-accent: #E2E8F0}.folder-card-tab{border-top-color:var(--folder-accent, var(--border-glass-strong))!important;color:var(--folder-accent, var(--ink))!important}.folder-icon-wrap{color:var(--folder-accent, #8E5BFF);cursor:pointer;transition:transform .2s ease}.folder-icon-wrap:hover{transform:scale(1.18)}.folder-card.ultra-minimal.is-dragging-live{opacity:.45;transform:scale(.97);border-style:dashed!important;border-color:var(--folder-accent, #8E5BFF)!important;transition:transform .2s cubic-bezier(.16,1,.3,1)}.folder-color-trigger{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;margin-right:4px}.color-dot{width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);transition:transform .2s ease}.folder-color-trigger:hover .color-dot{transform:scale(1.25)}.color-dot.color-purple{background:#8e5bff}.color-dot.color-cyan{background:#38bdf8}.color-dot.color-green{background:#10b981}.color-dot.color-red{background:#f43f5e}.color-dot.color-amber{background:#f59e0b}.color-dot.color-white{background:#e2e8f0}.folder-color-popover{position:absolute;top:34px;right:12px;z-index:30;background:#12182af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass-strong);border-radius:12px;padding:10px;box-shadow:0 10px 30px #00000080,0 0 15px #8e5bff33;animation:popoverFade .2s cubic-bezier(.16,1,.3,1)}@keyframes popoverFade{0%{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.color-popover-title{font-size:10px;font-weight:800;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;text-align:center}.color-swatch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.color-swatch.color-purple{background:#8e5bff}.color-swatch.color-cyan{background:#38bdf8}.color-swatch.color-green{background:#10b981}.color-swatch.color-red{background:#f43f5e}.color-swatch.color-amber{background:#f59e0b}.color-swatch.color-white{background:#e2e8f0}.color-swatch:hover{transform:scale(1.2)}.color-swatch.active{border-color:#fff;box-shadow:0 0 8px #fff9}@keyframes starPop{0%{transform:scale(1)}40%{transform:scale(1.5) rotate(15deg)}80%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1) rotate(0)}}.star-btn.burst{animation:starPop .4s cubic-bezier(.175,.885,.32,1.275)}.folder-card-title.editable{display:flex;align-items:center;gap:6px;cursor:pointer}.title-edit-btn{opacity:0;background:none;border:none;color:var(--ink-muted);cursor:pointer;padding:2px;display:inline-flex;align-items:center;transition:all .2s ease}.folder-card.ultra-minimal:hover .title-edit-btn{opacity:.7}.title-edit-btn:hover{opacity:1!important;color:#8e5bff;transform:scale(1.15)}.folder-card-title-input{background:#0e1220e6;border:1px solid #8E5BFF;border-radius:6px;color:var(--ink);font-family:var(--mono);font-size:13.5px;font-weight:700;padding:2px 6px;outline:none;width:100%;box-shadow:0 0 14px #8e5bff59}.folder-card-tab{position:absolute;top:-14px;left:-1px;height:14px;padding:0 10px;background:var(--card-bg);border-top:1px solid var(--border-glass-strong);border-left:1px solid var(--border-glass-strong);border-right:1px solid var(--border-glass-strong);border-radius:8px 8px 0 0;display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9px;font-weight:900;color:#a78bfa;letter-spacing:.04em}.folder-card-header{display:flex;justify-content:flex-end}.folder-card-body.ultra-minimal{display:flex;align-items:center;gap:10px;margin:4px 0 10px}.folder-icon-wrap{color:var(--folder-accent, #8E5BFF)!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}.folder-card-title{font-family:var(--mono);font-size:13.5px;font-weight:800;color:var(--ink);margin:0;line-height:1.3;word-break:break-word}.folder-card-footer.ultra-minimal{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border-glass)}.folder-open-btn.ultra-minimal{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--folder-accent, #8E5BFF)!important;background:#ffffff0d!important;border:1px solid var(--border-glass)!important;border-radius:8px;padding:4px 12px;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;gap:4px}.folder-open-btn.ultra-minimal:hover{background:#ffffff1a!important;border-color:var(--folder-accent, #8E5BFF)!important;transform:translate(2px)!important}.files-empty-card.ultra-minimal{padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--border-glass);border-radius:14px;text-align:center}.challenges-page-container{padding:32px 40px;max-width:1300px;margin:0 auto;width:100%;position:relative;display:flex;flex-direction:column;gap:20px}.challenges-header-row{position:relative;z-index:1}.challenges-main-title{font-size:28px;font-weight:900;color:var(--ink);margin:0;letter-spacing:-.01em}.challenges-subtitle{font-size:13px;color:var(--ink-muted);margin:4px 0 0;font-weight:500}.challenges-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:1}.challenges-search-wrap{position:relative;flex:1;max-width:440px;display:flex;align-items:center}.challenges-search-wrap .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none}.challenges-search-input{width:100%;height:40px;padding:0 42px 0 40px;border-radius:20px;background:var(--card-bg);border:1px solid var(--border-glass-strong);color:var(--ink);font-family:var(--ui);font-size:13px;outline:none;transition:all .22s ease}.challenges-search-input:focus{border-color:#38bdf8;box-shadow:0 0 18px #38bdf84d}.challenges-filter-group{display:flex;align-items:center;gap:6px}.challenge-pill{padding:6px 14px;border-radius:18px;font-family:var(--ui);font-size:12px;font-weight:700;color:var(--ink-muted);background:#ffffff0a;border:1px solid var(--border-glass);cursor:pointer;transition:all .22s ease}.challenge-pill:hover{color:var(--ink);background:#ffffff14;border-color:#38bdf84d}.challenge-pill.active{background:linear-gradient(135deg,#38bdf8,#8e5bff);color:#fff;border-color:transparent;box-shadow:0 3px 14px #38bdf859}.animated-shimmer{background:linear-gradient(135deg,#fff,#38bdf8,#a855f7);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titleShimmer 5s ease-in-out infinite alternate}@keyframes titleShimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}.challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:14px}.challenge-cyber-card{position:relative;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:18px;padding:22px 20px;display:flex;flex-direction:column;justify-content:space-between;min-height:165px;overflow:hidden;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 6px 20px #0003}.cyber-card-top-bar{position:absolute;top:0;left:0;right:0;height:4px;background:var(--diff-color, #38BDF8);opacity:.85;transition:opacity .2s ease}.challenge-cyber-card:hover{border-color:var(--diff-color, #38BDF8);transform:translateY(-3px);box-shadow:0 12px 32px #0006,0 0 24px var(--diff-color, rgba(56, 189, 248, .25))}.cyber-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cyber-badge-wrap{display:flex;align-items:center;gap:6px}.cyber-lang-badge{font-family:var(--mono);font-size:10.5px;font-weight:800;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.25);padding:3px 8px;border-radius:6px}.cyber-diff-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:800;color:var(--diff-color)}.diff-dot{width:7px;height:7px;border-radius:50%;background:var(--diff-color)}.cyber-status-completed{font-family:var(--mono);font-size:11px;font-weight:800;color:#10b981}.cyber-status-count{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-muted)}.cyber-card-body{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.cyber-card-title{font-family:var(--mono);font-size:16px;font-weight:800;color:var(--ink);margin:4px 0 0;line-height:1.35}.cyber-tags{display:flex;flex-wrap:wrap;gap:4px}.cyber-tag{font-family:var(--mono);font-size:9.5px;font-weight:700;color:var(--ink-muted);background:#ffffff0a;border:1px solid var(--border-glass);padding:1px 6px;border-radius:4px}.cyber-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border-glass)}.cyber-progress-track{height:4px;width:70px;background:var(--panel-bg);border-radius:2px;overflow:hidden}.cyber-progress-fill{height:100%;background:var(--diff-color, #38BDF8);border-radius:2px;transition:width .4s ease}.challenge-launch-btn{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--diff-color, #38BDF8);background:#ffffff0d;border:1px solid var(--border-glass);padding:4px 12px;border-radius:8px;cursor:pointer;transition:all .22s ease}.challenge-launch-btn:hover{background:#ffffff1f;border-color:var(--diff-color);transform:translate(2px)}.exercise-card-minimal{cursor:pointer}.ex-completed-badge{font-family:var(--mono);font-size:10px;font-weight:800;color:#10b981;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:2px 7px;border-radius:6px}.ex-questions-count{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--ink-muted)}.ex-title-group{display:flex;flex-direction:column;gap:4px}.ex-mini-tags{display:flex;flex-wrap:wrap;gap:4px}.ex-tag-pill{font-family:var(--mono);font-size:9.5px;font-weight:700;color:var(--ink-muted);background:#ffffff0d;border:1px solid var(--border-glass);padding:1px 6px;border-radius:4px}.ex-card-progress-bar{height:4px;width:65px;background:var(--panel-bg);border-radius:2px;overflow:hidden}.ex-card-progress-fill{height:100%;border-radius:2px;transition:width .4s ease}.file-card:hover{transform:translateY(-3px);border-color:#8e5bff80;box-shadow:0 12px 32px #00000040,0 0 20px #8e5bff26}.file-card-top{display:flex;align-items:center;justify-content:space-between}.file-lang-pill{font-family:var(--mono);font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;text-transform:uppercase}.file-lang-pill.python{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.file-lang-pill.learn{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.star-btn{font-size:16px;color:var(--ink-muted);background:none;border:none;cursor:pointer;transition:all .2s ease}.star-btn:hover,.star-btn.active{color:#f59e0b;transform:scale(1.2)}.file-card-body{display:flex;align-items:flex-start;gap:12px}.file-card-icon{width:40px;height:40px;border-radius:10px;background:#8e5bff1f;border:1px solid rgba(142,91,255,.25);color:#8e5bff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-card-info{display:flex;flex-direction:column;gap:4px}.file-card-title{font-family:var(--mono);font-size:14px;font-weight:800;color:var(--ink);margin:0;line-height:1.3}.file-card-desc{font-size:12px;color:var(--ink-secondary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.file-tags-row{display:flex;flex-wrap:wrap;gap:6px}.file-tag{font-family:var(--mono);font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:5px;background:#ffffff0d;border:1px solid var(--border-glass);color:var(--ink-muted)}.file-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border-glass)}.file-meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-muted)}.file-actions{display:flex;align-items:center;gap:8px}.file-act-btn{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;font-weight:800;border-radius:6px;padding:4px 10px;cursor:pointer;transition:all .2s ease}.file-act-btn.open{background:#8e5bff29;color:#8e5bff;border:1px solid rgba(142,91,255,.3)}.file-act-btn.open:hover{background:#8e5bff;color:#fff}.file-act-btn.delete{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.25);padding:4px 6px}.file-act-btn.delete:hover{background:#ef4444;color:#fff}.files-empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;background:var(--card-bg);border:1.5px dashed var(--border-glass-strong);border-radius:20px;text-align:center}.empty-glow-icon{width:64px;height:64px;border-radius:50%;background:#8e5bff1f;border:1px solid rgba(142,91,255,.3);color:#8e5bff;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 0 30px #8e5bff33}.empty-title{font-size:18px;font-weight:800;color:var(--ink);margin:0 0 6px}.empty-desc{font-size:13px;color:var(--ink-secondary);max-width:360px;margin:0 0 20px}.empty-actions{display:flex;gap:10px}.empty-btn{padding:9px 18px;border-radius:10px;font-family:var(--mono);font-size:12.5px;font-weight:800;cursor:pointer}.empty-btn.primary{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border:none;box-shadow:0 4px 14px #8e5bff4d}.empty-btn.secondary{background:var(--panel-bg);color:var(--ink);border:1px solid var(--border-glass-strong)}.files-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070dcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.files-modal-card{width:100%;max-width:440px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;overflow:hidden;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column}.files-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--panel-bg);border-bottom:1px solid var(--border-glass)}.files-modal-header h3{margin:0;font-size:16px;font-weight:800;color:var(--ink)}.modal-close-btn{background:none;border:none;color:var(--ink-muted);font-size:16px;cursor:pointer}.files-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.modal-field-label{font-family:var(--mono);font-size:11.5px;font-weight:800;color:var(--ink-secondary)}.modal-input{width:100%;height:42px;padding:0 14px;border-radius:10px;background:var(--panel-bg);border:1px solid var(--border-glass-strong);color:var(--ink);font-family:var(--mono);font-size:13px;outline:none}.modal-input:focus{border-color:#8e5bff}.modal-mode-select{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-mode-option{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:var(--panel-bg);border:1px solid var(--border-glass);text-align:left;cursor:pointer;transition:all .2s ease}.modal-mode-option.active{border-color:#8e5bff;background:#8e5bff1f;box-shadow:0 0 14px #8e5bff33}.option-title{font-family:var(--mono);font-size:12px;font-weight:800;color:var(--ink)}.option-desc{font-size:10.5px;color:var(--ink-muted);line-height:1.3}.files-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;background:var(--panel-bg);border-top:1px solid var(--border-glass)}.modal-btn{padding:8px 16px;border-radius:9px;font-family:var(--mono);font-size:12px;font-weight:800;cursor:pointer}.modal-btn.cancel{background:transparent;color:var(--ink-muted);border:1px solid var(--border-glass)}.modal-btn.submit{background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;border:none}@media (max-width: 860px){.portal-sidebar{display:none}.portal-body{flex-direction:column}.home-stats-row{grid-template-columns:1fr 1fr}.home-grid{grid-template-columns:1fr}.home-page{padding:16px;gap:16px}.home-hero{padding:18px;flex-direction:column;align-items:flex-start}.exercises-page,.leaderboard-page{padding:16px}.workbench-page .wb-body{flex-direction:column}.wb-output-pane{width:100%;height:220px;border-top:1px solid var(--border-glass);border-right:none}.wb-toolbar{left:50%;top:auto;bottom:70px;transform:translate(-50%);flex-direction:row;border-radius:14px;padding:6px 8px;max-height:none;max-width:calc(100vw - 24px);overflow-x:auto}.lb-podium{min-height:140px}.topbar-right .gamify-symbolic{display:none}}@media (max-width: 520px){.exercises-grid{grid-template-columns:1fr}.lb-stats{display:none}.lb-xp-wrap{width:80px}}.player-voice-group{display:flex;align-items:center;gap:6px}.player-gender-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;font-family:var(--ui);font-size:11.5px;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #0003}.player-gender-pill.female{color:#f472b6;border:1px solid rgba(244,114,182,.4);background:#f472b61f}.player-gender-pill.female:hover{background:#f472b638;border-color:#f472b699;transform:translateY(-1px)}.player-gender-pill.male{color:#38bdf8;border:1px solid rgba(56,189,248,.4);background:#38bdf81f}.player-gender-pill.male:hover{background:#38bdf838;border-color:#38bdf899;transform:translateY(-1px)}@keyframes scaleIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.workbench-page-sandbox{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-0);overflow:hidden}.wb-sandbox-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--card-bg);border-bottom:1px solid var(--border-glass);gap:12px;flex-shrink:0;height:52px}.wb-topbar-left{display:flex;align-items:center;gap:12px}.wb-select-wrap{position:relative;display:inline-flex;align-items:center}.wb-lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--panel-bg);border:1.5px solid var(--border-glass-strong);border-radius:10px;padding:7px 34px 7px 14px;font-family:var(--ui);font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;outline:none;transition:all .2s;box-shadow:0 2px 8px #00000026}.wb-lang-select:hover{border-color:var(--secondary);background:var(--card-bg)}.wb-topbar-center{display:flex;align-items:center;gap:8px}.wb-files-dropdown-btn{background:var(--panel-bg);border:1px solid var(--border-glass);color:var(--ink-secondary);padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.wb-files-dropdown-btn:hover{background:var(--card-bg);color:var(--ink)}.wb-icon-action-btn{background:var(--panel-bg);border:1px solid var(--border-glass);color:var(--ink-muted);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.wb-icon-action-btn:hover{color:var(--ink);border-color:var(--secondary)}.wb-green-run-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:9px;padding:8px 20px;font-size:13.5px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #10b98159;transition:all .2s cubic-bezier(.16,1,.3,1)}.wb-green-run-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #10b98180;background:linear-gradient(135deg,#34d399,#10b981)}.wb-sandbox-grid{display:flex;flex:1;width:100%;height:calc(100% - 52px);overflow:hidden;gap:12px;padding:12px}.wb-sandbox-left-panel{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}.wb-sandbox-right-panel{width:440px;display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden}.wb-editor-container-card{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:14px;height:100%;overflow:hidden;box-shadow:0 4px 20px #00000040}.wb-editor-tab-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--panel-bg);border-bottom:1px solid var(--border-glass)}.wb-file-tab-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:8px;font-size:12.5px;font-weight:700;color:var(--ink)}.wb-file-tabs-nav{display:flex;align-items:center;gap:4px}.wb-nav-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-family:var(--ui);font-size:12px;font-weight:700;color:var(--ink-muted);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.wb-nav-tab-btn:hover{background:#ffffff0d;color:var(--ink)}.wb-nav-tab-btn.active{background:var(--card-bg);border-color:var(--border-glass-strong);color:var(--ink);box-shadow:0 2px 8px #0003}.wb-nav-tab-btn.active.html{color:#38bdf8;border-color:#38bdf866}.wb-nav-tab-btn.active.css{color:#f472b6;border-color:#f472b666}.wb-nav-tab-btn.active.js{color:#fcd34d;border-color:#fcd34d66}.wb-nav-tab-btn.active.split{color:#8e5bff;border-color:#8e5bff66}.tab-indicator{width:6px;height:6px;border-radius:50%}.tab-indicator.html-dot{background:#38bdf8;box-shadow:0 0 6px #38bdf8}.tab-indicator.css-dot{background:#f472b6;box-shadow:0 0 6px #f472b6}.tab-indicator.js-dot{background:#fcd34d;box-shadow:0 0 6px #fcd34d}.wb-big-editor-panel{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;background:var(--panel-bg)}.wb-big-editor-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#0003;border-bottom:1px solid var(--border-glass)}.wb-editor-lang-tag{font-family:var(--mono);font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:6px}.wb-editor-lang-tag.html-tag{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.wb-editor-lang-tag.css-tag{background:#f472b626;color:#f472b6;border:1px solid rgba(244,114,182,.3)}.wb-editor-lang-tag.js-tag{background:#fcd34d26;color:#fcd34d;border:1px solid rgba(252,211,77,.3)}.wb-editor-lang-tag.java-tag{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.wb-editor-hint{font-size:11.5px;color:var(--ink-muted);font-weight:600}.wb-big-editor-panel .wb-accordion-body{flex:1;height:100%!important;min-height:400px!important}.wb-editor-top-actions{display:flex;align-items:center;gap:8px}.wb-protips-chip{display:inline-flex;align-items:center;gap:5px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#f59e0b;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer}.wb-tiny-icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ink-muted);font-size:14px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:color .15s}.wb-tiny-icon-btn:hover{color:var(--ink);background:#ffffff0d}.wb-menu-relative{position:relative;display:inline-block}.wb-dropdown-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:100;min-width:190px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:12px;padding:6px;box-shadow:0 10px 30px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .15s ease-out}.wb-dropdown-popover.right-aligned{left:auto;right:0}.wb-popover-header{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);padding:6px 10px;border-bottom:1px solid var(--border-glass);margin-bottom:4px}.wb-popover-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border:none;border-radius:8px;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:all .15s ease}.wb-popover-item:hover{background:#8e5bff26;color:#8e5bff}.wb-floating-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:999;display:flex;align-items:center;gap:10px;background:#0e1220eb;border:1px solid rgba(52,211,153,.4);color:#fff;padding:10px 20px;border-radius:30px;font-size:13px;font-weight:700;box-shadow:0 10px 30px #00000080,0 0 20px #34d39933;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .25s cubic-bezier(.16,1,.3,1)}.wb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998;background:#07080ebf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.wb-protips-modal-card{width:100%;max-width:440px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;padding:24px;box-shadow:0 16px 48px #0009;display:flex;flex-direction:column;gap:18px}.wb-modal-header{display:flex;align-items:center;justify-content:space-between}.wb-modal-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--ink)}.wb-close-modal-btn{background:transparent;border:none;color:var(--ink-muted);font-size:16px;cursor:pointer;padding:4px}.wb-close-modal-btn:hover{color:var(--ink)}.wb-protips-body{display:flex;flex-direction:column;gap:12px}.wb-tip-row{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--ink-secondary);line-height:1.5}.wb-tip-badge{width:22px;height:22px;border-radius:50%;background:#f59e0b26;color:#f59e0b;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.wb-editor-subactions{display:flex;gap:16px;padding:6px 16px;background:var(--card-bg);border-bottom:1px solid var(--border-glass);font-size:12px}.wb-text-link-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--ink-muted);font-size:11.5px;font-weight:600;cursor:pointer;transition:color .15s}.wb-text-link-btn:hover{color:var(--secondary)}.wb-accordions-list{flex:1;overflow-y:auto;padding:12px 12px 28px;display:flex;flex-direction:column;gap:12px}.wb-accordion-box{background:var(--panel-bg);border:1px solid var(--border-glass);border-radius:12px;overflow:hidden;transition:border-color .2s}.wb-accordion-box.expanded{border-color:var(--border-glass-strong)}.wb-accordion-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#ffffff05;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:800;font-size:12px;letter-spacing:.04em;color:var(--ink-secondary)}.wb-accordion-header:hover{background:#ffffff0d;color:var(--ink)}.wb-accordion-body{display:flex;border-top:1px solid var(--border-glass);background:var(--panel-bg);height:220px;min-height:180px;position:relative}.wb-line-numbers{padding:12px 10px 44px;background:#00000026;border-right:1px solid var(--border-glass);color:var(--ink-muted);font-family:var(--mono);font-size:13px;line-height:1.6;text-align:right;-webkit-user-select:none;user-select:none;overflow-y:hidden;box-sizing:border-box;height:100%}.wb-code-editor-wrap{position:relative;flex:1;height:100%;overflow:hidden}.wb-code-highlight,.wb-accordion-textarea{font-family:var(--mono)!important;font-size:13px!important;line-height:1.6!important;letter-spacing:0px!important;padding:12px 14px 44px!important;margin:0!important;border:none!important;box-sizing:border-box!important;white-space:pre!important;word-wrap:normal!important;-moz-tab-size:2!important;tab-size:2!important}.wb-code-highlight{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;color:#cbd5e1}.wb-accordion-textarea{position:absolute;top:0;right:0;bottom:0;left:0;color:transparent;caret-color:#38bdf8;background:transparent;outline:none;resize:none;width:100%;height:100%;overflow:auto!important}.wb-accordion-textarea::-webkit-scrollbar,.wb-accordions-list::-webkit-scrollbar,.wb-code-editor-wrap::-webkit-scrollbar,.wb-console-body::-webkit-scrollbar{width:9px!important;height:9px!important}.wb-accordion-textarea::-webkit-scrollbar-track,.wb-accordions-list::-webkit-scrollbar-track,.wb-code-editor-wrap::-webkit-scrollbar-track,.wb-console-body::-webkit-scrollbar-track{background:#0e122066!important;border-radius:4px!important}.wb-accordion-textarea::-webkit-scrollbar-thumb,.wb-accordions-list::-webkit-scrollbar-thumb,.wb-code-editor-wrap::-webkit-scrollbar-thumb,.wb-console-body::-webkit-scrollbar-thumb{background:#8e5bff73!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.1)!important}.wb-accordion-textarea::-webkit-scrollbar-thumb:hover,.wb-accordions-list::-webkit-scrollbar-thumb:hover,.wb-code-editor-wrap::-webkit-scrollbar-thumb:hover,.wb-console-body::-webkit-scrollbar-thumb:hover{background:#8e5bffcc!important}[data-theme=light] .wb-accordion-textarea::-webkit-scrollbar-track,.light-theme .wb-accordion-textarea::-webkit-scrollbar-track{background:#f1f5f9!important}[data-theme=light] .wb-accordion-textarea::-webkit-scrollbar-thumb,.light-theme .wb-accordion-textarea::-webkit-scrollbar-thumb{background:#94a3b8!important}.syn-comment{color:#64748b;font-style:italic}.syn-doctype{color:#f472b6;font-weight:700}.syn-tag{color:#38bdf8;font-weight:700}.syn-bracket{color:#8e5bff}.syn-attr{color:#fcd34d}.syn-string{color:#34d399}.syn-selector{color:#f472b6;font-weight:700}.syn-property{color:#60a5fa}.syn-keyword{color:#c084fc;font-weight:700}.syn-builtin{color:#38bdf8;font-weight:700}.syn-number{color:#f87171}[data-theme=light] .syn-comment,.light-theme .syn-comment{color:#6a737d!important;font-style:italic}[data-theme=light] .syn-doctype,.light-theme .syn-doctype{color:#d73a49!important;font-weight:700}[data-theme=light] .syn-tag,.light-theme .syn-tag{color:#22863a!important;font-weight:700}[data-theme=light] .syn-bracket,.light-theme .syn-bracket{color:#6f42c1!important}[data-theme=light] .syn-attr,.light-theme .syn-attr{color:#b08800!important;font-weight:600}[data-theme=light] .syn-string,.light-theme .syn-string{color:#032f62!important}[data-theme=light] .syn-selector,.light-theme .syn-selector{color:#6f42c1!important;font-weight:700}[data-theme=light] .syn-property,.light-theme .syn-property{color:#005cc5!important}[data-theme=light] .syn-keyword,.light-theme .syn-keyword{color:#d73a49!important;font-weight:700}[data-theme=light] .syn-builtin,.light-theme .syn-builtin{color:#005cc5!important;font-weight:700}[data-theme=light] .syn-number,.light-theme .syn-number{color:#005cc5!important}[data-theme=light] .wb-code-highlight,.light-theme .wb-code-highlight{color:#1e293b!important}[data-theme=light] .wb-accordion-textarea,.light-theme .wb-accordion-textarea{caret-color:#7c3aed!important}[data-theme=light] .wb-line-numbers,.light-theme .wb-line-numbers{background:#f1f5f9!important;color:#64748b!important;border-right-color:#e2e8f0!important}.wb-run-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.wb-console-body{position:relative}.wb-console-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#07080ed9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.wb-compiling-modal{display:flex;flex-direction:column;align-items:center;gap:14px;background:var(--card-bg);border:1px solid var(--border-glass-strong);padding:28px 36px;border-radius:20px;box-shadow:0 12px 40px #00000080;text-align:center}.wb-spinner-ring{width:38px;height:38px;border:3px solid rgba(142,91,255,.2);border-top-color:#8e5bff;border-right-color:#38bdf8;border-radius:50%;animation:spin .7s linear infinite}.wb-compiling-text{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.wb-compiling-bar{width:180px;height:4px;background:var(--panel-bg);border-radius:4px;overflow:hidden;position:relative}.wb-compiling-progress{position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,#8e5bff,#38bdf8);border-radius:4px;animation:shimmerProgress 1s infinite ease-in-out}@keyframes shimmerProgress{0%{left:-40%}to{left:100%}}.wb-editor-statusbar{display:flex;justify-content:space-between;padding:6px 14px;background:var(--panel-bg);border-top:1px solid var(--border-glass);font-family:var(--mono);font-size:11px;color:var(--ink-muted)}.wb-console-card{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:14px;height:100%;overflow:hidden;box-shadow:0 4px 20px #00000040}.wb-console-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--panel-bg);border-bottom:1px solid var(--border-glass)}.wb-console-title{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;font-weight:800;color:var(--ink)}.wb-prompt-icon{color:#10b981;font-weight:900}.wb-console-actions{display:flex;align-items:center;gap:8px}.wb-console-badge{font-size:11px;font-weight:600;color:var(--ink-muted)}.wb-console-clear-btn{background:transparent;border:none;color:var(--ink-muted);font-size:11.5px;cursor:pointer}.wb-console-clear-btn:hover{color:#ef4444}.wb-console-body{flex:1;display:flex;flex-direction:column;background:var(--panel-bg);overflow:hidden;position:relative}.wb-console-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;gap:14px;margin:auto;max-width:320px;animation:fadeIn .25s ease-out}.wb-placeholder-badge{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#8e5bff26,#38bdf826);border:1px solid var(--border-glass-strong);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #38bdf826;margin-bottom:4px}.wb-console-placeholder h3{margin:0;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.01em}.wb-console-placeholder p{margin:0;font-size:13px;color:var(--ink-secondary);line-height:1.5}.wb-placeholder-run-btn{padding:10px 24px!important;font-size:13.5px!important;border-radius:12px!important;margin-top:4px;box-shadow:0 6px 20px #34d39959!important}.wb-placeholder-run-btn:hover{transform:translateY(-2px) scale(1.03)!important;box-shadow:0 8px 26px #34d39980!important}.wb-mini-run-pill{background:#10b981;color:#fff;padding:2px 8px;border-radius:6px;font-weight:700;font-size:11px}.wb-preview-iframe{width:100%;height:100%;border:none;background:#fff}.wb-java-logs{padding:16px;font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--code-ink)}.wb-embedded-visualizer{flex:1;height:100%;display:flex;flex-direction:column;min-height:0}.home-dashboard-v2{padding:32px 40px;display:flex;flex-direction:column;gap:32px;max-width:1440px;width:100%;margin:0 auto;box-sizing:border-box;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1)}@media (max-width: 768px){.home-dashboard-v2{padding:20px 16px;gap:20px}}.dash-hero-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 36px;background:linear-gradient(135deg,#8e5bff1f,#38bdf80f);border:1px solid var(--border-glass-strong);border-radius:24px;box-shadow:0 12px 40px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-wrap:wrap}.hero-left-col{display:flex;align-items:center;gap:20px}.hero-avatar-ring{position:relative;flex-shrink:0}.hero-avatar{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #8e5bff66}.avatar-online-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;background:#34d399;border:3px solid var(--bg-0);border-radius:50%;box-shadow:0 0 10px #34d39999}.hero-text-block{display:flex;flex-direction:column;gap:6px}.hero-badge-row{display:flex;align-items:center;gap:10px}.streak-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#f59e0b;font-size:12px;font-weight:800}.rank-tag-pill{display:inline-flex;padding:4px 10px;border-radius:20px;background:#8e5bff26;border:1px solid rgba(142,91,255,.35);color:#a78bfa;font-size:11.5px;font-weight:800}.hero-greeting{margin:0;font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.02em}.text-highlight{background:linear-gradient(135deg,#8e5bff,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtext{margin:0;font-size:14px;color:var(--ink-secondary);line-height:1.5}.hero-right-col{min-width:280px}.xp-progress-card{display:flex;flex-direction:column;gap:10px;padding:14px 18px;background:#00000040;border:1px solid var(--border-glass);border-radius:16px;box-shadow:inset 0 2px 6px #0000004d}.xp-card-header{display:flex;align-items:center;justify-content:space-between}.xp-level-title{display:flex;align-items:center;gap:8px}.lvl-badge{font-family:var(--mono);font-size:10.5px;font-weight:900;padding:2px 7px;border-radius:6px;background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.lvl-name{font-size:12.5px;font-weight:800;color:var(--ink)}.xp-ratio{font-family:var(--mono);font-size:12px;font-weight:800;color:var(--ink-muted)}.xp-track-bg{width:100%;height:8px;background:var(--panel-bg);border-radius:4px;overflow:hidden}.xp-fill-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,#8e5bff,#38bdf8);box-shadow:0 0 12px #38bdf866;transition:width .5s cubic-bezier(.16,1,.3,1)}.xp-card-footer{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-muted)}.xp-needed{font-family:var(--mono);color:#8e5bff;font-weight:700}.dash-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 900px){.dash-metrics-grid{grid-template-columns:1fr}}.metric-card{display:flex;flex-direction:column;gap:10px;padding:22px 26px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;box-shadow:0 6px 24px #0000002e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s,box-shadow .22s}.metric-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0000004d}.card-violet:hover{border-color:#8e5bff80}.card-amber:hover{border-color:#f59e0b80}.card-emerald:hover{border-color:#34d39980}.metric-top-row{display:flex;align-items:center;justify-content:space-between}.metric-icon-wrap{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center}.card-violet .metric-icon-wrap{background:#8e5bff26;color:#8e5bff}.card-amber .metric-icon-wrap{background:#f59e0b26;color:#f59e0b}.card-emerald .metric-icon-wrap{background:#34d39926;color:#34d399}.metric-trend{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;font-weight:800;color:var(--ink-muted)}.card-violet .metric-trend{color:#34d399}.card-amber .active-trend{color:#f59e0b}.metric-value-row{display:flex;align-items:baseline;gap:8px}.metric-num{font-size:32px;font-weight:900;font-family:var(--mono);color:var(--ink);line-height:1;letter-spacing:-.02em}.metric-unit{font-size:15px;font-weight:700;color:var(--ink-muted)}.metric-bottom-lbl{font-size:12.5px;font-weight:700;color:var(--ink-secondary)}.dash-content-grid{display:grid;grid-template-columns:1fr 440px;gap:28px}@media (max-width: 1120px){.dash-content-grid{grid-template-columns:1fr}}.dash-main-left,.dash-main-right{display:flex;flex-direction:column;gap:28px}.dash-card-section{display:flex;flex-direction:column;gap:16px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.title-group h2{margin:0 0 4px;font-size:18px;font-weight:900;color:var(--ink);letter-spacing:-.01em}.title-group p{margin:0;font-size:13px;color:var(--ink-muted)}.section-action-link{font-size:13px;font-weight:800;color:#38bdf8;text-decoration:none;transition:color .15s}.section-action-link:hover{color:#8e5bff}.header-trend-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-secondary);background:#34d3991f;border:1px solid rgba(52,211,153,.3);padding:4px 12px;border-radius:20px}.header-trend-badge stroke{color:#34d399}.header-trend-badge strong{color:#34d399;font-family:var(--mono)}.workspaces-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.workspaces-grid{grid-template-columns:1fr}}.workspace-tile{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid var(--border-glass-strong);border-radius:22px;text-decoration:none;box-shadow:0 6px 24px #0000002e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:all .25s cubic-bezier(.16,1,.3,1);min-height:160px}.workspace-tile:hover{transform:translateY(-4px);border-color:#8e5bff80;box-shadow:0 16px 36px #00000059}.tile-header{display:flex;align-items:center;justify-content:space-between}.tile-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}.tile-tag{font-family:var(--mono);font-size:10px;font-weight:900;padding:3px 9px;border-radius:6px;border:1px solid;letter-spacing:.05em}.tile-body{display:flex;flex-direction:column;gap:6px}.tile-title{margin:0;font-size:16px;font-weight:900;color:var(--ink)}.tile-desc{margin:0;font-size:12.5px;color:var(--ink-secondary);line-height:1.45}.tile-footer{margin-top:4px}.tile-link-text{font-size:12.5px;font-weight:800;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}.workspace-tile:hover .tile-link-text{gap:10px}.chart-container-card{display:flex;flex-direction:column;gap:20px;padding:24px 28px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:24px;box-shadow:0 8px 32px #0003}.chart-svg-wrap{display:flex;flex-direction:column;gap:12px}.activity-wave-svg{width:100%;height:140px;overflow:visible}.chart-xaxis-labels{display:flex;align-items:center;justify-content:space-between;padding:0 10px}.xaxis-item{display:flex;flex-direction:column;align-items:center;gap:2px}.xaxis-day{font-family:var(--mono);font-size:11.5px;font-weight:800;color:var(--ink-muted)}.xaxis-mins{font-family:var(--mono);font-size:10.5px;color:var(--ink-secondary)}.xaxis-item.active .xaxis-day{color:#34d399}.xaxis-item.active .xaxis-mins{color:#34d399;font-weight:800}.chart-insights-bar{display:flex;align-items:center;justify-content:space-around;padding-top:16px;border-top:1px solid var(--border-glass)}.insight-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.insight-number{font-family:var(--mono);font-size:16px;font-weight:900;color:var(--ink)}.insight-label{font-size:11.5px;color:var(--ink-muted)}.recent-list-container{display:flex;flex-direction:column;gap:12px}.recent-challenge-card{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:16px;box-shadow:0 4px 18px #00000026;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s}.recent-challenge-card:hover{transform:translate(4px);border-color:#8e5bff66}.challenge-head{display:flex;align-items:center;justify-content:space-between}.challenge-title{font-size:14px;font-weight:800;color:var(--ink)}.challenge-lang-tag{font-family:var(--mono);font-size:11.5px;font-weight:800}.challenge-progress-group{display:flex;flex-direction:column;gap:6px}.bar-track-outer{width:100%;height:7px;background:var(--panel-bg);border-radius:4px;overflow:hidden}.bar-fill-inner{height:100%;border-radius:4px;transition:width .4s ease}.challenge-meta{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--ink-muted)}.step-text{font-weight:600}.pct-badge{font-family:var(--mono);font-weight:800;color:var(--ink-secondary)}.leaderboard-card-widget{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--card-bg);border:1px solid var(--border-glass-strong);border-radius:20px;box-shadow:0 6px 24px #0000002e}.leader-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff06;border:1px solid var(--border-glass);border-radius:14px;transition:background .18s,transform .18s}.leader-row:hover{background:#ffffff0f;transform:translateY(-1px)}.leader-left{display:flex;align-items:center;gap:12px}.trophy-icon{font-size:18px}.leader-user-info{display:flex;flex-direction:column;gap:2px}.leader-user-name{font-size:13.5px;font-weight:800;color:var(--ink)}.leader-user-place{font-size:11px;color:var(--ink-muted);font-weight:600}.leader-right{display:flex;align-items:baseline;gap:4px}.leader-xp-val{font-family:var(--mono);font-size:15px;font-weight:900;color:#8e5bff}.leader-xp-lbl{font-family:var(--mono);font-size:10.5px;color:var(--ink-muted);font-weight:700}.top-nav-icon-only.dashboard-btn{position:relative}.dashboard-glow-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;background:#38bdf8;border-radius:50%;box-shadow:0 0 8px #38bdf8;animation:pulseGlowDot 2s infinite ease-in-out}@keyframes pulseGlowDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.home-intro-container{position:relative;padding:40px 32px 60px;max-width:1280px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:40px;box-sizing:border-box;overflow:visible;flex-shrink:0;animation:fadeInUp .4s cubic-bezier(.16,1,.3,1)}.snap-section{scroll-snap-align:start;scroll-snap-stop:always}.bg-orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;opacity:.4}.orb-1{top:-100px;left:20%;width:400px;height:400px;background:radial-gradient(circle,#8E5BFF,transparent 70%);animation:floatOrb1 10s infinite ease-in-out}.orb-2{top:200px;right:15%;width:450px;height:450px;background:radial-gradient(circle,#38BDF8,transparent 70%);animation:floatOrb2 12s infinite ease-in-out}@keyframes floatOrb1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,40px) scale(1.15)}}@keyframes floatOrb2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.1)}}.intro-hero-section{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px;max-width:900px;margin:0 auto;min-height:calc(100vh - 120px);padding-bottom:20px;box-sizing:border-box}.anim-fade-in-1{animation:heroFadeUp .6s .1s cubic-bezier(.16,1,.3,1) both}.anim-fade-in-2{animation:heroFadeUp .6s .2s cubic-bezier(.16,1,.3,1) both}.anim-fade-in-3{animation:heroFadeUp .6s .3s cubic-bezier(.16,1,.3,1) both}.anim-fade-in-4{animation:heroFadeUp .6s .4s cubic-bezier(.16,1,.3,1) both}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.intro-badge-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:#8e5bff1f;border:1px solid rgba(142,91,255,.3);border-radius:30px;color:#a78bfa;font-size:13px;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.badge-sparkle{color:#f59e0b;animation:spinSparkle 4s linear infinite}@keyframes spinSparkle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.intro-main-title{margin:0;font-size:68px;font-weight:800;line-height:1.12;color:var(--ink);letter-spacing:-.035em;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--ui)}.hero-line-1{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.hero-line-2{display:block;color:var(--ink)}.hero-highlight-group{position:relative;display:inline-block;white-space:nowrap}.headline-underline-svg{position:absolute;left:0;bottom:-10px;width:100%;height:18px;overflow:visible;pointer-events:none}@media (max-width: 768px){.intro-main-title{font-size:42px}}.shimmer-text{background:linear-gradient(90deg,#7f5df9,#ff6ac6,#38bdf8 70%,#7f5df9);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerGrad 6s linear infinite;filter:drop-shadow(0 6px 24px rgba(107,76,255,.35))}@keyframes shimmerGrad{to{background-position:200% center}}.intro-subtitle{margin:0;font-size:19px;color:var(--ink-secondary);line-height:1.6;max-width:720px;font-weight:400}.sub-highlight{font-weight:700;color:var(--ink)}.intro-cta-row{display:flex;align-items:center;gap:18px;margin-top:10px;flex-wrap:wrap;justify-content:center}.btn-intro-primary{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:16px;background:linear-gradient(135deg,#8e5bff,#38bdf8);color:#fff;font-size:15px;font-weight:800;text-decoration:none;box-shadow:0 8px 28px #8e5bff66;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-intro-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 36px #8e5bff8c}.btn-intro-secondary{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:16px;background:#ffffff0d;border:1px solid var(--border-glass-strong);color:var(--ink);font-size:15px;font-weight:800;text-decoration:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-intro-secondary:hover{transform:translateY(-3px);background:#ffffff17;border-color:#38bdf8;color:#38bdf8}.scroll-indicator-btn{position:absolute;bottom:20px;display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;border:none;color:var(--ink-muted);cursor:pointer;transition:color .2s;padding:8px 16px;border-radius:20px}.scroll-indicator-btn:hover{color:#38bdf8}.scroll-text{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.bouncing-chevron{display:flex;align-items:center;justify-content:center;animation:bounceChevron 1.8s infinite cubic-bezier(.45,.05,.55,.95)}@keyframes bounceChevron{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.intro-grid-section{position:relative;z-index:1;display:flex;flex-direction:column;gap:28px;padding-top:20px;scroll-margin-top:40px}.intro-section-label{display:flex;align-items:center;justify-content:center;gap:16px;font-family:var(--mono);font-size:12px;font-weight:900;color:var(--ink-muted);letter-spacing:.14em;text-align:center}.label-line{flex:1;max-width:140px;height:1px;background:var(--border-glass-strong)}.intro-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}@media (max-width: 768px){.intro-cards-grid{grid-template-columns:1fr}}.intro-feature-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:30px 34px;border:1px solid var(--border-glass-strong);border-radius:24px;text-decoration:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #0003;transition:all .28s cubic-bezier(.16,1,.3,1);min-height:190px;animation:heroFadeUp .6s cubic-bezier(.16,1,.3,1) both}.intro-feature-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px #0006;border-color:#8e5bff80}.card-top-row{display:flex;align-items:center;justify-content:space-between}.feature-icon-box{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center}.feature-tag-badge{font-family:var(--mono);font-size:10.5px;font-weight:900;padding:3px 10px;border-radius:8px;border:1px solid;letter-spacing:.06em}.card-body{display:flex;flex-direction:column;gap:8px}.feature-title{margin:0;font-size:20px;font-weight:900;color:var(--ink)}.feature-desc{margin:0;font-size:14px;color:var(--ink-secondary);line-height:1.5}.card-footer{padding-top:4px}.feature-launch-link{font-size:13.5px;font-weight:800;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}.intro-feature-card:hover .feature-launch-link{gap:10px}.intro-stats-strip{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-around;padding:26px 36px;background:#00000040;border:1px solid var(--border-glass-strong);border-radius:20px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-wrap:wrap;gap:20px}.strip-metric{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.strip-num{font-family:var(--mono);font-size:26px;font-weight:900;color:#38bdf8}.strip-lbl{font-size:13px;color:var(--ink-muted);font-weight:600}.strip-divider{width:1px;height:36px;background:var(--border-glass)}@media (max-width: 640px){.strip-divider{display:none}}.intro-site-footer{position:relative;z-index:1;display:flex;flex-direction:column;gap:36px;padding:40px 32px 24px;background:#00000059;border:1px solid var(--border-glass-strong);border-radius:24px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-top:20px}.footer-content{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap:wrap}.footer-brand{display:flex;flex-direction:column;gap:8px;max-width:320px}.brand-logo-text{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--ink)}.brand-tagline{margin:0;font-size:13px;color:var(--ink-secondary);line-height:1.5}.footer-links-group{display:flex;align-items:flex-start;gap:48px;flex-wrap:wrap}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col h4{margin:0 0 4px;font-size:13px;font-weight:900;color:var(--ink);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase}.footer-col a{font-size:13.5px;color:var(--ink-secondary);text-decoration:none;transition:color .15s}.footer-col a:hover{color:#38bdf8}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border-glass);font-size:12px;color:var(--ink-muted);flex-wrap:wrap;gap:12px}.footer-built{font-family:var(--mono)}.top-nav-icon-only{flex-direction:column;gap:3px;padding:6px 10px}.top-nav-label{font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--ink-secondary);line-height:1;transition:color .2s}.top-nav-icon-only:hover .top-nav-label{color:#38bdf8}.top-nav-icon-only.active .top-nav-label{color:#38bdf8!important}.learn-hint-banner{display:flex;align-items:center;gap:10px;padding:10px 18px;background:linear-gradient(90deg,#8e5bff2e,#38bdf81f);border-bottom:1px solid rgba(142,91,255,.3);font-size:13px;color:var(--ink-secondary);flex-shrink:0}.learn-hint-icon{font-size:16px;flex-shrink:0}.learn-hint-text{flex:1}.learn-hint-text strong{color:#8e5bff;font-weight:700}.learn-hint-close{background:none;border:none;color:var(--ink-muted);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;flex-shrink:0;transition:color .15s}.learn-hint-close:hover{color:var(--ink)}.examples-dropdown-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.examples-dropdown-label{display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--ink-muted);white-space:nowrap;cursor:default;letter-spacing:.02em}.examples-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff0f;border:1px solid var(--border-glass);border-radius:7px;color:var(--ink);font-family:var(--mono);font-size:12px;font-weight:600;padding:4px 28px 4px 10px;cursor:pointer;max-width:180px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .18s,background-color .18s}.examples-select:hover{border-color:#8e5bff;background-color:#8e5bff1a}.examples-select:focus{outline:none;border-color:#8e5bff;box-shadow:0 0 0 2px #8e5bff40}.examples-select option{background:#0e1220;color:#e2e8f0}.voice-controls{display:flex;align-items:center;gap:6px}.voice-onoff-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .18s}.voice-onoff-btn.on{background:#8e5bff2e;border-color:#8e5bff66;color:#a78bfa}.voice-onoff-btn.off{background:#ffffff0d;border-color:#ffffff1a;color:var(--ink-muted)}.voice-onoff-btn:hover:not(:disabled){transform:scale(1.04)}.voice-onoff-btn:disabled{opacity:.4;cursor:not-allowed}.voice-gender-pills{display:flex;gap:3px}.voice-gender-pill{padding:3px 9px;border-radius:14px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--ink-muted);transition:all .15s}.voice-gender-pill.active{background:#38bdf82e;border-color:#38bdf866;color:#38bdf8}.voice-gender-pill:hover:not(.active){background:#ffffff1a;color:var(--ink)}:root[data-theme=light] .learn-hint-banner{background:linear-gradient(90deg,#6b4cff14,#38bdf80f);border-bottom-color:#6b4cff33;color:#4a5568}:root[data-theme=light] .examples-select{background-color:#0000000a;border-color:#00000026;color:#1a202c}:root[data-theme=light] .examples-select option{background:#fff;color:#1a202c}:root[data-theme=light] .voice-onoff-btn.off{background:#0000000d;border-color:#0000001f;color:#718096}:root[data-theme=light] .voice-gender-pill{background:#fff!important;border:1.5px solid #ECE4F1!important;color:#574b63!important;font-weight:700!important}:root[data-theme=light] .voice-gender-pill:hover:not(.active){background:#f3ecf8!important;border-color:#6f3f87!important;color:#261b30!important}:root[data-theme=light] .voice-gender-pill.active{background:#6f3f87!important;border-color:#55306a!important;color:#fff!important;font-weight:800!important;box-shadow:0 2px 8px #6f3f874d!important}:root[data-theme=light] .top-nav-label{color:#574b63}:root[data-theme=light] .top-nav-icon-only:hover .top-nav-label{color:#6f3f87}:root[data-theme=light] .top-nav-icon-only.active .top-nav-label{color:#6f3f87!important;font-weight:800!important}:root[data-theme=light] .top-nav-icon-only .top-nav-icon svg{stroke:#726580!important;filter:none!important}:root[data-theme=light] .top-nav-icon-only:hover{color:#6f3f87!important}:root[data-theme=light] .top-nav-icon-only:hover .top-nav-icon svg{stroke:#6f3f87!important;filter:drop-shadow(0 0 6px rgba(111,63,135,.4))!important}:root[data-theme=light] .top-nav-icon-only.active{color:#6f3f87!important}:root[data-theme=light] .top-nav-icon-only.active .top-nav-icon svg{stroke:#6f3f87!important;filter:drop-shadow(0 0 8px rgba(111,63,135,.5)) drop-shadow(0 0 14px rgba(111,63,135,.3))!important}:root[data-theme=light] .top-nav-badge-superscript{background:#6f3f87!important;color:#fff!important}:root[data-theme=light] .dashboard-glow-dot{background:#6f3f87!important;box-shadow:0 0 8px #6f3f8780!important}:root[data-theme=light] .animated-shimmer{background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#261B30!important;background-clip:unset!important;color:#261b30!important;animation:none!important}:root[data-theme=light] .challenges-subtitle{color:#574b63!important;font-weight:600!important}:root[data-theme=light] .challenges-search-input{background:#fff!important;border:1.5px solid #ECE4F1!important;color:#261b30!important;box-shadow:0 2px 10px #261b300a!important}:root[data-theme=light] .challenges-search-input:focus{border-color:#6f3f87!important;box-shadow:0 0 0 3px #6f3f871f!important}:root[data-theme=light] .challenges-search-input::placeholder{color:#93849f!important}:root[data-theme=light] .challenges-search-wrap .search-icon{color:#93849f!important}:root[data-theme=light] .challenges-search-wrap.focused .search-icon{color:#6f3f87!important}:root[data-theme=light] .challenge-pill{background:#fff!important;border:1.5px solid #ECE4F1!important;color:#574b63!important;font-weight:700!important}:root[data-theme=light] .challenge-pill:hover{border-color:#6f3f87!important;color:#261b30!important;background:#f3ecf8!important}:root[data-theme=light] .challenge-pill.active{background:#6f3f87!important;color:#fff!important;border-color:#55306a!important;box-shadow:0 4px 14px #6f3f8759!important}:root[data-theme=light] .challenge-cyber-card{background:#fff!important;border:1.5px solid #ECE4F1!important;box-shadow:0 4px 18px #261b300d!important}:root[data-theme=light] .challenge-cyber-card:hover{border-color:var(--diff-color, #6F3F87)!important;box-shadow:0 8px 28px #261b301a,0 0 16px var(--diff-color, rgba(111, 63, 135, .15))!important}:root[data-theme=light] .cyber-card-title{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .cyber-lang-badge{background:#f0ebff!important;color:#6f3f87!important;border-color:#d6ccee!important}:root[data-theme=light] .cyber-tag{background:#f8f5ee!important;border-color:#ece4f1!important;color:#574b63!important}:root[data-theme=light] .cyber-card-footer{border-top-color:#ece4f1!important}:root[data-theme=light] .cyber-status-count{color:#726580!important}:root[data-theme=light] .leaderboard-page{background:#fffdf6!important}:root[data-theme=light] .lb-title{color:#261b30!important;font-weight:900!important}:root[data-theme=light] .lb-sub{color:#574b63!important}:root[data-theme=light] .lb-my-rank{background:#f3ecf8!important;color:#6f3f87!important;border-color:#d6ccee!important}:root[data-theme=light] .lb-tab{background:#fff!important;border:1.5px solid #ECE4F1!important;color:#574b63!important}:root[data-theme=light] .lb-tab:hover{border-color:#6f3f87!important;color:#261b30!important}:root[data-theme=light] .lb-tab.active{background:#6f3f87!important;color:#fff!important;border-color:#55306a!important}:root[data-theme=light] .podium-block{background:#fff!important;box-shadow:0 4px 18px #261b3014!important}:root[data-theme=light] .podium-name{color:#261b30!important;font-weight:800!important}:root[data-theme=light] .podium-xp{color:#6f3f87!important}:root[data-theme=light] .podium-avatar{background:#f3ecf8!important;color:#6f3f87!important}:root[data-theme=light] .lb-row{background:#fff!important;border:1px solid #ECE4F1!important;box-shadow:0 2px 8px #261b3008!important}:root[data-theme=light] .lb-row:hover{border-color:#d6ccee!important;box-shadow:0 4px 14px #261b300f!important}:root[data-theme=light] .lb-row.self{background:#f3ecf8!important;border-color:#6f3f87!important}:root[data-theme=light] .lb-rank{color:#726580!important}:root[data-theme=light] .lb-name{color:#261b30!important;font-weight:700!important}:root[data-theme=light] .lb-avatar{background:#f3ecf8!important;color:#6f3f87!important}@keyframes logoXShimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.cn-logo-code{color:var(--ink, #FFFFFF);font-weight:900;transition:color .2s ease}.cn-logo-ne{color:#a855f7;font-weight:900;margin-left:.5px;transition:color .2s ease}:root[data-theme=light] .cn-logo-code{color:#1e0d2e!important}:root[data-theme=light] .cn-logo-ne{color:#7c3aed!important}.cn-logo-x{background:linear-gradient(135deg,#a855f7,#ec4899,#f97316 66%,#38bdf8);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900;font-style:italic;display:inline-block;transform:skew(-8deg) translateY(-.5px);animation:logoXShimmer 4s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(236,72,153,.45));padding:0 1px}.cn-logo-t{color:var(--ink, #FFFFFF);font-weight:900;margin-left:.5px;transition:color .2s ease}:root[data-theme=light] .cn-logo-t{color:#1e0d2e!important}
