@font-face{font-family:'Font Awesome 6 Brands';font-display:swap;src:url(/assets/fontawesome/webfonts/fa-brands-400.woff2) format('woff2'),url(/assets/fontawesome/webfonts/fa-brands-400.ttf) format('truetype');font-style:normal;font-weight:400}@font-face{font-family:'Font Awesome 6 Free';font-display:swap;src:url(/assets/fontawesome/webfonts/fa-regular-400.woff2) format('woff2'),url(/assets/fontawesome/webfonts/fa-regular-400.ttf) format('truetype');font-style:normal;font-weight:400}@font-face{font-family:'Font Awesome 6 Free';font-display:swap;src:url(/assets/fontawesome/webfonts/fa-solid-900.woff2) format('woff2'),url(/assets/fontawesome/webfonts/fa-solid-900.ttf) format('truetype');font-style:normal;font-weight:900}:root{--font-sans:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:'Cascadia Code','Fira Code',Consolas,monospace;--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2a2a2a;--bg-accent:#363636;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--accent-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--success:#10b981;--warning:#f59e0b;--danger:#3b82f6;--info:#3b82f6;--border-color:#3f3f46;--shadow-color:rgba(0, 0, 0, 0.1);--radius-full:9999px;--text-color:#e4e4e7;--bg-color:#121212ab;--card-bg:#1e1e1e;--space-0p5:0.03125rem;--space-1:0.0625rem;--space-2:0.125rem;--space-3:0.1875rem;--space-4:0.25rem;--space-6:0.375rem;--space-8:0.5rem;--space-10:0.625rem;--space-12:0.75rem;--space-14:0.875rem;--space-16:1rem;--space-18:1.125rem;--space-20:1.25rem;--space-22:1.375rem;--space-24:1.5rem;--space-26:1.625rem;--space-28:1.75rem;--space-30:1.875rem;--space-32:2rem;--space-34:2.125rem;--space-36:2.25rem;--space-38:2.375rem;--space-40:2.5rem;--space-42:2.625rem;--space-44:2.75rem;--space-46:2.875rem;--space-48:3rem;--space-50:3.125rem;--space-52:3.25rem;--space-54:3.375rem;--space-56:3.5rem;--space-58:3.625rem;--space-60:3.75rem;--space-62:3.875rem;--space-64:4rem;--space-66:4.125rem;--space-68:4.25rem;--space-70:4.375rem;--space-72:4.5rem;--space-80:5rem;--space-88:5.5rem;--space-96:6rem;--space-100:6.25rem;--space-130:8.125rem;--space-150:9.375rem;--space-170:10.625rem;--space-200:12.5rem;--space-240:15rem;--space-250:15.625rem;--space-280:17.5rem;--space-300:18.75rem;--space-340:21.25rem;--space-380:23.75rem;--space-400:25rem;--space-480:30rem;--space-560:35rem;--space-600:37.5rem;--space-640:40rem;--space-650:40.625rem;--space-720:45rem;--space-800:50rem;--space-1000:62.5rem;--space-1100:68.75rem;--space-1200:75rem;--space-2000:125rem}:root[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2a2a2a;--bg-accent:#363636;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--accent-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--border-color:#3f3f46;--shadow-color:rgba(0, 0, 0, 0.1);--text-color:#e4e4e7;--bg-color:#121212ab;--card-bg:#1e1e1e}:root[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fcfcfc;--bg-tertiary:#f7f7f7;--bg-accent:#cbd5e1;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--accent-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--border-color:#cbd5e1;--shadow-color:rgba(0, 0, 0, 0.1);--text-color:#1e293b;--bg-color:#e7e7e74a;--card-bg:#ffffff}body,html{height:100%;margin:0;padding:0;font-family:var(--font-sans);font-size:16px;line-height:1.5;background-color:var(--bg-color)}body{background:var(--bg-color);color:var(--text-color);min-height:100vh;display:flex;flex-direction:column;align-items:center}*{box-sizing:border-box;margin:0;padding:0}.alt-bg{background:var(--bg-secondary)!important}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{display:inline-block;min-width:1em;line-height:1;text-align:center;vertical-align:-.125em;flex-shrink:0}.icon-button>.fa,.icon-button>.fab,.icon-button>.far,.icon-button>.fas{width:1em;height:1em}.container{max-width:var(--space-1000);width:100%}.card{background-color:var(--card-bg);border-radius:var(--space-12);padding:var(--space-28);margin-bottom:var(--space-28);box-shadow:var(--shadow-color);border:var(--space-1) solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 var(--space-10) var(--space-16) var(--shadow-color)}h1{font-size:var(--space-32);font-weight:800;margin-bottom:var(--space-16);color:var(--text-secondary)}h2{font-size:var(--space-20);font-weight:600;margin:var(--space-14) 0 var(--space-14);color:var(--text-color)}h3{font-size:var(--space-18);font-weight:600;margin:var(--space-8) 0 var(--space-8);color:var(--text-color)}h4{font-size:var(--space-16);font-weight:600;margin:var(--space-8) 0 var(--space-8);color:var(--text-color)}p{font-size:var(--space-16);color:var(--text-secondary);line-height:1.6}a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}.page-wrapper{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.hero-ide-section{width:100%;min-height:100vh;display:flex;flex-direction:column;padding:var(--space-80) var(--space-24) var(--space-40);background:radial-gradient(ellipse at 50% 0,rgba(99,102,241,.12) 0,transparent 60%),var(--bg-color)}[data-theme=light] .hero-ide-section{background:radial-gradient(ellipse at 50% 0,rgba(99,102,241,.14) 0,transparent 60%),var(--bg-color)}.hero-ide-content{text-align:center;margin-bottom:var(--space-32);position:relative;z-index:1}.hero-text h1{font-size:clamp(2rem, 3vw, 3rem);font-weight:800;margin-bottom:var(--space-16);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1rem, 2vw, 1.25rem);color:var(--text-secondary);max-width:var(--space-600);margin:0 auto;line-height:1.6}.section-container{max-width:var(--space-1200);margin:0 auto}.section-title{text-align:center;font-size:clamp(1.5rem, 3vw, 2.25rem);font-weight:700;margin-bottom:var(--space-48);color:var(--text-primary)}.banner-image{width:100%;border-radius:var(--space-16);box-shadow:var(--space-4) var(--space-8) var(--shadow-color);margin-bottom:var(--space-20);transition:transform .3s ease;border:var(--space-1) solid var(--border-color)}.step{display:flex;align-items:flex-start}.step-number{background:var(--accent-gradient);color:#fff;width:var(--space-40);height:var(--space-40);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:var(--space-20);flex-shrink:0;font-size:var(--space-16)}.step-content{flex:1}.step-content h3{margin:0}.step-title{font-weight:600;font-size:var(--space-18);margin-bottom:var(--space-12);color:var(--accent-primary)}.step-description{color:var(--text-secondary);margin-bottom:var(--space-20);font-size:var(--space-16)}.features-section{width:100%;padding:var(--space-80) var(--space-24);background:var(--bg-secondary)}.feature-title{font-weight:600;margin-bottom:var(--space-12);font-size:var(--space-16);color:var(--text-primary)}.feature-description{color:var(--text-secondary);font-size:var(--space-14)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-24)}.feature-card{background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-16);padding:var(--space-32);text-align:center;transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:var(--space-3);background:var(--accent-gradient);transform:scaleX(0);transition:transform .3s ease}.feature-card:hover{transform:translateY(-var(--space-8));box-shadow:0 var(--space-20) var(--space-40) -var(--space-16) rgba(0,0,0,.3);border-color:var(--accent-primary)}.feature-card:hover::before{transform:scaleX(1)}.feature-icon{width:var(--space-64);height:var(--space-64);margin:0 auto var(--space-20);display:flex;align-items:center;justify-content:center;border-radius:var(--space-16);background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.15))}.feature-icon i{font-size:var(--space-28);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.feature-card .feature-title{font-size:var(--space-18);font-weight:600;margin-bottom:var(--space-12);color:var(--text-primary)}.feature-card .feature-description{font-size:var(--space-14);color:var(--text-secondary);line-height:1.6}.install-btn{display:inline-flex;align-items:center;gap:.4em;background:var(--accent-primary);color:#fff;font-size:var(--space-14);font-weight:600;padding:.35em .85em;border-radius:var(--space-8);box-shadow:0 var(--space-2) var(--space-6) var(--shadow-color);transition:background .2s,color .2s,box-shadow .2s;border:none;outline:0;cursor:pointer;text-decoration:none;margin-right:var(--space-8)}.install-btn:focus,.install-btn:hover{background:var(--accent-secondary);color:#fff;box-shadow:0 var(--space-4) var(--space-12) var(--shadow-color);text-decoration:none}.install-btn i{font-size:var(--space-16)}.install-btn-text{display:inline}.hero-content-section{width:100%;padding:var(--space-80) var(--space-24);background:var(--bg-color)}.content-section{width:100%;padding:var(--space-80) var(--space-24);background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.12) 0,transparent 50%),var(--bg-color)}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-32);max-width:var(--space-1200);margin:0 auto}.content-card{background:var(--bg-secondary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-16);padding:var(--space-32);transition:all .3s cubic-bezier(.4, 0, .2, 1)}.content-card:hover{border-color:var(--accent-primary);box-shadow:0 var(--space-10) var(--space-30) -var(--space-10) rgba(0,0,0,.2)}.content-card h3{font-size:var(--space-20);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-16)}.content-card p{color:var(--text-secondary);font-size:var(--space-16);line-height:1.7;margin-bottom:var(--space-20)}.content-card ul{list-style:none;padding:0;margin:0}.content-card li{position:relative;padding-left:var(--space-24);margin-bottom:var(--space-12);color:var(--text-secondary);font-size:var(--space-14);line-height:1.6}.content-card li::before{content:'';position:absolute;left:0;top:var(--space-8);width:var(--space-8);height:var(--space-8);border-radius:50%;background:var(--accent-gradient)}.content-card li:last-child{margin-bottom:0}.help-section{width:100%;padding:var(--space-64) var(--space-24);background:var(--bg-secondary)}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-24);max-width:var(--space-600);margin:0 auto}.help-card{display:flex;align-items:center;gap:var(--space-20);padding:var(--space-24);background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-16);text-decoration:none;transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.help-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--space-4);background:var(--accent-gradient);transform:scaleY(0);transition:transform .3s ease}.help-card:hover{background:var(--bg-accent);border-color:var(--accent-primary);transform:translateX(var(--space-8))}.help-card:hover::before{transform:scaleY(1)}.help-card>i:first-child{font-size:var(--space-24);color:var(--accent-primary);width:var(--space-48);height:var(--space-48);display:flex;align-items:center;justify-content:center;background:rgba(99,102,241,.1);border-radius:var(--space-12);flex-shrink:0}.help-card-content{flex:1}.help-card-content h3{font-size:var(--space-16);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4)}.help-card-content p{font-size:var(--space-14);color:var(--text-secondary);margin:0}.help-arrow{font-size:var(--space-14);color:var(--text-muted);transition:all .3s ease}.help-card:hover .help-arrow{color:var(--accent-primary);transform:translateX(var(--space-4))}.help-content-grid{display:grid;gap:var(--space-16);max-width:var(--space-1200);margin:0}.debugger-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-24);max-width:var(--space-1200);margin:0 auto}.debugger-card{background:var(--bg-secondary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-16);padding:var(--space-32);transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.debugger-card::before{content:'';position:absolute;top:0;left:0;right:0;height:var(--space-3);background:var(--accent-gradient);transform:scaleX(0);transition:transform .3s ease}.debugger-card:hover{border-color:var(--accent-primary);box-shadow:0 var(--space-10) var(--space-30) -var(--space-10) rgba(0,0,0,.2)}.debugger-card:hover::before{transform:scaleX(1)}.debugger-card-header{display:flex;align-items:center;gap:var(--space-16);margin-bottom:var(--space-16)}.debugger-icon{width:var(--space-48);height:var(--space-48);display:flex;align-items:center;justify-content:center;border-radius:var(--space-12);background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.15));flex-shrink:0}.debugger-icon i{font-size:var(--space-22);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.debugger-card-header h3{font-size:var(--space-18);font-weight:600;color:var(--text-primary);margin:0}.debugger-card p{color:var(--text-secondary);font-size:var(--space-14);line-height:1.7;margin-bottom:var(--space-12)}.debugger-card p:last-child{margin-bottom:0}.debugger-card .kbd{display:inline-block;font-family:var(--font-mono);font-size:var(--space-12);padding:var(--space-2) var(--space-6);background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-4);color:var(--text-primary);line-height:1;vertical-align:baseline}.dbg-icon{color:var(--text-secondary);width:var(--space-16);text-align:center;font-size:var(--space-12);margin-right:var(--space-4)}.dbg-icon--stop{color:#c15e5e}.dbg-icon--restart{color:#55a13b}.troubleshoot-badge{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:600;padding:var(--space-2) var(--space-8);border-radius:var(--space-4);margin-right:var(--space-10);flex-shrink:0;text-transform:uppercase;letter-spacing:.05em;line-height:1.8}.troubleshoot-badge--general{background:rgba(59,130,246,.12);color:#3b82f6}.troubleshoot-badge--storage{background:rgba(234,179,8,.1);color:#ca8a04}.troubleshoot-badge--packages{background:rgba(34,197,94,.1);color:#16a34a}.troubleshoot-badge--debugger{background:rgba(99,102,241,.12);color:#6366f1}[data-theme=dark] .troubleshoot-badge--general{color:#60a5fa}[data-theme=dark] .troubleshoot-badge--storage{color:#facc15}[data-theme=dark] .troubleshoot-badge--packages{color:#4ade80}[data-theme=dark] .troubleshoot-badge--debugger{color:#818cf8}.cta-section{width:100%;padding:var(--space-64) var(--space-24);background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.1) 0,transparent 50%),var(--bg-color)}.cta-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-32);padding:var(--space-40);background:var(--bg-secondary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-20);position:relative;z-index:1;max-width:var(--space-1200);margin:0 auto}.cta-text h2{font-size:clamp(1.25rem, 2.5vw, 1.75rem);font-weight:700;margin-bottom:var(--space-8);color:var(--text-primary)}.cta-text p{color:var(--text-secondary);font-size:var(--space-16)}.cta-btn{display:inline-flex;align-items:center;gap:var(--space-12);padding:var(--space-16) var(--space-32);background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--space-12);font-weight:600;font-size:var(--space-16);text-decoration:none;transition:all .3s cubic-bezier(.4, 0, .2, 1);white-space:nowrap;box-shadow:0 var(--space-4) var(--space-16) rgba(99,102,241,.3)}.cta-btn:hover{transform:translateY(-var(--space-3));box-shadow:0 var(--space-8) var(--space-24) rgba(99,102,241,.4)}.cta-btn i{font-size:var(--space-20)}.contact-method{display:flex;align-items:center;margin-top:var(--space-28);margin-bottom:var(--space-28);transition:transform .2s ease}.contact-method:hover{transform:translateX(var(--space-8))}.contact-icon{display:flex;align-items:center;justify-content:center;width:var(--space-60);height:var(--space-60);background:var(--accent-gradient);color:#fff;border-radius:50%;margin-right:var(--space-20);flex-shrink:0;transition:transform .3s ease}.contact-method:hover .contact-icon{transform:scale(1.1)}.contact-icon i{font-size:var(--space-26)}.contact-info{flex:1}.contact-label{font-weight:600;margin-bottom:var(--space-8);font-size:var(--space-16);color:var(--accent-primary)}.contact-value a{color:var(--accent-primary);text-decoration:none;font-size:var(--space-16);transition:color .2s ease}.contact-value a:hover{color:var(--accent-secondary);text-decoration:underline}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-28);padding-bottom:var(--space-14);border-bottom:var(--space-1) solid var(--border-color)}.floating-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:var(--space-12) var(--space-24);background:linear-gradient(to bottom,var(--bg-color) 0,var(--bg-color) 70%,transparent 100%);backdrop-filter:blur(var(--space-12));-webkit-backdrop-filter:blur(var(--space-12));transition:all .3s ease}.floating-header .logo{display:flex;align-items:center;font-size:var(--space-24);font-weight:500;color:var(--text-primary)}.floating-header .logo i{color:var(--accent-primary);font-size:var(--space-36);margin-right:var(--space-10)}.floating-header .logo-link{text-decoration:none}.floating-header .header-actions{display:flex;align-items:center;gap:var(--space-16)}nav{display:flex;gap:var(--space-20)}nav a{color:var(--text-color);text-decoration:none;font-weight:500;padding:var(--space-8) var(--space-12);border-radius:var(--space-6);transition:all .2s ease}nav a:hover{color:var(--text-secondary)}.theme-switch{position:relative;display:flex;align-items:center;margin-left:var(--space-20)}.theme-switch input{opacity:0;width:0;height:0;position:absolute}.theme-switch-label{display:flex;align-items:center;gap:var(--space-4);cursor:pointer}.toggle-icon{display:flex;align-items:center;justify-content:center;width:var(--space-20);height:var(--space-20);border-radius:50%;transition:all .3s ease}.toggle-icon i{font-size:var(--space-12)}.toggle-dark{color:var(--accent-secondary);opacity:.6}.toggle-light{color:var(--warning);opacity:.6}.toggle-slider{position:relative;width:var(--space-36);height:var(--space-18);background:var(--bg-tertiary);border-radius:var(--space-20);transition:all .3s ease;border:var(--space-1) solid var(--border-color)}.toggle-ball{position:absolute;left:var(--space-1);top:var(--space-1);width:var(--space-14);height:var(--space-14);background:var(--accent-primary);border-radius:50%;transition:transform .3s ease,background-color .3s ease;box-shadow:0 var(--space-1) var(--space-4) var(--shadow-color)}.theme-switch input:checked+.theme-switch-label .toggle-ball{transform:translateX(var(--space-20));background:var(--accent-secondary)}.theme-switch input:checked+.theme-switch-label .toggle-dark{opacity:.6}.theme-switch input:checked+.theme-switch-label .toggle-light{opacity:1}.theme-switch input:not(:checked)+.theme-switch-label .toggle-dark{opacity:1}.theme-switch input:not(:checked)+.theme-switch-label .toggle-light{opacity:.6}.faq-section{width:100%;padding:var(--space-80) var(--space-24);background:var(--bg-color)}.faq-list{max-width:var(--space-800);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-12)}.faq-section .faq-item{background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-12);overflow:hidden;transition:all .3s cubic-bezier(.4, 0, .2, 1)}.faq-section .faq-item:hover{border-color:var(--accent-primary)}.faq-section .faq-item[open]{border-color:var(--accent-primary);box-shadow:0 var(--space-4) var(--space-20) -var(--space-6) rgba(99,102,241,.2)}.faq-section .faq-question{display:flex;align-items:center;justify-content:space-between;padding:var(--space-20) var(--space-24);font-size:var(--space-16);font-weight:600;color:var(--text-primary);cursor:pointer;list-style:none;transition:background .2s ease}.faq-section .faq-question::-webkit-details-marker{display:none}.faq-section .faq-question::after{content:'';width:var(--space-10);height:var(--space-10);border-right:var(--space-2) solid var(--accent-primary);border-bottom:var(--space-2) solid var(--accent-primary);transform:rotate(45deg);transition:transform .3s ease;flex-shrink:0;margin-left:var(--space-16)}.faq-section .faq-item[open] .faq-question::after{transform:rotate(-135deg)}.faq-section .faq-question:hover{background:var(--bg-accent)}.faq-section .faq-answer{padding:var(--space-14) var(--space-24);font-size:var(--space-14)}@keyframes faqFadeIn{from{opacity:0;transform:translateY(-var(--space-8))}to{opacity:1;transform:translateY(0)}}.legal-content ul{margin:var(--space-8) var(--space-20)}.legal-content li{color:var(--text-secondary);margin-bottom:var(--space-4)}.card h2{border-bottom:var(--space-2) solid var(--border-color);padding-bottom:var(--space-8);margin-bottom:var(--space-20)}.site-footer{background:var(--bg-color);border-top:var(--space-1) solid var(--border-color);padding:var(--space-32) var(--space-24);color:var(--text-secondary);font-size:var(--space-12);text-align:center}.footer-content{max-width:var(--space-2000);margin:0 auto;padding:0 var(--space-14)}.footer-links{margin-bottom:var(--space-14)}.footer-links a{color:var(--text-secondary);text-decoration:none;margin:0 var(--space-8);transition:color .2s ease}.footer-links a:hover{color:var(--accent-primary);text-decoration:underline}.footer-bottom p{font-size:var(--space-12);margin:0;color:var(--text-secondary)}.footer-bottom a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}.footer-bottom a:hover{color:var(--accent-hover);text-decoration:underline}@media (pointer:coarse){.site-footer{font-size:var(--space-16)}.footer-links a{min-height:var(--space-44);min-width:var(--space-44)}.footer-bottom p{font-size:var(--space-16)}}body,html{font-size:16px}@media (max-width:479px){body,html{font-size:12px}}@media (min-width:480px) and (max-width:767px){body,html{font-size:12px}}@media (min-width:768px) and (max-width:1023px){body,html{font-size:14px}}@media (min-width:1024px) and (max-width:1365px){body,html{font-size:16px}}@media (min-width:2300px) and (max-width:3199px){body,html{font-size:20px}}@media (min-width:3200px){body,html{font-size:22px}}@media (max-width:600px){.install-btn-text{display:none}.install-btn{padding:.35em .7em;font-size:1.1em}}@media (max-width:768px){.footer-links{display:flex;flex-direction:column}.footer-links a{margin:0}}@media (min-width:768px) and (max-width:1200px){.features{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:2048px){.features{display:grid;grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-in-up,.animate-slide-up,.page-wrapper{animation:none;opacity:1;transform:none}.cta-btn,.debugger-card,.feature-card,.help-card{transition:none}.cta-btn:hover,.feature-card:hover,.help-card:hover{transform:none}}@media (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.floating-header{padding:var(--space-12) var(--space-16)}.floating-header .logo span{display:none}.hero-ide-content{margin-bottom:var(--space-24)}.features-grid{grid-template-columns:1fr;gap:var(--space-16)}.feature-card{padding:var(--space-24)}.feature-card:hover{transform:none}.content-grid{grid-template-columns:1fr;gap:var(--space-24)}.debugger-grid{grid-template-columns:1fr}.debugger-card:hover{transform:none}.content-card{padding:var(--space-24)}.content-card:hover{transform:none}.faq-list{gap:var(--space-8)}.faq-section .faq-question{padding:var(--space-16) var(--space-20);font-size:var(--space-14)}.cta-content{flex-direction:column;text-align:center;padding:var(--space-32)}.cta-text{text-align:center}.help-grid{grid-template-columns:1fr}.help-card:hover{transform:none}.section-container{padding:0 var(--space-8)}.content-section,.faq-section,.features-section,.help-section{padding:var(--space-48) var(--space-16)}.cta-section{padding:var(--space-40) var(--space-16)}}@media (max-width:480px){.floating-header .logo i{font-size:var(--space-28)}.hero-text h1{font-size:1.75rem}.hero-subtitle{font-size:.9rem}.feature-icon{width:var(--space-56);height:var(--space-56)}.feature-icon i{font-size:var(--space-24)}.cta-btn-large{padding:var(--space-14) var(--space-24);font-size:var(--space-14)}}:root{--font-sans:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:'Cascadia Code','Fira Code',Consolas,monospace;--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#2a2a2a;--bg-accent:#363636;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--accent-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--success:#10b981;--warning:#f59e0b;--danger:#3b82f6;--info:#3b82f6;--border-color:#384152;--header-bg:#252a37;--header-height:60px;--sidebar-width:200px;--editor-bg:#282c34;--manager-bg:#1a1d29;--output-bg:#282c34;--variables-bg:#484b503b;--string-color:#98c379;--number-color:#e5c07b;--bool-color:#d19a66;--none-color:#c678dd;--exec-line:#f59e0b29}html[data-theme=dark] #python-ide-container{--bg-primary:#282c34;--bg-secondary:#252a37;--bg-tertiary:#2a2a2a;--bg-accent:#363636;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--accent-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--border-color:#384152;--header-bg:#252a37;--editor-bg:#282c34;--manager-bg:#1a1d29;--output-bg:#282c34;--variables-bg:#484b503b;--string-color:#98c379;--number-color:#e5c07b;--bool-color:#d19a66;--none-color:#c678dd;--exec-line:#f59e0b29}html[data-theme=light] #python-ide-container{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--bg-accent:#cbd5e1;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--accent-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--border-color:#cbd5e1;--header-bg:#f1f5f9;--editor-bg:#ffffff;--manager-bg:#ffffff;--output-bg:#ffffff;--variables-bg:#4e494914;--string-color:#032f62;--number-color:#005cc5;--bool-color:#e36209;--none-color:#d73a49;--exec-line:#f59e0b29}#python-ide-container.theme-Light{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--bg-accent:#cbd5e1;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--accent-primary:#3b82f6;--accent-secondary:#6366f1;--accent-gradient:linear-gradient(135deg, #3b82f6, #6366f1);--border-color:#cbd5e1;--header-bg:#f1f5f9;--editor-bg:#ffffff;--manager-bg:#ffffff;--output-bg:#ffffff;--variables-bg:#4e494914;--string-color:#032f62;--number-color:#005cc5;--bool-color:#e36209;--none-color:#d73a49;--exec-line:#f59e0b29}.ide-wrapper{width:100%;max-width:var(--space-1200);margin:0 auto;flex:1;display:flex;flex-direction:column;min-height:0}#python-ide-container{font-family:var(--font-sans);font-size:var(--space-14);line-height:1.5;--sidebar-width:var(--space-200);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;border-radius:var(--space-8);border:var(--space-1) solid var(--border-color);position:relative;transition:all .3s ease;flex:1;min-height:0;max-height:100%}#python-ide-container p{color:#e2e8f0}#python-ide-container.fullscreen{position:fixed;top:0;left:0;width:100vw!important;height:100vh!important;z-index:9999;border-radius:0;border:none;margin:0;transition:all .3s ease;max-height:none}body.fullscreen-active{overflow:hidden}body.fullscreen-active .content-section,body.fullscreen-active .cta-section,body.fullscreen-active .faq-section,body.fullscreen-active .features-section,body.fullscreen-active .floating-header,body.fullscreen-active .help-section,body.fullscreen-active .hero-ide-content,body.fullscreen-active .site-footer{display:none!important}body.fullscreen-active .hero-ide-section{padding:0;min-height:0;background:0 0}body.fullscreen-active .ide-wrapper{max-width:100%}#python-ide-container *{box-sizing:border-box}#python-ide-container .app-container{display:flex;flex-direction:column;height:100%;overflow:hidden}#python-ide-container .main-content{display:flex;flex:1;overflow:hidden;height:100%}#python-ide-container .editor-container{flex:1;display:flex;flex-direction:column;overflow:hidden}#python-ide-container .editor-header{display:flex;flex-direction:column;padding:var(--space-16) var(--space-16);background:var(--bg-secondary);border-bottom:var(--space-1) solid var(--border-color);height:var(--space-64);box-sizing:border-box}#python-ide-container .editor-top-row{display:flex;justify-content:space-between;align-items:center;height:var(--space-32)}#python-ide-container .current-file{display:flex;align-items:center;gap:var(--space-8);height:var(--space-32);transition:opacity .3s ease,visibility .3s ease}#current-filename{font-weight:600;font-size:1rem;margin:0;line-height:var(--space-32);max-width:var(--space-130);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#current-filename.truncated::after{content:"..."}#python-ide-container .editor-actions{display:flex;align-items:center;gap:var(--space-8)}#python-ide-container .fullscreen-button{position:relative}#python-ide-container .fullscreen-button .icon-button{transition:all .2s ease}#python-ide-container .fullscreen-button .icon-button:hover{background-color:var(--bg-tertiary);transform:scale(1.05)}#python-ide-container.fullscreen .fullscreen-button i:before{content:"\f066"}#python-ide-container.fullscreen{animation:expand-fullscreen .3s ease-out}@keyframes expand-fullscreen{from{transform:scale(.95);opacity:.9}to{transform:scale(1);opacity:1}}#python-ide-container .file-explorer{width:var(--sidebar-width);background:var(--bg-secondary);border-right:none;overflow-y:auto;display:flex;flex-direction:column;height:100%}#python-ide-container .file-explorer.collapsed{width:var(--space-30);border-right:var(--space-1) solid var(--border-color);overflow:hidden}#python-ide-container .file-explorer.collapsed+#sidebar-separator{display:none}#python-ide-container .file-explorer.collapsed .file-actions button:not(:last-child),#python-ide-container .file-explorer.collapsed .file-explorer-header .sidebar-title,#python-ide-container .file-explorer.collapsed .files-container{display:none}#python-ide-container .file-explorer.collapsed .file-explorer-header{justify-content:center;padding:var(--space-8)}#python-ide-container .file-explorer.collapsed #toggle-sidebar i{transform:rotate(180deg)}#python-ide-container #toggle-sidebar i{transition:transform .3s ease}#python-ide-container .file-explorer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-16) var(--space-16);border-bottom:var(--space-1) solid var(--border-color);flex-shrink:0;height:var(--space-64);box-sizing:border-box}#python-ide-container .file-explorer-header .sidebar-title{margin:0;font-size:1rem;font-weight:600;line-height:var(--space-32);border-bottom:none;padding-bottom:0}#python-ide-container .file-actions{display:flex;gap:var(--space-4)}#python-ide-container .files-container{overflow-y:auto;display:flex;flex-direction:column;flex:1}#python-ide-container .files-section:first-child{max-height:50%;display:flex;flex-direction:column;overflow:hidden}#python-ide-container .files-section:first-child.full-height{max-height:100%;margin-bottom:0}#python-ide-container #uploaded-files-container{flex:1;display:flex;flex-direction:column;overflow:hidden;border-top:var(--space-1) solid var(--border-color);transition:opacity .2s ease-out,max-height .2s ease-out}#python-ide-container #uploaded-files-container.hidden{display:none}#python-ide-container .section-header{padding:var(--space-8) var(--space-16);color:var(--text-secondary);flex-shrink:0}#python-ide-container .section-header .section-label{margin:0;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}#python-ide-container .file-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}#python-ide-container .file-list li{display:flex;align-items:center;justify-content:space-between;padding:var(--space-8) var(--space-16);cursor:pointer;transition:background .2s ease}#python-ide-container .file-list li:hover{background:var(--bg-accent)}#python-ide-container .file-list li.active{background:var(--bg-accent);border-left:var(--space-4) solid var(--accent-primary)}#python-ide-container .file-item{display:flex;align-items:center;flex:1;overflow:hidden}#python-ide-container .file-name-container{display:flex;flex-direction:column;min-width:0}#python-ide-container .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#python-ide-container .file-size{font-size:var(--space-10);color:var(--text-secondary);line-height:1.2}#python-ide-container .file-item i{margin-right:var(--space-8);color:var(--text-secondary)}#python-ide-container .file-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease}#python-ide-container .file-list li:not(:hover) .file-item{flex:1}#python-ide-container .file-list li:hover .file-item{flex:1;min-width:0}#python-ide-container .file-list li .file-actions{display:flex;gap:var(--space-4);opacity:0;transition:opacity .2s ease;min-width:0;width:0;overflow:hidden}#python-ide-container .file-list li:hover .file-actions{opacity:1;width:auto}#python-ide-container .file-actions .icon-button{width:var(--space-24);height:var(--space-24)}#python-ide-container .hidden-select{display:none}#python-ide-container #editor-output{display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%;min-height:0}#python-ide-container .code-editor{flex:0 1 auto;min-height:var(--space-100);background:var(--editor-bg);font-family:var(--font-mono);font-size:var(--space-14);overflow:auto;transition:height .2s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#python-ide-container .code-editor .cm-editor{font-feature-settings:"liga" 0,"calt" 1}#python-ide-container .resizer{height:var(--space-1);background:var(--border-color);cursor:ns-resize;display:flex;justify-content:center;align-items:center;z-index:10;position:relative;flex-shrink:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:none;--resizer-hit-size:var(--space-12);--resizer-line-size:var(--space-1);--resizer-line-color:var(--bg-tertiary);--resizer-active-line-size:var(--space-6);--resizer-active-line-color:var(--accent-primary)}#python-ide-container .resizer::after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:var(--resizer-hit-size);background:0 0}#python-ide-container .resizer::before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:var(--resizer-line-size);background:var(--resizer-line-color);transition:height .15s ease,width .15s ease,background .15s ease}#python-ide-container .resizer.is-dragging{z-index:30;--resizer-line-size:var(--resizer-active-line-size);--resizer-line-color:var(--resizer-active-line-color)}#python-ide-container .resizer-handle{width:var(--space-40);height:var(--space-4);border-radius:var(--radius-full);background:var(--border-color);flex:0 0 auto;opacity:0;transition:opacity .15s ease,background .15s ease}#python-ide-container .resizer.is-dragging .resizer-handle{background:var(--text-primary);opacity:1;z-index:20}@media (hover:hover) and (pointer:fine){#python-ide-container .resizer:hover{z-index:30;--resizer-line-size:var(--resizer-active-line-size);--resizer-line-color:var(--resizer-active-line-color)}#python-ide-container .resizer:hover .resizer-handle{background:var(--text-primary);opacity:1;z-index:20}}#python-ide-container .resizer.resizer-vertical{width:var(--space-1);height:100%;cursor:ew-resize}#python-ide-container .resizer.resizer-vertical::after{left:50%;right:auto;top:0;bottom:0;transform:translateX(-50%);width:var(--resizer-hit-size);height:100%}#python-ide-container .resizer.resizer-vertical::before{left:50%;right:auto;top:0;bottom:0;transform:translateX(-50%);width:var(--resizer-line-size);height:100%}#python-ide-container .resizer.resizer-vertical .resizer-handle{width:var(--space-4);height:var(--space-40)}#python-ide-container .output-container{flex:0 1 auto;display:flex;flex-direction:column;min-height:var(--space-100);transition:height .2s ease;overflow:hidden}#python-ide-container .output-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-16);border-bottom:var(--space-1) solid var(--border-color);background:var(--header-bg)}#python-ide-container .output-title{font-weight:600;color:var(--text-primary);font-size:1rem}#python-ide-container .output-actions{display:flex;gap:var(--space-4)}#python-ide-container .output-panel{flex:1;overflow:auto;margin:0;padding:var(--space-16);white-space:pre-wrap;word-break:break-word;min-height:0;font-family:var(--font-mono);font-size:var(--space-14);line-height:1.5;color:var(--text-primary);background:var(--output-bg)}#python-ide-container .output-cursor-line{display:flex;align-items:center;gap:var(--space-6);min-height:calc(var(--space-14) * 1.5);color:var(--text-muted)}#python-ide-container .output-cursor-spinner{width:var(--space-18);height:var(--space-18);border:var(--space-3) solid rgba(148,163,184,.35);border-top-color:rgba(148,163,184,.9);border-radius:50%;animation:spin 1s linear infinite;flex:0 0 auto}#python-ide-container .empty-output-message{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-style:italic;font-size:var(--space-12);user-select:none}#python-ide-container .run-marker{display:flex;align-items:center;gap:var(--space-10);margin:var(--space-10) 0}#python-ide-container .run-marker-time{color:var(--text-muted);font-size:var(--space-10);flex:0 0 auto}#python-ide-container .run-marker-line{flex:1 1 auto;height:var(--space-0p5);background:var(--border-color)}#python-ide-container button{cursor:pointer;transition:all .2s ease}#python-ide-container .icon-button{display:flex;align-items:center;justify-content:center;width:var(--space-32);height:var(--space-32);border-radius:var(--space-8);background:0 0;border:none;color:var(--text-secondary)}#python-ide-container .icon-button:hover{background:var(--bg-accent);color:var(--text-primary)}#python-ide-container .primary-button{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-16);background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--space-8);font-weight:500;height:var(--space-30)}#python-ide-container .primary-button:hover{filter:brightness(1.1);transform:translateY(-.0625rem);box-shadow:0 var(--space-4) var(--space-6) var(--shadow-color)}#python-ide-container .primary-button:active{transform:translateY(0);filter:brightness(.95);box-shadow:none}#python-ide-container .primary-button.is-running i{display:none}#python-ide-container .primary-button .run-spinner{display:none;width:var(--space-14);height:var(--space-14);border:var(--space-2) solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}#python-ide-container .primary-button.is-running .run-spinner,#python-ide-container .primary-button.is-stopping .run-spinner{display:inline-block}#python-ide-container .primary-button.is-stopping{filter:brightness(.5);cursor:not-allowed}#python-ide-container .danger-button{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-16);background:var(--danger);color:#fff;border:none;border-radius:var(--space-8);font-weight:500}#python-ide-container .danger-button:hover{filter:brightness(1.1)}#python-ide-container .overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10000;align-items:center;justify-content:center;backdrop-filter:blur(2px)}#python-ide-container.theme-Light .overlay{background:rgba(0,0,0,.2)}#python-ide-container .overlay.visible{display:flex}#python-ide-container .modal-card{background:var(--bg-secondary);border-radius:var(--space-12);padding:var(--space-24);box-shadow:0 var(--space-10) var(--space-24) var(--shadow-color);max-width:var(--space-400);width:100%;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}#modal{min-width:var(--space-300)}#modal-content{margin-bottom:var(--space-16);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}#modal-actions{display:flex;justify-content:flex-end;gap:var(--space-8)}#modal-actions button{padding:var(--space-4) var(--space-16);border-radius:var(--space-8);font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border:var(--space-1) solid var(--border-color)}#modal-actions button:hover{background:var(--bg-accent)}#modal-actions button.action-button{background:var(--danger);color:#fff;border:none}#modal-actions button.action-button:hover{filter:brightness(1.1)}input[type=email],input[type=password],input[type=text],textarea{width:100%;padding:var(--space-8);background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-8);color:var(--text-primary);font-family:var(--font-sans)}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 var(--space-2) rgba(76,110,245,.2)}#python-ide-container .tooltip{position:absolute;padding:var(--space-4) var(--space-8);border-radius:var(--space-8);font-size:var(--space-12);white-space:nowrap;z-index:10000;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;max-width:clamp(15rem,40vw,20rem);word-wrap:break-word;white-space:pre-wrap}#python-ide-container .tooltip.visible{opacity:1}#python-ide-container.theme-Light .tooltip{background-color:var(--bg-secondary);color:var(--text-primary);border:var(--space-1) solid var(--border-color);box-shadow:0 var(--space-2) var(--space-8) rgba(0,0,0,.1)}#python-ide-container.theme-Dark .tooltip{background-color:var(--bg-secondary);color:var(--text-primary);border:var(--space-1) solid var(--border-color);box-shadow:0 var(--space-2) var(--space-8) rgba(0,0,0,.3)}#manage-packages .icon-button{width:var(--space-32);height:var(--space-32)}#python-ide-container .builtin-package{background-color:var(--bg-accent)!important;opacity:.8}#python-ide-container .builtin-name,#python-ide-container .builtin-version{background-color:var(--bg-tertiary)!important;color:var(--text-secondary)!important;cursor:not-allowed!important;border:var(--space-1) solid var(--border-color)!important}#python-ide-container .builtin-name:focus,#python-ide-container .builtin-version:focus{outline:0!important;box-shadow:none!important}#python-ide-container .delete-pkg-btn{background-color:var(--bg-secondary);border:var(--space-1) solid var(--border-color);color:var(--text-secondary);border-radius:var(--space-8);cursor:pointer;transition:all .2s ease}#python-ide-container .delete-pkg-btn:hover{background-color:var(--danger);color:#fff;border-color:var(--danger)}#python-ide-container .pkg-add-btn{background-color:var(--danger);color:#fff;border:none;padding:var(--space-8) var(--space-16);border-radius:var(--space-8);font-size:var(--space-14);font-weight:500;cursor:pointer;white-space:nowrap}#python-ide-container .pkg-add-btn:hover{filter:brightness(1.1)}body.touch-device{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.touch-device #python-ide-container .code-editor,body.touch-device #python-ide-container .output-panel,body.touch-device input,body.touch-device textarea{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}body.dragging{overflow:hidden}::-webkit-scrollbar{width:var(--space-8);height:var(--space-8)}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--space-8)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--space-8);transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}::-webkit-scrollbar-corner{background:var(--bg-secondary)}#python-ide-container .code-editor,#python-ide-container .files-container,#python-ide-container .output-panel{scrollbar-width:thin;transition:scrollbar-color .3s ease}#python-ide-container .theme-Dark ::-webkit-scrollbar-track{background:var(--bg-tertiary)}#python-ide-container .theme-Dark ::-webkit-scrollbar-thumb{background:var(--bg-accent)}#python-ide-container.theme-Light ::-webkit-scrollbar-track{background:var(--bg-tertiary)}#python-ide-container.theme-Light ::-webkit-scrollbar-thumb{background:var(--bg-accent)}#python-ide-container .file-explorer.collapsed::-webkit-scrollbar{display:none}*{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--bg-tertiary)}#python-ide-container.theme-Dark *{scrollbar-color:var(--bg-accent) var(--bg-tertiary)}#python-ide-container.theme-Light *{scrollbar-color:var(--bg-accent) var(--bg-tertiary)}#python-ide-container .code-editor::-webkit-scrollbar,#python-ide-container .files-container::-webkit-scrollbar,#python-ide-container .output-panel::-webkit-scrollbar{width:var(--space-6)}#python-ide-container .code-editor::-webkit-scrollbar-thumb,#python-ide-container .output-panel::-webkit-scrollbar-thumb{background:var(--accent-primary);opacity:.7}#python-ide-container .code-editor::-webkit-scrollbar-thumb:hover,#python-ide-container .output-panel::-webkit-scrollbar-thumb:hover{opacity:1}#python-ide-container .file-list::-webkit-scrollbar{width:var(--space-4)}#python-ide-container .file-list::-webkit-scrollbar-thumb{background:var(--accent-secondary);opacity:.5}#python-ide-container.editor-narrow .file-explorer:not(.collapsed)~.editor-container .current-file{opacity:0;visibility:hidden;max-width:0;overflow:hidden;margin:0;padding:0}#python-ide-container.editor-narrow .file-explorer:not(.collapsed)~.editor-container .primary-button p{display:none}#python-ide-container.sidebar-narrow .file-explorer:not(.collapsed) .sidebar-title{display:none}@media (max-width:480px){#python-ide-container .file-explorer:not(.collapsed)~.editor-container .current-file{opacity:0;visibility:hidden;max-width:0;overflow:hidden;margin:0;padding:0}#python-ide-container .file-explorer:not(.collapsed)~.editor-container .primary-button p{display:none}}@media (pointer:coarse){#python-ide-container .file-list li{margin-bottom:var(--space-4);min-height:var(--space-44)}#python-ide-container .icon-button{min-width:var(--space-44);min-height:var(--space-44)}#python-ide-container .primary-button{min-height:var(--space-44)}#python-ide-container .resizer{--resizer-hit-size:var(--space-24);--resizer-active-line-size:var(--space-6);--resizer-line-size:var(--space-6);--resizer-line-color:var(--bg-tertiary)}#python-ide-container .resizer-handle{width:var(--space-60);height:var(--space-6);background:var(--text-secondary);opacity:.9}#python-ide-container .resizer.is-dragging,#python-ide-container .resizer:active{--resizer-line-size:var(--resizer-active-line-size);--resizer-line-color:var(--resizer-active-line-color);transform:scaleY(1.1)}#python-ide-container .resizer.is-dragging .resizer-handle,#python-ide-container .resizer:active .resizer-handle{opacity:1;transform:scaleX(1.1);background:#fff}#python-ide-container .file-explorer{width:var(--space-200);border-right:var(--space-1) solid var(--border-color)}#python-ide-container .resizer::before{border:var(--space-1) solid var(--border-color)}#python-ide-container .resizer-vertical,#python-ide-container .resizer-vertical .resizer-handle{display:none}#modal-actions button{min-height:var(--space-44);padding:var(--space-12) var(--space-16);margin:0 var(--space-4)}input[type=text]{font-size:var(--space-16)}}@media (max-width:768px){#python-ide-container{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}#python-ide-container.fullscreen .main-content{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}}@media (hover:none){#python-ide-container .icon-button:hover{background:0 0;transform:none}#python-ide-container .primary-button:hover{background:var(--accent-primary);transform:none}#python-ide-container .file-list li:hover{background:0 0}}@supports (-webkit-touch-callout:none){#python-ide-container.fullscreen{height:100vh;height:-webkit-fill-available}input[type=text]{font-size:var(--space-16)}}@media (hover:hover){.code-editor::-webkit-scrollbar-thumb,.files-container::-webkit-scrollbar-thumb,.output-panel::-webkit-scrollbar-thumb{opacity:.3}.code-editor:hover::-webkit-scrollbar-thumb,.files-container:hover::-webkit-scrollbar-thumb,.output-panel:hover::-webkit-scrollbar-thumb{opacity:1}}@media (pointer:fine) and (min-width:2048px){::-webkit-scrollbar-thumb{background-color:var(--accent-primary);opacity:.7}::-webkit-scrollbar-thumb:hover{opacity:1}}#python-ide-container #debug[hidden]{display:none}#python-ide-container #debug.debug-feature-new{position:relative;color:var(--text-secondary);background:rgba(245,158,11,.12);box-shadow:0 0 0 var(--space-1) rgba(245,158,11,.32);animation:debugFeaturePulse 2.2s ease-in-out infinite}#python-ide-container #debug.debug-feature-new:hover{color:var(--text-secondary);background:rgba(245,158,11,.2)}#python-ide-container #debug.debug-feature-new::after{content:"NEW";position:absolute;top:calc(var(--space-6) * -1);right:calc(var(--space-8) * -1);height:var(--space-14);padding:0 var(--space-4);border-radius:var(--space-8);background:var(--warning);color:#111827;font-size:var(--space-10);font-weight:700;line-height:var(--space-14);letter-spacing:var(--space-0p5);pointer-events:none}@keyframes debugFeaturePulse{0%,100%{box-shadow:0 0 0 var(--space-1) rgba(245,158,11,.32),0 0 0 0 rgba(245,158,11,.25)}55%{box-shadow:0 0 0 var(--space-1) rgba(245,158,11,.45),0 0 0 var(--space-8) rgba(245,158,11,0)}}@media (prefers-reduced-motion:reduce){#python-ide-container #debug.debug-feature-new{animation:none}}#python-ide-container .output-tabs{display:flex;align-items:center;gap:var(--space-12)}#python-ide-container .output-tab{padding:var(--space-6) var(--space-2);border:none;border-bottom:var(--space-4) solid transparent;background:0 0;color:var(--text-secondary);font-weight:600;font-size:var(--space-14);line-height:1}#python-ide-container .output-tab:hover{color:var(--text-primary)}#python-ide-container .output-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}#python-ide-container #tab-variables{display:none}#python-ide-container #debug-controls{display:none;align-items:center;gap:var(--space-4)}#python-ide-container #variables{display:none;padding:var(--space-12);overflow:auto;white-space:normal}#python-ide-container .vars-scope-info{color:var(--text-primary);font-size:var(--space-14);font-family:var(--font-mono);padding:var(--space-6) var(--space-10);border-bottom:var(--space-1) solid var(--border-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#python-ide-container .vars-scope-info.vars-scope-stack{display:flex;flex-direction:column;gap:var(--space-2);white-space:normal;overflow:auto;text-overflow:clip;max-height:var(--space-120)}#python-ide-container .vars-scope-info.vars-scope-stack .vars-scope-frame:not(.current){color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#python-ide-container .vars-grid-row{display:grid;grid-template-columns:2fr 1fr 3fr;align-items:baseline;font-family:var(--font-mono);font-size:var(--space-14);padding:var(--space-4) 0;border-bottom:var(--space-1) solid var(--border-color);min-height:var(--space-26)}#python-ide-container .vars-grid-row.vars-header{color:var(--text-primary);font-weight:600;opacity:.7;background:var(--output-bg);border-bottom:var(--space-1) solid var(--border-color);padding:var(--space-6) 0;font-size:var(--space-14);text-transform:uppercase;letter-spacing:var(--space-0p5)}#python-ide-container .vars-grid-row .col-name,#python-ide-container .vars-grid-row .col-type,#python-ide-container .vars-grid-row .col-value{padding:0 var(--space-8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#python-ide-container .vars-grid-row .col-name{display:flex;align-items:baseline;gap:var(--space-4)}#python-ide-container .vars-grid-row .col-value{display:flex;align-items:baseline;gap:var(--space-6)}#python-ide-container .vars-grid-row:not(.vars-header){cursor:pointer}#python-ide-container .vars-grid-row:not(.vars-header):hover{background:var(--variables-bg)}#python-ide-container .vars-grid-row.row-expanded .col-name,#python-ide-container .vars-grid-row.row-expanded .col-type,#python-ide-container .vars-grid-row.row-expanded .col-value{white-space:pre-wrap;word-break:break-all;overflow:visible;text-overflow:clip}#python-ide-container .vars-grid-row.changed{animation:highlightFade 1.5s ease-out}@keyframes highlightFade{0%{background:var(--exec-line)}100%{background:0 0}}#python-ide-container .vars-empty{color:var(--text-muted);font-style:italic;padding:var(--space-12) var(--space-8);font-family:var(--font-mono);font-size:var(--space-14)}#python-ide-container .vars-omitted-notice{color:var(--text-muted);font-style:italic;padding:var(--space-8);font-family:var(--font-mono);font-size:var(--space-12)}#python-ide-container .vars-load-more-btn{border:var(--space-1) solid var(--border-color);border-radius:var(--space-4);background:0 0;color:var(--text-muted);font-size:var(--space-12);line-height:1.2;padding:var(--space-1) var(--space-6);margin-left:var(--space-6)}#python-ide-container .vars-load-more-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-primary)}#python-ide-container .vars-load-more-btn:disabled{opacity:.6;cursor:default}#python-ide-container .caret{color:var(--text-muted);cursor:pointer;width:var(--space-14);display:inline-block;font-size:var(--space-10);text-align:center;flex-shrink:0;user-select:none}#python-ide-container .caret.empty{opacity:0;cursor:default}#python-ide-container .caret.open{transform:rotate(90deg)}#python-ide-container .var-name{color:var(--text-primary);font-weight:500}#python-ide-container .col-type{color:var(--text-muted)}#python-ide-container .var-string{color:var(--string-color)}#python-ide-container .var-number{color:var(--number-color)}#python-ide-container .var-bool{color:var(--bool-color)}#python-ide-container .var-none{color:var(--none-color)}#python-ide-container .var-ellipsis{color:var(--text-muted)}#python-ide-container .debug-locked{opacity:.6;pointer-events:none}#python-ide-container #debug-overlay{z-index:12000}#python-ide-container #debug-overlay .debug-overlay-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-10)}#python-ide-container .debug-overlay-spinner{width:var(--space-36);height:var(--space-36);border:var(--space-3) solid rgba(148,163,184,.35);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}#python-ide-container #debug-overlay p{color:var(--text-secondary)}#python-ide-container .cm-breakpoint-gutter{width:var(--space-12)!important;min-width:var(--space-12);cursor:pointer;background-color:transparent!important;padding:0!important}#python-ide-container .cm-breakpoint-gutter .cm-gutterElement{width:var(--space-12);padding:0;display:flex;align-items:center;justify-content:center}#python-ide-container .cm-breakpoint-marker{width:var(--space-8);height:var(--space-8);border-radius:50%;background:#e74c3c;box-shadow:0 0 0 var(--space-1) rgba(231,76,60,.24);pointer-events:none}#python-ide-container .cm-breakpoint-marker--ghost{opacity:.35;background:rgba(231,76,60,.65);box-shadow:0 0 0 var(--space-1) rgba(231,76,60,.16)}#python-ide-container.theme-Dark .cm-line.cm-executionLine{background:var(--exec-line);box-shadow:inset var(--space-1) 0 0 var(--warning)}#python-ide-container.theme-Light .cm-line.cm-executionLine{background:var(--exec-line);box-shadow:inset var(--space-1) 0 0 var(--warning)}#python-ide-container #dbg-restart{color:#55a13b}#python-ide-container #dbg-stop{color:#c15e5e}#python-ide-container .onboarding-backdrop{position:absolute;inset:0;z-index:10500;cursor:pointer}#python-ide-container .onboarding-spotlight{position:absolute;z-index:10500;border-radius:var(--space-4);box-shadow:0 0 0 var(--radius-full) rgba(0,0,0,.55);transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease,opacity .25s ease;pointer-events:none}#python-ide-container.theme-Light .onboarding-spotlight{box-shadow:0 0 0 var(--radius-full) rgba(0,0,0,.35)}#python-ide-container .onboarding-popover{position:absolute;z-index:10501;width:var(--space-340);max-width:calc(100% - 16px);background:var(--bg-secondary);color:var(--text-primary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-10);box-shadow:0 var(--space-8) var(--space-32) rgba(0,0,0,.35);padding:var(--space-16);transition:opacity .2s ease,transform .2s ease}#python-ide-container .onboarding-popover--entering{opacity:0;transform:translateY(var(--space-8))}#python-ide-container .onboarding-popover--centered{left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:var(--space-380)}#python-ide-container .onboarding-popover--centered.onboarding-popover--entering{opacity:0;transform:translate(-50%,-50%) translateY(var(--space-8))}#python-ide-container .onboarding-popover-title{font-weight:700;font-size:var(--space-16);margin-bottom:var(--space-8);color:var(--text-primary)}#python-ide-container .onboarding-popover-body{font-size:var(--space-14);line-height:1.5;color:var(--text-secondary);margin-bottom:var(--space-12)}#python-ide-container .onboarding-popover-body p{color:var(--text-secondary);margin:0 0 var(--space-8)}#python-ide-container .onboarding-popover-body p:last-child{margin-bottom:0}#python-ide-container .onboarding-popover-body kbd{display:inline-block;padding:var(--space-1) var(--space-4);font-size:var(--space-12);font-family:var(--font-mono);background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-4);color:var(--text-primary)}#python-ide-container .onboarding-popover-nav{display:flex;justify-content:flex-end;gap:var(--space-8)}#python-ide-container .onboarding-btn{padding:var(--space-4) var(--space-14);border:none;border-radius:var(--space-6);font-size:var(--space-14);font-weight:600;cursor:pointer;transition:background .15s ease}#python-ide-container .onboarding-btn--next{background:var(--accent-primary);color:#fff}#python-ide-container .onboarding-btn--next:hover{background:var(--accent-secondary)}#python-ide-container .onboarding-btn--back{background:var(--bg-tertiary);color:var(--text-secondary)}#python-ide-container .onboarding-btn--back:hover{background:var(--bg-accent)}#python-ide-container .onboarding-btn--skip{background:0 0;color:var(--text-muted);margin-right:auto}#python-ide-container .onboarding-btn--skip:hover{color:var(--text-secondary)}#python-ide-container .onboarding-dont-show{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-10);font-size:var(--space-12);color:var(--text-muted);cursor:pointer}#python-ide-container .onboarding-dont-show-cb{accent-color:var(--accent-primary)}#python-ide-container .onboarding-illustration{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:var(--space-8) 0}#python-ide-container .onboarding-ill-btn{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-10);background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-6);font-size:var(--space-12);color:var(--text-secondary)}#python-ide-container .onboarding-ill-btn i{font-size:var(--space-12);color:var(--text-secondary)}#python-ide-container #onboarding-ill-btn-restart{color:#55a13b}#python-ide-container #onboarding-ill-btn-stop{color:#c15e5e}#python-ide-container .onboarding-ill-tab{padding:var(--space-6) var(--space-2);border:none;border-bottom:var(--space-4) solid transparent;background:0 0;color:var(--text-secondary);font-weight:600;font-size:var(--space-14);line-height:1}#python-ide-container .onboarding-ill-tab--active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}#python-ide-container .onboarding-shortcuts-table{width:100%;border-collapse:collapse;font-size:var(--space-12);margin-top:var(--space-4)}#python-ide-container .onboarding-shortcuts-table th{text-align:left;padding:var(--space-4) var(--space-8);border-bottom:var(--space-1) solid var(--border-color);color:var(--text-muted);font-weight:600}#python-ide-container .onboarding-shortcuts-table td{padding:var(--space-4) var(--space-8);color:var(--text-secondary)}#python-ide-container .onboarding-shortcuts-table kbd{display:inline-block;padding:var(--space-1) var(--space-4);font-size:var(--space-12);font-family:var(--font-mono);background:var(--bg-tertiary);border:var(--space-1) solid var(--border-color);border-radius:var(--space-4);color:var(--text-primary)}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-slide-up{opacity:0;animation:slideUp .6s cubic-bezier(.4,0,.2,1) forwards}.animate-fade-in-up{opacity:0;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) forwards}.animate-fade-in{opacity:0;animation:fadeIn .6s ease forwards}.reveal{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4, 0, .2, 1)}.reveal.visible{opacity:1;transform:translateY(0)}