:root{--bg:#fafafa;--bg-alt:#f5f5f5;--surface:#fff;--border:#000;--border-light:#e0e0e0;--border-medium:#bdbdbd;--text:#0a0a0a;--text-secondary:#616161;--text-muted:#9e9e9e;--accent-red:#e53935;--accent-blue:#1565c0;--accent-yellow:#fbc02d;--accent-green:#2e7d32;--font-display:"Geist", system-ui, -apple-system, sans-serif;--font-body:"Geist", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", "SF Mono", "Menlo", monospace;--header-h:48px;--status-h:28px;--input-bar-min-h:56px;--ease-out-expo:cubic-bezier(.22, 1, .36, 1);--ease-decel:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s}[data-theme=dark]{--bg:#09090b;--bg-alt:#18181b;--surface:#0f0f11;--border:#3f3f46;--border-light:#27272a;--border-medium:#3f3f46;--text:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-red:#ef5350;--accent-blue:#42a5f5;--accent-yellow:#ffee58;--accent-green:#66bb6a}.app{background:var(--bg);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;min-height:0;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-viewport,.app-chat{flex:1;min-height:0}.app-panel-divider{background:var(--surface);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:center;align-items:center;gap:2px;height:20px;display:flex}.app-panel-divider-btn{width:20px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}.app-panel-divider-btn:hover{background:var(--bg-alt);color:var(--text);border-color:var(--border-light)}.app-panel-divider-btn.active{color:var(--accent-blue)}@media (max-width:640px){.app-viewport{flex:none;min-height:240px;max-height:45vh}.app-chat{flex:1;min-height:220px}}@media (max-width:480px){.app-viewport{min-height:200px;max-height:40vh}}.mobile-obj-fab{display:none}@media (max-width:640px){.mobile-obj-fab{bottom:calc(var(--status-h) + var(--input-bar-min-h) + 12px);z-index:50;background:var(--surface);border:2px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;transition:border-color var(--duration-fast) ease, transform var(--duration-fast) ease;justify-content:center;align-items:center;display:flex;position:fixed;right:12px;box-shadow:0 2px 8px #00000026}.mobile-obj-fab:active{border-color:var(--accent-blue);transform:scale(.92)}}*,:before,:after{box-sizing:border-box;border-radius:0;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;font-weight:400;line-height:1.5}button{cursor:pointer;border-radius:0;font-family:inherit}input,textarea,select{border-radius:0;font-family:inherit}::selection{background:var(--text);color:var(--surface)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:0}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.header{height:var(--header-h);background:var(--surface);border-bottom:2px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.header-left{align-items:center;display:flex}.header-wordmark{font-family:var(--font-display);letter-spacing:.1em;color:var(--text);-webkit-user-select:none;user-select:none;font-size:14px;font-weight:700}.header-right{align-items:center;gap:12px;display:flex}.header-settings-btn{border:1px solid var(--border-light);width:28px;height:28px;color:var(--text);transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;justify-content:center;align-items:center;display:flex;position:relative}.header-settings-btn:after{content:"";background:var(--accent-blue);height:2px;transition:left var(--duration-normal) var(--ease-out-expo), right var(--duration-normal) var(--ease-out-expo);position:absolute;bottom:-1px;left:50%;right:50%}.header-settings-btn:hover{background:var(--bg-alt);border-color:var(--border)}.header-settings-btn:hover:after{left:-1px;right:-1px}.header-settings-btn:active{transform:scale(.95)}.header-status{align-items:center;gap:6px;display:flex}.header-status-dot{background:var(--accent-red);border-radius:0;width:6px;height:6px;transition:background .2s}.header-status-dot.connected{background:var(--accent-green)}.header-status-text{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.02em;font-size:11px}.header-parser-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid;padding:1px 6px;font-size:9px;font-weight:600}.header-parser-llm{color:var(--accent-green)}.header-parser-rules{color:var(--text-muted)}.header-parser-error{color:var(--accent-red)}.header-mobile-obj-btn{display:none}@media (max-width:640px){.header{padding:0 10px}.header-right{gap:6px}.header-status-text{display:none}}@media (max-width:480px){.header-parser-tag{display:none}}.status-bar{height:var(--status-h);background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.status-bar-left{font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:6px;min-width:0;font-size:10px;display:flex;overflow:hidden}.status-bar-right{font-family:var(--font-mono);letter-spacing:.02em;flex-shrink:0;align-items:center;gap:6px;font-size:10px;display:flex}.status-bar-chip{border:1px solid var(--border-light);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:200px;padding:1px 6px;display:inline-flex;overflow:hidden}.status-bar-chip-empty{opacity:.55}.status-bar-chip-clickable{cursor:default}@media (max-width:640px){.status-bar-chip-clickable{cursor:pointer;transition:border-color var(--duration-fast) ease}.status-bar-chip-clickable:hover{border-color:var(--accent-blue)}.status-bar-chip-clickable:hover .status-bar-chip-key{color:var(--accent-blue)}}.status-bar-chip-key{letter-spacing:.08em;color:var(--text-muted);font-weight:600}.status-bar-chip-val{color:var(--text);text-overflow:ellipsis;overflow:hidden}.status-bar-chip-dim{color:var(--text-muted)}.status-bar-streaming{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-green);border:1px solid var(--accent-green);align-items:center;gap:5px;padding:1px 6px;font-weight:600;display:inline-flex}.status-bar-streaming-dot{background:var(--accent-green);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite status-bar-pulse}@keyframes status-bar-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (max-width:840px){.status-bar{padding:0 10px}.status-bar-chip{max-width:140px}.status-bar-chip-dim,.status-bar-chip-empty{display:none}}@media (max-width:640px){.status-bar-left .status-bar-label,.status-bar-left .status-bar-sep,.status-bar-left .status-bar-divider{display:none}.status-bar-right .status-bar-chip{max-width:90px;padding:1px 4px}.status-bar-right .status-bar-chip-empty{display:none}}@media (max-width:480px){.status-bar{height:20px;padding:0 8px;font-size:9px}.status-bar-left,.status-bar-right .status-bar-chip:not(:first-child){display:none}}.status-bar-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-weight:600}.status-bar-sep{color:var(--text-muted)}.status-bar-value{color:var(--text-secondary)}.status-bar-value.muted{color:var(--text-muted)}.status-bar-green{color:var(--accent-green)}.status-bar-red{color:var(--accent-red)}.status-bar-muted{color:var(--text-muted)}.status-bar-divider{background:var(--border-light);width:1px;height:10px;margin:0 2px}.settings-overlay{z-index:1000;background:#00000026;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.settings-overlay-faded{opacity:.3;pointer-events:none}.settings-panel{background:var(--surface);border:2px solid var(--border);width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);transition:opacity .2s,transform .2s;overflow-y:auto}.settings-panel-faded{opacity:.2;transform:scale(.98)}.settings-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.settings-title{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text);font-size:9px;font-weight:600}.settings-close{width:24px;height:24px;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;transition:color .1s;display:flex}.settings-close:hover{color:var(--text)}.settings-body{flex-direction:column;gap:16px;padding:20px 16px;display:flex}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:600}.settings-input{font-family:var(--font-mono);border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none;padding:8px 10px;font-size:12px;transition:border-width .1s}.settings-input:focus{border-width:2px;padding:7px 9px}.settings-input::placeholder{color:var(--text-muted)}.settings-input-invalid,.settings-input-invalid:focus{border-color:var(--accent-red)}.settings-segmented{border:1px solid var(--border);display:flex}.settings-segment{font-family:var(--font-mono);letter-spacing:.02em;text-align:center;color:var(--text-secondary);border:none;border-right:1px solid var(--border-light);background:0 0;flex:1;padding:6px 8px;font-size:11px;font-weight:500;transition:background .1s,color .1s}.settings-segment:last-child{border-right:none}.settings-segment:hover{background:var(--bg-alt)}.settings-segment.active{background:var(--text);color:var(--surface)}.settings-footer{border-top:1px solid var(--border-light);justify-content:flex-end;padding:12px 16px;display:flex}.settings-save-btn{font-family:var(--font-display);letter-spacing:.08em;background:var(--text);color:var(--surface);text-transform:uppercase;border:none;padding:8px 24px;font-size:11px;font-weight:700;transition:opacity .1s}.settings-save-btn:hover:not(:disabled){opacity:.85}.settings-save-btn:disabled{opacity:.4;cursor:not-allowed}.settings-model-list{border:1px solid var(--border-light);flex-direction:column;display:flex}.settings-model-item{cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 10px;transition:background .1s;display:flex}.settings-model-item:not(:last-child){border-bottom:1px solid var(--border-light)}.settings-model-item:hover{background:var(--bg-alt)}.settings-model-item:active{cursor:grabbing}.settings-model-handle{color:var(--text-muted);flex-shrink:0}.settings-model-name{font-family:var(--font-mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.settings-model-source{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;flex-shrink:0;font-size:9px}.object-slot{border:1px solid var(--border-medium);background:var(--surface);cursor:pointer;width:100%;transition:border-color var(--duration-fast) ease, transform var(--duration-fast) ease;flex-direction:column;display:flex;position:relative;overflow:hidden}.object-slot:before{content:"";background:var(--accent-blue);z-index:1;width:2px;transition:top var(--duration-normal) var(--ease-out-expo), bottom var(--duration-normal) var(--ease-out-expo);position:absolute;top:50%;bottom:50%;left:-1px}.object-slot:hover{transform:translate(1px)}.object-slot:hover:before{top:-1px;bottom:-1px}.object-slot.active{border-color:var(--text);border-width:2px}.object-slot.hidden-slot{opacity:.5}.object-slot-thumb{aspect-ratio:1;background:var(--bg-alt);flex-shrink:0;width:100%;position:relative;overflow:hidden}.slot-thumb-box{width:100%;height:100%;color:var(--text-muted);background:linear-gradient(145deg, var(--surface) 0%, var(--bg-alt) 100%);justify-content:center;align-items:center;display:flex}.slot-color-dot{width:8px;height:8px;position:absolute;top:4px;right:4px}.slot-color-dot-interactive{cursor:pointer;border:1px solid #00000040;border-radius:2px;width:14px;height:14px;transition:transform .1s ease-out,box-shadow .1s ease-out;box-shadow:0 0 0 1px #fffc}.slot-color-dot-interactive:hover{transform:scale(1.15);box-shadow:0 0 0 2px #ffffffe6}.slot-color-dot-set{border:1px solid #00000073}.slot-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;bottom:4px;right:4px}.object-slot:hover .slot-actions{opacity:1}.slot-action-btn{background:var(--surface);border:1px solid var(--border-light);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}.slot-action-btn:hover{background:var(--bg-alt);color:var(--text)}.slot-action-delete:hover{color:#dc2626;background:#fecaca;border-color:#fca5a5}[data-theme=dark] .slot-action-delete:hover{color:#f87171;background:#450a0a;border-color:#7f1d1d}.object-slot-name{font-family:var(--font-mono);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;font-size:10px;overflow:hidden}.object-slot-collapsed{aspect-ratio:1;border:1px solid var(--border-medium);cursor:pointer;width:100%;transition:border-color .15s}.object-slot-collapsed.active{border-color:var(--text);border-width:2px}.object-slot-collapsed.hidden-slot{opacity:.4}.slot-thumb-img{object-fit:contain;width:100%;height:100%;display:block}.object-slot-add{aspect-ratio:1;border:1px dashed var(--border-medium);cursor:pointer;width:100%;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:flex}.object-slot-add:hover{background:var(--bg-alt);border-color:var(--text-secondary);color:var(--text-secondary)}.object-slot-add.drag-over{border-color:var(--accent-blue);color:var(--accent-blue);background:#e3f2fd;border-style:solid}[data-theme=dark] .object-slot-add.drag-over{background:#0d253a}.object-slot-add.collapsed{aspect-ratio:1}.object-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100%;transition:width .2s;display:flex;overflow:hidden}.object-panel.expanded{width:200px}.object-panel.collapsed{width:48px}.object-panel-toggle{border:none;border-bottom:1px solid var(--border-light);height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:0;transition:background .1s;display:flex}.object-panel-toggle:hover{background:var(--bg-alt);color:var(--text)}.object-panel-toggle-inner{align-items:center;gap:6px;display:flex}.object-panel-toggle-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:600}.object-panel-slots{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex;overflow:hidden auto}.object-panel.collapsed .object-panel-slots{gap:6px;padding:6px}.object-panel-catalog{flex-direction:column;gap:4px;display:flex}.object-panel-catalog-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:2px 4px;font-size:8px;font-weight:600}.object-panel-catalog-item{background:var(--bg-alt);border:1px dashed var(--border);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:10px;transition:background .15s,border-color .15s,color .15s;display:flex}.object-panel-catalog-item:hover{background:var(--surface);border-color:var(--accent);color:var(--text)}.object-panel.collapsed .object-panel-toggle-label,.object-panel.collapsed .object-panel-catalog{opacity:0;transition:opacity .12s}.object-panel.expanded .object-panel-toggle-label,.object-panel.expanded .object-panel-catalog{opacity:1;transition:opacity var(--duration-fast) ease 80ms}@media (max-width:840px){.object-panel.expanded{width:48px}.object-panel .object-panel-toggle-label{display:none}}@media (max-width:640px){.object-panel{display:none}}.object-panel.locked{pointer-events:none;opacity:.55;transition:opacity .2s}.object-panel.locked .object-panel-toggle{pointer-events:auto;opacity:1}.object-slot-add.locked{cursor:not-allowed;opacity:.4}.ascii-hero{background:var(--bg);width:100%;height:100%;position:relative;overflow:hidden}.ascii-hero-canvas{opacity:.25;width:100%;height:100%;position:absolute;inset:0}.ascii-hero-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ascii-hero-content{pointer-events:auto;flex-direction:column;align-items:center;gap:12px;display:flex}.ascii-hero-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:24px;font-weight:700;line-height:1}.ascii-hero-subtitle{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:400}.viewport-playhead{background:var(--surface);border-top:1px solid var(--border-light);height:32px;font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0;align-items:center;gap:10px;padding:0 12px;font-size:11px;display:flex}.viewport-playhead-btn{border:1px solid var(--border-medium);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.viewport-playhead-btn:hover{color:var(--text);background:var(--bg-alt);border-color:var(--text-secondary)}.viewport-playhead-btn:active{background:var(--surface)}.viewport-playhead-time{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;min-width:90px}.viewport-playhead-sep{color:var(--text-muted);padding:0 4px;display:inline-block}.viewport-playhead-scrub{-webkit-appearance:none;appearance:none;background:var(--border-light);cursor:pointer;flex:1;min-width:0;height:4px;margin:0}.viewport-playhead-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--text);cursor:pointer;border:0;border-radius:50%;width:12px;height:12px}.viewport-playhead-scrub::-moz-range-thumb{background:var(--text);cursor:pointer;border:0;border-radius:50%;width:12px;height:12px}.viewport-playhead-frame{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;text-align:right;min-width:64px}.viewport-playhead-tag{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-light);white-space:nowrap;padding:2px 6px;font-size:9px}@media (max-width:640px){.viewport-playhead{gap:6px;padding:0 8px}.viewport-playhead-time,.viewport-playhead-frame{min-width:auto}.viewport-playhead-tag{display:none}}.saved-shots-strip{background:var(--surface);border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:8px;min-height:32px;padding:6px 12px;display:flex;overflow:hidden}.saved-shots-strip-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-size:9px;font-weight:600}.saved-shots-strip-list{scrollbar-width:thin;flex:1;gap:6px;display:flex;overflow-x:auto}.saved-shots-strip-list::-webkit-scrollbar{height:4px}.saved-shots-strip-list::-webkit-scrollbar-thumb{background:var(--border)}.saved-shot-chip{border:1px solid var(--border);flex-shrink:0;align-items:stretch;max-width:220px;height:22px;display:inline-flex}.saved-shot-chip:hover{border-color:var(--text-secondary)}.saved-shot-chip-main{border:0;border-right:1px solid var(--border-light);font-family:var(--font-mono);cursor:pointer;text-align:left;background:0 0;flex-direction:column;justify-content:center;gap:0;min-width:0;padding:0 8px;display:inline-flex;overflow:hidden}.saved-shot-chip-main:hover{background:var(--bg-alt)}.saved-shot-chip-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:500;line-height:1;overflow:hidden}.saved-shot-chip-meta{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.1;overflow:hidden}.saved-shot-chip-edit{background:var(--bg);font-family:var(--font-mono);color:var(--text);border:0;outline:none;width:120px;padding:0 6px;font-size:10px}.saved-shot-chip-del{width:18px;color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);background:0 0;border:0;padding:0;font-size:14px;line-height:1;transition:color .12s,background .12s}.saved-shot-chip-del:hover{color:var(--accent-red);background:var(--bg-alt)}.saved-shots-strip-error{font-family:var(--font-mono);color:var(--accent-red);border:1px solid var(--accent-red);cursor:pointer;flex-shrink:0;padding:2px 6px;font-size:10px}.viewer-panel{background:var(--bg);flex-direction:column;height:100%;display:flex;position:relative}.viewer-canvas-area{flex:1;transition:opacity .3s;position:relative;overflow:hidden}.viewer-fade-in{opacity:1}.viewer-panel-drop-active:after{content:"";pointer-events:none;border:2px dashed var(--accent-blue);z-index:40;background:#1e88e50d;position:absolute;inset:0}.viewer-panel-drop-overlay{pointer-events:none;z-index:41;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewer-panel-drop-box{background:var(--surface);border:1px solid var(--accent-blue);color:var(--accent-blue);flex-direction:column;align-items:center;gap:8px;padding:18px 28px;display:flex;box-shadow:0 12px 32px #0000001f}.viewer-panel-drop-label{font-family:var(--font-display);letter-spacing:.14em;color:var(--text);font-size:11px;font-weight:700}.viewer-panel-drop-sub{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);font-size:9px}.intent-card{border:1px solid var(--border);max-width:90%;animation:fadeInSlideUp var(--duration-normal) var(--ease-out-expo) both;transition:border-color var(--duration-fast) ease, transform var(--duration-fast) ease;margin-top:8px}.intent-card:hover{border-color:var(--text-secondary);transform:translateY(-1px)}.intent-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.intent-card-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-red);font-size:9px;font-weight:600}.intent-card-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid;padding:1px 6px;font-size:9px;font-weight:600}.intent-badge-llm{color:var(--accent-green)}.intent-badge-vlm{color:var(--accent-blue)}.intent-badge-rules{color:var(--text-muted)}.intent-badge-fallback{color:var(--accent-yellow)}.intent-card-warning{font-family:var(--font-mono);color:var(--accent-yellow);background:var(--bg-alt);border-bottom:1px solid var(--border-light);padding:4px 10px;font-size:10px}.intent-card-hero{border-bottom:1px solid var(--border-light);align-items:center;gap:16px;padding:12px 10px;display:flex}.intent-card-hero-left{align-items:baseline;gap:4px;display:flex}.intent-card-duration-num{font-family:var(--font-mono);color:var(--text);font-size:32px;font-weight:700;line-height:1}.intent-card-duration-unit{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-muted);font-size:10px;font-weight:600}.intent-card-hero-right{flex-direction:column;gap:2px;display:flex}.intent-card-movement{font-family:var(--font-mono);color:var(--text);letter-spacing:.02em;font-size:14px;font-weight:600}.intent-card-movement-cn{font-family:var(--font-body);color:var(--text-secondary);font-size:12px}.intent-card-body{gap:12px;padding:8px 10px;display:flex}.intent-card-grid{flex-direction:column;flex:1;gap:2px;display:flex}.intent-card-row{align-items:baseline;gap:12px;display:flex}.intent-card-key{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:52px;font-size:10px}.intent-card-val{font-family:var(--font-mono);color:var(--text);font-size:12px;font-weight:500}.intent-card-easing-box{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.intent-card-easing-label{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;font-size:8px;font-weight:600}.intent-card-easing-svg{width:60px;height:30px;color:var(--text)}.path-card{border:1px solid var(--border);max-width:90%;animation:fadeInSlideUp var(--duration-normal) var(--ease-out-expo) both;transition:border-color var(--duration-fast) ease, transform var(--duration-fast) ease;margin-top:8px}.path-card:hover{border-color:var(--text-secondary);transform:translateY(-1px)}.path-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.path-card-header-text{align-items:baseline;gap:8px;min-width:0;display:flex}.path-card-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.path-card-badge{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--accent-blue);color:var(--accent-blue);white-space:nowrap;padding:1px 6px;font-size:9px;font-weight:600}.path-card-save-btn{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:2px 6px;font-size:9px;font-weight:600;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.path-card-save-btn:hover{color:var(--text);background:var(--bg-alt);border-color:var(--text-secondary)}.path-card-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-blue);font-size:9px;font-weight:600}.path-card-subtitle{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:9px}.path-card-spec-row{border-bottom:1px solid var(--border-light);display:flex}.path-card-spec-cell{border-right:1px solid var(--border-light);flex-direction:column;flex:1;align-items:center;gap:1px;padding:6px 4px;display:flex}.path-card-spec-cell:last-child{border-right:none}.path-card-spec-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:8px;font-weight:600}.path-card-spec-value{font-family:var(--font-mono);color:var(--text);font-size:11px;font-weight:500}.path-card-canvas-container{width:100%}.path-card-canvas{width:100%;height:auto;display:block}.path-card-canvas-clickable{cursor:crosshair}.path-card-tweaks{border-top:1px solid var(--border-light);padding:6px 10px 8px}.path-card-tweaks-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:8px;font-weight:600;display:block}.path-card-tweaks-row{flex-wrap:wrap;gap:4px;display:flex}.path-card-tweak-btn{background:linear-gradient(90deg, var(--bg-alt) 50%, transparent 50%);border:1px solid var(--border);min-width:64px;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) ease, background-position var(--duration-normal) var(--ease-out-expo), border-color var(--duration-fast) ease;letter-spacing:.02em;background-position:100%;background-size:200% 100%;flex:auto;padding:4px 8px;font-size:10px}.path-card-tweak-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-secondary);background-position:0}.path-card-tweak-btn:active:not(:disabled){transform:scale(.97)}.path-card-tweak-btn:disabled{opacity:.4;cursor:not-allowed}.copy-button{border:1px solid var(--border-light);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:2px 6px;font-size:9px;font-weight:600;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.copy-button:hover{color:var(--text);background:var(--bg-alt);border-color:var(--text-secondary)}.copy-button:active{transform:translateY(1px)}.preview-card{border:1px solid var(--border);max-width:90%;animation:fadeInSlideUp var(--duration-normal) var(--ease-out-expo) both;transition:border-color var(--duration-fast) ease;margin-top:8px;overflow:hidden}.preview-card:hover{border-color:var(--text-secondary)}.preview-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.preview-card-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-green);font-size:9px;font-weight:600}.preview-card-renderer{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:9px}.preview-card-loading{font-family:var(--font-mono);color:var(--text-secondary);border-bottom:1px solid var(--border-light);padding:8px 10px;font-size:11px}.preview-card-empty{font-family:var(--font-mono);color:var(--text-muted);text-align:center;padding:16px 10px;font-size:11px}.preview-card-canvas{background:var(--bg-alt);width:100%;height:auto;display:block}.preview-card-controls{border-top:1px solid var(--border-light);align-items:center;gap:8px;padding:6px 10px;display:flex}.preview-card-play{background:var(--text);width:24px;height:24px;color:var(--surface);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.preview-card-play:hover:not(:disabled){opacity:.85}.preview-card-play:disabled{opacity:.3;cursor:not-allowed}.preview-card-scrub{-webkit-appearance:none;appearance:none;background:var(--border-light);outline:none;flex:1;height:2px}.preview-card-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--text);cursor:pointer;border-radius:0;width:10px;height:10px}.preview-card-scrub::-moz-range-thumb{background:var(--text);cursor:pointer;border:none;border-radius:0;width:10px;height:10px}.preview-card-frame{font-family:var(--font-mono);color:var(--text-muted);text-align:right;min-width:52px;font-size:10px}.preview-card-meta{border-top:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.preview-card-meta-item{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.preview-card-meta-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.preview-card-encode-btn{font-family:var(--font-display);letter-spacing:.08em;background:var(--text);color:var(--surface);text-transform:uppercase;border:none;padding:4px 12px;font-size:9px;font-weight:700;transition:opacity .1s}.preview-card-encode-btn:hover:not(:disabled){opacity:.85}.preview-card-encode-btn:disabled{opacity:.4;cursor:not-allowed}.preview-card-download{font-family:var(--font-display);letter-spacing:.08em;border:1px solid var(--accent-green);color:var(--accent-green);text-transform:uppercase;padding:4px 12px;font-size:9px;font-weight:700;text-decoration:none}.preview-card-download:hover{background:var(--accent-green);color:var(--surface)}.render-video-card{border:1px solid var(--border);max-width:90%;animation:fadeInSlideUp var(--duration-normal) var(--ease-out-expo) both;transition:border-color var(--duration-fast) ease;margin-top:8px}.render-video-card:hover{border-color:var(--text-secondary)}.render-video-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.render-video-card-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-yellow);font-size:9px;font-weight:600}.render-video-card-spec{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:9px}.render-video-card-body{padding:10px}.render-video-card-btn{font-family:var(--font-display);letter-spacing:.08em;background:var(--text);color:var(--surface);text-transform:uppercase;cursor:pointer;border:none;padding:6px 16px;font-size:9px;font-weight:700;transition:opacity .1s}.render-video-card-btn:hover{opacity:.85}.render-video-card-btn-secondary{color:var(--text-secondary);border:1px solid var(--border-light);background:0 0}.render-video-card-btn-secondary:hover{border-color:var(--text-secondary)}.render-video-card-progress{flex-direction:column;gap:4px;display:flex}.render-video-card-progress-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.render-video-card-progress-text{font-family:var(--font-mono);color:var(--text-secondary);font-size:11px}.render-video-card-progress-pct{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.render-video-card-bar{background:var(--border-light);height:3px}.render-video-card-bar-fill{background:var(--accent-yellow);height:100%;transition:width .1s linear}.render-video-card-spinner{border:1.5px solid var(--border-light);border-top-color:var(--text);width:10px;height:10px;animation:.6s linear infinite render-spin}@keyframes render-spin{to{transform:rotate(360deg)}}.render-video-card-done{align-items:center;gap:8px;display:flex}.render-video-card-download{font-family:var(--font-display);letter-spacing:.08em;border:1px solid var(--accent-green);color:var(--accent-green);text-transform:uppercase;padding:6px 16px;font-size:9px;font-weight:700;text-decoration:none;transition:background .1s,color .1s}.render-video-card-download:hover{background:var(--accent-green);color:var(--surface)}.render-video-card-error{align-items:center;gap:8px;display:flex}.render-video-card-error-text{font-family:var(--font-mono);color:var(--accent-red);font-size:11px}.final-render-card{border:1px solid var(--border);max-width:90%;animation:fadeInSlideUp var(--duration-normal) var(--ease-out-expo) both;transition:border-color var(--duration-fast) ease;margin-top:8px}.final-render-card:hover{border-color:var(--text-secondary)}.final-render-card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.final-render-card-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-blue);font-size:9px;font-weight:600}.final-render-card-chip{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:5px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-flex}.final-render-card-status-done{color:var(--accent-green);border-color:var(--accent-green)}.final-render-card-status-failed{color:var(--accent-red);border-color:var(--accent-red)}.final-render-card-spinner{border:1.5px solid var(--border-light);border-top-color:currentColor;width:8px;height:8px;animation:.7s linear infinite final-render-spin}@keyframes final-render-spin{to{transform:rotate(360deg)}}.final-render-card-body{padding:10px}.final-render-card-meta{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px 12px;margin-bottom:10px;display:grid}.final-render-card-meta-item{font-family:var(--font-mono);flex-direction:column;gap:1px;min-width:0;display:flex}.final-render-card-meta-key{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:8px;font-weight:600}.final-render-card-meta-val{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.final-render-card-task-id .final-render-card-meta-val{color:var(--text-muted);font-size:9px}.final-render-card-done{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.final-render-card-share{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.final-render-card-download{font-family:var(--font-display);letter-spacing:.08em;border:1px solid var(--accent-green);color:var(--accent-green);text-transform:uppercase;padding:6px 16px;font-size:9px;font-weight:700;text-decoration:none;transition:background .1s,color .1s}.final-render-card-download:hover{background:var(--accent-green);color:var(--surface)}.final-render-card-time{font-family:var(--font-mono);color:var(--text-muted);font-size:9px}.final-render-card-error{align-items:center;gap:8px;display:flex}.final-render-card-error-text{font-family:var(--font-mono);color:var(--accent-red);font-size:11px}.final-render-card-kling{border-top:1px dashed var(--border-light);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.final-render-card-kling-label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:700}.final-render-card-kling-message{font-family:var(--font-mono);color:var(--text-muted);white-space:pre-wrap;word-break:break-word;font-size:9px;line-height:1.4}.final-render-card-kling-ok .final-render-card-kling-label{color:var(--accent-green)}.final-render-card-kling-error .final-render-card-kling-label{color:var(--accent-red)}.final-render-card-bar{background:var(--border-light);height:3px}.final-render-card-bar-fill{background:var(--accent-blue);height:100%;transition:width .15s linear}.final-render-card-kling-ask{border-top:1px dashed var(--border-light);align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.final-render-card-kling-prompt{border-top:1px dashed var(--border-light);align-items:center;gap:6px;margin-top:8px;padding-top:8px;display:flex}.final-render-card-kling-input{background:var(--bg-alt);border:1px solid var(--border);min-width:0;color:var(--text);font-family:var(--font-mono);flex:1;padding:4px 8px;font-size:10px}.final-render-card-kling-btn{border:1px solid var(--accent-blue);color:var(--accent-blue);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;white-space:nowrap;background:0 0;padding:4px 10px;font-size:9px;font-weight:700}.final-render-card-kling-btn:hover{background:var(--accent-blue);color:var(--surface)}.final-render-card-kling-btn-muted{border-color:var(--border);color:var(--text-muted)}.final-render-card-kling-btn-muted:hover{background:var(--bg-alt);color:var(--text)}.error-card{border:1px solid var(--accent-red);background:var(--bg-alt);max-width:90%;margin-top:8px}.error-card-header{border-bottom:1px solid var(--accent-red);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.error-card-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-red);align-items:center;gap:6px;font-size:9px;font-weight:600;display:inline-flex}.error-card-icon{color:var(--accent-red)}.error-card-tool{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:60%;padding:1px 6px;font-size:9px;font-weight:600;overflow:hidden}.error-card-body{padding:8px 10px 10px}.error-card-title{font-family:var(--font-display);color:var(--text);margin-bottom:4px;font-size:12px;font-weight:600}.error-card-message{font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.45}.error-card-toggle{font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:0;margin-top:8px;padding:2px 0;font-size:10px;display:inline-block}.error-card-toggle:hover{color:var(--text)}.error-card-detail{background:var(--surface);border:1px solid var(--border-light);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:280px;margin:6px 0 0;padding:8px;font-size:10px;line-height:1.4;overflow-x:auto}.message{animation:fadeInSlideUp var(--duration-normal) var(--ease-out-expo) both;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.message+.message{border-top:1px solid var(--border-light)}.message-role{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:600}.message-user{align-items:flex-end}.message-user .message-role{text-align:right}.message-assistant{align-items:flex-start}.message-bubble{max-width:90%;padding:8px 12px}.message-user .message-bubble{background:var(--bg-alt);border:1px solid var(--border)}.message-assistant .message-bubble{background:var(--surface);border:1px solid var(--border-light)}.message-content{font-family:var(--font-body);color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5}.message-list{flex:1;overflow:hidden auto}.message-list-empty{animation:fadeIn var(--duration-normal) var(--ease-out-expo);flex-direction:column;align-items:center;gap:14px;margin:auto 0;padding:32px 24px;display:flex}.message-list-empty-hero{flex-direction:column;align-items:center;gap:2px;display:flex}.message-list-empty-brand{font-family:var(--font-display);letter-spacing:.15em;color:var(--text);font-size:18px;font-weight:700}.message-list-empty-tagline{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-muted);font-size:9px}.message-list-empty-intro{font-family:var(--font-body);color:var(--text-secondary);text-align:center;max-width:360px;font-size:12px;line-height:1.5}.message-list-empty-steps{gap:20px;display:flex}.message-list-empty-step{font-family:var(--font-mono);color:var(--text-secondary);animation:fadeInSlideUp var(--duration-slow) var(--ease-out-expo) both;flex-direction:column;align-items:center;gap:6px;font-size:10px;display:flex}.message-list-empty-step-num{border:1px solid var(--border);width:26px;height:26px;font-family:var(--font-display);color:var(--accent-blue);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.message-list-empty-divider{background:var(--border-light);width:40px;height:1px}.message-list-empty-text{font-family:var(--font-mono);color:var(--text-muted);text-align:center;font-size:11px}.message-list-presets{flex-wrap:wrap;justify-content:center;gap:6px;max-width:400px;display:flex}.message-list-preset{font-family:var(--font-body);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, transform var(--duration-fast) ease;background:0 0;padding:6px 12px;font-size:12px;position:relative}.message-list-preset:before{content:"";background:var(--accent-blue);width:2px;transition:top var(--duration-normal) var(--ease-out-expo), bottom var(--duration-normal) var(--ease-out-expo);position:absolute;top:50%;bottom:50%;left:-1px}.message-list-preset:hover{background:var(--bg-alt);border-color:var(--text);transform:translate(2px)}.message-list-preset:hover:before{top:-1px;bottom:-1px}.message-list-preset:active{transform:scale(.97)}.message-content p{margin:0 0 4px}.message-content p:last-child{margin-bottom:0}.message-content strong{color:var(--text);font-weight:600}.message-content code{font-family:var(--font-mono);background:var(--bg-alt);border:1px solid var(--border-light);padding:1px 4px;font-size:12px}.message-content pre{font-family:var(--font-mono);background:var(--bg-alt);border:1px solid var(--border-light);margin:6px 0;padding:8px 10px;font-size:12px;overflow-x:auto}.message-content pre code{background:0 0;border:none;padding:0}.message-content ul,.message-content ol{margin:4px 0;padding-left:18px}.message-content li{margin-bottom:2px}.card-error{font-family:var(--font-mono);color:var(--accent-red);border:1px solid var(--accent-red);background:var(--bg-alt);padding:8px 12px;font-size:11px}.message-retry{border:1px solid var(--accent-red);color:var(--accent-red);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;transition:background var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;align-items:center;gap:4px;margin-top:6px;padding:4px 12px;font-size:9px;font-weight:700;display:inline-flex}.message-retry:hover{background:var(--accent-red);color:var(--surface)}.typing-indicator{align-items:center;gap:4px;padding:12px 16px;display:flex}.typing-dot{background:var(--text);opacity:.3;width:5px;height:5px;animation:1.2s infinite typing-pulse}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,60%,to{opacity:.15}30%{opacity:.6}}.thinking-indicator{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:8px;padding:10px 16px 6px;font-size:11px;display:inline-flex}.thinking-spinner{border:1.5px solid var(--border-light);border-top-color:var(--accent-blue);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite thinking-spin}@keyframes thinking-spin{to{transform:rotate(360deg)}}.thinking-label{font-weight:500}.thinking-last-ok{color:var(--accent-green);font-size:10px;font-weight:600}.input-bar{border-top:1px solid var(--border-light);background:var(--surface);flex-shrink:0;padding:12px 16px}.input-bar-wrapper{border:1px solid var(--border);transition:border-width var(--duration-fast) ease, border-color var(--duration-normal) var(--ease-out-expo);align-items:flex-end;gap:8px;padding:4px;display:flex}.input-bar-wrapper.focused{border-width:2px;border-color:var(--text-secondary);padding:3px}.input-bar-textarea{font-family:var(--font-body);color:var(--text);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:100px;padding:4px 8px;font-size:13px;line-height:1.5}.input-bar-textarea::placeholder{color:var(--text-muted)}.input-bar-textarea:disabled{opacity:.5;cursor:not-allowed}.input-bar-send{background:var(--text);width:32px;height:32px;color:var(--surface);transition:opacity var(--duration-fast) ease, transform var(--duration-fast) ease;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.input-bar-send:hover:not(:disabled){opacity:.85}.input-bar-send:active:not(:disabled){transform:scale(.9)}.input-bar-send:disabled{opacity:.3;cursor:not-allowed}.chat-panel{background:var(--surface);border-top:1px solid var(--border-light);flex-direction:column;height:100%;display:flex}.chat-panel-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;height:32px;padding:0 16px;display:flex}.chat-panel-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:600}.chat-panel-new{height:22px;font-family:var(--font-display);letter-spacing:.12em;color:var(--text-secondary);border:1px solid var(--border-medium);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 10px;font-size:9px;font-weight:600;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.chat-panel-new:hover{color:var(--text);background:var(--bg-alt);border-color:var(--text-secondary)}.chat-panel-new:active{background:var(--surface)}@media (max-width:640px){.chat-panel-header{padding:0 10px}}.toast-host{bottom:calc(var(--status-h) + 12px);z-index:1100;pointer-events:none;flex-direction:column-reverse;gap:6px;max-width:360px;display:flex;position:fixed;right:16px}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--border);font-family:var(--font-mono);text-align:left;color:var(--text);cursor:pointer;animation:toast-in var(--duration-normal) var(--ease-out-expo);border-left-width:4px;grid-template-columns:18px auto 1fr;align-items:center;gap:8px;padding:8px 12px 8px 10px;font-size:11px;transition:transform .12s,opacity .18s,border-color .12s;display:grid;box-shadow:0 4px 14px #00000014}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast:hover{transform:translate(-2px)}.toast-glyph{width:18px;height:18px;font-family:var(--font-display);border:1px solid;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.toast-label{font-family:var(--font-display);letter-spacing:.1em;color:var(--text-muted);font-size:9px;font-weight:700}.toast-message{color:var(--text);word-break:break-word;line-height:1.35}.toast-info{border-left-color:var(--accent-blue)}.toast-info .toast-glyph{color:var(--accent-blue)}.toast-success{border-left-color:var(--accent-green)}.toast-success .toast-glyph{color:var(--accent-green)}.toast-warning{border-left-color:var(--accent-yellow)}.toast-warning .toast-glyph{color:var(--accent-yellow)}.toast-error{border-left-color:var(--accent-red)}.toast-error .toast-glyph{color:var(--accent-red)}@media (max-width:480px){.toast-host{max-width:none;left:12px;right:12px;bottom:calc(var(--status-h) + var(--input-bar-min-h) + 16px)}.toast{padding:6px 10px}}.help-overlay{z-index:1050;background:#0000002e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-panel{background:var(--surface);border:2px solid var(--border);flex-direction:column;width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;overflow:hidden}.help-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.help-title{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text);font-size:9px;font-weight:700}.help-close{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.help-close:hover{color:var(--text)}.help-tabs{border-bottom:1px solid var(--border-light);display:flex}.help-tab{font-family:var(--font-display);letter-spacing:.12em;color:var(--text-muted);border:none;border-right:1px solid var(--border-light);cursor:pointer;background:0 0;flex:1;padding:8px 6px;font-size:9px;font-weight:600;transition:color .12s,background .12s}.help-tab:last-child{border-right:none}.help-tab:hover{color:var(--text)}.help-tab.active{color:var(--text);background:var(--bg-alt);box-shadow:inset 0 -2px 0 var(--accent-blue)}.help-body{flex:1;padding:16px;overflow-y:auto}.help-shortcuts{flex-direction:column;gap:8px;display:flex}.help-shortcut-row{border-bottom:1px solid var(--border-light);grid-template-columns:160px 1fr;align-items:center;gap:12px;padding:6px 0;display:grid}.help-shortcut-row:last-child{border-bottom:none}.help-shortcut-keys{flex-wrap:wrap;gap:4px;display:inline-flex}.help-key{font-family:var(--font-mono);color:var(--text);background:var(--bg-alt);border:1px solid var(--border);box-shadow:0 1px 0 var(--border);align-items:center;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.help-shortcut-desc{font-family:var(--font-mono);color:var(--text-secondary);font-size:11px}.help-tools{flex-direction:column;gap:14px;display:flex}.help-tool-section{flex-direction:column;gap:4px;display:flex}.help-tool-section-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-blue);margin-bottom:2px;font-size:9px;font-weight:700}.help-tool{border:1px solid var(--border-light)}.help-tool-head{cursor:pointer;text-align:left;background:0 0;border:none;grid-template-rows:auto auto;grid-template-columns:1fr 16px;gap:2px 10px;width:100%;padding:8px 10px;transition:background .12s;display:grid}.help-tool-head:hover{background:var(--bg-alt)}.help-tool-name{font-family:var(--font-mono);color:var(--text);word-break:break-all;grid-area:1/1;min-width:0;font-size:11px;font-weight:600}.help-tool-desc{font-family:var(--font-mono);color:var(--text-secondary);grid-area:2/1;min-width:0;font-size:10px;line-height:1.4}.help-tool-chevron{font-family:var(--font-mono);color:var(--text-muted);text-align:center;grid-area:1/2/span 2;align-self:center;font-size:12px}.help-tool-examples{border-top:1px solid var(--border-light);background:var(--bg-alt);flex-direction:column;gap:2px;padding:4px 10px 8px;display:flex}.help-tool-example{font-family:var(--font-mono);color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:flex-start;gap:6px;padding:4px 6px;font-size:10px;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.help-tool-example:hover{color:var(--text);border-color:var(--border);background:var(--surface)}.help-tool-example-arrow{color:var(--accent-blue)}.help-tools-empty{font-family:var(--font-mono);color:var(--text-muted);border:1px dashed var(--border-light);padding:8px;font-size:11px}.help-steps{counter-reset:step;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.help-steps li{counter-increment:step;border:1px solid var(--border-light);grid-template-rows:auto auto;grid-template-columns:28px 1fr;gap:4px 12px;padding:10px 12px;display:grid}.help-steps li:before{content:counter(step);font-family:var(--font-display);color:var(--accent-blue);grid-area:1/1/span 2;font-size:16px;font-weight:700}.help-step-title{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);grid-area:1/2;min-width:0;font-size:11px;font-weight:600;display:block}.help-step-body{font-family:var(--font-mono);color:var(--text-secondary);grid-area:2/2;min-width:0;font-size:10px;line-height:1.45;display:block}@media (max-width:640px){.help-shortcut-row{grid-template-columns:1fr;gap:4px}}.prompts-overlay{z-index:1050;background:#00000038;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.prompts-palette{background:var(--surface);border:2px solid var(--border);flex-direction:column;width:560px;max-width:calc(100vw - 32px);max-height:76vh;display:flex;box-shadow:0 18px 48px #00000029}.prompts-header{border-bottom:1px solid var(--border-light);grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:10px 14px;display:grid}.prompts-chevron{font-family:var(--font-display);color:var(--accent-blue);font-size:16px}.prompts-input{font-family:var(--font-mono);color:var(--text);background:0 0;border:none;outline:none;padding:4px 0;font-size:12px}.prompts-input::placeholder{color:var(--text-muted)}.prompts-count{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;font-size:9px}.prompts-list{flex-direction:column;display:flex;overflow-y:auto}.prompts-row{border:none;border-bottom:1px solid var(--border-light);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;grid-template-columns:80px 1fr auto;align-items:baseline;gap:10px;padding:8px 14px;transition:background 80ms,color 80ms;display:grid}.prompts-row:last-child{border-bottom:none}.prompts-row.selected{background:var(--bg-alt);box-shadow:inset 3px 0 0 var(--accent-blue)}.prompts-row-category{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:8px;font-weight:700}.prompts-row.selected .prompts-row-category{color:var(--accent-blue)}.prompts-row-prompt{color:var(--text);font-size:11px;line-height:1.35}.prompts-row-hint{color:var(--text-muted);letter-spacing:.03em;font-size:9px}.prompts-empty{text-align:center;font-family:var(--font-mono);color:var(--text-muted);padding:20px;font-size:11px}@media (max-width:640px){.prompts-overlay{padding-top:6vh}.prompts-row{grid-template-columns:60px 1fr}.prompts-row-hint{display:none}}.mobile-drawer-overlay{z-index:1060;animation:fadeIn var(--duration-fast) ease;background:#0000008c;position:fixed;inset:0}.mobile-drawer-panel{background:var(--surface);border-right:2px solid var(--border);width:min(280px,85vw);animation:slideInLeft var(--duration-normal) var(--ease-out-expo);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.mobile-drawer-header{border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;height:32px;padding:0 12px;display:flex}.mobile-drawer-title{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:600}.mobile-drawer-close{width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) ease;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.mobile-drawer-close:hover{color:var(--text)}.mobile-drawer-body{flex:1;overflow:hidden auto}.mobile-drawer-body .object-panel{border-right:none;height:100%;width:100%!important;display:flex!important}.mobile-drawer-body .object-panel .object-panel-toggle{display:none}.restore-banner{background:var(--surface);border-bottom:1px solid var(--border-light);border-top:1px solid var(--accent-blue);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;animation:.25s ease-out restore-banner-in;display:flex}@keyframes restore-banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.restore-banner-body{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.restore-banner-label{font-family:var(--font-display);letter-spacing:.12em;color:var(--accent-blue);font-size:9px;font-weight:700}.restore-banner-summary{font-family:var(--font-mono);color:var(--text);font-size:11px;font-weight:500}.restore-banner-age{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.restore-banner-actions{flex-shrink:0;gap:6px;display:flex}.restore-banner-btn{font-family:var(--font-display);letter-spacing:.1em;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;padding:4px 10px;font-size:9px;font-weight:700;transition:color .12s,background .12s,border-color .12s}.restore-banner-btn:hover{color:var(--text);background:var(--bg-alt);border-color:var(--text-secondary)}.restore-banner-primary{color:var(--accent-blue);border-color:var(--accent-blue)}.restore-banner-primary:hover{background:#1e88e514}@media (max-width:640px){.restore-banner{gap:6px;padding:6px 10px}.restore-banner-age{display:none}}
