:root{--bg:#f5f7f6;--surface:#fff;--surface-strong:#eef4f1;--ink:#17211d;--muted:#65726d;--line:#d9e1dd;--accent:#0f766e;--accent-strong:#115e59;--amber:#a16207;--red:#b42318;--blue:#1d4ed8;--shadow:0 18px 50px #17211d14;--sidebar-bg:#10231f;--sidebar-ink:#f8fbfa;--sidebar-muted:#ffffff9e;--sidebar-line:#ffffff24;--sidebar-hover:#ffffff1a;--topbar-bg:#f5f7f6eb;--field-bg:#fbfdfc;--hover-surface:#eefaf7;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#101716;--surface:#17211f;--surface-strong:#1e2b28;--ink:#eef7f4;--muted:#9fb0aa;--line:#31413d;--accent:#2dd4bf;--accent-strong:#5eead4;--amber:#fbbf24;--red:#f87171;--blue:#93c5fd;--shadow:0 18px 50px #00000047;--sidebar-bg:#07110f;--sidebar-ink:#f8fbfa;--sidebar-muted:#f8fbfaa3;--sidebar-line:#f8fbfa24;--sidebar-hover:#2dd4bf21;--topbar-bg:#101716e6;--field-bg:#101716;--hover-surface:#18332f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .24s,color .24s}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar-bg);height:100vh;color:var(--sidebar-ink);flex-direction:column;padding:22px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--sidebar-line);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding-bottom:22px;display:grid}.brand span,.sidebar-footer span,.topbar span,.metric span,.hero-metric span,.metadata-grid span,.export-card span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:700}.brand span,.sidebar-footer span{color:var(--sidebar-muted)}.brand strong{letter-spacing:0;font-size:22px;display:block}.brand-mark,.topbar-mark,.auth-logo{object-fit:cover;border-radius:8px;display:block}.brand-mark{width:46px;height:46px}.topbar-title{align-items:center;gap:12px;display:flex}.topbar-mark{width:36px;height:36px}.sidebar nav{flex:1;align-content:start;gap:6px;min-height:0;margin-top:24px;padding-right:4px;display:grid;overflow-y:auto}.sidebar nav a{color:color-mix(in srgb, var(--sidebar-ink) 72%, transparent);border-radius:8px;padding:11px 12px;font-size:14px;font-weight:650}.sidebar nav a.active,.sidebar nav a:hover{background:var(--sidebar-hover);color:#fff}.sidebar-nav-group{gap:4px;display:grid}.sidebar-library-links{border-left:1px solid var(--sidebar-line);gap:2px;margin:0 0 4px 12px;padding-left:8px;display:grid}.sidebar nav .sidebar-library-links a{color:var(--sidebar-muted);padding:6px 9px;font-size:12px}.library-dataset-section{scroll-margin-top:92px}.sidebar-footer{border-top:1px solid var(--sidebar-line);gap:6px;margin-top:auto;padding-top:18px;display:grid}.sidebar-version{border:1px solid var(--sidebar-line);background:var(--sidebar-hover);border-radius:8px;gap:3px;margin-bottom:10px;padding:10px 12px;display:grid}.sidebar-version strong{color:#fff;letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.main-area{min-width:0}.topbar{z-index:4;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:16px 30px;display:flex;position:sticky;top:0}.topbar-title>div{gap:4px;display:grid}.topbar strong{font-size:18px}.firmware-version-selector{z-index:5;flex:0 270px;position:relative}.firmware-version-selector summary{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 12px;list-style:none;display:flex}.firmware-version-selector summary::-webkit-details-marker{display:none}.firmware-version-selector summary>span:first-child{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800}.firmware-version-selector summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.firmware-version-menu{border:1px solid var(--line);background:var(--surface);width:min(380px,100vw - 32px);max-height:min(420px,100vh - 100px);box-shadow:var(--shadow);border-radius:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.firmware-version-option{align-items:center;gap:8px;min-width:0;padding:4px;display:flex}.firmware-version-option a{border-radius:6px;flex:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:9px;display:grid}.firmware-version-option a:hover{background:var(--hover-surface)}.firmware-version-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.firmware-lock-symbol{flex:none;font-size:14px}.firmware-unlock-button{min-height:32px;padding-inline:10px}.firmware-release.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent)}.header-controls label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:700;display:grid}select,input{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;padding:0 12px;font-size:14px}.content-grid{gap:20px;padding:30px;display:grid}.dashboard-hero{border:1px solid var(--line);background:linear-gradient(115deg, #0f766e24, transparent 42%), var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);align-items:end;gap:24px;padding:30px;display:grid}h1,h2,p{margin:0}h1{letter-spacing:0;max-width:780px;font-size:42px;line-height:1.08}h2{font-size:16px}p{color:var(--muted);line-height:1.6}.dashboard-hero p{max-width:720px;margin-top:12px;font-size:16px}.project-scope-card{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line));background:linear-gradient(130deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 52%), var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:22px;padding:24px;display:grid}.project-scope-main{align-content:start;gap:12px;display:grid}.scope-eyebrow,.scope-meta-grid span,.scope-readiness-note>span{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.project-scope-card h2{font-size:clamp(24px,3vw,34px);line-height:1.12}.scope-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.scope-meta-grid>div{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;align-content:start;gap:6px;min-width:0;padding:11px 12px;display:grid}.scope-meta-grid strong,.scope-meta-grid code{overflow-wrap:anywhere;font-size:13px}.scope-actions a{justify-content:center;align-items:center;display:inline-flex}.scope-readiness-note{border:1px solid color-mix(in srgb, var(--amber) 38%, var(--line));border-left:4px solid var(--amber);background:color-mix(in srgb, var(--amber) 8%, var(--surface));border-radius:8px;align-content:start;gap:9px;padding:18px;display:grid}.scope-readiness-note>span{color:var(--amber)}.scope-readiness-note strong{font-size:18px}.firestore-recovery{border-left:4px solid var(--accent);justify-content:space-between;align-items:center;gap:20px;display:flex}.firestore-recovery.has-error{border-left-color:var(--red)}.firestore-recovery>div:first-child{gap:7px;display:grid}.firestore-recovery h1{font-size:clamp(24px,4vw,34px)}.firestore-recovery-actions{justify-items:end;gap:8px;min-width:min(100%,250px);display:grid}.firestore-recovery details{max-width:360px;color:var(--muted);text-align:right;font-size:12px}.firestore-recovery details code{text-align:left;margin-top:8px;display:block}@media (width<=1180px){.project-scope-card{grid-template-columns:1fr}}@media (width<=820px){.scope-meta-grid{grid-template-columns:1fr}.firestore-recovery{flex-direction:column;align-items:stretch}.firestore-recovery-actions{justify-items:stretch}.firestore-recovery details{text-align:left;max-width:none}}.hero-metrics,.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-metric,.metric,.panel,.impact-bucket,.export-card{border:1px solid var(--line);background:var(--surface);border-radius:8px}.hero-metric,.metric{gap:8px;padding:18px;display:grid}.hero-metric strong,.metric strong{font-size:30px}.two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.panel{padding:18px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dense-table{gap:8px;display:grid}.table-row{border:1px solid var(--line);background:var(--surface-strong);color:var(--muted);border-radius:8px;grid-template-columns:minmax(160px,1fr) repeat(3,minmax(90px,.5fr));align-items:center;gap:12px;padding:12px;font-size:13px;display:grid}.table-row strong{color:var(--ink)}.section-list{align-content:start;gap:8px;display:grid}.section-list.compact{gap:6px}.section-row{border:1px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.section-row.selected,.section-row:hover{background:var(--hover-surface);border-color:#0f766e73}.status-badge{text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:7px 9px;font-size:12px;font-weight:800;line-height:1}.status-approved{color:#166534;background:#dcfce7}.status-review{color:#3730a3;background:#e0e7ff}.status-draft,.status-proposed,.status-planning,.status-building{color:#92400e;background:#fef3c7}.status-verification,.status-approval{color:#3730a3;background:#e0e7ff}.status-released{color:#166534;background:#dcfce7}.status-withdrawn{color:#991b1b;background:#fee2e2}.impact-samples,.export-grid,.impact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.impact-samples article{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;padding:14px}.workspace-layout{grid-template-columns:280px minmax(0,1fr) 300px;gap:20px;padding:30px;display:grid}.editor-panel,.proposal-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.editor-header{justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px;display:flex}.editor-header h1{font-size:30px}.metadata-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.metadata-grid>div{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;gap:8px;padding:12px;display:grid}.pill-row{flex-wrap:wrap;gap:6px;display:flex}.record-pill{border:1px solid var(--line);background:var(--surface);max-width:100%;color:var(--muted);border-radius:999px;padding:5px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.markdown-editor{resize:vertical;border:1px solid var(--line);background:var(--field-bg);width:100%;min-height:430px;color:var(--ink);border-radius:8px;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.6}.button-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.primary-button,.secondary-button{border:1px solid #0000;border-radius:8px;place-items:center;min-height:40px;padding:0 14px;font-size:14px;font-weight:750;display:inline-grid}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-strong)}.secondary-button{border-color:var(--line);background:var(--surface);color:var(--ink)}.proposal-panel{align-content:start;gap:12px;display:grid}.proposal{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;gap:6px;padding:12px;display:grid}.proposal span,.muted{color:var(--muted);font-size:13px}.library-header{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.library-header h1{font-size:30px}.library-header input{width:min(360px,100%)}.library-list{gap:10px;display:grid}.library-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:10px;min-width:0;padding:14px;display:grid}.command-row{grid-template-columns:minmax(190px,.85fr) minmax(120px,.5fr) minmax(170px,.65fr) minmax(280px,1.25fr) minmax(220px,.8fr) minmax(96px,auto)}.command-row>strong,.command-row>span,.command-row>p,.library-row>strong,.library-row>span,.library-row>p{overflow-wrap:anywhere;min-width:0}.command-row>strong,.command-row>span{line-height:1.35}.stage-row{grid-template-columns:220px 90px 90px 90px minmax(260px,1fr) minmax(96px,auto)}.telemetry-row{grid-template-columns:220px 100px 90px 100px minmax(240px,1fr) minmax(96px,auto)}.error-row{grid-template-columns:90px 220px 110px minmax(260px,1fr) minmax(220px,.8fr) minmax(96px,auto)}.library-row span,.library-row p{color:var(--muted);font-size:13px}.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-bucket{align-content:start;gap:10px;padding:16px;display:grid}.impact-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;gap:4px;padding:10px;display:grid}.impact-item span{color:var(--muted);font-size:13px}.impact-list{gap:8px;margin:0;padding-left:18px;display:grid}.export-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.export-card{gap:10px;padding:16px;display:grid}.code-button{border:1px solid var(--line);background:var(--surface-strong);min-height:34px;color:var(--ink);white-space:nowrap;border-radius:8px;justify-self:end;padding:0 10px;font-size:12px;font-weight:800}.code-button:hover,.code-button:focus-visible{border-color:color-mix(in srgb, var(--accent) 60%, var(--line));color:var(--accent-strong)}.code-modal-backdrop{z-index:40;background:#0f172a7a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.code-modal{border:1px solid var(--line);background:var(--surface);width:min(860px,100%);max-height:min(760px,100vh - 44px);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:18px;display:grid}.code-modal-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.code-modal-header>div{gap:4px;display:grid}.code-modal-header span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.protocol-readiness-note{border:1px solid color-mix(in srgb, var(--amber) 38%, var(--line));border-left:4px solid var(--amber);background:color-mix(in srgb, var(--amber) 8%, var(--surface));color:var(--ink);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5}.code-modal pre{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;max-height:min(600px,100vh - 170px);margin:0;padding:14px;overflow:auto}.code-modal pre code{white-space:pre;background:0 0;border:0;padding:0;display:block}code{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--surface-strong);max-width:100%;color:var(--ink);border-radius:6px;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;display:inline-block}@media (width<=1180px){.workspace-layout,.dashboard-hero,.two-column{grid-template-columns:1fr}.proposal-panel{order:3}.command-row,.stage-row,.telemetry-row,.error-row{grid-template-columns:1fr 1fr}.impact-samples,.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.sidebar-library-links{display:none}.brand{grid-template-columns:42px minmax(0,1fr)}.brand-mark{width:42px;height:42px}.topbar,.library-header{flex-direction:column;align-items:stretch}.content-grid,.workspace-layout{padding:18px}.hero-metrics,.metric-strip,.metadata-grid,.impact-grid,.impact-samples,.export-grid{grid-template-columns:1fr}h1{font-size:32px}.table-row,.command-row,.stage-row,.telemetry-row,.error-row{grid-template-columns:1fr}}.header-controls{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:12px;display:flex}.control-group{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:700;display:grid}.language-toggle{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:repeat(2,minmax(72px,1fr));min-height:38px;display:grid;overflow:hidden}.language-toggle button{border:0;border-right:1px solid var(--line);color:var(--muted);background:0 0;padding:0 10px;font-size:13px;font-weight:800}.language-toggle button:last-child{border-right:0}.language-toggle button.active{background:var(--accent);color:#fff}.language-short-label{display:none}.lock-button{align-self:end}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}.auth-screen{background:linear-gradient(130deg, #0f766e21, transparent 42%), var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-panel{border:1px solid var(--line);background:var(--surface);width:min(460px,100%);box-shadow:var(--shadow);border-radius:8px;gap:22px;padding:24px;display:grid}.auth-logo{width:58px;height:58px}.auth-language{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800;display:flex}.auth-heading{gap:8px;display:grid}.auth-heading span{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.auth-heading h1{font-size:34px}.auth-form,.auth-form label{gap:10px;display:grid}.auth-form label{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.password-field{display:grid;position:relative}.password-field input{padding-right:50px}.password-visibility{cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:40px;padding:0;display:flex;position:absolute;top:5px;bottom:5px;right:5px}.password-visibility:hover,.password-visibility:focus-visible{background:var(--panel-alt)}.password-eye{border:2px solid;border-radius:70% 20%;width:18px;height:12px;display:block;position:relative;transform:rotate(45deg)}.password-eye:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;left:5px}.auth-error{color:var(--red);font-size:13px;font-weight:700}@media (width<=820px){.auth-language{flex-direction:column;align-items:stretch}.topbar{flex-flow:wrap;align-items:flex-start}.topbar-title{flex:min(220px,100% - 130px);min-width:0}.header-controls{grid-template-columns:38px 76px;justify-content:end;align-items:start;gap:8px;margin-left:auto;display:grid}.theme-control,.language-control{gap:0}.theme-control>span,.language-control>span,.theme-toggle-label,.language-full-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.theme-toggle{grid-template-columns:1fr;place-items:center;width:38px;min-height:38px;padding:0}.theme-toggle-icon{width:16px;height:16px}.language-toggle{grid-template-columns:repeat(2,38px);width:76px;min-height:38px}.language-toggle button{min-width:0;padding:0;font-size:11px}.language-short-label{display:inline}.department-control{order:4;grid-column:1/-1;min-width:min(260px,100vw - 36px)}.lock-button{white-space:nowrap;text-indent:999px;align-self:start;width:38px;min-height:38px;padding:0;overflow:hidden}}.admin-sidebar-link{color:#fff;text-align:center;border:1px solid #ffffff2e;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:800}.admin-shell,.admin-workspace{background:var(--bg);min-height:100vh;padding:30px}.admin-shell{place-items:center;display:grid}.admin-login{gap:22px;width:min(520px,100%);display:grid}.admin-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:end;gap:18px;padding:20px;display:flex}.admin-toolbar h1{font-size:34px}.admin-toolbar label{color:var(--muted);text-transform:uppercase;gap:6px;min-width:240px;font-size:12px;font-weight:800;display:grid}.admin-eyebrow{color:var(--accent-strong);text-transform:uppercase;font-size:12px;font-weight:900}.admin-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:20px;margin-top:20px;display:grid}.admin-editor-panel{min-width:0}.admin-json-editor{resize:vertical;border:1px solid var(--line);background:var(--field-bg);width:100%;min-height:620px;color:var(--ink);tab-size:2;border-radius:8px;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55}.admin-status,.admin-commit-link{color:var(--accent-strong);margin-top:12px;font-size:13px;font-weight:800;display:block}.admin-plan{align-content:start;gap:16px;display:grid}.admin-plan-body{gap:18px;display:grid}.admin-plan h3{text-transform:uppercase;margin:0 0 8px;font-size:13px}.admin-impact-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-impact-counts article strong{font-size:24px}.admin-errors{color:var(--red)}@media (width<=1180px){.admin-grid,.admin-toolbar{grid-template-columns:1fr}.admin-toolbar{flex-direction:column;align-items:stretch}}@media (width<=820px){.admin-shell,.admin-workspace{padding:18px}.admin-impact-counts{grid-template-columns:1fr 1fr}}.status-production{color:#166534;background:#dcfce7}.status-future_reserved{color:#1d4ed8;background:#dbeafe}.status-possible_future_not_approved{color:#9a3412;background:#ffedd5}.status-deprecated{color:#475569;background:#f1f5f9}.scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.production-hero{background:linear-gradient(115deg, #0f766e2e, transparent 42%), var(--surface)}.future-hero{background:linear-gradient(115deg, #f57c0029, transparent 42%), var(--surface)}.compact-library .library-row{grid-template-columns:minmax(180px,.8fr) auto minmax(260px,1.5fr) minmax(120px,auto) minmax(160px,auto)}.main-area>.admin-workspace{min-height:auto}.compact-library{container:compact-library/inline-size}@container compact-library (width<=900px){.library-row{grid-template-columns:1fr;align-items:start}}.release-actions{justify-content:flex-end;margin-top:0}.release-workflow,.release-gates{gap:10px;display:grid}.release-workflow{grid-template-columns:repeat(5,minmax(0,1fr))}.release-gates{grid-template-columns:repeat(4,minmax(0,1fr));margin-block:16px}.release-gates>div{border:1px solid var(--line);background:var(--surface-strong);border-radius:6px;gap:4px;min-width:0;padding:10px;display:grid}.release-gates span{color:var(--muted);font-size:12px;font-weight:750;line-height:1}.release-gates strong{overflow-wrap:anywhere}.gate-pass{color:#166534}.gate-pending{color:#92400e}.release-components .library-row{grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) minmax(140px,1fr) minmax(220px,1.6fr)}@media (width<=820px){.release-workflow,.release-gates{grid-template-columns:1fr 1fr}.release-components .library-row{grid-template-columns:1fr}}@media (width<=1100px){.scope-grid,.compact-library .library-row{grid-template-columns:1fr}}.theme-toggle{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;grid-template-columns:22px auto;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:grid}.theme-toggle:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.theme-toggle-icon{border-radius:999px;width:18px;height:18px;display:block}.theme-toggle-icon.sun{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b2e,0 0 18px #f59e0b73}.theme-toggle-icon.moon{background:#e2e8f0;box-shadow:inset -5px 0 #94a3b8,0 0 16px #e2e8f057}.theme-transition-overlay{z-index:9999;pointer-events:none;opacity:1;place-items:center;transition:opacity .3s;display:grid;position:fixed;inset:0;overflow:hidden}.theme-transition-overlay.phase-out,.theme-transition-overlay.phase-idle{opacity:0}.theme-transition-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff6b;transition:background-color 1.8s;position:absolute;inset:0}.theme-transition-overlay.target-dark .theme-transition-backdrop{background:#02061785}.theme-transition-orbit{position:absolute;inset:0;overflow:hidden}.theme-sun-track,.theme-moon-track{transform-origin:50% 100%;transition:transform 1.9s cubic-bezier(.77,0,.18,1);position:absolute;inset:0}.theme-sun-track.at-center,.theme-moon-track.at-center{transform:rotate(0)}.theme-sun-track.sets,.theme-moon-track.sets{transform:rotate(110deg)}.theme-moon-track.rises-from{transform:rotate(-110deg)}.theme-sun,.theme-moon{border-radius:999px;width:clamp(84px,12vw,132px);height:clamp(84px,12vw,132px);position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.theme-sun{background:radial-gradient(circle at 35% 35%,#fde68a,#f97316 72%);box-shadow:0 0 120px #f97316cc}.theme-moon{background:radial-gradient(circle at 36% 32%,#fff,#cbd5e1 72%);box-shadow:0 0 120px #e2e8f0bd}.theme-moon span{background:#94a3b847;border-radius:999px;display:block;position:absolute}.theme-moon span:first-child{width:17%;height:17%;top:22%;left:24%}.theme-moon span:nth-child(2){width:28%;height:28%;top:43%;left:54%}.theme-moon span:nth-child(3){width:13%;height:13%;top:65%;left:30%}.theme-stars{opacity:0;transition:opacity 1.6s;position:absolute;inset:0}.theme-transition-overlay.target-dark .theme-stars{opacity:1}.theme-stars span{background:#fff;border-radius:999px;animation:1.2s ease-in-out infinite alternate starPulse;display:block;position:absolute}.theme-stars span:first-child{width:5px;height:5px;top:24%;left:24%}.theme-stars span:nth-child(2){width:7px;height:7px;animation-delay:.16s;top:32%;left:68%}.theme-stars span:nth-child(3){width:5px;height:5px;animation-delay:.32s;top:66%;left:34%}.theme-stars span:nth-child(4){opacity:.72;width:8px;height:8px;animation-delay:.48s;top:19%;left:78%}@keyframes starPulse{0%{opacity:.42;transform:scale(.75)}to{opacity:1;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.theme-transition-overlay,.theme-transition-backdrop,.theme-sun-track,.theme-moon-track,.theme-stars,body{transition-duration:1ms;animation-duration:1ms}}.project-assistant{z-index:20;pointer-events:none;justify-items:end;gap:10px;display:grid;position:fixed;bottom:22px;right:22px}.assistant-launcher,.assistant-panel{pointer-events:auto}.assistant-launcher{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--accent);color:#fff;min-height:44px;box-shadow:var(--shadow);border-radius:8px;padding:0 16px;font-size:14px;font-weight:850}.assistant-panel{border:1px solid var(--line);background:var(--surface);width:min(520px,100vw - 44px);max-height:min(680px,100vh - 110px);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.assistant-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.assistant-header>div{gap:3px;display:grid}.document-preview-backdrop{z-index:60;background:#081210b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.document-preview-modal{border:1px solid var(--line);background:var(--surface);width:min(1120px,100%);height:min(900px,100vh - 48px);box-shadow:var(--shadow);border-radius:10px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.document-preview-header,.document-preview-tabs{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.document-preview-header>div{gap:4px;display:grid}.scope-window-actions{align-items:center;gap:10px;display:flex}.scope-window-body,.scope-window-editor{min-height:0;padding:24px;overflow:auto}.scope-window-content{border:1px solid var(--line);background:var(--field-bg);border-radius:8px;max-width:860px;margin:0 auto;padding:clamp(24px,5vw,56px);box-shadow:0 12px 32px #17211d0f}.scope-window-content h1{max-width:650px;color:var(--ink);margin:0;font-size:clamp(30px,4vw,46px);line-height:1.08}.scope-document-cover{border-bottom:1px solid var(--line);gap:10px;margin-bottom:42px;padding-bottom:30px;display:grid}.scope-document-cover>span{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.scope-document-cover h1{margin:0}.scope-document-cover strong{color:var(--ink);font-size:18px;font-weight:750}.scope-document-cover p{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.scope-window-content h1:after{background:var(--accent);content:"";width:64px;height:4px;margin-top:20px;display:block}.scope-window-content h2{border-top:1px solid var(--line);color:var(--accent-strong);margin:42px 0 14px;padding-top:20px;font-size:22px;line-height:1.22}.scope-window-content h3{color:var(--ink);margin:26px 0 8px;font-size:16px;line-height:1.35}.scope-window-content h1:first-child,.scope-window-content h2:first-child,.scope-window-content h3:first-child{margin-top:0}.scope-window-content p{max-width:76ch;color:var(--ink);margin:0 0 14px;font-size:15px;line-height:1.65}.scope-window-list-item{padding-left:22px;position:relative}.scope-window-list-item:before{color:var(--accent);content:"•";font-weight:900;position:absolute;left:3px}.scope-window-editor{grid-template-rows:minmax(360px,1fr) auto;gap:12px;display:grid}.scope-window-editor textarea{resize:vertical;border:1px solid var(--line);background:var(--field-bg);width:100%;min-height:360px;color:var(--ink);border-radius:8px;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.6}.document-preview-tabs{justify-content:flex-start;padding-block:8px}.document-preview-tabs button{border:1px solid var(--line);background:var(--surface-strong);min-height:34px;color:var(--ink);border-radius:8px;padding:0 12px;font-weight:750}.document-preview-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff}.document-preview-frame{background:#fff;border:0;width:100%;height:100%}@media (width<=700px){.firmware-version-selector{flex-basis:min(100%,260px)}.firmware-version-menu{left:0;right:auto}.document-preview-backdrop{padding:8px}.document-preview-modal{height:calc(100vh - 16px)}}.assistant-header>.assistant-header-actions{align-items:center;gap:8px;display:flex}.assistant-header span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.assistant-icon-button{border:1px solid var(--line);background:var(--surface-strong);width:34px;height:34px;color:var(--ink);border-radius:8px;font-size:16px;font-weight:900}.assistant-clear-button{border:1px solid var(--line);background:var(--surface-strong);min-height:34px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:12px;font-weight:800}.assistant-messages{align-content:start;gap:10px;min-height:260px;padding:14px;display:grid;overflow:hidden auto}.assistant-message{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;gap:8px;min-width:0;max-width:92%;padding:10px 12px;display:grid}.assistant-message.user{background:var(--hover-surface);justify-self:end}.assistant-message p{overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;font-size:13px;line-height:1.55}.assistant-message-images,.assistant-upload-previews{flex-wrap:wrap;gap:8px;display:flex}.assistant-message-images img{border:1px solid var(--line);object-fit:contain;background:var(--field-bg);border-radius:6px;width:min(220px,100%);max-height:220px;display:block}.assistant-sources,.assistant-actions{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.assistant-sources code{overflow-wrap:anywhere;white-space:normal;min-width:0;max-width:100%}.assistant-actions .secondary-button{align-items:center;min-height:34px;padding:0 10px;display:inline-grid}.assistant-form{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;display:grid}.assistant-form textarea{resize:vertical;border:1px solid var(--line);background:var(--field-bg);width:100%;min-height:72px;max-height:150px;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.45}.assistant-form .primary-button{align-self:end}.assistant-form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.assistant-image-input{display:none}.assistant-upload-button{min-height:38px}.assistant-upload-preview{border:1px solid var(--line);background:var(--field-bg);border-radius:6px;width:72px;min-height:72px;padding:0;display:grid;position:relative;overflow:hidden}.assistant-upload-preview img{object-fit:cover;width:72px;height:72px;display:block}.assistant-upload-preview span{color:#fff;background:#000000b8;border-radius:4px;padding:4px;font-size:10px;line-height:1;position:absolute;bottom:3px;right:3px}@media (width<=820px){.project-assistant{bottom:14px;right:14px}.assistant-panel{width:calc(100vw - 28px);max-height:calc(100vh - 82px)}.assistant-form .primary-button{min-width:88px}}.benchbot-launcher{width:198px;min-height:198px;box-shadow:none;color:var(--ink);background:0 0;border:0;align-content:end;justify-items:center;gap:4px;padding:0;display:grid;overflow:visible}.benchbot-launcher:hover,.benchbot-launcher:focus-visible{color:var(--accent-strong);background:0 0}.benchbot-image{background-image:url(/benchbot/spritesheet.webp);background-position:var(--frame-x) var(--frame-y);width:155px;height:168px;image-rendering:pixelated;filter:drop-shadow(0 12px 18px #0a1c1838);background-repeat:no-repeat;background-size:800% 1100%;animation:.14s ease-out benchbot-frame-in;display:block}@keyframes benchbot-frame-in{0%{opacity:.84;transform:translateY(2px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.benchbot-label{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;line-height:1}.assistant-actions button.secondary-button{align-items:center;min-height:34px;padding:0 10px;display:inline-grid}@media (width<=820px){.benchbot-launcher{width:162px;min-height:166px}.benchbot-image{width:133px;height:144px}}@media (prefers-reduced-motion:reduce){.benchbot-image{animation:none}}.settings-invite{grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;align-items:end;gap:12px;display:grid}.emulator-page{gap:22px;padding:28px 30px 48px;display:grid}.emulator-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.emulator-heading>div:first-child{max-width:760px}.emulator-heading span,.emulator-machine-bar span,.emulator-trace-header span{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.emulator-heading h1{letter-spacing:-.04em;margin:5px 0 7px;font-size:clamp(30px,3.5vw,46px)}.emulator-heading p,.emulator-empty-trace p{color:var(--muted);margin:0}.emulator-legend{min-width:240px;color:var(--ink);grid-template-columns:auto 1fr;align-items:center;gap:5px 8px;font-size:13px;font-weight:800;display:grid}.emulator-legend i{background:#22c55e;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #22c55e1f}.emulator-legend small{color:var(--muted);grid-column:2;font-weight:600;line-height:1.35}.emulator-model-strip{grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px;display:grid}.emulator-model-card{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);cursor:pointer;text-align:left;border-radius:10px;grid-template-rows:104px auto auto;padding:8px 10px 10px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.emulator-model-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));transform:translateY(-2px)}.emulator-model-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent)}.emulator-model-card img{object-fit:contain;width:100%;height:100%}.emulator-model-card strong{font-size:13px}.emulator-model-card span{color:var(--muted);margin-top:2px;font-size:11px}.emulator-workspace{border:1px solid var(--line);background:var(--surface);min-height:660px;box-shadow:var(--shadow);border-radius:12px;grid-template-columns:minmax(560px,1.15fr) minmax(390px,.85fr);display:grid;overflow:hidden}.emulator-machine-panel{border-right:1px solid var(--line);align-content:start;min-width:0;display:grid}.emulator-machine-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:14px 18px;display:flex}.emulator-machine-bar>div:first-child{gap:3px;display:grid}.emulator-machine-bar strong{font-size:20px}.emulator-zone-summary{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.emulator-zone-summary button{border:1px solid var(--line);background:var(--field-bg);color:var(--ink);cursor:pointer;text-align:left;border-radius:7px;grid-template-columns:auto auto;align-items:center;gap:0 6px;padding:7px 9px;font-size:11px;font-weight:800;display:grid}.emulator-zone-summary button.selected{border-color:var(--accent);background:var(--hover-surface)}.emulator-zone-summary button i{background:#94a3b8;border-radius:50%;grid-row:1/3;width:8px;height:8px}.emulator-zone-summary button i.running{background:#22c55e}.emulator-zone-summary button i.cooling{background:#38bdf8}.emulator-zone-summary button small{color:var(--muted);text-transform:capitalize;font-size:9px;font-weight:600}.emulator-panel-stage{background:radial-gradient(circle at 50% 38%,#ffffff17,#0000 52%),linear-gradient(145deg,#0d1412,#18231f);place-items:center;gap:12px;padding:42px 24px 30px;display:grid}.emulator-panel-art{aspect-ratio:5.08;-webkit-user-select:none;user-select:none;width:min(100%,980px);position:relative;container-type:inline-size}.emulator-panel-art>img{object-fit:contain;filter:drop-shadow(0 16px 24px #0000006b);width:100%;height:100%;display:block}.emulator-display{z-index:2;pointer-events:none;color:#fff;text-align:center;text-shadow:0 0 6px #ffffffb8;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;display:grid;position:absolute;overflow:hidden}.emulator-display.single{width:9%;height:28%;top:38%;left:44.2%}.emulator-display.multi{width:9.7%;height:22%;left:79.2%}.emulator-display.multi.time{top:26%}.emulator-display.multi.temperature{top:53%}.emulator-display strong{letter-spacing:0;white-space:nowrap;max-width:100%;font-size:clamp(8px,2.1cqi,15px);line-height:1}.emulator-display.flashing strong,.emulator-hotspot.flashing:before{animation:.6s step-end infinite emulator-flash}@keyframes emulator-flash{50%{opacity:.18}}.emulator-hotspot{z-index:3;aspect-ratio:1;cursor:pointer;touch-action:none;background:0 0;border:0;border-radius:50%;width:5.4%;padding:0;position:absolute;transform:translate(-50%,-50%)}.emulator-hotspot.power.active:after{content:"⏻";color:#2563eb;text-shadow:0 0 7px #2563ebf2;place-items:center;font-family:Arial,sans-serif;font-size:62%;font-weight:700;line-height:1;display:none;position:absolute;inset:18%}.emulator-hotspot span{opacity:0;color:#fff;pointer-events:none;white-space:nowrap;background:#000000e6;border-radius:4px;padding:4px 6px;font-size:9px;font-weight:800;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.emulator-hotspot:hover span,.emulator-hotspot:focus-visible span{opacity:1}.emulator-panel-help{color:#ffffff9e;margin:0;font-size:11px}.emulator-state-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px 18px;display:grid}.emulator-state-grid article{border:1px solid var(--line);background:var(--field-bg);border-radius:8px;min-width:0;padding:11px}.emulator-state-grid article>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.emulator-state-grid article>strong{text-transform:capitalize;margin:2px 0 9px;font-size:14px;display:block}.emulator-state-grid dl{grid-template-columns:1fr 1fr;gap:7px;margin:0;display:grid}.emulator-state-grid dl div{min-width:0}.emulator-state-grid dt{color:var(--muted);font-size:9px}.emulator-state-grid dd{text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;margin:1px 0 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;overflow:hidden}.emulator-trace{background:color-mix(in srgb, var(--surface) 93%, #0f766e);grid-template-rows:auto auto minmax(0,1fr);min-width:0;display:grid}.emulator-trace-header{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 12px;display:flex}.emulator-trace-header h2{margin:3px 0 0;font-size:18px}.emulator-trace-header button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:6px;padding:7px 9px;font-size:11px;font-weight:800}.emulator-lane-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:0 18px 14px;display:flex}.emulator-lane-filters label{cursor:pointer}.emulator-lane-filters input{opacity:0;pointer-events:none;position:absolute}.emulator-lane-filters span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;display:block}.emulator-lane-filters input:checked+span{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--hover-surface);color:var(--accent-strong)}.emulator-events{min-height:0;max-height:690px;padding:12px 14px 22px;overflow-y:auto}.emulator-events article{border-left:3px solid var(--line);background:var(--surface);border-radius:5px;grid-template-columns:112px minmax(0,1fr);gap:2px 10px;margin-bottom:6px;padding:9px 10px;display:grid}.emulator-events article.lane-panel{border-left-color:#f59e0b}.emulator-events article.lane-logic{border-left-color:#8b5cf6}.emulator-events article.lane-uart{border-left-color:#06b6d4}.emulator-events article.lane-mqtt{border-left-color:#22c55e}.emulator-events article.lane-data-log{border-left-color:#64748b}.emulator-events article>div{grid-row:1/4;align-content:start;gap:3px;display:grid}.emulator-events time{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.emulator-events article>div span{background:var(--surface-strong);width:max-content;color:var(--ink);border-radius:3px;padding:3px 5px;font-size:9px;font-weight:800}.emulator-events article>strong{min-width:0;font-size:12px}.emulator-events article>small{min-width:0;color:var(--muted);font-size:9px}.emulator-events code{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:9px;line-height:1.45;display:block}.emulator-empty-trace{text-align:center;align-content:center;place-items:center;min-height:300px;padding:40px;display:grid}.emulator-empty-trace p{max-width:290px;margin-top:8px;font-size:12px}@media (width<=1320px){.emulator-model-strip{grid-template-columns:repeat(4,minmax(120px,1fr))}.emulator-workspace{grid-template-columns:1fr}.emulator-machine-panel{border-right:0;border-bottom:1px solid var(--line)}.emulator-events{max-height:520px}}@media (width<=820px){.emulator-page{padding:20px 18px 36px}.emulator-heading{flex-direction:column;align-items:stretch}.emulator-model-strip{padding-bottom:5px;display:flex;overflow-x:auto}.emulator-model-card{flex:0 0 138px}.emulator-workspace{min-height:0}.emulator-machine-bar{flex-direction:column;align-items:stretch}.emulator-zone-summary{justify-content:flex-start}.emulator-panel-stage{padding:28px 8px 22px}.emulator-panel-art{min-width:690px}.emulator-panel-stage{justify-items:start;overflow-x:auto}.emulator-state-grid{grid-template-columns:1fr}.emulator-events article{grid-template-columns:86px minmax(0,1fr)}}.settings-users{border:1px solid var(--line);border-radius:8px;gap:1px;display:grid;overflow:hidden}.settings-users article{background:var(--surface);grid-template-columns:minmax(200px,1fr) 160px 160px;align-items:center;gap:12px;padding:14px;display:grid}.settings-users small{color:var(--muted)}.settings-password-edit{gap:8px;margin-top:10px;display:flex}.settings-password-edit input{flex:1;min-width:0}.settings-sidebar-link:before{content:"⚙";margin-right:8px;display:inline-block}@media (width<=700px){.settings-invite,.settings-users article{grid-template-columns:1fr}.settings-password-edit{flex-direction:column}}
