@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&amp;family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&amp;family=JetBrains+Mono:wght@400;500&amp;display=swap";@import"https://rdpviz.vercel.app/css/modules/5-components/_electures-new.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_lecture-browser.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_sql-lecture.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_concepts.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_learning-path.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_learning-modal.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_course-card.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_steps.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_code-panel.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_sql-editor.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_graph-editor.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_visualizer.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_sorting-layout.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_tracer.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_sandbox.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_tree-viz.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_database.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_search-reference.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_practice.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_quiz.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_multiplayer.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_walkthrough.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_error-analysis.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_gamification.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_achievements.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_streak.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_stats.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_progress-dashboard.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_celebration.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_completion.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_onboarding.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_pomodoro.css";@import"https://rdpviz.vercel.app/css/modules/5-components/_theme-premium.css";@import"https://rdpviz.vercel.app/css/modules/6-utilities/_transitions.css";@import"https://rdpviz.vercel.app/css/_emergency_fix.css";*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background:var(--bg-warm);color:var(--text-dark);min-height:100vh;line-height:1.7;display:flex}strong,b{font-weight:700;color:var(--text-dark)}*:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring);border-radius:10px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-paper)}::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root{--bg-warm: #f4f4f5;--bg-cream: #ffffff;--bg-card: #ffffff;--bg-paper: #fafafa;--bg-sidebar: #27272a;--text-dark: #18181b;--text-body: #3f3f46;--text-muted: #71717a;--text-light: #f4f4f5;--accent-forest: #b45309;--accent-sage: #d97706;--accent-amber: #f59e0b;--accent-coral: #be123c;--accent-sky: #0ea5e9;--accent-plum: #a21caf;--border-soft: #e4e4e7;--shadow-warm: rgba(180, 83, 9, .08);--shadow-deep: rgba(180, 83, 9, .15);--focus-ring: rgba(180, 83, 9, .4);--canvas-bg: linear-gradient(180deg, #ffffff 0%, #f4f4f5 100%);--canvas-bar: #b45309;--hc-bg-card: #ffffff;--hc-text-dark: #09090b;--hc-text-body: #18181b;--hc-border: #71717a;--theme-transition: .4s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-warm: #000000;--bg-cream: #09090b;--bg-card: #09090b;--bg-paper: #18181b;--bg-sidebar: #000000;--text-dark: #fafafa;--text-body: #e4e4e7;--text-muted: #a1a1aa;--accent-forest: #3b82f6;--accent-sage: #60a5fa;--accent-amber: #ffd700;--accent-coral: #ef4444;--accent-sky: #0ea5e9;--accent-plum: #d8b4fe;--border-soft: #27272a;--shadow-warm: rgba(59, 130, 246, .15);--shadow-deep: rgba(59, 130, 246, .3);--focus-ring: rgba(59, 130, 246, .5);--canvas-bg: linear-gradient(180deg, #09090b 0%, #000000 100%);--canvas-bar: #3b82f6}[data-color-theme=sunset]{--bg-warm: #f4f4f5;--bg-cream: #ffffff;--bg-card: #ffffff;--bg-paper: #fafafa;--bg-sidebar: #27272a;--text-dark: #18181b;--text-body: #3f3f46;--text-muted: #71717a;--text-light: #f4f4f5;--accent-forest: #b45309;--accent-sage: #d97706;--accent-amber: #f59e0b;--accent-coral: #be123c;--accent-sky: #0ea5e9;--accent-plum: #a21caf;--border-soft: #e4e4e7;--shadow-warm: rgba(180, 83, 9, .08);--shadow-deep: rgba(180, 83, 9, .15);--focus-ring: rgba(180, 83, 9, .4);--canvas-bg: linear-gradient(180deg, #ffffff 0%, #f4f4f5 100%);--canvas-bar: #b45309}[data-color-theme=sunset][data-theme=dark]{--bg-warm: #000000;--bg-cream: #09090b;--bg-card: #09090b;--bg-paper: #18181b;--bg-sidebar: #000000;--text-dark: #fafafa;--text-body: #e4e4e7;--text-muted: #a1a1aa;--accent-forest: #3b82f6;--accent-sage: #60a5fa;--accent-amber: #ffd700;--accent-coral: #ef4444;--accent-sky: #0ea5e9;--accent-plum: #d8b4fe;--border-soft: #27272a;--shadow-warm: rgba(59, 130, 246, .15);--shadow-deep: rgba(59, 130, 246, .3);--focus-ring: rgba(59, 130, 246, .5);--canvas-bg: linear-gradient(180deg, #09090b 0%, #000000 100%);--canvas-bar: #3b82f6}[data-section-accent=algorithms]{--section-accent: var(--accent-forest)}[data-section-accent=pathfinding]{--section-accent: var(--accent-sky)}[data-section-accent=sql]{--section-accent: var(--accent-amber)}[data-section-accent=recursion]{--section-accent: var(--accent-plum)}[data-section-accent=bigo]{--section-accent: var(--accent-coral)}[data-section-accent=ds]{--section-accent: var(--accent-sage)}body,.paper-card,.viz-container,.btn,.nav-item,.sidebar,.input-field,.select-field,.badge,.story-card,.challenge-card,.solution-card,.notebook-card,.metaphor-box,.sound-toggle,.preset-btn{transition:background var(--theme-transition),color var(--theme-transition),border-color var(--theme-transition),box-shadow var(--theme-transition)}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.02em;color:var(--text-dark)}h1{font-size:2.5rem;line-height:1.2}h2{font-size:1.875rem;line-height:1.3}h3{font-size:1.5rem;line-height:1.4}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{text-shadow:0 1px 2px rgba(0,0,0,.3)}p{color:var(--text-body);font-size:1.05rem}.grid-pro-2-1{display:grid;grid-template-columns:2fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start}@media(max-width:900px){.grid-pro-2-1{grid-template-columns:1fr}}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(1rem,2vw,1.5rem)}.grid-2>*{min-width:0;overflow:hidden}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(.75rem,2vw,1.5rem)}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(.5rem,1.5vw,1rem)}.flex.gap-2,.control-group,.sql-header-row{flex-wrap:wrap;gap:clamp(.5rem,1.5vw,1rem)}.theme-toggle{background:transparent;border:1px solid var(--border-soft);color:var(--text-muted);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-toggle:hover{background:var(--bg-paper);color:var(--text-heading);border-color:var(--text-muted)}.theme-toggle i{font-size:1.2rem;transition:transform .3s var(--ease-spring)}.theme-toggle:active i{transform:scale(.8) rotate(15deg)}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.high-contrast{--elearn-primary: #ffffff;--elearn-secondary: #ffff00}.high-contrast .electure-player,.high-contrast .lecture-browser{background:#000;border-color:#fff}body[data-font-size=small]{font-size:14px}body[data-font-size=medium]{font-size:16px}body[data-font-size=large]{font-size:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.command-item:focus-visible,.survey-option:focus-visible,.course-card:focus-visible,.nav-item:focus-visible,.op-btn:focus-visible,.viz-tab:focus-visible{outline:2px solid var(--accent-forest);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.btn{border:2px solid currentColor}:root{--border-soft: #000;--text-muted: #333}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.animate-in{animation:none!important}.btn,.nav-item,.preset-btn{transition:none!important}.shimmer-overlay.active{animation:none!important}}:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: .1s;--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .5s;--stagger-delay: 50ms}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-expo)}.animate-slide-up{animation:slideInUp var(--duration-normal) var(--ease-out-expo)}.animate-slide-left{animation:slideInLeft var(--duration-normal) var(--ease-out-expo)}.animate-scale{animation:scaleIn var(--duration-fast) var(--ease-spring)}.animate-shake{animation:shake .5s var(--ease-in-out)}.animate-float{animation:float 3s ease-in-out infinite}.stagger-children>*{opacity:0;animation:slideInUp var(--duration-normal) var(--ease-out-expo) forwards}.stagger-children>*:nth-child(1){animation-delay:calc(var(--stagger-delay) * 1)}.stagger-children>*:nth-child(2){animation-delay:calc(var(--stagger-delay) * 2)}.stagger-children>*:nth-child(3){animation-delay:calc(var(--stagger-delay) * 3)}.stagger-children>*:nth-child(4){animation-delay:calc(var(--stagger-delay) * 4)}.stagger-children>*:nth-child(5){animation-delay:calc(var(--stagger-delay) * 5)}@keyframes stepEnter{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes btnPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes highlightGlow{0%,to{opacity:.5}50%{opacity:1}}@keyframes waveAnim{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@keyframes completionPop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.controls-hidden{transform:translateY(-200%);opacity:0;pointer-events:none}#topRightControls{transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s ease;will-change:transform,opacity}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.section-hidden{display:none!important}.shortcuts-modal{display:flex}.shortcuts-modal.collapsed{display:none!important}.collapsed{display:none}@media(max-width:480px){.op-btn{padding:.5rem .75rem;font-size:.8rem;min-width:70px}#section-ds-array .flex.gap-2,#section-ds-stack .flex.gap-2,#section-ds-queue .flex.gap-2{gap:.5rem;justify-content:center}#arrayInput,#arrayIndex,#stackInput,#queueInput{width:70px!important;font-size:.85rem}.input-field::placeholder{font-size:.85rem;opacity:.7;overflow:visible}}@media(max-width:768px){.btn,.nav-item,.tab-btn{min-height:44px;min-width:44px}input,select,textarea{width:100%;font-size:16px}.main-content{padding-bottom:80px}}@media(max-width:480px){.mobile-menu-btn{display:block}.sidebar{width:100vw;max-width:100vw}.main-content{padding:.75rem;padding-top:60px}.page-header h1{font-size:1.4rem}.page-header p{font-size:.9rem}.flex.gap-2{flex-direction:column;align-items:stretch}.op-btn,.btn{width:100%;justify-content:center}.input-field,input[type=number],input[type=text]{width:100%;min-width:100%}#arrayCanvas,#stackCanvas,#queueCanvas,#linkedListCanvas{height:120px}.electure-player-container{width:100vw;height:100vh;border-radius:0}.electure-controls{justify-content:center}.complexity-label{font-size:.7rem}.challenge-card ol,.solution-card .flex{font-size:.85rem}}@media(min-width:481px)and (max-width:768px){.mobile-menu-btn{display:block}.main-content{padding-top:60px}.flex.gap-2{display:grid;grid-template-columns:1fr 1fr}}@media(min-width:769px)and (max-width:1024px){.sidebar{width:220px}.main-content{margin-left:220px}}@media(min-width:1025px)and (max-width:1600px){.sidebar{width:280px}.main-content{margin-left:280px;max-width:100%}}@media(min-width:1601px){html{font-size:17px}.sidebar{width:300px}.main-content{margin-left:300px;max-width:100%;padding:2.5rem}.viz-canvas{max-height:450px}.grid-2{grid-template-columns:1fr 1fr}}@media(min-width:2560px){html{font-size:18px}.sidebar{width:320px}.main-content{margin-left:320px;max-width:100%;padding:3rem}.viz-canvas{max-height:500px}.paper-card,.metaphor-box{padding:2rem}.btn,.op-btn{min-height:50px;font-size:1rem}}@supports (padding: max(0px)){.sidebar{padding-left:max(1rem,env(safe-area-inset-left));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.main-content{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(80px,env(safe-area-inset-bottom))}.mobile-menu-btn{top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left))}}@media print{.sidebar,.mobile-menu-btn,.btn,.op-btn{display:none!important}.main-content{margin:0;padding:1rem;max-width:100%}.viz-canvas{max-height:200px}}@media(max-height:500px)and (orientation:landscape){.electure-player-container{max-height:100vh}.electure-content-area{min-height:200px}.electure-narration{font-size:.85rem;padding:.5rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;background:var(--bg-paper);border:1px solid rgba(0,0,0,.1);border-bottom-color:#0003;box-shadow:0 2px 4px #0000000d,inset 0 1px #ffffff1a;transition:all .15s cubic-bezier(.4,0,.2,1);font-family:inherit;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;color:var(--text-body)}.btn:active{transform:translateY(1px);box-shadow:0 1px 1px #0000000d,inset 0 2px 4px #0000000d;border-color:#00000026}.btn-primary{background:var(--accent-forest);color:#fff;border:1px solid rgba(0,0,0,.1);border-bottom-color:#0003;text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 2px 4px #2d6a4f33,inset 0 1px #fff3}.btn-primary:hover{background:color-mix(in srgb,var(--accent-forest),white 8%);transform:translateY(-1px);box-shadow:0 4px 8px #2d6a4f40,inset 0 1px #ffffff40}.btn-primary:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0003}.btn-secondary{background:var(--bg-card);color:var(--text-muted);border-color:var(--border-soft);box-shadow:0 1px 2px #0000000d}.btn-secondary:hover{background:var(--bg-warm);color:var(--text-dark);border-color:var(--text-muted);transform:translateY(-1px)}.btn-accent{background:var(--accent-amber);color:#fff;border:1px solid rgba(0,0,0,.1);border-bottom-color:#0003;text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 2px 4px #f59e0b33,inset 0 1px #fff3}.btn-accent:hover{background:color-mix(in srgb,var(--accent-amber),white 10%);transform:translateY(-1px)}.btn-coral{background:var(--accent-coral);color:#fff;border:1px solid rgba(0,0,0,.1);border-bottom-color:#0003;text-shadow:0 1px 1px rgba(0,0,0,.2);box-shadow:0 2px 4px #ef444433,inset 0 1px #fff3}.btn-coral:hover{background:color-mix(in srgb,var(--accent-coral),white 10%);transform:translateY(-1px)}.btn-icon{width:40px;height:40px;padding:0;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}[data-theme=dark] .btn-secondary{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .btn-secondary:hover{background:#ffffff14;border-color:#ffffff4d}.op-insert{background:#10b9811a;border-color:#10b98133;color:#34d399}.op-insert:hover{background:#10b98133;border-color:#34d399;box-shadow:0 4px 12px #10b98133}.op-delete{background:#f43f5e1a;border-color:#f43f5e33;color:#fb7185}.op-delete:hover{background:#f43f5e33;border-color:#fb7185;box-shadow:0 4px 12px #f43f5e33}.op-search{background:#0ea5e91a;border-color:#0ea5e933;color:#38bdf8}.op-search:hover{background:#0ea5e933;border-color:#38bdf8;box-shadow:0 4px 12px #0ea5e933}.op-peek{background:#8b5cf61a;border-color:#8b5cf633;color:#a78bfa}.op-peek:hover{background:#8b5cf633;border-color:#a78bfa;box-shadow:0 4px 12px #8b5cf633}.dashboard-btn{padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.dashboard-btn:hover{transform:translateY(-2px);background:#ffffff1a;border-color:#ffffff4d}.stat-badge{padding:.2rem .6rem;border-radius:4px;background:#0003;font-size:.75rem;border:1px solid rgba(255,255,255,.05)}.input-field{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem;font-size:.95rem;color:var(--text-dark);font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.input-field:focus{outline:none;border-color:#10b98180;box-shadow:0 0 0 3px #10b9811a;background:#ffffff14}.select-field{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 2.5rem .75rem 1rem;font-size:.95rem;color:var(--text-dark);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239CA3AF' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;transition:all .2s}.select-field:hover{background-color:#ffffff14;border-color:#fff3}.select-field:focus{outline:none;border-color:#10b981}.select-field option{background:#1e293b;color:#e2e8f0;padding:.5rem}.slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:#ffffff1a;outline:none;box-shadow:inset 0 1px 2px #0003;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#34d399;border:2px solid rgba(255,255,255,.8);cursor:pointer;box-shadow:0 2px 6px #0000004d,0 0 0 1px #0000001a;transition:all .2s}.slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:#6ee7b7;box-shadow:0 0 12px #34d39999}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;border-radius:20px;font-size:.8rem;font-weight:800}.badge-green{background:#3d6b5c26;color:var(--accent-forest)}.badge-amber{background:#d4a85333;color:#8a6a28}.badge-coral{background:#e07a5f26;color:var(--accent-coral)}.badge-sky{background:#5b8ba026;color:var(--accent-sky)}.badge-plum{background:#8b687f26;color:var(--accent-plum)}.badge-easy{background:linear-gradient(135deg,#1e8f5e26,#1e8f5e40);color:#1b7a4f;border:1px solid rgba(30,143,94,.3)}.badge-medium{background:linear-gradient(135deg,#c4942a26,#c4942a40);color:#8a6a1f;border:1px solid rgba(196,148,42,.3)}.badge-hard{background:linear-gradient(135deg,#d4593f26,#d4593f40);color:#b8432a;border:1px solid rgba(212,89,63,.3)}[data-theme=dark] .badge-easy{background:#5eedb533;color:#5eedb5;border-color:#5eedb566}[data-theme=dark] .badge-medium{background:#ffd97a33;color:#ffd97a;border-color:#ffd97a66}[data-theme=dark] .badge-hard{background:#ff998033;color:#ff9980;border-color:#ff998066}.badge-time{background:var(--bg-paper);color:var(--text-muted);border:1px solid var(--border-soft)}.step-indicator{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-forest);color:#fff;font-weight:900;font-size:.9rem;margin-right:.75rem;flex-shrink:0}.sidebar{width:280px;flex:0 0 280px;height:100vh;background:var(--bg-sidebar);padding:1.5rem;position:relative;overflow-y:auto;overflow-x:hidden;z-index:100;transition:flex-basis .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .2s ease}.sidebar.sidebar-collapsed{width:0;flex:0 0 0;padding-left:0;padding-right:0;opacity:0;overflow:hidden}#mainContent,.main-content{transition:none}.main-content.content-expanded{margin-left:0;width:100%}.sidebar-logo{display:flex;align-items:center;gap:.75rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:1.5rem}.sidebar-logo-icon{font-size:2rem}.sidebar-logo h1{font-size:1.25rem;color:var(--text-light);font-weight:600}.sidebar-logo span{font-size:.8rem;color:var(--accent-sage);display:block;font-family:Inter,sans-serif;font-weight:400}.theme-toggle-container{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.5rem}.theme-toggle{display:flex;align-items:center;gap:.5rem;background:#ffffff1a;padding:.4rem .6rem;border-radius:24px;cursor:pointer;transition:all .3s ease;border:1px solid rgba(255,255,255,.15)}.theme-toggle:hover{background:#ffffff26;transform:scale(1.02)}.theme-toggle-track{width:44px;height:24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;position:relative;transition:all .3s ease;box-shadow:inset 0 1px 3px #0003}.theme-toggle-thumb{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 4px #0003;display:flex;align-items:center;justify-content:center;font-size:.7rem}.theme-toggle-thumb:before{content:"☀️";font-size:.65rem}[data-theme=dark] .theme-toggle-track{background:linear-gradient(135deg,#1a1a2e,#16213e)}[data-theme=dark] .theme-toggle-thumb{left:22px;background:#1e3a5f}[data-theme=dark] .theme-toggle-thumb:before{content:"🌙"}.theme-toggle-label{font-size:.75rem;color:var(--text-light);font-weight:500;min-width:42px}.color-theme-selector{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 0}.color-theme-btn{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:all .3s ease;position:relative}.color-theme-btn:hover{transform:scale(1.15);border-color:#fff9}.color-theme-btn.active{border-color:#fff;box-shadow:0 0 8px #ffffff80}.color-theme-btn.active:after{content:"";position:absolute;inset:-4px;border:2px solid rgba(255,255,255,.3);border-radius:50%}.color-theme-btn[data-color=default]{background:linear-gradient(135deg,#2d6a4f,#52b788)}.color-theme-btn[data-color=sunset]{background:linear-gradient(135deg,#b45309,#d97706)}.color-theme-btn[data-color=ocean]{background:linear-gradient(135deg,#2563eb,#60a5fa)}.color-theme-label{font-size:.65rem;color:var(--text-light);opacity:.8;text-align:center;margin-bottom:.25rem}.sidebar-toggle-btn{position:fixed;top:1rem;left:290px;z-index:101;width:40px;height:40px;border-radius:10px;font-size:1rem;color:var(--text-body);cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--bg-paper);border:1px solid rgba(0,0,0,.1);border-bottom-color:#0003;box-shadow:0 2px 4px #0000000d,inset 0 1px #ffffff1a;transition:left .3s cubic-bezier(.4,0,.2,1),transform .1s ease,background .2s ease}.sidebar-toggle-btn:hover{background:var(--bg-card);color:var(--accent-forest);transform:translateY(-1px);box-shadow:0 4px 8px #00000014,inset 0 1px #fff3}.sidebar-toggle-btn:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0000001a;border-bottom-color:#0000001a}body.sidebar-is-collapsed .sidebar-toggle-btn{left:1rem}body.dashboard-active .sidebar-toggle-btn{opacity:0;pointer-events:none}@media(max-width:768px){.sidebar-toggle-btn{display:none!important}}.nav-section{margin-bottom:1.5rem}.nav-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff73;margin-bottom:.75rem;padding-left:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:.25rem;color:#ffffffbf;font-size:.95rem;border:none;background:transparent;width:100%;text-align:left}.nav-item:hover{background:#ffffff17;color:var(--text-light);transform:translateY(-1px)}.nav-item.active{background:linear-gradient(135deg,var(--accent-forest),var(--accent-sage));color:#fff;box-shadow:0 6px 18px #3d6b5c47}.nav-item-icon{font-size:1.25rem;width:28px;text-align:center}.nav-item-badge{margin-left:auto;background:var(--accent-amber);color:var(--text-dark);font-size:.65rem;padding:.2em .5em;border-radius:6px;font-weight:700}.progress-badge{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#5eedb51f,#7ed9a814);border:1px solid rgba(255,255,255,.12);border-radius:12px;margin:.25rem 0}.progress-badge-icon{font-size:1.75rem;flex-shrink:0}.progress-badge-info{flex:1;min-width:0}.progress-level{font-size:.9rem;font-weight:700;color:var(--text-light);margin-bottom:.25rem}.progress-xp-row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;margin-bottom:.35rem}.progress-xp{color:#ffffffbf;font-weight:600}.progress-streak{color:var(--accent-amber);font-weight:700}.progress-bar-container{height:4px;background:#ffffff26;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-forest),var(--accent-sage));border-radius:4px;transition:width .5s cubic-bezier(.34,1.56,.64,1)}@media(max-width:1024px){.sidebar{width:240px;padding:1rem}.main-content{margin-left:240px;padding:1.5rem}.grid-2{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{transform:translate(-100%);width:280px;transition:transform .3s}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:1rem}h1{font-size:1.75rem}h2{font-size:1.5rem}}.course-header-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:var(--bg-paper);border-bottom:1px solid var(--border-soft);margin-bottom:1rem}.course-header-title{flex:1;font-weight:600;font-size:1.1rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-soft)}.page-header h1{margin-bottom:.5rem}.page-header p{font-size:1.1rem;max-width:700px}#topRightControls{display:flex!important;align-items:center!important;gap:1rem!important;max-width:100%;white-space:nowrap}#topRightControls .theme-toggle{flex-shrink:0;display:flex!important;align-items:center;gap:.5rem;width:auto!important;min-width:min-content}#topRightControls .theme-toggle-label{display:inline-block;min-width:42px;text-align:right}#topRightControls>div:last-child{display:flex!important;align-items:center;gap:.4rem;flex-shrink:0}body{display:flex;width:100vw;height:100vh;overflow:hidden}#mainContent,.main-content{flex:1;width:auto;margin-left:0!important;height:100vh;overflow-y:auto;padding:5rem 3rem 2rem;position:relative;z-index:1}.dashboard-container{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:3rem}.dashboard-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--accent-forest),var(--accent-sage));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header p{color:var(--text-muted);font-size:1.1rem}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-extras{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.sidebar-hidden{display:none!important}.dashboard-fullwidth{margin-left:0!important;width:100%!important;max-width:100%!important}.control-panel{background:#ffffff08;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;box-shadow:0 8px 32px #0000001a}.control-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:.6rem}.control-label{font-size:.75rem;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.08em;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1);margin-bottom:.25rem}.checkbox-row{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:.75rem}.checkbox-label{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-dark, #cbd5e1);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-forest, #10b981);border-radius:4px}.stat-box{background:#ffffff0d;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1rem;text-align:center;min-width:100px;flex:1;box-shadow:inset 0 1px #ffffff0d}.stat-value{font-family:Inter,-apple-system,sans-serif;font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2}.stat-label{font-size:.7rem;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:.25rem}.custom-input-panel{background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem;margin-bottom:1.5rem}.custom-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.custom-input-header h4{margin:0;display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-dark, #cbd5e1);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.input-field,input[type=number],input[type=text],select{min-width:60px;width:clamp(80px,15vw,120px);padding:.5rem .75rem;font-size:.9rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:var(--text-dark, #e2e8f0);transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.input-field:focus,input[type=number]:focus,input[type=text]:focus,select:focus{border-color:#10b98180;box-shadow:0 0 0 3px #10b9811a;background:#ffffff14}.input-type-tabs{display:flex;gap:.5rem}.input-type-tab{padding:.4rem 1rem;border:1px solid rgba(255,255,255,.1);background:transparent;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--text-muted, #94a3b8);transition:all .2s}.input-type-tab:hover{background:#ffffff0d;color:#fff;border-color:#fff3}.input-type-tab.active{background:#10b9811a;color:#34d399;border-color:#10b981;box-shadow:0 0 10px #10b9811a}.custom-input-field{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.9rem;background:#0003;color:#e2e8f0;transition:all .2s;margin-bottom:.75rem;outline:none}.custom-input-field:focus{border-color:#10b981;background:#0000004d;box-shadow:0 0 0 3px #10b9811a}.btn-apply{padding:.5rem 1.25rem;background:linear-gradient(180deg,#ffffff1a,#fff0);background-color:var(--accent-forest, #10b981);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;text-shadow:0 1px 1px rgba(0,0,0,.1)}.btn-apply:hover{background-color:#059669;filter:brightness(1.1);transform:translateY(-1px)}.preset-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem}.preset-chip{padding:.35rem .85rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-dark, #cbd5e1);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.preset-chip:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:translateY(-1px)}.input-preset-btn{padding:.35rem .85rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--text-muted, #94a3b8)}.input-preset-btn:hover{border-color:#10b981;color:#34d399;background:#10b9811a}.apply-input-btn{width:100%;padding:.75rem;background:linear-gradient(180deg,#ffffff1a,#fff0);background-color:var(--accent-forest, #10b981);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s;text-shadow:0 1px 1px rgba(0,0,0,.1)}.apply-input-btn:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.paper-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 2px 12px var(--shadow-warm),0 8px 24px var(--shadow-warm);position:relative;overflow:hidden}.paper-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-forest),var(--accent-sage),var(--accent-amber))}.paper-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px var(--shadow-deep),0 4px 12px var(--shadow-warm)}.paper-card:focus-within{box-shadow:0 0 0 3px var(--focus-ring)}[data-theme=dark] .story-card{background:linear-gradient(145deg,rgba(255,207,112,.08) 0%,var(--bg-card) 100%)}[data-theme=dark] .challenge-card{background:linear-gradient(145deg,rgba(255,155,133,.08) 0%,var(--bg-card) 100%)}[data-theme=dark] .solution-card{background:linear-gradient(145deg,rgba(143,212,176,.08) 0%,var(--bg-card) 100%)}[data-theme=dark] .notebook-card{background:repeating-linear-gradient(transparent,transparent 31px,rgba(255,255,255,.05) 31px,rgba(255,255,255,.05) 32px),var(--bg-card)}.notebook-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:12px;padding:1.5rem;position:relative;box-shadow:0 2px 8px var(--shadow-warm)}.notebook-card:before{display:none}:root:not([data-theme=dark]) .notebook-card{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 4px 6px -1px #0000001a!important}.story-card{background:linear-gradient(145deg,#fff9e8 0%,var(--bg-card) 100%);border:2px solid var(--accent-amber);border-radius:20px;padding:2rem;position:relative;box-shadow:0 4px 20px #d4a85326}.story-card:before{content:"📖";position:absolute;top:-15px;left:20px;font-size:1.75rem;background:var(--bg-warm);padding:0 .5rem}.story-title{color:var(--accent-forest);font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.challenge-card{background:linear-gradient(145deg,#fff0ec 0%,var(--bg-card) 100%);border:2px dashed var(--accent-coral);border-radius:16px;padding:1.75rem;position:relative}.card-content h3{margin:0;font-size:1.1rem;color:var(--text-heading)}.card-content p{margin:.5rem 0 0;font-size:.9rem;color:var(--text-body)}.paper-card,.metaphor-box,.challenge-card,.solution-card,.story-card{padding:clamp(1rem,3vw,1.5rem)}.metaphor-box{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#5b8ba01a,#7ba38c1a);border-radius:12px;border-left:4px solid var(--accent-sky);margin-bottom:1.5rem}.metaphor-icon{font-size:2rem;flex-shrink:0}.metaphor-content h4{font-family:Crimson Text,serif;color:var(--accent-sky);margin-bottom:.25rem}.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-dark)}.empty-state-text{font-size:.9rem;max-width:300px;margin:0 auto}.state-success{background:#2ed5731a;border-color:#2ed573}.state-error{background:#ff6b6b1a;border-color:#ff6b6b}.state-warning{background:#ffce541a;border-color:#ffce54}.state-info{background:#667eea1a;border-color:#667eea}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1.5rem;min-height:300px}.loading-spinner-large{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--accent-forest);border-radius:50%;animation:spin .8s linear infinite}.loading-text{color:#ffffffb3;font-size:1rem;animation:loadingPulse 1.5s ease infinite}@keyframes loadingPulse{0%,to{opacity:1}50%{opacity:.5}}.loading-tip{max-width:300px;text-align:center;font-size:.85rem;color:#ffffff80;font-style:italic}.skeleton{background:linear-gradient(90deg,var(--bg-paper) 25%,var(--bg-card) 50%,var(--bg-paper) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin:.5em 0}.skeleton-circle{width:48px;height:48px;border-radius:50%}.skeleton-card{height:120px;border-radius:16px}.loading-spinner{width:40px;height:40px;border:4px solid var(--bg-paper);border-top-color:var(--accent-forest);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(100px);background:var(--bg-sidebar);color:var(--text-light);padding:1rem 1.25rem;border-radius:12px;font-weight:700;box-shadow:0 8px 30px #00000040;transition:transform .3s ease;z-index:1000;display:flex;align-items:center;gap:.75rem;max-width:min(92vw,720px)}.toast.show{transform:translate(-50%) translateY(0)}.toast.success{background:var(--accent-forest)}.toast.error{background:var(--accent-coral)}.toast.milestone{background:linear-gradient(135deg,var(--accent-forest),var(--accent-sage));border:2px solid rgba(255,255,255,.2);animation:milestonePopIn .4s cubic-bezier(.34,1.56,.64,1)}.toast-body{font-size:.9rem;color:#ffffffe6;line-height:1.4}@keyframes milestonePopIn{0%{transform:translate(-50%) translateY(100px) scale(.5)}to{transform:translate(-50%) translateY(0) scale(1)}}.toast-container{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:.5rem}.glossary-term{position:relative;color:var(--accent-forest);font-weight:600;cursor:help;border-bottom:1px dashed var(--accent-forest)}.glossary-term:after{content:attr(data-definition);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.75rem 1rem;background:var(--bg-sidebar);color:var(--text-light);border-radius:10px;font-size:.85rem;font-weight:400;line-height:1.5;width:max-content;max-width:280px;white-space:normal;box-shadow:0 8px 24px #00000040;opacity:0;visibility:hidden;transition:all .2s ease;z-index:100;pointer-events:none}.glossary-term:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--bg-paper);border:1px solid var(--border-soft);border-radius:50%;font-size:.7rem;color:var(--text-muted);cursor:help;margin-left:.25rem;vertical-align:middle;transition:all .2s}.help-icon:hover{background:var(--accent-forest);color:#fff;border-color:var(--accent-forest)}.modal-content{width:clamp(280px,90vw,800px);max-height:90vh;overflow-y:auto;padding:clamp(1rem,3vw,2rem)}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border-soft);display:flex;justify-content:space-around;padding:.75rem;display:none}.mobile-menu-btn{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;width:48px;height:48px;background:var(--accent-forest);border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px var(--shadow-deep)}.mobile-menu-btn span{display:block;width:24px;height:3px;background:#fff;margin:5px auto;border-radius:2px;transition:.3s}.command-palette-overlay{position:fixed;inset:0;background:#0009;z-index:99998;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;opacity:0;pointer-events:none;transition:opacity .2s}.command-palette-overlay.open{opacity:1;pointer-events:auto}.command-palette{background:var(--bg-card);border-radius:16px;width:100%;max-width:550px;box-shadow:0 20px 60px #0006;overflow:hidden}.command-palette-input{width:100%;padding:1.25rem 1.5rem;border:none;border-bottom:1px solid var(--border-soft);font-size:1.1rem;background:transparent;color:var(--text-dark);outline:none}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-results{max-height:350px;overflow-y:auto}.command-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;cursor:pointer;transition:background .15s}.command-item:hover,.command-item.selected{background:var(--bg-paper)}.command-item-icon{font-size:1.25rem}.command-item-text{flex:1;font-weight:500;color:var(--text-dark)}.command-item-shortcut{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;background:var(--bg-paper);padding:.25rem .5rem;border-radius:4px}.keyboard-help-modal{position:fixed;inset:0;background:#000000e6;z-index:10005;display:none;align-items:center;justify-content:center}.keyboard-help-modal.active{display:flex}.keyboard-help-content{background:linear-gradient(135deg,#1e1e32fa,#141423fa);border:1px solid rgba(99,102,241,.3);border-radius:16px;padding:2rem;max-width:400px;width:90%}.help-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.help-header h2{margin:0;color:#fff;font-size:1.4rem}.help-close{width:32px;height:32px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.help-close:hover{background:#ffffff1a;color:#fff;border-color:#fff6}.shortcuts-list{display:flex;flex-direction:column;gap:.75rem}.shortcut-item{display:flex;align-items:center;gap:1rem}.shortcut-item kbd{min-width:60px;padding:.4rem .75rem;background:#6366f133;border:1px solid rgba(99,102,241,.4);border-radius:6px;color:#a5b4fc;font-family:Fira Code,monospace;font-size:.85rem;text-align:center}.shortcut-item span{color:#fffc;font-size:.9rem}.help-tip{margin-top:1.5rem;text-align:center;color:#ffffff80;font-size:.8rem}.help-tip kbd{padding:.2rem .5rem;background:#6366f133;border-radius:4px;color:#a5b4fc}.shortcuts-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;visibility:hidden;transition:all .2s ease}.shortcuts-overlay.active{opacity:1;visibility:visible}.shortcuts-modal{background:var(--bg-card);border-radius:20px;padding:2rem;max-width:400px;width:90%;box-shadow:0 16px 48px #0000004d}.shortcuts-modal h2{font-size:1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border-soft)}.shortcut-row:last-child{border-bottom:none}.shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:.25rem .5rem;background:var(--bg-paper);border:1px solid var(--border-soft);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;color:var(--text-dark)}.shortcut-desc{color:var(--text-body);font-size:.95rem}.shortcuts-close{margin-top:1.25rem;width:100%}.electure-shortcuts{display:flex;justify-content:center;gap:1.5rem;margin-top:.5rem;flex-wrap:wrap}.shortcut-hint{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#ffffff80}.shortcut-key{padding:.2rem .5rem;background:#ffffff1a;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.7rem}.hint-panel{background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);border:2px solid rgba(251,191,36,.3);border-radius:16px;padding:1rem 1.25rem;margin:1rem 0;position:relative}.hint-panel:before{content:"💡";position:absolute;top:-12px;left:1rem;background:var(--bg-card);padding:0 .5rem;font-size:1.25rem}.hint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.hint-title{font-weight:700;color:#d97706;font-size:.9rem}.hint-level{font-size:.75rem;padding:.25rem .5rem;background:#fbbf2433;border-radius:6px;color:#92400e}.hint-content{color:var(--text-body);font-size:.9rem;line-height:1.6}.hint-reveal-btn{display:block;width:100%;padding:.75rem;margin-top:.75rem;background:#fbbf2426;border:1px dashed rgba(251,191,36,.4);border-radius:10px;color:#d97706;font-weight:600;cursor:pointer;transition:all .2s}.hint-reveal-btn:hover{background:#fbbf2440}.hint-header{display:flex;justify-content:space-between;margin-bottom:.75rem}.hint-title{font-weight:600;color:#a5b4fc}.hint-level{background:#6366f14d;padding:.25rem .5rem;border-radius:20px;font-size:.75rem;color:#fff}.hint-content{color:#ffffffd9;line-height:1.5;margin-bottom:1rem}.hint-reveal-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .3s}.hint-reveal-btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px #6366f166}.legend{display:flex;flex-wrap:wrap;gap:1.25rem;padding:1rem;background:var(--bg-card);border-radius:10px;border:1px solid var(--border-soft)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-body);font-weight:650}.legend-color{width:16px;height:16px;border-radius:4px}.difficulty-selector{display:flex;gap:.5rem;padding:.75rem;background:var(--bg-paper);border-radius:12px;margin-bottom:1rem}.difficulty-btn{flex:1;padding:.75rem 1rem;border:2px solid var(--border-soft);background:var(--bg-card);border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.difficulty-btn:hover{border-color:var(--accent-forest)}.difficulty-btn.active{background:var(--accent-forest);color:#fff;border-color:var(--accent-forest)}.difficulty-btn.easy{--diff-color: #10b981}.difficulty-btn.medium{--diff-color: #f59e0b}.difficulty-btn.hard{--diff-color: #ef4444}.difficulty-btn.active.easy,.difficulty-btn.active.medium,.difficulty-btn.active.hard{background:var(--diff-color);border-color:var(--diff-color)}.complexity-table{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.complexity-cell{text-align:center;padding:1rem;background:var(--bg-paper);border-radius:12px;border:1px solid var(--border-soft)}.complexity-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-weight:800}.complexity-value{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:800}.complexity-value.good{color:var(--accent-forest)}.complexity-value.medium{color:var(--accent-amber)}.complexity-value.bad{color:var(--accent-coral)}:root:not([data-theme=dark]) .complexity-cell{background:#f1f5f9!important;border-color:#cbd5e1!important}:root:not([data-theme=dark]) .complexity-label{color:#475569!important;font-weight:700}:root:not([data-theme=dark]) .complexity-value{color:#0f172a}:root:not([data-theme=dark]) .complexity-value.good{color:#059669}:root:not([data-theme=dark]) .complexity-value.medium{color:#d97706}:root:not([data-theme=dark]) .complexity-value.bad{color:#dc2626}.complexity-chart{background:var(--bg-card);border:2px solid var(--border-soft);border-radius:16px;padding:1.25rem;margin:1rem 0}.complexity-legend-item span{display:inline-block;width:12px;height:12px;border-radius:2px}.complexity-table{display:flex;flex-wrap:wrap;gap:clamp(.5rem,1vw,1rem)}.complexity-cell{flex:1 1 auto;min-width:80px;padding:clamp(.5rem,1.5vw,1rem)}.complexity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.complexity-bars{display:flex;align-items:flex-end;gap:.75rem;height:120px}.complexity-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.complexity-bar-fill{width:100%;background:linear-gradient(180deg,var(--accent-forest),var(--accent-sage));border-radius:4px 4px 0 0;transition:height .5s ease}.complexity-bar-label{font-size:.7rem;font-weight:600;color:var(--text-muted)}.complexity-bar-value{font-size:.75rem;font-weight:700;color:var(--accent-forest)}.sound-toggle{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--bg-paper);border:2px solid var(--border-soft);border-radius:12px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.sound-toggle:hover{border-color:var(--accent-forest)}.sound-toggle.active{background:#3d6b5c26;border-color:var(--accent-forest)}.sound-toggle .icon{font-size:1.5rem}.sound-toggle .label{font-weight:700;color:var(--text-dark)}.sound-toggle .preset{font-size:.8rem;color:var(--accent-forest);background:#3d6b5c26;padding:.2rem .6rem;border-radius:6px;font-weight:700}.sound-presets{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.preset-btn{padding:.5rem 1rem;border:2px solid var(--border-soft);border-radius:10px;background:var(--bg-card);cursor:pointer;font-size:.85rem;font-weight:700;transition:all .2s;display:flex;align-items:center;gap:.4rem}.preset-btn:hover{border-color:var(--accent-sage);transform:translateY(-1px)}.preset-btn.active{background:var(--accent-forest);color:#fff;border-color:var(--accent-forest)}.volume-row{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.volume-row .vol-label{font-size:.8rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;min-width:70px}.settings-overlay{position:fixed;inset:0;background:#000000e6;z-index:10010;display:none;align-items:center;justify-content:center}.share-panel{background:var(--bg-card);border-radius:20px;padding:1.5rem;text-align:center}.share-preview{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:2rem;color:#fff;margin:1rem 0}.share-preview-title{font-size:1.1rem;margin-bottom:.5rem}.share-preview-streak{font-size:2.5rem;font-weight:700}.share-preview-stats{font-size:.9rem;opacity:.9;margin-top:.5rem}.share-buttons{display:flex;gap:.75rem;justify-content:center;margin-top:1rem}.share-btn{padding:.75rem 1.25rem;border:none;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.share-btn.twitter{background:#1da1f2;color:#fff}.share-btn.copy{background:var(--bg-paper);color:var(--text-body)}.share-btn.native{background:var(--accent-forest);color:#fff}.share-btn:hover{transform:translateY(-2px)}.profile-card{background:var(--bg-card);border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #0000001a}.profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.profile-avatar{width:60px;height:60px;background:linear-gradient(135deg,var(--accent-forest),var(--accent-sage));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.profile-name{font-weight:700;font-size:1.2rem;margin:0}.profile-title{color:var(--text-muted);font-size:.9rem}.profile-stats{display:flex;justify-content:space-around;padding:1rem 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.profile-stats .stat{text-align:center}.profile-stats .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--accent-forest)}.profile-stats .stat-label{font-size:.8rem;color:var(--text-muted)}.ai-assistant-bubble{position:fixed;bottom:6rem;right:2rem;background:var(--bg-card);border:2px solid var(--border-soft);border-radius:20px 20px 4px;padding:1rem 1.25rem;max-width:280px;box-shadow:0 8px 30px #00000026;z-index:9980;opacity:0;transform:translateY(10px);pointer-events:none;transition:all .3s ease}.ai-assistant-bubble.show{opacity:1;transform:translateY(0);pointer-events:auto}.ai-bubble-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:var(--accent-forest);font-size:.85rem}.ai-bubble-text{font-size:.9rem;color:var(--text-body);line-height:1.5}.ai-bubble-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem}.electure-v5-player,.lecture-mode-overlay{--bg-card: #0f172a;--bg-paper: #1e293b;--text-dark: #f8fafc;--text-body: #cbd5e1;--text-muted: #94a3b8;--border-soft: rgba(255, 255, 255, .1);color:var(--text-dark)}.lecture-mode-overlay{position:fixed;inset:0;background:#050508f2;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lecture-mode-overlay.active{opacity:1;pointer-events:auto}.lecture-container{display:grid;grid-template-columns:1fr 400px;gap:2rem;max-width:1400px;width:95%;max-height:90vh}.lecture-visualization{background:#0f172a80;border-radius:24px;padding:2rem;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.05)}.lecture-sidebar{background:#0f172a80;border-radius:24px;padding:1.5rem;display:flex;flex-direction:column;max-height:80vh;overflow-y:auto;border:1px solid rgba(255,255,255,.05)}.lecture-step-card{background:var(--bg-paper);border-radius:12px;padding:1rem 1.25rem;margin-bottom:.75rem;border-left:4px solid transparent;transition:all .3s;cursor:pointer}.lecture-step-card:hover{border-left-color:var(--accent-sage)}.lecture-step-card.active{border-left-color:var(--accent-forest);background:#52b7881a}.lecture-step-card.completed{border-left-color:var(--accent-sage)}.lecture-step-card.completed:before{content:"✓ ";color:var(--accent-sage)}.lecture-step-number{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.lecture-step-title{font-weight:600;color:var(--text-dark);margin-bottom:.5rem}.lecture-step-desc{font-size:.85rem;color:var(--text-body);line-height:1.5}.lecture-close-btn{position:absolute;top:1.5rem;right:1.5rem;background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.25rem;cursor:pointer;transition:background .2s}.lecture-close-btn:hover{background:#fff3}.electure-float{position:fixed;bottom:2rem;right:2rem;z-index:9990;transition:bottom .4s ease,top .4s ease}.electure-float.scrolled{bottom:auto;top:1rem}.electure-float-btn{width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;font-size:1.75rem;cursor:pointer;box-shadow:0 6px 25px #8b5cf666;transition:transform .3s ease,box-shadow .3s ease,width .3s ease,height .3s ease;display:flex;align-items:center;justify-content:center;animation:floatPulse 3s infinite}.electure-float.scrolled .electure-float-btn{width:50px;height:50px;font-size:1.4rem;animation:none}.electure-float-btn:hover{transform:scale(1.1);box-shadow:0 8px 30px #8b5cf680}.electure-float.scrolled .electure-float-btn:hover{transform:scale(1.1)}.electure-float.scrolled .electure-float-menu{bottom:auto;top:60px}@keyframes floatPulse{0%,to{box-shadow:0 6px 25px #8b5cf666}50%{box-shadow:0 8px 35px #8b5cf699}}.electure-float-menu{position:absolute;bottom:70px;right:0;background:var(--bg-card);border:2px solid var(--border-soft);border-radius:16px;padding:.75rem;min-width:200px;box-shadow:0 10px 40px #00000026;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s ease}.electure-float-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.electure-menu-header{font-weight:700;font-size:.9rem;color:var(--text-dark);padding:.5rem .75rem;border-bottom:1px solid var(--border-soft);margin-bottom:.5rem}.electure-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background:transparent;border-radius:10px;font-size:.9rem;font-weight:600;color:var(--text-body);cursor:pointer;transition:all .2s;text-align:left}.electure-menu-item:hover{background:#8b5cf61a;color:#8b5cf6}.electure-menu-hint{font-size:.7rem;color:var(--text-muted);text-align:center;padding:.5rem;margin-top:.25rem}.electure-v5-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0f172afa,#1e293bfa);z-index:10000;display:none;overflow-y:auto}.electure-v5-overlay.active{display:block;animation:fadeIn .3s ease}.electure-v5-player{max-width:1000px;margin:0 auto;padding:1rem;min-height:100vh;display:flex;flex-direction:column;gap:1rem}.electure-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#ffffff0d;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.electure-exit-btn{background:#ff6b6b33;color:#ff6b6b;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.electure-exit-btn:hover{background:#ff6b6b4d}.electure-title{color:#fff;font-size:1.1rem;font-weight:700}.electure-xp{display:flex;align-items:center;gap:.5rem;color:gold;font-weight:700}.electure-progress-bar{height:6px;background:#ffffff1a;border-radius:10px;overflow:hidden}.electure-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-forest),var(--accent-sage));border-radius:10px;transition:width .3s ease}.electure-step-counter{text-align:center;color:#ffffffb3;font-size:.85rem;margin-bottom:.5rem}.electure-flip-container{perspective:1500px;flex:1;min-height:350px}.electure-flip-card{position:relative;width:100%;height:100%;min-height:350px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1)}.electure-flip-card[data-side=visual]{transform:rotateY(180deg)}.electure-flip-card.flipping{animation:flipWobble .6s ease}@keyframes flipWobble{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(90deg) scale(.95)}to{transform:rotateY(180deg) scale(1)}}.electure-flip-side{position:absolute;width:100%;height:100%;min-height:350px;backface-visibility:hidden;border-radius:24px;overflow:hidden;background:#1e293bbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff1a}.electure-code-side{transform:rotateY(0)}.electure-visual-side{transform:rotateY(180deg);background:#0f172ad9}.flip-side-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.flip-icon{font-size:1.25rem;filter:grayscale(1) opacity(.7)}.flip-title{flex:1;font-weight:700;font-size:1.1rem;letter-spacing:-.01em;color:#fff}.lang-switcher{display:flex;background:#0000004d;padding:4px;border-radius:10px;gap:2px}.lang-btn{padding:.5rem 1rem;border:none;border-radius:8px;background:transparent;color:#94a3b8;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.lang-btn:hover{color:#fff;background:#ffffff0d}.lang-btn.active{color:#fff;background:#334155;box-shadow:0 1px 3px #0003}.lang-btn.active:first-child{background:#3776ab}.lang-btn.active:last-child{background:#f89820}.flip-btn{padding:.6rem 1.2rem;background:#fff;color:#0f172a;border:none;border-radius:10px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #ffffff26}.flip-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ffffff40;background:#f8fafc}.electure-code-display{padding:1.5rem;background:#1e1e1e;height:calc(100% - 60px);overflow-y:auto}.electure-code-display pre{margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;line-height:1.7}.electure-code-display code{color:#d4d4d4}.electure-code-line{display:block;padding:2px 8px;margin:0 -8px;border-radius:4px;transition:all .3s ease;position:relative}.electure-code-line .line-num{display:inline-block;width:30px;color:#ffffff4d;text-align:right;margin-right:1rem;-webkit-user-select:none;user-select:none}.electure-code-line.highlighted{background:#667eea4d;border-left:3px solid #667eea}.electure-code-line.highlighted:before{content:"→";position:absolute;left:-20px;color:#667eea;font-weight:700}.electure-code-line.executed{background:#2ed5731a;opacity:.7}.electure-visualizer{height:calc(100% - 60px);display:flex}.electure-viz-message{display:flex;align-items:center;justify-content:center;min-height:150px}.electure-narration{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.narration-step-info{font-size:.85rem;color:#667eea;font-weight:600;margin-bottom:.5rem}.narration-text{color:#ffffffe6;line-height:1.6;font-size:1rem}.electure-narration.step-entering{animation:stepEnter .4s var(--ease-out-expo)}.electure-ctrl-btn:active{animation:btnPress .15s ease}.electure-progress-fill{position:relative;overflow:hidden}.electure-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShimmer 2s infinite}.electure-code-line.highlighted:after{content:"";position:absolute;inset:-2px -10px;background:radial-gradient(ellipse at center,rgba(102,126,234,.25),transparent 70%);z-index:-1;animation:highlightGlow 2s ease infinite;pointer-events:none;border-radius:4px}.electure-speaking-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#667eea33;border-radius:20px;margin-bottom:.75rem;opacity:0;transform:translateY(-10px);transition:all .3s ease}.electure-speaking-indicator.active{opacity:1;transform:translateY(0)}.speaking-waves{display:flex;align-items:center;gap:3px;height:16px}.speaking-wave{width:3px;height:8px;background:#667eea;border-radius:2px;animation:waveAnim .6s ease-in-out infinite}.speaking-wave:nth-child(1){animation-delay:0s}.speaking-wave:nth-child(2){animation-delay:.1s;height:12px}.speaking-wave:nth-child(3){animation-delay:.2s}.speaking-wave:nth-child(4){animation-delay:.3s;height:14px}.speaking-wave:nth-child(5){animation-delay:.4s}.speaking-text{font-size:.85rem;color:#667eea;font-weight:600}.electure-player-overlay{padding:clamp(.5rem,2vw,1.5rem)}.electure-player-container{width:min(95vw,1200px);max-height:95vh;overflow:hidden}.electure-content-area{min-height:clamp(300px,50vh,500px)}.electure-controls{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.6rem 1.75rem;background:#050505d9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:999px;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 48px -12px #000c,inset 0 1px #ffffff1a,inset 0 -1px #ffffff0d;width:max-content;margin:1.5rem auto 0;min-width:0}.controls-row{display:flex;align-items:center;gap:.5rem}.electure-ctrl-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid transparent;background:transparent;color:#fff9;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0;position:relative;flex-shrink:0}.electure-ctrl-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px)}.electure-ctrl-btn:active{transform:translateY(0)}.electure-ctrl-btn.primary{width:52px;height:52px;border-radius:12px;background:#6366f1;color:#fff;box-shadow:0 4px 10px #6366f133;margin:0 .5rem;border:none}.electure-ctrl-btn.primary:hover{background:#4f46e5;transform:translateY(-2px);box-shadow:0 6px 15px #6366f14d}.ctrl-icon{font-size:1.25rem;line-height:1;display:flex}.electure-ctrl-btn.primary .ctrl-icon{font-size:1.75rem;margin-left:2px}.ctrl-label{display:none!important}.controls-speed{background:#ffffff0d;padding:.35rem .75rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;border:1px solid rgba(255,255,255,.1);margin-left:.5rem;flex-shrink:0;height:40px;transition:all .2s}.controls-speed:hover{background:#ffffff14;border-color:#fff3}.electure-big-play-btn{background:#6366f1;border:none;border-radius:16px;padding:1.25rem 3rem;display:flex;align-items:center;gap:1rem;color:#fff;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:700;cursor:pointer;box-shadow:0 10px 30px #6366f14d;transition:all .2s ease}.electure-big-play-btn:hover{background:#4f46e5;box-shadow:0 15px 40px #6366f166;transform:translateY(-2px)}.speed-icon{font-size:.8rem;opacity:.4}.speed-slider{-webkit-appearance:none;width:60px;height:4px;background:#ffffff26;border-radius:2px;cursor:pointer}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 10px #ffffff80}.speed-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#ffffffb3;font-weight:600;min-width:2.5ch;text-align:right}#eLectureStepIndicator,#eLectureStepIndicator *{font-family:Inter,system-ui,-apple-system,sans-serif!important;font-size:.9rem;color:#94a3b8;background-color:transparent!important;background-image:none!important;box-shadow:none!important;border-radius:0!important;padding:0;border:none;white-space:nowrap!important;display:inline-block;flex-shrink:0;letter-spacing:.02em}#eLectureStepIndicator{margin:0 0 0 1.5rem!important;padding-left:0;border-left:none!important;height:auto;display:flex!important;align-items:center}#eLectureStepIndicator strong{color:#fff;font-weight:600;font-feature-settings:"tnum";margin:0 .25rem}.electure-viz-bars{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:200px;width:100%;max-width:500px}.electure-viz-bar{flex:1;max-width:50px;min-width:30px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;transition:all .3s ease;position:relative}.electure-viz-bar .bar-value{font-size:.85rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}.electure-viz-bar.comparing{background:linear-gradient(180deg,gold,#ffb300);transform:scaleY(1.05);box-shadow:0 0 20px #ffd70080}.electure-viz-bar.swapping{background:linear-gradient(180deg,#ff6b6b,#ee5a24);animation:swapPulse .3s ease}@keyframes swapPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.electure-viz-bar.sorted{background:linear-gradient(180deg,#2ed573,#26de81)}.electure-viz-bar.pivot{background:linear-gradient(180deg,#667eea,#3742fa);box-shadow:0 0 20px #667eea80}.viz-phase-label{margin-top:1.5rem;padding:.6rem 2rem;background:#1e293bcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:30px;color:#e2e8f0;font-weight:600;font-size:1rem;letter-spacing:.02em;box-shadow:0 4px 12px #0003;text-align:center;max-width:80%}.electure-viz-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem;height:100%}.stack-container{display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:6px;width:140px;min-height:200px;border:4px solid rgba(255,255,255,.15);border-top:none;border-radius:0 0 20px 20px;padding:12px;background:#0f172a66;position:relative;box-shadow:0 10px 30px #0003,inset 0 -10px 20px #0003}.stack-item{height:45px;width:100%;background:#6366f1;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:10px;font-weight:700;font-size:1.1rem;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 4px 6px #0000001a;animation:stackPush .4s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.stack-item.top{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 0 20px #10b98166;position:relative;z-index:2}.stack-top-label{position:absolute;left:160px;top:auto;color:#34d399;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.stack-top-label:before{content:"←";font-size:1.2rem}.electure-viz-stack-wrapper{display:flex;align-items:flex-end}@keyframes stackPush{0%{opacity:0;transform:translateY(-20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.stack-item.highlight{background:linear-gradient(135deg,#f59e0b,#d97706);transform:scale(1.05);z-index:3}.stack-item.popping{animation:stackPop .4s ease forwards}@keyframes stackPop{to{opacity:0;transform:translate(50px) scale(.8)}}.stack-empty{color:#fff6;font-style:italic;font-size:.9rem;text-align:center;margin-top:auto;margin-bottom:auto}.electure-viz-linkedlist{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;padding:2rem;width:100%}.ll-node{display:flex;align-items:center;animation:nodeInsert .5s ease}@keyframes nodeInsert{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.ll-value{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;box-shadow:0 8px 16px #3b82f64d;border:2px solid rgba(255,255,255,.1);position:relative;z-index:2}.ll-arrow{color:#fff6;font-size:1.5rem;margin:0 .5rem;font-weight:300}.ll-null{font-family:JetBrains Mono,monospace;color:#ffffff80;font-size:.9rem;background:#ffffff0d;padding:.25rem .5rem;border-radius:4px}.ll-node.current .ll-value{background:linear-gradient(135deg,gold,#ffb300);box-shadow:0 0 20px #ffd70080}.ll-node.visited .ll-value{background:linear-gradient(135deg,#2ed573,#26de81)}.ll-arrow{color:var(--accent-forest);font-size:1.5rem;font-weight:700;padding:0 4px}.ll-null{color:var(--text-muted);font-size:.9rem;font-style:italic;padding:.5rem;background:#64646433;border-radius:8px;margin-left:8px}.ll-empty{color:var(--text-muted);font-style:italic}.electure-viz-tree{padding:1rem}.tree-display{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.tree-level{display:flex;gap:1rem;justify-content:center}.tree-node{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 4px 12px #667eea4d;transition:all .3s ease}.tree-node.visited{background:linear-gradient(135deg,#2ed573,#26de81);box-shadow:0 0 15px #2ed57380}.tree-node.current{background:linear-gradient(135deg,gold,#ffb300);box-shadow:0 0 20px #ffd70099;transform:scale(1.15)}.electure-viz-pathfinding{padding:1rem;text-align:center}.pathfinding-label{font-size:1.1rem;font-weight:600;color:var(--text-dark);margin-bottom:1rem}.pathfinding-grid{display:grid;grid-template-columns:repeat(8,35px);gap:3px;justify-content:center;margin-bottom:1rem}.pf-cell{width:35px;height:35px;background:#667eea26;border-radius:6px;border:1px solid rgba(102,126,234,.3);transition:all .3s ease}.pf-cell.start{background:linear-gradient(135deg,#2ed573,#26de81);box-shadow:0 0 10px #2ed57380}.pf-cell.goal{background:linear-gradient(135deg,#ff6b6b,#ee5a24);box-shadow:0 0 10px #ff6b6b80}.pf-cell.explored{background:#667eea80;animation:cellExplore .3s ease}.pf-cell.wall{background:linear-gradient(135deg,#2f3640,#353b48);box-shadow:inset 0 2px 4px #0000004d}.pf-cell.path{background:linear-gradient(135deg,#f9ca24,#f0932b);box-shadow:0 0 12px #f9ca2499;animation:pathGlow .5s ease}.pf-cell.current{background:linear-gradient(135deg,#00d2d3,#01a3a4);box-shadow:0 0 15px #00d2d3b3;transform:scale(1.1)}.pf-cell.frontier{background:#667eea4d;border:2px solid #667eea}@keyframes cellExplore{0%{transform:scale(.8);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes pathGlow{0%{transform:scale(.9)}50%{transform:scale(1.1)}to{transform:scale(1)}}.pf-legend{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted)}.pf-legend-item{display:flex;align-items:center;gap:6px}.pf-dot{width:12px;height:12px;border-radius:3px}.pf-dot.start{background:linear-gradient(135deg,#2ed573,#26de81)}.pf-dot.goal{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.pf-dot.explored{background:#667eea99}.pf-dot.path{background:linear-gradient(135deg,#f9ca24,#f0932b)}.pf-dot.wall{background:linear-gradient(135deg,#2f3640,#353b48)}.electure-viz-arrays{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:1rem}.array-group{display:flex;gap:4px;padding:.5rem;background:#667eea1a;border-radius:8px;border:1px solid rgba(102,126,234,.3)}.array-cell{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem .75rem;border-radius:6px;font-weight:600;font-size:.9rem;min-width:35px;text-align:center}.stack-item.popping{animation:popOut .4s ease}@keyframes popOut{0%{transform:translate(0);opacity:1}to{transform:translate(50px);opacity:0}}.electure-start-overlay{position:absolute;inset:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:center;border-radius:20px;animation:fadeIn .3s ease-out}.electure-start-overlay.fading-out{animation:fadeOut .5s ease-out forwards}.start-btn-container{transform:scale(1);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.start-btn-container:hover{transform:scale(1.05)}.electure-big-play-btn{background:#6366f1;border:none;border-radius:12px;padding:1.25rem 3rem;display:flex;align-items:center;gap:1rem;color:#fff;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #6366f140;transition:all .2s cubic-bezier(.4,0,.2,1)}.electure-big-play-btn:hover{background:#4f46e5;box-shadow:0 8px 24px #6366f159;transform:translateY(-2px)}.electure-big-play-btn:active{transform:translateY(0)}.big-play-icon{font-size:1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}
