:root{--bg:#101215;--panel:#171a1f;--panel-2:#1d2128;--line:#272c34;--line-soft:#212630;--text:#e7e9ec;--text-dim:#9aa2ae;--text-faint:#6c7481;--accent:#3fa07a;--accent-dim:#2b7358;--agent:#9a6cf0;--agent-dim:#5b3e94;--bad:#e05a4f;--warn:#dc9a2e;--good:#45b183;--radius:10px;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45;overflow:hidden}#app{grid-template-rows:auto 1fr auto;height:100vh;display:grid}button{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 11px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:#262b34;border-color:#333a45}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--accent-dim);border-color:var(--accent);color:#eafff5}button.primary:hover{background:var(--accent)}button.ghost{background:0 0}button.small{padding:4px 9px;font-size:12px}button.on{background:var(--accent-dim);border-color:var(--accent)}button.link{color:var(--agent);background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}input,select{font:inherit;color:var(--text);border:1px solid var(--line);background:#0d0f12;border-radius:7px;width:100%;min-width:0;padding:5px 8px}input:focus,select:focus{outline:2px solid var(--accent-dim);outline-offset:-1px}code{font-family:var(--mono);font-size:.86em}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:10px 16px;display:flex}.brand{align-items:center;gap:10px;display:flex}.mark{background:linear-gradient(140deg, var(--accent-dim), #1c3b31);border:1px solid var(--accent-dim);color:#cdeee0;border-radius:8px;place-items:center;width:32px;height:32px;font-size:17px;display:grid}.brand-name{letter-spacing:-.01em;font-weight:650}.brand-sub{color:var(--text-faint);font-size:11px}.name-input{background:0 0;border-color:#0000;flex:0 250px;font-weight:550}.name-input:hover{border-color:var(--line)}.health{background:0 0;border-color:#0000;align-items:center;gap:10px;margin-left:auto;padding:4px 8px;display:flex}.health:hover:not(:disabled){background:var(--panel-2);border-color:var(--line)}.health-note{color:var(--text-dim);gap:9px;font-size:12px;display:flex}.health-note.good{color:var(--good)}.count.bad{color:var(--bad)}.count.warn{color:var(--warn)}.score{font-variant-numeric:tabular-nums;border:1px solid;border-radius:999px;align-items:baseline;gap:2px;padding:3px 10px;display:flex}.score strong{font-size:17px}.score span{opacity:.7;font-size:11px}.score.good{color:var(--good);background:#12251d;border-color:#24503f}.score.warn{color:var(--warn);background:#241c0d;border-color:#4d3a15}.score.bad{color:var(--bad);background:#241211;border-color:#4d2622}.agent-access{white-space:nowrap;color:#b6e5cf;background:#12251d;border-color:#24503f;border-radius:999px;padding:5px 13px;font-size:12.5px}.agent-access:hover:not(:disabled){background:#173327}.agent-access.locked{color:#f0c078;background:#241c0d;border-color:#4d3a15}button.icon{padding:6px 10px;line-height:1}button.small.icon{padding:4px 8px}.header-actions{align-items:center;gap:8px;display:flex}.segmented{background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:2px;display:inline-flex}.segmented button{color:var(--text-dim);background:0 0;border:none;border-radius:7px;padding:4px 11px;font-size:12.5px}.segmented button.on{background:var(--line);color:var(--text)}.segmented button:disabled{opacity:.35}.segmented.small button{padding:3px 10px;font-size:12px}.menu{position:relative}.menu>summary{cursor:pointer;background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim);border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;list-style:none;display:inline-flex}.menu>summary::-webkit-details-marker{display:none}.menu>summary:hover{background:#262b34}.menu[open]>summary{color:var(--text);background:#262b34}.menu .caret{opacity:.55;font-size:10px}.menu-body{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:2px;min-width:224px;padding:5px;display:grid;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 16px 44px #0000008c}.menu-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:7px 10px;font-size:12.5px;display:flex}.menu-item:hover{background:var(--panel-2)}.menu-item.check input{width:auto;accent-color:var(--accent);margin:0}.mcp-badge{border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);cursor:help;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:12px;display:inline-flex}.mcp-badge .dot{background:var(--text-faint);border-radius:50%;width:7px;height:7px}.mcp-badge.native .dot{background:var(--good);box-shadow:0 0 0 3px #45b1832e}.mcp-badge.polyfill .dot{background:var(--agent);box-shadow:0 0 0 3px #9a6cf02e}.mcp-badge.unavailable .dot{background:var(--bad)}.mcp-badge .count{color:var(--text-faint);border-left:1px solid var(--line);padding-left:7px}.stage{grid-template-columns:1fr 380px;min-height:0;display:grid}.sheet-host{background:#0b0d10;min-width:0;position:relative}.sheet{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.rail{border-left:1px solid var(--line);background:var(--panel);grid-template-rows:auto 1fr;min-height:0;display:grid}.tabs{border-bottom:1px solid var(--line);display:flex}.tab{color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:10px 6px;font-size:12.5px}.tab.on{color:var(--text);border-bottom-color:var(--accent);background:var(--panel-2)}.rail-body{padding:12px;overflow-y:auto}.panel-note{color:var(--text-faint);border-bottom:1px dashed var(--line);margin:0 0 12px;padding-bottom:10px;font-size:12px}.panel-note code{color:var(--agent)}.empty{text-align:center;color:var(--text-dim);padding:32px 16px}.empty-mark{width:44px;height:44px;color:var(--good);background:#12251d;border:1px solid #24503f;border-radius:50%;place-items:center;margin:0 auto 12px;font-size:22px;display:grid}.issue{border:1px solid var(--line);border-left:3px solid var(--text-faint);border-radius:var(--radius);background:var(--panel-2);cursor:pointer;margin-bottom:10px;padding:11px 12px}.issue:hover{border-color:#38404c}.issue.error{border-left-color:var(--bad)}.issue.warning{border-left-color:var(--warn)}.issue.info{border-left-color:#4a7fb0}.issue header{align-items:baseline;gap:8px;display:flex}.issue h4{margin:0;font-size:13.5px;font-weight:600}.issue p{color:var(--text-dim);margin:6px 0 8px;font-size:12.5px}.sev{text-transform:uppercase;letter-spacing:.07em;border-radius:5px;flex:none;padding:2px 6px;font-size:9.5px}.sev.error{color:#ff9d92;background:#3a1a17}.sev.warning{color:#f2c069;background:#372813}.sev.info{color:#8ec4f0;background:#16283a}.gauge{font-variant-numeric:tabular-nums;border:1px solid var(--line);background:#0e1114;border-radius:7px;align-items:center;gap:8px;padding:4px 9px;font-size:12px;display:inline-flex}.gauge .measured{color:var(--bad);font-weight:600}.gauge .arrow{color:var(--text-faint)}.gauge .required{color:var(--good)}.issue .rule{color:var(--text-faint);margin-top:8px;font-size:11px;display:block}.issue-actions{align-items:center;gap:8px;margin-top:9px;display:flex}.fix-hint{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.event{border-bottom:1px solid var(--line-soft);gap:10px;padding:9px 0;display:flex}.who{background:var(--panel-2);border:1px solid var(--line);width:24px;height:24px;color:var(--text-dim);border-radius:7px;flex:none;place-items:center;font-size:12px;display:grid}.who.agent{border-color:var(--agent-dim);color:#c6a9ff;background:#241a3a}.event-body{min-width:0}.event-title{font-size:12.5px}.event-detail{color:var(--text-faint);margin-top:2px;font-size:11.5px}.event-meta{color:var(--text-faint);align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.event-meta code{color:var(--agent)}.switch{border:1px solid var(--agent-dim);border-radius:var(--radius);background:#1a1526;align-items:center;gap:8px;margin-bottom:12px;padding:9px 10px;font-size:12.5px;display:flex}.switch input{width:auto}.tool{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin-bottom:8px;overflow:hidden}.tool header{cursor:pointer;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 11px;display:flex}.tool header:hover{background:#22262e}.tool-name{color:var(--agent);font-weight:600}.tool-desc{color:var(--text-faint);margin:0;padding:0 11px 10px;font-size:11.5px}.tool.open{border-color:var(--agent-dim)}.chip{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);color:var(--text-faint);border-radius:5px;padding:2px 6px;font-size:9.5px}.chip.read{color:#8ec4f0;background:#13202a;border-color:#23394a}.chip.destructive{color:#ff9d92;background:#2a1513;border-color:#4d2622}.runner{gap:7px;padding:0 11px 11px;display:grid}.runner-note{color:var(--text-faint);font-size:11px}.field{color:var(--text-dim);gap:3px;font-size:11.5px;display:grid}.field em{color:var(--bad);margin-left:2px;font-style:normal}.tool-result{border-top:1px solid var(--line);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:#b9e3cd;background:#0b0d10;max-height:320px;margin:0;padding:10px 11px;font-size:11px;overflow:auto}.dock{background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px;display:flex}.dock-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.overlay-layer{pointer-events:none;z-index:20;position:fixed;inset:0}.overlay-layer>*{pointer-events:auto}.inspector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);background:#171a1ff5;border-radius:12px;gap:9px;width:288px;padding:13px;display:grid;position:absolute;bottom:68px;left:16px;box-shadow:0 14px 40px #00000073}.inspector header{align-items:baseline;gap:8px;display:flex}.inspector h3{margin:0;font-size:14px}.inspector .kind{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:9.5px}.inspector .sub{color:var(--text-faint);margin:0;font-size:11.5px}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.row{flex-wrap:wrap;gap:5px;display:flex}.facts{grid-template-columns:1fr 1fr;gap:6px;margin:2px 0 0;display:grid}.fact{border:1px solid var(--line);background:#0e1114;border-radius:7px;padding:5px 8px}.fact dt{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.fact dd{font-variant-numeric:tabular-nums;margin:0;font-size:13px}.fact.good dd{color:var(--good)}.fact.bad dd{color:var(--bad)}.inspector-actions{gap:6px;display:flex}.palette-grid{grid-template-columns:1fr 1fr;gap:5px;max-height:220px;display:grid;overflow-y:auto}.presence{border:1px solid var(--agent-dim);color:#ddcaff;background:#241a3af2;border-radius:999px;align-items:center;gap:9px;padding:7px 14px;font-size:12.5px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.pulse{background:var(--agent);border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #9a6cf099}50%{opacity:.6;box-shadow:0 0 0 7px #9a6cf000}}.approval{border-bottom:1px solid var(--agent-dim);border-left:3px solid var(--agent);background:linear-gradient(#1e1830,#1a1526);grid-template-rows:auto minmax(0,1fr) auto;gap:9px;max-height:58vh;padding:14px 15px;animation:.18s ease-out rise;display:grid}.approval-body{gap:8px;min-height:0;display:grid;overflow-y:auto}.ghost-note{color:var(--agent);opacity:.85;font-size:11.5px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.approval header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.approval h3{flex:100%;order:2;margin:0;font-size:14px}.approval code{color:var(--agent);order:1;font-size:11px}.agent-tag{text-transform:uppercase;letter-spacing:.07em;background:var(--agent-dim);color:#e6d8ff;border-radius:5px;order:0;padding:2px 7px;font-size:9.5px}.approval p{color:var(--text-dim);margin:0;font-size:12.5px}.changes{color:var(--text);margin:0;padding-left:18px;font-size:12px}.changes li{margin-bottom:3px}.approval-actions{gap:8px;display:flex}.approval-actions button{flex:1}@media (max-width:1080px){.stage{grid-template-rows:minmax(220px,1fr) minmax(180px,42vh);grid-template-columns:1fr}.rail{border-left:none;border-top:1px solid var(--line)}.inspector,.inspector.palette,.inspector.palette.collapsed,.metrics,.brand-sub{display:none}}.scrim{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06080ab8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.help{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(600px,100%);max-height:86vh;padding:26px 28px;overflow-y:auto;box-shadow:0 30px 80px #0009}.help h2{letter-spacing:-.015em;margin:0 0 12px;font-size:22px}.help p{color:var(--text-dim);margin:0 0 14px}.help strong{color:var(--text)}.help code{color:var(--agent)}.help .steps{color:var(--text-dim);margin:0 0 16px;padding-left:20px}.help .steps li{margin-bottom:8px}.help .sub{color:var(--text-faint);font-size:12.5px}.help-actions{justify-content:flex-end;gap:9px;display:flex}.inspector.palette.collapsed{align-items:center;gap:12px;width:auto;max-width:360px;display:flex}.inspector.palette header{justify-content:space-between;align-items:center}.inspector.palette .palette-grid{max-height:240px}.legend{color:var(--text-faint);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;display:inline-flex}.legend .swatch{border-radius:3px;width:11px;height:11px;display:inline-block}.legend .swatch.bad{background:#c63c30}.legend .swatch.warn{background:#d69426}.legend .swatch.good{background:#2e8a6a}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sheet:focus-visible{outline-offset:-3px}.tool header{cursor:pointer}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.panel-note.warn-note{color:#f0c078;border-bottom-color:#4d3a15}.menu-note{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;padding:6px 10px 4px;font-size:11px;overflow:hidden}.menu-item.field-row{grid-template-columns:1fr auto auto;align-items:center;gap:8px;display:grid}.menu-item.field-row input[type=number]{width:76px}.menu-item.field-row input[type=range]{width:120px;accent-color:var(--accent)}.menu-item.field-row .unit{color:var(--text-faint);font-size:11px}#app.dropping .sheet-host:after{content:"Drop an image to trace it";z-index:5;border:2px dashed var(--accent);color:#cdeee0;pointer-events:none;background:#3fa07a1f;border-radius:14px;place-items:center;font-size:15px;display:grid;position:absolute;inset:12px}@media (max-width:1080px){.inspector,.inspector.palette,.inspector.palette.collapsed{display:none}.presence{font-size:12px;top:8px}}.tracing-guide{border:1px solid var(--accent-dim);max-width:min(760px,100vw - 40px);color:var(--text);background:#171a1ff7;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #00000080}.tracing-guide .step{background:var(--accent-dim);color:#eafff5;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid}.tracing-guide input[type=number]{width:78px}.tracing-guide .unit{color:var(--text-faint);margin-left:-4px}@media (max-width:1080px){.tracing-guide{padding:8px 11px;font-size:12px;top:8px}}.empty-state{text-align:center;border:1px solid var(--line);background:#171a1ff7;border-radius:14px;width:min(430px,100vw - 40px);padding:22px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #00000080}.empty-state h3{margin:0 0 6px;font-size:16px}.empty-state p{color:var(--text-dim);margin:0 0 16px;font-size:13px}.empty-state .sub{color:var(--text-faint);margin:14px 0 0;font-size:11.5px}.empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}@media (max-width:1080px){.empty-state{padding:16px}}
