:root{--bg: #0e0e12;--bg-raised: #16161c;--bg-input: #1c1c24;--border: #26262f;--text: #e8e8ee;--text-dim: #8b8b98;--accent: #e8a849;--accent-soft: rgba(232, 168, 73, .14);--good: #4fc487;--bad: #e0654f;--cloud: #6aa9e8;--radius: 10px;font-family:ui-sans-serif,system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer}.btn{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 14px;transition:border-color .15s}.btn:hover{border-color:var(--text-dim)}.btn.send{background:var(--accent);color:#16120a;border:none;font-weight:600}.btn.send:disabled{opacity:.5;cursor:default}.btn.stop{background:var(--bad);color:#fff;border:none;font-weight:600}.btn.approve{background:var(--good);color:#0a1810;border:none;font-weight:600}.btn.deny{background:transparent;color:var(--bad);border-color:var(--bad)}.btn.back{padding:4px 10px}.lobby{max-width:560px;margin:12vh auto 0;padding:0 24px}.lobby h1{font-size:32px;margin-bottom:4px;letter-spacing:-.5px}.app-logo{display:block;height:80px;max-width:100%;object-fit:contain;object-position:left;margin-bottom:8px}.tagline{color:var(--text-dim);margin-top:0}.lobby-new{display:flex;gap:8px;margin:28px 0 20px}.lobby-new input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font:inherit}.lobby-list{display:flex;flex-direction:column;gap:8px}.lobby-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--text);text-align:left;transition:border-color .15s}.lobby-item:hover{border-color:var(--accent)}.lobby-meta{color:var(--text-dim);font-size:14px}.lobby-roles{margin:36px 0 60px}.lobby-roles-title{font-size:14px;color:var(--text-dim);letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.lobby-role{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:14px}.lobby-role:last-child{border-bottom:none}.lobby-role-name{color:var(--text);font-weight:500}.lobby-role-model{color:var(--accent);font-family:ui-monospace,monospace;font-size:13px}.lobby-role-purpose{color:var(--text-dim)}.studio{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.topbar-logo{height:34px;object-fit:contain;margin-right:6px}.project-name{font-weight:600;font-size:15px}.spacer{flex:1}.dial{color:var(--text-dim);font-size:14px;display:flex;align-items:center;gap:8px}.dial select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font:inherit;font-size:14px}.split{flex:1;display:grid;grid-template-columns:minmax(360px,34%) 1fr;min-height:0}.single{flex:1;min-height:0;display:flex;flex-direction:column}.tab-strip{display:flex;gap:4px;margin-left:6px}.tab-btn{background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:6px;padding:5px 12px;font:inherit;font-size:13.5px;cursor:pointer}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-color:var(--border);background:var(--bg-input)}.chat{display:flex;flex-direction:column;border-right:1px solid var(--border);min-height:0}.chat-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.msg{border-radius:var(--radius);padding:10px 14px;max-width:92%;line-height:1.5}.msg.user{align-self:flex-end;background:var(--accent-soft);border:1px solid rgba(232,168,73,.25);white-space:pre-wrap}.msg.assistant{align-self:flex-start;background:var(--bg-raised);border:1px solid var(--border)}.msg.status{align-self:center;color:var(--text-dim);font-size:13.5px;padding:2px 10px}.msg.status.pulse{animation:pulse 1.4s ease-in-out infinite}.msg.error{align-self:center;color:var(--bad);font-size:14px}.msg-img{max-width:220px;border-radius:8px;display:block;margin-bottom:6px}@keyframes pulse{50%{opacity:.35}}.md p:first-child{margin-top:0}.md p:last-child{margin-bottom:0}.md code{background:var(--bg-input);padding:1px 5px;border-radius:4px;font-size:.9em}.md pre{background:var(--bg-input);padding:10px;border-radius:8px;overflow-x:auto}.decision-card{align-self:stretch;background:var(--bg-raised);border-left:3px solid var(--good);border-radius:6px;padding:10px 14px}.decision-badge{font-size:11.5px;letter-spacing:1px;color:var(--good);font-weight:700}.decision-text{margin-top:4px;font-weight:500;font-size:15px;white-space:pre-wrap}.decision-rationale{color:var(--text-dim);font-size:14px;margin-top:2px}.egress-card{align-self:stretch;background:var(--bg-raised);border-left:3px solid var(--cloud);border-radius:6px;padding:10px 14px}.egress-head{display:flex;justify-content:space-between;align-items:center}.egress-badge{font-size:11.5px;letter-spacing:1px;color:var(--cloud);font-weight:700}.egress-status{font-size:12px;text-transform:uppercase;letter-spacing:.5px}.egress-status.pending{color:var(--accent)}.egress-status.approved,.egress-status.auto-approved{color:var(--good)}.egress-status.denied{color:var(--bad)}.egress-label{color:var(--text-dim);font-size:13px;margin:8px 0 4px}.egress-payload{background:var(--bg-input);border-radius:6px;padding:10px;font-size:13.5px;white-space:pre-wrap;margin:0;font-family:ui-monospace,monospace}.egress-edit{width:100%;background:var(--bg-input);color:var(--text);border:1px solid var(--cloud);border-radius:6px;padding:10px;font-size:13.5px;font-family:ui-monospace,monospace}.egress-actions{display:flex;gap:8px;margin-top:10px}.meter-line{align-self:center;color:var(--text-dim);font-size:13px;font-family:ui-monospace,monospace;padding:0 10px;opacity:.92}.meter-line.failed{color:var(--bad)}.metrics-strip{align-self:stretch;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:13px;font-family:ui-monospace,monospace;color:var(--text-dim)}.metrics-badge{font-size:11.5px;letter-spacing:1px;color:var(--accent);font-weight:700;font-family:inherit}.metrics-project{margin-left:auto;opacity:.85}.topbar .usage{color:var(--text-dim);font-size:13.5px;font-family:ui-monospace,monospace}.pending-imgs{display:flex;gap:8px;padding:8px 16px 0}.pending-imgs img{height:52px;border-radius:6px;cursor:pointer;border:1px solid var(--border)}.chat-input{display:flex;gap:8px;padding:12px 16px 16px;align-items:flex-end}.chat-input textarea{flex:1;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font:inherit;resize:none;line-height:1.4}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.attach-btn{width:38px;height:38px;display:grid;place-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:20px;cursor:pointer}.attach-btn:hover{border-color:var(--accent);color:var(--accent)}.mic-btn,.voice-toggle{width:38px;height:38px;display:grid;place-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0}.mic-btn:hover,.voice-toggle:hover{border-color:var(--accent);color:var(--accent)}.mic-btn.on{border-color:var(--bad);color:var(--bad);animation:pulse 1.2s ease-in-out infinite}.mic-btn:disabled{opacity:.55;cursor:default}.mic-btn.err{border-color:var(--bad);color:var(--bad)}.voice-toggle.on{border-color:var(--good);color:var(--good)}.lobby-filter{display:flex;gap:6px;margin:4px 0 10px}.lobby-row{display:flex;gap:6px;align-items:stretch}.lobby-row .lobby-item{flex:1}.lobby-act{background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:0 12px;font-size:13px;cursor:pointer}.lobby-act:hover{border-color:var(--accent);color:var(--accent)}.lobby-act.danger:hover{border-color:var(--bad);color:var(--bad)}.lobby-act.danger.armed{border-color:var(--bad);color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,var(--bg-input));white-space:nowrap}.taste-grid{display:flex;flex-direction:column;gap:10px}.taste-card{display:flex;gap:12px;align-items:flex-start;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:10px}.taste-shot{width:96px;max-height:150px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--border);flex:none}.taste-shot-empty{height:96px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:11px;background:var(--bg)}.taste-body{flex:1;min-width:0}.taste-title{font-size:13px;font-weight:600;margin-bottom:4px}.taste-note{font-size:13px;color:var(--text);font-style:italic;margin-bottom:6px;white-space:pre-wrap}.taste-ctx{font-size:11px;color:var(--text-dim)}.taste-card .lobby-act{align-self:flex-start;padding:4px 10px}.lobby-empty{color:var(--text-dim);font-size:14px;padding:14px 4px}.canvas-body{flex:1;display:flex;min-height:0;padding:10px;gap:10px}.canvas-stage{flex:1;display:flex;min-width:0;position:relative}.canvas-stage.device-mobile,.canvas-stage.device-tablet{justify-content:center;background:#0b0b0f;border-radius:10px;padding:14px 0}.device-fit{flex:0 0 auto;align-self:center;overflow:hidden;border-radius:18px;box-shadow:0 8px 30px #00000073;background:#0b0b0f}.device-inner{display:flex;background:#0b0b0f}.device-inner .canvas-frame,.device-inner .canvas-live-wrap{background:#0b0b0f}.device-inner .canvas-frame,.device-inner .canvas-live-wrap{width:100%;height:100%;flex:1}.device-chip{cursor:default;opacity:.85}.bug-chip{margin-left:auto;margin-right:32px;flex-shrink:0;white-space:nowrap}.bug-chip:hover{border-color:#f0b429;color:#f0b429}.topbar-bug{margin-left:0;margin-right:10px}.asset-file{font:11px/1.4 ui-monospace,monospace;color:var(--text-dim);cursor:copy;-webkit-user-select:all;user-select:all}.asset-file:hover{color:var(--text)}.rec-dot{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:30;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#121218d9;color:#e5484d;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.rec-dot:hover{border-color:#e5484d}.rec-dot.rec{background:#c62a2f;color:#fff;animation:rec-pulse 1.4s ease-in-out infinite}@keyframes rec-pulse{0%,to{box-shadow:0 0 #e5484d80}50%{box-shadow:0 0 0 8px #e5484d00}}.rec-resume{position:absolute;left:64px;top:50%;transform:translateY(-50%);z-index:30}.device-fit{transition:opacity .3s ease}.device-fit.demo-fade{opacity:.06}.demo-dot{top:calc(50% + 56px);color:#b9a7ff;font-size:9px;font-weight:700;letter-spacing:.4px}.demo-dot:hover{border-color:#7c5cff}.demo-dot.rec{background:#5b3fd6;color:#fff}.packs-anchor{position:relative}.packs-panel{position:absolute;top:34px;right:0;z-index:40;width:440px;max-height:60vh;overflow-y:auto;background:var(--panel, #16161c);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 34px #00000080;padding:8px;display:flex;flex-direction:column;gap:6px}.packs-head{font-size:12px;opacity:.75;padding:4px 6px}.pack-row{text-align:left;background:transparent;border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;color:inherit}.pack-row:hover:not(:disabled){border-color:var(--accent, #7c6cf2)}.pack-row.on{opacity:.65;cursor:default}.pack-name{font-weight:600;font-size:13px}.pack-desc{font-size:12px;opacity:.75;line-height:1.35}.poster-states{display:flex;gap:10px;margin-top:8px;overflow-x:auto}.poster-state-cell{flex:none}.poster-state-caption{font-size:11px;opacity:.75}.stage-col{flex:1;display:flex;flex-direction:column;min-width:0;gap:8px}.stage-col .canvas-stage{flex:1;min-height:0}.state-pills-bar{flex:none;display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;padding:2px 0}select.poster-cols{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:10px}.vchip:disabled{opacity:.45;cursor:not-allowed}.vchip:disabled:hover{border-color:var(--border);color:inherit}.guidelines-view{flex:1;overflow:auto;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:26px 34px}.guidelines-view .md{max-width:860px;margin:0 auto;line-height:1.55}.guidelines-view .md table,.guidelines-panel-body .md table{border-collapse:collapse;margin:12px 0}.guidelines-view .md th,.guidelines-view .md td,.guidelines-panel-body .md th,.guidelines-panel-body .md td{border:1px solid var(--border);padding:6px 10px;text-align:left}.guidelines-panel{width:360px}.guidelines-panel-body{flex:1;overflow:auto;padding:12px 16px;font-size:13px;line-height:1.5;min-height:0}.warn-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e5a13d;margin-left:6px;vertical-align:middle}.canvas-stage:fullscreen{background:#000}.canvas-stage:fullscreen .canvas-frame{border:none;border-radius:0;box-shadow:none}.canvas-body .canvas-frame{flex:1;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 14px #0000002e}.canvas-body .tokens-panel{border:1px solid var(--border);border-radius:10px}.rail-spacer{flex:1}a.vchip{text-decoration:none;display:inline-flex;align-items:center}.tokens-panel{width:280px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--bg-raised)}.tokens-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);font-weight:600;font-size:14px}.tokens-actions{display:flex;gap:6px}.tokens-list{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.tokens-empty{color:var(--text-dim);font-size:13.5px}.token-row{display:flex;align-items:center;gap:8px}.token-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:13px}.token-row input[type=color]{width:30px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);cursor:pointer}.token-value{width:96px;background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 7px;font-size:12.5px;font-family:ui-monospace,monospace}.pin-row{display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid var(--border);border-radius:8px}.pin-head{display:flex;align-items:center;gap:8px}.pin-badge{width:20px;height:20px;display:grid;place-items:center;flex:none;background:var(--accent);color:#fff;border-radius:999px;font-size:12px;font-weight:700}.pin-target{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--text-dim)}.pin-x{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px}.pin-x:hover{color:var(--bad)}.pin-note{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 8px;font-size:13.5px}.vchip.thumb{display:inline-flex;flex-direction:row;align-items:center;gap:6px;padding:6px 10px 6px 6px}.vchip.thumb img{width:38px;height:24px;object-fit:cover;object-position:top;border-radius:4px;display:block}.vchip.thumb span{font-size:12.5px}.canvas-live-wrap{position:relative;flex:1;display:flex}.canvas-live-wrap .canvas-frame{flex:1}.building-badge{position:absolute;top:10px;right:12px;z-index:2;background:var(--accent);color:#16120a;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px;animation:pulse 1.2s ease-in-out infinite}.tokens-stack{display:flex;flex-direction:column;min-height:0;width:280px;gap:10px}.tokens-stack .tokens-panel{width:auto;flex:1}.themes-box{border:1px solid var(--border);border-radius:10px;background:var(--bg-raised)}.themes-body{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;align-items:center}.theme-save{display:flex;gap:6px;width:100%}.theme-save input{flex:1;background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:5px 8px;font-size:13px}.region-apply{margin-left:8px;font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;vertical-align:middle}.region-apply:hover{border-color:var(--accent);color:var(--accent)}.dlog{flex:1;display:flex;flex-direction:column;min-height:0}.dlog-head{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--bg-raised);flex-wrap:wrap}.dlog-title{font-weight:600;font-size:15px}.dlog-sub{color:var(--text-dim);font-size:13px}.dlog-scroll{flex:1;overflow-y:auto;padding:18px 24px;display:flex;flex-direction:column;gap:12px}.dlog-empty{color:var(--text-dim);font-size:14.5px;max-width:520px}.dlog-entry{display:flex;gap:14px;border:1px solid var(--border);border-radius:10px;padding:12px 16px;background:var(--bg-raised);max-width:980px}.dlog-meta{display:flex;flex-direction:column;gap:4px;flex:none;width:92px}.dlog-badge{font-size:10.5px;font-weight:700;letter-spacing:.6px;border-radius:4px;padding:2px 7px;text-align:center}.dlog-badge.decision{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.dlog-badge.version{background:color-mix(in srgb,var(--good) 20%,transparent);color:var(--good)}.dlog-badge.critique{background:color-mix(in srgb,#4f9cf9 22%,transparent);color:#4f9cf9}.dlog-badge.flow{background:color-mix(in srgb,#b07cf9 22%,transparent);color:#b07cf9}.dlog-ts{color:var(--text-dim);font-size:11.5px}.dlog-body{flex:1;min-width:0}.dlog-main{font-size:14.5px}.dlog-dim{color:var(--text-dim);font-size:13.5px;margin-top:3px}.dlog-version{display:flex;gap:12px;align-items:center}.dlog-version img{width:96px;height:60px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--border)}.dlog-critique{white-space:pre-wrap;color:var(--text-dim);font-size:13.5px;margin-top:8px;line-height:1.55}.dlog-body details summary{cursor:pointer}.dlog-flowstrip{display:flex;gap:10px;overflow-x:auto;margin-top:10px;padding-bottom:4px}.dlog-flowstrip figure{margin:0;flex:none;width:150px}.dlog-flowstrip img{width:150px;height:94px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--border)}.dlog-flowstrip figcaption{font-size:11.5px;color:var(--text-dim);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-doc{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border)}.req-doc-head{display:flex;align-items:baseline;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-raised)}.req-doc-title{font-weight:600;font-size:15px}.req-doc-version{color:var(--good);font-size:13px;border:1px solid var(--good);border-radius:999px;padding:1px 10px}.req-doc-scroll{flex:1;overflow-y:auto;padding:18px 24px}.req-doc-body{max-width:760px;font-size:14.5px;line-height:1.55}.req-doc-body h1{font-size:19px;margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.req-doc-body h1:first-child{margin-top:0}.req-doc-body h2{font-size:16px;margin:16px 0 8px}.req-doc-body li{margin:4px 0}.req-doc-empty{color:var(--text-dim);font-size:14.5px;max-width:520px;line-height:1.5}.canvas{display:flex;flex-direction:column;min-height:0}.version-rail{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--bg-raised)}.screen-strip{background:var(--bg-input);align-items:center}.section-strip{border-bottom-style:dashed}.strip-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-right:2px}.screen-strip .theme-save{display:inline-flex;margin:0}.screen-strip .theme-save input{width:130px}.flow-map-panel{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 14px;font-size:12.5px;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--bg-raised)}.flow-link{white-space:nowrap}.flow-arrow{color:var(--accent)}.flow-planned{opacity:.6;font-style:italic}.canvas-body{position:relative}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-raised) 97%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.map-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}.map-crumb{display:flex;align-items:center}.map-title{margin-left:12px;font-size:13.5px;color:var(--text-dim)}.map-tabs{display:flex;gap:6px;padding:8px 14px 0;flex-wrap:wrap}.map-scroll{position:relative;overflow:auto;flex:1}.map-nodes{position:absolute;top:0;left:0;height:0}.map-node{position:absolute;width:148px;height:56px;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-dim);cursor:pointer}.map-node:hover{border-color:var(--accent)}.map-node.active{border-color:var(--accent);color:var(--accent)}.map-node.section{border-style:dashed}.map-node-name{font-size:13.5px;font-weight:600;max-width:136px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-node-sub{font-size:11.5px;opacity:.75;max-width:136px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-edge{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.7}.map-edge.planned{stroke-dasharray:4 4;opacity:.5}.map-arrow{fill:var(--accent)}.map-legend{padding:6px 14px 12px;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-dim)}.bar-select{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);white-space:nowrap}.bar-select select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:13px;max-width:180px}.overview-toggle{display:inline-flex;gap:4px;margin-left:6px;padding-left:8px;border-left:1px solid var(--border)}.poster-wrap{flex:1;overflow:auto;background:var(--bg-raised)}.poster{padding:16px;display:flex;flex-direction:column;gap:22px}.poster-sec-head{font-size:13px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.poster-row{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px}.poster-cell{flex:none;min-width:120px;max-width:420px}.poster-frame-wrap{overflow:hidden;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:#fff;position:relative}.poster-frame-wrap:hover{border-color:var(--accent)}.poster-frame{border:none;transform-origin:top left;pointer-events:none}.poster-caption{margin-top:6px;font-size:12.5px;color:var(--text-dim)}.poster-links{opacity:.8;font-style:italic;margin-left:6px}.flowtab{display:flex;flex:1;min-height:0}.flowtab-map{position:relative;flex:1;min-width:0}.flowtab-panel{width:320px}.flow-add{display:flex;flex-direction:column;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:10px}.flow-add select{flex:1;min-width:0;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px}.flow-note{min-height:56px;resize:vertical;font-family:inherit}.flow-note-text{font-size:12.5px;color:var(--text-dim);margin:4px 0 6px;font-style:italic}.vchip.wire{border-color:var(--good);color:var(--good);align-self:flex-start}.cands{display:flex;flex-direction:column;flex:1;min-height:0}.cands-msg{padding:8px 20px;font-size:13px;color:var(--accent);border-bottom:1px solid var(--border)}.cand-row{padding:16px 20px;border-bottom:1px solid var(--border)}.cand-frames{display:flex;gap:16px;flex-wrap:wrap}.cand-frames figure{margin:0}.cand-frames iframe{width:480px;height:300px;border:1px solid var(--border);border-radius:10px;background:#fff}.cand-frames figcaption{font-size:12.5px;color:var(--text-dim);margin-top:4px}.cand-actions{display:flex;gap:8px;margin-top:10px}.cand-conflicts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:10px;border:1px dashed var(--border);border-radius:8px}.asset-row{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.asset-thumb{width:48px;height:48px;object-fit:contain;border-radius:6px;flex:none;background:repeating-conic-gradient(#2a2a31,#2a2a31 25%,#1c1c22 0%,#1c1c22 50%) 0 0 / 12px 12px}.asset-fields{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.asset-line{display:flex;gap:4px;align-items:center}.asset-line input{flex:1;min-width:0}.asset-line select{background:var(--bg-input);color:var(--text-dim);border:1px solid var(--border);border-radius:6px;font-size:12px;padding:3px 4px}.pin-x.armed{color:#ff6b6b;border-color:#ff6b6b}.vchip{background:var(--bg-input);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:4px 14px;font-size:13.5px;white-space:nowrap}.vchip.active{border-color:var(--accent);color:var(--accent)}.vchip.restore{border-color:var(--good);color:var(--good)}.canvas-frame{flex:1;border:none;background:#fff}.canvas-empty{flex:1;display:grid;place-items:center;color:var(--text-dim);font-size:15px}.istudio{display:flex;flex-direction:column;min-height:0;flex:1}.istudio-controls{padding:12px 20px;background:var(--bg-raised);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.istudio-topline{display:flex;align-items:baseline;gap:12px}.istudio-title{font-size:16px;font-weight:600}.istudio-model{color:var(--text-dim);font-size:13px;font-family:ui-monospace,monospace}.istudio-prompt-row{display:flex;gap:8px;align-items:flex-end}.istudio-prompt{flex:1;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font:inherit;resize:none;line-height:1.4}.istudio-prompt:focus{outline:none;border-color:var(--accent)}.istudio-opts{display:flex;gap:20px;align-items:center;font-size:14px;color:var(--text-dim)}.istudio-opts label{display:flex;align-items:center;gap:8px}.istudio-opts select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font:inherit;font-size:13.5px}.istudio-checkbox{cursor:pointer}.istudio-err{color:var(--bad);font-size:14px}.istudio-approval{margin-top:10px;padding:12px;border:1px solid var(--cloud);border-radius:8px;background:var(--bg-input);display:flex;flex-direction:column;gap:8px}.istudio-approval-title{color:var(--cloud);font-size:13px}.istudio-approval textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font:inherit;font-size:13.5px;resize:vertical}.istudio-approval-actions{display:flex;gap:8px}.istudio-asset-form{display:flex;gap:6px;padding:0 12px 12px;flex-wrap:wrap}.istudio-asset-form select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:12.5px}.istudio-asset-form .btn{font-size:12.5px;padding:4px 10px}.istudio-compare{padding:16px 20px;border-bottom:1px solid var(--border);background:#111}.istudio-compare-label{color:var(--text-dim);font-size:13.5px;margin-bottom:8px}.istudio-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.istudio-compare-grid img{width:100%;border-radius:8px;border:1px solid var(--border)}.istudio-scroll{flex:1;overflow-y:auto;padding:16px 20px 32px}.istudio-section-title{color:var(--text-dim);font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin:12px 0 8px}.istudio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.istudio-tile{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.istudio-tile.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.istudio-tile img{width:100%;aspect-ratio:1 / 1;object-fit:cover;cursor:zoom-in;background:#000}.istudio-tile-meta{display:flex;justify-content:space-between;padding:8px 12px 0;font-size:13px;color:var(--text-dim);font-family:ui-monospace,monospace}.istudio-tile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.istudio-tile-prompt{padding:6px 12px;font-size:13px;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.istudio-tile-actions{display:flex;gap:6px;padding:6px 12px 12px;flex-wrap:wrap}.istudio-tile-actions .btn{font-size:12.5px;padding:4px 10px;text-decoration:none}.istudio-tile-actions a.btn{color:var(--text)}.istudio-empty{padding:40px 20px;text-align:center;color:var(--text-dim);font-size:14px}.proposal-card{border-left:3px solid var(--accent, #4a9eff)}.proposal-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.proposal-actions .btn{font-size:12.5px;padding:4px 10px}.queued-msg{position:relative;opacity:.75;border:1px dashed var(--line, #444)}.queued-x{position:absolute;top:4px;right:6px}.queued-tag{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin-top:4px}.lobby-fork-tag{opacity:.6;font-weight:600}
