:root{--bg:#f7f7f5;--surface:#fff;--border:#d9d8d3;--text:#1c1b18;--text-dim:#6b6a63;--accent:#2f5d50;--accent-bg:#e4efe9;--warn-bg:#fff3d6;--warn-text:#6b4e00;--error-bg:#fbe4e1;--error-text:#7a221a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16171a;--surface:#1e2023;--border:#34363b;--text:#e7e6e2;--text-dim:#9a9a94;--accent:#7fc9ae;--accent-bg:#1f2e29;--warn-bg:#3a2f10;--warn-text:#f0cf7a;--error-bg:#3a1c19;--error-text:#f3a99f}}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}button{font-family:inherit}.app{flex-direction:column;height:100vh;display:flex}.banner{text-align:center;padding:8px 16px;font-size:14px}.banner-warn{background:var(--warn-bg);color:var(--warn-text)}.banner-error{background:var(--error-bg);color:var(--error-text)}.app-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.app-header h1{margin:0;font-size:18px;font-weight:600}.speaker-badge{background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.speaker-badge-readonly{color:var(--muted-text,#6b7280);border-style:dashed}.wake-indicator{text-align:center;color:var(--muted-text,#6b7280);flex:1;font-size:13px}.wake-indicator[data-heard=true]{color:var(--accent,#2563eb);font-weight:600}.mic-button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:inline-flex}.mic-button:disabled{opacity:.5;cursor:not-allowed}.mic-button-active{background:var(--accent-bg);border-color:var(--accent)}.mic-dot{background:var(--text-dim);border-radius:50%;width:8px;height:8px}.mic-button-active .mic-dot{background:#d64545;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.app-main{background:var(--border);flex:1;gap:1px;min-height:0;display:flex}.canvas-column{background:var(--border);flex-direction:column;flex:2;gap:1px;min-width:0;display:flex}.frame-hint{background:var(--accent-bg);color:var(--text-dim);justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;font-size:12px;display:flex}.frame-hint-refresh{border:1px solid var(--accent);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;flex:none;padding:4px 10px;font-size:12px}.canvas-wrap{outline:none;flex:1;min-height:0;position:relative}.canvas-grid{background:var(--border);grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:1px;width:100%;min-width:0;height:100%;display:grid}.canvas-slot{background:var(--surface);justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.canvas-slot-empty{border:1px dashed var(--border);border-radius:4px;width:24px;height:24px}.canvas-slot-filled{justify-content:stretch;align-items:stretch}.canvas-slot-focused{box-shadow:inset 0 0 0 1px var(--text-dim)}.canvas-slot-selected{box-shadow:inset 0 0 0 2px var(--accent)}.canvas-maximized{width:100%;height:100%;min-height:0}.canvas-pane{flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative}.canvas-pane-selected{outline:2px solid var(--accent);outline-offset:-2px}.canvas-pane-maximized{outline:none}.pane-resize-handle{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 50%, var(--text-dim) 50%);opacity:.5;z-index:2;width:14px;height:14px;position:absolute;bottom:0;right:0}.pane-resize-handle:hover{opacity:1}.canvas-pane-title{background:var(--bg);border-bottom:1px solid var(--border);cursor:grab;flex:none;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.pane-role-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--accent-bg);border-radius:4px;flex:none;padding:2px 6px;font-size:10px}.pane-title-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pane-zoom-badge{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:center;flex:none;min-width:32px;font-size:10px}.pane-zoom-controls{flex:none;align-items:center;gap:2px;display:flex}.pane-size-menu{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;flex:none;max-width:56px;padding:2px 4px;font-size:11px}.pane-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:4px;flex:none;padding:3px 6px;font-size:11px;line-height:1}.pane-btn-maximize:hover{background:var(--accent-bg)}.pane-btn-close:hover{background:var(--error-bg);color:var(--error-text)}.canvas-pane-body{flex:1;min-height:0;position:relative;overflow:auto}.canvas-frame-wrapper{transform-origin:0 0;width:100%;height:100%}.canvas-iframe{background:var(--surface);border:none;width:100%;height:100%;display:block}.canvas-pane-empty-body{color:var(--text-dim);padding:12px;font-size:13px}.canvas-pane-text{white-space:pre-wrap;padding:12px;font-size:13px;line-height:1.5}.canvas-list-table{border-collapse:collapse;width:100%;font-size:13px}.canvas-list-row{cursor:pointer;border-bottom:1px solid var(--border)}.canvas-list-row:hover{background:var(--accent-bg)}.canvas-list-label,.canvas-list-detail{text-align:left;vertical-align:top;padding:6px 10px}.canvas-list-open-cell{text-align:right;vertical-align:middle;white-space:nowrap;width:1%;padding:4px 8px 4px 0}.canvas-list-open-btn{visibility:hidden;border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:4px;padding:3px 8px;font-size:11px;line-height:1}.canvas-list-row:hover .canvas-list-open-btn,.canvas-list-row:focus .canvas-list-open-btn,.canvas-list-row:focus-within .canvas-list-open-btn{visibility:visible}.canvas-numeric{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-dim);white-space:nowrap}.key-map-overlay{z-index:10;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.key-map-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:380px;padding:20px 24px;box-shadow:0 8px 24px #00000040}.key-map-card h2{margin:0 0 8px;font-size:16px}.key-map-card dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 12px;font-size:13px;display:grid}.key-map-card dt{color:var(--text-dim);font-weight:600}.key-map-card dd{margin:0}.key-map-card button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px}.chat-clarify-options{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chat-clarify-btn{border:1px solid var(--accent);background:var(--accent-bg);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.app-side{background:var(--surface);flex-direction:column;flex:1;min-width:320px;display:flex}.chat-column{flex-direction:column;flex:1;min-height:0;display:flex}.chat-scroll{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-dim);font-size:14px}.chat-entry{border-radius:10px;flex-direction:column;gap:2px;max-width:90%;padding:8px 12px;font-size:14px;line-height:1.4;display:flex}.chat-role{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:11px}.chat-user{background:var(--accent-bg);align-self:flex-end}.chat-agent{background:var(--bg);border:1px solid var(--border);align-self:flex-start}.chat-system{color:var(--text-dim);background:0 0;align-self:center;font-style:italic}.chat-error{background:var(--error-bg);color:var(--error-text);align-self:flex-start}.chat-partial{opacity:.6}.type-row{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.type-row input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;flex:1;padding:8px 10px;font-size:14px}.type-row button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:8px 14px}.type-row button:disabled{opacity:.5;cursor:not-allowed}@media (width<=700px){.app-main{flex-direction:column}.canvas-grid{grid-template-rows:repeat(3,minmax(60px,1fr))}}.access-gate{place-items:center;min-height:100vh;padding:16px;display:grid}.access-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:12px;width:min(360px,100%);padding:24px;display:flex}.access-card h1{margin:0;font-size:20px}.access-card p{color:var(--text-dim);margin:0;font-size:14px}.access-card .access-rejected{color:var(--error-text)}.access-card input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px}.access-card button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 12px;font-size:14px}.access-card button:disabled{opacity:.5;cursor:not-allowed}.proposal-card{border-bottom:1px solid var(--border);background:var(--accent-bg);flex-direction:column;gap:10px;max-height:60vh;padding:14px 16px;display:flex;overflow-y:auto}.proposal-card-header{flex-direction:column;gap:2px;display:flex}.proposal-card-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:13px;font-weight:600}.proposal-card-utterance{color:var(--text);font-size:14px}.proposal-card-changes{flex-direction:column;gap:10px;display:flex}.proposal-card-empty{color:var(--text-dim);margin:0;font-size:13px}.proposal-change-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.proposal-change-label{color:var(--text);font-size:13px;font-weight:600}.proposal-change-current{color:var(--text-dim);font-size:12px}.proposal-change-spoken{color:var(--text-dim);font-size:12px;font-style:italic}.proposal-change-ambiguity{background:var(--warn-bg);color:var(--warn-text);border-radius:6px;padding:4px 8px;font-size:12px}.proposal-change-draft-note{color:var(--text-dim);margin:0;font-size:12px}.proposal-change-undoable-note{background:var(--warn-bg);color:var(--warn-text);border-radius:6px;margin:0;padding:4px 8px;font-size:12px}.proposal-action-field{flex-direction:column;gap:4px;display:flex}.proposal-action-field label{color:var(--text-dim);font-size:12px;font-weight:600}.proposal-action-field input[type=text],.proposal-action-field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;padding:6px 8px}.proposal-change-input input[type=text],.proposal-change-input input[type=date],.proposal-change-input textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:14px}.proposal-change-input textarea{resize:vertical}.proposal-input-money{font-variant-numeric:tabular-nums;text-align:right}.proposal-toggle{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.proposal-toggle input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.proposal-toggle-track{background:var(--border);border-radius:999px;width:36px;height:20px;transition:background .15s;position:relative}.proposal-toggle-track:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.proposal-toggle input:checked+.proposal-toggle-track{background:var(--accent)}.proposal-toggle input:checked+.proposal-toggle-track:after{transform:translate(16px)}.proposal-toggle-label{color:var(--text-dim)}.proposal-card-reason{flex-direction:column;gap:4px;display:flex}.proposal-card-reason label{color:var(--text-dim);font-size:12px}.proposal-card-reason input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:6px 8px;font-size:13px}.proposal-card-actions{justify-content:flex-end;gap:8px;display:flex}.proposal-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:14px}.proposal-btn:disabled{opacity:.5;cursor:not-allowed}.proposal-btn-authorize{border-color:var(--accent);background:var(--accent);color:var(--surface);font-weight:600}.proposal-btn-decline{border-color:var(--error-text);color:var(--error-text);background:var(--surface)}.pane-proposed-ribbon,.pane-draft-ribbon{z-index:2;text-align:center;letter-spacing:.02em;background:var(--warn-bg);color:var(--warn-text);pointer-events:none;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:0;left:0;right:0}.pane-draft-ribbon-registered{background:var(--accent-bg);color:var(--accent)}.pane-draft-outline{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;gap:4px;padding:6px 8px;display:flex}.pane-draft-outline-item{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:220px;padding:3px 9px;font-size:11px;line-height:1.2;overflow:hidden}.pane-draft-outline-item-selected{background:var(--accent-bg);color:var(--accent);border-color:var(--accent);font-weight:600}
