:root{--gray-0:#ffffff;--gray-1:#f7f7f5;--gray-2:#efefec;--gray-3:#e3e3df;--gray-4:#cfcfc9;--gray-6:#8b8b84;--gray-8:#4c4c47;--gray-10:#26262c;--gray-11:#1b1b20;--gray-12:#121216;--accent-9:#3e63dd;--accent-10:#3457c4;--accent-3:#e6ecfd;--green-9:#1a9e4b;--amber-9:#b07d02;--blue-9:#2a6fdb;--red-9:#d92d20;--violet-9:#7048e8;--orange-9:#e8590c;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--radius-s:6px;--radius-m:10px;--radius-l:16px;--stroke:1.5px;--font-sans:"Inter",ui-sans-serif,-apple-system,"SF Pro Text","Segoe UI",sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,monospace;--surface:var(--gray-1);--surface-raised:var(--gray-0);--surface-sunken:var(--gray-2);--text:var(--gray-10);--text-muted:var(--gray-6);--accent:var(--accent-9);--accent-strong:var(--accent-10);--accent-soft:var(--accent-3);--border:var(--gray-3);--border-strong:var(--gray-4);--icon-accent:var(--accent-9);--state-running:var(--green-9);--state-waiting:var(--amber-9);--state-paused:var(--blue-9);--state-error:var(--red-9);--state-stopped:var(--gray-6);--state-idle:var(--gray-6);--dim-length:var(--green-9);--dim-width:var(--orange-9);--dim-height:var(--violet-9);--validation-ok:var(--green-9);--validation-warn:var(--amber-9);--validation-error:var(--red-9);--validation-none:var(--gray-6);--scene-bg:#f1ede6;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:var(--gray-11);--surface-raised:var(--gray-10);--surface-sunken:var(--gray-12);--text:#ececf0;--text-muted:#9a9aa3;--border:#34343c;--border-strong:#45454f;--accent:#6d8cf0;--accent-strong:#8aa3f4;--accent-soft:#26314f;--icon-accent:#6d8cf0;--state-running:#3fc06c;--state-waiting:#d1a02a;--state-paused:#5d95ec;--state-error:#f0655b;--validation-ok:#3fc06c;--validation-warn:#d1a02a;--validation-error:#f0655b;--dim-length:#4cc06e;--dim-width:#f07f3c;--dim-height:#9775f5;color-scheme:dark}}:root[data-theme=dark]{--surface:var(--gray-11);--surface-raised:var(--gray-10);--surface-sunken:var(--gray-12);--text:#ececf0;--text-muted:#9a9aa3;--border:#34343c;--border-strong:#45454f;--accent:#6d8cf0;--accent-strong:#8aa3f4;--accent-soft:#26314f;--icon-accent:#6d8cf0;--state-running:#3fc06c;--state-waiting:#d1a02a;--state-paused:#5d95ec;--state-error:#f0655b;--validation-ok:#3fc06c;--validation-warn:#d1a02a;--validation-error:#f0655b;--dim-length:#4cc06e;--dim-width:#f07f3c;--dim-height:#9775f5;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.45rem;font-weight:650;letter-spacing:-.01em;margin:0 0 var(--sp-4)}h2{font-size:1.05rem;margin:0 0 var(--sp-3)}h2,h3{font-weight:600}h3{font-size:.92rem;margin:0 0 var(--sp-2)}.metric-value,.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app-header{gap:var(--sp-5);padding:var(--sp-3) var(--sp-6);background:var(--surface-raised);position:-webkit-sticky;position:sticky;top:0;z-index:40}.app-header,.offline-banner{display:flex;align-items:center;border-bottom:1px solid var(--border)}.offline-banner{gap:var(--sp-2);padding:8px var(--sp-6);background:color-mix(in srgb,var(--validation-warn,#c47b00) 18%,var(--surface-raised));color:var(--text);font-size:.9rem;z-index:35}.offline-banner strong{color:var(--validation-warn,#c47b00)}.install-hint{display:flex;align-items:center;gap:var(--sp-3);padding:8px var(--sp-6);background:var(--surface-raised);border-bottom:1px solid var(--border);z-index:34}.install-hint .grow{flex:1 1}.brand{display:flex;align-items:center;gap:var(--sp-2);font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.brand small{color:var(--text-muted);font-weight:500}.app-nav{display:flex;gap:var(--sp-1);flex:1 1}.app-nav a{color:var(--text-muted);padding:6px 12px;border-radius:var(--radius-s);font-weight:550}.app-nav a:hover{background:var(--surface-sunken);text-decoration:none}.app-nav a[data-active=true]{color:var(--text);background:var(--surface-sunken)}.page{max-width:1200px;margin:0 auto;padding:var(--sp-6)}.page-wide{max-width:1600px;margin:0 auto;padding:var(--sp-4) var(--sp-6)}.card{border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--sp-4)}.btn,.card{background:var(--surface-raised)}.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:570;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);padding:7px 14px;cursor:pointer;min-height:36px}.btn:hover{background:var(--surface-sunken)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-danger{color:var(--state-error);border-color:var(--state-error)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--surface-sunken)}.btn-sm{padding:3px 9px;min-height:28px;font-size:.85rem}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--sp-3)}.field label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.field input,.field select,.field textarea{font:inherit;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-s);padding:7px 10px;min-height:36px}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px}.field-dim-length input{border-left:4px solid var(--dim-length)}.field-dim-width input{border-left:4px solid var(--dim-width)}.field-dim-height input{border-left:4px solid var(--dim-height)}.badge,.field .hint{font-size:.78rem;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:5px;font-weight:620;border-radius:999px;padding:2px 10px;border:1px solid var(--border);white-space:nowrap}.badge-soon{background:var(--surface-sunken);border-style:dashed}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:.78rem;color:var(--text-muted);font-weight:620;padding:6px 10px}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:8px 10px}.table tr:hover td{background:var(--surface-sunken)}.warn-box{border:1px solid var(--validation-warn);background:color-mix(in srgb,var(--validation-warn) 9%,transparent);border-radius:var(--radius-s);display:flex;gap:8px;align-items:flex-start}.error-box,.warn-box{padding:var(--sp-2) var(--sp-3);font-size:.85rem}.error-box{border:1px solid var(--validation-error);background:color-mix(in srgb,var(--validation-error) 9%,transparent);border-radius:var(--radius-s)}.metrics-bar{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);align-items:center;padding:var(--sp-2) var(--sp-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-m)}.metric{display:flex;flex-direction:column;min-width:64px}.metric-label{font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.metric-value{font-size:.98rem;font-weight:640;white-space:nowrap}.metric-value small{font-weight:500;color:var(--text-muted)}.editor-grid{display:grid;grid-template-columns:290px minmax(0,1fr) 320px;grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start}@media (max-width:1100px){.editor-grid{grid-template-columns:1fr}}.split-views{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4)}@media (max-width:900px){.split-views{grid-template-columns:1fr}.app-header{flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}.app-nav{flex-wrap:wrap;order:3;flex-basis:100%}.tenancy{flex-wrap:wrap;max-width:100%}.tenancy select{max-width:150px}.tenancy-dropdown{width:min(260px,calc(100vw - 24px))}main table{display:block;max-width:100%;overflow-x:auto}}.layer-list{display:flex;flex-direction:column-reverse;gap:4px;max-height:420px;overflow-y:auto}.layer-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-raised);cursor:pointer;font-size:.86rem}.layer-item[data-active=true]{border-color:var(--accent);background:var(--accent-soft)}.layer-item .grow{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-svg{height:auto;display:block;background:var(--scene-bg);border-radius:var(--radius-m);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.candidate-card,.editor-svg{width:100%;border:1px solid var(--border)}.candidate-card{display:flex;gap:var(--sp-3);align-items:center;border-radius:var(--radius-m);padding:var(--sp-3);background:var(--surface-raised);cursor:pointer;text-align:left;font:inherit;color:inherit}.candidate-card[data-selected=true]{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px}.candidate-why{font-size:.82rem;color:var(--text-muted)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-m);padding:var(--sp-6);text-align:center;color:var(--text-muted);background:var(--surface-raised)}.dropzone[data-over=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.issue-list{display:flex;flex-direction:column;gap:6px;font-size:.84rem}.issue{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border-radius:var(--radius-s);border:1px solid var(--border)}.issue[data-sev=error]{border-color:color-mix(in srgb,var(--validation-error) 50%,transparent)}.issue[data-sev=warn]{border-color:color-mix(in srgb,var(--validation-warn) 55%,transparent)}.report-page{max-width:900px;margin:0 auto;padding:var(--sp-6);background:var(--surface-raised)}.report-layers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}@media print{.no-print{display:none!important}body{background:#fff;color:#000}.report-page{max-width:none;padding:0}.card{border:1px solid #bbb}}.row{align-items:center;flex-wrap:wrap}.row,.stack{display:flex;gap:var(--sp-3)}.stack{flex-direction:column}.muted{color:var(--text-muted)}.small{font-size:.84rem}.grow{flex:1 1}.mt{margin-top:var(--sp-4)}.section-title{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-6) 0 var(--sp-3)}kbd{font-size:.75rem;border:solid var(--border-strong);border-width:1px 1px 2px;padding:1px 5px}code,kbd{font-family:var(--font-mono);background:var(--surface-sunken);border-radius:4px}code{font-size:.82em;padding:1px 4px}.mono{font-family:var(--font-mono)}.tenancy{display:flex;align-items:center;gap:var(--sp-2);position:relative}.tenancy-account{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:var(--text-muted)}.tenancy-account select{font:inherit;font-size:.84rem;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-s);padding:4px 8px;max-width:200px}.tenancy-account-single{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-s);color:var(--text)}.tenancy-menu{position:relative}.tenancy-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-s)}.tenancy-menu>summary::-webkit-details-marker{display:none}.tenancy-menu>summary:hover{background:var(--surface-sunken)}.tenancy-user{font-weight:600;font-size:.86rem;white-space:nowrap}.tenancy-dropdown{position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:260px;box-shadow:0 8px 28px rgba(0,0,0,.18)}.tenancy-section-label{font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:10px 0 4px}.tenancy-audit{margin-top:4px;color:var(--state-waiting);font-size:.76rem}.badge[data-role=engineer]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.dot{display:inline-block;width:9px;height:9px;border-radius:999px;flex:none}.dot-ok{background:var(--state-running)}.dot-drift{background:var(--state-waiting)}.dot-none{background:var(--state-idle)}.dot-error{background:var(--state-error)}.dot-sent{background:var(--state-paused)}.status-line{display:inline-flex;align-items:center;gap:7px}.chan{font-size:.72rem;font-weight:650;border-radius:4px;padding:1px 6px;border:1px solid var(--border-strong);text-transform:uppercase;letter-spacing:.03em}.matrix{width:100%;border-collapse:collapse;font-size:.88rem}.matrix td,.matrix th{border:1px solid var(--border);padding:8px 10px;text-align:left}.matrix thead th{background:var(--surface-sunken);font-size:.8rem}.matrix td.center,.matrix th.center{text-align:center}.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.tier-card{border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--sp-4);background:var(--surface-raised);display:flex;flex-direction:column;gap:8px}.tier-card[data-featured=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.tier-price{font-size:1.4rem;font-weight:700}.tier-price small{font-size:.8rem;font-weight:500;color:var(--text-muted)}.tier-feats{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:5px;font-size:.86rem}.tier-feats li:before{content:"✓ ";color:var(--validation-ok);font-weight:700}.readonly-banner{display:flex;gap:8px;align-items:center;border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:var(--radius-s);padding:var(--sp-2) var(--sp-3);font-size:.85rem;color:var(--text-muted)}.grip-preview{background:var(--scene-bg);display:block;width:100%;height:auto}.grip-preview,.token-box{border:1px solid var(--border);border-radius:var(--radius-s)}.token-box{font-family:var(--font-mono);font-size:.72rem;word-break:break-all;background:var(--surface-sunken);padding:var(--sp-2);max-height:96px;overflow:auto}.copilot-panel{margin-top:var(--sp-2)}.copilot-mark{color:var(--accent);font-size:1.1rem;line-height:1}.copilot-lang{display:inline-flex;gap:2px;border:1px solid var(--border);border-radius:var(--radius-s);padding:2px}.btn[data-active=true],.copilot-lang .btn[data-active=true]{background:var(--accent-soft);color:var(--accent-strong)}.btn[data-active=true]{border-color:var(--accent)}.copilot-safety{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--accent-soft);border-radius:var(--radius-s);color:var(--text)}.copilot-input{display:flex;gap:var(--sp-2);align-items:flex-end}.copilot-textarea{flex:1 1;resize:vertical;min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface-raised);color:var(--text);font:inherit}.copilot-textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.copilot-diff{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.copilot-diff[data-valid=false]{border-color:color-mix(in srgb,var(--validation-error) 55%,var(--border))}.copilot-ai-badge{background:var(--accent);color:#fff;border:none;font-weight:650}.copilot-source{background:var(--surface-sunken);color:var(--text-muted)}.copilot-clamp{background:color-mix(in srgb,var(--validation-warn) 25%,transparent);color:var(--validation-warn);margin-left:6px}.copilot-prepo{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);align-items:center}.copilot-view{margin:0;display:flex;flex-direction:column;gap:4px}.copilot-arrow{font-size:1.4rem;color:var(--accent);text-align:center}@media (max-width:640px){.copilot-prepo{grid-template-columns:1fr}.copilot-arrow{transform:rotate(90deg)}}.copilot-changes{margin:4px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px}.copilot-change-head{font-weight:600;font-size:.86rem}.copilot-fields{margin:2px 0 0;padding-left:var(--sp-4);list-style:none}.copilot-rejected{margin:4px 0 0;padding-left:18px}.copilot-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:var(--sp-2);gap:var(--sp-2);margin-top:4px}.copilot-metric{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-raised)}.copilot-metric[data-changed=true]{border-color:var(--accent);background:var(--accent-soft)}.copilot-clarify,.copilot-unresolved{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-sunken)}.copilot-history-list{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.copilot-history-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copilot-outcome[data-outcome=applied]{color:var(--validation-ok)}.copilot-outcome[data-outcome=discarded]{color:var(--text-muted)}.copilot-outcome[data-outcome=pending]{color:var(--state-waiting)}.issue-explain{border-left:2px solid var(--accent);padding-left:var(--sp-2)}.why-candidate>summary.why-summary{cursor:pointer;font-weight:600;color:var(--accent-strong);list-style:none}.why-candidate>summary.why-summary::-webkit-details-marker{display:none}.why-reasons{margin:0;padding-left:var(--sp-4);display:flex;flex-direction:column;gap:3px}