@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.p.088ba3ed.woff2)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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.c68a79fb.woff2)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:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_ddb8e62b-module__1eX5HG__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_ddb8e62b-module__1eX5HG__variable{--font-ui:"Instrument Sans","Instrument Sans Fallback"}
@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.12c18379.woff2)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:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/e62850744c7f266e-s.p.98408aef.woff2)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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/9433d1a810498265-s.p.8f3b692e.woff2)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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.cfe419c8.woff2)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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.p.1c29fe1a.woff2)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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.b72f0478.woff2)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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_5526b2b8-module__I3BYNG__className{font-family:Newsreader,Newsreader Fallback}.newsreader_5526b2b8-module__I3BYNG__variable{--font-display:"Newsreader","Newsreader Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.woff2)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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.764b43eb.woff2)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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.p.cb53f04b.woff2)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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.64b9304e.woff2)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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.6b5ea6af.woff2)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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1dcddae6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.8da66e7f.woff2)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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.p.e6cd1753.woff2)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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.19510058.woff2)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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.140490a3.woff2)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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.b36ae37c.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.bf5f8a12.woff2)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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.p.10086973.woff2)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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.2902b61f.woff2)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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_8ee883e0-module__wiD4Xq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_8ee883e0-module__wiD4Xq__variable{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}
:root{--canvas:#faf9f6;--canvas-2:#f0eee8;--panel:#fff;--panel-2:#faf9f6;--border:#e9e6de;--border-strong:#dbd7cc;--ink:#201e19;--ink-2:#55514a;--muted:#6f6b60;--faint:#b4b0a5;--accent:#262420;--accent-hover:#38352e;--accent-ink:#fff;--accent-soft:#efece5;--accent-soft-border:#e1ddd2;--green:#3f7a54;--green-soft:#e7f0ea;--amber:#8a6a1a;--amber-soft:#f5eed9;--amber-border:#e3d3a0;--red:#b1432f;--red-soft:#f8e9e5;--red-border:#ecccc4;--danger:var(--red);--chrome:#f4f2ec;--chrome-raised:#eae7df;--chrome-active:#e2ded3;--chrome-border:#e5e1d7;--chrome-ink:#26241f;--chrome-muted:#6f6b60;--chrome-accent:#26241f;--pv-bg:#101216;--pv-panel:#1b1e24;--pv-panel-2:#1f232a;--pv-raised:#262a32;--pv-border:#2b2f37;--pv-input:#14171c;--pv-ink:#e8e7e2;--pv-muted:#aab0ba;--pv-hover:#ffffff14;--pv-hover-soft:#ffffff0f;--shadow-sm:0 1px 2px #18140f0d;--shadow-md:0 2px 6px #18140f0d,0 8px 24px #18140f14;--shadow-lg:0 4px 12px #18140f0f,0 24px 64px #18140f29;--ring:0 0 0 3px color-mix(in srgb,var(--accent)18%,transparent);--scrim-bg:#14100c52;--radius-lg:14px;--radius:10px;--radius-sm:7px;--pill:999px;--sp-05:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--fs-3xs:10px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--z-menu:25;--z-scrim:30;--z-modal:41;--z-scrim-hi:45;--z-harness:46;--ff-ui:var(--font-ui),ui-sans-serif,system-ui,sans-serif;--ff-display:var(--font-display),Georgia,"Times New Roman",serif;--ff-mono:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}:root[data-theme=dark]{--canvas:#262523;--canvas-2:#302e2b;--panel:#2d2b28;--panel-2:#333029;--border:#3a382f;--border-strong:#48453d;--ink:#ecebe4;--ink-2:#c6c3b9;--muted:#99968b;--faint:#6a675e;--accent:#e9e7e0;--accent-hover:#f3f1eb;--accent-ink:#201e19;--accent-soft:#34322d;--accent-soft-border:#423f38;--green:#6cbf8e;--green-soft:#23302a;--amber:#d6b45e;--amber-soft:#332e1f;--amber-border:#4a4230;--red:#e0806c;--red-soft:#33241f;--red-border:#4a3a34;--chrome:#1e1d1b;--chrome-raised:#2a2825;--chrome-active:#35322d;--chrome-border:#322f2a;--chrome-ink:#ecebe4;--chrome-muted:#a09d92;--chrome-accent:#ecebe4;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 6px #00000052,0 8px 24px #0000006b;--shadow-lg:0 4px 12px #0000005c,0 24px 64px #0000008c;--ring:0 0 0 3px color-mix(in srgb,var(--accent)26%,transparent);--scrim-bg:#00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#262523;--canvas-2:#302e2b;--panel:#2d2b28;--panel-2:#333029;--border:#3a382f;--border-strong:#48453d;--ink:#ecebe4;--ink-2:#c6c3b9;--muted:#99968b;--faint:#6a675e;--accent:#e9e7e0;--accent-hover:#f3f1eb;--accent-ink:#201e19;--accent-soft:#34322d;--accent-soft-border:#423f38;--green:#6cbf8e;--green-soft:#23302a;--amber:#d6b45e;--amber-soft:#332e1f;--amber-border:#4a4230;--red:#e0806c;--red-soft:#33241f;--red-border:#4a3a34;--chrome:#1e1d1b;--chrome-raised:#2a2825;--chrome-active:#35322d;--chrome-border:#322f2a;--chrome-ink:#ecebe4;--chrome-muted:#a09d92;--chrome-accent:#ecebe4;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 6px #00000052,0 8px 24px #0000006b;--shadow-lg:0 4px 12px #0000005c,0 24px 64px #0000008c;--ring:0 0 0 3px color-mix(in srgb,var(--accent)26%,transparent);--scrim-bg:#00000080}}
*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--canvas);color:var(--ink);font-family:var(--ff-ui);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;line-height:1.5}button{cursor:pointer;color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:var(--ring);outline:none}.rail :focus-visible,.sidebar :focus-visible,.login-wrap :focus-visible{outline-color:var(--chrome-accent)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:.4;transform:translate(-50%,-47%)scale(.985)}}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes syncPulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}}.spin{animation:.9s linear infinite spin}.status-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.status-dot.running{background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green)16%,transparent)}.status-dot.starting,.status-dot.installing{background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber)16%,transparent);animation:1.1s ease-in-out infinite pulse}.status-dot.error{background:var(--red)}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--panel);color:var(--ink);font-weight:500;font-size:var(--fs-sm);align-items:center;gap:7px;padding:8px 14px;transition:background .14s,border-color .14s,transform 50ms;display:inline-flex}.btn:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--border-strong)85%,var(--ink))}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--red);border-color:var(--red-border);background:var(--red-soft)}.btn-danger:hover{background:color-mix(in srgb,var(--red-soft)92%,var(--red));border-color:color-mix(in srgb,var(--red-border)85%,var(--red))}.btn-danger-outline{color:var(--red);border-color:var(--red-border);background:0 0}.btn-danger-outline:hover{background:var(--red-soft);border-color:color-mix(in srgb,var(--red-border)85%,var(--red))}.btn-xs{font-size:var(--fs-xs);border-radius:var(--radius-sm);gap:5px;padding:4px 9px}.icon-btn{width:30px;height:30px;color:var(--ink-2);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .14s;display:inline-flex}.icon-btn:hover{background:var(--canvas-2)}.link-btn{color:var(--muted);font-size:var(--fs-sm);background:0 0;border:none;padding:4px 2px}.link-btn:hover{color:var(--ink)}.chip{font-size:var(--fs-3xs);border-radius:var(--pill);letter-spacing:.02em;white-space:nowrap;padding:2px 7px;font-weight:600}.chip-ok{background:var(--green-soft);color:var(--green)}.chip-muted{background:var(--canvas-2);color:var(--muted)}.chip-deploy{background:var(--accent-soft);color:var(--accent)}.section-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:16px 6px 8px;font-weight:600}.wordmark{letter-spacing:-.01em;font-weight:600;font-size:var(--fs-md);align-items:center;gap:9px;display:flex}.wordmark .glyph{background:var(--chrome-active);border:1px solid var(--chrome-border);border-radius:7px;width:22px;height:22px}.skeleton{background:var(--canvas-2);border-radius:var(--radius-sm);min-height:12px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--panel)65%,transparent),transparent);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-stack{flex-direction:column;gap:10px;padding:14px 8px;display:flex}.skeleton-line{width:100%;height:12px}.skeleton-line.w40{width:40%}.skeleton-line.w60{width:60%}.skeleton-line.w80{width:80%}.skeleton-stat{border-radius:var(--radius);width:150px;height:64px}.skeleton-row{gap:10px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.shell{background:radial-gradient(1200px 600px at 70% -10%,color-mix(in srgb,var(--panel)80%,transparent)0%,transparent 60%),var(--canvas);animation:.15s fade;display:flex;position:fixed;inset:0;overflow:hidden}.rail{background:var(--chrome);border-right:1px solid var(--chrome-border);z-index:10;flex-direction:column;flex:0 0 52px;align-items:center;gap:6px;padding:12px 0;display:flex}.rail-logo{width:36px;height:36px;color:var(--chrome-muted);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;margin-bottom:6px;transition:background .14s,color .14s;display:inline-flex}.rail-logo:hover{background:var(--chrome-raised);color:var(--chrome-ink)}.rail-btn{width:36px;height:36px;color:var(--chrome-muted);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .14s,color .14s;display:inline-flex}.rail-btn:hover{background:var(--chrome-raised);color:var(--chrome-ink)}.rail-btn.on{background:var(--chrome-active);color:var(--chrome-accent)}.rail-spacer{flex:1}.rail-sep{background:var(--chrome-border);width:22px;height:1px;margin:2px 0}.rail-exp{flex-direction:column;align-items:center;gap:6px;display:flex}.sidebar{background:var(--chrome);flex:none;width:0;transition:width .22s cubic-bezier(.2,.7,.3,1);overflow:hidden}.sidebar.open{border-right:1px solid var(--chrome-border);width:280px}.sidebar-inner{flex-direction:column;width:280px;height:100%;padding:14px;display:flex}.sidebar .section-label{color:var(--chrome-muted)}.p-list{flex-direction:column;flex:1;gap:6px;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.sidebar-empty{font-size:var(--fs-xs);color:var(--chrome-muted);margin:2px 7px;line-height:1.5}.p-card{border-radius:var(--radius);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 11px;transition:background .14s,border-color .14s;display:flex}.p-card:hover{background:var(--chrome-raised);border-color:var(--chrome-border)}.p-card.active{background:var(--chrome-active);border-color:var(--chrome-border)}.p-card .meta{flex:1;min-width:0}.p-card .title{font-weight:500;font-size:var(--fs-sm);color:var(--chrome-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p-card .sub{font-size:var(--fs-xs);color:var(--chrome-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drawer-foot{border-top:1px solid var(--chrome-border);color:var(--chrome-muted);font-size:var(--fs-xs);align-items:center;gap:8px;margin:10px -14px -14px;padding:12px 18px;display:flex}.settings-btn{border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--chrome-raised);font-size:var(--fs-xs);color:var(--chrome-muted);align-items:center;gap:6px;padding:6px 10px;font-weight:500;transition:background .14s,color .14s;display:inline-flex}.settings-btn:hover{background:var(--chrome-active);color:var(--chrome-ink)}.foot-status{font-size:var(--fs-xs);color:var(--chrome-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;max-width:130px;display:inline-flex;overflow:hidden}.content{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.topbar{background:var(--chrome);border-bottom:1px solid var(--chrome-border);flex:0 0 44px;align-items:center;gap:10px;padding:0 12px;display:flex}.topbar-title{font-weight:600;font-size:var(--fs-sm);color:var(--chrome-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-spacer{flex:1}.topbar .icon-btn{color:var(--chrome-muted)}.topbar .icon-btn:hover{background:var(--chrome-raised);color:var(--chrome-ink)}.vp-toggle{border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--chrome-raised);gap:2px;padding:2px;display:inline-flex}.vp-toggle button{font-size:var(--fs-xs);color:var(--chrome-muted);background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;padding:3px 9px;transition:background .12s,color .12s;display:inline-flex}.vp-toggle button:hover{background:var(--chrome-active);color:var(--chrome-ink)}.vp-toggle button.on{background:var(--panel);box-shadow:var(--shadow-sm);color:var(--chrome-ink)}.menu{display:inline-flex;position:relative}.menu-catch{z-index:calc(var(--z-menu) - 1);position:fixed;inset:0}.menu-pop{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-lg);z-index:var(--z-menu);flex-direction:column;gap:2px;padding:6px;animation:.14s cubic-bezier(.2,.7,.3,1) menuIn;display:flex;position:absolute;top:36px;right:0}.menu-item{border-radius:var(--radius-sm);width:100%;color:var(--ink);font-size:var(--fs-sm);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;transition:background .12s;display:flex}.menu-item:hover{background:var(--canvas)}.menu-item.danger{color:var(--red)}.menu-form{gap:8px;min-width:280px;padding:12px}.menu-form-title{font-size:var(--fs-sm);color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.menu-form-title>svg{color:var(--accent);flex:none}.menu-form-hint{font-size:var(--fs-2xs);color:var(--muted);margin:0;line-height:1.45}.menu-form-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--canvas);width:100%;color:var(--ink);font:inherit;font-size:var(--fs-sm);padding:7px 9px}.menu-form-err{font-size:var(--fs-2xs);color:var(--red);margin:0;line-height:1.45}.menu-form-actions{justify-content:flex-end;gap:6px;display:flex}.sync-dot{cursor:help;border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.sync-dot.synced{background:var(--green)}.sync-dot.behind{background:var(--amber)}.sync-dot.deploying{background:var(--amber);animation:1.2s ease-in-out infinite syncPulse}.home{flex-direction:column;flex:1;display:flex;overflow:auto}.home-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px 28px 64px;display:flex}.home-exp{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:2px;font-weight:600;animation:.3s cubic-bezier(.2,.7,.3,1) backwards riseIn;display:inline-flex}.home-exp>svg{color:var(--accent)}.home-title{font-family:var(--ff-display);font-size:var(--fs-3xl);letter-spacing:-.01em;margin:0;font-weight:500;animation:.3s cubic-bezier(.2,.7,.3,1) backwards riseIn}.home-sub{color:var(--ink-2);font-size:var(--fs-md);margin:0 0 26px;animation:.3s cubic-bezier(.2,.7,.3,1) 50ms backwards riseIn}.home-empty{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);max-width:460px;color:var(--muted);font-size:var(--fs-sm);margin:0 0 22px;padding:14px 16px;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.3,1) 50ms backwards riseIn}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;width:100%;max-width:760px;display:grid}.card{text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:16px 18px;transition:box-shadow .16s,border-color .16s,transform 80ms;animation:.3s cubic-bezier(.2,.7,.3,1) backwards riseIn;display:flex}.cards .card:first-child{animation-delay:50ms}.cards .card:nth-child(2){animation-delay:.1s}.cards .card:nth-child(3){animation-delay:.15s}.cards .card:nth-child(4){animation-delay:.2s}.cards .card:nth-child(5){animation-delay:.25s}.cards .card:nth-child(6){animation-delay:.3s}.cards .card:nth-child(7){animation-delay:.35s}.cards .card:nth-child(n+8){animation-delay:.4s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-1px)}.card .card-top{align-items:center;gap:9px;display:flex}.card .card-title{font-weight:600;font-size:var(--fs-md)}.card .card-sub{color:var(--muted);font-size:var(--fs-xs)}.card.add{color:var(--ink-2);border-style:dashed;border-color:var(--border-strong);background:0 0;flex-direction:row;justify-content:center;align-items:center;gap:7px;min-height:84px;font-weight:500}.card.add:hover{background:var(--panel-2)}.stage{background:var(--canvas);flex:1;justify-content:center;min-height:0;display:flex;position:relative}.stage .frame{background:var(--panel);width:100%;height:100%;transition:width .2s cubic-bezier(.2,.7,.3,1)}.stage .frame-slot{justify-content:center;display:flex;position:absolute;inset:0}.stage-host{flex:none;position:absolute;inset:44px 0 0}.stage.vp-tablet .frame{border-inline:1px solid var(--border-strong);width:768px}.stage.vp-mobile .frame{border-inline:1px solid var(--border-strong);width:390px}.stage iframe{background:0 0;border:none;width:100%;height:100%;display:block}.frame{position:relative}.preview-badge{z-index:3;border-radius:var(--pill);background:var(--amber);color:var(--accent-ink);font-size:var(--fs-3xs);letter-spacing:.04em;box-shadow:var(--shadow-md);pointer-events:none;align-items:center;gap:5px;padding:3px 10px;font-weight:600;display:inline-flex;position:absolute;top:10px;left:10px}.load-veil{z-index:2;background:color-mix(in srgb,var(--panel)94%,transparent);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .28s;display:flex;position:absolute;inset:0}.frame.is-loading .load-veil{opacity:1;pointer-events:auto;transition:opacity .2s .15s}.load-veil-spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite load-veil-spin}@keyframes load-veil-spin{to{transform:rotate(360deg)}}.load-veil-text{font-size:var(--fs-xs);letter-spacing:.01em;color:var(--muted);font-weight:500}@media (prefers-reduced-motion:reduce){.load-veil,.frame.is-loading .load-veil{transition:opacity .15s}.load-veil-spinner{animation:1.2s ease-in-out infinite load-veil-pulse}@keyframes load-veil-pulse{0%,to{opacity:.35}50%{opacity:1}}}.stage-empty{justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.ctx-view{background:var(--canvas);flex-direction:column;flex:1;min-height:0;display:flex}.ctx-head{background:var(--panel);border-bottom:1px solid var(--border);flex:0 0 44px;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex}.ctx-title{font-weight:600;font-size:var(--fs-sm);align-items:center;gap:8px;display:inline-flex}.ctx-title>svg{color:var(--accent)}.ctx-body{flex:1;grid-template-columns:300px 1fr;min-height:0;display:grid}.ctx-body .harness-view{background:var(--panel)}.start-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:460px;padding:30px 34px;display:flex}.start-card h2{font-family:var(--ff-display);font-size:var(--fs-xl);letter-spacing:-.01em;margin:0;font-weight:500}.start-card p{color:var(--ink-2);margin:0}.start-card .path{font-family:var(--ff-mono);font-size:var(--fs-2xs);color:var(--muted);background:var(--canvas-2);border-radius:var(--radius-sm);word-break:break-all;margin-top:4px;padding:6px 10px}.start-card .actions{margin-top:12px}.page-toast{z-index:var(--z-menu);border:1px solid var(--amber-border);border-radius:var(--radius);background:var(--amber-soft);max-width:460px;box-shadow:var(--shadow-lg);font-size:var(--fs-xs);color:var(--ink);align-items:flex-start;gap:8px;padding:10px 12px;line-height:1.45;animation:.16s cubic-bezier(.2,.7,.3,1) menuIn;display:flex;position:fixed;bottom:18px;right:18px}.page-toast>svg{color:var(--amber);flex:none;margin-top:2px}.page-toast-label{flex:1;min-width:0}
.builder{background:var(--panel);--chat-col:72ch;flex:none;width:0;transition:width .22s cubic-bezier(.2,.7,.3,1);position:relative;overflow:hidden}.builder.open{border-left:1px solid var(--border)}.builder.dragging{transition:none}.builder.dragging *{-webkit-user-select:none;user-select:none}.builder-resize{cursor:col-resize;z-index:6;touch-action:none;width:10px;position:absolute;top:0;bottom:0;left:0}body.builder-resizing iframe{pointer-events:none}body.builder-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.builder-resize:hover,.builder.dragging .builder-resize{background:linear-gradient(90deg,transparent 2px,var(--accent)2px,var(--accent)4px,transparent 4px);opacity:.55}.builder-inner{flex-direction:column;height:100%;display:flex}.builder-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 16px;display:flex}.builder-head-actions{gap:4px;margin-left:auto;display:inline-flex;position:relative}.builder-head-btn{font-size:var(--fs-2xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink-2);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.builder-head-btn:hover{border-color:var(--accent);color:var(--accent)}.conv-picker{position:relative}.conv-menu{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(380px,100vw - 48px);box-shadow:var(--shadow-md);z-index:20;position:absolute;top:26px;right:0;overflow:hidden}.conv-menu-list{max-height:280px;overflow-y:auto}.conv-menu-item{width:100%;font:inherit;font-size:var(--fs-xs);color:var(--ink);cursor:pointer;text-align:left;border:none;border-top:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.conv-menu-item:hover{background:var(--canvas)}.conv-menu-item.active{background:var(--accent-soft)}.conv-menu-item.conv-new{color:var(--accent);border-top:none;font-weight:600}.conv-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.conv-date{color:var(--muted);flex-shrink:0}.builder-mini-select{height:24px;font-size:var(--fs-2xs);border:1px solid var(--border);background:var(--canvas);color:var(--ink-2);border-radius:6px;max-width:92px;padding:2px 4px}.builder-mini-select.mode{max-width:none}.builder-title{font-weight:600;font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.builder-title>svg{color:var(--accent)}.builder-sub{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.builder-chat{flex-direction:column;flex:1;padding:14px;display:flex;overflow-y:auto}.chat-col{width:100%;max-width:var(--chat-col);flex-direction:column;gap:10px;margin-inline:auto;display:flex}.builder-note{font-size:var(--fs-sm);color:var(--ink-2);background:var(--canvas);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:10px 12px;line-height:1.5}.builder-note code{font-family:var(--ff-mono);font-size:var(--fs-2xs);background:var(--canvas-2);border-radius:4px;padding:1px 4px}.bubble{font-size:var(--fs-md);word-break:break-word;line-height:1.6}.bubble.user{border-radius:var(--radius);background:color-mix(in srgb,var(--accent)11%,var(--panel));border:1px solid color-mix(in srgb,var(--accent)42%,transparent);max-width:88%;box-shadow:var(--shadow-sm);color:var(--ink);white-space:pre-wrap;align-self:flex-end;padding:8px 12px;font-weight:500}.bubble.assistant{max-width:100%;color:var(--ink);align-self:stretch;padding:2px 2px 2px 0}.bubble.assistant.step{font-size:var(--fs-sm);color:var(--muted);border-left:2px solid var(--border-strong);padding:1px 2px 1px 10px}.bubble.assistant.step .md h1,.bubble.assistant.step .md h2{font-size:var(--fs-md)}.bubble.assistant.streaming .md>:last-child:after{content:"";vertical-align:text-bottom;background:var(--accent);border-radius:1px;width:2px;height:1em;margin-left:2px;animation:1s steps(2,start) infinite stream-blink;display:inline-block}@keyframes stream-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.bubble.assistant.streaming .md>:last-child:after{animation:none}}.builder-run-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.builder-spinner{align-items:center;gap:6px;font-weight:500;display:inline-flex}.builder-spinner>svg{color:var(--accent);flex:none}.builder-log{font-family:var(--ff-mono);font-size:var(--fs-3xs);color:var(--muted);flex-direction:column;gap:2px;margin-top:6px;display:flex}.builder-prep{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);max-width:100%;font-size:var(--fs-xs);color:var(--ink-2);align-self:flex-start;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.builder-prep-icon{color:var(--accent);flex:none;animation:1.7s ease-in-out infinite prep-pulse}.builder-prep-label{font-weight:500}@keyframes prep-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.builder-prep-icon{opacity:.85;animation:none}}.builder-chip{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);max-width:100%;font-size:var(--fs-xs);align-self:flex-start;padding:8px 10px}.builder-chip-main{font:inherit;color:inherit;cursor:pointer;text-align:left;overflow-wrap:anywhere;background:0 0;border:none;align-items:baseline;gap:6px;padding:0;display:inline-flex}.builder-elapsed{color:var(--muted);font-family:var(--ff-mono);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.builder-input{border-top:1px solid var(--border);padding:10px 12px}.builder-input>*{max-width:var(--chat-col);margin-inline:auto}.composer{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--panel);flex-direction:column;gap:6px;padding:8px 10px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.slash-menu{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:20;max-height:260px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow-y:auto}.slash-item{width:100%;font:inherit;font-size:var(--fs-xs);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:baseline;gap:10px;padding:7px 10px;display:flex}.slash-item+.slash-item{border-top:1px solid var(--border)}.slash-item.active{background:var(--accent-soft)}.slash-name{color:var(--accent);white-space:nowrap;font-weight:600}.slash-hint{color:var(--muted);font-weight:400}.slash-desc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.composer:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.composer.dragover{border-color:var(--accent);background:var(--accent-soft);border-style:dashed}.composer textarea{resize:none;font-family:inherit;font-size:var(--fs-md);color:var(--ink);background:0 0;border:none;outline:none;padding:2px;font-weight:700;line-height:1.5}.composer textarea::placeholder{color:var(--muted);font-weight:400}.composer textarea:focus-visible{box-shadow:none;border-color:#0000}.composer-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.composer-spacer{flex:1 1 0;min-width:0}.composer-chip{height:24px;font-size:var(--fs-2xs);border-radius:var(--pill);border:1px solid var(--border-strong);background:var(--canvas);color:var(--ink-2);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:0 9px;font-weight:500;display:inline-flex}.composer-chip.warn,.builder-mini-select.warn{background:var(--amber-soft);border-color:var(--amber-border);color:var(--amber)}.composer-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.composer-chip:disabled{opacity:.5;cursor:default}.ctx-ring{color:var(--muted);flex:none;align-items:center;display:inline-flex}.ctx-ring svg{display:block}.ctx-ring-track{stroke:var(--border-strong)}.ctx-ring-fill{stroke:var(--ink-2);transition:stroke-dashoffset .3s}.ctx-ring.warn .ctx-ring-fill{stroke:var(--amber)}@media (prefers-reduced-motion:reduce){.ctx-ring-fill{transition:none}}.select-row{flex-wrap:wrap;gap:6px;display:flex}.select-chip{border:1px solid var(--accent-soft-border);border-radius:var(--pill);background:var(--accent-soft);max-width:240px;font-size:var(--fs-2xs);align-items:center;gap:6px;padding:3px 6px 3px 3px;display:inline-flex}.select-chip-n{background:var(--accent);width:17px;height:17px;color:var(--accent-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.select-chip-label{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);overflow:hidden}.select-chip-val{color:var(--ink-2)}.composer-icon{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--canvas);width:24px;height:24px;color:var(--ink-2);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.composer-icon:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.composer-send{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .14s;display:inline-flex}.composer-send:hover:not(:disabled){background:var(--accent-hover)}.composer-send:disabled{opacity:.4;cursor:default}.attach-row{flex-wrap:wrap;gap:6px;display:flex}.attach-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--canvas);max-width:200px;font-size:var(--fs-2xs);align-items:center;gap:6px;padding:3px 6px;display:inline-flex}.attach-chip img{object-fit:cover;border-radius:5px;width:26px;height:26px}.attach-ext{background:var(--canvas-2);width:26px;height:26px;font-family:var(--ff-mono);text-transform:uppercase;color:var(--ink-2);border-radius:5px;justify-content:center;align-items:center;font-size:9px;display:inline-flex}.attach-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attach-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 2px;display:inline-flex}.attach-remove:hover{color:var(--danger)}.deliverables{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.deliverables-label{width:100%;font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.deliverable-card{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font-size:var(--fs-xs);align-items:center;gap:7px;max-width:220px;padding:6px 9px;text-decoration:none;display:inline-flex}.deliverable-card:hover{border-color:var(--accent)}.deliverable-ext{background:var(--accent-soft);width:24px;height:24px;font-family:var(--ff-mono);text-transform:uppercase;color:var(--accent);border-radius:5px;justify-content:center;align-items:center;font-size:9px;display:inline-flex}.deliverable-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deliverable-dl{color:var(--muted);display:inline-flex}.deploy-bar{border:1px solid color-mix(in srgb,var(--ink-2)25%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--ink-2)7%,var(--panel));font-size:var(--fs-xs);color:var(--ink-2);align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.deploy-bar.is-ok{border-color:color-mix(in srgb,var(--green)35%,transparent);background:color-mix(in srgb,var(--green)10%,var(--panel));color:var(--green)}.deploy-bar.is-failed{border-color:color-mix(in srgb,var(--red)35%,transparent);background:color-mix(in srgb,var(--red)10%,var(--panel));color:var(--red)}.deploy-bar-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.draft-bar{border:1px solid color-mix(in srgb,var(--amber)35%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--amber)10%,var(--panel));font-size:var(--fs-xs);color:var(--ink-2);align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.draft-bar-label{flex:1;min-width:0}.discovery-banner{z-index:2;border:1px solid color-mix(in srgb,var(--amber)35%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--amber)10%,var(--panel));font-size:var(--fs-xs);color:var(--ink-2);align-items:center;gap:8px;padding:8px 10px;display:flex;position:sticky;top:0}.discovery-label{flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex}.discovery-label>svg{color:var(--amber);flex:none}
.scrim{background:var(--scrim-bg);z-index:var(--z-scrim);animation:.16s fade;position:absolute;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,100vw - 32px);max-height:82vh;box-shadow:var(--shadow-lg);z-index:var(--z-modal);flex-direction:column;animation:.16s cubic-bezier(.2,.7,.3,1) pop;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-head .wordmark{font-size:var(--fs-md)}.wordmark .wordmark-icon{border-radius:var(--radius-sm);background:var(--chrome-active);border:1px solid var(--chrome-border);width:26px;height:26px;color:var(--ink-2);justify-content:center;align-items:center;display:inline-flex}.modal-head-actions{align-items:center;gap:10px;display:inline-flex}.theme-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--canvas);gap:2px;padding:2px;display:inline-flex}.theme-control button{width:28px;height:24px;color:var(--muted);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.theme-control button:hover{color:var(--ink)}.theme-control button.on{background:var(--panel);box-shadow:var(--shadow-sm);color:var(--ink)}.modal-body{padding:2px 18px 18px;overflow-y:auto}.modal-foot{justify-content:flex-end;margin-top:4px;padding-top:14px;display:flex}.harness{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(1000px,92vw);height:88vh;box-shadow:var(--shadow-lg);z-index:var(--z-harness);flex-direction:column;display:flex;position:fixed;top:5vh;left:50%;overflow:hidden;transform:translate(-50%)}.harness-head{border-bottom:1px solid var(--border);font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.harness-head-title{align-items:center;gap:7px;display:inline-flex}.harness-head-title>svg{color:var(--accent);flex:none}.harness-hint{color:var(--muted);font-size:var(--fs-xs)}.harness-body{flex:1;grid-template-columns:280px 1fr;min-height:0;display:grid}.harness-tree{border-right:1px solid var(--border);background:var(--canvas);padding:6px 0;overflow-y:auto}.harness-file{width:100%;font-family:var(--ff-mono);font-size:var(--fs-2xs);color:var(--ink-2);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;padding:4px 8px;display:block;overflow:hidden}.harness-file:hover{background:var(--panel)}.harness-file.active{background:var(--accent-soft);color:var(--accent)}.harness-dir{color:var(--ink-2);align-items:center;gap:4px;font-weight:600;display:flex}.harness-caret{width:12px;color:var(--faint);flex:none;align-items:center;display:inline-flex}.harness-row{align-items:center;gap:6px;padding-right:8px;display:flex}.harness-row:hover{background:var(--panel)}.harness-row.active{background:var(--accent-soft)}.harness-row.active .harness-open{color:var(--accent)}.harness-open{min-width:0;font-family:var(--ff-mono);font-size:var(--fs-2xs);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:5px;padding:4px 0;display:flex}.harness-glyph{opacity:.75;flex:none}.harness-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.harness-meta{color:var(--muted);font-size:var(--fs-3xs);font-family:var(--ff-mono);flex:none}.harness-dl{color:var(--muted);flex:none;text-decoration:none;display:inline-flex}.harness-dl:hover{color:var(--accent)}.zone-badge{font-size:var(--fs-3xs);letter-spacing:.02em;border-radius:var(--pill);border:1px solid var(--border);color:var(--muted);white-space:nowrap;flex:none;margin-left:auto;padding:1px 6px;font-weight:600}.zone-badge.zone-repo{color:var(--accent);border-color:var(--accent-soft-border);background:var(--accent-soft)}.zone-badge.zone-out{color:var(--green);border-color:color-mix(in srgb,var(--green)25%,transparent);background:var(--green-soft)}.zone-badge.zone-ctx{color:var(--muted);border-color:var(--border);background:var(--canvas-2)}.harness-view{flex-direction:column;padding:16px 20px;display:flex;overflow:auto}.harness-code{font-family:var(--ff-mono);font-size:var(--fs-xs);white-space:pre;margin:0;line-height:1.55}.harness-md{font-size:var(--fs-md)}.harness-img{max-width:100%}.harness-empty{color:var(--muted);font-size:var(--fs-sm);padding:20px}.harness-view-bar{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.harness-view-path{min-width:0;font-family:var(--ff-mono);font-size:var(--fs-2xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.harness-lock{color:var(--muted);cursor:help;display:inline-flex}.harness-edit{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.harness-edit textarea{resize:vertical;min-height:45vh;font-family:var(--ff-mono);font-size:var(--fs-xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink-2);flex:1;padding:10px;line-height:1.55}.harness-edit-actions{align-items:center;gap:8px;display:flex}.harness-edit-note{color:var(--muted);font-size:var(--fs-2xs);flex:1}.datax-tools{border-bottom:1px solid var(--border);padding:10px 16px}.datax-filter{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--canvas);width:100%;font-size:var(--fs-sm);color:var(--ink);padding:7px 10px}.datax-body{flex:1;padding:10px 16px 16px;overflow-y:auto}.datax-ds{margin-bottom:14px}.datax-ds-name{font-size:var(--fs-xs);color:var(--ink-2);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 0;font-weight:600}.datax-count{font-weight:400;font-size:var(--fs-3xs);color:var(--muted);margin-left:6px}.datax-table-row{align-items:center;gap:6px;display:flex}.datax-table-btn{cursor:pointer;min-width:0;font-family:var(--ff-mono);font-size:var(--fs-xs);color:var(--ink-2);text-align:left;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:5px;padding:4px;display:flex}.datax-table-btn:hover{background:var(--canvas)}.datax-table-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.datax-copy{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:2px 6px;display:inline-flex}.datax-copy:hover{color:var(--accent);background:var(--canvas)}.datax-cols{border-left:1px solid var(--border);margin:2px 0 8px 24px;padding-left:10px}.datax-col{font-family:var(--ff-mono);font-size:var(--fs-2xs);justify-content:space-between;gap:12px;padding:2px 0;display:flex}.datax-col-name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.datax-col-type{color:var(--muted);flex:none}.harness.harness-narrow{width:min(620px,92vw);height:auto;max-height:88vh;top:8vh}.routine{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.routine-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.routine-name{font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.routine-meta{font-size:var(--fs-2xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.routine-prompt{font-size:var(--fs-xs);color:var(--ink-2);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.routine-actions{flex:none;align-items:center;gap:4px;display:inline-flex}.routine-new{margin-top:12px}.routine-form{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--canvas);flex-direction:column;gap:12px;margin-top:12px;padding:12px;display:flex}.routine-field{flex-direction:column;gap:5px;display:flex}.routine-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.routine-field input,.routine-field textarea,.routine-sched select,.routine-sched input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-family:inherit;font-size:var(--fs-sm);padding:7px 9px}.routine-field textarea{resize:vertical;line-height:1.5}.routine-sched{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.routine-form-actions{justify-content:flex-end;gap:6px;display:flex}
.modal.settings-modal{width:min(1040px,100vw - 32px);height:min(700px,88vh);max-height:88vh}.settings-layout{flex:1;grid-template-columns:200px 1fr;min-height:0;display:grid}.settings-nav{border-right:1px solid var(--border);background:var(--canvas);flex-direction:column;gap:2px;padding:12px 10px;display:flex}.settings-nav-item{border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;font-weight:500;transition:background .12s,color .12s;display:flex}.settings-nav-item:hover{background:var(--canvas-2)}.settings-nav-item.on{background:var(--accent-soft);color:var(--accent)}.settings-nav-item.danger{color:var(--red)}.settings-nav-glyph{opacity:.85;flex:none;justify-content:center;width:16px;display:inline-flex}.settings-nav-spacer{flex:1}.settings-nav-me{font-size:var(--fs-2xs);color:var(--ink-2);white-space:nowrap;flex-direction:column;gap:1px;padding:4px 10px 6px;display:flex;overflow:hidden}.settings-nav-me>*{text-overflow:ellipsis;overflow:hidden}.settings-nav-me-ws{color:var(--muted);font-family:var(--ff-mono)}.settings-pane{min-width:0;padding:18px 22px 22px;overflow-y:auto}.pane-title{font-family:var(--ff-display);font-size:var(--fs-xl);letter-spacing:-.01em;color:var(--ink);margin:0 0 4px;font-weight:500}.pane-sub{font-size:var(--fs-sm);color:var(--muted);margin:0 0 16px}.onboard{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);flex-direction:column;gap:4px;margin-bottom:16px;padding:10px;display:flex}.onboard-item{border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;display:flex}.onboard-item:hover{background:var(--panel)}.onboard-mark{width:18px;height:18px;color:var(--amber);background:color-mix(in srgb,var(--amber)14%,transparent);border-radius:50%;flex:none;place-items:center;display:grid}.onboard-mark.ok{color:var(--green);background:color-mix(in srgb,var(--green)14%,transparent)}.onboard-name{font-weight:600}.onboard-detail{color:var(--muted)}.settings-github{justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 2px;display:flex}.gh-status{font-size:var(--fs-sm);color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.settings-empty{color:var(--muted);font-size:var(--fs-sm);margin:0;padding:2px 2px 6px}.repo-list{flex-direction:column;gap:8px;display:flex}.repo-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);padding:11px 12px}.repo-main{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.repo-info{flex:1;min-width:0}.repo-name{font-weight:500;font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.repo-full{font-size:var(--fs-2xs);color:var(--muted);font-family:var(--ff-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.repo-chips{flex:none;gap:6px;display:flex}.repo-actions{flex:none;align-items:center;gap:6px;display:flex}.repo-busy{color:var(--muted);font-size:var(--fs-lg);padding:0 10px;animation:1.1s ease-in-out infinite pulse}.repo-confirm{border-radius:var(--radius-sm);background:var(--red-soft);border:1px solid var(--red-border);font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;gap:9px;margin-top:10px;padding:10px 11px;display:flex}.repo-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.repo-error{font-size:var(--fs-xs);color:var(--red);margin-top:8px}.settings-warehouse{padding:2px 2px 4px}.wh-connected{justify-content:space-between;align-items:center;gap:12px;display:flex}.wh-form{flex-direction:column;gap:8px;display:flex}.wh-form input,.wh-form textarea,.wh-form select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--fs-sm);background:var(--panel);color:var(--ink);width:100%;padding:8px 10px}.wh-form textarea{font-family:var(--ff-mono);font-size:var(--fs-xs);resize:vertical;min-height:90px}.wh-form select:disabled{color:var(--ink-2);background:var(--canvas)}.wh-form-actions{justify-content:flex-end;gap:8px;display:flex}.wh-form-actions input,.wh-form-actions select{width:auto}.wh-ok{font-size:var(--fs-xs);color:var(--green);margin-top:8px}.gcloud-guide{font-size:var(--fs-xs);color:var(--ink-2);margin-top:6px}.gcloud-guide summary{cursor:pointer;color:var(--muted);font-size:var(--fs-xs);-webkit-user-select:none;user-select:none}.gcloud-guide[open] summary{margin-bottom:6px}.gcloud-steps{font-size:var(--fs-xs);color:var(--muted);margin:6px 0 4px;padding-left:20px}.gcloud-code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--canvas);font-family:var(--ff-mono);font-size:var(--fs-2xs);white-space:pre;-webkit-user-select:all;user-select:all;margin:0 0 8px;padding:8px 10px;line-height:1.5;overflow-x:auto}.gcloud-note{font-size:var(--fs-2xs);color:var(--muted);margin:0}.mcp-config{margin-top:10px}.mcp-label{font-size:var(--fs-xs);color:var(--ink-2);margin-bottom:4px;display:block}.mcp-textarea{width:100%;min-height:90px;font-family:var(--ff-mono);font-size:var(--fs-xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;background:var(--panel);color:var(--ink);padding:8px 10px}.mcp-hint{font-size:var(--fs-2xs);color:var(--muted);margin-top:4px}.member-row{border-bottom:1px solid var(--border);padding:8px 0}.member-row:last-of-type{border-bottom:none}.member-avatar{background:var(--canvas-2);width:22px;height:22px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.member-assign{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);flex-direction:column;gap:8px;margin-top:8px;padding:10px 11px;display:flex}.member-assign-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.member-assign-count{font-size:var(--fs-xs);color:var(--muted)}.member-assign-quick{gap:4px;display:inline-flex}.member-assign-quick .link-btn{font-size:var(--fs-xs)}.member-pages{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px;max-height:240px;display:grid;overflow-y:auto}.member-page{border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;min-width:0;padding:5px 7px;display:flex}.member-page:hover{background:var(--panel)}.member-page input{accent-color:var(--accent);cursor:pointer;flex:none}.member-page-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip-bi{background:var(--accent-soft);color:var(--ink-2)}.chip-ops{background:var(--amber-soft);color:var(--amber)}.usage-summary{flex-wrap:wrap;gap:10px;margin:10px 0 4px;display:flex}.usage-stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);flex-direction:column;gap:2px;min-width:130px;padding:10px 14px;display:flex}.usage-stat-label{font-size:var(--fs-2xs);color:var(--muted)}.usage-stat-value{font-family:var(--ff-mono);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:600}.usage-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.usage-table th,.usage-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.usage-table th{font-size:var(--fs-2xs);color:var(--muted);font-weight:600}.usage-table td:not(:first-child),.usage-table th:not(:first-child){text-align:right}.usage-table td:not(:first-child){font-family:var(--ff-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}
.login-wrap{background:radial-gradient(900px 520px at 18% -12%,color-mix(in srgb,var(--accent)9%,transparent),transparent 62%),radial-gradient(720px 460px at 108% 112%,color-mix(in srgb,var(--chrome-accent)6%,transparent),transparent 60%),var(--chrome);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.login-wrap:before{content:"";opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:absolute;inset:0}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:13px;width:100%;max-width:380px;padding:32px 32px 28px;animation:.24s cubic-bezier(.2,.7,.3,1) backwards riseIn;display:flex;position:relative}.login-title{font-family:var(--ff-display);font-size:var(--fs-2xl);letter-spacing:-.01em;margin:4px 0 2px;font-weight:500}.login-field{flex-direction:column;gap:5px;display:flex}.login-label{font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}.login-card input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--fs-md);background:var(--panel);color:var(--ink);width:100%;padding:10px 12px}.login-card input:disabled{color:var(--ink-2);background:var(--canvas)}.login-err{font-size:var(--fs-sm);color:var(--red);border:1px solid var(--red-border);border-radius:var(--radius-sm);background:var(--red-soft);padding:8px 10px}.login-msg{font-size:var(--fs-sm);color:var(--muted)}
.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:.55em 0}.md h1,.md h2,.md h3,.md h4{margin:.9em 0 .35em;font-weight:600;line-height:1.3}.md h1{font-size:var(--fs-lg)}.md h2{font-size:15px}.md h3,.md h4{font-size:var(--fs-md)}.md ul,.md ol{margin:.45em 0;padding-left:1.35em}.md li,.md li>p{margin:.18em 0}.md code{font-family:var(--ff-mono);font-size:var(--fs-xs);background:var(--canvas-2);border:1px solid var(--border);border-radius:4px;padding:1px 4px}.md pre{background:var(--canvas-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin:.6em 0;padding:10px 12px;overflow-x:auto}.md pre code{font-size:var(--fs-xs);white-space:pre;background:0 0;border:none;padding:0;line-height:1.55}.md table{border-collapse:collapse;font-size:var(--fs-sm);max-width:100%;margin:.6em 0;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border-strong);text-align:left;white-space:nowrap;padding:5px 9px}.md th{background:var(--canvas-2);font-weight:600}.md blockquote{border-left:3px solid var(--border-strong);color:var(--ink-2);margin:.6em 0;padding:2px 12px}.md hr{border:none;border-top:1px solid var(--border);margin:.9em 0}.md a{color:var(--accent)}.md strong{font-weight:600}
.content[data-theme=dark] .stage{background:var(--pv-bg)}.content[data-theme=dark] .stage .frame{background:var(--pv-bg);border-inline-color:var(--pv-border)}.content[data-theme=dark] .load-veil{background:color-mix(in srgb,var(--pv-bg)94%,transparent)}.content[data-theme=dark] .load-veil-spinner{border-color:var(--pv-border);border-top-color:var(--pv-ink)}.content[data-theme=dark] .load-veil-text{color:var(--pv-muted)}

