*{box-sizing:border-box}[hidden]{display:none!important}::selection{background:rgba(var(--acc-rgb), .45);color:var(--text)}:root{--bg-base:#f8f8f8;--bg:#f8f8f8;--bg-app:#f8f8f8;--bg-surface:#fff;--bg-elev:#fff;--bg-card:#fff;--bg-soft:#00000005;--bg-rail:#f0f0f0;--bg-input:#fff;--bg-hover:#e8e8e8;--bg-card-hover:#f5f5f5;--bg-code:#f5f5f5;--line:#ddd;--line-soft:#e8e8e8;--line-strong:silver;--bd:#ddd;--bd-input:#cecece;--bd-strong:silver;--border:#ddd;--text:#3b3b3b;--fg:#3b3b3b;--text-soft:#3b3b3b;--text-mute:#616161;--fg-2:#616161;--muted:#616161;--text-dim:#6a6a6a;--fg-3:#6a6a6a;--text-faint:#6a6a6a;--acc-rgb:107, 63, 232;--acc:#6b3fe8;--accent:#6b3fe8;--brand:#6b3fe8;--brand-2:#5a31d6;--acc-hover:#5a31d6;--acc-press:#4f27c4;--acc-fg:#fff;--acc-text:#5a31d6;--acc-soft:#6b3fe81a;--acc-tint:#6b3fe80d;--acc-bd:#6b3fe873;--brand-soft:#6b3fe81a;--brand-bd:#6b3fe857;--line-violet:#6b3fe873;--violet-1:#6b3fe8;--violet-2:#6b3fe8;--violet-3:#5a31d6;--violet-4:#5a31d6;--ov:90, 90, 90;--shadow-rgb:0, 0, 0;--ok:#25761f;--ok-soft:#25761f1a;--ok-bd:#25761f52;--warn:#7a5a00;--warn-soft:#bf88031f;--warn-bd:#bf880357;--bad:#c11b1b;--danger:#c11b1b;--bad-soft:#c11b1b1a;--bad-bd:#c11b1b57;--info:#125eb8;--info-soft:#125eb81a;--info-bd:#125eb852;--c-home:#125eb8;--c-home-bg:#125eb81a;--c-home-bd:#125eb84d;--c-advanced:#6b3fe8;--c-advanced-bg:#6b3fe81a;--c-advanced-bd:#6b3fe84d;--c-download:#25761f;--c-download-bg:#25761f1a;--c-download-bd:#25761f4d;--c-flash:#7a5a00;--c-flash-bg:#bf88031f;--c-flash-bd:#bf88034d;--c-blue:#125eb8;--c-blue-bg:#125eb81a;--c-blue-bd:#125eb84d;--s-key:#00f;--s-ctrl:#af00db;--s-str:#a31515;--s-num:#098658;--s-cmt:green;--s-fn:#795e26;--s-type:#267f99;--s-var:#001080;--s-line:#6e7681;--s-line-active:#0b216f;--shadow-1:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-2:0 8px 24px #0000001f;--glass-bg:#fff;--glass-blur:none;--glass-glow:rgba(var(--acc-rgb), .1);--shadow-lift:0 18px 44px rgba(var(--acc-rgb), .16), 0 2px 8px #0000000f;--shadow-glow:0 2px 8px #6b3fe833;--shadow-glow-strong:0 4px 14px #6b3fe847;--scroll:#64646466;--logo-filter:invert(1);--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:12px;--r-xl:14px;--r-2xl:18px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:20px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--header-h:56px;--rail-w:236px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-base:#181818;--bg:#181818;--bg-app:#181818;--bg-surface:#1f1f1f;--bg-elev:#252526;--bg-card:#1f1f1f;--bg-soft:#ffffff06;--bg-rail:#141414;--bg-input:#313131;--bg-hover:#2a2d2e;--bg-card-hover:#252526;--bg-code:#181818;--line:#333;--line-soft:#2b2b2b;--line-strong:#454545;--bd:#333;--bd-input:#3c3c3c;--bd-strong:#454545;--border:#333;--text:#ccc;--fg:#ccc;--text-soft:#ccc;--text-mute:#9d9d9d;--fg-2:#9d9d9d;--muted:#9d9d9d;--text-dim:#8c8c8c;--fg-3:#8c8c8c;--text-faint:#8c8c8c;--acc-rgb:122, 80, 255;--acc:#7a50ff;--accent:#7a50ff;--brand:#7a50ff;--brand-2:#8b66ff;--acc-hover:#8b66ff;--acc-press:#6a3ff0;--acc-fg:#fff;--acc-text:#a98bff;--acc-soft:#7a50ff29;--acc-tint:#7a50ff14;--acc-bd:#7a50ff8c;--brand-soft:#7a50ff29;--brand-bd:#7a50ff66;--line-violet:#7a50ff8c;--violet-1:#a98bff;--violet-2:#a98bff;--violet-3:#8b66ff;--violet-4:#8b66ff;--ov:255, 255, 255;--shadow-rgb:0, 0, 0;--ok:#4ec96e;--ok-soft:#4ec96e24;--ok-bd:#4ec96e52;--warn:#cca700;--warn-soft:#cca70029;--warn-bd:#cca70057;--bad:#ff6b6b;--danger:#ff6b6b;--bad-soft:#f14c4c24;--bad-bd:#f14c4c57;--info:#4daafc;--info-soft:#4daafc24;--info-bd:#4daafc52;--c-home:#4daafc;--c-home-bg:#4daafc24;--c-home-bd:#4daafc52;--c-advanced:#a98bff;--c-advanced-bg:#7a50ff29;--c-advanced-bd:#7a50ff57;--c-download:#4ec96e;--c-download-bg:#4ec96e24;--c-download-bd:#4ec96e52;--c-flash:#cca700;--c-flash-bg:#cca70029;--c-flash-bd:#cca70057;--c-blue:#4daafc;--c-blue-bg:#4daafc24;--c-blue-bd:#4daafc52;--s-key:#569cd6;--s-ctrl:#c586c0;--s-str:#ce9178;--s-num:#b5cea8;--s-cmt:#6a9955;--s-fn:#dcdcaa;--s-type:#4ec9b0;--s-var:#9cdcfe;--s-line:#6e7681;--s-line-active:#ccc;--shadow-1:0 2px 8px #0000005c;--shadow-2:0 8px 28px #00000080;--glass-bg:#2d2d30a8;--glass-blur:blur(18px) saturate(180%);--glass-glow:rgba(var(--acc-rgb), .22);--shadow-lift:0 18px 44px #0000008c, 0 0 0 1px rgba(var(--acc-rgb), .22);--shadow-glow:0 4px 14px #7a50ff47;--shadow-glow-strong:0 6px 20px #7a50ff66;--scroll:#79797966;--logo-filter:none}}:root[data-theme=dark]{--bg-base:#181818;--bg:#181818;--bg-app:#181818;--bg-surface:#1f1f1f;--bg-elev:#252526;--bg-card:#1f1f1f;--bg-soft:#ffffff06;--bg-rail:#141414;--bg-input:#313131;--bg-hover:#2a2d2e;--bg-card-hover:#252526;--bg-code:#181818;--line:#333;--line-soft:#2b2b2b;--line-strong:#454545;--bd:#333;--bd-input:#3c3c3c;--bd-strong:#454545;--border:#333;--text:#ccc;--fg:#ccc;--text-soft:#ccc;--text-mute:#9d9d9d;--fg-2:#9d9d9d;--muted:#9d9d9d;--text-dim:#8c8c8c;--fg-3:#8c8c8c;--text-faint:#8c8c8c;--acc-rgb:122, 80, 255;--acc:#7a50ff;--accent:#7a50ff;--brand:#7a50ff;--brand-2:#8b66ff;--acc-hover:#8b66ff;--acc-press:#6a3ff0;--acc-fg:#fff;--acc-text:#a98bff;--acc-soft:#7a50ff29;--acc-tint:#7a50ff14;--acc-bd:#7a50ff8c;--brand-soft:#7a50ff29;--brand-bd:#7a50ff66;--line-violet:#7a50ff8c;--violet-1:#a98bff;--violet-2:#a98bff;--violet-3:#8b66ff;--violet-4:#8b66ff;--ov:255, 255, 255;--shadow-rgb:0, 0, 0;--ok:#4ec96e;--ok-soft:#4ec96e24;--ok-bd:#4ec96e52;--warn:#cca700;--warn-soft:#cca70029;--warn-bd:#cca70057;--bad:#ff6b6b;--danger:#ff6b6b;--bad-soft:#f14c4c24;--bad-bd:#f14c4c57;--info:#4daafc;--info-soft:#4daafc24;--info-bd:#4daafc52;--c-home:#4daafc;--c-home-bg:#4daafc24;--c-home-bd:#4daafc52;--c-advanced:#a98bff;--c-advanced-bg:#7a50ff29;--c-advanced-bd:#7a50ff57;--c-download:#4ec96e;--c-download-bg:#4ec96e24;--c-download-bd:#4ec96e52;--c-flash:#cca700;--c-flash-bg:#cca70029;--c-flash-bd:#cca70057;--c-blue:#4daafc;--c-blue-bg:#4daafc24;--c-blue-bd:#4daafc52;--s-key:#569cd6;--s-ctrl:#c586c0;--s-str:#ce9178;--s-num:#b5cea8;--s-cmt:#6a9955;--s-fn:#dcdcaa;--s-type:#4ec9b0;--s-var:#9cdcfe;--s-line:#6e7681;--s-line-active:#ccc;--shadow-1:0 2px 8px #0000005c;--shadow-2:0 8px 28px #00000080;--glass-bg:#2d2d30a8;--glass-blur:blur(18px) saturate(180%);--glass-glow:rgba(var(--acc-rgb), .22);--shadow-lift:0 18px 44px #0000008c, 0 0 0 1px rgba(var(--acc-rgb), .22);--shadow-glow:0 4px 14px #7a50ff47;--shadow-glow-strong:0 6px 20px #7a50ff66;--scroll:#79797966;--logo-filter:none}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01", "ss03";min-height:100vh;margin:0;padding:0;line-height:1.55}*{scrollbar-width:thin;scrollbar-color:var(--scroll) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(var(--ov), .1);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--ov), .22)}::-webkit-scrollbar-track{background:0 0}button{cursor:pointer;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(var(--acc-rgb), .55);outline-offset:1px;border-radius:6px}code,kbd{font-family:var(--font-mono);background:rgba(var(--ov), .07);border:1px solid var(--line-soft);border-radius:var(--r-xs);color:var(--text);padding:1px 6px;font-size:.92em}pre code{background:0 0;border:0;padding:0}strong{color:var(--text);font-weight:600}ul,ol{margin:0;padding-left:1.2em}table{border-collapse:collapse}a{color:var(--c-home);text-decoration:none}a:hover{color:var(--info)}.icon{stroke-width:1.5px;flex-shrink:0;width:16px;height:16px}.icon--lg{width:20px;height:20px}.icon--sm{width:14px;height:14px}.icon--xs{width:12px;height:12px}.ghost-btn{background:rgba(var(--acc-rgb), .1);color:var(--acc-text);border:1px solid rgba(var(--acc-rgb), .32);font-size:var(--fs-xs);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.ghost-btn:hover{background:rgba(var(--acc-rgb), .2);border-color:rgba(var(--acc-rgb), .5)}.app-header{z-index:80;height:var(--header-h);align-items:center;gap:var(--sp-5);padding:0 var(--sp-6);background:var(--bg-app);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.brand{font-weight:700;font-size:var(--fs-xl);letter-spacing:.2px;color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand__logo{width:auto;height:32px;filter:var(--logo-filter);display:block}.brand__name{color:var(--text)}.app-header__nav{padding-left:var(--sp-3);border-left:1px solid var(--line);margin-left:var(--sp-2);align-items:center;gap:4px;display:flex}.app-header__nav-item{height:32px;color:var(--text-mute);font-size:var(--fs-md);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-weight:500;transition:all .15s;display:inline-flex}.app-header__nav-item:hover{color:var(--text);background:rgba(var(--ov), .04)}.app-header__nav-item.is-active{color:var(--acc-text);background:rgba(var(--acc-rgb), .14)}.app-header__support{font-size:var(--fs-sm);color:var(--text-mute);background:rgba(var(--ov), .04);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.app-header__spacer{flex:1}.app-header__project{min-width:0;padding-left:var(--sp-3);border-left:1px solid var(--line);align-items:center;gap:8px;display:inline-flex}.app-header__project-name{font-size:var(--fs-lg);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:22vw;margin:0;font-weight:700;line-height:1.2;overflow:hidden}.app-header__project .badge{height:auto;font-size:var(--fs-sm);background:0 0;border-color:#0000;padding:0}.app-header__actions{flex:none;align-items:center;gap:6px;display:inline-flex}.app-header__actions .btn:not([disabled]){border-color:color-mix(in srgb, currentColor 42%, transparent);font-weight:600}.app-header__actions .btn:not([disabled]):hover{border-color:color-mix(in srgb, currentColor 65%, transparent);transform:translateY(-1px)}.app-header__actions .btn:not([disabled]):active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.app-header__actions .btn:not([disabled]):hover{transform:none}}.app-header__divider{background:var(--line);width:1px;height:18px;margin:0 2px}.app-header--project{gap:var(--sp-3)}.theme-toggle{border:1px solid var(--line);background:var(--bg-input);width:32px;height:32px;color:var(--text-mute);border-radius:7px;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--text);background:var(--bg-hover);border-color:var(--line-strong)}.app-header__user{align-items:center;gap:10px;display:inline-flex}.avatar-sm{background:var(--acc);width:32px;height:32px;color:var(--acc-fg);box-shadow:var(--shadow-1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.avatar-sm--lg{width:40px;height:40px;font-size:15px}.app-header__user{position:relative}.user-btn{background:rgba(var(--ov), .04);border:1px solid var(--line);height:38px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 6px;transition:all .15s;display:inline-flex}.user-btn:hover,.user-btn.is-open{background:rgba(var(--acc-rgb), .14);border-color:rgba(var(--acc-rgb), .4)}.user-btn__name{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:500;overflow:hidden}.user-btn__chev{color:var(--text-mute);transition:transform .15s}.user-btn.is-open .user-btn__chev{transform:rotate(180deg)}.user-menu{z-index:200;background:var(--bg-elev);border:1px solid var(--line);width:320px;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:14px;position:absolute;top:calc(100% + 8px);right:0}.user-menu__head{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:8px;padding-bottom:12px;display:flex}.user-menu__ident{min-width:0}.user-menu__name{font-size:var(--fs-md);color:var(--text);font-weight:600}.user-menu__uid{font-size:var(--fs-xs);color:var(--text-mute);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.user-menu__section{padding:8px 0}.user-menu__section+.user-menu__section{border-top:1px solid var(--line)}.user-menu__section-title{font-size:var(--fs-xs);letter-spacing:.4px;color:var(--text-mute);text-transform:uppercase;margin-bottom:6px;font-weight:600}.user-menu__row{font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.user-menu__k{color:var(--text-mute);flex-shrink:0}.user-menu__v{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.user-menu__soon{font-size:var(--fs-xs);color:var(--text-mute);background:rgba(var(--ov), .06);border-radius:999px;padding:2px 8px}.btn{height:34px;font-size:var(--fs-md);border:1px solid var(--line);background:rgba(var(--ov), .04);color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:rgba(var(--ov), .08);border-color:var(--line-strong)}.btn:active{transform:translateY(.5px)}.btn[disabled],.btn:disabled{opacity:.5;cursor:not-allowed;filter:none;color:var(--text-mute);background:rgba(var(--ov), .05);border-color:var(--line)}.btn[disabled]:hover{background:rgba(var(--ov), .04)}.btn__spinner{border:2px solid rgba(var(--ov), .25);border-top-color:currentColor;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite wb-spin}@media (prefers-reduced-motion:reduce){.btn__spinner{animation-duration:2.4s}}.btn--primary{background:var(--acc);border-color:var(--acc);color:var(--acc-fg);box-shadow:var(--shadow-glow);font-weight:600}.btn--primary:hover{background:var(--acc-hover);box-shadow:var(--shadow-glow-strong);transform:translateY(-1px)}.btn--ghost{color:var(--text-mute);background:0 0;border-color:#0000}.btn--ghost:hover{background:rgba(var(--ov), .05);color:var(--text)}.btn--link{height:auto;color:var(--violet-1);font-size:inherit;background:0 0;border:0;padding:0;text-decoration:none}.btn--link:hover{background:0 0;border-color:#0000;text-decoration:underline}.btn--sm{height:28px;font-size:var(--fs-sm);border-radius:6px;padding:0 10px}.btn--lg{height:40px;font-size:var(--fs-lg);border-radius:10px;padding:0 18px}.btn--home{color:var(--c-home);background:var(--c-home-bg);border-color:var(--c-home-bd)}.btn--home:hover{background:var(--info-bd);border-color:var(--info-bd);color:var(--info)}.btn--advanced{color:var(--c-advanced);background:var(--c-advanced-bg);border-color:var(--c-advanced-bd)}.btn--advanced:hover{background:var(--bad-bd);border-color:var(--bad-bd);color:var(--acc-text)}.btn--download{color:var(--c-download);background:var(--c-download-bg);border-color:var(--c-download-bd)}.btn--download:hover{background:var(--ok-bd);border-color:var(--ok-bd);color:var(--ok)}.btn--flash{color:var(--c-flash);background:var(--c-flash-bg);border-color:var(--c-flash-bd)}.btn--flash:hover{background:var(--warn-bd);border-color:var(--warn-bd);color:var(--warn)}.btn--publish{color:var(--acc-text);background:rgba(var(--acc-rgb), .12);border-color:rgba(var(--acc-rgb), .3)}.btn--publish:hover{background:rgba(var(--acc-rgb), .2);border-color:rgba(var(--acc-rgb), .45);color:var(--acc-text)}.ws-led{height:26px;font-size:var(--fs-xs);color:var(--text-mute);white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:7px;padding:0 4px 0 2px;display:inline-flex}.ws-led__dot{background:var(--bad);width:8px;height:8px;box-shadow:0 0 6px var(--bad-bd);border-radius:50%;flex-shrink:0;transition:background .2s,box-shadow .2s}body[data-ws=connected] .ws-led{color:var(--ok)}body[data-ws=connected] .ws-led__dot{background:var(--ok);box-shadow:0 0 8px var(--ok);animation:2.4s ease-in-out infinite ws-breathe}body[data-ws=connecting] .ws-led{color:var(--warn)}body[data-ws=connecting] .ws-led__dot{background:var(--warn);animation:.9s ease-in-out infinite ws-breathe}body[data-ws=disconnected] .ws-led{color:var(--bad)}@keyframes ws-breathe{0%,to{opacity:1}50%{opacity:.55}}.chat-shell__header-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.badge{height:26px;font-size:var(--fs-xs);background:rgba(var(--ov), .06);border:1px solid var(--line);color:var(--text-mute);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge--ok{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-bd)}.badge--warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-bd)}.badge--bad{color:var(--bad);background:var(--bad-soft);border-color:var(--bad-bd)}.badge--info{color:var(--info);background:var(--info-soft);border-color:var(--info-bd)}.badge--muted{color:var(--text-mute);background:rgba(var(--ov), .06);border-color:var(--line)}.badge--violet{color:var(--acc-text);background:rgba(var(--acc-rgb), .14);border-color:rgba(var(--acc-rgb), .35)}.badge--plain:before,body[data-view=home] .view--workbench,body[data-view=workbench] .view--global{display:none}.app-shell--rail{grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100vh;display:grid}.app-shell--rail .app-main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow-y:auto}.rail{background:var(--bg-rail);border-right:1px solid var(--line);flex-direction:column;gap:13px;min-width:0;height:100vh;padding:14px 12px;display:flex}.rail__brand{color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:2px 4px;font-size:14.5px;font-weight:700;display:flex}.rail__logo{width:auto;height:24px;filter:var(--logo-filter);display:block}.rail__new{background:var(--acc);height:34px;color:var(--acc-fg);font-size:var(--fs-md);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-weight:600;transition:background .15s;display:flex}.rail__new:hover{background:var(--acc-hover)}.rail__search{background:var(--bg-input);border:1px solid var(--bd-input);height:30px;color:var(--text-dim);border-radius:7px;align-items:center;gap:7px;padding:0 10px;display:flex}.rail__search:focus-within{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}.rail__search-icon{flex:none;display:inline-flex}.rail__search .icon{width:14px;height:14px}.rail__search input{min-width:0;color:var(--text);font-family:inherit;font-size:var(--fs-sm);background:0 0;border:0;outline:none;flex:1}.rail__search input::placeholder{color:var(--text-dim)}.rail__label{letter-spacing:.7px;text-transform:uppercase;color:var(--text-dim);margin-top:2px;padding:0 4px;font-size:10.5px;font-weight:700}.rail__list{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow-y:auto}.rail__item{color:var(--text-mute);font-family:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 9px;transition:background .12s,color .12s;display:flex}.rail__item:hover{background:var(--bg-hover);color:var(--text)}.rail__item.is-active{background:var(--acc-soft);color:var(--acc-text);font-weight:600}.rail__item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rail__empty{font-size:var(--fs-sm);color:var(--text-dim);margin:6px 9px}.rail__foot{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.rail__user{flex:1;min-width:0;position:relative}.rail__user-btn{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:7px 8px;font-family:inherit;transition:background .12s;display:flex}.rail__user-btn:hover,.rail__user-btn.is-open{background:var(--bg-hover)}.rail__user-ident{flex-direction:column;min-width:0;display:flex}.rail__user-name{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rail__user-sub{color:var(--text-dim);font-size:10.5px}.rail__user-chev{color:var(--text-dim);flex:none;margin-left:auto}.rail__user .user-menu{max-width:calc(100vw - 24px);inset:auto auto calc(100% + 8px) 0}.view--global{display:block}.view--home{--home-gutter:40px;--home-seam:18px;flex-direction:column;flex:1 0 auto;min-height:0;display:flex}.home-hero[hidden],.home-chat[hidden]{display:none}.home-top{flex-direction:column;flex:none;justify-content:center;min-height:88vh;display:flex}.home-stage{flex-direction:column;flex:none;justify-content:center;height:46vh;min-height:0;display:flex}.view--home[data-home-chat=open] .home-stage{justify-content:flex-end}.home-hero{flex-direction:column;flex:none;align-items:center;gap:13px;min-height:0;padding:0 40px;display:flex}.home-hero__title{letter-spacing:-1px;text-align:center;text-wrap:balance;margin:0;font-size:clamp(30px,3.4vw,44px);font-weight:700;line-height:1.25}.home-hero__sub{font-size:var(--fs-lg);color:var(--text-mute);text-align:center;margin:2px 0 6px}.home-suggest{flex-wrap:wrap;flex:none;justify-content:center;gap:8px;max-width:760px;margin:0 auto;padding-top:14px;display:flex}.home-suggest__chip{border:1px solid var(--line);background:var(--bg-app);color:var(--text-mute);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;border-radius:999px;padding:5px 11px;transition:all .12s}.home-suggest__chip:hover{color:var(--text);border-color:var(--line-strong);background:var(--bg-hover)}.home-composer-slot{padding:var(--home-seam) var(--home-gutter) 0;flex:none;justify-content:center;display:flex}.home-composer{width:100%;max-width:760px;position:relative}.home-composer:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 120% at 50% 100%, var(--glass-glow), transparent 70%);filter:blur(6px);border-radius:28px;position:absolute;inset:-26px -10px -18px}.home-composer__shell{z-index:1;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--bd-input);box-shadow:var(--shadow-lift);border-radius:16px;flex-direction:column;gap:8px;padding:14px 14px 12px 18px;transition:border-color .15s;display:flex;position:relative}.home-composer__shell:focus-within{border-color:var(--acc)}.home-composer__slot-wide{max-width:760px}.home-composer .home-composer__input,.home-composer textarea.composer__textarea{resize:none;min-width:0;color:var(--text);font-family:inherit;font-size:var(--fs-lg);background:0 0;border:0;outline:none;flex:1;min-height:44px;max-height:200px;padding:4px 0;line-height:1.5}.home-composer__input::placeholder{color:var(--text-dim)}.home-composer__bar{align-items:flex-end;gap:8px;display:flex}.home-composer__hint{font-size:var(--fs-sm);color:var(--text-dim);flex:auto;min-width:0;line-height:1.5}.home-composer__send{background:var(--acc);width:30px;height:30px;color:var(--acc-fg);cursor:pointer;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;margin-left:auto;transition:background .15s;display:inline-flex}.home-composer__send:hover:not(:disabled){background:var(--acc-hover)}.home-composer__send:disabled{opacity:.45;cursor:not-allowed}.home-chat{min-height:0;width:calc(100% - var(--home-gutter) * 2);border:1px solid var(--bd-input);background:var(--glass-bg);max-width:760px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:16px;flex-direction:column;flex:0 auto;margin:0 auto;display:flex;overflow:hidden}.view--home[data-home-chat=open] .home-chat{margin-bottom:calc(var(--home-seam) * -1);border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.view--home[data-home-chat=open] .home-composer__shell{border-top-left-radius:0;border-top-right-radius:0}.home-chat__head{border-bottom:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-mute);align-items:center;gap:9px;padding:9px 16px;display:flex}.home-chat__close{color:var(--text-dim);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.home-chat__close:hover{color:var(--text)}.home-chat__close .icon{width:12px;height:12px}.home-chat__stream{flex-direction:column;flex:0 auto;justify-content:flex-start;gap:13px;min-height:0;padding:16px 16px 12px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 28px);mask-image:linear-gradient(#0000 0,#000 28px)}.home-chat__stream>:first-child{margin-top:auto}.home-chat__empty{font-size:var(--fs-sm);color:var(--text-dim);margin:0;padding:10px 0 4px;line-height:1.7}.global-turn{flex-direction:column;gap:8px;max-width:min(680px,88%);display:flex}.global-turn--user{align-self:flex-end;align-items:flex-end}.global-turn--assistant{align-self:flex-start}.global-turn__text{border:1px solid var(--line);background:var(--bg-card);color:var(--text);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;margin:0;padding:10px 14px;line-height:1.7}.global-turn--user .global-turn__text{background:var(--acc-soft);border-color:var(--info-bd)}.global-turn__candidates{flex-wrap:wrap;gap:8px;display:flex}.global-turn__candidate{border:1px solid var(--line);background:var(--bg-app);color:var(--text);font-size:var(--fs-sm);cursor:pointer;border-radius:999px;padding:6px 12px;transition:border-color .15s,background .15s}.global-turn__candidate:hover{border-color:var(--acc);background:var(--acc-soft)}.global-pending{font-size:var(--fs-sm);color:var(--text-dim);align-items:center;gap:9px;padding:8px 2px 4px;display:flex}.global-pending__spinner{border:2px solid var(--line-strong);border-top-color:var(--acc);border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite wb-spin}@keyframes wb-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.global-pending__spinner{animation-duration:2.4s}}.global-pending__cancel{color:var(--text-dim);font-family:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;text-decoration:underline}.global-pending__cancel:hover{color:var(--text)}.home-deck{background:var(--bg-app);border-top:1px solid var(--line);flex:none;padding:14px 22px 32px}.home-deck__head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.home-deck__meta{font-size:var(--fs-xs);color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto}.seg{background:var(--bg-surface);border:1px solid var(--line);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg__item{color:var(--text-mute);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;transition:background .12s,color .12s}.seg__item:hover{color:var(--text);background:var(--bg-hover)}.seg__item.is-active{background:var(--acc-soft);color:var(--acc-text);font-weight:600}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.proj-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:9px;transition:background .12s,border-color .12s;position:relative}.proj-card:hover{background:var(--bg-card-hover);border-color:var(--line-strong)}.proj-card.is-deleting{z-index:20}.proj-card--empty{color:var(--text-mute);font-size:var(--fs-sm);grid-column:1/-1;padding:14px}.proj-card__open{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;padding:12px 13px;font-family:inherit;display:flex}.proj-card__thumb{aspect-ratio:3/2;background:var(--bg-code);border:1px solid var(--line);border-radius:6px;display:block;overflow:hidden}.proj-card__thumb svg{width:100%;height:100%;display:block}.proj-card__thumb-img{object-fit:cover;width:100%;height:100%;display:block}.pcb-board{fill:none;stroke:var(--line);stroke-width:1px}.pcb-pad{fill:none;stroke:var(--line-strong);stroke-width:1px}.pcb-trace{fill:none;stroke:var(--line-strong);stroke-width:1px;opacity:.75}.pcb-via{fill:none;stroke:var(--line-strong);stroke-width:1px}.pcb-chip{fill:rgba(var(--acc-rgb), .1);stroke:rgba(var(--acc-rgb), .45);stroke-width:1px}.pcb-chip-label{fill:var(--acc-text);font-family:var(--font-mono);font-size:9px;font-weight:600}.pcb-chip-dot{fill:rgba(var(--acc-rgb), .55)}.pcb-chip-line{stroke:rgba(var(--acc-rgb), .35);stroke-width:1px;fill:none}.proj-card:hover .pcb-chip{fill:rgba(var(--acc-rgb), .16)}.proj-card__name{font-size:var(--fs-lg);color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding-right:24px;font-weight:600;overflow:hidden}.proj-card__goal{font-size:var(--fs-sm);color:var(--text-mute);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:3.1em;display:-webkit-box;overflow:hidden}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}.proj-card__foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:2px;padding-top:8px;display:flex}.proj-card__time{font-size:var(--fs-xs);color:var(--text-dim);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.proj-card--add{color:var(--acc-text);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px;display:flex}.proj-card--add:hover{background:var(--acc-tint);border-color:var(--acc)}.proj-card__add-mark{font-size:var(--fs-xl);line-height:1}.proj-card--add small{color:var(--text-dim);font-size:var(--fs-xs)}.proj-card__delete{background:var(--bg-surface);border:1px solid rgba(var(--ov), .18);width:26px;height:26px;color:var(--text-mute);cursor:pointer;z-index:5;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:inline-flex;position:absolute;top:8px;right:8px}.proj-card:hover .proj-card__delete,.proj-card__delete:focus-visible{opacity:1}@media (hover:none){.proj-card__delete{opacity:.55}}.proj-card__delete:hover{background:var(--bad-bd);border-color:var(--bad-bd);color:var(--bad);opacity:1;transform:scale(1.06)}.delete-confirm{z-index:30;border:1px solid var(--bad-bd);border-radius:var(--r-md);background:var(--bg-surface);box-shadow:var(--shadow-2);flex-direction:column;gap:10px;padding:12px;display:flex;position:relative}.delete-confirm p{color:var(--bad);font-size:var(--fs-sm);margin:0}.delete-confirm label{color:var(--text-mute);font-size:var(--fs-xs);flex-direction:column;gap:6px;display:flex}.delete-confirm input{width:100%;min-width:0}.delete-confirm__warning{border:1px solid var(--warn-bd);border-radius:var(--r-sm);background:var(--warn-soft);border-left-width:3px;flex-direction:column;gap:6px;padding:10px;display:flex}.delete-confirm__warning p{color:var(--text)}.delete-confirm__warning a{color:var(--warn);word-break:break-all}.delete-confirm__error{color:var(--bad);font-size:var(--fs-xs)}.chat-shell{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-xl);min-height:60vh;box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow:hidden}.chat-shell__header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-3);background:linear-gradient(180deg, rgba(var(--ov), .02), transparent);flex-shrink:0;display:flex}.chat-shell .composer{flex-shrink:0}.chat-shell__title{font-weight:600;font-size:var(--fs-lg);color:var(--text)}.chat-shell__sub{color:var(--text-mute);font-size:var(--fs-sm);margin-top:2px}.chat-shell__pill{font-size:var(--fs-xs);color:var(--c-home);background:var(--c-home-bg);border:1px solid var(--c-home-bd);border-radius:999px;padding:4px 10px}.chat-stream{min-height:0;padding:var(--sp-5) var(--sp-5) var(--sp-2);gap:var(--sp-4);overscroll-behavior:contain;flex-direction:column;flex:1 1 0;display:flex;overflow-y:auto}.history-loader{color:var(--text-mute);font-size:var(--fs-sm);background:rgba(var(--ov), .06);border:1px solid var(--line);border-radius:999px;align-self:center;padding:6px 12px}.history-loader:hover{color:var(--text);border-color:var(--line-strong);background:rgba(var(--ov), .1)}.history-loader:disabled{cursor:wait;opacity:.7}.msg{flex-direction:column;gap:6px;display:flex}.msg:not(.is-user) .msg__body{max-width:100%}.msg.is-user{align-items:flex-end}.msg__sender{color:var(--text);font-family:var(--font-sans);align-items:center;gap:7px;padding-left:2px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.msg__sender-mark{width:18px;height:18px;color:var(--acc-text)}.msg__body{background:rgba(var(--ov), .04);border:1px solid var(--line);border-radius:var(--r-xl);word-wrap:break-word;overflow-wrap:anywhere;max-width:86%;color:var(--text);padding:12px 14px;position:relative}.msg.is-user .msg__body{background:var(--acc-soft);border-color:var(--info-bd)}.msg__body p{margin:4px 0}.msg__body p:first-child{margin-top:0}.msg__body p:last-child{margin-bottom:0}.msg__body h1,.msg__body h2,.msg__body h3,.msg__body h4{color:var(--text);margin:12px 0 6px;font-weight:600;line-height:1.3}.msg__body h1:first-child,.msg__body h2:first-child,.msg__body h3:first-child,.msg__body h4:first-child{margin-top:0}.msg__body h1{border-bottom:1px solid var(--line-soft);padding-bottom:4px;font-size:17px}.msg__body h2{font-size:15px}.msg__body h3{color:var(--acc-text);font-size:14px}.msg__body h4{color:var(--text-soft);font-size:13px}.msg__body ul,.msg__body ol{margin:6px 0;padding-left:1.4em}.msg__body li{margin:3px 0;line-height:1.55}.msg__body li>p{margin:0}.msg__body a{color:var(--info);text-decoration:underline;-webkit-text-decoration-color:var(--info-bd);text-decoration-color:var(--info-bd);text-underline-offset:2px}.msg__body a:hover{color:var(--info);text-decoration-color:currentColor}.msg__body blockquote{border-left:3px solid rgba(var(--acc-rgb), .5);background:rgba(var(--acc-rgb), .06);color:var(--text-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;margin:8px 0;padding:6px 12px;font-style:italic}.msg__body blockquote p{color:var(--text-soft)}.msg__body pre:not(.logblock){background:var(--bg-code);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fs-sm);max-height:360px;margin:8px 0;padding:10px 12px;line-height:1.55;position:relative;overflow-x:auto}.msg__body pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.msg__body pre code.hljs{background:0 0;padding:0;display:block}.msg__body pre.has-copy{padding-top:30px}.code-toolbar{pointer-events:none;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-dim);justify-content:space-between;align-items:center;font-size:11px;display:flex;position:absolute;top:6px;left:10px;right:10px}.code-toolbar__lang{text-transform:uppercase;opacity:.7}.code-copy{pointer-events:auto;background:rgba(var(--ov), .05);border:1px solid var(--line);border-radius:var(--r-xs);height:22px;color:var(--text-soft);font:inherit;cursor:pointer;align-items:center;gap:4px;padding:0 8px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.code-copy:hover{background:rgba(var(--acc-rgb), .12);border-color:rgba(var(--acc-rgb), .45);color:var(--acc-text)}.code-copy.is-copied{background:var(--ok-soft);border-color:var(--ok-bd);color:var(--ok)}.code-copy .icon{width:12px;height:12px}script[type=text\/markdown][data-markdown].is-fallback{white-space:pre-wrap;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-soft);background:rgba(var(--ov), .02);border:1px dashed var(--line-soft);border-radius:var(--r-sm);margin:6px 0;padding:8px 10px;display:block!important}.msg__body img{border-radius:var(--r-md);border:1px solid var(--line);max-width:100%;height:auto;margin:6px 0}.msg__body hr{border:0;border-top:1px solid var(--line);margin:12px 0}.msg__body table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);border:1px solid var(--line);border-radius:var(--r-sm);max-width:100%;margin:8px 0;display:block;overflow:auto hidden}.msg__body thead{background:rgba(var(--acc-rgb), .1)}.msg__body th{text-align:left;color:var(--acc-text);font-weight:600;font-size:var(--fs-xs);letter-spacing:.3px;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 12px}.msg__body td{border-bottom:1px solid var(--line-soft);color:var(--text-soft);vertical-align:top;padding:8px 12px}.msg__body tbody tr:last-child td{border-bottom:0}.msg__body tbody tr:nth-child(2n){background:rgba(var(--ov), .02)}.msg__body tbody tr:hover{background:rgba(var(--acc-rgb), .06)}.msg__body li input[type=checkbox]{accent-color:var(--violet-2);margin-right:6px}.msg__meta{font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:.02em;align-items:center;gap:6px;margin-top:6px;display:inline-flex}.msg.is-user .msg__meta{color:var(--text-mute)}.attach-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.attach-chip{background:rgba(var(--acc-rgb), .1);border:1px solid rgba(var(--acc-rgb), .3);font-size:var(--fs-xs);color:var(--acc-text);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.msg__toolbar{background:var(--bg-elev);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:var(--shadow-1);border-radius:999px;gap:2px;padding:3px;display:none;position:absolute;top:-12px;right:12px}.msg.is-user .msg__toolbar{left:12px;right:auto}.msg:hover .msg__toolbar{display:inline-flex}.msg__toolbar button{width:26px;height:26px;color:var(--text-mute);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.msg__toolbar button:hover{background:rgba(var(--ov), .08);color:var(--text)}.msg:has(.copy-ind[data-copy-state]) .msg__toolbar{display:inline-flex}.copy-ind{width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.copy-ind:hover{background:rgba(var(--ov), .08);color:var(--text)}.copy-ind .copy-ind__done,.copy-ind .copy-ind__failed,.copy-ind[data-copy-state] .copy-ind__idle{display:none}.copy-ind[data-copy-state=done] .copy-ind__done{animation:.18s ease-out copy-pop;display:block}.copy-ind[data-copy-state=done],.copy-ind[data-copy-state=done]:hover{color:var(--ok)}.copy-ind[data-copy-state=error] .copy-ind__failed{animation:.18s ease-out copy-pop;display:block}.copy-ind[data-copy-state=error],.copy-ind[data-copy-state=error]:hover{color:var(--bad)}@keyframes copy-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.copy-ind[data-copy-state=done] .copy-ind__done{animation:none}}.inline-card{background:rgba(var(--ov), .025);border:1px solid var(--line-soft);border-radius:var(--r-md);margin:8px 0;padding:10px 12px}.inline-card__title{font-size:var(--fs-sm);color:var(--acc-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.inline-card__row{font-size:var(--fs-md);color:var(--text-soft)}.inline-card__row--muted{color:var(--text-dim);font-size:var(--fs-sm)}.inline-card__list{margin:6px 0 0;padding-left:1.2em}.inline-card__list li{color:var(--text-soft);margin:2px 0}.msg.has-material-card .msg__body{border-color:var(--info-bd);background:var(--bg-surface);width:100%;max-width:100%}.material-card{gap:var(--sp-3);min-width:0;display:grid}.material-card__eyebrow{width:max-content;color:var(--info);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;font-weight:700;display:inline-flex}.material-card__degraded{align-items:baseline;gap:var(--sp-2);border:1px solid var(--warn-bd);border-radius:var(--r-sm);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm);padding:8px 10px;display:flex}.material-card__degraded strong{color:var(--warn);white-space:nowrap}.material-card__content{min-width:0}.material-card__module{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:rgba(var(--ov), .025);margin:8px 0;overflow:hidden}.material-card__module>summary{align-items:center;gap:var(--sp-2);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px;padding:8px 10px;list-style:none;display:flex}.material-card__module>summary::-webkit-details-marker{display:none}.material-card__module>summary:before{content:"›";color:var(--info);flex:none;font-size:18px;line-height:1;transition:transform .15s}.material-card__module[open]>summary:before{transform:rotate(90deg)}.material-card__module>summary:hover{background:var(--info-soft)}.material-card__module>summary:focus-visible{outline:2px solid var(--info);outline-offset:-2px}.material-card__module>summary h3{color:var(--text);font-size:var(--fs-lg);margin:0}.material-card__module>:not(summary){margin-left:12px;margin-right:12px}.material-card__module>:last-child{margin-bottom:12px}.material-card__uncertainty-guide{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0;display:grid}.material-card__uncertainty{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:rgba(var(--ov), .025);color:var(--text-mute);font-size:var(--fs-sm);border-left-width:3px;gap:2px;margin:8px 0;padding:8px 10px;display:grid}.material-card__uncertainty-guide .material-card__uncertainty{margin:0}.material-card__uncertainty strong{font-size:var(--fs-xs)}.material-card__uncertainty--a{border-left-color:var(--warn)}.material-card__uncertainty--a strong{color:var(--warn)}.material-card__uncertainty--b{border-left-color:var(--info)}.material-card__uncertainty--b strong{color:var(--info)}.material-card__uncertainty--c{border-left-color:var(--bad)}.material-card__uncertainty--c strong{color:var(--bad)}.msg__hint{font-size:var(--fs-sm);color:var(--text-dim);margin-top:8px}.msg__hint--soft{color:var(--text-faint);font-style:italic}.thinking-dots{align-items:center;gap:5px;display:inline-flex}.thinking-dots span{background:var(--acc);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite thinking}.thinking-dots span:nth-child(2){animation-delay:.18s}.thinking-dots span:nth-child(3){animation-delay:.36s}@keyframes thinking{0%,80%,to{opacity:.25;transform:translateY(2px)}40%{opacity:1;transform:translateY(-2px)}}.thinking-block{align-items:center;gap:10px;padding:4px 0;display:inline-flex}.thinking-label{color:var(--text-soft);font-size:var(--fs-md);letter-spacing:.3px}.thinking-block--project{gap:4px;display:grid}.thinking-block__line{align-items:center;gap:10px;display:inline-flex}.thinking-status{max-width:min(100%,560px);color:var(--text-dim);font-size:var(--fs-sm);line-height:1.45}.turn-status{border:1px solid rgba(var(--ov), .12);width:max-content;max-width:100%;color:var(--text-soft);background:rgba(var(--ov), .05);font-size:var(--fs-xs);border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:4px 8px;font-weight:600;line-height:1;display:inline-flex}.turn-status .icon{flex:none;width:13px;height:13px}.turn-status--pending{color:var(--info)}.turn-status--running{color:var(--acc-text)}.turn-status--running .icon{animation:1.2s linear infinite spin-soft}.turn-status--failed{color:var(--bad);border-color:var(--bad-bd);background:var(--bad-soft)}@keyframes spin-soft{to{transform:rotate(360deg)}}.msg.is-thinking .msg__sender-mark{animation:1.6s ease-in-out infinite avatar-thinking}@keyframes avatar-thinking{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.12)}}.run-activity{margin:0 var(--sp-4) var(--sp-2);border:1px solid var(--line);background:rgba(var(--ov), .03);border-radius:10px;flex-shrink:0;overflow:hidden}.run-activity__head{width:100%;color:var(--text-soft);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.run-activity__head:hover{background:rgba(var(--ov), .04)}.run-activity__spinner{border:2px solid rgba(var(--acc-rgb), .35);border-top-color:var(--acc-text);border-radius:50%;flex:none;width:12px;height:12px;animation:.9s linear infinite spin-soft}.run-activity__current{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.run-activity__toggle{color:var(--text-dim);font-size:var(--fs-xs);flex:none}.run-activity__steps{border-top:1px solid var(--line);gap:6px;margin:0;padding:6px 12px 10px 34px;list-style:none;display:grid}.run-activity__step{color:var(--text-dim);font-size:var(--fs-sm);line-height:1.4;position:relative}.run-activity__step:before{content:"";background:rgba(var(--ov), .2);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;left:-16px}.run-activity__step.is-current{color:var(--text-soft)}.run-activity__step.is-current:before{background:var(--acc-text)}.run-activity__searches{border-top:1px solid var(--line);gap:5px;margin:0;padding:6px 12px 10px 18px;list-style:none;display:grid}.run-activity__search{color:var(--text-dim);font-size:var(--fs-sm);align-items:baseline;gap:7px;line-height:1.4;display:flex}.run-activity__search-icon{opacity:.85;flex:none;font-size:.85em}.run-activity__search-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-activity__search--fetch .run-activity__search-label{color:var(--text-soft)}.run-activity__search--registry .run-activity__search-label{color:var(--ok)}.run-activity__todos{border-top:1px solid var(--line);gap:5px;margin:0;padding:6px 12px 10px 18px;list-style:none;display:grid}.run-activity__todo{color:var(--text-dim);font-size:var(--fs-sm);align-items:baseline;gap:7px;line-height:1.4;display:flex}.run-activity__todo-check{opacity:.9;flex:none;font-size:.9em}.run-activity__todo.is-done .run-activity__todo-check{color:var(--ok)}.run-activity__todo.is-done .run-activity__todo-label{color:var(--text-soft)}.run-activity__todo.is-pending .run-activity__todo-label{color:var(--text-dim)}.composer{background:linear-gradient(180deg, transparent, var(--bg-app));padding:var(--sp-3) var(--sp-4) var(--sp-3)}.composer__attachments{flex-wrap:wrap;gap:6px;min-height:0;margin-bottom:8px;display:flex}.composer__attachments:empty{display:none}.composer__shell{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--bd-input);box-shadow:var(--shadow-lift);border-radius:16px;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column;align-items:end;gap:8px;padding:10px 10px 8px 14px;transition:border-color .15s,box-shadow .15s;display:grid}.composer__shell:focus-within{border-color:rgba(var(--acc-rgb), .55);box-shadow:0 0 0 3px rgba(var(--acc-rgb), .18)}.composer__textarea{resize:none;width:100%;color:var(--text);font-family:inherit;font-size:var(--fs-md);background:0 0;border:0;min-height:24px;max-height:200px;padding:4px 0;line-height:1.6}.composer__textarea::placeholder{color:var(--text-dim)}.composer__textarea:focus{outline:none}.composer__send{background:var(--acc);width:34px;height:34px;color:var(--acc-fg);box-shadow:var(--shadow-glow);border:0;border-radius:10px;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:inline-flex}.composer__send:hover{box-shadow:var(--shadow-glow-strong);transform:translateY(-1px)}.composer__send[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.composer__send--stop{background:var(--bad-soft);box-shadow:none;cursor:pointer}.composer__send--stop:hover{background:var(--bad-bd);box-shadow:none}.composer__stop-glyph{background:var(--bad);border-radius:2px;width:11px;height:11px}.composer__tool{border:1px solid var(--line);height:34px;color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.composer__tool .icon{width:15px;height:15px}.composer__tool:hover{border-color:var(--line-strong);color:var(--text-soft)}.composer__tool--active{border-color:var(--line-violet);background:var(--brand-soft);color:var(--brand-2)}.composer__tool--active:hover{color:var(--brand-2)}.composer__tool[disabled]{opacity:.45;cursor:not-allowed}.composer-mentions{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-elev);max-height:190px;box-shadow:var(--shadow-soft);gap:4px;margin-top:8px;padding:6px;display:grid;overflow:auto}.composer-mentions[hidden]{display:none}.composer-mentions__option{min-height:34px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:center;gap:10px;padding:6px 8px;display:grid}.composer-mentions__option:hover,.composer-mentions__option:focus-visible,.composer-mentions__option--active{background:rgba(var(--acc-rgb), .16);outline:none}.composer-mentions__token{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text);overflow:hidden}.composer-mentions__meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-xs);color:var(--text-dim);overflow:hidden}.composer__hint{justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-dim);margin-top:8px;display:flex}.composer__count{font-variant-numeric:tabular-nums;color:var(--text-dim);flex:none}.composer__count--over{color:var(--danger);font-weight:500}.composer__hint kbd{font-family:var(--font-mono);background:rgba(var(--ov), .05);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:10px}.view--workbench{display:block}.workbench{height:calc(100vh - var(--header-h));grid-template-columns:minmax(420px,38vw) minmax(0,1fr);display:grid}.chat-column{background:var(--bg-app);border-right:1px solid var(--line);flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.chat-column .composer{flex-shrink:0}.chat-column .chat-stream{padding:var(--sp-4) var(--sp-4) var(--sp-2)}.canvas-column{background:var(--bg);flex-direction:column;min-width:0;display:flex}.pub-card__name{margin:var(--sp-3) 0 var(--sp-2);font-size:var(--fs-md);font-weight:600}.pub-card__link{margin-top:var(--sp-3);align-self:flex-start}.provisioning{text-align:center;max-width:520px;margin:64px auto;padding:24px}.provisioning__title{margin:0 0 20px;font-size:18px}.provisioning__bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.provisioning__bar-fill{background:var(--violet-1);height:100%;transition:width .3s}.provisioning__stage{color:var(--text-mute);margin:12px 0 0;font-size:14px}.form-error{margin:var(--sp-2) 0 0;color:var(--bad);font-size:var(--fs-sm)}.provisioning__error{color:var(--bad);margin:0 0 12px}.provisioning__error code{opacity:.75;margin-top:6px;font-size:12px;display:block}.provisioning__hint,.provisioning__source{color:var(--text-mute);margin:12px 0 0;font-size:13px}.provisioning .btn{margin-top:24px}.explore__search{gap:var(--sp-2);display:flex}.explore__search input{min-width:0;height:34px;color:var(--text);background:rgba(var(--ov), .04);border:1px solid var(--line);font-size:var(--fs-sm);border-radius:8px;flex:1;padding:0 10px}.explore__search input:focus{border-color:var(--violet-1);outline:none}.tpl-detail{gap:var(--sp-4);align-content:start;min-width:0;max-width:760px;margin:32px auto;padding:0 24px 48px;display:grid}.release-showcase{padding:0;overflow:hidden}.release-showcase__grid{background:var(--line-soft);gap:1px;display:grid}.release-showcase__item{background:var(--bg-card);min-width:0;margin:0}.release-showcase__image,.release-showcase__video{object-fit:contain;background:var(--bg-code);width:100%;max-width:100%;height:auto;max-height:70vh;display:block}.release-showcase__caption{color:var(--text-mute);margin:0;padding:10px 14px 14px;font-size:13px}.release-editor{height:calc(100vh - var(--header-h));flex-direction:column;min-height:0;display:flex}.release-editor__head{align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);background:var(--bg-surface);flex-wrap:wrap;flex:none;display:flex}.release-editor__head h1{min-width:0;font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.release-editor__head .badge{flex:none}.release-editor__head>[data-release-editor-status],.release-editor__head>.form-error{flex-basis:100%;margin:0}.release-editor__publish{align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-left:auto;display:flex}.release-editor__publish>[data-release-no-firmware]{flex-basis:100%;margin:0}.release-editor__publish>.release-editor__confirm{flex-basis:100%}.release-editor__confirm{align-content:start;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--bg-surface);box-shadow:var(--shadow-1);flex:none;margin:0;display:grid}.release-editor__confirm>p{margin:0}.release-editor__confirm ul{gap:var(--sp-2);margin:0;padding-left:1.25rem;display:grid}.release-editor__confirm li{line-height:1.6}.release-editor__confirm li .release-lint__detail{color:var(--text-dim);font-size:var(--fs-sm);word-break:break-word;margin-top:2px;display:block}.release-editor__confirm li .chip{margin-right:var(--sp-1);vertical-align:1px}.release-editor__confirm .btn{justify-self:start}.release-editor__confirm[data-release-withdraw-panel]{border-color:var(--bad-bd);background:var(--bad-soft)}.release-editor>.release-editor__confirm{margin:var(--sp-3) var(--sp-4) 0}.release-editor__body{flex:1;grid-template-columns:minmax(360px,32vw) minmax(0,1fr);min-height:0;display:grid}.release-editor__chat{border-right:1px solid var(--line);background:var(--bg-app);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.release-editor__log,.release-editor__chat>.main-empty{min-height:0;padding:var(--sp-4);flex:1;margin:0;overflow-y:auto}.release-editor__log{gap:var(--sp-3);align-content:start;list-style:none;display:grid}.release-editor__msg{padding:var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--bg-surface);white-space:pre-wrap;margin:0;line-height:1.6}.release-editor__msg[data-role=user]{background:var(--bg-soft);border-color:var(--line)}.release-editor__activity{margin:var(--sp-3) var(--sp-4) 0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-mute);font-size:var(--fs-sm);flex:none}.release-editor__stages{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.release-editor__stage{align-items:baseline;gap:var(--sp-2);grid-template-columns:10px minmax(0,auto) minmax(0,1fr);display:grid}.release-editor__stage-mark{background:var(--line-strong);border-radius:50%;align-self:center;width:8px;height:8px}.release-editor__stage[data-state=started] .release-editor__stage-mark{background:var(--acc);animation:1.4s ease-in-out infinite release-activity-pulse}.release-editor__stage[data-state=ok] .release-editor__stage-mark{background:var(--ok)}.release-editor__stage[data-state=failed] .release-editor__stage-mark{background:var(--bad)}.release-editor__stage[data-state=failed] .release-editor__stage-label{color:var(--bad)}.release-editor__stage[data-stage=done] .release-editor__stage-label{color:var(--text);font-weight:600}.release-editor__stage-label{white-space:nowrap}.release-editor__stage[data-stage=notice] .release-editor__stage-note{white-space:pre-line;max-height:none}.release-editor__stage-open{margin-top:var(--sp-1);grid-column:2/-1;justify-self:start}.release-editor__stage-note{color:var(--text-dim);overflow-wrap:anywhere;max-height:4.5em;overflow:hidden}@keyframes release-activity-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.release-editor__activity-dot{animation:none}}.release-editor__composer{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-surface);flex:none;display:grid}.release-editor__composer textarea{resize:vertical;width:100%;min-width:0;font:inherit}.release-editor__composer .btn{justify-self:end}.release-editor__chat>.main-note{padding:0 var(--sp-4) var(--sp-3);flex:none;margin:0}.release-editor__canvas{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.release-editor__canvas>.app-header__tabs{padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);background:var(--bg-surface);flex:none}.release-editor__media{align-content:start;gap:var(--sp-3);min-height:0;padding:var(--sp-4);flex:1;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden auto}.release-editor__media>.panel__head{margin-bottom:0}.release-editor__media>.panel__head .panel__title{min-width:0}.release-editor__media>.panel__head .badge{flex:none}.release-editor__media .main-note{margin-bottom:0}.release-editor__media .asset-upload{grid-template-columns:minmax(0,1fr)}.release-editor__media select{max-width:320px;height:30px;padding:0 var(--sp-2);border:1px solid var(--bd-input);border-radius:var(--r-sm);background:var(--bg-input);color:var(--text);font:inherit;font-size:var(--fs-sm)}.release-media-group{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--bg-surface);display:grid}.release-media-group>.main-empty{font-size:var(--fs-sm);margin:0}.release-media-group__head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.release-media-group__add{align-items:center;gap:var(--sp-1);padding:4px var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-surface);color:var(--text-mute);font-size:var(--fs-sm);cursor:pointer;flex:none;display:inline-flex}.release-media-group__add:hover{background:var(--bg-hover);color:var(--text)}.release-media-group__add .icon{width:14px;height:14px}.release-media-group__add input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.release-media-group__add.is-busy{opacity:.45;cursor:not-allowed}.release-doc-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-surface);color:inherit;text-decoration:none;display:flex}.release-doc-card:hover{background:var(--bg-hover);border-color:var(--line-strong)}.release-doc-card__icon{color:var(--text-mute);flex:none;display:inline-flex}.release-doc-card__icon .icon{width:28px;height:28px}.release-doc-card__body{gap:2px;min-width:0;display:grid}.release-doc-card__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.release-doc-card__meta{font-size:var(--fs-sm);color:var(--text-mute)}.release-clear-uploads{justify-content:flex-end;display:flex}.release-editor__preview{gap:var(--sp-2);min-height:0;padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;flex:1;display:flex}.release-editor__preview-bar{gap:var(--sp-2);flex:none;display:flex}.release-editor__preview-bar .btn.is-active{background:var(--bg-hover);border-color:var(--line-strong)}.release-editor__frame-slot{flex:1;min-height:0;display:flex}.release-editor__frame{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;flex:1;width:100%;min-height:0}.release-editor__preview[data-release-preview-viewport=mobile] .release-editor__frame{flex:none;width:min(390px,100%);margin:0 auto}.release-editor__preview[data-release-preview-viewport=mobile] .release-editor__frame-slot{justify-content:center}.release-editor__revisions{max-height:168px;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-surface);flex:none;overflow-y:auto}.release-editor__revisions h2{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--text-mute)}.release-editor__revisions ol{gap:var(--sp-1);margin:0;padding:0;list-style:none;display:grid}.release-editor__revisions li{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.release-editor__revisions li>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;color:var(--text-mute);overflow:hidden}@media (width<=900px){.release-editor{height:auto}.release-editor__body{grid-template-columns:minmax(0,1fr)}.release-editor__chat{border-right:0;border-bottom:1px solid var(--line);max-height:60vh}.release-editor__media,.release-editor__preview{overflow:visible}.release-editor__frame{min-height:60vh}}.release-editor__section{font-size:var(--fs-md);color:var(--text-soft);margin:0;font-weight:600}.release-media-list .release-media{align-items:flex-start}.release-media__thumb{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--bg-code);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;overflow:hidden}.release-media__thumb img{object-fit:cover;width:100%;height:100%;display:block}a.file-list__act{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.release-media .asset-tags-field{margin-top:6px}.release-file-notes,.release-purchase-links,.release-publisher-note{gap:var(--sp-2);display:grid}.release-publisher-note textarea{resize:vertical;width:100%;min-height:112px}.release-file-notes__head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.release-file-note-row{gap:var(--sp-2);grid-template-columns:minmax(140px,.8fr) minmax(180px,1.5fr) auto;align-items:center;display:grid}.release-file-note-row select,.release-file-note-row input{width:100%;min-width:0}.release-purchase-row{gap:var(--sp-2);grid-template-columns:minmax(140px,.8fr) minmax(180px,1.5fr) auto;align-items:center;display:grid}.release-purchase-row select,.release-purchase-row input{width:100%;min-width:0}@media (width<=560px){.release-file-note-row{grid-template-columns:minmax(0,1fr) auto}.release-file-note-row input{grid-area:2/1/auto/-1}.release-purchase-row{grid-template-columns:minmax(0,1fr) auto}.release-purchase-row input{grid-area:2/1/auto/-1}}.tpl-detail__head{align-items:baseline;gap:12px;margin:16px 0 4px;display:flex}.tpl-detail__head h1{margin:0;font-size:22px}.tpl-detail__badge{color:var(--text-mute);font-size:13px}.tpl-detail__meta{color:var(--text-mute);margin:0 0 16px;font-size:13px}.tpl-detail__summary{margin:0 0 20px}.release-device-purchase{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:8px;display:flex}.tpl-guide{grid-template-columns:minmax(0,1fr);display:grid}.tpl-guide__section{min-width:0;scroll-margin-top:var(--sp-4)}.tpl-guide__section-head{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.tpl-guide__section-action{flex:none}.release-actions{align-items:center;gap:var(--sp-2) var(--sp-4);margin:0 0 var(--sp-4);grid-template-columns:auto minmax(0,1fr);display:grid}.release-actions dt{color:var(--text-mute)}.release-actions dd{align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin:0;display:flex}.release-fold-note{margin:0 0 var(--sp-4)}.release-purchase-table td:last-child{white-space:nowrap;width:1%}.release-purchase-link{color:var(--acc);font-weight:600}.release-purchase-actions{align-items:center;gap:var(--sp-2);display:inline-flex}.main-table td.is-atomic{white-space:nowrap;overflow-wrap:normal}.release-steps__item>p{margin:0}.release-steps__item>p+p{margin-top:calc(var(--rp-space,16px) * .75)}.release-path{padding-top:calc(var(--rp-space,16px) * 1.25)}.release-path+.release-path,.release-path~.release-steps+.release-path{border-top:1px solid var(--rpc-line)}.release-steps--platform{gap:var(--rp-space,16px)}.release-steps--platform .release-steps__item{grid-template-columns:minmax(0,1fr)}[data-release-platform-path]>.btn{margin-top:var(--sp-3)}.tpl-guide__subsection+.tpl-guide__subsection{margin-top:var(--sp-4)}.tpl-guide__subsection h3,.tpl-guide__levels h3{margin:0 0 var(--sp-2);font-size:var(--fs-md)}.tpl-guide__levels{gap:var(--sp-3);margin:0;padding-left:1.5rem;display:grid}.tpl-guide__levels>li{padding-left:var(--sp-1)}.release-files{gap:var(--sp-3);display:grid}.release-file{padding:var(--sp-3);border:1px solid var(--line);border-radius:8px;min-width:0;margin:0}.release-file__image{object-fit:contain;max-width:100%;max-height:70vh;margin:0 auto;display:block}.release-file__pdf{background:var(--bg-code);border:0;width:100%;height:min(65vh,560px);display:block}.release-file__note{margin:var(--sp-2) 0 0;color:var(--text-mute);white-space:pre-wrap}.release-file__actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.tpl-detail[data-template-detail-view]{--rpc-bg:var(--rp-bg,var(--bg-surface));--rpc-fg:var(--rp-fg,var(--text));--rpc-muted:var(--rp-muted,var(--text-mute));--rpc-line:var(--rp-line,var(--line-soft));--rpc-accent:var(--rp-accent,var(--acc));font-size:var(--rp-body-size,17px);line-height:var(--rp-line-height,1.78);color:var(--rpc-fg);gap:calc(var(--rp-space,16px) * 2.5)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tpl-detail[data-template-detail-view]{--rpc-bg:var(--rp-bg-dark,var(--bg-surface));--rpc-fg:var(--rp-fg-dark,var(--text));--rpc-muted:var(--rp-muted-dark,var(--text-mute));--rpc-line:var(--rp-line-dark,var(--line-soft));--rpc-accent:var(--rp-accent-dark,var(--acc))}}:root[data-theme=dark] .tpl-detail[data-template-detail-view]{--rpc-bg:var(--rp-bg-dark,var(--bg-surface));--rpc-fg:var(--rp-fg-dark,var(--text));--rpc-muted:var(--rp-muted-dark,var(--text-mute));--rpc-line:var(--rp-line-dark,var(--line-soft));--rpc-accent:var(--rp-accent-dark,var(--acc))}.tpl-guide__section-head>h2{font-size:calc(var(--rp-body-size,17px) * var(--rp-scale,1.2) * var(--rp-scale,1.2));letter-spacing:var(--rp-heading-tracking,0);margin:0;font-weight:650;line-height:1.3}.tpl-guide__subsection h3,.tpl-guide__levels h3,.tpl-guide__narrative-block>h3{margin:0 0 var(--sp-2);font-size:calc(var(--rp-body-size,17px) * var(--rp-scale,1.2));letter-spacing:var(--rp-heading-tracking,0);font-weight:600;line-height:1.4}h3.release-path__title{align-items:center;gap:var(--sp-2);font-size:calc(var(--rp-body-size,17px) * var(--rp-scale,1.2) * 1.12);flex-wrap:wrap;font-weight:700;display:flex}.release-path__badge{font-size:var(--fs-sm);background:color-mix(in srgb, var(--rpc-accent) 14%, transparent);color:var(--rpc-accent);border-radius:999px;flex:none;padding:2px 8px;font-weight:600;line-height:1.6}.tpl-guide__section>p,.tpl-guide__section>ul,.tpl-guide__section>ol,.tpl-guide__subsection>p,.tpl-guide__subsection>ul,.tpl-guide__narrative-block>p,.tpl-guide__narrative-block>ul,.tpl-guide__list{max-width:var(--rp-measure,68ch)}.tpl-guide__section>p{margin:0 0 calc(var(--rp-space,16px) * .75)}.tpl-guide__section+.tpl-guide__section{padding-top:calc(var(--rp-space,16px) * 1.5);border-top:1px solid var(--rpc-line)}[data-release-section=hero]+.tpl-guide__section{border-top:0;padding-top:0}[data-release-section=hero] .tpl-guide__section-head{display:none}.tpl-guide .main-note,.tpl-guide figcaption,.tpl-guide .release-actions dt,.tpl-guide .main-table th{color:var(--rpc-muted)}.tpl-guide .main-table td{overflow-wrap:anywhere}.tpl-guide .main-table{font-size:calc(var(--rp-body-size,17px) * .88)}.tpl-detail__avatar{object-fit:cover;background:var(--bg-code);border-radius:50%;flex:none;width:28px;height:28px}.tpl-detail__publisher{align-items:center;gap:var(--sp-2);display:flex}.tpl-detail>.btn{justify-self:start}.tpl-guide .main-constraints__title{color:var(--warn,#b45309)}.tpl-detail[data-template-detail-view]{--rp-toc-w:240px;--rp-toc-gap:clamp(32px, 4vw, 64px);--rp-wide:1100px;--rp-bleed:1500px;grid-template-columns:minmax(0,1fr);column-gap:0;max-width:min(1720px,100%);padding-inline:clamp(16px,3vw,40px)}.tpl-detail__body{--w-text:min(var(--rp-measure,68ch), 100%);--w-wide:min(var(--rp-wide), 100%);--w-bleed:min(var(--rp-bleed), 100%);align-content:start;row-gap:var(--sp-4);grid-template-columns:[bleed-start wide-start text-start] var(--w-text) [text-end] minmax(0, calc(var(--w-wide) - var(--w-text))) [wide-end] minmax(0, calc(var(--w-bleed) - var(--w-wide))) [bleed-end];column-gap:0;min-width:0;display:grid}.tpl-detail__body>*{grid-column:text;min-width:0}.tpl-detail__body>.tpl-guide{grid-column:bleed}.tpl-guide{gap:calc(var(--rp-space,16px) * 2.5);--rp-gap:calc(var(--rp-space,16px) * 3.5)}.tpl-guide__section{--w-text:min(var(--rp-measure,68ch), 100%);--w-wide:min(var(--rp-wide), 100%);--w-bleed:min(var(--rp-bleed), 100%);grid-template-columns:[bleed-start wide-start text-start] var(--w-text) [text-end] minmax(0, calc(var(--w-wide) - var(--w-text))) [wide-end] minmax(0, calc(var(--w-bleed) - var(--w-wide))) [bleed-end];row-gap:calc(var(--rp-space,16px) * .75);display:grid}.tpl-guide__section>*{grid-column:text;min-width:0}.tpl-guide__section>.main-table-scroll,.tpl-guide__section>.release-fold-note,.tpl-guide__section>.tpl-guide__fold,.tpl-guide__section>.release-steps,.tpl-guide__section>.release-showcase{grid-column:wide}[data-release-section=hero]>.release-showcase{grid-column:bleed;justify-self:start}.tpl-guide__section+.tpl-guide__section{padding-top:var(--rp-gap);margin-top:calc(var(--rp-gap) - var(--rp-space,16px))}.release-toc{display:none}.release-toc__title{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--rpc-muted);letter-spacing:.04em;font-weight:600}.release-toc__list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.release-toc__list a{border-radius:var(--rp-radius,8px);color:var(--rpc-muted);font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;text-decoration:none;display:block;overflow:hidden}.release-toc__list a:hover{background:rgba(var(--ov), .05);color:var(--rpc-fg)}@media (width>=1200px){.tpl-detail[data-template-detail-view]>.release-toc{top:calc(var(--header-h,56px) + var(--sp-4));max-height:calc(100vh - var(--header-h,56px) - var(--sp-8));overscroll-behavior:contain;grid-area:1/1;align-self:start;display:block;position:sticky;overflow-y:auto}.tpl-detail[data-template-detail-view]{grid-template-columns:var(--rp-toc-w) minmax(0, 1fr);column-gap:var(--rp-toc-gap)}}.tpl-guide__section{scroll-margin-top:calc(var(--header-h,56px) + var(--sp-4))}.release-steps{gap:calc(var(--rp-space,16px) * 1.75);counter-reset:release-step;margin:0;padding:0;list-style:none;display:grid}.release-steps__item{gap:var(--sp-3) clamp(24px, 3vw, 48px);counter-increment:release-step;grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=900px){.release-steps__item{grid-template-columns:minmax(0, min(var(--rp-measure,68ch), 1fr)) minmax(0, 1fr)}.release-steps__item:not(:has(.release-showcase)){grid-template-columns:minmax(0,1fr)}}.release-steps__title{margin:0 0 var(--sp-2);font-size:calc(var(--rp-body-size,17px) * var(--rp-scale,1.2));font-weight:600;line-height:1.4}.release-steps__title:before{content:counter(release-step);min-width:1.6em;color:var(--rpc-accent);font-variant-numeric:tabular-nums;margin-left:-1.9em;padding-right:.3em;display:inline-block}.release-steps__item>.release-showcase{margin:0}.tpl-guide .main-table th,.tpl-guide .main-table td{padding:12px 14px}.tpl-guide .main-table td{font-variant-numeric:tabular-nums}.release-showcase__grid{grid-template-columns:minmax(0,1fr)}[data-media-slot=parts] .release-showcase__grid,[data-media-slot=gallery] .release-showcase__grid,[data-media-slot=troubleshoot] .release-showcase__grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.tpl-guide .release-showcase__image,.tpl-guide .release-showcase__video{width:auto;max-width:100%;max-height:60vh;margin-inline:auto}[data-release-section=hero] .release-showcase__image{max-height:68vh}.error-banner{margin:var(--sp-3) var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--bad);border-radius:var(--r-md);background:color-mix(in srgb, var(--bad) 8%, transparent);color:var(--bad);font-size:var(--fs-md)}.view--notice{min-height:60vh;padding:var(--sp-6) var(--sp-4);place-items:center;display:grid}.notice-card{text-align:center;gap:var(--sp-3);max-width:32rem;display:grid}.notice-card h1{margin:0;font-size:22px;line-height:1.35}.notice-card p{color:var(--text-mute);margin:0;line-height:1.7}.notice-card__actions{gap:var(--sp-2);flex-wrap:wrap;justify-content:center;display:flex}.release-publisher-note{padding:var(--sp-3) 0 var(--sp-3) var(--sp-4);border-inline-start:3px solid var(--rpc-accent);background:color-mix(in srgb, var(--rpc-accent) 6%, transparent);border-radius:0 var(--rp-radius,8px) var(--rp-radius,8px) 0;margin:0}.release-publisher-note__label{margin:0 0 var(--sp-1);font-size:var(--fs-sm);letter-spacing:.04em;color:var(--rpc-muted);font-weight:600}.release-publisher-note__body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tpl-guide__fold{border:1px solid var(--rpc-line);border-radius:var(--rp-radius,8px);background:rgba(var(--ov), .02)}.tpl-guide__fold>summary{cursor:pointer;color:var(--rpc-fg);padding:10px 14px;font-weight:600;list-style-position:inside}.tpl-guide__fold[open]>summary{border-bottom:1px solid var(--rpc-line)}.tpl-guide__fold>:not(summary){padding:var(--sp-3) 14px}.tpl-guide__fold>.main-table-scroll{margin:var(--sp-3) 14px;padding:0}.tpl-guide__list{gap:var(--sp-2);margin:0;padding-left:1.4em;display:grid}.tpl-guide__list>li,.tpl-guide__section>p,.tpl-guide__subsection>p,.tpl-guide__narrative-block>p,.tpl-guide__narrative-block li,.release-steps__item p{overflow-wrap:anywhere}.tpl-guide__narrative-block{gap:var(--sp-2);display:grid}@media (width>=900px){[data-release-section=purchase]>.main-table-scroll{border:0}[data-release-section=purchase] .main-table,[data-release-section=purchase] .main-table tbody{gap:var(--sp-3);display:grid}[data-release-section=purchase] .main-table thead{display:none}[data-release-section=purchase] .main-table tbody{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}[data-release-section=purchase] .main-table tr{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--rpc-line);border-radius:var(--rp-radius,8px);display:flex}[data-release-section=purchase] .main-table td{border:0;padding:0}[data-release-section=purchase] .main-table td:last-child{width:auto}}.release-actions{max-width:var(--rp-measure,68ch)}.release-actions dd{justify-content:flex-start}.tpl-detail__head h1{font-size:calc(var(--rp-body-size,17px) * var(--rp-scale,1.2) * var(--rp-scale,1.2) * var(--rp-scale,1.2));letter-spacing:var(--rp-heading-tracking,0);line-height:1.25}.tpl-detail__summary{font-size:calc(var(--rp-body-size,17px) * 1.06);max-width:var(--rp-measure,68ch)}@media print{.release-toc{display:none!important}.tpl-guide{grid-template-columns:minmax(0,1fr)!important}.tpl-guide__section{grid-template-columns:minmax(0,1fr);grid-column:1/-1!important}.tpl-guide__section>*{grid-column:1/-1!important}.tpl-guide__fold>:not(summary){display:block!important}.tpl-guide .release-showcase__image,.tpl-guide .release-showcase__video{max-height:none}}.app-header__tabs{background:rgba(var(--ov), .05);border:1px solid var(--line);border-radius:9px;flex:none;align-items:center;gap:2px;padding:3px;display:inline-flex}.canvas-tab{height:26px;font-size:var(--fs-sm);color:var(--text-mute);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.canvas-tab:hover:not([disabled]):not(.is-active){color:var(--text);background:rgba(var(--ov), .06)}.canvas-tab.is-active{color:var(--text);background:var(--bg-surface);box-shadow:var(--shadow-1);font-weight:600}.canvas-tab[disabled]{opacity:.35;cursor:not-allowed}.canvas-tab .canvas-tab__lock{opacity:.7;margin-left:2px}.canvas-body{background:var(--bg);flex:1;min-height:0;position:relative;overflow:hidden}.canvas-pane{flex-direction:column;display:none;position:absolute;inset:0;overflow:auto}.canvas-pane.is-active{display:flex}.pane-padded{padding:var(--sp-5)}.code-pane{padding:0}.code-panel{flex:1;width:100%;min-height:0;display:flex}.code-tree{border-right:1px solid rgba(var(--ov), .08);background:var(--bg-app);flex-direction:column;flex:none;width:250px;min-width:170px;display:flex;overflow:hidden}.code-tree__head{border-bottom:1px solid rgba(var(--ov), .08);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.code-tree__root{color:var(--text-mute);font-family:ui-monospace,monospace;font-size:12px}.code-tree__refresh{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:4px;padding:3px;display:inline-flex}.code-tree__refresh:hover{background:rgba(var(--ov), .07)}.code-tree__body{flex:1;padding:4px 0;overflow:auto}.code-tree__empty,.code-tree__note{color:var(--text-mute);padding:10px;font-size:12px}.code-tree__empty--error{color:var(--bad)}.code-tree__note{border-top:1px solid rgba(var(--ov), .08)}.code-node{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:12.5px;display:flex;overflow:hidden}.code-node:hover{background:rgba(var(--ov), .05)}.code-node--file.is-selected{background:rgba(var(--acc-rgb), .2)}.code-node--readonly .code-node__name{opacity:.5}.code-node__twist{width:12px;color:var(--text-mute);flex:none}.code-node__name{text-overflow:ellipsis;overflow:hidden}.code-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.code-file-picker{flex:none;display:inline-flex;position:relative}.code-file-picker__btn{border:1px solid rgba(var(--ov), .14);background:rgba(var(--ov), .04);color:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:5px;max-width:240px;padding:3px 8px;font-size:12px;display:inline-flex}.code-file-picker__btn:hover{background:rgba(var(--ov), .08)}.code-file-picker.is-open .code-file-picker__btn{background:rgba(var(--acc-rgb), .18);border-color:rgba(var(--acc-rgb), .5)}.code-file-picker__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-file-picker__caret{opacity:.65;font-size:10px}.code-file-picker .icon{flex:none;width:14px;height:14px}.code-tree-dropdown{z-index:40;background:var(--bg-elev);border:1px solid rgba(var(--ov), .14);width:300px;max-height:60vh;box-shadow:var(--shadow-2);border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.code-tree-backdrop{z-index:30;position:absolute;inset:0}.code-main__bar{border-bottom:1px solid rgba(var(--ov), .08);align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.code-main__path{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;overflow:hidden}.code-main__spacer{flex:1}.code-main__status{color:var(--text-mute)}.code-dirty{color:var(--warn)}.code-save-btn{border:1px solid rgba(var(--ov), .14);background:var(--acc);color:var(--acc-fg);cursor:pointer;border-radius:6px;padding:3px 12px;font-size:12px}.code-save-btn[disabled]{opacity:.4;cursor:default}.code-reload-btn{border:1px solid rgba(var(--ov), .14);color:var(--text-mute);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:12px}.code-reload-btn[disabled]{opacity:.4;cursor:default}.code-stale{border-bottom:1px solid rgba(var(--ov), .08);padding:5px 10px;font-size:12px}.code-stale--stale{color:var(--warn);background:var(--warn-soft)}.code-stale--fresh{color:var(--ok);background:var(--ok-soft)}.code-stale--none{color:var(--text-mute)}.code-notice{background:var(--warn-soft);color:var(--warn);border-bottom:1px solid rgba(var(--ov), .08);padding:6px 10px;font-size:12px}.code-editor-slot{flex:1;min-height:0;display:flex;overflow:hidden}.code-editor-host{flex:1;height:100%;min-height:0;overflow:hidden}.code-browser{flex-direction:column;flex:1;min-height:0;display:flex}.code-browser__head{border-bottom:1px solid rgba(var(--ov), .08);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.code-browser__body{flex:1;padding:6px 0 16px;overflow:auto}.code-browser__error{color:var(--bad);background:var(--bad-soft);border-bottom:1px solid rgba(var(--ov), .08);padding:8px 12px;font-size:12px}.badge--ok{color:var(--ok)}.main-view{gap:var(--sp-4);min-width:0;max-width:760px;display:grid}.main-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);flex-wrap:wrap;display:flex}.main-head__origin{margin:calc(-1 * var(--sp-2)) 0 var(--sp-3);color:var(--text-dim);font-size:var(--fs-sm)}.main-head__origin a{color:var(--text-mute);text-decoration:none}.main-head__origin a:hover{color:var(--violet-1);text-decoration:underline}.main-head__origin--muted{color:var(--text-dim);opacity:.75}.main-head__goal{font-size:var(--fs-xl);color:var(--text);margin:0;font-weight:500;line-height:1.35}.main-freeze{font-size:var(--fs-sm);color:var(--text-dim);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.main-freeze svg{flex:none}.panel__count{font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.main-list{margin:0;padding:0;list-style:none;display:grid}.main-list>li{border-top:1px solid var(--line-soft);min-width:0;padding:10px 0}.main-list>li:first-child{border-top:0;padding-top:2px}.mod{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.mod__name{color:var(--text);min-width:148px;font-weight:500}.mod__role{color:var(--text-dim);font-size:var(--fs-sm)}.mod__pins{flex-wrap:wrap;gap:5px;margin-left:auto;display:flex}.wires{grid-template-columns:auto 30px minmax(0,1fr) 44px;display:grid}.wires__head,.wires>.main-list,.wire{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;gap:var(--sp-2);display:grid}.wires>.main-list{row-gap:0}@supports not (grid-template-columns:subgrid){.wires__head,.wire{grid-template-columns:168px 30px minmax(0,1fr) 44px}}.wires__head{padding-bottom:var(--sp-2);border-bottom:1px solid var(--line-soft);font-size:var(--fs-xs);color:var(--text-faint)}.wires__head span:last-child{text-align:right}.wires__board{color:var(--text-dim)}.wire__side{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.wire__dev{color:var(--text-soft)}.wire__arrow{color:var(--text-faint);text-align:center}.wire__kind{color:var(--text-dim);font-size:var(--fs-sm);text-align:right}.pin{font-family:var(--font-mono);font-size:var(--fs-sm);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-soft);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 8px;display:inline-block}.feat__name{color:var(--text);font-weight:500}.feat__how{color:var(--text-mute);font-size:var(--fs-sm);max-width:72ch;margin:4px 0 0}.feat__params{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.param{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;padding:2px 7px}.kvrow{gap:var(--sp-3);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.kvrow__k{color:var(--text-dim)}.kvrow__v{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kvrow__v.is-ok{font-family:var(--font-sans);color:var(--text-soft)}.kvrow__v.is-fail{font-family:var(--font-sans);color:var(--bad)}.main-note{margin:var(--sp-3) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--line-soft);color:var(--text-dim);font-size:var(--fs-sm)}.main-note+.main-note{margin-top:var(--sp-2);border-top:0;padding-top:0}.main-notes{margin:var(--sp-3) 0 0;padding:var(--sp-3) 0 0 18px;border-top:1px solid var(--line-soft);color:var(--text-dim);font-size:var(--fs-sm)}.main-notes li{margin:3px 0}.main-empty{color:var(--text-dim);font-size:var(--fs-sm);margin:0}.main-guide{padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + 2px)}.main-guide__lead{color:var(--text);font-size:var(--fs-md);margin:0 0 6px;font-weight:600}.main-guide__body{color:var(--text-dim);font-size:var(--fs-sm);max-width:62ch;margin:0;line-height:1.7}.main-guide__body strong{color:var(--text);white-space:nowrap;font-weight:600}.main-blockers{border-color:var(--warn-bd)}.main-blockers__action{margin-top:var(--sp-3)}.platform-section+.platform-section{margin-top:var(--sp-4)}.platform-section__title{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--text-soft);font-weight:600}.main-table-scroll{border:1px solid var(--line-soft);border-radius:var(--r-md);overflow-x:auto}.main-table{border-collapse:collapse;width:100%}.main-table th,.main-table td{text-align:left;border-bottom:1px solid var(--line-soft);color:var(--text-soft);font-size:var(--fs-sm);padding:9px 12px}.main-table th{color:var(--text-dim);background:rgba(var(--ov), .03);white-space:nowrap;font-weight:600}.main-table tr:last-child td{border-bottom:0}.main-table td[colspan]{color:var(--text-dim);text-align:center}@media (width<=560px){.mod__name{min-width:0}.mod__pins{margin-left:0}.wires{grid-template-columns:auto 22px minmax(0,1fr)}.wires__head span:last-child{display:none}.wire__kind{text-align:left;grid-column:1/-1}@supports not (grid-template-columns:subgrid){.wires__head,.wire{grid-template-columns:auto 22px minmax(0,1fr)}}}.panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-4);box-shadow:var(--shadow-1)}.panel__head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.panel__title{font-size:var(--fs-md);color:var(--text);align-items:center;gap:8px;margin:0;font-weight:600;display:inline-flex}.panel__title .icon{color:var(--acc-text)}.panel__sub{font-size:var(--fs-xs);color:var(--text-dim);margin-top:2px}.kv-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kv-list li{font-size:var(--fs-md);grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.kv-list__k{color:var(--text-dim);font-size:var(--fs-sm)}.kv-list__v{color:var(--text)}.kv-list__v--muted{color:var(--text-mute)}.hw-grid{margin-bottom:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.hw-grid__cell{background:rgba(var(--ov), .03);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:10px 12px}.hw-grid__k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:600}.hw-grid__v{font-size:var(--fs-md);color:var(--text);word-break:break-word;margin-top:3px;font-weight:500}details.collapsible{margin-top:var(--sp-3);background:rgba(var(--ov), .025);border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden}details.collapsible>summary{cursor:pointer;font-size:var(--fs-sm);color:var(--text-soft);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 12px;list-style:none;display:flex}details.collapsible>summary::-webkit-details-marker{display:none}details.collapsible>summary .icon{transition:transform .2s}details.collapsible[open]>summary .icon{transform:rotate(90deg)}details.collapsible>:not(summary){padding:0 12px 10px}.pins{width:100%;font-size:var(--fs-sm);font-family:var(--font-mono);border-radius:var(--r-sm);overflow:hidden}.pins th,.pins td{text-align:left;border-bottom:1px solid var(--line-soft);padding:6px 10px}.pins th{color:var(--text-dim);background:rgba(var(--ov), .03);font-weight:500;font-family:var(--font-sans);letter-spacing:.3px}.pins tbody tr:last-child td{border-bottom:0}.pins .pin-port{color:var(--acc-text)}.hw-meta{gap:4px;margin-top:8px;display:grid}.hw-meta__row{font-size:var(--fs-sm);grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.hw-meta__k{color:var(--text-dim)}.hw-meta__v{color:var(--text-soft)}.hw-meta__v--muted{color:var(--text-dim)}.stages{gap:2px;margin:0;padding:0;list-style:none;display:grid}.stages__item{font-size:var(--fs-sm);color:var(--text-mute);border-radius:var(--r-sm);padding:7px 12px 7px 30px;transition:all .2s;position:relative}.stages__item:before{content:"";background:rgba(var(--ov), .1);border:2px solid rgba(var(--ov), .18);box-sizing:content-box;border-radius:50%;width:8px;height:8px;position:absolute;top:11px;left:11px}.stages__item:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:22px;bottom:-2px;left:16px}.stages__item.is-done{color:var(--text-soft)}.stages__item.is-done:before{background:var(--ok);border-color:var(--ok-bd);box-shadow:0 0 0 4px var(--ok-soft)}.stages__item.is-active{color:var(--text);background:linear-gradient(90deg, rgba(var(--acc-rgb), .12), transparent 80%);font-weight:500}.stages__item.is-active:before{background:var(--violet-2);border-color:rgba(var(--acc-rgb), .45);box-shadow:0 0 0 4px rgba(var(--acc-rgb), .18);animation:1.6s ease-in-out infinite pulse-ring}.stages--plan .stages__item{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;display:grid}.stages--plan .stages__item span,.stages--plan .stages__item em{min-width:0}.stages--plan .stages__item small{color:var(--text-dim);font-size:var(--fs-xs);font-weight:500}.stages--plan .stages__item em{color:var(--text-dim);font-style:normal;font-size:var(--fs-xs);grid-column:1/-1}@keyframes pulse-ring{0%,to{box-shadow:0 0 0 4px rgba(var(--acc-rgb), .18)}50%{box-shadow:0 0 0 8px rgba(var(--acc-rgb), .06)}}.muted-hint{font-size:var(--fs-sm);color:var(--text-dim);margin-top:8px}.firmware-panel,.artifact-summary{gap:var(--sp-3);display:grid}.artifact-summary__headline{color:var(--text-soft);margin:0}.artifact-status-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.artifact-status-list li{min-height:28px;color:var(--text-mute);background:rgba(var(--ov), .025);border:1px solid var(--line-soft);border-radius:var(--r-sm);align-items:center;gap:8px;padding:5px 9px;display:flex}.artifact-status-list li:before{content:"";background:rgba(var(--ov), .16);border-radius:50%;flex:none;width:8px;height:8px}.artifact-status-list li.is-ready{color:var(--text);border-color:var(--ok-bd);background:var(--ok-soft)}.artifact-status-list li.is-ready:before{background:var(--ok)}.artifact-facts{gap:6px;margin:0;display:grid}.artifact-facts div{font-size:var(--fs-sm);grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.artifact-facts dt{color:var(--text-dim)}.artifact-facts dd{color:var(--text-soft);overflow-wrap:anywhere;min-width:0;margin:0}.compile-summary{padding:var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-sm);background:rgba(var(--ov), .025)}.artifact-pill{border-radius:var(--r-xs);min-height:22px;font-size:var(--fs-xs);border:1px solid var(--line);color:var(--text-soft);align-items:center;padding:2px 7px;font-weight:600;display:inline-flex}.artifact-pill.is-ready{color:var(--ok);border-color:var(--ok-bd);background:var(--ok-soft)}.artifact-pill.needs-attention{color:var(--warn);border-color:var(--warn-bd);background:var(--warn-soft)}.artifact-command,.flash-plan{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);background:rgba(var(--ov), .03)}.artifact-command__head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.artifact-command__head strong,.flash-plan__title{color:var(--text);font-weight:600}.artifact-command__head span{color:var(--text-dim);font-size:var(--fs-xs)}.flash-plan{margin-top:var(--sp-3);border-color:var(--c-flash-bd);background:var(--c-flash-bg)}.flash-plan__title{margin-bottom:var(--sp-2)}.flash-plan--collapsible{padding:0}.flash-plan__head{width:100%;padding:10px var(--sp-3);border-radius:var(--r-md);color:var(--text-soft);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.flash-plan__head:hover{background:rgba(var(--ov), .04)}.flash-plan--collapsible .flash-plan__title{flex:auto;margin-bottom:0}.flash-plan__toggle{color:var(--text-dim);font-size:var(--fs-xs);flex:none}.flash-plan__chev{color:var(--text-dim);transition:transform .15s}.flash-plan--collapsible.is-expanded .flash-plan__chev{transform:rotate(90deg)}.flash-plan--collapsible .artifact-facts{padding:0 var(--sp-3) var(--sp-3)}.serial-panel,.burn-panel{gap:var(--sp-3);display:grid}.serial-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.serial-log{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-code);min-height:220px;max-height:42vh;color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;-webkit-user-select:text;user-select:text;padding:12px 14px;line-height:1.55;overflow:auto}.serial-log__line{overflow-wrap:anywhere}.serial-log__empty,.burn-locked-note{color:var(--text-dim)}.burn-locked-note{border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--sp-3);background:rgba(var(--ov), .025)}.upload-zone{background:linear-gradient(180deg, rgba(var(--acc-rgb), .07), rgba(var(--acc-rgb), .02));border:1px dashed rgba(var(--acc-rgb), .4);border-radius:var(--r-md);cursor:pointer;align-items:center;gap:10px;padding:12px;transition:all .15s;display:flex}.upload-zone:hover{background:rgba(var(--acc-rgb), .1);border-color:rgba(var(--acc-rgb), .55)}.upload-zone__icon{border-radius:var(--r-md);background:rgba(var(--acc-rgb), .18);width:38px;height:38px;color:var(--acc-text);justify-content:center;align-items:center;display:inline-flex}.upload-zone__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.upload-zone__title{font-size:var(--fs-md);color:var(--text);font-weight:600}.upload-zone__hint{font-size:var(--fs-xs);color:var(--text-mute)}.tag-suggest{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 8px;display:flex}.tag-suggest__label{color:var(--text-dim)}.chip{background:rgba(var(--ov), .05);color:var(--text-soft);border:1px solid var(--line);font-size:var(--fs-xs);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.chip--solid{background:rgba(var(--acc-rgb), .16);color:var(--acc-text);border-color:rgba(var(--acc-rgb), .35)}.chip--ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-bd)}.chip--warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-bd)}.chip--danger{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-bd)}.workspace-assets-panel,.asset-upload{gap:var(--sp-3);display:grid}.asset-upload{grid-template-columns:minmax(260px,1fr) minmax(220px,320px);align-items:end}.upload-zone.is-busy{opacity:.72;cursor:wait}.upload-zone input[type=file]{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.asset-tags-field{color:var(--text-dim);font-size:var(--fs-xs);gap:6px;display:grid}.asset-tags-field input,.asset-delete-confirm input{border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(var(--ov), .045);min-height:38px;color:var(--text);padding:0 12px}.asset-empty{border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--sp-4);color:var(--text-dim);background:rgba(var(--ov), .025)}.file-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.file-list__item{background:rgba(var(--ov), .025);border:1px solid var(--line-soft);border-radius:var(--r-md);grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 12px;transition:all .15s;display:grid}.file-list__item:hover{background:rgba(var(--ov), .05);border-color:var(--line-strong)}.file-list__icon{border-radius:var(--r-sm);background:rgba(var(--ov), .06);width:32px;height:32px;color:var(--text-soft);justify-content:center;align-items:center;display:inline-flex}.file-list__main{min-width:0}.file-list__name{font-size:var(--fs-md);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.file-list__meta{font-size:var(--fs-xs);color:var(--text-dim)}.asset-tags{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.file-list__acts{align-items:center;gap:2px;display:inline-flex}.file-list__act{color:var(--text-dim);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.file-list__act:hover{color:var(--text);background:rgba(var(--ov), .08)}.file-list__act--danger:hover{color:var(--bad);background:var(--bad-soft)}.file-list__act:disabled{opacity:.4;cursor:not-allowed}.file-list__act--accent{color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand-bd)}.file-list__act--accent:hover{color:var(--brand-2);background:var(--brand-soft)}.file-list__act--on{color:#fff;background:var(--brand);box-shadow:none}.file-list__act--on:hover{color:#fff;background:var(--brand-2)}.workspace-asset.is-cover{border-color:var(--brand-bd);background:var(--brand-soft)}.workspace-asset.is-deleting{border-color:var(--bad-bd);background:var(--bad-soft)}.asset-delete-confirm{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--bad-bd);border-radius:var(--r-md);background:var(--bad-soft);grid-column:1/-1;display:grid}.asset-delete-confirm p{color:var(--text);margin:0}.asset-delete-confirm label{color:var(--text-dim);font-size:var(--fs-xs);gap:6px;display:grid}.asset-command{margin-bottom:var(--sp-2)}.flash-progress{gap:7px;margin:10px 0 12px;display:grid}.flash-progress__head{color:var(--text-soft);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:12px;display:flex}.flash-progress__head strong{color:var(--c-flash);font-variant-numeric:tabular-nums}.flash-progress__track{background:rgba(var(--ov), .08);border:1px solid rgba(var(--ov), .08);border-radius:999px;height:8px;overflow:hidden}.flash-progress__fill{background:var(--acc);min-width:2px;height:100%;transition:width .18s}.modal__panel.burn-modal__panel{gap:var(--sp-3);grid-template-columns:minmax(0,1fr);width:min(720px,100vw - 32px);max-height:min(760px,100vh - 32px);display:grid;overflow:hidden auto}.file-list--manage .file-list__item{grid-template-columns:32px minmax(0,1fr) auto auto}.card{background:rgba(var(--ov), .04);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;position:relative;overflow:hidden}.card:before{content:"";background:var(--violet-2);width:3px;position:absolute;top:0;bottom:0;left:0}.card__head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:6px;display:flex}.card__kind{color:var(--text-dim);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:600}.card__title{font-size:var(--fs-md);color:var(--text);margin:2px 0 6px;font-weight:600}.card__list{margin:6px 0 0;padding-left:1.2em}.card__list li{font-size:var(--fs-md);color:var(--text-soft);margin:3px 0}.card__body p{color:var(--text-soft);margin:4px 0}.card__body ul,.card__body ol{color:var(--text-soft);margin:4px 0;padding-left:1.2em}.card__live{font-size:var(--fs-xs);color:var(--c-flash);background:var(--c-flash-bg);border:1px solid var(--c-flash-bd);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;display:inline-flex}.dotpulse{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dotpulse;display:inline-block}@keyframes dotpulse{0%{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}to{opacity:.3;transform:scale(.85)}}.card--explore:before{background:var(--c-blue)}.card--exec:before{background:var(--c-flash)}.card--result:before{background:var(--ok)}.card--action:before{background:var(--bad)}.card--confirm:before{background:var(--text-mute)}.card--ack:before{background:var(--text-faint);opacity:.7}.stage-mini{font-size:var(--fs-sm);color:var(--text-soft);margin:8px 0 4px;padding:0 0 0 18px}.stage-mini li{margin:3px 0;padding-left:4px;list-style:"› "}.logblock{background:var(--bg-code);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre;max-height:180px;margin:8px 0 0;padding:10px 12px;line-height:1.55;overflow:auto}.logblock .lvl-info{color:var(--info)}.logblock .lvl-warn{color:var(--warn)}.logblock .lvl-error{color:var(--bad)}.logblock .lvl-ok{color:var(--ok)}.schematic{background:repeating-linear-gradient(0deg, transparent, transparent 24px, rgba(var(--ov), .025) 24px, rgba(var(--ov), .025) 25px), repeating-linear-gradient(90deg, transparent, transparent 24px, rgba(var(--ov), .025) 24px, rgba(var(--ov), .025) 25px), var(--bg);flex:1;min-height:0;position:relative}.schematic__toolbar{background:var(--bg-app);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--r-md);z-index:10;align-items:center;gap:4px;padding:4px;display:inline-flex;position:absolute;top:12px;left:12px}.schematic__status{z-index:10;position:absolute;top:12px;right:12px}.schematic__stage{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:60px 16px 16px}.board-card{pointer-events:auto;background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--r-2xl);padding:var(--sp-5);width:min(640px,90%);box-shadow:var(--shadow-2);gap:var(--sp-3);display:grid}.board-card__head{padding-bottom:var(--sp-3);border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex}.board-card__head .icon{width:24px;height:24px;color:var(--acc-text)}.board-card__title{font-weight:700;font-size:var(--fs-xl);color:var(--text)}.board-card__sub{font-size:var(--fs-sm);color:var(--text-mute);margin-top:2px}.board-visual{gap:var(--sp-4);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);display:grid}.board-svg-wrap{background:rgba(var(--ov), .03);border:1px solid var(--line-soft);border-radius:var(--r-md);justify-content:center;align-items:center;min-height:180px;padding:12px;display:flex;position:relative}.board-svg-wrap svg{max-width:100%;height:auto}.module-card{background:rgba(var(--ov), .03);border:1px solid var(--line-soft);border-radius:var(--r-md);flex-direction:column;gap:6px;padding:12px;display:flex}.module-card__head{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.module-card__chip{background:rgba(var(--acc-rgb), .14);color:var(--acc-text);border:1px solid rgba(var(--acc-rgb), .32);text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:2px 8px;font-size:10px}.module-card__name{color:var(--text);font-weight:600;font-size:var(--fs-md)}.schematic__stage--doc{pointer-events:auto;overscroll-behavior:contain;padding-bottom:var(--sp-4);justify-content:center;align-items:flex-start;inset:56px 16px 16px;overflow-y:auto}.schematic__doc{pointer-events:auto;background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--r-2xl);padding:var(--sp-5) var(--sp-5);width:min(760px,100%);box-shadow:var(--shadow-2);max-width:none}.schematic__doc-head{padding-bottom:var(--sp-3);margin-bottom:var(--sp-3);border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex}.schematic__doc-head .icon{width:26px;height:26px;color:var(--acc-text)}.schematic__doc-title{font-weight:700;font-size:var(--fs-xl);color:var(--text)}.schematic__doc-sub{font-size:var(--fs-sm);color:var(--text-mute);margin-top:2px}.schematic__doc h2{margin-top:var(--sp-4);color:var(--text);border-bottom:1px solid var(--line-soft);padding-bottom:4px;font-size:15px}.schematic__doc h3{color:var(--acc-text)}.schematic__doc code{background:rgba(var(--acc-rgb), .12);color:var(--acc-text);border:1px solid rgba(var(--acc-rgb), .22);border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:12px}.console-pane{background:var(--bg)}.console-toolbar{background:var(--bg-app);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--r-md);z-index:10;align-items:center;gap:4px;padding:4px;display:inline-flex;position:absolute;top:12px;left:12px}.console-toolbar__buffer{height:28px;color:var(--text-mute);font-size:10px;font-family:var(--font-mono);background:0 0;border:0;align-items:center;gap:6px;margin-left:4px;padding:0 6px;display:inline-flex}.console-status{flex:none;margin-left:2px}.console-toolbar__sep{background:var(--line);flex:none;width:1px;height:16px;margin:0 4px}.console-body{flex:1;min-height:0;padding:64px 16px 16px;display:flex}.console-empty{text-align:center;background:rgba(var(--ov), .02);border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--sp-5);color:var(--text-mute);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.console-empty__icon{background:rgba(var(--acc-rgb), .1);width:48px;height:48px;color:var(--acc-text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.console-empty__title{font-size:var(--fs-lg);color:var(--text);font-weight:600}.console-empty__hint{font-size:var(--fs-sm);color:var(--text-dim);max-width:420px}.console-log__empty{text-align:center;height:100%;color:var(--text-mute);padding:var(--sp-5) var(--sp-3);justify-content:center;align-items:center;display:flex}.console-log{background:var(--bg-code);border:1px solid var(--line);border-radius:var(--r-md);min-height:0;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text);-webkit-user-select:text;user-select:text;flex:1;padding:12px 14px;line-height:1.55;overflow:auto}.console-log__line{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;gap:10px;display:flex}.console-log__time{color:var(--text-dim);-webkit-user-select:text;user-select:text;flex-shrink:0;font-size:.78rem}.console-log__message{color:var(--text);-webkit-user-select:text;user-select:text}.console-log__line.is-error,.console-log__line.is-error .console-log__message{color:var(--bad)}.console-log .ts{color:var(--text-dim)}.console-log .tag{color:var(--acc-text)}.console-log .num{color:var(--ok)}.console-log .val{color:var(--text)}.console-log .err{color:var(--bad)}.console-tool-btn{border:1px solid var(--line);background:var(--bg-input);height:28px;color:var(--text);font-size:var(--fs-xs);cursor:pointer;border-radius:7px;padding:0 10px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.console-tool-btn--primary{background:var(--acc);border-color:var(--acc);color:var(--acc-fg);font-weight:600}.console-tool-btn--primary:hover:not(:disabled){background:var(--acc-hover);border-color:var(--acc-hover);color:var(--acc-fg)}.console-tool-btn:hover:not(:disabled){background:rgba(var(--acc-rgb), .18);border-color:rgba(var(--acc-rgb), .36);color:var(--acc-text)}.console-tool-btn:disabled{opacity:.5;cursor:not-allowed}.console-toast{background:var(--bg-elev);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--text-mute);box-shadow:var(--shadow-1);border-radius:999px;padding:6px 14px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.burn{gap:var(--sp-4);min-height:0;padding:var(--sp-5);flex:1;grid-template-columns:380px minmax(0,1fr);display:grid;overflow:auto}@media (width<=1080px){.burn{grid-template-columns:1fr}}.burn-panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-xl);flex-direction:column;display:flex;overflow:hidden}.burn-panel__head{padding:var(--sp-4);border-bottom:1px solid var(--line)}.burn-panel__head h3{font-size:var(--fs-lg);color:var(--text);align-items:center;gap:8px;margin:0;font-weight:600;display:inline-flex}.burn-panel__sub{font-size:var(--fs-sm);color:var(--text-dim);margin:4px 0 0}.burn-panel__body{padding:var(--sp-4);gap:var(--sp-4);flex-direction:column;display:flex}.mode-pill{background:rgba(var(--ov), .04);border-radius:var(--r-md);border:1px solid var(--line-soft);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.mode-pill button{color:var(--text-mute);font-weight:500;font-size:var(--fs-md);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;display:inline-flex}.mode-pill button.is-active{background:rgba(var(--acc-rgb), .18);color:var(--acc-text);box-shadow:inset 0 0 0 1px rgba(var(--acc-rgb), .32)}.mode-pill button:hover:not(.is-active){color:var(--text)}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--fs-sm);color:var(--text-mute);align-items:center;gap:6px;font-weight:500;display:inline-flex}.field__hint{font-size:var(--fs-xs);color:var(--text-dim)}.input,.select{background:var(--bg-input);border:1px solid var(--line);height:36px;color:var(--text);font-family:inherit;font-size:var(--fs-md);appearance:none;border-radius:8px;padding:0 10px}.input:focus,.select:focus{border-color:rgba(var(--acc-rgb), .55);box-shadow:0 0 0 3px rgba(var(--acc-rgb), .18);outline:none}.input--mono{font-family:var(--font-mono)}.file-row{grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.file-row .input{font-family:var(--font-mono)}.file-row .file-picker{background:rgba(var(--ov), .04);border:1px solid var(--line);height:36px;color:var(--text-soft);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:inline-flex;overflow:hidden}.conn-readout{background:var(--bg-input);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.conn-readout__lamp{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:8px;height:8px}body[data-console-connected=true] .conn-readout__lamp{background:var(--ok);box-shadow:0 0 8px var(--ok-bd)}.conn-readout__text{min-width:0;font-size:var(--fs-sm);color:var(--text-soft);font-family:var(--font-mono);flex:1}.burn-status{background:rgba(var(--ov), .03);border:1px solid var(--line-soft);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-mute);align-items:center;gap:10px;margin-top:4px;padding:10px 12px;display:flex}.burn-status .badge{margin-left:auto}.burn-locked{pointer-events:none;opacity:.55;position:relative}.burn-locked-overlay{background:var(--bg-app);border-radius:var(--r-xl);pointer-events:auto;text-align:center;padding:var(--sp-5);z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.burn-locked-overlay__icon{background:rgba(var(--ov), .05);width:48px;height:48px;color:var(--text-mute);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.burn-locked-overlay__title{font-size:var(--fs-lg);color:var(--text);font-weight:600}.burn-locked-overlay__hint{font-size:var(--fs-sm);color:var(--text-dim);max-width:360px}.terminal{background:var(--bg-code);border:1px solid var(--line);border-radius:var(--r-md);min-height:280px;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text);white-space:pre-wrap;flex:1;padding:12px 14px;line-height:1.6;overflow:auto}.modal{z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal__backdrop{background:var(--bg-app);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;inset:0}.modal__panel{background:linear-gradient(180deg, var(--bg-surface), var(--bg-app));border:1px solid var(--line);border-radius:var(--r-2xl);box-shadow:var(--shadow-2);width:min(480px,92vw);padding:var(--sp-5);position:relative}.modal__title{font-size:var(--fs-xl);color:var(--text);margin:0 0 4px;font-weight:700}.modal__sub{margin:0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--text-mute)}.modal__field{margin-bottom:var(--sp-3);flex-direction:column;gap:6px;display:flex}.modal__field span{font-size:var(--fs-sm);color:var(--text-soft)}.modal__note{font-size:var(--fs-sm);color:var(--text-dim);margin:0 0 var(--sp-3)}.modal__actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.media-preview{z-index:240;padding:var(--sp-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.media-preview__panel{gap:var(--sp-2);flex-direction:column;max-width:min(1100px,92vw);max-height:90vh;display:flex;position:relative}.media-preview__head{align-items:center;gap:var(--sp-2);color:var(--text);display:flex}.media-preview__title{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.media-preview__meta{font-size:var(--fs-sm);color:var(--text-mute);font-family:var(--font-mono);margin-right:auto}.media-preview__body{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-code);justify-content:center;align-items:center;min-height:120px;display:flex;overflow:hidden}.media-preview__slot{display:contents}.media-preview__media{object-fit:contain;max-width:min(1100px,92vw);max-height:78vh;display:block}.media-preview__note{padding:var(--sp-5);font-size:var(--fs-sm);color:var(--text-mute);margin:0}.mobile-tabs{background:var(--bg-app);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);top:var(--header-h);z-index:30;gap:4px;padding:4px;display:none;position:sticky}.mobile-tabs__btn{height:38px;font-size:var(--fs-md);color:var(--text-mute);background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.mobile-tabs__btn.is-active{background:rgba(var(--acc-rgb), .16);color:var(--acc-text);font-weight:600}@media (width<=1400px){.app-header--project .btn--advanced{display:none}}@media (width<=1300px){.app-header--project .app-header__nav{display:none}.app-header--project .app-header__project{border-left:0;padding-left:0}}@media (width<=1100px){.app-header--project .app-header__project .badge{display:none}}@media (width<=1000px){.app-header--project .app-header__actions{display:none}}@media (width<=1280px){.workbench{grid-template-columns:minmax(380px,36vw) minmax(0,1fr)}:root{--rail-w:212px}}@media (width<=1080px){.workbench{grid-template-columns:1fr;height:auto}.chat-column{height:65vh;min-height:480px}.canvas-column{min-height:60vh}}@media (width<=767px){:root{--header-h:50px}.app-header{gap:12px;padding:0 12px}.app-header__nav,.app-header__support{display:none}.app-shell--rail{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);height:auto}.rail__list{max-height:180px}.app-shell--rail .app-main{height:auto;overflow:visible}.view--home{min-height:0}.view--home[data-home-chat=closed] .home-top,.view--home[data-home-chat=open] .home-top{flex:none;max-height:none}.home-hero{flex:none;padding:28px 16px 0}.home-stage{flex:none;height:auto}.home-chat{flex:none;max-height:60vh}.home-deck{padding:14px 16px 22px;overflow:visible}.view--home{--home-gutter:16px;--home-seam:12px}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.mobile-tabs{display:flex}.workbench{grid-template-columns:1fr;height:auto}.chat-column{border-right:0;border-bottom:1px solid var(--line);height:calc(100vh - 130px);min-height:420px}.app-header--project .app-header__actions{display:none}.app-header__project{padding-left:8px}.app-header__project-name{max-width:34vw;font-size:var(--fs-md)}.app-header__project .badge,body[data-mobile-tab=status] .pane[data-pane=chat],body[data-mobile-tab=status] .pane[data-pane=files],body[data-mobile-tab=status] .pane[data-pane=console],body[data-mobile-tab=status] .pane[data-pane=burn],body[data-mobile-tab=chat] .pane[data-pane=status],body[data-mobile-tab=chat] .pane[data-pane=files],body[data-mobile-tab=chat] .pane[data-pane=console],body[data-mobile-tab=chat] .pane[data-pane=burn],body[data-mobile-tab=files] .pane[data-pane=status],body[data-mobile-tab=files] .pane[data-pane=chat],body[data-mobile-tab=files] .pane[data-pane=console],body[data-mobile-tab=files] .pane[data-pane=burn],body[data-mobile-tab=console] .pane[data-pane=status],body[data-mobile-tab=console] .pane[data-pane=chat],body[data-mobile-tab=console] .pane[data-pane=files],body[data-mobile-tab=console] .pane[data-pane=burn],body[data-mobile-tab=burn] .pane[data-pane=status],body[data-mobile-tab=burn] .pane[data-pane=chat],body[data-mobile-tab=burn] .pane[data-pane=files],body[data-mobile-tab=burn] .pane[data-pane=console],body[data-mobile-tab=status] .pane[data-pane=code],body[data-mobile-tab=chat] .pane[data-pane=code],body[data-mobile-tab=files] .pane[data-pane=code],body[data-mobile-tab=console] .pane[data-pane=code],body[data-mobile-tab=burn] .pane[data-pane=code]{display:none}.hw-grid{grid-template-columns:1fr}.kv-list li{grid-template-columns:88px 1fr}.burn{grid-template-columns:1fr;gap:14px;padding:14px}.file-row{grid-template-columns:1fr}.msg__body{max-width:92%}.msg.has-material-card .msg__body{max-width:100%}.material-card__degraded{flex-direction:column;align-items:flex-start;gap:2px}.material-card__uncertainty-guide{grid-template-columns:1fr}}:root{--rl-decision:var(--acc-text);--rl-decision-bg:rgba(var(--acc-rgb), .12);--rl-decision-bd:rgba(var(--acc-rgb), .34);--rl-codex:var(--info);--rl-codex-bg:var(--info-soft);--rl-codex-bd:var(--info-bd)}.live-reason{border:1px dashed var(--rl-decision-bd);background:linear-gradient(180deg, var(--rl-decision-bg), transparent);border-radius:10px;flex-shrink:0;margin:6px 0 12px;overflow:hidden}.live-reason__head{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-soft);padding:8px 12px;font-weight:600;display:flex}.live-reason__pulse{background:var(--rl-decision);border-radius:50%;flex:none;width:7px;height:7px;animation:1.3s ease-in-out infinite reason-pulse}@keyframes reason-pulse{0%,to{opacity:1}50%{opacity:.35}}.live-reason__tag{font-size:var(--fs-xs);color:var(--text-dim);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:2px 8px;font-weight:500}.live-reason__list{gap:9px;margin:0;padding:2px 12px 10px 30px;list-style:none;display:grid}.live-reason__item{font-size:var(--fs-sm);color:var(--text-dim);line-height:1.5;position:relative}.live-reason__item:before{content:"";background:rgba(var(--ov), .2);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:-15px}.live-reason__item--decision:before{background:var(--rl-decision)}.live-reason__item--codex:before{background:var(--rl-codex)}.live-reason__row{align-items:center;gap:7px;display:flex}.live-reason__badge{border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:640}.live-reason__badge--decision{color:var(--rl-decision);background:var(--rl-decision-bg)}.live-reason__badge--codex{color:var(--rl-codex);background:var(--rl-codex-bg)}.live-reason__itemtitle{color:var(--text-soft);font-weight:600}.live-reason__text{color:var(--text-mute);white-space:pre-wrap;word-break:break-word;margin-top:3px}.live-reason__item.is-current .live-reason__text{color:var(--text-soft)}.msg__reason-btn{border:1px solid var(--line);color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;margin-left:10px;padding:2px 9px 2px 7px;font-weight:560;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.msg__reason-btn:hover{color:var(--rl-decision);border-color:var(--rl-decision-bd);background:var(--rl-decision-bg)}.msg__reason-btn .icon{width:13px;height:13px}.reason-drawer{z-index:250;justify-content:flex-end;display:flex;position:fixed;inset:0}.reason-drawer__backdrop{background:var(--bg-app);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:absolute;inset:0}.reason-drawer__panel{background:var(--bg-surface);border-left:1px solid var(--line-strong);width:min(468px,94vw);height:100%;box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:relative}.reason-drawer__head{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line);flex:none}.reason-drawer__titlerow{align-items:center;gap:var(--sp-2);display:flex}.reason-drawer__title{font-size:var(--fs-xl);color:var(--text);margin:0;font-weight:640}.reason-drawer__x{border:1px solid var(--line);background:var(--bg-card);width:30px;height:30px;color:var(--text-mute);cursor:pointer;border-radius:8px;place-items:center;margin-left:auto;display:grid}.reason-drawer__x:hover{color:var(--text);border-color:var(--line-strong)}.reason-drawer__x .icon{width:16px;height:16px}.reason-drawer__sub{font-size:var(--fs-xs);color:var(--text-dim);margin-top:4px}.reason-drawer__meta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.reason-chip{font-size:var(--fs-xs);color:var(--text-mute);background:var(--bg-card);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.reason-dot{border-radius:50%;width:8px;height:8px}.reason-dot--decision{background:var(--rl-decision)}.reason-dot--codex{background:var(--rl-codex)}.reason-drawer__body{padding:var(--sp-3) var(--sp-4) var(--sp-5);flex:auto;overflow:auto}.reason-drawer__empty{padding:var(--sp-5) var(--sp-2);color:var(--text-dim);font-size:var(--fs-md);text-align:center}.reason-drawer__empty--error{color:var(--bad)}.reason-tl{padding-left:22px;position:relative}.reason-tl:before{content:"";background:var(--line);width:2px;position:absolute;top:6px;bottom:6px;left:6px}.reason-entry{margin-top:var(--sp-3);position:relative}.reason-entry__node{background:var(--bg-surface);border:2px solid var(--line-strong);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-22px}.reason-entry--decision .reason-entry__node{border-color:var(--rl-decision)}.reason-entry--codex .reason-entry__node{border-color:var(--rl-codex)}.reason-entry__card{border:1px solid var(--line);background:var(--bg-card);border-radius:10px;overflow:hidden}.reason-entry--decision .reason-entry__card{border-left:3px solid var(--rl-decision)}.reason-entry--codex .reason-entry__card{border-left:3px solid var(--rl-codex)}.reason-entry__head{flex-wrap:wrap;align-items:center;gap:8px;padding:9px 11px;display:flex}.reason-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:640}.reason-badge--decision{color:var(--rl-decision);background:var(--rl-decision-bg)}.reason-badge--codex{color:var(--rl-codex);background:var(--rl-codex-bg)}.reason-entry__title{font-size:var(--fs-sm);color:var(--text-soft);flex:auto;min-width:0;font-weight:600}.reason-entry__time{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:10.5px}.reason-entry__cmd{border:1px solid var(--line);background:var(--bg-input);font-family:var(--font-mono);color:var(--text-soft);white-space:pre;border-radius:7px;margin:0 11px;padding:7px 9px;font-size:11.5px;overflow-x:auto}.reason-entry__body{font-size:var(--fs-sm);color:var(--text-mute);white-space:pre-wrap;word-break:break-word;padding:9px 12px 11px;line-height:1.62}.reason-entry__body.is-mono{font-family:var(--font-mono);color:var(--text-dim);max-height:180px;font-size:11.5px;overflow:auto}.reason-entry__cmd+.reason-entry__body{padding-top:8px}.reason-entry__failed{white-space:nowrap;color:var(--danger);background:#c11b1b1f;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:640}.reason-entry__body.is-empty{color:var(--text-faint);font-style:italic}.reason-entry__decision{color:var(--text-soft);background:var(--bg-soft);border:1px dashed var(--line-strong);border-radius:7px;margin:0 11px 11px;padding:6px 10px;font-size:11.5px;font-weight:560}@media (prefers-reduced-motion:reduce){.reason-drawer__panel,.reason-drawer__backdrop,.live-reason__pulse{animation:none}}.proposal__conflicts{background:color-mix(in srgb, var(--warn) 12%, transparent);border-left:3px solid var(--warn);font-size:var(--fs-sm);border-radius:8px;margin:0 0 12px;padding:10px 12px;list-style:none}.proposal__conflicts--blocking{background:color-mix(in srgb, var(--bad) 14%, transparent);border-left-color:var(--bad)}.proposal__conflicts li+li{margin-top:6px}.proposal__pins{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.proposal__pins th,.proposal__pins td{text-align:left;border-bottom:1px solid var(--border,rgba(var(--ov), .08));padding:6px 8px}.proposal__pins th{color:var(--text-dim);font-weight:500}.proposal__questions{font-size:var(--fs-sm);padding-left:18px}.proposal__questions li+li{margin-top:6px}.proposal__evidence{font-size:var(--fs-sm);margin-top:12px}.proposal__evidence summary{cursor:pointer;color:var(--text-dim)}.proposal__evidence ul{margin-top:8px;padding-left:18px}.proposal__evidence li+li{margin-top:6px}.tpl-detail__hash{font-family:var(--font-mono);word-break:break-all;font-size:11px}.tpl-detail__fwactions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.tpl-detail__download{margin-top:0}.tpl-detail__flashlog{margin:var(--sp-2) 0 0;padding:var(--sp-2);max-height:160px;color:var(--text-mute);background:rgba(var(--ov), .03);border:1px solid var(--line);font-family:var(--font-mono);white-space:pre-wrap;border-radius:6px;font-size:11px;overflow:auto}.main-constraints{border-left:3px solid var(--warn,#d97706);background:color-mix(in srgb, var(--warn,#d97706) 8%, transparent);border-radius:6px;margin-top:12px;padding:10px 12px}.main-constraints__title{color:var(--warn-strong,#b45309);margin:0 0 6px;font-size:13px;font-weight:600}.main-constraints__list{margin:0;padding-left:18px}.main-constraints__item{font-size:13px;line-height:1.6}
