@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-0:#0a0d14;--bg-1:#0d1119;--bg-2:#10141d;--panel:#10141ecc;--panel-solid:#10141e;--border:#1f2530;--border-soft:#191e28;--accent-1:#5b7cfa;--accent-2:#8b6ef2;--accent-grad:linear-gradient(135deg, var(--accent-1), var(--accent-2));--accent-glow:#5b7cfa47;--success:#38d39f;--success-dim:#38d39f24;--error:#ff6b7a;--error-dim:#ff6b7a24;--warn:#f2b862;--text-hi:#eef1f6;--text-mid:#a8b0c0;--text-lo:#626b7d;--font-display:"Space Grotesk", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1.0625rem;--fs-lg:1.375rem;--fs-xl:1.875rem;--fs-2xl:2.75rem;--fs-3xl:3.75rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-panel:0 1px 0 #ffffff05 inset, 0 20px 40px -20px #0009;--shadow-glow:0 0 0 1px #5b7cfa26, 0 8px 30px -10px var(--accent-glow);--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-0);color:var(--text-hi);font-family:"Inter", var(--font-display), sans-serif;font-size:var(--fs-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.12}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}::selection{background:var(--accent-glow);color:var(--text-hi)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#232a38 padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#2c3444 padding-box padding-box}:focus-visible{outline:2px solid var(--accent-1);outline-offset:2px;border-radius:4px}.mono{font-family:var(--font-mono)}.container{width:100%;max-width:1160px;padding:0 var(--sp-6);margin:0 auto}.glass-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-panel)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-md);font-size:var(--fs-sm);transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);white-space:nowrap;border:1px solid #0000;padding:.65rem 1.15rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-grad);color:#0a0d14;box-shadow:0 8px 24px -10px var(--accent-glow)}.btn-primary:hover{box-shadow:0 10px 30px -8px var(--accent-glow);filter:brightness(1.06)}.btn-ghost{border-color:var(--border);color:var(--text-hi);background:0 0}.btn-ghost:hover{background:#ffffff08;border-color:#333c4d}.btn-subtle{color:var(--text-mid);border-color:var(--border);background:#ffffff0a}.btn-subtle:hover{color:var(--text-hi);border-color:#333c4d}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.fade-in{animation:fadeIn .5s var(--ease) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spinner{border:2px solid #ffffff40;border-top-color:currentColor;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scene-bg{z-index:-1;background:var(--bg-0);position:fixed;inset:0;overflow:hidden}.scene-bg:before{content:"";background-image:linear-gradient(var(--border-soft) 1px, transparent 1px), linear-gradient(90deg, var(--border-soft) 1px, transparent 1px);opacity:.55;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 90%);mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 90%)}.scene-bg__blob{filter:blur(90px);opacity:.35;will-change:transform;border-radius:50%;position:absolute}.scene-bg__blob--a{background:radial-gradient(circle at 30% 30%, var(--accent-1), transparent 70%);width:46vw;height:46vw;animation:drift-a 26s var(--ease) infinite alternate;top:-14vw;left:-8vw}.scene-bg__blob--b{background:radial-gradient(circle at 60% 60%, var(--accent-2), transparent 70%);width:38vw;height:38vw;animation:drift-b 32s var(--ease) infinite alternate;bottom:-12vw;right:-6vw}.scene-bg__blob--c{opacity:.16;width:24vw;height:24vw;animation:drift-c 22s var(--ease) infinite alternate;background:radial-gradient(circle,#2fd6c2,#0000 72%);top:35%;left:55%}@keyframes drift-a{to{transform:translate(6vw,4vw)scale(1.08)}}@keyframes drift-b{to{transform:translate(-5vw,-3vw)scale(1.05)}}@keyframes drift-c{to{transform:translate(-4vw,3vw)scale(.94)}}.scene-bg__vignette{background:radial-gradient(ellipse 70% 60% at 50% 20%, transparent 0%, var(--bg-0) 85%);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.scene-bg__blob{animation:none}}.logo{font-family:var(--font-display);color:var(--text-hi);letter-spacing:-.01em;align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.logo--md{font-size:1.05rem}.logo--lg{font-size:1.4rem}.logo--sm{font-size:.92rem}.logo__mark{background:var(--accent-grad);color:#0a0d14;border-radius:9px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.logo--sm .logo__mark{border-radius:7px;width:24px;height:24px}.navbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0a0d14d9,#0a0d1400);padding:18px 0;position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;gap:var(--sp-5);display:flex}.navbar__links{gap:var(--sp-6);font-size:var(--fs-sm);color:var(--text-mid);display:flex}.navbar__links a{transition:color .15s var(--ease)}.navbar__links a:hover{color:var(--text-hi)}.navbar__actions{align-items:center;gap:var(--sp-3);display:flex}@media (width<=760px){.navbar__links{display:none}}.ide-preview{border-radius:var(--radius-lg);background:var(--panel-solid);border:1px solid var(--border);width:100%;max-width:560px;box-shadow:var(--shadow-glow), 0 30px 70px -25px #000000b3;overflow:hidden;transform:perspective(1400px)rotateY(-6deg)rotateX(2deg)}.ide-preview__bar{background:var(--bg-1);border-bottom:1px solid var(--border-soft);align-items:center;gap:7px;padding:10px 12px;display:flex}.ide-preview__dot{background:#2a3140;border-radius:50%;width:9px;height:9px}.ide-preview__bar-title{color:var(--text-lo);margin-left:10px;font-size:11px}.ide-preview__body{min-height:220px;display:flex}.ide-preview__files{background:var(--bg-1);border-right:1px solid var(--border-soft);flex-shrink:0;width:120px;padding:10px 6px}.ide-preview__file-item{color:var(--text-lo);border-radius:5px;align-items:center;gap:6px;padding:5px 6px;font-size:11px;display:flex}.ide-preview__file-item--folder{color:var(--text-mid)}.ide-preview__file-item--active{color:var(--text-hi);background:#5b7cfa24}.ide-preview__editor{background:#0d1119;flex:1;padding:12px 0;font-size:12px}.ide-preview__line{gap:12px;padding:2px 14px;display:flex}.ide-preview__lineno{color:#3a4254;text-align:right;width:12px}.tok-kw{color:#8b9cf7}.tok-fn{color:#eef1f6}.tok-p{color:var(--text-mid)}.tok-str{color:#9ddcc0}.ide-preview__footer{background:var(--bg-1);border-top:1px solid var(--border-soft);align-items:center;gap:14px;padding:9px 14px;display:flex}.ide-preview__run{color:#080b11;background:var(--accent-grad);border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:flex}.ide-preview__term{color:var(--text-mid);font-size:11px;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}@media (width<=900px){.ide-preview{transform:none}}.landing{min-height:100%}.hero{justify-content:space-between;align-items:center;gap:var(--sp-8);padding:var(--sp-8) var(--sp-6) 110px;min-height:78vh;display:flex}.hero__copy{max-width:540px}.hero__eyebrow{font-size:var(--fs-sm);color:var(--accent-1);margin-bottom:var(--sp-4);font-weight:600}.hero__title{font-size:var(--fs-3xl);color:var(--text-hi);margin-bottom:var(--sp-5)}.hero__subtitle{font-size:var(--fs-md);color:var(--text-mid);max-width:460px;margin-bottom:var(--sp-6)}.hero__actions{gap:var(--sp-3);display:flex}.hero__cta{font-size:var(--fs-base);padding:.8rem 1.4rem}.hero__visual{flex-shrink:0}@media (width<=980px){.hero{text-align:left;padding-top:var(--sp-7);flex-direction:column}.hero__visual{width:100%}}.section-title{font-size:var(--fs-xl);color:var(--text-hi);max-width:560px}.section-subtitle{color:var(--text-mid);margin-top:var(--sp-3);max-width:520px;font-size:var(--fs-base)}.features{padding:var(--sp-8) var(--sp-6)}.feature-grid{gap:var(--sp-4);margin-top:var(--sp-7);grid-template-columns:repeat(3,1fr);display:grid}.feature-card{padding:var(--sp-5);border-radius:var(--radius-lg);border:1px solid var(--border);transition:transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);background:linear-gradient(#ffffff06,#fff0)}.feature-card:hover{background:linear-gradient(#ffffff0b,#fff0);border-color:#2a3244;transform:translateY(-3px)}.feature-card__icon{width:38px;height:38px;color:var(--accent-1);margin-bottom:var(--sp-4);background:#5b7cfa1f;border-radius:10px;place-items:center;display:grid}.feature-card__title{font-size:var(--fs-md);color:var(--text-hi);margin-bottom:var(--sp-2)}.feature-card__copy{font-size:var(--fs-sm);color:var(--text-mid);line-height:1.6}@media (width<=900px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.feature-grid{grid-template-columns:1fr}}.how{padding:var(--sp-8) var(--sp-6)}.how__grid{gap:var(--sp-6);margin-top:var(--sp-7);grid-template-columns:repeat(3,1fr);display:grid}.how__index{font-size:var(--fs-lg);color:var(--accent-2);margin-bottom:var(--sp-3);display:block}.how__title{font-size:var(--fs-md);color:var(--text-hi);margin-bottom:var(--sp-2)}.how__copy{font-size:var(--fs-sm);color:var(--text-mid);line-height:1.6}.how__step{padding-top:var(--sp-4);border-top:1px solid var(--border)}@media (width<=760px){.how__grid{grid-template-columns:1fr}}.cta-band{padding:var(--sp-7) var(--sp-6) var(--sp-8)}.cta-band__panel{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-7);display:flex}.cta-band__title{font-size:var(--fs-lg);color:var(--text-hi);margin-bottom:var(--sp-2)}.cta-band__copy{color:var(--text-mid);font-size:var(--fs-sm)}@media (width<=700px){.cta-band__panel{flex-direction:column;align-items:flex-start}}.footer{border-top:1px solid var(--border-soft);padding:var(--sp-6) 0 var(--sp-7)}.footer__inner{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.footer__copy{color:var(--text-lo);font-size:var(--fs-xs)}.auth{grid-template-columns:1.1fr 1fr;min-height:100%;display:grid}.auth__brand-side{padding:var(--sp-8);flex-direction:column;justify-content:space-between;display:flex}.auth__brand-copy{max-width:420px;margin-top:20vh}.auth__tagline{font-size:var(--fs-2xl);color:var(--text-hi);margin-bottom:var(--sp-4)}.auth__sub{color:var(--text-mid);font-size:var(--fs-md)}.auth__brand-footer{color:var(--text-lo);font-size:var(--fs-xs)}.auth__form-side{padding:var(--sp-6);justify-content:center;align-items:center;display:flex}.auth__form-card{width:100%;max-width:420px;padding:var(--sp-7)}@media (width<=900px){.auth{grid-template-columns:1fr}.auth__brand-side{display:none}}.form-field{margin-bottom:var(--sp-4);display:block}.form-field__label{font-size:var(--fs-xs);color:var(--text-mid);margin-bottom:6px;font-weight:500;display:block}.form-field__control{border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);background:#ffffff08;align-items:center;display:flex}.form-field__control:focus-within{border-color:var(--accent-1);box-shadow:0 0 0 3px #5b7cfa26}.form-field__control--error{border-color:var(--error)}.form-field__control--error:focus-within{box-shadow:0 0 0 3px #ff6b7a26}.form-field__control input{color:var(--text-hi);font-size:var(--fs-sm);background:0 0;border:none;flex:1;min-width:0;padding:.7rem .85rem}.form-field__control input:focus{outline:none}.form-field__control input::placeholder{color:var(--text-lo)}.form-field__toggle{color:var(--text-lo);background:0 0;border:none;place-items:center;padding:0 .75rem;display:grid}.form-field__toggle:hover{color:var(--text-mid)}.form-field__error{color:var(--error);font-size:var(--fs-2xs);align-items:center;gap:5px;margin-top:6px;display:flex}.auth-form__title{font-size:var(--fs-lg);color:var(--text-hi);margin-bottom:6px}.auth-form__subtitle{color:var(--text-mid);font-size:var(--fs-sm);margin-bottom:var(--sp-6)}.auth-form__banner{background:var(--error-dim);color:var(--error);border-radius:var(--radius-sm);font-size:var(--fs-xs);margin-bottom:var(--sp-4);border:1px solid #ff6b7a40;align-items:center;gap:8px;padding:10px 12px;display:flex}.auth-form__checkbox{font-size:var(--fs-xs);color:var(--text-mid);margin-bottom:var(--sp-5);cursor:pointer;align-items:center;gap:8px;display:flex}.auth-form__checkbox input{accent-color:var(--accent-1);width:14px;height:14px}.auth-form__submit{width:100%;font-size:var(--fs-sm);padding:.75rem 1rem}.auth-form__divider{margin:var(--sp-5) 0;color:var(--text-lo);font-size:var(--fs-2xs);letter-spacing:.04em;align-items:center;gap:12px;display:flex}.auth-form__divider:before,.auth-form__divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-form__github{width:100%;padding:.7rem 1rem}.auth-form__footer{margin-top:var(--sp-6);text-align:center;font-size:var(--fs-xs);color:var(--text-mid)}.auth-form__footer a{color:var(--accent-1);font-weight:600}.auth-form__footer a:hover{text-decoration:underline}.pw-strength{margin:-8px 0 var(--sp-4);align-items:center;gap:8px;display:flex}.pw-strength__bars{flex:1;gap:4px;display:flex}.pw-strength__bar{background:var(--border);height:4px;transition:background .2s var(--ease);border-radius:2px;flex:1}.pw-strength__bar--1{background:var(--error)}.pw-strength__bar--2{background:var(--warn)}.pw-strength__bar--3{background:#7dd88c}.pw-strength__bar--4{background:var(--success)}.pw-strength__label{font-size:var(--fs-2xs);color:var(--text-lo);text-align:right;min-width:60px}.ide-topbar{background:var(--bg-1);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 14px;display:flex}.ide-topbar__left{align-items:center;gap:22px;min-width:0;display:flex}.ide-topbar__menus{gap:2px;display:flex}.ide-topbar__menu-item{color:var(--text-mid);font-size:var(--fs-sm);background:0 0;border:none;border-radius:6px;padding:6px 10px}.ide-topbar__menu-item:hover{color:var(--text-hi);background:#ffffff0d}.ide-topbar__search{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-lo);font-size:var(--fs-xs);background:#ffffff08;flex-shrink:1;align-items:center;gap:8px;min-width:220px;padding:6px 10px;display:flex}.ide-topbar__search:hover{color:var(--text-mid);border-color:#333c4d}.ide-topbar__search kbd{font-family:var(--font-mono);background:#ffffff0f;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.ide-topbar__right{flex-shrink:0;align-items:center;gap:4px;display:flex}.ide-topbar__icon-btn{color:var(--text-mid);background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;display:flex}.ide-topbar__icon-btn:hover{color:var(--text-hi);background:#ffffff0f}.ide-topbar__github-label{font-size:var(--fs-xs)}.ide-topbar__avatar{color:var(--text-mid);background:0 0;border:none;border-radius:999px;place-items:center;margin-left:4px;padding:2px;display:grid}.ide-topbar__avatar:hover{color:var(--text-hi)}@media (width<=900px){.ide-topbar__search,.ide-topbar__menus,.ide-topbar__github-label{display:none}}.topbar-menu-wrap{position:relative}.ide-topbar__search-wrap{flex:1;justify-content:center;min-width:0;display:flex}.ide-topbar__search-input{color:var(--text-hi);font-size:var(--fs-xs);background:0 0;border:none;flex:1;min-width:0}.ide-topbar__search-input:focus{outline:none}.ide-topbar__search-input::placeholder{color:var(--text-lo)}.ide-topbar__search--active{min-width:320px}.ide-topbar__badge{background:var(--accent-1);color:#080b11;border-radius:999px;place-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:grid;position:absolute;top:2px;right:2px}.topbar-menu{z-index:60;background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-panel);animation:menuIn .12s var(--ease) both;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.topbar-menu--right{left:auto;right:0}.topbar-menu--wide{min-width:260px}.topbar-menu--search{min-width:min(420px,80vw);max-height:320px;left:50%;overflow-y:auto;transform:translate(-50%)}.topbar-menu button[role=menuitem],.topbar-menu button[role=option]{text-align:left;width:100%;color:var(--text-mid);font-size:var(--fs-sm);background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:8px 10px;display:flex}.topbar-menu button[role=menuitem]:hover:not(:disabled),.topbar-menu button[role=option]:hover{color:var(--text-hi);background:#ffffff0f}.topbar-menu button[role=menuitem]:disabled{opacity:.5;cursor:default}.topbar-menu button[role=menuitem] kbd{font-family:var(--font-mono);color:var(--text-lo);background:#ffffff0f;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.topbar-menu__note{font-size:var(--fs-2xs);color:var(--text-mid);padding:8px 10px 4px;line-height:1.5}.topbar-menu__note--muted{color:var(--text-lo)}.topbar-menu__header{font-size:var(--fs-xs);color:var(--text-hi);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 10px 8px;font-weight:600;display:flex}.topbar-menu__link{color:var(--accent-1);font-size:var(--fs-2xs);background:0 0;border:none;font-weight:600}.topbar-menu__link:hover{text-decoration:underline}.topbar-menu__link-btn{text-align:center;background:var(--accent-grad);color:#080b11;font-size:var(--fs-xs);border-radius:7px;margin:6px 4px 2px;padding:7px 10px;font-weight:700;display:block}.topbar-menu__danger{text-align:left;width:100%;color:var(--error);font-size:var(--fs-sm);background:0 0;border:none;border-radius:6px;padding:8px 10px}.topbar-menu__danger:hover{background:var(--error-dim)}.topbar-notification{font-size:var(--fs-xs);color:var(--text-mid);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:8px;padding:7px 8px;line-height:1.4;display:flex}.topbar-notification:hover{background:#ffffff08}.topbar-notification--error{color:var(--error)}.topbar-notification--success{color:var(--success)}.topbar-notification button{color:var(--text-lo);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px}.topbar-notification button:hover{color:var(--text-hi);background:#ffffff14}.topbar-setting-row{font-size:var(--fs-xs);color:var(--text-mid);align-items:center;gap:10px;padding:7px 10px;display:flex}.topbar-setting-row span:first-child{flex:1}.topbar-setting-row input[type=range]{width:90px;accent-color:var(--accent-1)}.topbar-setting-row input[type=checkbox]{accent-color:var(--accent-1);width:14px;height:14px;margin-left:auto}.topbar-menu__note--err{color:var(--error)}.topbar-repo-list{max-height:220px;overflow-y:auto}.topbar-repo-row{font-size:var(--fs-xs);color:var(--text-mid);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.topbar-repo-row:hover{background:#ffffff0a}.topbar-repo-row__name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-hi);align-items:center;gap:6px;display:flex;overflow:hidden}.topbar-repo-row__badge{text-transform:uppercase;color:var(--text-lo);background:#ffffff0f;border-radius:999px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:700}.topbar-repo-row button{border:1px solid var(--border);color:var(--text-hi);background:#ffffff0d;border-radius:5px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:600}.topbar-repo-row button:hover:not(:disabled){border-color:var(--accent-1);color:var(--accent-1)}.topbar-repo-row button:disabled{opacity:.6;cursor:default}.ctx-menu{z-index:90;background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius-md);min-width:168px;box-shadow:var(--shadow-panel);animation:menuIn .12s var(--ease) both;padding:5px;position:fixed}.ctx-menu__item{text-align:left;width:100%;color:var(--text-mid);font-size:var(--fs-sm);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.ctx-menu__item:hover{color:var(--text-hi);background:#ffffff0f}.ctx-menu__item--danger{color:var(--error)}.ctx-menu__item--danger:hover{background:var(--error-dim)}.ctx-menu__divider{background:var(--border-soft);height:1px;margin:4px 2px}.explorer{background:var(--bg-1);border-right:1px solid var(--border);flex-direction:column;height:100%;display:flex}.explorer__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 12px 8px;display:flex}.explorer__title{font-size:var(--fs-2xs);letter-spacing:.04em;color:var(--text-lo);text-transform:uppercase;font-weight:600}.explorer__actions{gap:2px;display:flex}.explorer__action{width:24px;height:24px;color:var(--text-mid);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.explorer__action:hover{color:var(--text-hi);background:#ffffff0f}.explorer__tree{flex:1;padding-bottom:12px;overflow-y:auto}.tree-row{height:30px;color:var(--text-mid);font-size:var(--fs-sm);cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease);border-radius:6px;align-items:center;gap:6px;margin:0 6px;padding-right:8px;display:flex;position:relative}.tree-row:hover{color:var(--text-hi);background:#ffffff0a}.tree-row--active{color:var(--text-hi);background:#5b7cfa24}.tree-row--active .tree-icon{color:var(--accent-1)}.tree-chevron{color:var(--text-lo);transition:transform .15s var(--ease);flex-shrink:0}.tree-chevron--open{transform:rotate(90deg)}.tree-spacer{flex-shrink:0;width:13px}.tree-icon{color:var(--text-lo);flex-shrink:0;place-items:center;display:grid}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-rename-input{background:var(--bg-2);border:1px solid var(--accent-1);color:var(--text-hi);font-size:var(--fs-sm);border-radius:4px;flex:1;min-width:0;padding:2px 6px}.tree-menu-btn{opacity:0;width:20px;height:20px;color:var(--text-lo);background:0 0;border:none;border-radius:4px;flex-shrink:0;place-items:center;display:grid}.tree-row:hover .tree-menu-btn{opacity:1}.tree-menu-btn:hover{color:var(--text-hi);background:#ffffff14}.tree-rename-error{color:var(--error);margin:0 0 4px;font-size:10px}.tree-menu{z-index:20;background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel);min-width:128px;padding:4px;position:absolute;top:30px;right:4px;overflow:hidden}.tree-menu button{width:100%;color:var(--text-mid);font-size:var(--fs-xs);text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:7px 8px;display:flex}.tree-menu button:hover{color:var(--text-hi);background:#ffffff0f}.tree-menu-danger{color:var(--error)!important}.explorer__empty{color:var(--text-lo);font-size:var(--fs-xs);padding:12px;line-height:1.5}.code-editor{background:#0d1119;width:100%;height:100%;overflow:hidden}.editor-tabs{background:var(--bg-1);border-bottom:1px solid var(--border);flex-shrink:0;align-items:stretch;min-height:36px;display:flex;overflow-x:auto}.editor-tabs--empty{min-height:36px}.editor-tab{border-right:1px solid var(--border-soft);max-width:180px;transition:background .15s var(--ease);background:0 0;flex-shrink:0;align-items:center;display:flex}.editor-tab:hover{background:#ffffff08}.editor-tab--active{box-shadow:inset 0 -2px 0 var(--accent-1);background:#0d1119}.editor-tab__label{color:var(--text-mid);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;align-items:center;gap:6px;height:36px;padding:0 6px 0 12px;display:flex;overflow:hidden}.editor-tab--active .editor-tab__label{color:var(--text-hi)}.editor-tab__label span{text-overflow:ellipsis;overflow:hidden}.editor-tab__close{width:22px;height:22px;color:var(--text-lo);background:0 0;border:none;border-radius:5px;flex-shrink:0;place-items:center;margin-right:6px;display:grid}.editor-tab__close:hover{color:var(--text-hi);background:#ffffff14}.run-controls{background:var(--bg-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.run-controls__left{align-items:center;gap:8px;display:flex}.run-btn{background:var(--accent-grad);color:#080b11;border-radius:var(--radius-md);font-size:var(--fs-sm);box-shadow:0 8px 22px -10px var(--accent-glow);transition:filter .15s var(--ease), transform .15s var(--ease);border:none;align-items:center;gap:7px;padding:.55rem 1.1rem;font-weight:700;display:flex}.run-btn:hover:not(:disabled){filter:brightness(1.08)}.run-btn:active:not(:disabled){transform:translateY(1px)}.run-btn:disabled{opacity:.75;cursor:default}.run-btn--running{filter:saturate(.7)}.stop-btn,.format-btn{padding:.55rem .9rem}.lang-select{position:relative}.lang-select__trigger{border:1px solid var(--border);color:var(--text-hi);border-radius:var(--radius-md);font-size:var(--fs-sm);background:#ffffff0a;justify-content:space-between;align-items:center;gap:8px;min-width:128px;padding:.5rem .85rem;font-weight:500;display:flex}.lang-select__trigger:hover{border-color:#333c4d}.chev-open{transform:rotate(180deg)}.lang-select__menu{background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);z-index:30;min-width:150px;animation:menuIn .14s var(--ease) both;margin:0;padding:5px;list-style:none;position:absolute;bottom:calc(100% + 6px);right:0}@keyframes menuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.lang-select__menu button{text-align:left;width:100%;color:var(--text-mid);font-size:var(--fs-sm);background:0 0;border:none;border-radius:6px;padding:7px 9px}.lang-select__menu button:hover{color:var(--text-hi);background:#ffffff0f}.lang-select__menu button.active{color:var(--accent-1);font-weight:600}.io-panel{background:var(--bg-1);flex-direction:column;height:100%;min-height:0;display:flex}.io-panel__header{border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.io-panel__title{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-lo);align-items:center;gap:6px;font-weight:600;display:flex}.io-panel__clear{color:var(--text-lo);font-size:var(--fs-2xs);background:0 0;border:none;border-radius:5px;align-items:center;gap:4px;padding:3px 6px;display:flex}.io-panel__clear:hover{color:var(--text-hi);background:#ffffff0f}.io-panel__textarea{resize:vertical;min-height:60px;color:var(--text-hi);font-size:var(--fs-sm);background:0 0;border:none;flex:1;padding:12px 14px;line-height:1.6}.io-panel__textarea::placeholder{color:var(--text-lo)}.io-panel__textarea:focus{outline:none}.io-panel__body{font-size:var(--fs-sm);flex:1;padding:12px 14px;overflow-y:auto}.io-empty{color:var(--text-lo)}.io-status{font-size:var(--fs-2xs);border-radius:999px;padding:2px 8px;font-weight:600}.io-status--ok{color:var(--success);background:var(--success-dim)}.io-status--err{color:var(--error);background:var(--error-dim)}.io-status--running,.io-status--timeout{color:var(--warn);background:#f2b86224}.io-running{color:var(--text-mid);align-items:center;gap:8px;display:flex}.io-running__dot{fill:var(--warn);color:var(--warn);animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.io-result-line{align-items:center;gap:7px;margin-bottom:10px;font-weight:600;display:flex}.io-result-line--ok{color:var(--success)}.io-result-line--err{color:var(--error)}.io-result-line--timeout{color:var(--warn)}.io-output{white-space:pre-wrap;color:var(--text-hi);font-size:var(--fs-sm);margin:0}.io-output--err{color:var(--error);opacity:.92}.io-meta{color:var(--text-lo);font-size:var(--fs-xs);margin-top:12px}.insights{border-bottom:1px solid var(--border);background:var(--bg-1);flex-direction:column;flex-shrink:0;display:flex}.insights__header{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-lo);align-items:center;gap:6px;padding:12px 14px 10px;font-weight:600;display:flex}.insights__header svg{color:var(--accent-2)}.insights__empty{color:var(--text-lo);font-size:var(--fs-xs);padding:0 14px 16px}.insights__empty--active{color:var(--text-mid);align-items:center;gap:7px;display:flex}.insights__spin{animation:.9s linear infinite spin}.insights__body{padding:0 14px 14px}.insights__row{border-bottom:1px dashed var(--border-soft);font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.insights__row:last-of-type{border-bottom:none}.insights__label{color:var(--text-lo)}.insights__value{color:var(--text-hi);font-weight:500}.insights__status{align-items:center;gap:5px;display:flex}.insights__status.ok{color:var(--success)}.insights__status.err{color:var(--error)}.insights__status.warn{color:var(--warn)}.insights__note{border-radius:var(--radius-sm);background:#8b6ef214;border:1px solid #8b6ef229;gap:9px;margin-top:12px;padding:10px;display:flex}.insights__note svg{color:var(--accent-2);flex-shrink:0;margin-top:2px}.insights__note-title{font-size:var(--fs-2xs);color:var(--text-hi);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-weight:700}.insights__note-text{font-size:var(--fs-xs);color:var(--text-mid);line-height:1.5}.history{border-top:1px solid var(--border);background:var(--bg-1);flex-direction:column;min-height:0;display:flex}.history__header{flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:10px 14px 8px;display:flex}.history__header-title{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-lo);align-items:center;gap:6px;font-weight:600;display:flex}.history__clear{color:var(--text-lo);font-size:var(--fs-2xs);background:0 0;border:none;border-radius:5px;align-items:center;gap:4px;padding:3px 6px;display:flex}.history__clear:hover{color:var(--error);background:var(--error-dim)}.history__list{margin:0;padding:0 8px 10px;list-style:none;overflow-y:auto}.history__empty{color:var(--text-lo);font-size:var(--fs-xs);padding:6px}.history__row{font-size:var(--fs-xs);color:var(--text-mid);border-bottom:1px solid var(--border-soft);border-radius:7px;flex-direction:column;gap:3px;padding:7px 6px;display:flex}.history__row:last-child{border-bottom:none}.history__row:hover{background:#ffffff08}.history__row-top{align-items:center;gap:7px;display:flex}.history__row-bottom{align-items:center;gap:7px;padding-left:21px;display:flex}.history__icon--ok{color:var(--success);flex-shrink:0}.history__icon--err{color:var(--error);flex-shrink:0}.history__icon--timeout{color:var(--warn);flex-shrink:0}.history__lang{color:var(--text-hi);flex-shrink:0}.history__status-label{border-radius:999px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.history__status-label--ok{color:var(--success);background:var(--success-dim)}.history__status-label--err{color:var(--error);background:var(--error-dim)}.history__filename{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-lo);flex:1;overflow:hidden}.history__time{color:var(--text-lo);flex-shrink:0}.history__dur{color:var(--text-mid);flex-shrink:0}.history__dur--err{color:var(--error)}.confirm-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:overlayIn .15s var(--ease) both;background:#05070c99;place-items:center;display:grid;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{width:100%;max-width:360px;padding:var(--sp-6);margin:var(--sp-4)}.confirm-dialog__icon{background:var(--error-dim);width:36px;height:36px;color:var(--error);margin-bottom:var(--sp-4);border-radius:10px;place-items:center;display:grid}.confirm-dialog__title{font-size:var(--fs-md);color:var(--text-hi);margin-bottom:var(--sp-2)}.confirm-dialog__message{font-size:var(--fs-sm);color:var(--text-mid);margin-bottom:var(--sp-6);line-height:1.55}.confirm-dialog__actions{justify-content:flex-end;gap:var(--sp-3);display:flex}.confirm-dialog__delete{background:var(--error);color:#1a0508;font-weight:700}.confirm-dialog__delete:hover{filter:brightness(1.08)}.ide{background:var(--bg-0);flex-direction:column;height:100vh;display:flex;overflow:hidden}.ide__toolrail{background:var(--bg-1);border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:10px;height:32px;padding:0 10px;display:flex}.ide__rail-btn{width:24px;height:24px;color:var(--text-lo);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.ide__rail-btn:hover{color:var(--text-hi);background:#ffffff0f}.ide__rail-btn--active{color:var(--accent-1)}.ide__rail-path{font-size:var(--fs-2xs);color:var(--text-lo)}.ide__rail-btn--right{margin-left:auto}.save-indicator{font-size:var(--fs-2xs);color:var(--text-lo);background:#ffffff0a;border-radius:999px;padding:2px 8px;font-weight:600}.save-indicator--saved{color:var(--success)}.save-indicator--saving{color:var(--warn)}.save-indicator--unsaved{color:var(--text-lo)}.save-indicator--error{color:var(--error);font-weight:700}.ide__body{min-height:0;transition:grid-template-columns .2s var(--ease);flex:1;grid-template-columns:220px 1fr 280px;display:grid}.ide__body--left-collapsed{grid-template-columns:0 1fr 280px}.ide__body--right-collapsed{grid-template-columns:220px 1fr 0}.ide__body--left-collapsed.ide__body--right-collapsed{grid-template-columns:0 1fr 0}.ide__col{min-width:0;min-height:0;overflow:hidden}.ide__col--left{border-right:1px solid var(--border)}.ide__col--center{flex-direction:column;min-height:0;display:flex}.ide__col--right{border-left:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.ide__editor-wrap{flex:1;min-height:0}.ide__no-file{height:100%;color:var(--text-lo);font-size:var(--fs-sm);background:var(--bg-1);place-items:center;display:grid}.ide__io{border-top:1px solid var(--border);flex-shrink:0;height:220px;display:flex}.ide__io-input{border-right:1px solid var(--border-soft);width:34%;min-width:0}.ide__io-output{flex:1;min-width:0}@media (width<=860px){.ide__body{grid-template-columns:0 1fr 0}.ide__col--left,.ide__col--right{z-index:40;background:var(--bg-1);width:240px;position:fixed;top:80px;bottom:0;box-shadow:0 0 40px #00000080}.ide__col--left{left:0}.ide__col--right{width:260px;right:0}.ide__io{flex-direction:column;height:260px}.ide__io-input{border-right:none;border-bottom:1px solid var(--border-soft);width:100%;height:90px}}
