@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_19d3128f-module___m9SRW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_19d3128f-module___m9SRW__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2?dpl=dpl_AjTqLRdKLrMoT6qrvgjPrHrVE1qQ)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_7d293927-module__JAMDPq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_7d293927-module__JAMDPq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f8;--bg-2:#fff;--bg-3:#eceef3;--panel:#fff;--panel-2:#0f172a0a;--panel-3:#0f172a14;--border:#0f172a17;--border-strong:#0f172a2e;--text:#0f172a;--text-strong:#020617;--text-muted:#64748b;--text-soft:#334155;--accent:#2563eb;--accent-2:#1d4ed8;--accent-strong:#1d4ed8;--accent-soft:#2563eb1a;--accent-text:#1d4ed8;--ok:#059669;--warn:#d97706;--error:#e11d48;--error-text:#be123c;--error-bg:#e11d4814;--error-border:#e11d4847;--titlebar-bg:#ffffffdb;--overlay:#ffffffe6;--backdrop:#0f172a61;--shadow-menu:0 12px 40px #0f172a29;--shadow-modal:0 24px 80px #0f172a3d;--card-gradient:linear-gradient(135deg, #0f172a08, #0f172a01);--checker:#0f172a0f;--terminal-bg:#fbfbfd;--terminal-fg:#1f2937;--terminal-command:#1d4ed8;--terminal-vite:#7e22ce;--terminal-astro:#c2410c;--terminal-tag:#0e7490;--terminal-url:#0369a1;--terminal-ok:#15803d;--terminal-warn:#a16207;--terminal-error:#be123c;--art-bg:#14161c;--font-sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0b;--bg-2:#0d0d0f;--bg-3:#131316;--panel:#111113;--panel-2:#ffffff0a;--panel-3:#ffffff14;--border:#ffffff0f;--border-strong:#ffffff24;--text:#f9fafb;--text-strong:#fff;--text-muted:#9ca3af;--text-soft:#d1d5db;--accent:#3b82f6;--accent-2:#60a5fa;--accent-strong:#2563eb;--accent-soft:#3b82f626;--accent-text:#93c5fd;--ok:#34d399;--warn:#fbbf24;--error:#fb7185;--error-text:#fda4af;--error-bg:#fb718514;--error-border:#fb71854d;--titlebar-bg:#0a0a0bcc;--overlay:#0a0a0be0;--backdrop:#0009;--shadow-menu:0 16px 48px #0000008c;--shadow-modal:0 24px 80px #0000008c;--card-gradient:linear-gradient(135deg, #ffffff0a, #ffffff03);--checker:#ffffff0d;--terminal-bg:#09090b;--terminal-fg:#d4d4d8;--terminal-command:#93c5fd;--terminal-vite:#c084fc;--terminal-astro:#fb923c;--terminal-tag:#67e8f9;--terminal-url:#7dd3fc;--terminal-ok:#86efac;--terminal-warn:#facc15;--terminal-error:#fda4af;--art-bg:var(--bg-2)}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;min-height:100%;margin:0}button,a{font:inherit}button{color:inherit}.app-shell{background:var(--bg);grid-template-rows:46px minmax(0,1fr) 24px;height:100dvh;display:grid;overflow:hidden}.titlebar{z-index:45;border-bottom:1px solid var(--border);background:var(--titlebar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:minmax(44px,1fr) auto;align-items:center;gap:12px;min-width:0;padding:0 10px;display:grid;position:relative}.brand{cursor:pointer;width:max-content;min-width:32px;color:inherit;outline:none;align-items:center;gap:10px;padding-left:0;text-decoration:none;display:flex;position:relative}.brand:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:4px}.brand-mark{z-index:2;width:24px;height:24px;color:var(--text-strong);display:block;position:relative}.brand-copy{opacity:1;pointer-events:none;min-width:0;overflow:hidden}.brand-title{letter-spacing:.01em;white-space:nowrap;font-size:16px;font-weight:400;line-height:1}.brand-title-accent{color:var(--accent-2)}.command-strip{justify-content:flex-end;align-items:center;gap:2px;min-width:0;display:flex}.command-strip>.icon-button,.command-strip>.menu-wrap>.icon-button,.command-strip>.square-button{color:var(--text-soft);background:0 0;border-color:#0000}.command-strip>.icon-button:hover,.command-strip>.menu-wrap>.icon-button:hover,.command-strip>.menu-wrap>.icon-button[aria-expanded=true],.command-strip>.square-button:hover{background:var(--panel-3);color:var(--text-strong);border-color:#0000}.command-strip>.icon-button.outlined,.command-strip>.icon-button.outlined:hover{border-color:var(--border-strong)}.command-strip>.icon-button.active-accent,.command-strip>.icon-button.active-accent:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.command-strip>.icon-button.primary,.command-strip>.icon-button.primary:hover{color:#fff}.command-strip>.icon-button.primary{background:var(--accent-strong);margin-left:4px}.command-strip>.icon-button.primary:hover{background:var(--accent)}.strip-sep{background:var(--border-strong);flex:none;width:1px;height:18px;margin:0 6px}.starting-pill{color:var(--text-muted);cursor:default}.status-credit{color:var(--text-muted);gap:4px;text-decoration:none}.status-credit-name{color:var(--text-strong);font-weight:600}.status-credit-accent{color:var(--accent-text)}.status-credit:hover,.status-credit:focus-visible{text-underline-offset:3px;text-decoration:underline}.menu-wrap{position:relative}.menu{z-index:40;border:1px solid var(--border-strong);background:var(--panel);min-width:180px;box-shadow:var(--shadow-menu);border-radius:8px;gap:2px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.menu-right{left:auto;right:0}.menu-item{min-height:30px;color:var(--text-soft);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:0 10px;display:flex}.menu-item:hover{background:var(--panel-3);color:var(--text-strong)}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item:disabled:hover{color:var(--text-soft);background:0 0}.menu-item.danger:hover{background:var(--error-bg);color:var(--error-text)}.menu-separator{background:var(--border);height:1px;margin:3px 6px}.context-menu{z-index:48;min-width:200px;position:fixed}.theme-swatches{flex:none;gap:3px;display:inline-flex}.theme-dot{border:1px solid var(--border-strong);border-radius:999px;width:12px;height:12px}.square-button.active-accent{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}.inspect-line{background:#3b82f638}.icon-button,.square-button{border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.icon-button{white-space:nowrap;gap:7px;min-height:30px;padding:0 9px}.icon-button:hover,.square-button:hover{border-color:var(--border-strong);background:var(--panel-3)}.icon-button.primary{background:var(--accent-strong);color:#fff;border-color:#0000}.icon-button.primary:hover{background:var(--accent)}.icon-button:disabled,.square-button:disabled,.square-button.disabled{cursor:not-allowed;opacity:.45;pointer-events:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ide-frame{background:var(--bg);grid-template-columns:46px 252px minmax(420px,1fr) minmax(340px,38vw);min-width:0;min-height:0;display:grid}.activity-rail{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;align-items:center;gap:4px;min-height:0;padding:8px 0;display:flex}.activity-button{width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;place-items:center;display:grid}.activity-button:hover,.activity-button.active{color:var(--text-strong)}.activity-button.active{border-left-color:var(--accent)}.activity-button:disabled{cursor:not-allowed;opacity:.36}.resize-handle{cursor:col-resize;z-index:5;background:0 0;min-width:6px;min-height:0;position:relative}.resize-handle.horizontal{cursor:row-resize;min-width:0;min-height:6px}.resize-handle:before{content:"";background:#94a3b838;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-.5px)}.resize-handle.horizontal:before{width:100%;height:1px;top:50%;bottom:auto;left:0;transform:translateY(-.5px)}.resize-handle:hover:before,.resizing-panels .resize-handle:before,.resizing-terminal .resize-handle.horizontal:before{background:#60a5fabf}.resizing-panels,.resizing-panels *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.resizing-terminal,.resizing-terminal *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.resizing-panels iframe,.resizing-terminal iframe{pointer-events:none}.tree-panel,.preview-panel,.editor-column{min-width:0;min-height:0}.tree-panel{border-right:1px solid var(--border);background:var(--panel)}.panel-header,.preview-header,.editor-pathbar,.terminal-title{color:var(--text-muted);font-size:12px}.statusbar{color:var(--text-muted);font-size:11.5px}.panel-header{border-bottom:1px solid var(--border);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;height:36px;padding:0 12px;font-weight:600;display:flex}.project-label{height:31px;color:var(--text-soft);letter-spacing:0;text-transform:uppercase;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:flex}.project-switch{display:block}.project-switch-button{width:100%;color:var(--text);text-transform:none;cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:8px;font-size:12.5px}.project-switch-button:hover,.project-switch-button[aria-expanded=true]{background:var(--panel-2)}.project-switch-button:disabled{cursor:wait;opacity:.6}.project-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-menu{min-width:0;left:8px;right:8px}.menu-item.current{color:var(--text);font-weight:600}.menu-footnote{border-top:1px solid var(--border);color:var(--text-muted);margin-top:4px;padding:6px 10px 4px;font-size:11px;line-height:1.4}.menu-check{width:14px;color:var(--accent-text);place-items:center;display:inline-grid}.file-tree{height:calc(100vh - 137px);padding:4px 6px 10px;overflow:auto}.folder-row,.file-row{align-items:center;gap:7px;width:100%;min-height:28px;display:flex}.folder-row{color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;font-weight:500}.folder-row:hover{background:var(--panel-2)}.file-row{color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px}.file-row:hover{background:var(--panel-2)}.file-row.active{background:var(--accent-soft);color:var(--text-strong)}.folder-row svg,.file-row svg{flex:none}.folder-row .folder-icon{color:var(--accent-2)}.file-row .file-icon,.editor-tab .file-icon{color:var(--text-muted);flex:none}.file-row .file-icon.astro,.editor-tab .file-icon.astro{color:#ff5d01}.file-row .file-icon.image,.editor-tab .file-icon.image{color:#22d3ee}.file-row .file-icon.style,.editor-tab .file-icon.style{color:#f472b6}.file-row .file-icon.pages,.editor-tab .file-icon.pages{color:#c084fc}.file-row .file-icon.blog,.editor-tab .file-icon.blog{color:#60a5fa}.file-row .file-icon.components,.editor-tab .file-icon.components{color:#34d399}.file-row .file-icon.layouts,.editor-tab .file-icon.layouts{color:#fb923c}.file-row .file-icon.content,.editor-tab .file-icon.content{color:#fb7185}.file-row .file-icon.lib,.editor-tab .file-icon.lib{color:#38bdf8}.file-row .file-icon.data,.editor-tab .file-icon.data{color:#10b981}.folder-row span,.file-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.editor-column{background:var(--bg-2);grid-template-rows:35px 31px minmax(0,1fr) clamp(110px,22vh,178px);display:grid}.editor-tabs{border-bottom:1px solid var(--border);background:var(--bg);align-items:stretch;min-width:0;display:flex;overflow:auto hidden}.editor-tab{border:0;border-right:1px solid var(--border);background:var(--panel);min-width:128px;max-width:220px;height:35px;color:var(--text-soft);cursor:pointer;border-top:1px solid #0000;align-items:center;gap:7px;padding:0 8px 0 10px;display:inline-flex}.editor-tab.active{border-top-color:var(--accent);background:var(--bg-2);color:var(--text-strong)}.editor-tab span:not(.tab-close){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tab-close{width:18px;height:18px;color:var(--text-muted);border-radius:4px;flex:none;place-items:center;display:inline-grid}.tab-close:hover{background:var(--panel-3);color:var(--text-strong)}.editor-pathbar{border-bottom:1px solid var(--border);background:var(--bg-2);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:0 12px;display:flex}.editor-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);overflow:hidden}.save-pill{text-align:right;min-width:58px;color:var(--text-muted);flex:none}.save-pill.unsaved{color:var(--warn)}.save-pill.synced,.save-pill.saved{color:var(--ok)}.monaco-wrap,.editor-loading{min-width:0;min-height:0}.monaco-wrap.drop-active{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.editor-loading{color:var(--text-muted);background:var(--bg-2);place-items:center;display:grid}.terminal{border-top:1px solid var(--border);background:var(--terminal-bg);min-height:0;color:var(--terminal-fg);grid-template-rows:31px minmax(0,1fr);display:grid}.terminal-title{border-bottom:1px solid var(--border);background:var(--bg-2);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;display:flex}.terminal-title span{align-items:center;gap:7px;display:inline-flex}.terminal-output{white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;font:12px/1.5 var(--font-mono);margin:0;padding:10px 12px;overflow:auto}.terminal-line{color:var(--terminal-fg)}.terminal-line.command{color:var(--terminal-command)}.terminal-line.vite{color:var(--terminal-vite)}.terminal-line.astro{color:var(--terminal-astro)}.terminal-line.tag{color:var(--terminal-tag)}.terminal-line.url{color:var(--terminal-url)}.terminal-line.ok{color:var(--terminal-ok)}.terminal-line.warn{color:var(--terminal-warn)}.terminal-line.error{color:var(--terminal-error)}.preview-panel{border-left:1px solid var(--border);background:var(--bg);grid-template-rows:44px minmax(0,1fr);display:grid}.preview-header{border-bottom:1px solid var(--border);background:var(--bg-2);justify-content:space-between;align-items:center;gap:10px;padding:0 10px 0 12px;display:flex}.preview-header>div{align-items:center;gap:8px;min-width:0;display:inline-flex}.preview-title{color:var(--text);align-items:center;gap:7px;font-weight:600;display:inline-flex}.preview-meta{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-actions{flex:none}.square-button{width:29px;height:29px;color:var(--text-muted);background:0 0;border-color:#0000;text-decoration:none}.square-button:hover{background:var(--panel-3);color:var(--text-strong);border-color:#0000}.preview{background:#fff;border:0;width:100%;height:100%}.empty-preview{color:var(--text-muted);text-align:center;place-items:center;padding:24px;display:grid;overflow-y:auto}.preview-startup{width:100%;max-width:340px}.preview-startup>svg{color:var(--accent-2);margin-bottom:16px}.preview-startup>.preview-startup-error{color:var(--error)}.preview-startup h2{color:var(--text);margin:0 0 10px;font-size:17px;font-weight:600}.preview-startup p{margin:0;line-height:1.6}.preview-startup .preview-startup-hint{margin-top:16px;font-size:12px}.preview-startup-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.statusbar{border-top:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text-muted);align-items:center;gap:14px;padding:0 10px;display:flex;overflow:hidden}.status-item{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:inline-flex;overflow:hidden}.status-spacer{flex:auto}.modal-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border-strong);background:var(--panel);width:min(440px,100vw - 32px);box-shadow:var(--shadow-modal);border-radius:8px;gap:16px;padding:16px;display:grid}.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-header h2{color:var(--text);margin:0;font-size:16px;line-height:1.2}.modal-header p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.modal-field{color:var(--text-soft);gap:7px;font-size:12px;font-weight:600;display:grid}.modal-field input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:36px;color:var(--text);border-radius:5px;outline:none;padding:0 10px}.modal-field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f63d}.modal-error{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);border-radius:5px;padding:9px 10px;font-size:12px}.modal-actions{justify-content:flex-end}.download-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.download-step{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.download-step.active{color:var(--text)}.download-step.done{color:var(--text-soft)}.download-step.failed{color:var(--error-text)}.download-step-icon{border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.download-step.done .download-step-icon{border-color:var(--ok);color:var(--ok)}.download-step.active .download-step-icon{border-color:var(--accent);color:var(--accent)}.download-step.failed .download-step-icon{border-color:var(--error-border)}.download-log{border:1px solid var(--border);background:var(--bg);max-height:96px;color:var(--text-muted);white-space:pre-wrap;word-break:break-word;border-radius:5px;margin:0;padding:8px 10px;font-size:11px;line-height:1.5;overflow:hidden}.download-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.download-share{border:1px solid var(--border);background:var(--bg-2);border-radius:8px;gap:8px;padding:12px;display:grid}.download-share>span{color:var(--text-muted);font-size:12.5px}.download-share-buttons{flex-wrap:wrap;gap:6px;display:flex}.download-share-buttons .icon-button{font-size:12.5px;text-decoration:none}.dot{background:#6b7280;border-radius:999px;flex:none;width:8px;height:8px}.dot.busy{background:var(--warn)}.dot.ok{background:var(--ok)}.dot.error{background:var(--error)}.terminal-hidden .editor-column{grid-template-rows:35px 31px minmax(0,1fr)}.search-panel{grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:calc(100vh - 82px);min-height:0;padding:10px;display:grid}.search-box{border:1px solid var(--border-strong);background:var(--bg);min-width:0;min-height:36px;color:var(--text-muted);border-radius:5px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 9px;display:grid}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f638}.search-box input{min-width:0;color:var(--text);background:0 0;border:0;outline:0}.search-box input::placeholder{color:#6b7280}.search-box button,.terminal-toggle{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:inline-grid}.search-box button:hover,.terminal-toggle:hover{background:var(--accent-soft);color:var(--text-strong)}.search-summary{color:var(--text-muted);font-size:12px}.search-results{align-content:start;gap:5px;min-height:0;display:grid;overflow:auto}.search-result{min-width:0;color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;gap:4px;padding:8px;display:grid}.search-result:hover,.search-result.active{background:var(--accent-soft);color:var(--text-strong);border-color:#3b82f64d}.search-result-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent-2);font-size:12px;font-weight:600;overflow:hidden}.search-result-line{min-width:0;color:var(--text-muted);font:12px/1.35 var(--font-mono);grid-template-columns:28px minmax(0,1fr);gap:8px;display:grid}.search-result-line span{color:#6b7280;text-align:right}.search-empty{border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:5px;padding:14px}@media (max-width:1220px){.ide-frame{grid-template-columns:46px 232px minmax(0,1fr)}}@media (max-width:880px){.app-shell{grid-template-rows:auto minmax(0,1fr) 24px}.titlebar{grid-template-columns:minmax(0,1fr);padding:8px 10px}.command-strip{grid-column:1/-1;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.ide-frame{grid-template-rows:190px minmax(0,1fr);grid-template-columns:42px minmax(0,1fr)}.activity-rail{grid-row:1/3}.resize-handle{display:none}.tree-panel{border-right:0;border-bottom:1px solid var(--border)}.file-tree{height:123px}.editor-column{grid-column:2;grid-template-rows:35px 31px minmax(340px,1fr) clamp(100px,20vh,160px)}.terminal-hidden .editor-column{grid-template-rows:35px 31px minmax(340px,1fr)}.search-panel{height:123px}.statusbar{gap:9px}.status-item:nth-last-child(n+4){display:none}}.blocks-modal{grid-template-rows:auto auto 1fr;width:min(720px,100vw - 32px);max-height:min(640px,100vh - 48px)}.blocks-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.blocks-tabs{gap:6px;display:flex}.blocks-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:600}.blocks-tab:hover{color:var(--text)}.blocks-tab.active{background:var(--accent-soft);color:var(--accent-text);border-color:#3b82f633}.style-toggle{border:1px solid var(--border-strong);border-radius:5px;display:inline-flex;overflow:hidden}.style-toggle button{background:var(--bg);color:var(--text-muted);cursor:pointer;border:0;padding:5px 12px;font-size:12px;font-weight:600}.style-toggle button.active{background:var(--accent-strong);color:#fff}.blocks-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding-right:2px;display:grid;overflow-y:auto}.block-card{border:1px solid var(--border);background:var(--card-gradient);border-radius:8px;flex-direction:column;justify-content:space-between;gap:10px;padding:12px;display:flex}.block-card:hover{border-color:#3b82f64d}.block-card h3{color:var(--text);margin:0;font-size:13px;line-height:1.3}.block-card p{color:var(--text-muted);margin:6px 0 0;font-size:11.5px;line-height:1.45}.block-tags{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.block-tags span{border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:1px 8px;font-size:10px}.image-viewer{background:repeating-conic-gradient(var(--checker) 0% 25%, transparent 0% 50%) 0 0 / 24px 24px, var(--bg-2);align-content:center;place-items:center;gap:12px;height:100%;padding:24px;display:grid;overflow:auto}.image-viewer img{border:1px solid var(--border-strong);background:#fff;border-radius:5px;max-width:min(90%,720px);max-height:70vh}.image-viewer p{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);margin:0}.media-modal{grid-template-rows:auto auto 1fr;width:min(840px,100vw - 32px);height:min(620px,100vh - 48px)}.media-toolbar{align-items:center;gap:10px;display:flex}.media-search{flex:auto}.media-body{border:1px dashed #0000;border-radius:8px;min-height:0;position:relative;overflow-y:auto}.media-body.drag-active{border-color:var(--accent);background:var(--accent-soft)}.media-empty{height:100%;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:24px;display:grid}.media-empty p{max-width:320px;margin:0}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:2px;display:grid}.media-card{border:1px solid var(--border);background:var(--card-gradient);border-radius:8px;gap:6px;margin:0;padding:8px;display:grid;position:relative}.media-card:hover{border-color:#3b82f64d}.media-thumb{cursor:zoom-in;background:repeating-conic-gradient(var(--checker) 0% 25%, transparent 0% 50%) 0 0 / 16px 16px, var(--bg);border:0;border-radius:6px;width:100%;height:96px;padding:0;display:block;overflow:hidden}.media-thumb img{object-fit:contain;width:100%;height:100%}.media-card figcaption{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.media-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-soft);font-size:12px;overflow:hidden}.media-size{color:var(--text-muted);flex:none;font-size:11px}.media-actions{gap:4px;display:none;position:absolute;top:12px;right:12px}.media-card:hover .media-actions{display:inline-flex}.media-actions .square-button{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.media-actions .square-button.danger:hover{color:var(--error);border-color:#fb718566}.media-copied{background:var(--accent-strong);color:#fff;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:14px;left:14px}.media-progress{border:1px solid var(--border-strong);background:var(--overlay);color:var(--text);border-radius:4px;padding:6px 14px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.media-drop-hint{background:var(--backdrop);color:var(--accent-2);pointer-events:none;border-radius:8px;place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.media-lightbox{z-index:10;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:8px;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.media-lightbox-body{border:1px solid var(--border-strong);background:var(--panel);border-radius:8px;gap:12px;width:min(560px,100%);padding:14px;display:grid}.media-lightbox-body img{background:repeating-conic-gradient(var(--checker) 0% 25%, transparent 0% 50%) 0 0 / 16px 16px, var(--bg);border-radius:5px;justify-self:center;max-width:100%;max-height:320px}.media-lightbox-meta{gap:10px;display:grid}.media-lightbox-meta strong{color:var(--text);font-size:13px;display:block}.media-lightbox-meta span{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.media-lightbox-actions{flex-wrap:wrap;gap:6px;display:flex}.agent-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.agent-dot.connecting{background:var(--warn)}.agent-dot.connected{background:var(--ok)}.icon-button.agent-on{border-color:var(--border-strong);color:var(--text)}.agent-modal{width:min(560px,100vw - 32px);max-height:calc(100vh - 40px);overflow-y:auto}.agent-status{border:1px solid var(--border);background:var(--bg-2);color:var(--text-muted);border-radius:5px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex}.agent-status.connected{color:var(--ok);border-color:#34d39959}.agent-steps{color:var(--text-soft);flex-direction:column;gap:12px;min-width:0;margin:0;padding-left:18px;font-size:12.5px;line-height:1.55;display:flex}.agent-steps li{min-width:0}.agent-steps strong{color:var(--text)}.agent-step-note{color:var(--text-muted);margin-top:8px;display:block}.agent-step-note code{font-family:var(--font-mono);font-size:11.5px}.agent-command{border:1px solid var(--border);background:var(--bg-2);border-radius:6px;align-items:flex-start;gap:6px;min-width:0;margin-top:6px;padding:8px 10px;display:flex}.agent-command code{min-width:0;font-family:var(--font-mono);white-space:pre;color:var(--text-soft);flex:1;font-size:11.5px;line-height:1.5;overflow-x:auto}.agent-command-wrap code{white-space:pre-wrap;overflow-x:visible}.app-shell.book-mode{grid-template-rows:46px minmax(0,1fr) 24px;grid-template-columns:300px minmax(0,1fr)}.book-mode>.titlebar{grid-area:1/2;justify-content:space-between;padding:0 12px;display:flex}.book-mode>.ide-frame{grid-area:2/2}.book-mode>.statusbar{grid-area:3/2}.book-mode .command-strip{padding:0;overflow:visible}.book-workspace-title{color:var(--text);white-space:nowrap;font-weight:600}.book-workspace-title span{color:var(--text-muted);margin-left:8px;font-size:12px;font-weight:400}.book-panel{border-right:1px solid var(--border-strong);background:var(--bg-3);flex-direction:column;grid-area:1/1/-1;min-height:0;padding:20px;display:flex;overflow-y:auto}.book-takeaway{letter-spacing:-.02em;margin:20px 0 4px;font-size:23px;font-weight:600;line-height:1.25}.book-feedback{flex-wrap:wrap;align-items:center;gap:8px 24px;margin:8px 0;display:flex}.book-preview-links{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.book-preview-links button{color:var(--text-soft);background:var(--panel);border:1px solid var(--border-strong);cursor:pointer;border-radius:5px;padding:4px 9px}.book-preview-links button:hover{background:var(--panel-3)}.book-preview-links button[aria-current=page]{color:var(--accent-2);border-color:var(--accent);background:var(--accent-soft)}.book-preview-links button:disabled{opacity:.5;cursor:wait}.book-preview-links button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.book-workspace>.preview-panel{border-left:0;grid-area:1/1/auto/-1}.book-workspace>.preview-resize-handle{grid-area:2/1/auto/-1;display:block}.book-workspace>.activity-rail{grid-column:1;grid-row:var(--book-code-row)}.book-workspace>.tree-panel{grid-column:2;grid-row:var(--book-code-row);overflow:auto}.book-workspace>.tree-resize-handle{grid-column:3;grid-row:var(--book-code-row);display:block}.book-workspace>.editor-column{grid-column:-2/-1;grid-row:var(--book-code-row)}.book-workspace .file-tree,.book-workspace .search-panel{height:auto}.book-workspace .editor-column:has(.terminal){grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)}.book-workspace .editor-tabs{grid-area:1/1}.book-workspace .editor-pathbar{grid-area:2/1}.book-workspace .monaco-wrap{grid-area:3/1}.book-workspace .editor-column>.resize-handle{display:none}.book-workspace .terminal{border-left:1px solid var(--border-strong);grid-area:1/2/-1}.book-workspace.code-collapsed>.activity-rail{flex-direction:row;grid-column:1/-1;padding:0 8px}.book-workspace .preview-resize-handle:focus-visible{outline:2px solid var(--accent-2);outline-offset:-2px}.book-panel a,.book-contents a{color:var(--accent-2)}.book-panel-heading{flex-direction:column;align-items:flex-start;gap:16px;font-size:13px;display:flex}.book-panel-heading strong{color:var(--text-muted);font-weight:400}.book-exercise h2{margin:22px 0 6px;font-size:13px;font-weight:600}.book-exercise p{color:var(--text-soft);margin:0 0 12px;font-size:13px;line-height:1.6}.book-exercise-actions{margin:18px 0 8px}.book-adjacent{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;font-size:12px;display:flex}.book-adjacent a:only-child{margin-left:auto}.book-exercise-actions,.book-file-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.book-panel button{cursor:pointer;border:1px solid var(--border-strong);background:var(--panel);white-space:nowrap;border-radius:5px;padding:7px 10px}.book-panel button:hover{background:var(--panel-3)}.book-panel button:disabled{opacity:.5;cursor:wait}.book-exercise-actions button{align-items:center;gap:6px;display:inline-flex}.book-runtime-status{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;font-size:12px;display:flex}.book-runtime-status.busy{color:var(--accent-2)}.book-runtime-status.error{color:var(--error)}.book-runtime-status.ok{color:var(--ok)}.book-runtime-status button{color:var(--text-muted);padding:3px 6px;font-size:11px}.book-panel :is(a,button,summary,textarea):focus-visible,.book-contents a:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}.book-details{color:var(--text-muted);margin-top:5px;font-size:12px}.book-details summary{cursor:pointer}.book-file-links{margin-top:10px}.book-file-links button{white-space:normal;overflow-wrap:anywhere;text-align:left}.book-prompt{border-top:1px solid var(--border-strong);margin-top:12px;padding-top:8px}.book-prompt textarea{resize:vertical;background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border-strong);font:inherit;border-radius:5px;margin-bottom:8px;padding:12px;line-height:1.5}.book-contents{max-width:920px;margin:0 auto;padding:56px 28px}.book-contents h1{letter-spacing:-.04em;margin:40px 0 20px;font-size:clamp(36px,7vw,68px);line-height:1.06}.book-contents p{max-width:66ch;line-height:1.65}.book-intro{font-size:22px}.book-muted{color:var(--text-muted)}.book-lesson-list{border-top:1px solid var(--border-strong);margin:32px 0}.book-lesson-list>a{border-bottom:1px solid var(--border-strong);grid-template-columns:48px 1fr auto;align-items:center;gap:18px;padding:22px 0;text-decoration:none;display:grid}.book-lesson-list>a:hover{background:var(--panel)}.book-lesson-list strong{color:var(--text);margin-bottom:5px;font-size:20px;display:block}.book-lesson-list strong+span{color:var(--text-muted);line-height:1.5;display:block}.book-spread-number{color:var(--text-muted);font-size:26px}@media (max-width:1000px){.book-workspace-title span{display:none}}@media (max-width:800px){.app-shell.book-mode{grid-template-rows:auto 46px minmax(480px,1fr) 24px;grid-template-columns:minmax(0,1fr);overflow:auto}.book-panel{border-right:0;border-bottom:1px solid var(--border-strong);grid-area:1/1;max-height:35dvh;padding:16px}.book-mode>.titlebar{grid-area:2/1;gap:8px;padding:0 8px}.book-mode>.ide-frame{grid-area:3/1}.book-mode>.statusbar{grid-area:4/1}.book-workspace-title{display:none}.book-mode .command-strip{justify-content:space-between;width:100%}.book-lesson-list>a{grid-template-columns:36px 1fr;gap:12px}.book-open-label{grid-column:2}.book-workspace .editor-column:has(.terminal){grid-template-columns:minmax(0,1fr)}.book-workspace .editor-column:has(.terminal) .monaco-wrap{display:none}.book-workspace .terminal{grid-area:3/1}}.icon-button.active-accent{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.theme-toggle{flex:none}.chat-panel{border-left:1px solid var(--border);background:var(--panel);grid-template-rows:44px auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.chat-header{border-bottom:1px solid var(--border);background:var(--bg-2);color:var(--text-muted);align-items:center;gap:8px;padding:0 8px 0 12px;font-size:12px;display:flex}.chat-title{color:var(--text);align-items:center;gap:7px;font-weight:600;display:inline-flex}.chat-model{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);border-radius:4px;min-width:0;padding:2px 8px;font-size:11px;overflow:hidden}.chat-header-actions{gap:4px;margin-left:auto;display:inline-flex}.chat-header-actions .square-button{position:relative}.chat-bridge-dot{border:1px solid var(--panel);width:7px;height:7px;position:absolute;top:-2px;right:-2px}.chat-settings{border-bottom:1px solid var(--border);background:var(--bg-2);gap:10px;padding:12px;display:grid}.chat-settings .modal-field span{align-items:center;gap:6px;display:inline-flex}.chat-settings select{border:1px solid var(--border);background:var(--bg);width:100%;min-height:36px;color:var(--text);font:inherit;border-radius:5px;padding:0 10px;font-size:13px}.chat-key-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.chat-key-row input{font-family:var(--font-mono);font-size:12px}.chat-fine{color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.5}.chat-fine a{color:var(--accent-text)}.chat-settings-actions{justify-content:flex-end;gap:6px;display:flex}.chat-scroll{align-content:start;gap:8px;min-height:0;padding:12px;display:grid;overflow-y:auto}.chat-empty{color:var(--text-soft);gap:12px;font-size:13px;line-height:1.55;display:grid}.chat-empty p{margin:0}.chat-starters{gap:6px;display:grid}.chat-starter{border:1px solid var(--border);background:var(--panel-2);color:var(--text);text-align:left;cursor:pointer;border-radius:8px;padding:9px 11px;font-size:12.5px;line-height:1.4}.chat-starter:hover{border-color:var(--accent);background:var(--accent-soft)}.chat-starter:disabled{opacity:.5;cursor:not-allowed}.chat-bubble{overflow-wrap:anywhere;border-radius:8px;max-width:100%;padding:9px 12px;font-size:13px;line-height:1.55}.chat-bubble.user{background:var(--accent-strong);color:#fff;white-space:pre-wrap;border-bottom-right-radius:2px;justify-self:end;max-width:88%}.chat-bubble.assistant{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:2px;justify-self:start}.chat-bubble.assistant p{margin:0 0 8px}.chat-bubble.assistant p:last-child,.chat-bubble.assistant ul:last-child{margin-bottom:0}.chat-bubble.assistant ul{margin:0 0 8px;padding-left:18px}.chat-bubble.assistant code{background:var(--panel-3);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:11.5px}.chat-step{color:var(--text-muted);border-radius:5px;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:4px 8px 4px 4px;font-size:12px;display:grid}.chat-step.running{color:var(--text)}.chat-step.failed{color:var(--error-text);background:var(--error-bg)}.chat-step-icon{background:var(--panel-3);border-radius:5px;place-items:center;width:18px;height:18px;display:grid}.chat-step-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);font-size:11.5px;overflow:hidden}.chat-step-state{color:var(--ok);place-items:center;display:grid}.chat-step.failed .chat-step-state{color:var(--error)}.chat-step.running .chat-step-state{color:var(--text-muted)}.chat-thinking,.chat-notice{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.chat-notice{border:1px dashed var(--border-strong);border-radius:5px;padding:6px 8px}.chat-error{font-size:12px}.chat-composer{border-top:1px solid var(--border);background:var(--bg-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px 12px 12px;display:grid}.chat-composer textarea{resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:44px;max-height:160px;color:var(--text);font:inherit;border-radius:8px;outline:none;padding:9px 11px;font-size:13px;line-height:1.45}.chat-composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.chat-composer textarea:disabled{opacity:.6}.chat-composer .icon-button{min-height:36px}@media (max-width:880px){.chat-panel{z-index:46;border-left:0;border-top:1px solid var(--border-strong);height:min(70dvh,560px);box-shadow:var(--shadow-modal);position:fixed;inset:auto 0 24px}}.download-modal{width:min(680px,100vw - 32px);max-height:calc(100vh - 40px);overflow-y:auto}.download-hint code{background:var(--panel-3);color:var(--text);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:11px}.publish-summary{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.publish-summary>div{background:var(--bg-2);gap:2px;padding:10px 12px;display:grid}.publish-summary strong{color:var(--text);letter-spacing:-.01em;font-size:18px;font-weight:700}.publish-summary span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.publish-hosts{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.publish-host{border:1px solid var(--border);background:var(--card-gradient);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;padding:10px 11px;display:grid}.publish-host:first-child{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.publish-host-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.publish-host-head strong{color:var(--text);font-size:13px}.publish-host-head span{color:var(--accent-text);white-space:nowrap;font-size:10.5px;font-weight:600}.publish-host p{color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.45}.publish-host .icon-button{justify-self:start;min-height:26px;padding:0 8px;font-size:11.5px;text-decoration:none}.agent-modal{width:min(620px,100vw - 32px)}.agent-tabs{flex-wrap:wrap;gap:4px;display:flex}.agent-tabs .blocks-tab{align-items:center;gap:6px;display:inline-flex}.agent-pane{gap:12px;display:grid}.agent-lead{color:var(--text-soft);margin:0;font-size:13px;line-height:1.6}.agent-lead strong{color:var(--text)}.agent-lead code,.agent-pane .agent-step-note code{background:var(--panel-3);color:var(--text);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:11px}.agent-bullets{color:var(--text-muted);margin:0;padding-left:18px;font-size:12.5px;line-height:1.55}.agent-pane-actions{justify-content:flex-start}.agent-status .agent-status-text{flex:auto}.agent-status .icon-button{min-height:26px;padding:0 8px;font-size:11.5px}.agent-dot.off{background:var(--text-muted);opacity:.6}.scorecard-chip{border:1px solid var(--border-strong);background:var(--accent-soft);height:24px;color:var(--accent-text);letter-spacing:.01em;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.scorecard-chip:hover{border-color:var(--accent)}.modal.scorecard{width:min(560px,100vw - 32px)}.scorecard .modal-header h2{align-items:center;gap:8px;display:inline-flex}.scorecard-note{color:var(--text-muted);margin:0;font-size:13px;line-height:1.55}.scorecard-share{gap:8px;display:grid}.scorecard-share label{color:var(--text-soft);font-size:12px}.scorecard-link{gap:8px;display:flex}.scorecard-link input{border:1px solid var(--border-strong);background:var(--bg-2);min-width:0;color:var(--text);font-family:var(--font-geist-mono), ui-monospace, monospace;border-radius:6px;flex:1;padding:7px 10px;font-size:12px}.scorecard-fine{color:var(--text-muted);margin:0;font-size:11px}.preview-mode{border:1px solid var(--border-strong);background:var(--panel-2);border-radius:999px;margin-left:10px;padding:2px;display:inline-flex}.preview-mode button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.preview-mode button.active{background:var(--accent);color:#fff}.preview-width{border:1px solid var(--border-strong);background:var(--panel);height:24px;color:var(--text);font:inherit;border-radius:6px;padding:0 6px;font-size:11px}.preview-frame{display:contents}.preview-frame.canvas{background-color:var(--bg-3);background-image:radial-gradient(var(--checker) 1px, transparent 1px);background-size:16px 16px;place-items:stretch center;min-height:0;display:grid;overflow:auto}.preview-frame.canvas .preview{width:var(--canvas-width,100%);max-width:100%;min-height:100%;box-shadow:var(--shadow-menu)}.components-panel{gap:10px;min-height:0;padding:10px;display:grid;overflow:auto}.components-hint{color:var(--text-muted);margin:0;font-size:11px;line-height:1.5}.components-hint code{font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:10.5px}.components-list{gap:4px;display:grid}.component-row{border-radius:6px;align-items:center;gap:4px;padding:2px 6px 2px 0;display:flex}.component-row:hover,.component-row:focus-within,.component-row.selected{background:var(--panel-2)}.component-row.previewing .component-name{color:var(--accent-text)}.component-main{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;padding:6px 8px;display:grid}.component-main>svg{color:var(--text-muted);grid-row:1/3}.component-name{font-size:12.5px;font-weight:600}.component-path{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.component-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.component-row:hover .component-actions,.component-row:focus-within .component-actions{opacity:1}.components-empty{color:var(--text-muted);margin:0;font-size:12px}
