:root{--bg: #16171a;--panel: #1e2024;--line: #2e3136;--text: #e6e3dc;--muted: #9a978f;--accent: #cdb68a;--ok: #7fbf8a;--bad: #e0705a;--warn: #d8b25a;font:13px/1.4 Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}code{font:12px Consolas,monospace;color:var(--accent)}button{background:#2a2d33;color:var(--text);border:1px solid #3a3e45;border-radius:4px;padding:5px 10px;cursor:pointer;font:inherit}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}button.on{background:var(--accent);color:#1b1b1b}button.ghost{background:transparent}button.danger{border-color:#6b3a32;color:#f0b3a5}button.small{padding:2px 6px;font-size:11px;margin:2px 0 6px}h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:14px 0 6px}.muted{color:var(--muted);font-size:12px}.ok{color:var(--ok)}.bad{color:var(--bad)}.boot{padding:40px}.studio{display:grid;height:100vh;grid-template-columns:270px 1fr 410px;grid-template-rows:44px 1fr 150px;grid-template-areas:"h h h" "l m r" "l f r"}header{grid-area:h;display:flex;align-items:center;gap:24px;padding:0 14px;border-bottom:1px solid var(--line);background:#121316}.brand{font-weight:600;letter-spacing:.04em}.brand span{color:var(--muted);font-weight:400;font-size:11px}.vessel em{color:var(--muted);font-style:normal;font-size:11px}.mode{margin-left:auto;border:1px solid var(--warn);color:var(--warn);padding:3px 8px;border-radius:3px;font-size:11px}aside{overflow:auto;padding:4px 12px 12px;background:var(--panel)}.left{grid-area:l;border-right:1px solid var(--line)}.right{grid-area:r;border-left:1px solid var(--line)}main{grid-area:m;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}footer{grid-area:f;overflow:auto;border-top:1px solid var(--line);padding:0 12px;background:#18191c}.toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;border-bottom:1px solid var(--line)}.toolbar .ab{margin-left:auto;display:flex;gap:4px;align-items:center}.viewport{flex:1 1 55%;min-height:260px}.vpinfo{padding:4px 8px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.busy{position:absolute;top:50px;left:50%;transform:translate(-50%);background:#2a2418;border:1px solid var(--accent);padding:8px 14px;border-radius:4px}.evidence{flex:0 1 auto;overflow:auto;max-height:45%;border-top:1px solid var(--line);padding:6px}.evidence figure{margin:0 0 8px}.evidence figcaption{font-size:12px;color:var(--muted);margin-bottom:3px}.trip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.trip img{width:100%;border:1px solid var(--line)}.revs{list-style:none;padding:0;margin:0}.revs li{border-left:3px solid #444;margin-bottom:4px;padding-left:6px}.revs li.on{border-left-color:var(--accent)}.revs li.st-rejected{border-left-color:var(--bad)}.revbtn{display:block;width:100%;text-align:left;background:transparent;border:none;padding:4px 2px}.revbtn i{color:var(--accent);font-style:normal;font-weight:700}.revbtn .msg{color:var(--muted);font-size:11px}.label{display:inline-block;margin-top:3px;font-size:10px;padding:1px 5px;border-radius:3px;background:#3a2a24;color:#f0b3a5}.conflict{border:1px solid #4a3f28;padding:6px;border-radius:4px;margin-bottom:6px;font-size:12px}.props{display:grid;grid-template-columns:96px 1fr;gap:3px 8px;margin:0;font-size:12px}.props dt{color:var(--muted)}.props dd{margin:0;word-break:break-all}.param{display:block;margin:6px 0}.param span{display:block;font-size:12px}.param input[type=range],.param input:not([type]){width:100%}.param input:not([type]){background:#15161a;color:var(--text);border:1px solid var(--line);padding:4px}.row{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.checks{list-style:none;padding:0;margin:0;font-size:12px}.checks li{margin-bottom:4px}.issues{list-style:none;margin:0;padding:0;font:12px Consolas,monospace}.issues li.error{color:var(--bad)}.issues li.warn{color:var(--warn)}.issues li.info{color:var(--muted)}.proj{background:#15161a;color:var(--text);border:1px solid var(--line);padding:3px 6px}.tabs{display:flex;gap:4px;margin:8px 0}.tabs button{flex:1}.badge{font-size:10px;padding:1px 5px;border-radius:3px;background:#333;margin-left:4px}.b-current,.b-computed,.b-engineering_candidate,.b-operational-partial,.b-visual_candidate,.b-cad-native{background:#23412a;color:#9fd3a8}.b-stale,.b-stale_or_superseded,.b-incomplete,.b-not-run,.b-cad-partial,.b-mockup_prepared,.b-planned{background:#45391c;color:#e2c47c}.b-blocked,.b-failed,.b-no-native-cad{background:#4a2620;color:#f0a796}.blocked{background:#2c1a17;border:1px solid #5a2e26;padding:6px;margin:6px 0;font-size:12px;color:#f0b3a5}.warn{color:var(--warn);font-size:12px}.tbl{width:100%;border-collapse:collapse;font-size:11px;margin:4px 0}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:2px 3px;text-align:left}.tbl tr.bad td{color:var(--bad)}.tbl tr.muted td{color:var(--muted)}.lc{border:1px solid var(--line);padding:6px;margin:8px 0;border-radius:4px}.lchead{display:flex;gap:6px;align-items:center}.lchead button{margin-left:auto}.gz{background:#15161a;margin-top:4px}.cfg{list-style:none;padding:0;margin:0;font-size:12px}.cfg li{margin:3px 0}.agent{border-bottom:1px solid var(--line)}.caps{font-size:11px;padding-left:14px}.caps .c-implemented{color:#9fd3a8}.caps .c-partial{color:#e2c47c}.caps .c-blocked{color:#f0a796}.caps .c-planned{color:var(--muted)}.inspector{display:flex;flex-direction:column;gap:6px}.inspector>.tabs{display:flex;flex-wrap:wrap;gap:2px}.insp-head{border-bottom:1px solid #2c2f34;padding-bottom:6px}.insp-title{font-size:15px;font-weight:600;color:#f0e6d2}.insp-head code{margin-right:4px}.groups{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.groups button{font-size:11px;padding:2px 6px}.candbar{border:1px solid #6b5a2e;background:#2a2518;padding:6px;border-radius:4px}.candbar .checks li{font-size:11px}.panel{display:flex;flex-direction:column;gap:6px}.numrow{display:flex;gap:4px;align-items:center}.numrow input[type=range]{flex:1}.numrow input[type=number]{width:64px}input.hex{width:78px}input.rgb{width:48px}.swatches{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.swatches button{width:22px;height:22px;border-radius:50%;border:1px solid #555;padding:0}i.chip{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;border:1px solid #555}.adv{border-left:2px solid #3a3d42;padding-left:8px;display:flex;flex-direction:column;gap:6px}.draftbar{border-top:1px solid #2c2f34;padding-top:6px}ol.controls{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}ol.controls button.ctl{width:100%;text-align:left}ol.controls li.unsupported button.ctl{opacity:.55}.ctlbody{padding:6px;background:#202327;border-radius:4px}.chatlog{max-height:300px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px}.chatlog .msg.user{align-self:flex-end;background:#2b3a4d;padding:4px 8px;border-radius:6px}.chatlog .msg.agent{background:#23262a;padding:4px 8px;border-radius:6px}.chatlog .plan{font-size:12px;margin-top:4px}.fnlist{font-size:11px;padding-left:18px}.toolbar .sep{width:12px;display:inline-block}.warn{color:#e6b450}.small,.row.regions button{font-size:11px}.viewport.picking canvas{cursor:crosshair}textarea{width:100%;background:#16181b;color:#ddd;border:1px solid #3a3d42}.studio.is-sandbox{grid-template-rows:44px 28px 1fr 150px;grid-template-areas:"h h h" "s s s" "l m r" "l f r"}.sandbox-banner{grid-area:s;background:#6b2fa8;color:#fff;font-weight:700;padding:6px 14px;font-size:13px}.studio.is-sandbox header{border-bottom:3px solid #6b2fa8}.scope{border:1px solid #2f6f6a;background:#22e0d00f;border-radius:6px;padding:6px 8px;margin:6px 0;font-size:12px}.scope-part{display:inline-block;background:#22e0d026;border-radius:4px;padding:1px 6px;margin:2px 4px 2px 0}.findpart{display:block;margin:4px 0;font-size:12px}.findpart select{max-width:240px}.edgelist{display:flex;flex-wrap:wrap;gap:3px;max-height:120px;overflow:auto;margin:4px 0}.edgelist button{padding:1px 5px;font-size:11px}.edgelist button.on{background:#ff5a1f;color:#fff}.refview canvas{border:1px solid #333;border-radius:4px}.pairs,.decals{font-size:12px;padding-left:16px}.systems table{width:100%;font-size:12px;border-collapse:collapse;margin:4px 0}.systems td,.systems th{border-bottom:1px solid #2a2c30;padding:2px 4px;text-align:left}.unknown{color:#ffb020}.sld{background:#111316;border:1px solid #333;border-radius:4px;margin:6px 0}.sld-l{stroke:#ffa21f;stroke-width:2;fill:none}.sld-src,.sld-load{fill:#1c2230;stroke:#d04cff}.sld-prot{fill:#2a1a1a;stroke:#ff6b6b}.sld-t{fill:#e8e8e8;font-size:10px}.sld-s{fill:#b8b8b8;font-size:9px}.findings li{font-size:12px}.hull table.hs{width:100%;font-size:12px;border-collapse:collapse}.hull table.hs td{border-bottom:1px solid #2a2c30;padding:2px 4px}.bodyplan{background:#111316;border:1px solid #333;border-radius:4px;margin:6px 0}.live-run{border:1px solid #3a4a5a;border-radius:6px;padding:6px 8px;margin-top:6px;display:grid;gap:6px;font-size:12px}.live-run code{margin-right:4px}.live-run ul{margin:2px 0 0 16px;padding:0}.recon .refs{display:flex;flex-wrap:wrap;gap:6px}.recon .refs figure{margin:0;width:150px}.recon .refs img{width:150px;height:auto;border:1px solid #3a4a5a}.recon .refs figcaption{font-size:10px;color:#9aa}.recon table,.drawings table{border-collapse:collapse}.recon td,.drawings td{border-bottom:1px solid #2a3440;padding:2px 4px;vertical-align:top}.recon input[type=number]{width:80px}.gz{display:block;margin:6px 0;color:inherit}table.kv td{padding:2px 8px 2px 0;vertical-align:top}ul.criteria{margin:4px 0;padding-left:16px}.questions{border:1px solid #c9a24a66;border-radius:6px;padding:8px;margin:8px 0}.questions .q{margin:6px 0}.saved-study{border-left:3px solid #3fb68b;padding-left:8px;margin:8px 0}label.param.changed span{color:#e0b44c}.cutaway{display:inline-flex;align-items:center;gap:4px;margin-left:8px}.cutaway input[type=range]{width:120px}aside.right.chat{display:flex;flex-direction:column;overflow:hidden}.inspector.chat-mode{flex:1;min-height:0}.inspector.chat-mode .insp-head .groups,.inspector.chat-mode .insp-head .findpart{display:none}.chat-panel{flex:1;min-height:0}.chat-panel .chatlog{flex:1;min-height:120px;max-height:none;padding:4px 2px}.chatlog .msg{max-width:92%;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}.chatlog .msg.user{padding:6px 10px;border-radius:10px 10px 2px;white-space:pre-wrap}.chatlog .msg.agent{align-self:stretch;max-width:100%;padding:6px 10px;border-radius:10px 10px 10px 2px}.chatlog code{white-space:normal;overflow-wrap:anywhere}.chat-empty{margin:auto 8px;text-align:center}.composer{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:8px;background:var(--panel)}.composer textarea{resize:vertical;min-height:64px;border-radius:8px;padding:8px}.chat-ask{border:1px solid #e6b450;background:#2a2518;border-radius:8px;padding:8px 10px;overflow-wrap:anywhere}.inspector.chat-mode .insp-head>.muted:not(:first-of-type){display:none}.inspector.chat-mode .candbar .checks,.inspector.chat-mode .candbar .accept-blocked{display:none}.inspector.chat-mode .candbar{padding:4px 6px;font-size:12px}.inspector.chat-mode .candbar .row{margin:2px 0}.inspector.chat-mode .chat-ask{max-height:30vh;overflow-y:auto}.chat-panel .chatlog{scrollbar-width:thin;scrollbar-color:#3a3d42 transparent;padding-right:4px}.chatlog .msg.agent{background:transparent;padding:2px 0;border-radius:0}.chatlog .msg.agent .live-run{border:none;padding:0;margin-top:4px;gap:10px;font-size:13px}.chatlog .msg.agent .live-run>div{line-height:1.45}.chatlog .msg.agent .live-run ul{margin:4px 0 0 18px}.chatlog .msg.agent .plan{font-size:13px}.chatlog .msg.agent+.msg.user{margin-top:10px}
