.visualization-showcase{max-width:1280px;margin:0 auto;padding:8rem 2rem;position:relative;z-index:1}.visualization-tabs-container{margin-top:3rem}.viz-tabs{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.viz-tab{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-tertiary);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.viz-tab:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981,#059669);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.viz-tab:hover{background:var(--bg-hover);border-color:#10b9814d;color:var(--text-secondary)}.viz-tab.active{background:linear-gradient(135deg,#10b98126,#0596691a);border-color:#10b98166;color:var(--text-bright)}.viz-tab.active:before{transform:scaleX(1)}.tab-icon{font-size:var(--text-xl)}.tab-label{font-size:var(--text-base)}.viz-content{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:2rem;animation:fadeIn .5s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.viz-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(16,185,129,.2)}.viz-display{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.viz-header h3{font-size:var(--text-2xl);font-weight:700;color:var(--text-bright);margin-bottom:.5rem}.viz-header p{font-size:var(--text-base);color:var(--text-tertiary)}.viz-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--text-dim)}.legend-dot{width:12px;height:12px;border-radius:50%}.viz-canvas{position:relative;width:100%;height:600px;background:linear-gradient(135deg,#0000004d,#0a0a1966);border-radius:var(--radius-2xl);border:1px solid rgba(16,185,129,.2);overflow:visible;box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0d;animation:canvasAppear .6s ease-out}@keyframes canvasAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.viz-edges{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.viz-nodes{position:relative;width:100%;height:100%;z-index:2}.viz-node{position:absolute;transform:translate(-50%,-50%);transition:opacity .3s ease}.node-content{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-md);border:4px solid;background:#0a0a0ff2;cursor:pointer;transition:border-color .4s ease,color .4s ease,box-shadow .4s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative}.viz-node:hover .node-content{box-shadow:0 8px 20px #0006}.node-visited .node-content{border-color:var(--color-success);color:var(--color-success);box-shadow:0 0 20px #22c55e4d}.node-visiting .node-content{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 25px #10b98180;animation:pulse 2s ease-in-out infinite}.node-queued .node-content{border-color:var(--color-warning);color:var(--color-warning);box-shadow:0 0 20px #f59e0b4d}.legend-dot{transition:all .3s ease}.legend-dot.node-visited{background:var(--color-success);box-shadow:0 0 8px #22c55e66}.legend-dot.node-visiting{background:var(--accent-primary);box-shadow:0 0 8px #10b98166;animation:legendPulse 2s ease-in-out infinite}@keyframes legendPulse{0%,to{box-shadow:0 0 8px #10b98166;transform:scale(1)}50%{box-shadow:0 0 15px #10b981b3;transform:scale(1.15)}}.legend-dot.node-queued{background:var(--color-warning);box-shadow:0 0 8px #f59e0b66}.legend-dot.node-unvisited{background:var(--node-unvisited)}.viz-code{background:linear-gradient(135deg,#14141ee6,#0f0f19f2);border-radius:var(--radius-xl);border:1px solid rgba(16,185,129,.2);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff0d;height:600px}.code-header-small{background:#10b98114;padding:1rem 1.25rem;border-bottom:1px solid rgba(16,185,129,.2);display:flex;justify-content:space-between;align-items:center;gap:1rem}.code-lang{font-size:var(--text-sm);font-weight:600;color:var(--accent-primary)}.code-label{font-size:var(--text-sm);color:#9a9aaa;flex:1}.animation-controls{display:flex;gap:.5rem}.control-btn{width:32px;height:32px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);color:var(--accent-primary);font-size:var(--text-base);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:#10b98133;border-color:#10b98180;transform:scale(1.05)}.control-btn:active{transform:scale(.95)}.code-snippet{padding:0;margin:0;font-family:Courier New,Monaco,monospace;font-size:var(--text-sm);line-height:1.6;color:#e0e0e0;overflow-x:auto;overflow-y:auto;flex:1;min-height:0}.code-line{display:flex;padding:.375rem 1.25rem;transition:all .3s ease;position:relative}.code-line.highlight{background:linear-gradient(90deg,#10b98140,#10b98114);border-left:3px solid var(--accent-primary);padding-left:calc(1.25rem - 3px);box-shadow:inset 0 0 20px #10b9811a}.code-line.highlight:before{content:"▶";position:absolute;left:.5rem;color:var(--accent-primary);font-size:var(--text-xs);animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.line-number{display:inline-block;width:2.5rem;text-align:right;color:#6a6a7a;-webkit-user-select:none;user-select:none;margin-right:1rem;flex-shrink:0}.line-content{color:#e0e0e0;white-space:pre}@media (max-width: 1024px){.viz-display{grid-template-columns:1fr}.viz-canvas{height:500px}.viz-code{height:550px}.node-content{width:55px;height:55px;font-size:var(--text-base)}}@media (max-width: 768px){.visualization-showcase{padding:4rem 1.5rem}.viz-tabs{flex-direction:column;gap:.75rem}.viz-tab{justify-content:center}.viz-content{padding:1.5rem}.viz-header{flex-direction:column;gap:1.5rem}.viz-legend{width:100%;justify-content:space-between}.legend-item{font-size:var(--text-xs)}.viz-canvas{height:400px}.viz-code{height:450px}.node-content{width:45px;height:45px;font-size:var(--text-sm);border:3px solid}.code-snippet{font-size:var(--text-xs)}.code-line{padding:.25rem 1rem}.line-number{width:2rem;margin-right:.75rem;font-size:var(--text-xs)}.animation-controls{gap:.25rem}.control-btn{width:28px;height:28px;font-size:var(--text-sm)}}@media (max-width: 480px){.tab-label{font-size:var(--text-sm)}.tab-icon{font-size:1.25rem}.viz-canvas{height:350px}.viz-code{height:400px}.node-content{width:40px;height:40px;font-size:var(--text-xs)}}.landing{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);position:relative;overflow-x:hidden}.landing-grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.4;background-image:radial-gradient(circle,var(--border-strong) 1px,transparent 1px);background-size:32px 32px}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in srgb,var(--bg-primary) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.landing-nav-content{max-width:1120px;margin:0 auto;padding:0 2rem;height:56px;display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;align-items:center;gap:.5rem}.landing-logo-icon{color:var(--accent-primary)}.landing-logo-text{font-size:1.125rem;font-weight:700;color:var(--text-bright);letter-spacing:-.02em}.landing-beta-badge{font-size:.6rem!important;padding:.1rem .4rem!important;text-transform:uppercase;letter-spacing:.05em}.landing-nav-links{display:flex;align-items:center;gap:.25rem}.landing-nav-link{all:unset;padding:.4rem .75rem;font-size:.875rem;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-radius:6px;transition:color .15s;text-decoration:none}.landing-nav-link:hover{color:var(--text-primary)}.landing-main{padding-top:56px;position:relative;z-index:1}.landing-hero{max-width:1120px;margin:0 auto;padding:6rem 2rem 4rem;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;min-height:calc(100vh - 56px)}.landing-hero-content{animation:landingFadeIn .6s ease}@keyframes landingFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.landing-hero-badge{margin-bottom:1.5rem;font-weight:500;letter-spacing:0}.landing-hero-title{font-size:clamp(2.5rem,5vw,3.75rem);font-weight:800;line-height:1.05;letter-spacing:-.035em;color:var(--text-bright);margin:0 0 1.25rem}.landing-accent{color:var(--accent-primary)}.landing-hero-description{font-size:1.1rem;line-height:1.7;color:var(--text-secondary);margin:0 0 2rem;max-width:480px}.landing-hero-actions{display:flex;gap:.75rem;margin-bottom:2.5rem}.landing-hero-stats{display:flex;align-items:center;gap:1.5rem}.landing-stat{display:flex;flex-direction:column}.landing-stat-number{font-size:1.25rem;font-weight:700;color:var(--text-bright);font-variant-numeric:tabular-nums}.landing-stat-label{font-size:.8rem;color:var(--text-muted)}.landing-stat-divider{width:1px;height:32px;background:var(--border-primary)}.landing-hero-visual{animation:landingFadeIn .6s ease .15s backwards}.landing-preview-card{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;box-shadow:0 24px 48px -12px #0006}.landing-preview-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.landing-preview-dots{display:flex;gap:6px}.landing-preview-dots span{width:10px;height:10px;border-radius:50%;background:var(--border-strong)}.landing-preview-dots span:nth-child(1){background:#ef4444}.landing-preview-dots span:nth-child(2){background:#f59e0b}.landing-preview-dots span:nth-child(3){background:#22c55e}.landing-preview-title{font-size:.75rem;color:var(--text-muted);font-family:monospace}.landing-preview-body{padding:1.5rem;min-height:220px;display:flex;align-items:center;justify-content:center}.landing-section{max-width:1120px;margin:0 auto;padding:6rem 2rem}.landing-section-header{text-align:center;margin-bottom:3rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.landing-section-title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;color:var(--text-bright);letter-spacing:-.025em;margin:0}.landing-section-description{font-size:1rem;color:var(--text-tertiary);max-width:480px;margin:0}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-primary);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.landing-feature-card{padding:2rem;background:var(--bg-primary);transition:background .2s}.landing-feature-card:hover{background:var(--bg-elevated)}.landing-feature-icon{color:var(--accent-primary);margin-bottom:1rem}.landing-feature-title{font-size:.95rem;font-weight:600;color:var(--text-bright);margin:0 0 .5rem}.landing-feature-description{font-size:.85rem;color:var(--text-tertiary);line-height:1.6;margin:0}.landing-discord{border:1px solid var(--border-primary);border-radius:12px;padding:3rem}.landing-discord-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.landing-discord-icon{color:#5865f2}.landing-discord-content h3{font-size:1.25rem;font-weight:700;color:var(--text-bright);margin:0}.landing-discord-content p{font-size:.9rem;color:var(--text-tertiary);margin:0}.landing-discord-content a{text-decoration:none;margin-top:.25rem}.landing-cta{max-width:1120px;margin:0 auto;padding:6rem 2rem;text-align:center;border-top:1px solid var(--border-subtle)}.landing-cta-title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--text-bright);letter-spacing:-.025em;margin:0 0 .5rem}.landing-cta-description{font-size:1.1rem;color:var(--text-tertiary);margin:0 0 2rem}.landing-cta-actions{display:flex;gap:.75rem;justify-content:center}.landing-footer{padding:2rem;text-align:center;border-top:1px solid var(--border-subtle)}.landing-footer p{color:var(--text-muted);font-size:.8rem;margin:0}.landing-footer a{color:var(--text-tertiary);text-decoration:none;transition:color .15s}.landing-footer a:hover{color:var(--text-primary)}@media (max-width: 1024px){.landing-hero{grid-template-columns:1fr;gap:3rem;min-height:auto;padding:4rem 2rem}.landing-hero-visual{max-width:560px;margin:0 auto}.landing-features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.landing-nav-content{padding:0 1rem}.landing-hero{padding:3rem 1.25rem}.landing-hero-title{font-size:2rem}.landing-hero-actions{flex-direction:column}.landing-features-grid{grid-template-columns:1fr}.landing-section,.landing-cta{padding:4rem 1.25rem}.landing-cta-actions{flex-direction:column;align-items:center}.landing-discord{padding:2rem 1.5rem}}@media (max-width: 480px){.landing-nav-link{display:none}.landing-hero-stats{gap:1rem}.landing-stat-number{font-size:1.1rem}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:10px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--border-accent);transform:translateY(-2px);box-shadow:0 4px 12px #10b98133}.theme-toggle:active{transform:translateY(0)}.theme-icon{width:20px;height:20px;color:var(--text-secondary);transition:all .3s ease}.theme-toggle:hover .theme-icon{color:var(--accent-primary);transform:rotate(20deg) scale(1.1)}@media (max-width: 768px){.theme-toggle{width:36px;height:36px}.theme-icon{width:18px;height:18px}}.main-navigation{position:sticky;top:0;z-index:1000;background:var(--bg-elevated);border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:3rem;height:60px}.nav-logo{text-decoration:none;font-size:1.5rem;font-weight:700}.logo-gradient{color:var(--text-bright)}.beta-badge{display:inline-block;margin-left:.5rem;padding:.15rem .6rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-primary);background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:12px;vertical-align:middle}.nav-tabs{display:flex;gap:.5rem;flex:1;position:relative}.nav-tab{padding:.75rem 1.25rem;text-decoration:none;color:var(--text-tertiary);font-weight:500;font-size:.95rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;position:relative}.nav-tab:hover{color:var(--text-primary);background:var(--bg-hover);transform:translateY(-1px)}.nav-tab.active{color:var(--text-primary);background:#10b98114}.nav-tab-indicator{position:absolute;bottom:0;height:3px;background:var(--accent-gradient);box-shadow:0 0 8px #10b98166;border-radius:3px 3px 0 0;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.tab-icon{font-size:1.1rem}@media (max-width: 768px){.nav-container{gap:.75rem;padding:0 .75rem}.nav-logo{font-size:1.2rem;flex-shrink:0}.nav-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.25rem}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{padding:.5rem .6rem;font-size:.8rem;white-space:nowrap;flex-shrink:0}.tab-icon{display:none}}@media (max-width: 480px){.nav-container{gap:.5rem;padding:0 .5rem;height:50px}.nav-logo{font-size:1.1rem}.beta-badge{display:none}.nav-tab{padding:.4rem .5rem;font-size:.75rem}}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow-x:hidden}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:pageEnter .4s ease-out;flex:1;min-height:0}.app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(16,185,129,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(5,150,105,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.app>*{position:relative;z-index:1}.app-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-primary);padding:2rem 2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header h1{font-size:2rem;margin-bottom:.5rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.app-header p{color:var(--text-secondary);font-size:1rem;font-weight:500}.visualizer-header{background:linear-gradient(135deg,#10b9810d,#05966908);border-bottom:1px solid var(--border-accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.visualizer-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-secondary) 50%,var(--accent-primary) 100%);background-size:200% 100%;animation:shimmer 3s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.header-content{max-width:1600px;margin:0 auto;padding:1.5rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.header-brand{display:flex;align-items:center;gap:1.25rem}.brand-icon{width:48px;height:48px;background:var(--accent-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;font-weight:800;box-shadow:0 4px 20px #10b9814d,0 0 0 1px #ffffff1a inset;transition:all .3s ease}.brand-icon:hover{transform:translateY(-2px);box-shadow:0 6px 25px #10b98166,0 0 0 1px #ffffff26 inset}.brand-info{display:flex;flex-direction:column;gap:.25rem}.brand-title{font-size:1.5rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;line-height:1}.brand-subtitle{font-size:.875rem;color:var(--text-tertiary);font-weight:500;margin:0;line-height:1}.error-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:linear-gradient(135deg,#ef44441a,#dc26260d);border:1px solid rgba(239,68,68,.3);border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.error-icon{font-size:1.25rem;color:var(--color-error);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.error-message{color:#fca5a5;font-size:.875rem;font-weight:600}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start;padding:1.25rem 1.5rem}.brand-icon{width:40px;height:40px;font-size:1.25rem}.brand-title{font-size:1.25rem}.brand-subtitle{font-size:.75rem}.error-banner{width:100%}}.main-container{height:calc(100vh - 60px);display:flex;padding:0;gap:0}.gutter{background:#10b98133;border-radius:4px;transition:all .2s ease}.gutter:hover{background:linear-gradient(135deg,#10b98166,#05966966);box-shadow:0 0 20px #10b9814d}.gutter.gutter-horizontal{cursor:col-resize}.gutter.gutter-vertical{cursor:row-resize}.editor-panel{background:transparent;display:flex;flex-direction:column;height:100%}.visualizer-panel{background:transparent;overflow:hidden;height:100%}.app-footer{background:#ffffff05;border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 2rem;text-align:center;color:#888;font-size:.875rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-footer p{margin:0}.footer-link{color:#10b981;text-decoration:none;font-weight:600;transition:all .2s ease;position:relative}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s ease}.footer-link:hover{color:#059669}.footer-link:hover:after{width:100%}@media (max-width: 1200px){.app-header{padding:1.5rem 2rem}.app-header h1{font-size:1.5rem}.main-container{padding:0;gap:0}}@media (max-width: 768px){.app-header{padding:1rem 1.5rem}.app-header h1{font-size:1.25rem}.main-container{height:calc(100vh - 50px);padding:0}}.code-editor{display:flex;flex-direction:column;height:100%;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.editor-toolbar{background:var(--bg-elevated);padding:6px 12px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:var(--space-2);min-width:0}.toolbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.language-select{background:#10b9811a;color:var(--text-primary);border:1px solid rgba(16,185,129,.3);padding:5px 10px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .2s ease}.language-select:hover{background:#10b98133;border-color:#10b98180}.language-select:focus{outline:2px solid rgba(16,185,129,.5);outline-offset:2px}.testcase-select{background:#22c55e1a;color:var(--text-primary);border:1px solid rgba(34,197,94,.3);padding:5px 8px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .2s ease;max-width:180px;text-overflow:ellipsis}.testcase-select:hover{background:#22c55e33;border-color:#22c55e80}.testcase-select:focus{outline:2px solid rgba(34,197,94,.5);outline-offset:2px}.editor-area{flex:1;min-height:0;overflow:hidden;position:relative}.current-line-highlight{background:#dcdcaa26!important;border-left:3px solid var(--accent-yellow, #e2c76a)!important}.current-line-arrow{background:var(--accent-yellow, #e2c76a)!important;width:8px!important;margin-left:3px!important;clip-path:polygon(0 0,100% 50%,0 100%)}.editor-console{flex-shrink:0;max-height:150px;display:flex;flex-direction:column;border-top:1px solid var(--border-primary);background:#00000040;animation:consoleSlideIn .15s ease-out}@keyframes consoleSlideIn{0%{max-height:0;opacity:0}to{max-height:150px;opacity:1}}.console-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.console-title{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.console-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:var(--radius-sm);transition:all .15s}.console-close:hover{color:#e2e8f0;background:#ffffff14}.console-body{flex:1;overflow-y:auto;padding:8px 12px;font-family:Courier New,Monaco,monospace;font-size:13px;line-height:1.5}.console-body::-webkit-scrollbar{width:4px}.console-body::-webkit-scrollbar-track{background:transparent}.console-body::-webkit-scrollbar-thumb{background:#10b98140;border-radius:2px}.console-output{color:#e2e8f0;margin:0;white-space:pre-wrap;word-break:break-word}.console-error{color:#f87171;display:flex;align-items:flex-start;gap:6px;margin-bottom:4px}.console-error-icon{color:#ef4444;font-weight:700;flex-shrink:0;margin-top:1px}.console-empty{color:#475569;font-style:italic;font-size:12px}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--bg-elevated);border-top:1px solid var(--border-primary);flex-shrink:0;flex-wrap:wrap}.footer-left,.footer-center{display:flex;align-items:center;gap:6px}.footer-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.console-toggle{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#94a3b8;font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .15s}.console-toggle:hover{background:#ffffff14;color:#e2e8f0;border-color:#ffffff26}.console-toggle--open{background:#10b9811a;border-color:#10b9814d;color:#6ee7b7}.console-toggle--has-content:not(.console-toggle--open){color:#22c55e}.console-chevron{font-size:10px;transition:transform .15s}.footer-btn{padding:5px 12px;border:1px solid transparent;border-radius:var(--radius-md);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;color:var(--text-bright);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.footer-btn:disabled{opacity:.35;cursor:not-allowed}.footer-btn:hover:not(:disabled){transform:translateY(-1px)}.footer-btn:active:not(:disabled){transform:translateY(0)}.footer-run-btn{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#22c55e66;padding:5px 16px;font-weight:700}.footer-run-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 2px 12px #22c55e59;border-color:#22c55e99}.footer-tests-btn{background:#569cd61f;border-color:#569cd659;color:#7dd3fc}.footer-tests-btn:hover:not(:disabled){background:#569cd638;border-color:#569cd68c}.footer-debug-btn{background:#8b5cf61f;border-color:#8b5cf659;color:#c4b5fd}.footer-debug-btn:hover:not(:disabled){background:#8b5cf638;border-color:#8b5cf68c}.footer-optimal-btn{background:#22c55e14;border-color:#22c55e4d;color:#4ade80}.footer-optimal-btn:hover:not(:disabled){background:#22c55e2e;border-color:#22c55e80}.footer-stop-btn{background:#ef44441a;border-color:#ef444459;color:#f87171}.footer-stop-btn:hover:not(:disabled){background:#ef444433;border-color:#ef44448c}.footer-reset-btn{background:#f59e0b14;border-color:#f59e0b4d;color:#fbbf24}.footer-reset-btn:hover:not(:disabled){background:#f59e0b29;border-color:#f59e0b80}.footer-step-btn{padding:5px 10px;min-width:32px;justify-content:center;background:var(--border-secondary);border-color:var(--border-primary);font-size:var(--text-sm);line-height:1}.footer-step-btn:hover:not(:disabled){background:#ffffff1c;border-color:#ffffff38}.footer-play-btn{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b98166;min-width:34px;justify-content:center;padding:5px 10px}.footer-play-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 10px #10b98159}.footer-step-count{font-size:var(--text-2xs);color:var(--text-dim);font-weight:600;padding:3px 8px;white-space:nowrap;background:var(--border-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);letter-spacing:.03em}.footer-speed-select{background:#10b9811a;color:var(--text-primary);border:1px solid rgba(16,185,129,.3);padding:4px 8px;border-radius:var(--radius-md);font-size:var(--text-2xs);font-weight:600;cursor:pointer;transition:all .2s ease}.footer-speed-select:hover{background:#10b98133;border-color:#10b98180}.footer-speed-select:focus{outline:2px solid rgba(16,185,129,.5);outline-offset:2px}.control-btn{padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .18s ease;color:var(--text-bright);background:var(--bg-hover);border-color:var(--border-primary);display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.control-btn:hover:not(:disabled){background:var(--border-primary);border-color:#ffffff2e;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.control-btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.control-btn:disabled{opacity:.35;cursor:not-allowed}.play-btn{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b98166;box-shadow:0 2px 10px #10b98140;min-width:38px;justify-content:center}.step-btn{padding:var(--space-2) var(--space-3);min-width:36px;justify-content:center;background:var(--border-secondary);border-color:var(--border-primary);font-size:var(--text-base);line-height:1}.step-count{font-size:var(--text-xs);color:var(--text-dim);font-weight:600;padding:.3rem var(--space-3);white-space:nowrap;background:var(--border-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.speed-select{background:#10b9811a;color:var(--text-primary);border:1px solid rgba(16,185,129,.3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .2s ease}.playback-divider{width:1px;height:20px;background:var(--border-primary);margin:0 var(--space-1)}@media (max-width: 768px){.editor-toolbar{padding:5px 8px;gap:6px}.language-select,.testcase-select{font-size:var(--text-2xs);padding:4px 6px}.editor-footer{padding:5px 8px;gap:4px}.footer-btn{padding:4px 8px;font-size:11px}.footer-step-btn{padding:4px 8px;min-width:28px}.footer-step-count{font-size:10px;padding:2px 6px}.footer-speed-select{font-size:10px;padding:3px 6px}}@media (max-width: 480px){.editor-footer{flex-direction:column;align-items:stretch;gap:6px}.footer-left,.footer-center,.footer-right{justify-content:center;flex-wrap:wrap}.footer-right{border-top:1px solid var(--border-subtle);padding-top:6px}}.visualizer{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;background:transparent}.visualizer-header{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-5) var(--space-6);display:flex;align-items:center;gap:var(--space-4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.visualizer-header h3{font-size:var(--text-lg);font-weight:700;background:linear-gradient(135deg,var(--text-bright) 0%,var(--text-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.visualizer-content{flex:1;display:flex;flex-direction:column}.visualizer-content-no-split{flex:1;display:flex;flex-direction:column;overflow:hidden}.visualizer-body{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0;max-height:100%}.visualizer-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;max-height:100%}.visualizer-sidebar>.cs-panel,.visualizer-sidebar>.sep-panel{width:100%;flex-shrink:0}.visualizer-body .graph-panel{flex:1;min-width:0;border-radius:0 0 0 var(--radius-xl)}.state-panel{background:#141419cc;border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-4);overflow:hidden;display:flex;flex-direction:column;height:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.state-panel h4{color:var(--text-bright);margin-bottom:var(--space-3);font-size:var(--text-base);font-weight:600;flex-shrink:0}.state-content{background:#0003;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border-secondary);font-family:Courier New,Monaco,monospace;font-size:var(--text-sm);flex:1;overflow-y:auto;min-height:0}.state-content pre{margin:0;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}.state-content p{color:var(--text-tertiary);font-style:italic}.state-section{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-lg);border-left:3px solid;transition:all .3s ease}.state-section:hover{background:var(--bg-elevated)}.state-section:last-child{margin-bottom:0}.state-section.line-section{border-left-color:var(--accent-primary)}.state-section.variables-section{border-left-color:var(--accent-teal)}.state-section.stack-section{border-left-color:var(--accent-orange)}.state-section.output-section{border-left-color:var(--color-warning)}.state-section-title{font-weight:700;margin-bottom:var(--space-2);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2);color:var(--text-bright)}.state-section-content{font-size:var(--text-sm);line-height:1.6;color:var(--text-primary)}.variable-item{padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);transition:all .2s ease}.variable-item:hover{padding-left:var(--space-2);background:#10b9810d;border-radius:var(--radius-md)}.variable-item:last-child{border-bottom:none}.variable-name{color:var(--accent-primary);font-weight:700;font-size:var(--text-sm)}.variable-value{color:var(--color-success);margin-left:var(--space-2);font-weight:500}.graph-panel{background:#0003;border:1px solid var(--border-primary);border-radius:0 0 var(--radius-xl) var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;height:100%;min-height:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.graph-panel h4{color:var(--text-bright);margin-bottom:var(--space-4);font-size:var(--text-md);font-weight:700;background:linear-gradient(135deg,var(--accent-primary) 0%,#059669 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.visualization-svg{flex:1;width:100%;background:#0a0a0f80;border-radius:var(--radius-xl);border:1px solid var(--border-secondary)}.node-content{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-base);border:3px solid;background:#0a0a0fe6;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative}.node-content:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:inherit;opacity:0;transition:opacity .3s ease}.node-content:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:radial-gradient(circle,currentColor 0%,transparent 70%);opacity:0;pointer-events:none}.node-content:hover{transform:scale(1.15);box-shadow:0 8px 20px #0006}.node-visited .node-content{border-color:var(--color-success);color:var(--color-success);box-shadow:0 0 20px #22c55e4d;animation:stateChange .5s cubic-bezier(.34,1.56,.64,1)}.node-visited .node-content:after{animation:sparkle .6s ease-out}.node-visiting .node-content{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 25px #10b98180;animation:pulse 2s ease-in-out infinite,stateChange .5s cubic-bezier(.34,1.56,.64,1)}.node-visiting .node-content:before{opacity:.3;animation:ripple 1.5s ease-out infinite}.node-visiting .node-content:after{animation:sparkle .6s ease-out}@keyframes pulse{0%,to{box-shadow:0 0 25px #10b98180;transform:scale(1)}50%{box-shadow:0 0 40px #10b981cc;transform:scale(1.08)}}@keyframes stateChange{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes ripple{0%{transform:scale(1);opacity:.4}to{transform:scale(2);opacity:0}}@keyframes sparkle{0%{opacity:0;transform:scale(.8)}50%{opacity:.6;transform:scale(1.5)}to{opacity:0;transform:scale(2)}}.node-queued .node-content{border-color:var(--color-warning);color:var(--color-warning);box-shadow:0 0 20px #f59e0b4d;animation:stateChange .5s cubic-bezier(.34,1.56,.64,1)}.node-queued .node-content:after{animation:sparkle .6s ease-out}.node-unvisited .node-content{border-color:var(--node-unvisited);color:var(--text-muted);box-shadow:none}.node-pruned .node-content{border-color:var(--color-error);color:var(--color-error);opacity:.5;box-shadow:0 0 15px #ef444433;animation:stateChange .5s cubic-bezier(.34,1.56,.64,1)}.edge-line{stroke:#10b9814d;stroke-width:2;transition:all .5s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 0 2px rgba(16,185,129,.2))}.edge-line:hover{stroke:#10b98199;stroke-width:3;filter:drop-shadow(0 0 8px rgba(16,185,129,.5))}.edge-line.active{stroke:#10b981cc;stroke-width:3;filter:drop-shadow(0 0 10px rgba(16,185,129,.6));animation:edgePulse 1.5s ease-in-out infinite}@keyframes edgePulse{0%,to{stroke-opacity:.8}50%{stroke-opacity:1}}.viz-empty-state{text-align:center;color:var(--text-dim);max-width:600px;margin:0 auto}.viz-empty-state>p{font-size:1rem;margin-bottom:var(--space-5)}.viz-empty-state strong{color:var(--text-primary, #d4d4d4)}.viz-hint{text-align:left;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.viz-hint summary{padding:.75rem var(--space-5);cursor:pointer;font-size:var(--text-base);font-weight:600;color:var(--accent-primary, #10b981);-webkit-user-select:none;user-select:none;list-style:none}.viz-hint summary::-webkit-details-marker{display:none}.viz-hint summary:before{content:"▶";display:inline-block;margin-right:var(--space-2);font-size:var(--text-2xs);transition:transform .2s ease}.viz-hint[open] summary:before{transform:rotate(90deg)}.viz-hint-body{padding:0 var(--space-5) 1rem;font-size:var(--text-sm);line-height:1.7;color:var(--text-secondary)}.viz-hint-body p{margin:0 0 var(--space-3)}.viz-hint-body ul{margin:0;padding-left:1.2rem}.viz-hint-body li{margin-bottom:.45rem}.viz-hint-body code{background:#10b98126;color:var(--accent-yellow);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.85rem}.viz-hint-body strong{color:var(--text-primary)}@media (max-width: 768px){.visualizer-content{grid-template-columns:1fr;grid-template-rows:auto 1fr}.state-panel{max-height:200px}.graph-panel{min-height:400px;padding:var(--space-4)}.node-content{width:40px;height:40px;font-size:var(--text-sm)}}.cs-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:#111116;border-left:1px solid rgba(16,185,129,.18);overflow:hidden}.cs-header{display:flex;align-items:center;gap:var(--space-2);padding:.65rem .9rem;font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6ee7b7;border-bottom:1px solid rgba(16,185,129,.2);background:#10b98112;flex-shrink:0}.cs-icon{font-size:var(--text-sm);filter:drop-shadow(0 0 4px rgba(16,185,129,.7))}.cs-depth-badge{margin-left:auto;background:#10b98138;color:#6ee7b7;border:1px solid rgba(16,185,129,.35);border-radius:var(--radius-pill);padding:1px var(--space-2);font-size:var(--text-2xs);font-weight:700;letter-spacing:0}.cs-frames{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2) 0;display:flex;flex-direction:column;gap:5px}.cs-frames::-webkit-scrollbar{width:4px}.cs-frames::-webkit-scrollbar-track{background:transparent}.cs-frames::-webkit-scrollbar-thumb{background:#10b98140;border-radius:2px}.cs-frame{margin:0 var(--space-2);border-radius:var(--radius-lg);border:1px solid rgba(16,185,129,.15);background:#ffffff0d;overflow:hidden;transition:border-color .15s,background .15s}.cs-frame--active{border-color:#10b98199;background:#10b9811a;box-shadow:0 0 0 1px #10b98126 inset}.cs-frame-header{display:flex;align-items:center;gap:.4rem;padding:var(--space-2) .7rem;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.08)}.cs-frame--active .cs-frame-header{background:#10b98121;border-bottom-color:#10b98133}.cs-arrow{color:#818cf8;font-size:var(--text-2xs);flex-shrink:0;filter:drop-shadow(0 0 3px rgba(129,140,248,.6))}.cs-func-name{font-size:var(--text-sm);font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.cs-frame--active .cs-func-name{color:#6ee7b7}.cs-line-badge{font-size:var(--text-2xs);color:#64748b;flex-shrink:0;font-family:Courier New,monospace;background:#ffffff14;border-radius:var(--radius-sm);padding:0 4px}.cs-frame--active .cs-line-badge{color:#818cf8;background:#10b9812e}.cs-vars{padding:var(--space-1) .7rem var(--space-2);display:flex;flex-direction:column;gap:3px}.cs-var{display:flex;align-items:baseline;gap:.3rem;font-size:var(--text-xs);line-height:1.6;font-family:Courier New,Monaco,monospace;overflow:hidden}.cs-var-name{color:#7dd3fc;flex-shrink:0;font-weight:600}.cs-var-eq{color:#94a3b8;flex-shrink:0}.cs-var-val{color:var(--color-warning-light);white-space:normal;word-break:break-word;min-width:0}.cs-empty-vars{padding:.28rem .7rem .38rem;font-size:var(--text-2xs);color:#475569;font-style:italic}.cs-frame--global{border-color:#ffffff14;background:#ffffff06}.cs-frame--global .cs-frame-header{background:#ffffff0d}.cs-frame--global.cs-frame--active{border-color:#10b98159;background:#10b9810f}.cs-frame--global .cs-func-name{color:#94a3b8;font-style:italic;font-weight:600}.cs-frame--global.cs-frame--active .cs-func-name{color:#818cf8}.cs-global-icon{font-size:var(--text-2xs);color:#475569;flex-shrink:0;line-height:1}.cs-frame--global:not(:first-child){margin-top:8px;position:relative}.cs-frame--global:not(:first-child):before{content:"";position:absolute;top:-5px;left:10%;width:80%;height:1px;background:#10b98133}.sep-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:#111116;border-left:1px solid rgba(16,185,129,.18);border-top:1px solid rgba(16,185,129,.12);overflow:hidden}.sep-header{display:flex;align-items:center;gap:var(--space-2);padding:.65rem .9rem;font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6ee7b7;border-bottom:1px solid rgba(16,185,129,.2);background:#10b98112;flex-shrink:0}.sep-icon{font-size:var(--text-sm);filter:drop-shadow(0 0 4px rgba(16,185,129,.7))}.sep-step-badge{margin-left:auto;background:#10b98138;color:#6ee7b7;border:1px solid rgba(16,185,129,.35);border-radius:var(--radius-pill);padding:1px var(--space-2);font-size:var(--text-2xs);font-weight:700;letter-spacing:0}.sep-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2);display:flex;flex-direction:column;gap:6px}.sep-content::-webkit-scrollbar{width:4px}.sep-content::-webkit-scrollbar-track{background:transparent}.sep-content::-webkit-scrollbar-thumb{background:#10b98140;border-radius:2px}.sep-summary{margin:0 var(--space-1);padding:var(--space-2) .7rem;font-size:var(--text-xs);line-height:1.6;color:#e2e8f0;border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid rgba(16,185,129,.15)}.sep-concept{margin:0 var(--space-1);padding:var(--space-2) .7rem;border-radius:var(--radius-lg);background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.sep-concept-badge{display:inline-block;background:#10b98140;color:#6ee7b7;border:1px solid rgba(16,185,129,.4);border-radius:var(--radius-pill);padding:1px 8px;font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;margin-bottom:4px}.sep-concept-insight{font-size:var(--text-xs);color:#c4b5fd;line-height:1.5}.sep-diffs{margin:0 var(--space-1);border-radius:var(--radius-lg);background:#ffffff0d;border:1px solid rgba(16,185,129,.15);overflow:hidden}.sep-diffs-header{display:flex;align-items:center;gap:.4rem;padding:var(--space-2) .7rem;font-size:var(--text-2xs);font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.08)}.sep-diff-list{padding:var(--space-1) .7rem var(--space-2);display:flex;flex-direction:column;gap:3px}.sep-diff{display:flex;align-items:baseline;gap:.3rem;font-size:var(--text-xs);line-height:1.6;font-family:Courier New,Monaco,monospace;overflow:hidden}.sep-diff-indicator{flex-shrink:0;font-size:var(--text-2xs);width:14px;text-align:center}.sep-diff--added .sep-diff-indicator{color:#4ade80}.sep-diff--changed .sep-diff-indicator{color:#facc15}.sep-diff--removed .sep-diff-indicator{color:#f87171}.sep-diff-name{flex-shrink:0;font-weight:600}.sep-diff--added .sep-diff-name{color:#4ade80}.sep-diff--changed .sep-diff-name{color:#facc15}.sep-diff--removed .sep-diff-name{color:#f87171;text-decoration:line-through}.sep-diff-eq{color:#94a3b8;flex-shrink:0}.sep-diff-val{color:var(--color-warning-light);white-space:normal;word-break:break-word;min-width:0}.sep-diff--removed .sep-diff-val{color:#f87171;opacity:.7}.sep-empty{padding:.5rem .7rem;font-size:var(--text-2xs);color:#475569;font-style:italic;text-align:center}.share-run-btn{padding:6px 14px;font-size:13px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid rgba(245,158,11,.4);border-radius:6px;color:#fff;white-space:nowrap;transition:opacity .15s ease}.share-run-btn:hover:not(:disabled){opacity:.9}.share-run-btn:disabled{opacity:.4;cursor:not-allowed}.share-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:10000;animation:share-toast-in .25s ease-out}@keyframes share-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.share-toast-content{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#1e1e2e;border:1px solid #4ec9b0;border-radius:8px;box-shadow:0 8px 32px #00000080;white-space:nowrap}.share-toast-error .share-toast-content{border-color:#ef4444}.share-toast-check{color:#4ec9b0;font-size:16px;font-weight:700}.share-toast-msg{color:#d4d4d4;font-size:13px;font-weight:600}.share-toast-url{color:#569cd6;font-size:13px;text-decoration:none;font-family:monospace}.share-toast-url:hover{text-decoration:underline}.share-toast-close{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:0 2px;line-height:1}.share-toast-close:hover{color:#d4d4d4}.problems-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary)}.problems-container{max-width:960px;margin:0 auto;padding:2rem}.problems-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-primary)}.problems-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.problems-header p{color:var(--text-secondary);font-size:1.1rem}.problems-stats{display:flex;gap:2rem}.stat{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background:#10b9811a;border-radius:8px;border:1px solid rgba(16,185,129,.3)}.stat-number{font-size:2rem;font-weight:700;color:var(--accent-primary)}.stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.category-groups{display:flex;flex-direction:column;gap:.5rem}.category-group{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;overflow:hidden;transition:border-color .2s ease}.category-group.expanded{border-color:var(--border-accent)}.category-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.9rem 1.25rem;background:none;border:none;cursor:pointer;color:var(--text-primary);transition:background .15s ease}.category-group-header:hover{background:var(--bg-hover)}.category-group-left{display:flex;align-items:center;gap:.65rem}.category-chevron{font-size:.85rem;color:var(--text-muted);transition:transform .2s ease;display:inline-block;width:14px;text-align:center}.category-chevron.open{transform:rotate(90deg)}.category-group-name{font-size:.95rem;font-weight:600}.category-group-count{font-size:.75rem;font-weight:600;color:var(--text-muted);background:var(--bg-elevated);padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border-primary)}.category-group-right{display:flex;gap:.4rem;align-items:center}.diff-pill{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.diff-pill.diff-easy{background:#22c55e1f;color:#22c55e}.diff-pill.diff-medium{background:#f59e0b1f;color:#f59e0b}.diff-pill.diff-hard{background:#ef44441f;color:#ef4444}.category-group-body{border-top:1px solid var(--border-primary)}.problem-row{display:flex;align-items:center;gap:1rem;padding:.7rem 1.25rem .7rem 2.75rem;border-bottom:1px solid var(--border-primary);cursor:pointer;transition:background .15s ease}.problem-row:last-child{border-bottom:none}.problem-row:hover{background:var(--bg-hover)}.problem-row-num{font-size:.78rem;font-weight:600;color:var(--text-muted);min-width:22px}.problem-row-title{flex:1;font-size:.9rem;font-weight:500;color:var(--text-primary)}.problem-row:hover .problem-row-title{color:var(--accent-primary)}.problem-row-difficulty{font-size:.8rem;font-weight:600;min-width:60px;text-align:right}.solve-button{padding:.35rem 1rem;background:var(--accent-gradient);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease;opacity:0;flex-shrink:0}.problem-row:hover .solve-button{opacity:1}.solve-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98180}@media (max-width: 768px){.problems-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.problems-stats{gap:1rem}.problem-row{padding-left:1.25rem}.category-group-right{display:none}.solve-button{opacity:1}}.test-case-panel{height:100%;display:flex;flex-direction:column;background:var(--bg-surface);font-size:var(--text-sm)}.test-case-panel-loading{height:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-dim)}.test-case-panel .test-summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-strong);font-weight:600;flex-shrink:0}.test-case-panel .test-summary-all-passed{background:var(--color-success-muted);color:var(--color-success);border-bottom-color:var(--color-success-muted)}.test-case-panel .test-summary-partial{background:var(--color-warning-muted);color:var(--color-warning);border-bottom-color:#f59e0b33}.test-case-panel .test-summary-error{background:var(--color-error-muted);color:var(--color-error);border-bottom-color:#ef444433}.test-case-panel .summary-badge{padding:.2rem var(--space-2);background:var(--color-success-muted);border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.02em}.test-case-list-scroll{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.test-case-card{background:var(--bg-surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);border-left:3px solid var(--border-strong);position:relative}.test-case-card.card-passed{border-left-color:var(--color-success)}.test-case-card.card-failed{border-left-color:var(--color-error)}.test-case-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.test-case-card-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.card-result-icon{font-size:var(--text-xs)}.remove-case-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--space-4);padding:.15rem var(--space-1);border-radius:var(--radius-sm);line-height:1;transition:color .15s,background .15s}.remove-case-btn:hover{color:var(--accent-salmon);background:#f487711a}.test-case-fields{display:flex;flex-direction:column;gap:var(--space-1)}.test-case-field{display:flex;align-items:center;gap:var(--space-2)}.field-label{min-width:70px;font-family:Courier New,Courier,monospace;font-size:var(--text-sm);color:var(--accent-yellow);flex-shrink:0}.field-input{flex:1;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);padding:.3rem var(--space-2);font-family:Courier New,Courier,monospace;font-size:var(--text-sm);outline:none;transition:border-color .15s}.field-input:focus{border-color:var(--accent-blue)}.card-result-diff{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-strong);display:flex;flex-direction:column;gap:.25rem}.card-diff-line{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs)}.card-diff-key{color:var(--text-dim);min-width:5.5rem;flex-shrink:0}.card-diff-value{font-family:Courier New,Courier,monospace;font-size:var(--text-sm);padding:.1rem var(--space-1);border-radius:var(--radius-sm);word-break:break-all}.card-diff-expected{background:var(--color-success-muted);color:var(--color-success-light)}.card-diff-actual{background:var(--color-error-muted);color:var(--color-error-light)}.card-diff-error{background:var(--color-warning-muted);color:var(--color-warning-light)}.test-case-actions{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-strong);background:var(--bg-surface-raised);flex-shrink:0}.run-cases-btn{padding:.45rem 1.1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:opacity .15s,transform .15s}.run-cases-btn:hover:not(:disabled){transform:translateY(-1px)}.run-cases-btn:disabled{opacity:.5;cursor:not-allowed}.add-case-btn{padding:var(--space-2) .9rem;background:transparent;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:color .15s,border-color .15s}.add-case-btn:hover{color:var(--text-primary);border-color:var(--accent-blue)}.solution-panel{height:100%;overflow-y:auto;background:var(--bg-surface);display:flex;flex-direction:column;font-size:var(--text-sm)}.solution-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-dim);padding:2rem;text-align:center}.solution-complexity{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-strong);flex-shrink:0}.complexity-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;font-family:Courier New,Courier,monospace}.complexity-badge.time{background:var(--color-success-muted);color:var(--color-success-light);border:1px solid rgba(34,197,94,.25)}.complexity-badge.space{background:var(--color-info-muted);color:#93c5fd;border:1px solid rgba(96,165,250,.25)}.complexity-label{color:var(--text-dim);font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500}.solution-approach{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-strong)}.solution-approach h3{font-size:var(--text-sm);font-weight:600;color:var(--text-bright);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:.04em}.solution-approach p{margin:0;line-height:1.7;color:var(--text-primary)}.solution-steps{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-strong)}.solution-steps h3{font-size:var(--text-sm);font-weight:600;color:var(--text-bright);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:.04em}.step-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.step-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--bg-surface-raised);border-radius:var(--radius-md);border:1px solid var(--border-strong);font-size:var(--text-sm);color:var(--text-primary)}.step-icon{flex-shrink:0;margin-top:.1rem}.solution-code{padding:var(--space-4) var(--space-5);flex:1;display:flex;flex-direction:column}.solution-code h3{font-size:var(--text-sm);font-weight:600;color:var(--text-bright);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:.04em}.solution-code-block{flex:1;min-height:200px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden}.solution-code-block pre{margin:0;padding:var(--space-4);font-family:Courier New,Courier,monospace;font-size:var(--text-sm);line-height:1.6;color:var(--text-primary);overflow:auto;height:100%;white-space:pre-wrap;word-break:break-word}.divergence-panel{padding:1.25rem;height:100%;overflow-y:auto;font-size:var(--text-sm);color:var(--text-primary)}.debug-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-secondary)}.debug-spinner{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;animation:debug-spin .8s linear infinite}@keyframes debug-spin{to{transform:rotate(360deg)}}.debug-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);color:var(--color-error)}.debug-error-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-error);color:#fff;border-radius:50%;font-weight:700;font-size:var(--text-xs);flex-shrink:0}.debug-success{text-align:center;padding:2rem}.success-icon{width:48px;height:48px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:#22c55e26;color:var(--color-success);border-radius:50%;font-size:var(--text-xl);font-weight:700}.debug-success h3{color:var(--color-success);font-size:var(--text-lg);margin-bottom:.5rem}.debug-success p{color:var(--text-secondary);margin-bottom:1.5rem}.debug-header{margin-bottom:1rem}.debug-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.debug-header h3{font-size:var(--text-md);font-weight:700;color:var(--text-bright);margin:0}.category-badge{padding:.2rem .7rem;border-radius:var(--radius-xl);font-size:var(--text-xs);font-weight:700;border:1px solid;white-space:nowrap}.debug-test-case{color:var(--text-tertiary);font-size:var(--text-xs);margin:0}.output-comparison{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.output-box{padding:.75rem;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-strong)}.output-box.output-wrong{border-color:#ef444466}.output-box.output-correct{border-color:#22c55e66}.output-label{display:block;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.4rem}.output-box code{font-family:Fira Code,Consolas,monospace;font-size:var(--text-sm);color:var(--text-primary);word-break:break-all}.debug-explanation{padding:1rem;background:var(--bg-surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-lg);margin-bottom:1rem}.explanation-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.explanation-icon{font-size:.6rem}.divergence-step{font-weight:700;color:var(--text-primary);font-size:var(--text-sm)}.debug-explanation p{color:var(--text-primary);line-height:1.6;margin:0;font-size:var(--text-sm)}.state-comparison{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.state-snapshot{background:var(--bg-surface);border:1px solid;border-radius:var(--radius-lg);padding:.75rem}.state-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.state-details{display:flex;flex-direction:column;gap:.3rem}.state-row{display:flex;gap:.5rem;align-items:baseline}.state-key{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);min-width:50px}.state-value{font-family:Fira Code,Consolas,monospace;font-size:var(--text-xs);color:var(--text-primary)}.state-array{word-break:break-all;font-size:var(--text-xs);color:var(--text-secondary)}.trace-timeline{background:var(--bg-surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:.75rem;margin-bottom:1rem}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.timeline-label{font-weight:700;font-size:var(--text-xs);color:var(--text-primary)}.timeline-count{font-size:var(--text-2xs);color:var(--text-tertiary)}.timeline-tracks{display:flex;flex-direction:column;gap:.5rem}.timeline-track{display:flex;align-items:center;gap:.5rem}.track-label{font-size:var(--text-2xs);font-weight:600;color:var(--text-tertiary);width:28px;flex-shrink:0}.track-dots{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.track-dot{width:10px;height:10px;border-radius:50%;cursor:default;transition:transform .15s ease}.track-dot:hover{transform:scale(1.4)}.ref-dot{background:var(--color-success)}.user-dot{background:var(--color-info)}.user-dot.divergent{background:var(--color-error)}.track-ellipsis{font-size:var(--text-2xs);color:var(--text-tertiary);margin-left:4px}.debug-suggestions{background:#3b82f60f;border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1rem}.debug-suggestions h4{font-size:var(--text-sm);font-weight:700;color:var(--color-info);margin:0 0 .5rem}.debug-suggestions ul{list-style:none;padding:0;margin:0}.debug-suggestions li{padding:.35rem 0 .35rem 1.2rem;position:relative;color:var(--text-primary);font-size:var(--text-xs);line-height:1.5}.debug-suggestions li:before{content:"→";position:absolute;left:0;color:var(--color-info)}.debug-stats{display:flex;gap:1rem;justify-content:center}.debug-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem 1rem;background:var(--bg-surface-raised);border-radius:var(--radius-md);border:1px solid var(--border-strong);min-width:70px}.stat-num{font-size:var(--text-lg);font-weight:700;color:var(--accent-primary)}.stat-desc{font-size:var(--text-2xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}@media (max-width: 600px){.output-comparison,.state-comparison{grid-template-columns:1fr}.debug-stats{flex-wrap:wrap}}.ps-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:899;background:#0006}.ps-sidebar{position:fixed;top:60px;left:0;bottom:0;width:280px;z-index:900;background:#1e1e2e;border-right:1px solid var(--border-primary, #3e3e42);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 20px #0000004d}.ps-sidebar.ps-open{transform:translate(0)}.ps-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-primary, #3e3e42);flex-shrink:0}.ps-title{font-weight:700;font-size:14px;color:var(--text-primary, #e4e4e7)}.ps-count{font-size:11px;color:var(--text-tertiary, #888);background:var(--bg-hover, #2a2a3a);padding:2px 8px;border-radius:10px}.ps-close{margin-left:auto;background:none;border:none;color:var(--text-tertiary, #888);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;border-radius:4px}.ps-close:hover{color:var(--text-primary, #e4e4e7);background:var(--bg-hover, #2a2a3a)}.ps-list{flex:1;overflow-y:auto;padding:8px 0}.ps-list::-webkit-scrollbar{width:4px}.ps-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.ps-category{margin-bottom:2px}.ps-category-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px;background:none;border:none;color:var(--text-secondary, #a1a1aa);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;text-align:left}.ps-category-header:hover{color:var(--text-primary, #e4e4e7);background:var(--bg-hover, #2a2a3a)}.ps-chevron{font-size:14px;transition:transform .2s ease;flex-shrink:0;width:12px;text-align:center}.ps-chevron.ps-expanded{transform:rotate(90deg)}.ps-category-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-category-count{font-size:10px;color:var(--text-tertiary, #666);background:var(--bg-hover, #2a2a3a);padding:1px 6px;border-radius:8px;flex-shrink:0}.ps-category-body{padding:0 0 4px}.ps-problem{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 34px;text-decoration:none;color:var(--text-secondary, #a1a1aa);font-size:13px;transition:background .15s ease,color .15s ease;cursor:pointer}.ps-problem:hover{background:var(--bg-hover, #2a2a3a);color:var(--text-primary, #e4e4e7)}.ps-problem.ps-active{background:linear-gradient(135deg,#10b98133,#05966926);color:var(--text-primary, #e4e4e7);border-left:3px solid #10b981;padding-left:31px}.ps-problem-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-diff{font-size:11px;font-weight:600;flex-shrink:0}.ps-toggle-btn{background:none;border:1px solid var(--border-primary, #3e3e42);color:var(--text-secondary, #a1a1aa);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ps-toggle-btn:hover{color:var(--text-primary, #e4e4e7);background:var(--bg-hover, #2a2a3a);border-color:#10b981}@media (max-width: 768px){.ps-sidebar{width:260px;top:50px}.ps-problem{font-size:12px;padding:5px 12px 5px 28px}}.problem-detail-page{min-height:100vh;background:var(--bg-surface);color:var(--text-primary);display:flex;flex-direction:column}.problem-layout{flex:1;overflow:hidden}.problem-split{display:flex;height:calc(100vh - 60px)}.problem-split>.gutter{background:var(--border-strong);transition:background .2s;cursor:col-resize}.problem-split>.gutter:hover{background:var(--accent-blue)}.problem-description-panel{height:100%;overflow-y:auto;background:var(--bg-surface);border-right:1px solid var(--border-strong)}.problem-header{padding:var(--space-6);border-bottom:1px solid var(--border-strong);background:var(--bg-surface-raised);position:sticky;top:0;z-index:10}.problem-meta h1{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-4);color:var(--text-bright)}.problem-tags{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.difficulty-tag,.category-tag{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600}.difficulty-tag{background:#ffffff1a}.category-tag{background:#569cd626;color:var(--accent-blue)}.leetcode-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-md);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:all .2s ease}.leetcode-link:hover{background:#10b9811a}.problem-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.problem-nav-buttons{display:flex;gap:var(--space-2)}.problem-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);color:var(--accent-primary);font-size:var(--text-base);cursor:pointer;transition:all .15s ease}.problem-nav-btn:hover:not(:disabled){background:#10b98140;color:#fff}.problem-nav-btn:disabled{opacity:.3;cursor:not-allowed}.problem-content{padding:var(--space-6)}.problem-section{margin-bottom:var(--space-6)}.problem-section h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3);color:var(--text-bright)}.problem-section p{line-height:1.7;color:var(--text-primary)}.example{background:var(--bg-surface-raised);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-strong);margin-bottom:var(--space-4)}.example-label{font-weight:600;color:var(--accent-teal);margin-bottom:var(--space-3)}.example-content div{margin-bottom:var(--space-2);font-family:Courier New,monospace;font-size:var(--text-sm)}.example-content strong{color:var(--accent-yellow);margin-right:var(--space-2)}.constraints-list{list-style:none;padding:0}.constraints-list li{padding:var(--space-2) 0;padding-left:var(--space-6);position:relative;line-height:1.6}.constraints-list li:before{content:"•";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.editor-visualization-panel{height:100%;display:flex;flex-direction:column;background:var(--bg-surface)}.vertical-split{display:flex;flex-direction:column;height:100%}.vertical-split>.gutter{background:var(--border-strong);transition:background .2s;cursor:row-resize}.vertical-split>.gutter:hover{background:var(--accent-blue)}.error-banner{background:#5a1d1d;color:var(--accent-salmon);padding:var(--space-3) var(--space-6);border-bottom:1px solid #7a2d2d;font-size:var(--text-sm);flex-shrink:0}.code-section{height:100%;display:flex;flex-direction:column;overflow:hidden}.visualization-section{height:100%;overflow:hidden;display:flex;flex-direction:column}.panel-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-strong);background:var(--bg-surface-raised);flex-shrink:0}.panel-tab{padding:var(--space-2) 1.1rem;background:transparent;color:var(--text-dim);border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--text-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-2);transition:color .15s,border-color .15s}.panel-tab:hover{color:var(--text-primary)}.panel-tab.active{color:var(--text-bright);border-bottom-color:var(--accent-blue)}.panel-tab.tab-pass.active{border-bottom-color:var(--color-success)}.panel-tab.tab-fail.active{border-bottom-color:var(--color-error)}.tab-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);font-size:var(--text-xs);font-weight:700;background:var(--border-strong);color:var(--text-primary)}.panel-tab.tab-pass .tab-badge{background:var(--color-success-muted);color:var(--color-success)}.panel-tab.tab-fail .tab-badge{background:var(--color-error-muted);color:var(--color-error)}.panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.problem-not-found{max-width:600px;margin:4rem auto;padding:3rem;text-align:center;background:var(--bg-surface-raised);border-radius:var(--radius-xl);border:1px solid var(--border-strong)}.problem-not-found h2{font-size:2rem;margin-bottom:var(--space-6);color:var(--text-bright)}.problem-not-found button{padding:var(--space-3) 2rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:transform .2s ease}.problem-not-found button:hover{transform:translateY(-2px)}@media (max-width: 1024px){.problem-split{flex-direction:column}.problem-description-panel{height:auto;max-height:50vh;border-right:none;border-bottom:1px solid var(--border-strong)}.editor-visualization-panel{height:50vh}.problem-header,.problem-content{padding:var(--space-4)}.problem-meta h1{font-size:var(--text-xl)}}@media (max-width: 768px){.problem-split{height:auto;min-height:100vh}.problem-description-panel{max-height:40vh}.problem-tags{flex-wrap:wrap;gap:var(--space-2)}.difficulty-tag,.category-tag{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.example{padding:var(--space-3)}.panel-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.panel-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);white-space:nowrap}.problem-not-found{margin:var(--space-7) var(--space-4);padding:var(--space-7)}.problem-not-found h2{font-size:var(--text-xl)}}@media (max-width: 480px){.problem-header,.problem-content{padding:var(--space-3)}.problem-meta h1{font-size:var(--text-lg);margin-bottom:var(--space-3)}.leetcode-link{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.example-content div{font-size:var(--text-xs)}}.patterns-page{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.patterns-layout{display:flex;flex:1;height:calc(100vh - 60px);overflow:hidden}.patterns-sidebar{width:240px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-primary);overflow-y:auto;padding:1.25rem 0}.patterns-sidebar::-webkit-scrollbar{width:4px}.patterns-sidebar::-webkit-scrollbar-track{background:transparent}.patterns-sidebar::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.sidebar-header{padding:0 1rem 1rem;border-bottom:1px solid var(--border-primary);margin-bottom:.75rem}.sidebar-header h2{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0}.sidebar-category{padding:.5rem 1rem .25rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:.5rem}.sidebar-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem 1rem;background:none;border:none;cursor:pointer;text-align:left;font-size:.875rem;color:var(--text-secondary);transition:all .15s ease;border-left:3px solid transparent}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:#10b9811f;color:var(--accent-primary);border-left-color:var(--accent-primary);font-weight:600}.sidebar-item-icon{font-size:1rem;width:20px;text-align:center}.patterns-main{flex:1;overflow-y:auto;padding:2rem;background:var(--bg-primary)}.patterns-main::-webkit-scrollbar{width:6px}.patterns-main::-webkit-scrollbar-track{background:transparent}.patterns-main::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.pattern-viz{max-width:900px;margin:0 auto}.pattern-viz-header{margin-bottom:1.5rem}.pattern-viz-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .4rem}.pattern-viz-subtitle{color:var(--text-tertiary);font-size:.95rem;margin:0}.pattern-tags{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.pattern-tag{padding:.2rem .65rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#10b98126;color:var(--accent-primary);border:1px solid rgba(16,185,129,.25)}.pattern-body{display:grid;grid-template-columns:1fr;gap:1.25rem}.viz-canvas{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.viz-canvas svg{display:block;width:100%}.step-description{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-left:3px solid var(--accent-primary);border-radius:8px;padding:.85rem 1.1rem;font-size:.9rem;color:var(--text-primary);min-height:48px;display:flex;align-items:center}.viz-controls{display:flex;align-items:center;gap:.5rem;justify-content:center}.ctrl-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.95rem;transition:all .15s ease}.ctrl-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-primary)}.ctrl-btn:disabled{opacity:.35;cursor:not-allowed}.ctrl-btn.play{width:42px;height:42px;background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-size:1.1rem}.ctrl-btn.play:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.step-counter{font-size:.8rem;color:var(--text-muted);min-width:60px;text-align:center}.pattern-details{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.detail-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:1rem 1.2rem}.detail-card h4{margin:0 0 .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.detail-card ul{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.35rem}.detail-card li{font-size:.85rem;color:var(--text-secondary)}.pseudocode{font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;color:#ce9178;background:var(--bg-primary);border-radius:6px;padding:.75rem;white-space:pre;overflow-x:auto;line-height:1.6}.complexity{display:flex;gap:1rem}.complexity-item{display:flex;flex-direction:column;gap:.2rem}.complexity-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.complexity-value{font-size:.95rem;font-weight:600;color:var(--accent-primary);font-family:JetBrains Mono,monospace}.pattern-problems{max-width:900px;margin:1.5rem auto 0}.pattern-problems-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .75rem}.pattern-problems-list{display:flex;flex-direction:column;gap:.35rem}.pattern-problem-link{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;text-decoration:none;transition:all .15s ease}.pattern-problem-link:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:translate(4px)}.pattern-problem-name{font-size:.88rem;font-weight:500;color:var(--text-primary)}.pattern-problem-link:hover .pattern-problem-name{color:var(--accent-primary)}.pattern-problem-difficulty{font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;flex-shrink:0}.pattern-problem-difficulty.difficulty-easy{background:#22c55e1f;color:#22c55e}.pattern-problem-difficulty.difficulty-medium{background:#f59e0b1f;color:#f59e0b}.pattern-problem-difficulty.difficulty-hard{background:#ef44441f;color:#ef4444}@media (max-width: 900px){.patterns-sidebar{width:180px}.pattern-details{grid-template-columns:1fr}}@media (max-width: 640px){.patterns-sidebar{display:none}.patterns-main{padding:1rem}}.sim-panel{width:320px;flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow-y:auto;max-height:600px;animation:sim-slideIn .25s ease}@keyframes sim-slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.sim-panel::-webkit-scrollbar{width:3px}.sim-panel::-webkit-scrollbar-track{background:transparent}.sim-panel::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.sim-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--border-primary);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.sim-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.sim-close{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-muted);padding:0 .25rem;line-height:1;transition:color .15s ease}.sim-close:hover{color:var(--text-primary)}.sim-section{padding:.75rem;border-bottom:1px solid var(--border-primary)}.sim-section:last-child{border-bottom:none}.sim-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.5rem}.sim-rps-value{font-size:1.2rem;font-weight:700;color:var(--accent-primary);text-align:center;margin-bottom:.5rem}.sim-slider{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--border-primary);outline:none}.sim-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-primary);cursor:pointer;border:2px solid var(--bg-secondary);box-shadow:0 0 4px #10b98166}.sim-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-primary);cursor:pointer;border:2px solid var(--bg-secondary)}.sim-slider-ticks{display:flex;justify-content:space-between;margin-top:.25rem}.sim-tick{font-size:.6rem;color:var(--text-muted)}.sim-node-list{display:flex;flex-direction:column;gap:.35rem}.sim-node-item{padding:.4rem .5rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:border-color .15s ease}.sim-node-item.failed{border-color:var(--color-error);opacity:.7}.sim-node-item.degraded{border-color:var(--color-warning)}.sim-node-info{display:flex;align-items:center;gap:.4rem;font-size:.75rem}.sim-node-icon{font-size:.85rem;flex-shrink:0;width:1rem;text-align:center}.sim-node-name{flex:1;font-weight:600;color:var(--text-primary)}.sim-capacity-badge{font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:8px;flex-shrink:0}.sim-capacity-badge.green{background:var(--color-success-muted);color:var(--color-success)}.sim-capacity-badge.yellow{background:var(--color-warning-muted);color:var(--color-warning)}.sim-capacity-badge.red{background:#ef444426;color:var(--color-error)}.sim-failed-badge{font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:8px;background:#ef444426;color:var(--color-error);flex-shrink:0}.sim-degraded-badge{font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:8px;background:var(--color-warning-muted);color:var(--color-warning);flex-shrink:0}.sim-node-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.3rem}.sim-throughput{font-size:.6rem;color:var(--text-muted)}.sim-fail-btn{font-size:.6rem;font-weight:600;padding:.15rem .5rem;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.sim-fail-btn:hover{border-color:var(--color-error);color:var(--color-error)}.sim-fail-btn.active{border-color:var(--color-success);color:var(--color-success)}.sim-fail-btn.active:hover{background:#22c55e14}.sim-empty{font-size:.75rem;color:var(--text-muted);text-align:center;padding:1rem 0}@media (max-width: 768px){.sim-panel{width:100%;max-height:350px}}.db-workspace{display:flex;gap:.75rem}.db-main-area{flex:1;min-width:0}.db-container{display:flex;gap:.75rem}.db-toolbar{display:flex;align-items:center;gap:.35rem;padding:.4rem .5rem;margin-bottom:.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);flex-wrap:wrap}.db-toolbar-group{display:flex;align-items:center;gap:.25rem}.db-toolbar-divider{width:1px;height:20px;background:var(--border-primary);margin:0 .15rem}.db-toolbar-btn{padding:.3rem .6rem;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.db-toolbar-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--text-primary)}.db-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.db-toolbar-btn.active{background:#10b9811f;border-color:var(--accent-primary);color:var(--accent-primary)}.db-toolbar-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.db-toolbar-btn.primary:hover{opacity:.9}.db-toolbar-btn.solution{background:#10b98114;border-color:var(--accent-primary);color:var(--accent-primary)}.db-toolbar-btn.solution:hover{background:var(--accent-primary);color:#fff}.db-toolbar-zoom{font-size:.65rem;font-weight:600;color:var(--text-muted);min-width:2.5rem;text-align:center}.db-palette{width:160px;flex-shrink:0;display:flex;flex-direction:column;gap:.35rem;max-height:520px;overflow-y:auto;padding-right:.25rem}.db-palette::-webkit-scrollbar{width:3px}.db-palette::-webkit-scrollbar-track{background:transparent}.db-palette::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.db-palette-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.25rem}.db-palette-item{display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:grab;font-size:.72rem;color:var(--text-secondary);transition:border-color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.db-palette-item:hover{border-color:var(--accent-primary);background:#10b9810f;color:var(--text-primary)}.db-palette-item:active{cursor:grabbing}.db-palette-icon{font-size:.85rem;flex-shrink:0;width:1.1rem;text-align:center}.db-canvas-area{flex:1;min-width:0}.db-canvas{width:100%;height:500px;border:2px dashed var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);cursor:crosshair;display:block}.db-canvas.drag-over{border-color:var(--accent-primary);background:#10b9810a}.db-canvas-hint{font-size:.75rem;color:var(--text-muted);text-align:center;margin-top:.4rem}.db-node{cursor:move}.db-node-rect{fill:var(--bg-secondary);stroke:var(--border-primary);stroke-width:1.5;rx:8;ry:8;transition:stroke .2s ease,stroke-width .2s ease}.db-node:hover .db-node-rect,.db-node.connecting .db-node-rect{stroke:var(--accent-primary);stroke-width:2}.db-node.selected .db-node-rect{stroke:var(--accent-primary);stroke-width:2.5;stroke-dasharray:4 2}.db-node.sim-node-green .db-node-rect{stroke:var(--color-success);stroke-width:2}.db-node.sim-node-yellow .db-node-rect{stroke:var(--color-warning);stroke-width:2.5}.db-node.sim-node-red .db-node-rect{stroke:var(--color-error);stroke-width:3;animation:db-pulse-red 1.5s ease-in-out infinite}.db-node.sim-node-failed .db-node-rect{stroke:var(--color-error);stroke-width:2;stroke-dasharray:4 3;fill:#ef44440d}.db-node.sim-node-degraded .db-node-rect{stroke:var(--color-warning);stroke-width:2.5;stroke-dasharray:6 3}@keyframes db-pulse-red{0%,to{stroke-opacity:1}50%{stroke-opacity:.5}}.db-port{fill:var(--border-primary);opacity:0;transition:opacity .15s ease}.db-node:hover .db-port{opacity:.7}.db-node.selected .db-port,.db-node.connecting .db-port{opacity:1;fill:var(--accent-primary)}.db-node-icon{font-size:16px;text-anchor:middle;dominant-baseline:central;pointer-events:none}.db-node-label{fill:var(--text-primary);font-size:11px;font-weight:600;text-anchor:middle;dominant-baseline:central;pointer-events:none}.db-node-delete{cursor:pointer;opacity:0;transition:opacity .15s ease}.db-node:hover .db-node-delete{opacity:1}.db-node-delete-bg{fill:var(--color-error);r:8}.db-node-delete-text{fill:#fff;font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:central}.db-connection{stroke:var(--text-muted);stroke-width:1.5;fill:none;cursor:pointer;transition:stroke .15s ease,stroke-width .15s ease}.db-connection.hovered{stroke:var(--accent-primary);stroke-width:3}.db-connection.selected{stroke:var(--accent-primary);stroke-width:2.5;stroke-dasharray:6 3}.db-connection:hover{stroke:var(--color-error);stroke-width:2.5}.db-conn-label{fill:var(--text-muted);font-size:9px;font-weight:600}.db-connection-suggested{stroke:var(--accent-primary);stroke-width:1.5;stroke-dasharray:6 4;fill:none;opacity:.5;pointer-events:none;animation:db-suggested-pulse 2s ease-in-out infinite}@keyframes db-suggested-pulse{0%,to{opacity:.35}50%{opacity:.65}}.db-actions{display:none}.db-btn{padding:.45rem 1rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.db-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.db-btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.db-btn-primary:hover{opacity:.9;border-color:var(--accent-primary);color:#fff}.db-btn-active{background:#10b9811f;border-color:var(--accent-primary);color:var(--accent-primary)}.db-btn-solution{background:#10b98114;border-color:var(--accent-primary);color:var(--accent-primary)}.db-btn-solution:hover{background:var(--accent-primary);color:#fff}.db-feedback-panel{width:340px;flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow-y:auto;max-height:600px;animation:db-slideIn .25s ease}@keyframes db-slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.db-feedback-panel::-webkit-scrollbar{width:3px}.db-feedback-panel::-webkit-scrollbar-track{background:transparent}.db-feedback-panel::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.db-feedback-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--border-primary);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.db-feedback-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.db-feedback-close{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-muted);padding:0 .25rem;line-height:1;transition:color .15s ease}.db-feedback-close:hover{color:var(--text-primary)}.db-feedback-score{display:flex;flex-direction:column;align-items:center;padding:1rem .75rem;gap:.35rem;border-bottom:1px solid var(--border-primary)}.db-score-ring{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;border:3px solid var(--color-error);color:var(--color-error)}.db-score-ring.good{border-color:var(--color-warning);color:var(--color-warning)}.db-score-ring.perfect{border-color:var(--color-success);color:var(--color-success)}.db-score-label{font-size:.72rem;color:var(--text-muted)}.db-feedback-section{padding:.5rem .75rem;border-bottom:1px solid var(--border-primary)}.db-feedback-section:last-of-type{border-bottom:none}.db-feedback-section-header{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;padding:.25rem .4rem;border-radius:var(--radius-sm)}.db-feedback-section-header.correct{background:var(--color-success-muted);color:var(--color-success)}.db-feedback-section-header.missing{background:var(--color-warning-muted);color:var(--color-warning)}.db-feedback-section-header.extra{background:#10b9811f;color:var(--accent-primary)}.db-feedback-item{padding:.35rem 0;border-bottom:1px solid var(--border-secondary)}.db-feedback-item:last-child{border-bottom:none}.db-feedback-item-name{font-size:.8rem;font-weight:600;margin-bottom:.15rem}.db-feedback-item-name.correct{color:var(--color-success)}.db-feedback-item-name.missing{color:var(--color-warning)}.db-feedback-item-name.extra{color:var(--accent-primary)}.db-feedback-item-why{font-size:.73rem;color:var(--text-tertiary);line-height:1.45}.db-feedback-item-why strong{color:var(--text-secondary)}.db-feedback-solution-btn{margin:.75rem;width:calc(100% - 1.5rem)}.db-solution{margin-top:.75rem;border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:.75rem}.db-solution-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.5rem}.db-solution-list{display:flex;flex-direction:column;gap:.35rem}.db-solution-item{display:flex;gap:.5rem;font-size:.82rem}.db-solution-item-name{font-weight:600;color:var(--accent-primary);flex-shrink:0}.db-solution-item-desc{color:var(--text-tertiary)}@media (max-width: 768px){.db-workspace,.db-container{flex-direction:column}.db-palette{width:100%;max-height:none;flex-direction:row;flex-wrap:wrap;overflow-y:visible;padding-right:0}.db-palette-label{width:100%}.db-palette-item{flex:0 0 auto}.db-canvas{height:400px}.db-feedback-panel{width:100%;max-height:350px}.db-toolbar{flex-wrap:wrap}.db-toolbar-divider{display:none}}.sd-page{min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column}.sd-layout{display:flex;flex:1;height:calc(100vh - 60px);overflow:hidden}.sd-sidebar{width:260px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-primary);overflow-y:auto;padding:1.25rem 0}.sd-sidebar::-webkit-scrollbar{width:4px}.sd-sidebar::-webkit-scrollbar-track{background:transparent}.sd-sidebar::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:2px}.sd-sidebar-header{padding:0 1rem 1rem;border-bottom:1px solid var(--border-primary);margin-bottom:.75rem}.sd-sidebar-header h2{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0}.sd-category-group{margin-bottom:.25rem}.sd-category-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);transition:color .15s ease}.sd-category-header:hover{color:var(--text-secondary)}.sd-category-chevron{font-size:.6rem;transition:transform .2s ease}.sd-category-chevron.expanded{transform:rotate(90deg)}.sd-topic-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.55rem 1rem .55rem 1.5rem;background:none;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;font-size:.85rem;color:var(--text-secondary);transition:all .15s ease}.sd-topic-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sd-topic-item.active{background:#10b9811f;color:var(--accent-primary);border-left-color:var(--accent-primary);font-weight:600}.sd-difficulty-badge{font-size:.6rem;font-weight:700;padding:.1rem .45rem;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.sd-difficulty-badge.easy{background:var(--color-success-muted);color:var(--color-success)}.sd-difficulty-badge.medium{background:var(--color-warning-muted);color:var(--color-warning)}.sd-difficulty-badge.hard{background:var(--color-error-muted);color:var(--color-error)}.sd-main{flex:1;overflow-y:auto;padding:2rem;background:var(--bg-primary)}.sd-main::-webkit-scrollbar{width:6px}.sd-main::-webkit-scrollbar-track{background:transparent}.sd-main::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.sd-content{max-width:1200px;margin:0 auto}.sd-topic-header{margin-bottom:1.25rem}.sd-topic-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.sd-topic-meta{display:flex;align-items:center;gap:.75rem}.sd-topic-category{font-size:.8rem;color:var(--text-tertiary)}.sd-prompt{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.25rem}.sd-prompt-brief{margin-bottom:1rem}.sd-prompt-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.4rem}.sd-prompt-text{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin:0}.sd-prompt-details{display:flex;gap:1.5rem;flex-wrap:wrap}.sd-prompt-requirements{flex:1;min-width:200px}.sd-prompt-chips{display:flex;flex-wrap:wrap;gap:.35rem}.sd-prompt-chip{font-size:.75rem;padding:.25rem .6rem;background:#10b9811a;color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-pill);line-height:1.4}.sd-prompt-scale{flex-shrink:0}.sd-prompt-stats{display:flex;gap:.75rem}.sd-prompt-stat{display:flex;flex-direction:column;align-items:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:.5rem .75rem;min-width:72px}.sd-prompt-stat-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.15rem}.sd-prompt-stat-value{font-size:.78rem;font-weight:600;color:var(--accent-primary);line-height:1.3;text-align:center}.sd-section{margin-top:1.5rem;border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-secondary)}.sd-tips-section{margin-top:1.5rem}.sd-section-header{display:flex;align-items:center;gap:.75rem;width:100%;padding:.85rem 1.25rem;background:none;border:none;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--text-primary);transition:background .15s ease}.sd-section-header:hover{background:var(--bg-hover)}.sd-section-chevron{font-size:.7rem;color:var(--text-muted);transition:transform .25s ease;flex-shrink:0}.sd-section-chevron.expanded{transform:rotate(90deg)}.sd-section-body{padding:0 1.25rem 1.25rem;animation:sd-fadeIn .2s ease}@keyframes sd-fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sd-tips-list{list-style:none;padding:0;margin:0}.sd-tip{display:flex;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border-secondary)}.sd-tip:last-child{border-bottom:none}.sd-tip-num{font-size:.75rem;font-weight:700;color:var(--accent-primary);flex-shrink:0;min-width:1.2rem}.sd-tip-text{font-size:.88rem;color:var(--text-secondary);line-height:1.5}.sd-mobile-toggle{display:none;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border:none;border-bottom:1px solid var(--border-primary);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;width:100%}.sd-mobile-toggle-chevron{font-size:.6rem;transition:transform .2s ease}.sd-mobile-toggle-chevron.expanded{transform:rotate(90deg)}@media (max-width: 768px){.sd-layout{flex-direction:column;height:auto;min-height:calc(100vh - 60px)}.sd-mobile-toggle{display:flex}.sd-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-primary);max-height:0;overflow:hidden;padding:0;transition:max-height .3s ease,padding .3s ease}.sd-sidebar.mobile-open{max-height:60vh;padding:.75rem 0;overflow-y:auto}.sd-sidebar-header{display:none}.sd-main{padding:1.25rem;overflow-y:visible;height:auto}.sd-prompt-details{flex-direction:column;gap:.75rem}.sd-prompt-stats{flex-wrap:wrap}}.demo-page{background:var(--bg-primary);color:var(--text-primary);overflow:hidden;position:relative;width:100vw;height:100vh}.demo-section-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transform:scale(1.08);filter:blur(8px);transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1),filter .5s ease}.demo-section-wrapper.active{opacity:1;pointer-events:auto;transform:scale(1);filter:blur(0)}.demo-section-wrapper.exiting{opacity:0;transform:scale(.92);filter:blur(6px)}.demo-section{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;position:relative;overflow:hidden}.demo-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-primary);margin-bottom:.75rem;opacity:.7}.demo-section-title{font-size:2.5rem;font-weight:800;text-align:center;margin:0 0 .5rem;color:var(--text-primary)}.demo-section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;margin-bottom:2.5rem;max-width:600px}.demo-hero{background:radial-gradient(ellipse at top,rgba(16,185,129,.18) 0%,transparent 60%),radial-gradient(ellipse at bottom right,rgba(5,150,105,.1) 0%,transparent 50%)}.demo-hero-logo{font-size:5rem;font-weight:900;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;animation:demoFadeUp 1.2s ease forwards}.demo-hero-tagline{font-size:1.5rem;color:var(--text-secondary);text-align:center;max-width:500px;animation:demoFadeUp 1.2s ease .3s forwards;opacity:0}.demo-hero-glow{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.2),transparent 70%);filter:blur(60px);pointer-events:none;animation:demoPulseGlow 4s ease-in-out infinite}@keyframes demoPulseGlow{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.demo-editor{background:radial-gradient(ellipse at top left,rgba(16,185,129,.1) 0%,transparent 50%)}.demo-editor-split{display:flex;gap:1.5rem;width:1000px;max-width:95vw;height:420px}.demo-code-editor{width:480px;flex-shrink:0;background:#1e1e2e;border-radius:12px;border:1px solid rgba(255,255,255,.08);overflow:hidden;display:flex;flex-direction:column}.demo-editor-header{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.06)}.demo-editor-dot{width:10px;height:10px;border-radius:50%}.demo-editor-dot.red{background:#ff5f57}.demo-editor-dot.yellow{background:#febc2e}.demo-editor-dot.green{background:#28c840}.demo-editor-title{font-size:.72rem;color:#fff6;margin-left:8px;font-family:SF Mono,monospace}.demo-editor-body{padding:1rem;flex:1;overflow:hidden;position:relative}.demo-editor-line{display:flex;gap:1rem;line-height:1.7;font-family:SF Mono,Fira Code,monospace;font-size:.8rem;transition:background .2s ease;padding:0 .5rem;border-radius:3px}.demo-editor-line.active{background:#10b98126}.demo-line-num{color:#fff3;min-width:24px;text-align:right;-webkit-user-select:none;user-select:none}.demo-line-code{color:#d4d4d4;white-space:pre}.demo-cursor{color:var(--accent-primary);animation:demoBlink .6s step-end infinite;font-family:monospace}@keyframes demoBlink{0%,to{opacity:1}50%{opacity:0}}.demo-viz-panel{flex:1;min-width:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.demo-viz-header{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:.75rem 1rem;border-bottom:1px solid var(--border-primary)}.demo-viz-waiting{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;font-style:italic}.demo-viz-content{flex:1;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.demo-viz-array-label{font-size:.75rem;font-family:monospace;color:var(--text-muted)}.demo-viz-array{display:flex;gap:4px}.demo-viz-cell{width:48px;display:flex;flex-direction:column;align-items:center;border:2px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);transition:all .3s ease;overflow:hidden}.demo-viz-cell-val{padding:6px 0;font-size:.85rem;font-weight:700;font-family:monospace;color:var(--text-secondary)}.demo-viz-cell-idx{font-size:.6rem;color:var(--text-muted);padding:2px 0;background:#ffffff08;width:100%;text-align:center}.demo-viz-cell.in-range{border-color:#10b98166;background:#10b9810d}.demo-viz-cell.mid-ptr{border-color:#f59e0b;background:#f59e0b1f;box-shadow:0 0 12px #f59e0b33}.demo-viz-cell.mid-ptr .demo-viz-cell-val{color:#f59e0b}.demo-viz-cell.out-range{opacity:.3}.demo-viz-cell.found{border-color:#22c55e;background:#22c55e1f;box-shadow:0 0 15px #22c55e4d}.demo-viz-cell.found .demo-viz-cell-val{color:#22c55e}.demo-viz-pointers{display:flex;gap:1.5rem;font-size:.75rem;font-family:monospace;font-weight:600}.demo-ptr.left{color:#10b981}.demo-ptr.mid{color:#f59e0b}.demo-ptr.right{color:#a78bfa}.demo-viz-action{font-size:.82rem;color:var(--text-secondary);font-family:monospace;padding:.4rem .8rem;background:#ffffff08;border-radius:6px;transition:all .3s ease}.demo-viz-action.found{color:#22c55e;background:#22c55e1a}.demo-viz-vars{display:flex;gap:1.5rem;padding:.5rem 1rem;background:#0003;border-radius:8px;width:100%}.demo-viz-vars .demo-var-row{flex:1;gap:.5rem}.demo-graph-svg{display:block}.demo-graph-node-enter{animation:demoNodePop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes demoNodePop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.demo-sort{background:radial-gradient(ellipse at bottom left,rgba(34,197,94,.08) 0%,transparent 50%)}.demo-sort-container{display:flex;gap:3rem;align-items:flex-start;max-width:900px;width:100%}.demo-bars{display:flex;align-items:flex-end;gap:6px;height:260px;flex:1;justify-content:center}.demo-bar{width:40px;border-radius:6px 6px 0 0;transition:height .3s ease,background .3s ease,box-shadow .3s ease;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;font-size:.75rem;font-weight:700;color:#ffffffe6}.demo-bar.default{background:linear-gradient(180deg,#10b98199,#10b9814d)}.demo-bar.comparing{background:linear-gradient(180deg,#f59e0bcc,#f59e0b66);box-shadow:0 0 15px #f59e0b4d}.demo-bar.swapping{background:linear-gradient(180deg,#ef4444cc,#ef444466);box-shadow:0 0 15px #ef44444d}.demo-bar.sorted{background:linear-gradient(180deg,#22c55eb3,#22c55e4d);box-shadow:0 0 12px #22c55e33}.demo-vars{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.25rem;min-width:200px}.demo-vars-title{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.75rem}.demo-var-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.85rem;font-family:SF Mono,Fira Code,monospace}.demo-var-name{color:var(--accent-primary)}.demo-var-value{color:var(--text-primary);font-weight:600}.demo-patterns{background:radial-gradient(ellipse at top right,rgba(5,150,105,.1) 0%,transparent 50%)}.demo-pattern-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:700px;width:100%}.demo-pattern-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:1rem;text-align:center;transition:border-color .3s ease,transform .3s ease;animation:demoFadeIn .5s ease forwards;opacity:0}.demo-pattern-card.active{border-color:var(--accent-primary);transform:scale(1.05);box-shadow:0 0 20px #10b98126}.demo-pattern-icon{font-size:1.5rem;display:block;margin-bottom:.4rem}.demo-pattern-name{font-size:.7rem;font-weight:600;color:var(--text-secondary)}.demo-tp-container{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.demo-tp-array{display:flex;gap:4px}.demo-tp-cell{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-primary);border-radius:8px;font-size:.9rem;font-weight:700;font-family:monospace;color:var(--text-secondary);background:var(--bg-secondary);transition:all .3s ease}.demo-tp-cell.left-ptr{border-color:#10b981;color:#10b981;box-shadow:0 0 10px #10b9814d}.demo-tp-cell.right-ptr{border-color:#a78bfa;color:#a78bfa;box-shadow:0 0 10px #a78bfa4d}.demo-tp-cell.matched{border-color:#22c55e;color:#22c55e;background:#22c55e1a}.demo-tp-labels{display:flex;gap:1.5rem;font-size:.75rem;font-family:monospace;font-weight:600}.demo-tp-labels span:first-child{color:#10b981}.demo-tp-labels span:last-child{color:#a78bfa}.demo-sd{background:radial-gradient(ellipse at center,rgba(16,185,129,.06) 0%,transparent 50%)}.demo-sd-canvas{width:700px;max-width:100%;height:340px;position:relative}.demo-sd-badge{position:absolute;top:12px;right:12px;padding:.35rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;transition:all .4s ease}.demo-sd-badge.building{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.demo-sd-badge.complete{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.demo-lang{background:radial-gradient(ellipse at bottom,rgba(16,185,129,.08) 0%,transparent 50%)}.demo-lang-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.demo-lang-tab{padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-muted);transition:all .3s ease}.demo-lang-tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.demo-code-block{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;font-family:SF Mono,Fira Code,monospace;font-size:.85rem;line-height:1.7;max-width:600px;width:100%;min-height:280px;white-space:pre;color:var(--text-secondary);transition:opacity .3s ease}.demo-code-block .kw{color:#c586c0}.demo-code-block .fn{color:#dcdcaa}.demo-code-block .num{color:#b5cea8}.demo-code-block .str{color:#ce9178}.demo-code-block .cm{color:#6a9955}.demo-code-block .op{color:#d4d4d4}.demo-lc{background:radial-gradient(ellipse at top left,rgba(245,158,11,.06) 0%,transparent 50%)}.demo-lc-counter{font-size:6rem;font-weight:900;background:linear-gradient(135deg,#10b981,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;font-family:SF Mono,monospace}.demo-lc-label{font-size:1.1rem;color:var(--text-muted);margin-bottom:2rem}.demo-lc-categories{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:800px}.demo-lc-pill{padding:.4rem .8rem;border-radius:20px;font-size:.72rem;font-weight:600;background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);opacity:0;animation:demoFadeIn .4s ease forwards}.demo-lc-pill .count{color:var(--accent-primary);margin-left:.3rem}.demo-closing{background:radial-gradient(ellipse at center,rgba(16,185,129,.12) 0%,transparent 50%)}.demo-closing-logo{font-size:4rem;font-weight:900;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:demoFadeUp 1s ease forwards}.demo-closing-url{font-size:1.2rem;color:var(--text-muted);margin-top:.75rem;font-weight:600;animation:demoFadeUp 1s ease .3s forwards;opacity:0}@keyframes demoFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes demoFadeIn{0%{opacity:0}to{opacity:1}}.vs-page{background:#0a0a0f;color:#e4e4e7;overflow:hidden;position:relative;width:100vw;height:100vh}.vs-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transform:scale(1.08);filter:blur(8px);transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1),filter .5s ease}.vs-wrapper.active{opacity:1;pointer-events:auto;transform:scale(1);filter:blur(0)}.vs-wrapper.exiting{opacity:0;transform:scale(.92);filter:blur(6px)}.vs-section{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;position:relative;overflow:hidden}.vs-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#10b981;margin-bottom:.5rem;opacity:.7}.vs-title{font-size:2.2rem;font-weight:800;text-align:center;margin:0 0 .4rem;color:#e4e4e7}.vs-subtitle{font-size:.9rem;color:#888;text-align:center;margin-bottom:1.5rem;font-family:SF Mono,Fira Code,monospace}.vs-hero{background:radial-gradient(ellipse at top,rgba(16,185,129,.18) 0%,transparent 60%),radial-gradient(ellipse at bottom right,rgba(5,150,105,.1) 0%,transparent 50%)}.vs-hero-glow{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.2),transparent 70%);filter:blur(60px);pointer-events:none;animation:vsPulseGlow 4s ease-in-out infinite}@keyframes vsPulseGlow{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.vs-hero-logo{font-size:5rem;font-weight:900;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;animation:vsFadeUp 1.2s ease forwards}.vs-hero-tagline{font-size:1.5rem;color:#a1a1aa;text-align:center;max-width:500px;animation:vsFadeUp 1.2s ease .3s forwards;opacity:0}.vs-split{display:flex;gap:1.5rem;width:1000px;max-width:92vw;height:400px;max-height:55vh}.vs-code{width:440px;flex-shrink:0;background:#1e1e2e;border-radius:12px;border:1px solid rgba(255,255,255,.08);overflow:hidden;display:flex;flex-direction:column}.vs-code-header{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.06)}.vs-dot{width:10px;height:10px;border-radius:50%}.vs-code-body{flex:1;margin:0;padding:.75rem 0;overflow:auto;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;line-height:1.7;background:#1e1e2e}.vs-code-line{display:flex;gap:1rem;padding:0 .75rem;border-radius:3px;transition:background .2s ease}.vs-code-line.vs-code-active{background:#10b9812e}.vs-line-num{color:#fff3;min-width:24px;text-align:right;-webkit-user-select:none;user-select:none}.vs-line-text{color:#d4d4d4;white-space:pre}.vs-viz{flex:1;min-width:0;background:#16162a;border:1px solid rgba(255,255,255,.08);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden}.vs-svg{display:block;max-width:100%;max-height:100%}.vs-array-wrap{display:flex;flex-direction:column;align-items:center;position:relative}.vs-array-ptrs{position:relative;height:34px;width:100%}.vs-ptr{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);transition:left .4s ease}.vs-ptr-label{font-size:11px;font-weight:700}.vs-ptr-arrow{font-size:10px}.vs-array-cells{display:flex;gap:4px}.vs-cell{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#2a2a3e;border:2px solid #3a3a4e;border-radius:8px;font-size:16px;font-weight:700;font-family:monospace;color:#d4d4d4;transition:all .3s ease}.vs-cell-hl{background:#10b98133;border-color:#10b981;color:#fff;box-shadow:0 0 14px #10b98166}.vs-cell-ptr{transform:scale(1.05)}.vs-array-idx{display:flex;gap:4px}.vs-idx{width:52px;text-align:center;font-size:10px;color:#555;font-family:monospace;margin-top:2px}.vs-ll-wrap{display:flex;align-items:center;gap:0;flex-wrap:wrap;justify-content:center}.vs-ll-group{display:flex;align-items:center;position:relative}.vs-ll-ptr{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;white-space:nowrap}.vs-ll-node{width:48px;height:42px;display:flex;align-items:center;justify-content:center;background:#1e1e2e;border:2px solid #6b7280;border-radius:8px;font-size:15px;font-weight:600;color:#d4d4d4;transition:all .3s}.vs-ll-active{box-shadow:0 0 12px #10b98166}.vs-ll-cycle{border-color:#f59e0b!important;box-shadow:0 0 10px #f59e0b4d}.vs-ll-arrow{color:#10b98199;font-size:20px;margin:0 4px}.vs-ll-null{color:#555;font-size:11px;margin-left:8px}.vs-grid{display:flex;flex-direction:column;gap:3px}.vs-grid-row{display:flex;gap:3px}.vs-grid-cell{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#2a2a3e;border:1px solid #3a3a4e;border-radius:6px;font-size:15px;font-weight:600;color:#d4d4d4;transition:all .3s}.vs-grid-cur{background:#10b98140;border-color:#10b981;color:#c586c0;box-shadow:0 0 12px #10b98166}.vs-grid-vis{background:#22c55e26;border-color:#22c55e80;color:#22c55e}.vs-stack-string{display:flex;align-items:flex-start;gap:2rem}.vs-stack-wrap{display:flex;flex-direction:column;align-items:center}.vs-stack-label{font-size:12px;font-weight:700;color:#569cd6;margin-bottom:6px}.vs-stack{display:flex;flex-direction:column;border-left:3px solid #569cd6;border-right:3px solid #569cd6;border-bottom:3px solid #569cd6;border-radius:0 0 8px 8px;min-width:70px;min-height:44px}.vs-stack-empty{padding:12px 18px;color:#555;font-size:11px;text-align:center}.vs-stack-item{padding:8px 18px;text-align:center;font-size:18px;font-weight:600;color:#d4d4d4;border-top:1px solid #3a3a4e;transition:all .3s}.vs-stack-top{background:#264f78;color:#569cd6}@keyframes vsFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.vs-split{flex-direction:column;height:auto;max-height:80vh}.vs-code{width:100%;max-height:200px}.vs-viz{min-height:200px}.vs-hero-logo{font-size:3rem}.vs-title{font-size:1.6rem}.vs-cell{width:36px;height:36px;font-size:12px}.vs-idx{width:36px}.vs-grid-cell{width:36px;height:36px;font-size:12px}}.controls{background:var(--bg-elevated);padding:var(--space-5);border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:var(--space-4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.control-buttons{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.control-buttons button{padding:var(--space-2) var(--space-5);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease;color:var(--text-bright)}.control-buttons button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.control-buttons button:active:not(:disabled){transform:translateY(0)}.control-buttons button:disabled{opacity:.5;cursor:not-allowed}.run-button{background:linear-gradient(135deg,#10b981,#059669)}.run-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166}.stop-button{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-primary)}.stop-button:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff40}.reset-button{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-primary)}.reset-button:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff40}.step-controls{display:flex;gap:var(--space-4);align-items:center;justify-content:center;flex-wrap:wrap}.step-counter{min-width:120px;text-align:center;font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.step-controls button{background:#10b98133;border:1px solid rgba(16,185,129,.3);color:var(--accent-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.step-controls button:hover:not(:disabled){background:#10b9814d;border-color:#10b98180;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.step-controls button:active:not(:disabled){transform:translateY(0)}.step-controls button:disabled{opacity:.5;cursor:not-allowed}.play-button{background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important;color:var(--text-bright)!important;min-width:100px}.play-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)!important}.speed-control{display:flex;gap:var(--space-3);align-items:center;justify-content:center}.speed-control label{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.speed-control select{background:#10b9811a;color:var(--text-primary);border:1px solid rgba(16,185,129,.3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.speed-control select:hover:not(:disabled){background:#10b98133;border-color:#10b98180}.speed-control select:focus{outline:2px solid rgba(16,185,129,.5);outline-offset:2px}.speed-control select:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.controls{padding:var(--space-3);gap:var(--space-3)}.control-buttons{justify-content:center;gap:var(--space-2)}.control-buttons button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.step-controls{gap:var(--space-2)}.step-controls button{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.step-counter{min-width:90px;font-size:var(--text-xs)}.play-button{min-width:80px}.speed-control{gap:var(--space-2)}.speed-control label{font-size:var(--text-xs)}.speed-control select{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}}@media (max-width: 480px){.controls{padding:var(--space-2)}.control-buttons{flex-direction:row;flex-wrap:wrap}.step-controls{flex-direction:row;flex-wrap:wrap;justify-content:center}}.timeline-scrubber{padding:6px 12px 8px;border-top:1px solid rgba(255,255,255,.06);background:#1e1e1e}.timeline-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;cursor:pointer}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#569cd6;border:2px solid #1e1e1e;cursor:pointer;transition:transform .1s ease}.timeline-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.timeline-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#569cd6;border:2px solid #1e1e1e;cursor:pointer}.timeline-labels{display:flex;justify-content:space-between;font-size:11px;color:#888;margin-top:4px}.shared-run-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:#888;gap:12px}.loading-spinner{width:32px;height:32px;border:3px solid #3e3e42;border-top-color:#569cd6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shared-run-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:#888;gap:12px;text-align:center}.shared-run-error h2{color:#d4d4d4;font-size:24px}.shared-run-cta{margin-top:12px;padding:10px 24px;background:#569cd6;color:#fff;border-radius:6px;text-decoration:none;font-weight:600;transition:background .15s ease}.shared-run-cta:hover{background:#4a8abf}.shared-run-header{padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#1e1e1e}.shared-run-header-content{display:flex;align-items:center;gap:16px}.shared-run-title{font-size:16px;font-weight:700;color:#d4d4d4;margin:0}.shared-run-meta{display:flex;gap:6px}.shared-run-badge{padding:2px 8px;border-radius:4px;background:#2d2d30;border:1px solid #3e3e42;color:#888;font-size:11px;font-weight:600;text-transform:capitalize}.embed-container{display:flex;flex-direction:column;height:100vh;background:#1e1e1e;overflow:hidden}.embed-header{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#252526;border-bottom:1px solid #3e3e42;flex-shrink:0}.embed-title{font-size:13px;font-weight:700;color:#d4d4d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.embed-step{font-size:11px;color:#888;white-space:nowrap;margin-left:auto}.embed-controls{display:flex;gap:4px;flex-shrink:0}.embed-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#2d2d30;border:1px solid #3e3e42;border-radius:4px;color:#d4d4d4;font-size:13px;cursor:pointer;padding:0;transition:background .1s ease}.embed-btn:hover:not(:disabled){background:#3e3e42}.embed-btn:disabled{opacity:.3;cursor:not-allowed}.embed-open{font-size:14px;text-decoration:none;color:#569cd6}.embed-viz{flex:1;overflow:auto;min-height:0}.embed-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:#1e1e1e}.embed-spinner{width:24px;height:24px;border:3px solid #3e3e42;border-top-color:#569cd6;border-radius:50%;animation:embed-spin .8s linear infinite}@keyframes embed-spin{to{transform:rotate(360deg)}}.embed-error{display:flex;align-items:center;justify-content:center;height:100vh;background:#1e1e1e;color:#888;font-size:14px}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-weight-medium:500;--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:calc(var(--radius-sm) + .125rem);--radius-lg:calc(var(--radius-sm) + .25rem);--radius-xl:calc(var(--radius-sm) + .5rem);--radius-2xl:1rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.\!grid{display:grid!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.w-fit{width:fit-content}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:calc(var(--radius-sm) + .125rem)}.rounded-xl{border-radius:calc(var(--radius-sm) + .5rem)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border-primary)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--bg-primary)}.bg-border{background-color:var(--border-primary)}.bg-card{background-color:var(--bg-surface)}.bg-destructive{background-color:var(--color-error)}.bg-primary{background-color:var(--accent-primary)}.bg-secondary{background-color:var(--bg-secondary)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-6{padding-block:calc(var(--spacing) * 6)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground,.text-foreground{color:var(--text-primary)}.text-muted-foreground{color:var(--text-tertiary)}.text-primary{color:var(--accent-primary)}.text-primary-foreground{color:#fff}.text-secondary-foreground{color:var(--text-primary)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--bg-hover)}.hover\:bg-destructive\/90:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-error) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--accent-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--bg-secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--bg-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--text-bright)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--accent-primary)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-error) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--accent-primary) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-error)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-error) 20%, transparent)}}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--border-primary)}.dark\:bg-destructive\/60{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-error) 60%,transparent)}}.dark\:bg-input\/30{background-color:var(--border-primary)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--border-primary) 30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:var(--bg-hover)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--bg-hover) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--border-primary)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--border-primary) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-error) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-error) 40%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--bg-hover)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-error) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--accent-primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--bg-secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--bg-secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--text-bright)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--text-2xs:.65rem;--text-xs:.75rem;--text-sm:.85rem;--text-base:.95rem;--text-md:1.05rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.75rem;--text-3xl:2.5rem;--text-4xl:3rem;--text-5xl:4rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-pill:999px;--focus-ring:2px solid var(--accent-primary);--focus-ring-offset:2px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}:root,[data-theme=dark]{--color-scheme:dark;--bg-primary:#0a0a0f;--bg-secondary:#111116;--bg-tertiary:#1a1a1f;--bg-elevated:#ffffff08;--bg-hover:#ffffff0f;--bg-surface:#111116;--bg-surface-raised:#1a1a1f;--bg-overlay:#0000002e;--text-primary:#d4d4d4;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-muted:#52525b;--text-bright:#fafafa;--text-dim:#a1a1aa;--border-primary:#ffffff14;--border-secondary:#ffffff0a;--border-accent:#10b98133;--border-subtle:#ffffff0f;--border-strong:#27272a;--accent-primary:#10b981;--accent-secondary:#059669;--accent-gradient:linear-gradient(135deg, #10b981 0%, #059669 100%);--accent-blue:#569cd6;--accent-teal:#4ec9b0;--accent-yellow:#dcdcaa;--accent-orange:#ce9178;--accent-salmon:#f48771;--color-success:#22c55e;--color-success-light:#86efac;--color-success-muted:#22c55e1f;--color-warning:#f59e0b;--color-warning-light:#fcd34d;--color-warning-muted:#f59e0b1f;--color-error:#ef4444;--color-error-light:#fca5a5;--color-error-muted:#ef44441f;--color-info:#3b82f6;--color-info-muted:#3b82f61f;--node-unvisited:#4b5563;--node-visiting:#10b981;--node-visited:#22c55e;--node-queued:#f59e0b;--node-pruned:#ef4444;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 8px 32px #00000080;color-scheme:var(--color-scheme);color:var(--text-primary);background-color:var(--bg-primary)}[data-theme=light]{--color-scheme:light;--bg-primary:#fff;--bg-secondary:#f4f4f5;--bg-tertiary:#e4e4e7;--bg-elevated:#00000005;--bg-hover:#0000000a;--bg-surface:#fff;--bg-surface-raised:#f4f4f5;--bg-overlay:#0000000f;--text-primary:#18181b;--text-secondary:#3f3f46;--text-tertiary:#71717a;--text-muted:#a1a1aa;--text-bright:#09090b;--text-dim:#71717a;--border-primary:#00000014;--border-secondary:#0000000a;--border-accent:#10b98140;--border-subtle:#0000000d;--border-strong:#d4d4d8;--accent-primary:#059669;--accent-secondary:#047857;--accent-gradient:linear-gradient(135deg, #059669 0%, #047857 100%);--accent-blue:#0070f3;--accent-teal:#059669;--accent-yellow:#92400e;--accent-orange:#9a3412;--accent-salmon:#dc2626;--color-success:#059669;--color-success-light:#34d399;--color-success-muted:#0596691f;--color-warning:#d97706;--color-warning-light:#fbbf24;--color-warning-muted:#d977061f;--color-error:#dc2626;--color-error-light:#f87171;--color-error-muted:#dc26261f;--color-info:#2563eb;--color-info-muted:#2563eb1f;--node-unvisited:#9ca3af;--node-visiting:#059669;--node-visited:#059669;--node-queued:#d97706;--node-pruned:#dc2626;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 8px 32px #0000001f;color-scheme:var(--color-scheme);color:var(--text-primary);background-color:var(--bg-primary)}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%;margin:0}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-size:var(--text-base);background-color:var(--accent-primary);color:#fff;cursor:pointer;border:1px solid #0000;font-family:inherit;font-weight:500;transition:border-color .25s,background-color .25s}button:hover{opacity:.9}button:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}select:focus-visible,input:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
