:root,[data-theme=dark]{--bg0:#09090b;--bg1:#0c0c0e;--bg2:#141416;--bg3:#1c1c1f;--bg-panel:#0c0c0ef0;--bg-top:#09090bd1;--bg-toolbar:#121214f0;--line:#ffffff12;--line-strong:#ffffff1f;--text:#f4f4f5;--muted:#a1a1aa;--faint:#71717a;--accent:#e4e4e7;--accent-dim:#ffffff14;--accent-glow:#ffffff1f;--accent-text:#09090b;--focus:#a1a1aa59;--amber:#fbbf24;--ok:#34d399;--danger:#f87171;--user-msg:#1c1c1f;--user-msg-border:#ffffff1f;--canvas-dot:#ffffff24;--canvas-dot-size:1.25px;--canvas-dot-gap:28px;--serif:"Fraunces", Georgia, serif;--sans:"Outfit", system-ui, sans-serif;--radius:12px;--shadow:0 24px 60px #0000008c;--shadow-soft:0 12px 36px #0006;--disabled-bg:#ffffff0d;--disabled-text:#71717a;--disabled-border:#ffffff0f;--rose:var(--accent);--rose-dim:var(--accent-dim);--rose-glow:var(--accent-glow);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg0:#f4f4f5;--bg1:#fafafa;--bg2:#fff;--bg3:#ececef;--bg-panel:#fffffff0;--bg-top:#fafafae6;--bg-toolbar:#fffffff5;--line:#18181b14;--line-strong:#18181b24;--text:#18181b;--muted:#71717a;--faint:#a1a1aa;--accent:#18181b;--accent-dim:#18181b0f;--accent-glow:#18181b1a;--accent-text:#fafafa;--focus:#18181b2e;--amber:#d97706;--ok:#059669;--danger:#dc2626;--user-msg:#f4f4f5;--user-msg-border:#18181b1a;--canvas-dot:#18181b29;--canvas-dot-size:1.25px;--canvas-dot-gap:28px;--shadow:0 20px 50px #18181b14;--shadow-soft:0 10px 28px #18181b0f;--disabled-bg:#e4e4e7;--disabled-text:#a1a1aa;--disabled-border:#18181b14;--rose:var(--accent);--rose-dim:var(--accent-dim);--rose-glow:var(--accent-glow);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100dvh;margin:0}body{font-family:var(--sans);background:var(--bg0);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:none}.app{height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:radial-gradient(900px 480px at 12% -12%, #ffffff09, transparent 55%), radial-gradient(700px 400px at 92% 0%, #ffffff05, transparent 50%), var(--bg0);grid-template-rows:48px 1fr;display:grid}[data-theme=light] .app,.app[data-theme=light]{background:radial-gradient(900px 480px at 10% -10%, #18181b08, transparent 55%), var(--bg0)}.topbar{border-bottom:1px solid var(--line);background:var(--bg-top);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;justify-content:space-between;align-items:center;gap:12px;padding:0 14px 0 16px;display:flex}.topbar-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(145deg,#fafafa 0%,#a1a1aa 100%);border-radius:8px;width:26px;height:26px;position:relative;box-shadow:0 0 0 1px #ffffff14}[data-theme=light] .brand-mark{background:linear-gradient(145deg,#27272a 0%,#52525b 100%);box-shadow:0 0 0 1px #18181b14}.brand-mark:after{content:"";background:var(--bg0);border-radius:5px;position:absolute;inset:3px}.brand h1{font-family:var(--sans);letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:600}.brand span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-left:4px;font-size:.72rem;font-weight:400}.top-actions{align-items:center;gap:8px;display:flex}.pill{border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.75rem;display:inline-flex}.pill .dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.pill.ok .dot{background:var(--ok);box-shadow:0 0 8px #34d39999}.pill.warn .dot{background:var(--amber)}.btn{border:1px solid var(--line-strong);background:var(--bg2);color:var(--text);border-radius:10px;padding:7px 14px;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s,color .15s,transform .12s}.btn:hover{background:var(--bg3);border-color:var(--line-strong)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--accent-text);box-shadow:none;border-color:#0000;font-weight:600}.btn.primary:hover{filter:brightness(1.06);background:var(--accent)}.btn.ghost{background:0 0}.btn:disabled,.btn:disabled:hover,.btn:disabled:active{opacity:1;cursor:not-allowed;filter:none;background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);box-shadow:none;transform:none}.btn.primary:disabled,.btn.primary:disabled:hover{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);box-shadow:none;filter:none}.btn.ghost:disabled,.btn.ghost:disabled:hover{color:var(--disabled-text);background:0 0;border-color:#0000}.shell{grid-template-columns:240px 1fr 360px;height:100%;min-height:0;display:grid}.shell.shell-wide{grid-template-columns:minmax(260px,320px) 1fr}.hdr-dd{flex-shrink:0;position:relative}.hdr-dd-btn{align-items:center;gap:8px;max-width:280px;display:inline-flex}.project-dd-btn{border:1px solid var(--line);background:var(--bg2);border-radius:10px;padding:6px 12px}.project-dd-btn:hover{border-color:var(--focus);background:var(--bg3)}.project-dd-name{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;overflow:hidden}.chev{color:var(--muted);flex-shrink:0;font-size:.7rem}.hdr-menu{border:1px solid var(--line-strong);background:var(--bg2);min-width:260px;max-width:min(360px,90vw);max-height:min(70vh,520px);box-shadow:var(--shadow);z-index:50;border-radius:14px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;overflow:auto}.hdr-menu.settings-menu{flex-direction:column;gap:6px;min-width:280px;display:flex;left:auto;right:0}.hdr-menu-label{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:8px 10px 4px;font-size:.62rem;font-weight:600}.hdr-menu-item{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;transition:background .12s,border-color .12s;display:flex}.hdr-menu-item:hover{background:var(--bg3)}.hdr-menu-item.active{background:var(--rose-dim);border-color:var(--focus)}.hdr-menu-item strong{font-size:.88rem;font-weight:500}.hdr-menu-item small{color:var(--muted);font-size:.72rem}.hdr-menu-sep{background:var(--line);height:1px;margin:6px 4px}.hdr-seg{margin:0 4px 4px}.rail{border-right:1px solid var(--line);background:var(--bg-panel);flex-direction:column;gap:14px;min-height:0;padding:14px 12px;display:flex}.rail-label{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding:0 6px;font-size:.65rem;font-weight:600}.project-list{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:2px;display:flex;overflow:auto}.project-item{text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;padding:10px 12px;transition:background .15s,border-color .15s}.project-item:hover{background:var(--bg2)}.project-item.active{background:var(--rose-dim);border-color:var(--focus)}.project-item strong{font-size:.88rem;font-weight:500;display:block}.project-item small{color:var(--muted);font-size:.72rem}.rail-footer{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:8px;padding-top:12px;font-size:.78rem;display:flex}.stat-row{justify-content:space-between;padding:0 6px;display:flex}.segmented{background:var(--bg1);border:1px solid var(--line);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;padding:3px;display:grid}.segmented button{color:var(--muted);border-radius:999px;padding:6px;font-size:.75rem}.segmented button.active{background:var(--bg3);color:var(--text);box-shadow:0 2px 8px #00000059}.canvas-wrap{background:var(--bg1);overscroll-behavior:none;min-width:0;min-height:0;position:relative;overflow:hidden}.zoom-readout{opacity:.65;font-variant-numeric:tabular-nums}.canvas-chrome{z-index:5;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:12px;left:12px;right:12px}.canvas-chrome>*{pointer-events:auto}.canvas-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;z-index:1;position:absolute;inset:0}.canvas-stage.dragging{cursor:grabbing}.canvas-world{transform-origin:0 0;will-change:transform;position:absolute}.canvas-dots{pointer-events:none;z-index:0;background-color:#0000;background-image:radial-gradient(circle, var(--canvas-dot) var(--canvas-dot-size), transparent calc(var(--canvas-dot-size) + .5px));background-size:var(--canvas-dot-gap) var(--canvas-dot-gap);background-position:0 0;width:12000px;height:12000px;position:absolute;top:-6000px;left:-6000px}.shot-card{z-index:2;background:var(--bg0);border:1px solid var(--line-strong);width:200px;height:280px;box-shadow:var(--shadow);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;--z:1;border-radius:14px;transition:border-color .15s,box-shadow .15s;position:absolute;overflow:visible}.shot-card:hover,.shot-card.selected{z-index:12}.shot-card:has(.version-menu-wrap:hover){z-index:12}.shot-card:has(.version-menu-wrap:focus-within){z-index:12}.shot-card:active{cursor:grabbing;z-index:13}.shot-card.in-chain{box-shadow:0 0 0 1px #fff3, var(--shadow-soft)}.chain-order{z-index:6;background:var(--accent);min-width:22px;height:22px;color:var(--accent-text);border:1px solid var(--line-strong);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.chain-port{z-index:7;background:var(--bg2);cursor:crosshair;border:2px solid #ffffffbf;border-radius:50%;width:14px;height:14px;padding:0;position:absolute;top:50%;right:-7px;transform:translateY(-50%);box-shadow:0 0 0 1px #00000059}.chain-port:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-50%)scale(1.15)}.chain-edges{pointer-events:none;z-index:1;color:#ffffff8c;width:8000px;height:8000px;position:absolute;top:0;left:0;overflow:visible}[data-theme=light] .chain-edges{color:#18181b73}.chain-edge{stroke:currentColor;stroke-width:2px;stroke-linecap:round;opacity:.85}.chain-edge.draft{stroke-dasharray:6 4;opacity:.7}.shot-card:hover,.shot-card.selected{box-shadow:0 0 0 1px var(--focus), var(--shadow-soft);border-color:#ffffff73}[data-theme=light] .shot-card:hover,[data-theme=light] .shot-card.selected{border-color:#18181b59}.shot-card.selected{outline:none}.shot-media{background:var(--bg0);border-radius:inherit;place-items:center;display:grid;position:absolute;inset:0;overflow:visible}.shot-media-frame{border-radius:inherit;background:var(--bg0);z-index:0;position:absolute;inset:0;overflow:hidden}.shot-media-frame img,.shot-media-frame video,.shot-media-frame object{object-fit:cover;pointer-events:none;image-rendering:auto;width:100%;height:100%;image-rendering:high-quality;display:block}.shot-media>.shot-index,.shot-media>.status-dot,.shot-media>.media-fabs,.shot-media>.mute-fab{z-index:2}.shot-media>.media-fabs,.shot-media>.mute-fab{z-index:6}.shot-media-frame .placeholder,.shot-media .placeholder{color:var(--faint);opacity:.75;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.75rem;display:flex;position:absolute;inset:0}.placeholder-glyph{opacity:.5;font-size:1.4rem}.shot-index{z-index:2;letter-spacing:.06em;color:#f4f0ec;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;border:1px solid #ffffff1f;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:700;position:absolute;top:8px;left:8px}.status-dot{z-index:2;background:var(--faint);width:8px;height:8px;box-shadow:none;pointer-events:none;border:none;border-radius:50%;padding:0;position:absolute;top:10px;right:10px}.status-dot.tone-ok{background:var(--ok);box-shadow:none}.status-dot.tone-busy{background:var(--amber);box-shadow:none;animation:1.4s infinite pulse}.status-dot.tone-bad{background:var(--danger);box-shadow:none}.status-dot.tone-idle{background:var(--faint)}.shot-fail-badge{z-index:3;color:#fff;background:var(--danger);max-width:calc(100% - 16px);box-shadow:var(--shadow-soft);white-space:nowrap;text-overflow:ellipsis;cursor:help;border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.3;display:inline-flex;position:absolute;bottom:8px;left:8px;overflow:hidden}.media-fabs{z-index:6;pointer-events:auto;align-items:center;gap:4px;display:flex;position:absolute;top:8px;right:28px}.media-fab,.mute-fab{color:#f4f4f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;background:#0000009e;border:1px solid #ffffff38;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;margin:0;padding:0;line-height:0;display:inline-flex;position:relative;top:auto;right:auto}.media-fab:hover,.mute-fab:hover{background:#000c;transform:scale(1.06)}.media-fab.playing{border-color:#ffffff47}.media-fab.paused{color:#c4b5fd;border-color:#a78bfa8c}.mute-fab.live{color:#fcd34d;border-color:#fbbf24a6}.media-fab .ico,.mute-fab .ico{width:15px;height:15px;display:block}.shot-hover .icon-btn.continue-icon-btn{color:#ddd6fe;border-color:#a78bfa8c}.shot-icon-actions .icon-btn.on{color:#fcd34d;border-color:#fbbf2473}.extract-modal{max-width:520px}.extract-preview{border:1px solid var(--border,#ffffff14);background:#0a0a0b;border-radius:12px;width:100%;margin:12px 0 8px;overflow:hidden}.extract-preview video{background:#000;width:100%;max-height:360px;display:block}.extract-modal input[type=range]{width:100%;accent-color:var(--amber,#f59e0b)}.end-frame-preview{gap:6px;margin-top:8px;display:grid}.end-frame-preview img{object-fit:cover;border:1px solid var(--border,#ffffff1a);background:#0a0a0b;border-radius:10px;width:100%;max-height:160px}.end-frame-versions{gap:6px;margin-top:10px;display:grid}.version-list.compact{gap:4px;max-height:180px;display:grid;overflow:auto}.shot-progress{z-index:3;pointer-events:none;background:#0000008c;border-radius:999px;height:5px;position:absolute;bottom:8px;left:10px;right:10px;overflow:hidden;box-shadow:0 0 0 1px #ffffff59,0 2px 8px #00000059}.shot-progress>div{border-radius:inherit;background:linear-gradient(90deg,#fbbf24 0%,#f59e0b 55%,#fcd34d 100%);height:100%;transition:width .35s;box-shadow:0 0 10px #fbbf24bf}.shot-hover{z-index:8;border:1px solid var(--line-strong);background:var(--bg-toolbar);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;box-sizing:border-box;border-radius:12px;flex-direction:column;gap:6px;width:100%;margin-top:6px;padding:8px 8px 10px;transition:opacity .14s,transform .14s;display:flex;position:absolute;top:100%;left:0;right:0;overflow:visible;transform:translateY(-4px)}.shot-card:hover .shot-hover,.shot-card.selected .shot-hover{opacity:1;pointer-events:auto;transform:translateY(0)}.shot-card:has(.version-menu-wrap.open) .shot-hover{opacity:1;pointer-events:auto;transform:translateY(0)}.shot-card:has(.version-menu-wrap:hover) .shot-hover{opacity:1;pointer-events:auto;transform:translateY(0)}.shot-card:has(.version-menu-wrap:focus-within) .shot-hover{opacity:1;pointer-events:auto;transform:translateY(0)}.shot-hover-meta strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;line-height:1.25;display:block;overflow:hidden}.shot-hover-meta p{display:none}.shot-hover-status{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-top:2px;font-size:.6rem;display:block}.shot-icon-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--bg3);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.icon-btn .ico{flex-shrink:0;width:14px;height:14px;display:block}label.icon-btn{cursor:pointer;margin:0}label.icon-btn.disabled{pointer-events:none;opacity:.45;cursor:not-allowed}.icon-btn:hover:not(:disabled){background:var(--accent-dim);border-color:var(--focus);transform:translateY(-1px)}.icon-btn:active:not(:disabled){transform:scale(.96)}.icon-btn:disabled{cursor:not-allowed;transform:none}.icon-btn .ico-spinner,.icon-btn .spinner{border-width:2px;width:14px;height:14px}.shot-hover .icon-btn{background:var(--bg3);border-color:var(--line);color:var(--text);box-shadow:none}.shot-hover .icon-btn:hover:not(:disabled){background:var(--accent-dim);border-color:var(--focus);color:var(--text);transform:none}.shot-hover .icon-btn:disabled,.shot-hover .icon-btn:disabled:hover,.shot-hover label.icon-btn.disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);box-shadow:none;opacity:1;filter:none;transform:none}.shot-hover .icon-btn:disabled .ico{opacity:.7}.shot-hover .icon-btn .spinner{border-color:var(--line-strong);border-top-color:var(--text)}.shot-hover .version-menu{margin-top:0;margin-bottom:0;top:calc(100% + 4px);bottom:auto}.version-menu-wrap{z-index:30;position:relative}.version-menu-wrap .icon-btn{position:relative}.version-count{background:var(--accent);min-width:14px;height:14px;color:var(--accent-text);text-align:center;border-radius:999px;padding:0 3px;font-size:.55rem;font-weight:700;line-height:14px;position:absolute;top:-4px;right:-4px}.version-menu{border:1px solid var(--line-strong);background:var(--bg-toolbar);width:max-content;min-width:180px;max-width:min(240px,70vw);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:40;pointer-events:auto;border-radius:12px;margin-bottom:-6px;padding:0;display:none;position:absolute;bottom:100%;left:50%;overflow:visible;transform:translate(-50%)}.version-menu-scroll{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;border-radius:12px;max-height:260px;padding:6px 6px 14px;overflow:hidden auto}.version-menu-scroll::-webkit-scrollbar{width:0;height:0;display:none}.version-menu:after{content:"";height:12px;position:absolute;top:100%;left:0;right:0}.version-menu-wrap:hover .version-menu,.version-menu-wrap:focus-within .version-menu,.version-menu-wrap.open .version-menu{display:block}.shot-card.versions-open{z-index:14}.shot-card:has(.version-menu-wrap.open){z-index:14}.shot-card.versions-open .shot-hover,.shot-card:hover .shot-hover,.shot-card.selected .shot-hover{opacity:1;pointer-events:auto;overflow:visible}.shot-card:has(.version-menu-wrap.open) .shot-hover{opacity:1;pointer-events:auto;overflow:visible}.version-menu-label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:4px 8px 6px;font-size:.62rem;font-weight:600}.version-item-row{align-items:stretch;gap:4px;width:100%;display:flex}.version-item-row .version-item{flex:1;min-width:0}.version-del{width:28px;color:var(--muted,#a1a1aa);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:0 0 28px;padding:0;font-size:1.1rem;line-height:1}.version-del:hover:not(:disabled){color:#fca5a5;background:#ef44442e}.version-del:disabled{opacity:.4;cursor:not-allowed}.version-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex}.version-item:hover:not(:disabled){background:var(--accent-dim)}.version-item.active{border-color:var(--line-strong);background:var(--bg3)}.version-item:disabled{cursor:default}.version-thumb{background:var(--bg0);border:1px solid var(--line);border-radius:6px;flex-shrink:0;width:36px;height:48px;overflow:hidden}.version-thumb img,.version-thumb video{object-fit:cover;width:100%;height:100%;display:block}.version-thumb-clip{background:#0a0a0c}.version-thumb-empty{background:var(--bg3);width:100%;height:100%;display:block}.version-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:10px 0 6px;font-size:.65rem;font-weight:600}.version-group-label:first-child{margin-top:0}.version-hint{margin:8px 0 0;font-size:.72rem;line-height:1.35}.version-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.version-meta strong{font-size:.8rem;font-weight:600}.version-meta small{color:var(--muted);font-size:.68rem}.inspector-versions{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:4px;max-height:200px;display:flex;overflow:hidden auto}.inspector-versions::-webkit-scrollbar{width:0;height:0;display:none}.inspector-versions .version-item{background:var(--bg2);border-color:var(--line)}.canvas-toolbar{z-index:8;background:var(--bg-toolbar);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:max-content;max-width:calc(100% - 16px);box-shadow:var(--shadow-soft);scrollbar-width:thin;border-radius:14px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;padding:8px 14px;display:flex;position:absolute;bottom:16px;left:50%;overflow:auto hidden;transform:translate(-50%)}.toolbar-group{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:4px;display:flex}.toolbar-group.meta{flex-shrink:0;gap:10px;padding:0 6px}.toolbar-group.actions{flex-shrink:0;gap:4px}.canvas-toolbar .tb-sep{flex-shrink:0}.tb-label{white-space:nowrap;font-size:.8rem;font-weight:600}.tb-muted{color:var(--muted);white-space:nowrap;font-size:.72rem}.tb-sep{background:var(--line-strong);align-self:stretch;width:1px;min-height:22px;margin:0 4px}.tb-btn{color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;padding:7px 12px;font-size:.78rem;font-weight:500;transition:background .12s,color .12s,border-color .12s}.tb-btn:hover:not(:disabled){background:var(--rose-dim);color:var(--text)}.tb-btn.on{background:var(--rose-dim);color:var(--text);border-color:var(--focus)}.tb-btn.primary{background:var(--accent);color:var(--accent-text);border-color:#0000;font-weight:600}.tb-btn.primary:hover:not(:disabled){filter:brightness(1.05);background:var(--accent);color:var(--accent-text)}.tb-btn:disabled,.tb-btn:disabled:hover{opacity:1;cursor:not-allowed;background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);filter:none;box-shadow:none}.tb-check{color:var(--muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:0 4px;font-size:.75rem;display:inline-flex}.tb-check input{accent-color:var(--accent);width:14px;height:14px;margin:0}.check-row{cursor:pointer;text-transform:none;letter-spacing:0;color:var(--text);align-items:flex-start;gap:10px;font-size:.84rem;font-weight:500;display:flex}.check-row input{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.check-hint{color:var(--muted);text-transform:none;letter-spacing:0;margin-top:4px;font-size:.72rem;font-weight:400;line-height:1.4;display:block}.tb-btn.primary:disabled,.tb-btn.primary:disabled:hover{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);filter:none}.float-bar{z-index:6;background:var(--bg-toolbar);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border-radius:999px;gap:4px;padding:6px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.float-bar button{color:var(--muted);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:.78rem}.float-bar button:hover,.float-bar button.active{background:var(--rose-dim);color:var(--text)}.float-bar .sep{background:var(--line);width:1px;margin:4px 2px}.empty-canvas{pointer-events:none;text-align:center;place-items:center;padding:40px;display:grid;position:absolute;inset:0}.empty-canvas h2{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 10px;font-size:1.8rem;font-weight:500}.empty-canvas p{color:var(--muted);max-width:360px;margin:0 auto;line-height:1.5}.agent{border-left:1px solid var(--line);background:var(--bg-panel);flex-direction:column;min-height:0;display:flex}.agent.agent-left{border-left:none;border-right:1px solid var(--line)}.agent-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.agent-head h2{margin:0;font-size:.9rem;font-weight:600}.agent-head span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:500}.focus-chip{border:1px solid var(--line-strong);background:var(--bg2);box-sizing:border-box;border-radius:12px;align-items:center;gap:10px;width:100%;min-width:0;padding:8px 10px 8px 8px;font-size:.78rem;display:flex}.focus-chip-thumb{border:1px solid var(--line-strong);background:#000;border-radius:8px;flex:none;width:40px;min-width:40px;height:52px;min-height:52px;display:block;position:relative;overflow:hidden}.focus-chip-thumb img,.focus-chip-thumb video{object-fit:cover;pointer-events:none;background:#111;width:100%;height:100%;display:block;position:absolute;inset:0}.focus-chip-thumb-empty,span.focus-chip-thumb.focus-chip-thumb-empty{color:var(--faint);background:var(--bg3);place-items:center;font-size:.75rem;display:grid}.focus-chip-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.focus-chip-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.58rem;font-weight:700;line-height:1.2}.focus-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.25;overflow:hidden}.focus-chip-x{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;padding:0;font-size:1rem;line-height:1}.focus-chip-x:hover{color:var(--text);border-color:var(--focus)}.messages{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow:auto}.msg{white-space:normal;word-break:break-word;border-radius:12px;max-width:94%;padding:11px 13px;font-size:.88rem;line-height:1.5}.msg.assistant{background:var(--bg2);border:1px solid var(--line);align-self:flex-start}.msg.user{background:var(--user-msg);border:1px solid var(--user-msg-border);color:var(--text);align-self:flex-end}.msg.tool{border:1px dashed var(--line-strong);color:var(--muted);background:0 0;align-self:flex-start;font-family:ui-monospace,monospace;font-size:.75rem}.msg.stream{border-color:var(--focus);box-shadow:0 0 0 1px var(--rose-dim)}.stream-status{color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;font-size:.8rem;display:flex}.stream-tools{color:var(--muted);flex-direction:column;gap:2px;margin-bottom:8px;font-family:ui-monospace,monospace;font-size:.72rem;display:flex}.stream-tool-line{opacity:.9}.chat-queue{flex-direction:column;gap:8px;margin-top:4px;display:flex}.chat-queue-label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:0 4px;font-size:.65rem;font-weight:600}.msg.user.queued{opacity:.75;border-style:dashed;padding-right:28px;position:relative}.queue-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);vertical-align:middle;border-radius:999px;margin-right:8px;padding:1px 6px;font-size:.6rem;display:inline-block}.queue-x{width:22px;height:22px;color:var(--muted);border-radius:6px;font-size:1rem;line-height:1;position:absolute;top:6px;right:8px}.queue-x:hover{color:var(--text);background:var(--bg3)}.composer-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}@keyframes blink{50%{opacity:0}}.composer{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:14px;display:flex}.composer textarea{resize:none;border:1px solid var(--line-strong);background:var(--bg1);border-radius:14px;outline:none;width:100%;min-height:72px;max-height:160px;padding:12px 14px;line-height:1.45}.composer textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--rose-dim)}.composer-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:var(--bg2);border-radius:999px;padding:4px 9px;font-size:.68rem}.chip:hover{color:var(--text);border-color:var(--focus)}.overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#0000009e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--bg1);border:1px solid var(--line-strong);width:min(560px,100%);max-height:min(80vh,720px);box-shadow:var(--shadow);border-radius:20px;padding:22px;overflow:auto}.modal h2{font-family:var(--serif);margin:0 0 6px;font-size:1.4rem;font-weight:600}.modal .sub{color:var(--muted);margin:0 0 18px;line-height:1.45}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:.72rem}.field input,.field textarea{border:1px solid var(--line-strong);background:var(--bg0);border-radius:12px;outline:none;padding:10px 12px}.field input:focus,.field textarea:focus{border-color:var(--focus)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.setup-step{border-bottom:1px solid var(--line);padding:12px 0}.setup-step:last-child{border-bottom:none}.setup-step h3{margin:0 0 4px;font-size:.92rem}.setup-step p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.welcome{place-items:center;height:100%;padding:32px;display:grid}.welcome-card{text-align:center;border:1px solid var(--line-strong);background:radial-gradient(500px 200px at 50% 0%, #ffffff0a, transparent 70%), var(--bg1);width:min(520px,100%);box-shadow:var(--shadow);border-radius:24px;padding:40px 32px}.welcome-card h1{font-family:var(--serif);letter-spacing:-.03em;margin:16px 0 10px;font-size:2.2rem;font-weight:600}.welcome-card p{color:var(--muted);margin:0 0 22px;line-height:1.55}.welcome-card .actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.login-card{text-align:left;width:min(400px,100%)}.login-card h1,.login-card>p{text-align:center}.login-card>p{margin-bottom:26px;font-size:.92rem}.login-card code{border:1px solid var(--line);background:var(--bg3);border-radius:6px;padding:.12em .4em;font-size:.85em}.login-form{flex-direction:column;gap:16px;margin-top:0;display:flex}.login-field{text-align:left;flex-direction:column;gap:7px;display:flex}.login-label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:.72rem;font-weight:500}.login-input-wrap{align-items:stretch;display:flex;position:relative}.login-input{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--bg0);width:100%;color:var(--text);appearance:none;border-radius:12px;outline:none;margin:0;padding:12px 14px;font-size:.95rem;line-height:1.35;transition:border-color .15s,box-shadow .15s,background .15s}.login-input-wrap .login-input{padding-right:4.25rem}.login-input::placeholder{color:var(--faint);opacity:.85}.login-input:hover:not(:disabled):not(:focus){border-color:var(--line-strong);background:var(--bg1)}.login-input:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-dim);background:var(--bg0)}.login-input:disabled{opacity:.65;cursor:not-allowed;background:var(--disabled-bg);color:var(--disabled-text)}.login-input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--bg0) inset;transition:background-color 99999s ease-out}.login-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--bg0) inset;transition:background-color 99999s ease-out}.login-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--bg0) inset;transition:background-color 99999s ease-out}.login-reveal{z-index:1;color:var(--muted);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:.75rem;font-weight:500;line-height:1;transition:color .12s,background .12s;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-reveal:hover:not(:disabled){color:var(--text);background:var(--accent-dim)}.login-reveal:disabled{opacity:.5;cursor:not-allowed}.login-error{margin:-4px 0 0;font-size:.85rem}.login-submit{border-radius:12px;width:100%;margin-top:4px;padding:12px 16px;font-size:.92rem}.spinner{border:2px solid var(--line-strong);border-top-color:var(--rose);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.project-chip{color:var(--muted);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:180px;margin-left:10px;padding:4px 10px;font-size:.75rem;overflow:hidden}.btn.sm{border-radius:8px;padding:5px 10px;font-size:.75rem}.btn.sm.on{border-color:var(--focus);color:var(--rose)}.float-bar button:disabled,.float-bar button:disabled:hover,.chip:disabled,.chip:disabled:hover{opacity:1;cursor:not-allowed;background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);box-shadow:none;filter:none}.icon-btn:disabled,.icon-btn:disabled:hover{opacity:1;cursor:not-allowed;background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);box-shadow:none;filter:none;transform:none}.shot-hover .icon-btn:disabled,.shot-hover .icon-btn:disabled:hover{color:#ffffff61;background:#ffffff12;border-color:#ffffff1f}.chrome-right{align-items:center;gap:6px;display:flex}.shot-card.tone-busy{border-color:#fbbf2459}.shot-card.tone-ok:not(:hover):not(.selected){border-color:#34d39938}.pill.busy-pill .dot.pulse{background:var(--amber);animation:1.4s infinite pulse;box-shadow:0 0 #fbbf2480}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.rail-select{border:1px solid var(--line);background:var(--bg1);width:calc(100% - 8px);color:var(--text);border-radius:10px;outline:none;margin:0 4px 6px;padding:8px 10px;font-size:.78rem}.rail-select:focus{border-color:var(--focus)}.cast-line{flex-wrap:wrap;gap:6px;padding:4px 6px 0;display:flex}.cast-line span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.72rem}.cast-line span.has-face{color:var(--ok);border-color:#34d39966}.inspector{z-index:8;background:var(--bg-toolbar);border:1px solid var(--line-strong);width:min(320px,100% - 28px);max-height:calc(100% - 100px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;flex-direction:column;animation:.18s slide-in;display:flex;position:absolute;top:14px;right:14px;overflow:hidden}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.inspector-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 12px 10px 14px;display:flex}.inspector-head-main{flex:1;min-width:0}.inspector-title{margin-bottom:6px;font-size:.95rem;line-height:1.25;display:block}.inspector-meta-row{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.inspector-meta-bits{font-size:.72rem}.status-badge{letter-spacing:.02em;text-transform:lowercase;border:1px solid var(--line);color:var(--muted);background:#ffffff0d;border-radius:999px;align-items:center;padding:2px 8px;font-size:.65rem;font-weight:650;display:inline-flex}.status-badge.tone-ok{color:var(--ok);background:#34d3991a;border-color:#34d39959}.status-badge.tone-busy{color:#fbbf24;background:#fbbf241a;border-color:#fbbf2459}.status-badge.tone-bad{color:#fca5a5;background:#f871711a;border-color:#f8717159}.inspector-job{gap:4px;margin-top:8px;display:grid}.inspector-job .muted{font-size:.7rem}.inspector-job-error{word-break:break-word;max-height:6.5em;margin:4px 0 0;font-size:.78rem;line-height:1.35;overflow:auto}.inspector-fail{border-left:3px solid var(--danger);background:var(--bg2);word-break:break-word;border-radius:4px;margin-bottom:8px;padding:6px 9px;line-height:1.4;display:block}.inspector-fail-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.inspector-fail-text{flex:1;min-width:0}.inspector-retry-btn{white-space:nowrap;flex-shrink:0}.inspector-fail .inspector-job-id{opacity:.7}.shot-fail-badge{align-items:center;gap:4px;display:inline-flex}.shot-fail-retry{color:inherit;cursor:pointer;background:#00000059;border:1px solid #fff3;border-radius:3px;margin-left:2px;padding:0 5px;font-size:.65rem;line-height:1.4}.shot-fail-retry:hover:not(:disabled){background:#ffffff1f}.shot-fail-retry:disabled{opacity:.5;cursor:wait}.hdr-menu-hint{opacity:.7;padding:0 10px 6px;font-size:.72rem;line-height:1.35;display:block}.lora-import-row{align-items:center;gap:6px;padding:0 10px 8px;display:flex}.lora-import-row .rail-input,.lora-import-row input{flex:1;min-width:0;font-size:.78rem}.lora-mini-list{max-height:7rem;margin:0 10px 8px;padding:0;font-size:.75rem;list-style:none;overflow:auto}.lora-mini-list li{border-bottom:1px solid #ffffff0f;padding:3px 0}.lora-full-list{max-height:none;margin:0;padding:0;list-style:none;overflow:visible}.lora-card{border-bottom:1px solid #ffffff14;padding:0}.lora-card-summary{align-items:flex-start;gap:8px;padding:8px 0;display:flex}.lora-card-toggle{min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;flex:1;align-items:flex-start;gap:8px;margin:0;padding:4px 6px;display:flex}.lora-card-toggle:hover{background:#ffffff0d}.lora-chev{opacity:.65;flex-shrink:0;width:1em;font-size:.85rem;line-height:1.4}.lora-card-main{flex-direction:column;gap:2px;min-width:0;display:flex}.lora-card-title{word-break:break-word;font-size:.92rem;line-height:1.3}.lora-card-meta{font-size:.72rem;line-height:1.35}.lora-file{word-break:break-all;font-family:ui-monospace,monospace}.lora-remove{flex-shrink:0;margin-top:2px}.lora-card-details{flex-direction:column;gap:10px;padding:0 6px 12px 1.6em;animation:.12s ease-out lora-details-in;display:flex}@keyframes lora-details-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.lora-detail-block{flex-direction:column;gap:4px;display:flex}.lora-detail-label{text-transform:uppercase;letter-spacing:.04em;opacity:.55;font-size:.68rem;font-weight:600}.lora-triggers,.lora-tags{word-break:break-word;margin:0;font-size:.8rem;line-height:1.4}.lora-notes{white-space:pre-wrap;opacity:.9;background:#00000038;border-radius:6px;max-height:10rem;margin:0;padding:8px 10px;font-size:.75rem;line-height:1.4;overflow:auto}.lora-notes-dim{opacity:.72;max-height:6rem}.lora-detail-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;display:flex}.lora-source-link{color:var(--accent,#a78bfa);font-size:.75rem;text-decoration:none}.lora-source-link:hover{text-decoration:underline}.lora-section-title{letter-spacing:.02em;opacity:.9;margin:16px 0 6px;font-size:.85rem;font-weight:600}.lora-target-prompt{background:#fbbf2414;border:1px solid #fbbf2459;border-radius:8px;margin:0 0 14px;padding:12px 14px}.lora-target-prompt strong{margin-bottom:4px;display:block}.lora-target-grid{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.lora-target-grid.compact{margin-top:4px}.lora-target-btn.active{outline:1px solid var(--accent,#a78bfa);background:#a78bfa26}.lora-family-badge{text-transform:uppercase;letter-spacing:.03em;color:inherit;background:#a78bfa2e;border-radius:4px;padding:0 6px;font-size:.68rem;font-weight:600;display:inline-block}.lora-family-badge.warn{color:#fbbf24;background:#fbbf2433}.lora-card.needs-target{border-left:2px solid #fbbf2480;padding-left:6px}.inspector-job-id{word-break:break-all;margin:2px 0 0;font-family:ui-monospace,monospace;font-size:.7rem}.inspector-job-bar{background:#ffffff14;border-radius:99px;height:4px;overflow:hidden}.inspector-job-bar>div{border-radius:inherit;background:linear-gradient(90deg,#fbbf24,#f59e0b);height:100%;transition:width .3s}.inspector-media{border-bottom:1px solid var(--line);flex-shrink:0;gap:8px;padding:10px 12px;display:grid}.inspector-frame-pair{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;display:grid}.inspector-frame{aspect-ratio:3/4;border:1px solid var(--line);background:#00000059;border-radius:10px;position:relative;overflow:hidden}.inspector-frame.is-empty{opacity:.85;border-style:dashed}.inspector-frame img{object-fit:cover;width:100%;height:100%;display:block}.inspector-frame-label{z-index:1;letter-spacing:.08em;text-transform:uppercase;color:#f4f4f5;background:#0000008c;border:1px solid #ffffff1f;border-radius:999px;padding:2px 6px;font-size:.58rem;font-weight:700;position:absolute;top:6px;left:6px}.inspector-frame-empty{height:100%;color:var(--faint);text-align:center;place-items:center;padding:8px;font-size:.7rem;display:grid}.inspector-frame-arrow{color:var(--faint);font-size:.9rem;font-weight:600}.inspector-view-toggle{width:100%}.inspector-view-toggle.segmented{grid-template-columns:1fr 1fr;display:grid}.inspector-view-toggle.segmented button{padding:6px 8px;font-size:.72rem}.inspector-actions-bar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-toolbar) 92%, transparent);flex-shrink:0;grid-template-columns:1fr 1fr 1.15fr .85fr;gap:5px;padding:8px 12px;display:grid}.inspector-actions-bar .btn{min-width:0;padding-left:6px;padding-right:6px;font-size:.72rem}.inspector-continue-row{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-toolbar) 92%, transparent);flex-shrink:0;padding:0 12px 8px}.inspector-continue-row .btn{width:100%;font-size:.75rem}.inspector-link-row{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-toolbar) 92%, transparent);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;min-width:0;padding:8px 10px;display:flex}.inspector-link-label{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);white-space:nowrap;flex:none;font-size:.62rem;font-weight:650}.inspector-from-prev.segmented{flex:auto;grid-template-columns:1fr 1fr 1fr;gap:2px;min-width:0;padding:2px;display:grid}.inspector-from-prev button{white-space:nowrap;flex:none;min-width:0;padding:5px 4px;font-size:.68rem}.inspector-link-row>.btn.sm{white-space:nowrap;flex:none;padding:5px 8px;font-size:.68rem}.inspector-bridge-hint{display:none}.inspector-link-row.has-bridge{flex-wrap:wrap}.inspector-link-row.has-bridge .inspector-bridge-hint{width:100%;margin:0;padding:0 2px;font-size:.65rem;display:block}.chain-preview-modal{max-width:min(520px,94vw)}.chain-preview-stage{aspect-ratio:9/16;border:1px solid var(--line);background:#0a0a0c;border-radius:12px;place-items:center;width:100%;max-height:min(62vh,560px);margin:8px 0 10px;display:grid;overflow:hidden}.chain-preview-stage video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.chain-preview-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin-bottom:8px;font-size:.78rem;display:flex}.chain-preview-list{flex-direction:column;gap:4px;max-height:140px;margin:0 0 10px;padding:0;list-style:none;display:flex;overflow:auto}.chain-preview-list li{color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:.72rem;display:flex}.chain-preview-list li:hover{background:#ffffff0a}.chain-preview-list li.active{border-color:var(--line-strong);background:var(--bg3);color:var(--text);font-weight:600}.chain-preview-list .kind{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);min-width:3.2rem;font-size:.62rem}.chain-preview-list li.active .kind{color:#c4b5fd}.chain-preview-actions{justify-content:flex-end;gap:8px;display:flex}.scene-select{border:1px solid var(--line);background:var(--bg2);max-width:140px;color:var(--text);border-radius:8px;padding:5px 8px;font-size:.75rem}.inspector-attach-row{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-toolbar) 92%, transparent);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;min-width:0;padding:6px 10px 8px;display:flex}.inspector-attach-row .inspector-link-label{flex:none}.inspector-attach-row .btn.sm{flex:1 1 0;min-width:0;padding:5px 4px;font-size:.68rem}.media-attach-modal{flex-direction:column;max-width:min(640px,96vw);max-height:min(88vh,800px);display:flex}.media-filter-seg{grid-template-columns:repeat(4,1fr);margin-top:8px}.media-attach-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:min(52vh,420px);margin-top:12px;padding:2px;display:grid;overflow:auto}.media-attach-card{border:1px solid var(--line);background:var(--bg2);color:var(--text);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;gap:4px;padding:0;display:flex;overflow:hidden}.media-attach-card:hover{border-color:var(--line-strong);box-shadow:0 0 0 1px var(--accent-dim)}.media-attach-thumb{aspect-ratio:3/4;background:#0a0a0c;display:block;overflow:hidden}.media-attach-thumb img,.media-attach-thumb video{object-fit:cover;width:100%;height:100%;display:block}.media-attach-meta{flex-direction:column;gap:1px;min-width:0;padding:4px 6px 6px;display:flex}.media-attach-meta strong{text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-size:.62rem}.media-attach-meta small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.inspector-body{flex:1;min-height:0;padding:6px 10px 12px;overflow:auto}.inspector-section-toggle{width:100%;color:var(--text);font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:8px;font-size:.72rem;font-weight:650;display:flex}.inspector-section-toggle:hover,.inspector-section-toggle.open{background:#ffffff0a}.inspector-section-toggle .chev{color:var(--faint);font-size:.75rem}.inspector-section-toggle .count-pill{letter-spacing:0;text-transform:none;color:var(--muted);vertical-align:middle;background:#ffffff14;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.65rem;font-style:normal;font-weight:700;display:inline-block}.inspector-section-toggle .count-pill.end{color:#fcd34d;background:#fbbf2426}.inspector-section{padding:2px 6px 10px}.field-mini{margin-bottom:10px}.field-mini label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:.62rem;display:block}.field-mini p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.45}.field-mini .dialogue{color:var(--text);font-family:var(--serif);font-style:italic}.field-mini p.clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.field-mini p.prompt-scroll{border:1px solid var(--line);background:#0003;border-radius:8px;max-height:7.5rem;padding:8px;font-size:.74rem;line-height:1.4;overflow:auto}.check-row.compact{color:var(--text);cursor:pointer;align-items:flex-start;gap:8px;font-size:.8rem;display:flex}.check-row.compact input{margin-top:3px}.inspector-end-actions{gap:6px;margin-top:8px;display:flex}.version-end-btn{width:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:0 0 28px;padding:0;font-size:.7rem;font-weight:700}.version-end-btn:hover:not(:disabled){color:#fcd34d;background:#fbbf241f}.version-end-btn.on{color:#fcd34d;background:#fbbf242e}.version-end-btn:disabled{opacity:.55;cursor:default}.inspector-actions{gap:6px;margin-top:8px;display:flex}.inline-code{background:#ffffff0f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.85em}.msg strong{color:var(--text);font-weight:600}.msg.tool{white-space:normal}.tool-line{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.tool-name{color:var(--muted);font-weight:600}.toasts{z-index:80;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--bg2);border:1px solid var(--line-strong);min-width:200px;max-width:340px;box-shadow:var(--shadow);border-radius:12px;padding:10px 14px;font-size:.84rem;animation:.2s slide-in}.toast-ok{border-color:#34d39959}.toast-err{color:var(--danger);border-color:#fb718573}.toast-info{border-color:var(--focus)}.err-text{font-size:.85rem;color:var(--danger)!important}.muted{color:var(--muted);font-size:.75rem;font-weight:400}.modal.wide{width:min(680px,100%)}.modal.civitai-modal{flex-direction:column;width:min(640px,100%);max-height:min(84vh,780px);padding:0;display:flex;overflow:hidden}.civitai-modal-head{border-bottom:1px solid var(--line);flex-shrink:0;padding:20px 22px 12px}.civitai-modal-head h2{margin:0 0 4px}.civitai-modal-head .sub{margin:0;font-size:.82rem}.civitai-modal-body{scrollbar-gutter:stable;flex:auto;min-height:0;padding:10px 14px 12px;overflow:hidden auto}.civitai-modal-foot{border-top:1px solid var(--line);background:var(--bg1);flex-shrink:0;margin:0;padding:12px 18px 16px}.civitai-acc{border:1px solid var(--line);background:var(--bg0);border-radius:12px;margin-bottom:8px;overflow:hidden}.civitai-acc-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:10px 12px;display:flex}.civitai-acc-toggle:hover{background:#ffffff0a}.civitai-acc-title{flex:1;font-size:.88rem;font-weight:600}.civitai-acc-badge{text-align:center;background:#a78bfa2e;border-radius:99px;flex-shrink:0;min-width:1.4em;padding:1px 7px;font-size:.68rem;font-weight:600}.civitai-acc-body{border-top:1px solid var(--line);padding:0 12px 12px}.civitai-help{margin:8px 0 10px;font-size:.78rem;line-height:1.4}.civitai-acc .lora-import-row{margin-bottom:10px;padding:0}.civitai-acc .lora-full-list{max-height:none;overflow:visible}.lora-card-main-pad{padding:4px 6px}.lora-gallery-picker{border:1px solid var(--line);background:var(--bg0);border-radius:12px;margin:0 0 14px;padding:12px}.lora-gallery-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.lora-gallery-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.lora-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;max-height:min(48vh,420px);padding:2px;display:grid;overflow:auto}.lora-gallery-card{border:1px solid var(--line);background:var(--bg1,var(--bg0));color:inherit;text-align:left;border-radius:10px;flex-direction:column;gap:6px;margin:0;padding:0;transition:border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.lora-gallery-card:hover{border-color:#a78bfa8c}.lora-gallery-card.selected{border-color:#a78bfae6;box-shadow:0 0 0 1px #a78bfa73}.lora-gallery-card.imported{opacity:.55}.lora-gallery-card.no-prompt{opacity:.75}.lora-gallery-thumb{aspect-ratio:1;background:#111;position:relative;overflow:hidden}.lora-gallery-thumb-inner{position:absolute;inset:0}.lora-gallery-thumb img,.lora-gallery-thumb video.lora-gallery-video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.lora-gallery-thumb video.lora-gallery-video{opacity:0;transition:opacity .12s;position:absolute;inset:0}.lora-gallery-thumb video.lora-gallery-video.show{opacity:1}.lora-gallery-thumb-hit{z-index:1;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.lora-gallery-thumb-hit:disabled{cursor:default}.lora-gallery-play{z-index:2;color:#fff;cursor:pointer;background:#000000b8;border:0;border-radius:999px;place-items:center;width:34px;height:34px;font-size:.85rem;line-height:1;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000059}.lora-gallery-play:hover:not(:disabled){background:#7c3aede6}.lora-gallery-play:disabled{opacity:.5;cursor:default}.lora-gallery-empty{place-items:center;width:100%;height:100%;font-size:.7rem;display:grid}.lora-gallery-type{z-index:2;color:#eee;pointer-events:none;background:#000000b8;border-radius:999px;padding:2px 6px;font-size:.62rem;font-weight:600;position:absolute;bottom:6px;left:6px}.lora-gallery-meta{flex-direction:column;gap:3px;min-height:3.2rem;padding:0 8px 8px;display:flex}.lora-gallery-id{color:var(--muted);font-size:.68rem}.lora-gallery-prompt{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.68rem;line-height:1.3;display:-webkit-box;overflow:hidden}.act-ref-grid{flex-direction:column;gap:10px;max-height:min(52vh,520px);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.act-ref-card{border:1px solid var(--line);background:var(--bg0);border-radius:12px;grid-template-columns:88px 1fr;gap:10px;padding:8px;display:grid}.act-ref-thumb{background:#111;border-radius:8px;flex-shrink:0;width:88px;height:88px;position:relative;overflow:hidden}.act-ref-thumb img{object-fit:cover;width:100%;height:100%;display:block}.act-ref-thumb-empty{place-items:center;width:100%;height:100%;font-size:.65rem;display:grid}.act-ref-type{color:#eee;background:#000000b8;border-radius:999px;padding:1px 5px;font-size:.58rem;font-weight:600;position:absolute;bottom:4px;left:4px}.act-ref-body{flex-direction:column;gap:4px;min-width:0;display:flex}.act-ref-title{font-size:.88rem}.act-ref-meta{font-size:.72rem;line-height:1.3}.act-ref-pose{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.3;display:-webkit-box;overflow:hidden}.act-ref-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.lora-gallery-lightbox{z-index:80;background:#000000b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lora-gallery-lightbox-panel{background:var(--bg1,#1a1a1f);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:min(920px,96vw);max-height:min(90vh,900px);display:flex;overflow:hidden;box-shadow:0 16px 48px #00000073}.lora-gallery-lightbox-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.lora-gallery-lightbox-body{background:#000;flex:1;place-items:center;min-height:0;display:grid}.lora-gallery-lightbox-video,.lora-gallery-lightbox-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(70vh,720px);display:block}.lora-gallery-lightbox-video{background:#000;width:100%}.lora-gallery-lightbox-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.lora-gallery-lightbox-prompt{max-height:4.2em;margin:0;font-size:.78rem;line-height:1.35;overflow:auto}.lora-gallery-lightbox-actions{flex-wrap:wrap;gap:8px;display:flex}.bible-pre{white-space:pre-wrap;font-family:var(--sans);color:var(--muted);background:var(--bg0);border:1px solid var(--line);border-radius:12px;max-height:50vh;padding:14px;font-size:.88rem;line-height:1.55;overflow:auto}.cast-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cast-meta{flex:1;min-width:0}.cast-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg2);flex-direction:column;gap:10px;margin-bottom:12px;padding:12px 12px 14px;display:flex}.cast-card-head h3{margin:0 0 4px;font-size:.98rem}.cast-look{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.cast-ref-section{flex-direction:column;gap:6px;display:flex}.cast-ref-label{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:.62rem;font-weight:600}.cast-ref-thumbs{flex-wrap:wrap;align-items:center;gap:8px;min-height:52px;display:flex}.cast-ref-empty{font-size:.8rem}.cast-ref-thumb{border:1px solid var(--line-strong);background:var(--bg3);border-radius:10px;flex-shrink:0;width:56px;height:56px;position:relative;overflow:hidden}.cast-ref-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cast-ref-remove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;font-size:14px;line-height:1;display:grid;position:absolute;top:2px;right:2px}.cast-ref-remove:hover:not(:disabled){background:var(--danger)}.cast-ref-remove:disabled{opacity:.5;cursor:not-allowed}.cast-ref-actions{flex-wrap:wrap;gap:8px;display:flex}.cast-ref-actions .btn.disabled,.cast-ref-actions label.disabled{opacity:.55;pointer-events:none}.cast-url-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cast-url-kind{border:1px solid var(--line);background:var(--bg3);max-width:140px;color:var(--text);border-radius:8px;flex:none;padding:6px 8px;font-size:.82rem}.cast-url-input{border:1px solid var(--line);background:var(--bg3);min-width:0;color:var(--text);border-radius:8px;flex:160px;padding:6px 10px;font-size:.85rem}.cast-url-input:focus,.cast-url-kind:focus{border-color:var(--focus);outline:none}.step-num{background:var(--rose-dim);width:1.4em;height:1.4em;color:var(--rose);border-radius:50%;place-items:center;margin-right:4px;font-size:.72rem;display:inline-grid}.welcome-recent{text-align:left;margin-top:22px}kbd{border:1px solid var(--line-strong);background:var(--bg2);color:var(--text);border-radius:5px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:.78em}.empty-canvas kbd{pointer-events:none}.stream-body{white-space:normal}.stream-body:after{content:"";background:var(--rose);vertical-align:text-bottom;width:6px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.float-bar button:hover:not(:disabled){background:var(--rose-dim);color:var(--text)}.composer textarea:disabled{opacity:.7}.mobile-nav{display:none}@media (width<=1100px){.shell{grid-template-columns:200px 1fr 300px}.shell.shell-wide{grid-template-columns:minmax(220px,280px) 1fr}.project-chip,.brand span{display:none}}@media (width<=860px){.hide-on-mobile{display:none!important}.app,.app.is-mobile{grid-template-rows:48px 1fr auto}.topbar{gap:8px;min-height:48px;padding:0 10px 0 12px}.topbar-left{gap:8px}.brand h1{font-size:.82rem}.brand-mark{width:22px;height:22px}.project-dd-btn{max-width:min(42vw,160px);padding:6px 10px}.project-dd-name{font-size:.8rem}.top-actions{gap:4px}.top-actions .pill:not(.busy-pill),.top-actions .scene-select{display:none}.hdr-dd-btn{max-width:none;min-height:40px;padding:8px 10px}.hdr-menu,.hdr-menu.settings-menu{left:8px;right:8px;top:calc(52px + env(safe-area-inset-top,0px));z-index:60;width:auto;min-width:0;max-width:none;max-height:min(70dvh,560px);position:fixed}.shell,.shell.shell-wide{grid-template-rows:1fr;grid-template-columns:1fr;min-height:0}.app.is-mobile.mobile-tab-director .canvas-wrap,.app.is-mobile.mobile-tab-board .agent,.app:not(.is-mobile) .shell>.agent.agent-left{display:none}.agent,.agent.agent-left{border-bottom:none;border-right:none;height:100%;min-height:0;max-height:none}.agent-head{padding:10px 14px}.messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.app.is-mobile .composer{padding-bottom:10px}.composer textarea{min-height:56px;font-size:16px}.login-input,.field input,.field textarea,.rail-input,.rail-select{font-size:16px}.canvas-wrap{min-height:0}.canvas-toolbar{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));border-radius:12px;justify-content:flex-start;gap:4px;width:auto;max-width:none;padding:6px 8px;transform:none}.app.is-mobile .canvas-toolbar{bottom:8px}.tb-label,.toolbar-group.meta .tb-muted:not(.zoom-readout){display:none}.tb-btn{min-height:40px;padding:8px 10px;font-size:.76rem}.inspector{z-index:45;border-radius:18px 18px 0 0;width:100%;max-width:none;max-height:min(72dvh,560px);animation:.2s sheet-up;position:fixed;inset:auto 0 0}.app.is-mobile .inspector{bottom:calc(56px + env(safe-area-inset-bottom,0px))}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.inspector:before{content:"";background:var(--line-strong);border-radius:999px;flex-shrink:0;width:36px;height:4px;margin:8px auto 0;display:block}.inspector-head{padding-top:8px}.inspector-actions-bar{flex-wrap:wrap}.inspector-actions-bar .btn{min-height:40px}.mobile-nav{padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--bg-top);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:50;grid-template-columns:1fr 1fr;gap:4px;display:grid}.mobile-nav button{min-height:48px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 8px;font-size:.68rem;font-weight:600;display:flex;position:relative}.mobile-nav button.on{color:var(--text);background:var(--accent-dim);border-color:var(--line)}.mobile-nav-icon{letter-spacing:0;text-transform:none;font-size:1rem;font-weight:500;line-height:1}.mobile-nav-badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-text);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:.62rem;font-weight:700;display:inline-flex;position:absolute;top:4px;right:calc(50% - 28px)}.welcome{align-content:center;padding:20px 16px}.welcome-card{border-radius:20px;width:min(520px,100%);padding:28px 20px}.welcome-card h1{font-size:1.65rem}.login-card{width:min(400px,100%)}.overlay{place-items:stretch stretch;padding:0}.modal,.modal.wide,.modal.civitai-modal,.modal.media-attach-modal,.modal.chain-preview-modal,.modal.extract-modal{width:100%;max-width:none;max-height:min(92dvh,100%);padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;margin:0}.modal-actions{background:linear-gradient(transparent, var(--bg1) 30%);flex-wrap:wrap;padding-top:12px;position:sticky;bottom:0}.modal-actions .btn{flex:auto;min-height:44px}.toasts{left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom,0px));align-items:stretch}.app.is-mobile .toasts{bottom:calc(64px + env(safe-area-inset-bottom,0px))}.toast{min-width:0;max-width:none}.shot-card{touch-action:none}.btn{min-height:40px}.empty-canvas{padding:24px 16px}.empty-canvas h2{font-size:1.25rem}}@media (width<=380px){.brand h1{text-overflow:ellipsis;white-space:nowrap;max-width:7.5rem;overflow:hidden}.canvas-toolbar .tb-sep{display:none}.toolbar-group.actions .tb-btn:not(.primary){padding-left:8px;padding-right:8px}}
