.agent-viewport{position:fixed;inset:0 auto auto 0;width:100vw;height:100dvh;z-index:50;pointer-events:none}.agent-viewport>*{pointer-events:auto}.agent-launcher{position:absolute;right:24px;bottom:24px;z-index:50;width:46px;height:46px;border-radius:var(--radius-card);display:grid;place-items:center;border:0;background:var(--gradient-ai-action);box-shadow:0 10px 24px -10px color-mix(in srgb,var(--chart-3) 45%,transparent),0 12px 30px -12px #0006;color:#fff;isolation:isolate;transition:scale var(--duration-pop) var(--ease-pop),box-shadow var(--duration-feedback) var(--ease);cursor:pointer}.agent-panel{position:absolute;right:24px;bottom:84px;width:360px;height:480px;max-height:calc(100% - 120px);z-index:49;border:1px solid transparent;border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:motion-pop-in var(--duration-pop) var(--ease-pop);background:var(--surface);border-color:transparent;box-shadow:var(--shadow-dialog);max-width:calc(100vw - 32px)}.agent-panel header{padding:14px 16px;display:flex;align-items:center;gap:10px;background:var(--surface);border-bottom:0;flex-shrink:0}.agent-mark{width:32px;height:32px;border:1px solid transparent;border-radius:var(--radius-item);display:grid;place-items:center;background:var(--ai-soft);color:var(--ai-ink);border-color:transparent;flex-shrink:0}.agent-panel strong{font-size:var(--font-size-small);font-weight:600}.agent-panel header small{display:block;font-size:var(--font-size-tag);color:var(--text-muted);margin-top:3px}.agent-panel header>.icon-button{margin-left:auto}.agent-header-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.agent-messages{padding:12px 16px;overflow:auto;scrollbar-width:thin;flex:1;min-height:0}.agent-welcome{padding:8px 0}.agent-welcome h3{letter-spacing:-.3px;font-size:var(--font-size-large);font-weight:600;margin:0}.agent-welcome p{font-size:var(--font-size-small);color:var(--text-secondary);margin:6px 0 14px;line-height:1.65}.agent-welcome button{min-height:34px;display:flex;gap:10px;align-items:center;margin-top:4px;width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius-item);font-size:var(--font-size-small);border-color:transparent;color:var(--text);padding:8px 10px;text-align:left;cursor:pointer;transition:background var(--duration-feedback) var(--ease)}.agent-welcome button>svg{flex-shrink:0;color:var(--text-muted)}.agent-welcome button:hover:not(:disabled){background:var(--surface-hover)}.agent-welcome button:disabled{opacity:.4;cursor:not-allowed}.agent-composer{flex-shrink:0;padding:8px 16px 16px}.agent-composer form{display:flex;flex-direction:column;border:1px solid transparent;border-radius:var(--radius-control);padding:10px;margin:0;background:var(--surface-subtle);transition:box-shadow var(--duration-feedback) var(--ease)}.agent-composer textarea,.agent-composer textarea:focus-visible{border:0;box-shadow:none;font-size:var(--font-size-small);width:100%;min-width:0;outline:none;color:var(--text);min-height:48px;max-height:120px;resize:none;padding:0 2px;background:transparent;line-height:1.65;scrollbar-width:thin}.agent-composer-toolbar{display:flex;align-items:center;gap:8px;margin-top:8px}.agent-composer .segmented-control{background:transparent}.agent-composer .segmented-thumb{box-shadow:var(--shadow-control)}.agent-send{margin-left:auto;width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);border:0;border-radius:var(--radius-control);cursor:pointer}.agent-send:hover:not(:disabled){background:var(--primary-hover)}.agent-send:disabled{background:var(--surface-hover);color:var(--text-muted);opacity:.5;cursor:not-allowed}.agent-composer-help{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;color:var(--text-muted);font-size:var(--font-size-tag);margin:8px 2px 0}.agent-message{padding:11px 12px;margin:0 0 12px;font-size:var(--font-size-small);line-height:21px;border-radius:var(--radius-item);overflow-wrap:anywhere}.agent-message.user{margin-left:24px;background:var(--surface-hover)}.agent-message.assistant{padding-left:0}.thinking{display:flex;align-items:center;gap:6px;font-size:var(--font-size-small);color:var(--text-secondary)}.agent-launcher:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;z-index:-1;border-radius:inherit;background:conic-gradient(from var(--focus-sweep-angle),var(--chart-1),var(--chart-2),var(--chart-3),var(--chart-4),var(--chart-5),var(--chart-1));filter:blur(10px);opacity:.55;animation:focus-sweep-orbit 4.8s linear infinite;pointer-events:none}.agent-launcher:hover{transform:none;scale:var(--hover-scale);box-shadow:0 10px 26px -7px color-mix(in srgb,var(--chart-2) 55%,transparent),0 12px 30px -12px #0006}.agent-launcher.open{background:#3f3f46}.agent-launcher.open:before{opacity:0}.agent-composer form:has(textarea:focus-visible){box-shadow:var(--focus)}.agent-composer textarea::placeholder{color:var(--text-muted)}.agent-status{display:flex;align-items:center;gap:6px;margin:10px 0;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.6}.agent-proposal{margin:12px 0;padding:12px;border-radius:var(--radius-item);background:var(--surface-hover);font-size:var(--font-size-small);overflow-wrap:anywhere}.agent-proposal p{margin:8px 0}.agent-script-preview{max-height:320px;overflow-y:auto;overflow-wrap:anywhere;white-space:pre-wrap}.agent-script-preview summary{cursor:pointer;color:var(--text-primary)}.agent-actions{display:flex;gap:8px;flex-wrap:wrap}.agent-launcher:focus-visible{outline:none;box-shadow:var(--focus)}.agent-launcher:active{scale:.95}.agent-icon-swap{position:relative;width:21px;height:21px}.agent-icon-swap>*{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity var(--duration-feedback) var(--ease),scale var(--duration-pop) var(--ease-pop),filter var(--duration-feedback) var(--ease)}.agent-icon-swap>[data-hidden]{opacity:0;scale:.6;filter:blur(var(--motion-blur))}@property --focus-sweep-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes focus-sweep-orbit{to{--focus-sweep-angle: 360deg}}@media(max-width:900px){.agent-launcher{right:18px}}@media(max-width:600px){.agent-launcher{right:8px}}@media(max-height:720px){.agent-launcher{bottom:18px}}@media(prefers-reduced-motion:reduce){.agent-panel,.agent-launcher:before{animation:none}.agent-icon-swap>*{transition:none}}.agent-panel,.agent-launcher{line-height:1.5}.agent-send,.agent-launcher{padding:0;line-height:1.5}.agent-message.user{white-space:pre-wrap}.agent-message.assistant{white-space:normal}.agent-message.assistant :is(p,ul,ol,blockquote,pre,.agent-message-table,hr){margin:8px 0}.agent-message.assistant>:first-child{margin-top:0}.agent-message.assistant>:last-child{margin-bottom:0}.agent-message.assistant :is(h1,h2,h3,h4,h5,h6){margin:12px 0 6px;font-size:var(--font-size-large);font-weight:600;line-height:inherit}.agent-message.assistant :is(ul,ol){padding-left:22px}.agent-message.assistant li+li{margin-top:4px}.agent-message.assistant li>p{margin:4px 0}.agent-message.assistant strong{font-size:inherit}.agent-message.assistant a{color:var(--ai-ink);text-decoration:underline}.agent-message.assistant a:focus-visible{outline:none;box-shadow:var(--focus)}.agent-message.assistant blockquote{border-left:2px solid var(--border);padding-left:10px;color:var(--text-secondary)}.agent-message.assistant code{padding:2px 4px;border-radius:var(--radius-item);background:var(--surface-hover);font-size:inherit}.agent-message.assistant pre{max-width:100%;overflow-x:auto;padding:10px;border-radius:var(--radius-item);background:var(--surface-hover);white-space:pre;overflow-wrap:normal}.agent-message.assistant pre code{padding:0;background:transparent}.agent-message-table{max-width:100%;overflow-x:auto}.agent-message-table table{width:100%;border-collapse:collapse}.agent-message-table :is(th,td){padding:6px 8px;border:1px solid var(--border);text-align:left}.agent-message.assistant hr{border:0;border-top:1px solid var(--border)}.agent-results{padding:0;margin:12px 0;list-style:none;font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.6}.agent-results li{padding:6px 0;overflow-wrap:anywhere}.agent-viewport>.agent-panel{padding:0;margin:0}.agent-composer textarea:disabled{opacity:.5;cursor:not-allowed}.agent-panel,.agent-launcher{font-size:var(--font-size-body)}.wechat-entry{width:100%;margin-top:20px}.wechat-panel{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.wechat-description{margin:0;color:var(--muted-foreground);font-size:14px;line-height:22px;text-align:center}.wechat-qr-frame{display:grid;place-items:center;width:208px;height:208px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#52525b;font-size:13px}.wechat-qr-frame img{width:184px;height:184px;object-fit:contain}.wechat-status{margin:0;color:var(--foreground);font-size:14px;line-height:20px}.wechat-expiry{margin:-6px 0 0;color:var(--muted-foreground);font-size:12px;font-variant-numeric:tabular-nums}.wechat-instructions{margin:0;color:var(--muted-foreground);font-size:12px;line-height:20px;text-align:center}.wechat-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.wechat-error{margin:0;color:var(--destructive);font-size:13px}.wechat-confirm-page{display:grid;place-items:center;min-height:100dvh;padding:24px;background:var(--background);color:var(--foreground)}.wechat-confirm-card{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:400px;padding:32px 24px;border:1px solid var(--border);border-radius:16px;background:var(--card)}.wechat-brand{width:40px;height:40px}.dark .wechat-brand{filter:invert(1)}.wechat-confirm-card h1{margin:0;font-size:22px;font-weight:600;line-height:30px;text-align:center}.wechat-confirm-actions{display:flex;flex-direction:column;gap:12px;width:100%}.wechat-confirm-actions>button{width:100%}.wechat-preview-label{margin:0;color:var(--muted-foreground);font-size:12px;text-align:center}@media(max-width:420px){.wechat-confirm-page{padding:16px}.wechat-confirm-card{padding:28px 20px}}.account-login-section .wechat-panel{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.wechat-outline{border-color:var(--border)}.wechat-panel .button,.wechat-confirm-card .button{min-height:36px;padding:0 12px;font-size:14px;line-height:20px;font-weight:500}body:has(.wechat-confirm-page){min-width:320px}.dark :is(.wechat-panel,.wechat-confirm-card) .button--outline:not(:hover){background:transparent}.dark :is(.wechat-panel,.wechat-confirm-card) .button--outline:hover:not(:disabled){background:color-mix(in oklab,var(--input) 30%,transparent)}.wechat-status-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.login-auth-center>.wechat-panel-login{margin-top:36px}.wechat-panel-login .wechat-qr-frame{position:relative;overflow:hidden;width:224px;height:224px;padding:12px;border-radius:var(--radius-panel)}.wechat-panel-login .wechat-qr-frame img{width:100%;height:100%}.wechat-qr-inactive{filter:blur(5px);opacity:.6}.wechat-qr-refresh,.wechat-qr-progress{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;border:0;background:#18181baa;color:#fff;font-size:12px;line-height:1.6;text-align:center}.wechat-qr-refresh{cursor:pointer}.wechat-qr-refresh:hover{background:#18181bbc}.wechat-qr-refresh:focus-visible{outline:3px solid var(--brand);outline-offset:-4px}@media(max-width:420px){.wechat-panel-login .wechat-qr-frame{width:208px;height:208px}}.account-avatar{position:relative;display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;overflow:hidden;border-radius:var(--radius-control);background:linear-gradient(var(--avatar-angle),#181818 12%,#323232 74%,#3a3a3a);color:#fff;box-shadow:inset 0 1px #ffffff30,0 1px 2px #18181822}.account-avatar:before{content:"";position:absolute;width:19px;height:19px;top:-9px;right:-7px;background:linear-gradient(130deg,var(--chart-1),var(--chart-3),var(--chart-4));filter:blur(8px);opacity:.75;transform:rotate(var(--avatar-mark-angle))}.account-avatar:after{content:"";position:absolute;width:4px;height:4px;top:3px;right:3px;background:var(--chart-3);transform:rotate(var(--avatar-mark-angle))}.account-avatar>span{position:relative;z-index:1;font-size:12px;font-weight:600;line-height:1;letter-spacing:-.06em}.account-avatar img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover}.account-avatar--large{width:58px;height:58px;flex-basis:58px;border-radius:var(--radius-card);box-shadow:0 0 0 3px #fff,0 4px 12px #1519221c}.account-avatar--large>span{font-size:var(--type-title-size)}.sidebar-account .account-avatar{flex-shrink:0}.account-menu-hero{display:flex;align-items:center;gap:9px;min-height:88px;margin:-10px -10px 0;padding:14px 16px;border-radius:var(--radius-card) var(--radius-card) 0 0;background:linear-gradient(125deg,color-mix(in srgb,var(--brand-deep) 22%,var(--surface)),color-mix(in srgb,var(--brand-light) 45%,var(--surface)) 54%,var(--surface))}.account-menu-hero .account-avatar{width:38px;height:38px;flex-basis:38px;border-radius:var(--radius-card);box-shadow:0 0 0 2px #ffffffb8,inset 0 1px #ffffff30,0 2px 5px #18181822}.account-menu-hero .account-avatar>span{font-size:var(--type-card-size)}.account-menu-hero>div{display:grid;min-width:0;gap:3px}.account-menu-hero strong{overflow:hidden;font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.account-menu-hero small{color:var(--text-secondary);font-size:12px;line-height:18px}.dark .account-menu-hero{background:linear-gradient(125deg,#15233c,#21385c 55%,var(--card))}.dark .account-menu-hero .account-avatar{box-shadow:0 0 0 2px #ffffff38,inset 0 1px #ffffff30,0 2px 5px #0005}.account-menu-item{display:flex;align-items:center;gap:11px;width:100%;min-height:38px;padding:0 11px;border:0;border-radius:var(--radius-item);background:var(--muted);color:var(--foreground);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.account-menu-item:hover{background:var(--muted);color:var(--foreground);padding-left:13px}.account-dialog{width:min(640px,calc(100vw - 32px));max-width:min(640px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:0;border-radius:var(--radius-card);background:var(--card);color:var(--foreground);line-height:1.42857;box-shadow:var(--shadow-dialog)}.account-dialog[open]{display:flex;flex-direction:column}.account-dialog::backdrop{background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.account-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto;padding:24px 28px 18px}.account-dialog-heading h2{margin:0;font-size:16px;font-weight:600;line-height:24px}.account-dialog-heading p{margin:4px 0 0;color:var(--text-muted);font-size:12px;line-height:20px}.account-dialog-heading>button{display:grid;width:32px;height:32px;margin:-4px -8px 0 0;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);cursor:pointer}.account-dialog-heading>button:hover{background:var(--surface-hover)}.account-dialog-body{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:0 28px}.account-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.account-panel{display:grid;align-content:start;gap:20px;padding:22px 0 24px}.account-profile-hero{display:flex;align-items:center;gap:16px;min-height:100px;padding:18px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--gradient-accent-wash)}.account-avatar-trigger{position:relative;display:block;flex:0 0 58px;width:58px;height:58px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;cursor:pointer}.account-avatar-trigger:hover .account-avatar{transform:scale(1.04)}.account-avatar-edit{position:absolute;right:-7px;bottom:-7px;display:grid;width:25px;height:25px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--foreground);color:#fff;box-shadow:var(--shadow-control)}.account-profile-hero>div{display:grid;gap:4px;min-width:0}.account-profile-hero strong{overflow:hidden;font-size:16px;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.account-profile-hero div span,.account-profile-hero small{color:var(--text-secondary);font-size:12px}.account-profile-hero small{line-height:16px}.account-avatar-reset{justify-self:start;padding:2px 0;border:0;background:transparent;color:var(--text-secondary);font-size:12px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.account-avatar-reset:hover{color:var(--foreground)}.account-form,.account-field{display:grid;gap:8px}.account-field label{font-size:13px;font-weight:600}.account-field .input{height:36px;padding:0 12px}.account-field small{color:var(--text-muted);font-size:12px;line-height:17px}.account-login-section{display:grid;gap:14px;padding-top:18px;border-top:1px solid transparent}.account-credit-section{display:grid;gap:14px}.account-credit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.account-credit-summary>div{display:grid;gap:6px;padding:14px 16px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface-subtle)}.account-credit-summary dt{color:var(--text-secondary);font-size:var(--font-size-small)}.account-credit-summary dd{margin:0;color:var(--text);font-size:var(--font-size-title);font-weight:600;font-variant-numeric:tabular-nums}.account-credit-caption{margin:0;color:var(--text-muted);font-size:var(--font-size-small);line-height:18px}.account-credit-unavailable{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;color:var(--text-secondary);font-size:var(--font-size-small)}.account-section-heading{display:flex;align-items:flex-start;gap:10px}.account-section-heading>svg{margin-top:2px;color:var(--text-secondary)}.account-section-heading div{display:grid;gap:4px}.account-section-heading strong{font-size:14px;line-height:21px}.account-section-heading p{margin:0;color:var(--text-secondary);font-size:12px;line-height:18px}.account-methods{overflow:hidden;border:1px solid transparent;border-radius:var(--radius-card)}.account-method{display:flex;align-items:center;gap:13px;min-height:68px;padding:12px 16px}.account-method+.account-method{border-top:1px solid transparent}.account-method>svg{flex:0 0 auto;color:var(--text-secondary)}.account-method>div{display:grid;flex:1;gap:3px;min-width:0}.account-method strong{font-size:13px}.account-method span{overflow:hidden;color:var(--text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-method>span{flex:0 0 auto}.account-error{margin:0;color:var(--destructive);font-size:12px}.account-dialog-footer{display:flex;flex:0 0 72px;align-items:center;justify-content:space-between;gap:14px;padding:12px 28px;background:var(--surface-subtle)}.account-footer-notice{flex:1;color:var(--text-secondary);font-size:12px;line-height:16px}.account-footer-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}.account-discard-overlay{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px 28px;background:color-mix(in srgb,var(--surface) 84%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.account-discard{display:grid;gap:10px;width:min(100%,420px);padding:20px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float)}.account-discard strong{font-size:14px}.account-discard p{margin:0;color:var(--text-secondary);font-size:12px}@media(max-width:600px){.account-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.account-dialog-heading{padding:20px 20px 14px}.account-dialog-body{padding:0 20px}.account-dialog-footer{padding:14px 20px}.account-panel-scroll{padding-right:6px}.account-field .input{font-size:16px;line-height:24px}.account-credit-summary{gap:8px}.account-credit-summary>div{padding:12px}.account-credit-summary dd{font-size:var(--font-size-heading)}}@media(prefers-reduced-motion:reduce){.account-dialog *,.account-dialog *:before,.account-dialog *:after{animation-duration:0ms!important;transition-duration:0ms!important}}.workspace:has(.asset-page) .workspace-main{min-height:100dvh;height:100dvh;margin:0;border-radius:0;box-shadow:none}.asset-page{position:relative;height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:var(--text);background:var(--surface);line-height:1.5}.asset-page-status{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 28px}.asset-page-topbar{height:var(--topbar);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px 0 26px;border-bottom:1px solid transparent;background:var(--surface);z-index:20}.asset-page-location{display:inline-flex;align-items:center;gap:14px;color:var(--text-secondary);font-size:var(--font-size-small)}.asset-page-location strong{color:var(--text);font-size:var(--font-size-body);font-weight:600}.asset-page-topbar-divider{width:1px;height:17px;background:var(--line)}.asset-page-columns{display:flex;flex:1;min-height:0}.asset-page-sidebar{display:flex;flex-direction:column;flex:0 0 236px;min-width:0;padding:24px 12px 18px;border-right:1px solid transparent;background:var(--surface-subtle)}.asset-page-sidebar-head{display:flex;align-items:center;gap:9px;padding:0 12px 20px}.asset-page-sidebar-head h1{margin:0;font-size:var(--font-size-title);line-height:28px;font-weight:600;letter-spacing:-.03em}.asset-page-sidebar-head>span{padding:2px 7px;border-radius:var(--radius-item);background:var(--surface-hover);color:var(--text-muted);font-size:var(--font-size-small)}.asset-page-search{display:flex;align-items:center;gap:6px;margin:0 4px 24px;padding-left:12px;border:1px solid transparent;border-radius:var(--radius-control);background:color-mix(in oklch,var(--input) 50%,transparent);color:var(--text-muted);transition:border-color var(--duration-feedback) var(--ease),box-shadow var(--duration-feedback) var(--ease)}.asset-page-search:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px var(--focus-ring)}.asset-page-search .input{height:34px;padding-left:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:var(--font-size-small)}.asset-page-search .input:focus,.asset-page-search .input:focus-visible{border:0;box-shadow:none;outline:none}.asset-sidebar-section{display:grid;gap:3px;padding:0 0 18px}.asset-sidebar-section p{display:flex;justify-content:space-between;margin:0 11px 8px;color:var(--text-muted);font-size:var(--font-size-small);font-weight:600}.asset-sidebar-section button{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--list-item);padding:0 12px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer}.asset-sidebar-section button:hover{background:var(--surface-hover);color:var(--text)}.asset-sidebar-section button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-control);font-weight:600}.asset-sidebar-section button span{flex:1;min-width:0;font-size:var(--font-size-small)}.asset-sidebar-section button small{color:var(--text-muted);font-size:var(--font-size-small);font-weight:400}.asset-page-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--surface)}.asset-page-breadcrumb{display:flex;align-items:center;gap:8px;flex:none;height:44px;padding:0 28px;border-bottom:1px solid transparent;color:var(--text-muted);font-size:var(--font-size-small)}.asset-page-breadcrumb button{min-height:28px;margin:0 -6px;padding:0 6px;border:0;border-radius:var(--radius-item);background:transparent;color:inherit;cursor:pointer}.asset-page-breadcrumb button:hover{color:var(--text)}.asset-page-breadcrumb span{color:var(--text-secondary)}.asset-page-main-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex:none;padding:25px 28px 23px}.asset-page-main-head h2{margin:0 0 5px;font-size:var(--font-size-title);line-height:30px;font-weight:600;letter-spacing:-.035em}.asset-page-main-head p{margin:0;color:var(--text-muted);font-size:var(--font-size-small)}.asset-page-main-head p span{color:var(--text-secondary)}.asset-page-tools{display:flex;align-items:center;gap:8px}.asset-page-tools .button{font-size:var(--font-size-small)}.asset-sort-chevron{transform:rotate(90deg)}.asset-page-tools .segmented-control>button{width:30px}.asset-page-notice{flex:none;margin:0 28px;color:var(--success);font-size:var(--font-size-small)}.asset-page-alert{flex:none;padding:0 28px}.asset-page-alert .api-error{margin-top:0}.asset-page-scroll{flex:1;overflow-y:auto;padding:0 28px 40px}.asset-section-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.asset-section-heading h3{margin:0;font-size:var(--font-size-large);line-height:20px;font-weight:600}.asset-section-heading span{color:var(--text-muted);font-size:var(--font-size-small)}.asset-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px 13px}.asset-file-card{display:block;min-width:0;padding:0 0 10px;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-item);background:transparent;color:var(--text);text-align:left;cursor:pointer}.asset-file-card:hover{background:var(--surface-subtle)}.asset-file-card[aria-pressed=true]{border-color:transparent;background:var(--surface);box-shadow:var(--shadow-selected)}.asset-file-cover{position:relative;display:block;width:100%;height:152px;overflow:hidden;border-radius:var(--radius-item);background:var(--surface-hover)}.asset-file-cover .film-frame,.asset-file-cover img,.asset-file-cover video,.asset-file-cover .asset-placeholder{position:relative;inset:auto;display:block;width:100%;height:100%}.asset-file-cover img,.asset-file-cover video{object-fit:cover}.asset-file-cover-video img,.asset-file-cover-video video{filter:brightness(.82)}.asset-file-cover-audio{background:var(--surface-hover)}.asset-file-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;filter:drop-shadow(0 1px 3px #0008)}.asset-audio-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%;height:100%;color:var(--text-muted)}.asset-waveform{display:flex;align-items:center;justify-content:center;gap:3px;width:72%;height:46px}.asset-waveform i{width:3px;min-height:5px;border-radius:var(--radius-xs);background:#979ba2}.asset-placeholder{display:grid;place-items:center;color:var(--text-muted);background:var(--surface-hover)}.asset-file-title{display:flex;align-items:center;gap:7px;min-width:0;padding:10px 8px 0}.asset-file-title svg{flex:none;color:var(--text-secondary)}.asset-file-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small);font-weight:600}.asset-file-subtitle{display:flex;justify-content:space-between;gap:3px;padding:6px 8px 0;color:var(--text-muted);font-size:var(--font-size-small);white-space:nowrap}.asset-file-subtitle span:last-child{overflow:hidden;text-overflow:ellipsis}.asset-file-list{overflow:hidden;border:1px solid transparent;border-radius:var(--radius-item)}.asset-file-list-head,.asset-file-list button{display:grid;grid-template-columns:minmax(205px,2fr) 90px 65px 80px 85px;align-items:center;gap:12px;min-width:0;padding:8px 13px}.asset-file-list-head{min-height:38px;border-bottom:1px solid transparent;color:var(--text-muted);font-size:var(--font-size-small)}.asset-file-list button{width:100%;min-height:56px;border:0;border-bottom:1px solid transparent;background:var(--surface);color:var(--text-secondary);font-size:var(--font-size-small);text-align:left;cursor:pointer}.asset-file-list button:last-child{border-bottom:0}.asset-file-list button:hover,.asset-file-list button.active{background:var(--surface-subtle)}.asset-list-name{display:flex;align-items:center;gap:10px;min-width:0}.asset-list-name strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small);font-weight:600}.asset-list-thumb{display:block;flex:none;width:42px;height:40px;overflow:hidden;border-radius:var(--radius-xs);background:var(--surface-hover)}.asset-list-thumb .film-frame,.asset-list-thumb img,.asset-list-thumb video,.asset-list-thumb .asset-placeholder{position:relative;inset:auto;width:100%;height:100%}.asset-list-thumb img,.asset-list-thumb video{object-fit:cover}.asset-list-thumb .asset-audio-visual svg,.asset-list-thumb .asset-waveform{display:none}.asset-page-empty{display:flex;flex-direction:column;align-items:center;gap:7px;padding:72px 16px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface-subtle);color:var(--text-muted);font-size:var(--font-size-small)}.asset-page-empty strong{margin-top:6px;color:var(--text);font-size:var(--font-size-body)}.asset-page-inspector{display:flex;flex:0 0 286px;flex-direction:column;min-width:0;border-left:1px solid transparent;background:var(--surface-subtle)}.asset-inspector-head{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 18px;border-bottom:1px solid transparent;font-size:var(--font-size-small);font-weight:600}.asset-inspector-head button{display:grid;place-items:center;width:var(--control-compact);height:var(--control-compact);padding:0;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text-muted);cursor:pointer}.asset-inspector-head button:hover{background:var(--surface-hover)}.asset-inspector-scroll{flex:1;overflow-y:auto;padding:18px}.asset-inspector-preview{display:grid;place-items:center;height:208px;overflow:hidden;border-radius:var(--radius-item);background:var(--surface-hover)}.asset-inspector-preview .film-frame,.asset-inspector-preview img,.asset-inspector-preview video,.asset-inspector-preview .asset-placeholder{position:relative;inset:auto;display:block;width:100%;height:100%}.asset-inspector-preview img,.asset-inspector-preview video{object-fit:contain}.asset-inspector-title{display:flex;align-items:flex-start;gap:8px;margin-top:17px}.asset-inspector-title>span{color:var(--text-secondary)}.asset-inspector-title h2{margin:-2px 0 0;overflow-wrap:anywhere;font-size:var(--font-size-body);line-height:20px;font-weight:600}.asset-inspector-source{display:flex;gap:6px;margin:11px 0 20px 25px;color:var(--text-muted);font-size:var(--font-size-small)}.asset-inspector-scroll dl{display:grid;gap:13px;margin:0;padding:19px 0;border-top:1px solid transparent;border-bottom:1px solid transparent}.asset-inspector-scroll dl div{display:flex;justify-content:space-between;gap:12px;font-size:var(--font-size-small)}.asset-inspector-scroll dt{color:var(--text-muted)}.asset-inspector-scroll dd{margin:0;color:var(--text-secondary);text-align:right}.asset-inspector-actions{display:grid;gap:8px;padding:15px 18px;border-top:1px solid transparent}.asset-inspector-actions .button{width:100%}.asset-inspector-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:24px;color:var(--text-muted);font-size:var(--font-size-small)}.asset-inspector-empty strong{margin-top:7px;color:var(--text);font-size:var(--font-size-small)}.asset-page button:focus-visible,.asset-page a:focus-visible{outline:none;box-shadow:var(--focus)}.asset-preview-dialog{width:min(840px,calc(100vw - 40px));max-width:min(840px,calc(100vw - 40px));max-height:calc(100dvh - 64px);overflow-y:auto;padding:0;border:0;border-radius:var(--radius-card);background:var(--card);color:var(--foreground)}.asset-preview-dialog::backdrop{background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.asset-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 16px}.asset-preview-heading h2{margin:0;overflow-wrap:anywhere;font-size:var(--font-size-heading);line-height:24px;font-weight:600}.asset-preview-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;height:min(70dvh,650px,calc(100dvh - 132px));overflow:hidden;background:#202124}.asset-preview-stage img,.asset-preview-stage video,.asset-preview-stage .asset-placeholder{position:relative;inset:auto;display:block;width:100%;height:100%}.asset-preview-stage img,.asset-preview-stage video{object-fit:contain}.asset-preview-stage-audio{height:min(260px,calc(100dvh - 132px));background:var(--surface-hover)}.asset-preview-stage-audio audio{width:min(440px,90%);height:44px}@media(max-width:1280px){.asset-page-sidebar{flex-basis:210px}.asset-page-inspector{flex-basis:250px}}@media(max-width:1020px){.asset-page-inspector{position:absolute;z-index:22;top:48px;right:0;bottom:0;display:none;width:280px;box-shadow:-10px 0 28px #18181b12}.asset-page-inspector.open{display:flex}.asset-page-main{padding-right:0}}@media(max-width:720px){.asset-page-sidebar{flex-basis:68px;padding-right:6px;padding-left:6px}.asset-page-sidebar-head h1,.asset-page-sidebar-head>span,.asset-page-search,.asset-sidebar-section p,.asset-sidebar-section button span,.asset-sidebar-section button small{display:none}.asset-sidebar-section{justify-items:center;padding-bottom:8px}.asset-sidebar-section button{justify-content:center;width:38px;padding:0}.asset-page-sidebar-head{height:1px;padding:0}.asset-page-main-head{flex-wrap:wrap;padding-right:16px;padding-left:16px}.asset-page-breadcrumb{padding:0 16px}.asset-page-scroll{padding:0 16px 32px}.asset-page-inspector{width:min(320px,calc(100vw - 100px))}}@media(max-width:540px){.asset-file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.asset-file-cover{height:118px}.asset-page-tools{width:100%;justify-content:space-between}.asset-file-list{overflow-x:auto}.asset-file-list-head,.asset-file-list button{min-width:610px}}.asset-blocker-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.asset-blocker-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-item);background:var(--surface-subtle);font-size:var(--font-size-small);line-height:20px}.asset-blocker-list .button{flex:none}@media(max-width:540px){.asset-blocker-list li{flex-direction:column;align-items:stretch}}.project-members-table{overflow-x:auto}.project-table-header,.project-member-row{display:grid;grid-template-columns:minmax(190px,2fr) minmax(80px,.8fr) minmax(220px,2fr) 50px;align-items:center;gap:10px;min-width:650px;padding:0 22px}.project-table-header{height:34px;color:var(--text-muted);font-size:var(--font-size-small)}.project-member-row{min-height:64px;box-shadow:inset 0 1px 0 var(--line-hairline);font-size:var(--font-size-body)}.project-member-identity{display:flex;align-items:center;gap:10px;min-width:0}.project-member-identity>div{display:grid;gap:2px;min-width:0}.project-member-identity small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-small);text-overflow:ellipsis;white-space:nowrap}.project-avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:var(--radius-control);background:var(--ai-soft);color:var(--ai-ink);font-size:var(--font-size-small);font-weight:600}.project-role{width:max-content;padding:3px 8px;border-radius:var(--radius-item);background:var(--surface);color:var(--text-secondary);font-size:var(--font-size-small)}.project-credit-cell{display:flex;align-items:center;gap:12px;min-width:0;padding:8px 0}.project-credit-copy{display:grid;gap:4px;width:min(100%,220px);min-width:0}.project-credit-copy strong{color:var(--text);font-size:var(--font-size-body);font-variant-numeric:tabular-nums;font-weight:500}.project-credit-copy small{color:var(--text-muted);font-size:var(--font-size-small)}.project-credit-track{display:block;height:4px;overflow:hidden;border-radius:99px;background:var(--surface-hover)}.project-credit-track i{display:block;height:100%;border-radius:inherit;background:var(--gradient-accent)}.project-credit-track[data-unlimited] i{opacity:.75}.project-credit-cell .icon-button{margin-left:auto;color:var(--text-secondary)}.project-member-row>div:last-child button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-feedback) var(--ease)}.project-member-row>div:last-child button:hover{background:var(--surface-hover)}.project-credit-dialog{width:min(480px,calc(100vw - 32px));max-width:min(440px,calc(100vw - 48px))}.project-credit-form{display:grid;gap:12px}.project-credit-form .project-credit-label,.project-credit-form label{color:var(--text-secondary);font-size:var(--font-size-small);font-weight:500}.project-credit-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-credit-option{display:grid;justify-items:start;gap:5px;min-height:112px;padding:15px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface-subtle);color:var(--text-secondary);text-align:left;cursor:pointer;transition:background var(--duration-feedback) var(--ease),border-color var(--duration-feedback) var(--ease),transform var(--duration-feedback) var(--ease)}.project-credit-option:hover{background:var(--surface-hover)}.project-credit-option:active{transform:scale(.98)}.project-credit-option[aria-pressed=true]{border-color:var(--brand-line);background:var(--brand-soft);color:var(--text)}.project-credit-option svg{color:var(--brand)}.project-credit-option strong{font-size:var(--font-size-body);font-weight:600}.project-credit-option small{color:var(--text-muted);font-size:var(--font-size-small);line-height:1.4}.project-credit-option:focus-visible{outline:none;box-shadow:var(--focus)}.project-credit-form>input{width:100%}.project-credit-form>p{margin:0;color:var(--text-muted);font-size:var(--font-size-small);line-height:1.5}.project-panel-head h2 span{margin-left:6px;color:var(--text-muted);font-size:var(--font-size-small);font-weight:500}.project-usage-summary{margin:12px 0 14px;color:var(--text-secondary);font-size:var(--font-size-small)}.project-usage-summary strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.project-members-table{margin:0 -22px -10px}.project-invite-list{display:grid;gap:0}.project-invite-list>div{display:flex;align-items:center;gap:12px;min-height:48px;box-shadow:inset 0 1px 0 var(--line-hairline);color:var(--text-secondary);font-size:var(--font-size-body)}.project-invite-list strong{flex:1;color:var(--text);font-weight:500}.project-invite-list>div>span{font-size:var(--font-size-small)}.project-empty{padding:16px;border-radius:var(--radius-control);background:var(--surface)}.project-help{display:flex;align-items:start;gap:8px;margin:16px 0 0;color:var(--text-muted);font-size:var(--font-size-small);line-height:1.6}.project-help svg{flex:0 0 auto}.project-modal-form{display:grid;gap:12px}.project-modal-form label{display:grid;gap:8px;font-size:var(--font-size-small);font-weight:600}.project-modal-form input,.project-modal-form select{width:100%}.project-modal-form select{height:var(--control-height);padding:0 12px;border:0;border-radius:var(--radius-control);background:color-mix(in srgb,var(--input) 50%,transparent);color:var(--text);font:inherit;font-size:var(--font-size-body)}.project-modal-form select:focus-visible{outline:none;box-shadow:var(--focus)}.project-modal-form p{margin:0;color:var(--text-muted);font-size:var(--font-size-small);line-height:1.5}.project-edit-identity{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:8px;padding:12px;border-radius:var(--radius-control);background:var(--surface-subtle)}.project-edit-identity>div{display:grid;gap:2px;min-width:0}.project-edit-identity strong{font-size:var(--font-size-body);font-weight:600}.project-edit-identity small{color:var(--text-muted);font-size:var(--font-size-small)}.project-remove-trigger{justify-self:start;margin-top:8px;padding:0;border:0;background:transparent;color:var(--error);font-size:var(--font-size-small);cursor:pointer}.project-remove-warning{margin:0;color:var(--text-secondary);font-size:var(--font-size-body);line-height:1.6}@media(max-width:640px){.project-invite-list>div{flex-wrap:wrap;padding:10px 0}.project-credit-options{gap:6px}.project-credit-option{padding:12px}}.shared-dialog.project-invite-success{display:block;width:min(560px,calc(100vw - 32px));max-width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:0;border-radius:var(--radius-panel);background:var(--surface)}.project-invite-hero{position:relative;display:grid;place-items:center;height:200px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 12% 8%,var(--brand-sky),transparent 43%),radial-gradient(ellipse at 27% 96%,var(--brand-deep),transparent 53%),radial-gradient(ellipse at 82% 11%,var(--brand-light),transparent 46%),radial-gradient(ellipse at 90% 88%,var(--brand-line),transparent 50%),linear-gradient(115deg,var(--brand-sky),var(--brand-line) 53%,var(--brand-deep))}.project-invite-hero:before{position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:1;background:radial-gradient(ellipse at 22% 39%,#ffffff8f,transparent 28%),radial-gradient(ellipse at 73% 70%,#d4e5ff66,transparent 32%);content:"";filter:blur(25px)}.project-invite-hero-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;opacity:.5;filter:contrast(2);mix-blend-mode:overlay;pointer-events:none}.project-invite-hero-code{position:absolute;z-index:3;color:#ffffffb8;font:11px/1.2 var(--font-mono);letter-spacing:.13em;white-space:nowrap;text-shadow:0 1px 10px #ffffff50}.project-invite-hero-code.code-1{top:6%;left:4%;opacity:.75}.project-invite-hero-code.code-2{top:15%;left:8%;opacity:.52}.project-invite-hero-code.code-3{top:29%;left:4%;opacity:.43}.project-invite-hero-code.code-4{top:43%;left:11%;opacity:.24}.project-invite-hero-code.code-5{top:7%;right:5%;opacity:.68}.project-invite-hero-code.code-6{top:19%;right:2%;opacity:.48}.project-invite-hero-code.code-7{top:32%;right:9%;opacity:.34}.project-invite-hero-code.code-8{top:47%;right:3%;opacity:.2}.project-invite-hero-mark{z-index:4;display:grid;width:104px;height:104px;place-items:center;border-radius:27px;background:linear-gradient(145deg,#ffffff59,#ffffff17);box-shadow:0 15px 35px #1e3a8a33,inset 0 1px #ffffff73;backdrop-filter:blur(13px) saturate(1.2);-webkit-backdrop-filter:blur(13px) saturate(1.2);animation:motion-pop-in var(--duration-spring) var(--ease-spring) 80ms both}.project-invite-hero-mark img{width:57px;height:57px;opacity:.58;filter:invert(1) blur(.45px)}.project-invite-success-body{padding:26px 28px 28px}.project-invite-success-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.project-invite-success-title .project-invite-success-heading{margin:0;font-size:var(--font-size-title);font-weight:600;letter-spacing:-.01em;line-height:1.3}.project-invite-success-title>span{padding:3px 8px;border-radius:var(--radius-item);background:var(--success-soft);color:var(--success);font-size:var(--font-size-small);font-weight:500}.project-invite-success-body .project-invite-description{margin-top:10px;color:var(--text-secondary);font-size:var(--font-size-body);line-height:1.7}.project-invite-success-body .project-invite-description strong{color:var(--text);font-weight:600}.project-invite-success-link{display:grid;gap:8px;margin-top:20px}.project-invite-success-link label{font-size:var(--font-size-small);font-weight:600}.project-invite-success-link input{width:100%;font-size:var(--font-size-small);font-family:var(--font-mono)}.project-invite-success-link small{color:var(--text-muted);font-size:var(--font-size-small);line-height:1.5}.project-invite-copy-status{min-height:16px;margin:8px 0 0;color:var(--success);font-size:var(--font-size-small)}.project-invite-copy-status.is-error{color:var(--error)}.project-invite-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.project-invite-success-actions .button{width:100%}@media(max-width:640px){.project-invite-hero{height:160px}.project-invite-hero-mark{width:84px;height:84px;border-radius:23px}.project-invite-hero-mark img{width:46px;height:46px}.project-invite-success-body{padding:22px 20px 24px}}.workspace:has(.project-page){height:100dvh;min-height:0;background:var(--surface)}.workspace:has(.project-page) .workspace-main{min-height:0;height:100dvh;margin:0;border-radius:0;box-shadow:none;overflow:auto}.workspace:has(.project-page) .project-rail{padding:8px 6px}.project-page{line-height:1.5}.project-topbar{display:flex;align-items:center;justify-content:space-between;height:var(--topbar);padding:0 clamp(24px,5vw,64px);background:var(--surface)}.project-topbar nav{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:var(--font-size-small)}.project-topbar a{display:inline-grid;place-items:center;color:inherit}.project-topbar a:hover{color:var(--text)}.project-content{width:min(1120px,100%);margin:0 auto;padding:32px clamp(24px,5vw,64px) 80px;animation:motion-rise-in var(--duration-pop) var(--ease-pop) both}.project-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.project-heading h1{margin:0 0 6px;font-size:var(--font-size-display);line-height:1.25;font-weight:600;letter-spacing:-.02em}.project-heading p{margin:0;color:var(--text-secondary);font-size:var(--font-size-body);line-height:1.6}.project-heading>.button{flex:0 0 auto}.project-panel{border-radius:var(--radius-card);background:var(--surface-subtle);padding:22px;min-width:0}.project-panel+.project-panel{margin-top:12px}.project-panel h2{margin:0;font-size:var(--font-size-heading);line-height:24px;font-weight:600}.project-panel p{margin:4px 0 0;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.6}.project-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.project-panel-head>svg{color:var(--text-muted)}.project-tabs{margin-bottom:16px}.project-settings-form{display:grid;gap:20px;width:min(100%,710px)}.project-settings-form label{display:grid;gap:8px;font-size:var(--font-size-small);font-weight:600}.project-settings-form label input,.project-settings-form label select{width:100%}.project-settings-form input,.project-settings-form select{background:var(--surface)}.project-settings-form select{height:var(--control-height);padding:0 12px;border:0;border-radius:var(--radius-control);color:var(--text);font:inherit;font-size:var(--font-size-body)}.project-settings-form select:focus-visible{outline:none;box-shadow:var(--focus)}.project-settings-form select:disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.project-settings-form label small{color:var(--text-muted);font-size:var(--font-size-small);font-weight:400}.project-settings-footer{display:flex;justify-content:flex-end;padding-top:4px}@media(max-width:640px){.project-heading{align-items:start;flex-direction:column}.project-panel{padding:18px}.project-topbar{height:52px;padding:0 20px}.project-content{padding:28px 20px 60px}}@media(prefers-reduced-motion:reduce){.project-content{animation:none}}.dark .project-settings-form input,.dark .project-settings-form select{background:var(--muted)}.legal-page{min-height:100vh;background:var(--background);color:var(--foreground)}.legal-page a:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:var(--radius-item)}.legal-skip{position:fixed;top:12px;left:12px;z-index:20;padding:12px 16px;translate:0 -180%;background:var(--foreground);color:var(--background);border-radius:var(--radius-control)}.legal-skip:focus{translate:0}.legal-header,.legal-page main,.legal-footer{width:min(1120px,calc(100% - 64px));margin:0 auto}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}.legal-brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;letter-spacing:-.04em}.legal-brand img{width:28px;height:28px}.dark .legal-brand img{filter:invert(1)}.legal-header-actions{display:flex;align-items:center;gap:24px}.legal-header-actions>a{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px}.legal-intro{padding:60px 0 32px}.legal-eyebrow{margin:0 0 16px;color:var(--brand);font-size:13px;font-weight:600}.legal-intro h1{margin:0;font-size:clamp(30px,4vw,42px);line-height:1.3;font-weight:600;letter-spacing:-.035em}.legal-description{margin:18px 0 14px;color:var(--text-secondary);font-size:15px;line-height:1.8}.legal-date{margin:0;color:var(--text-muted);font-size:12px;line-height:1.8}.legal-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:24px;border-bottom:1px solid var(--border)}.legal-tabs a{padding:10px 16px;border-radius:var(--radius-control);color:var(--text-secondary);font-size:13px}.legal-tabs a:hover{background:var(--muted);color:var(--foreground)}.legal-tabs a.active{background:var(--selected-surface);color:var(--brand);font-weight:600}.legal-notice{margin:24px 0 0;padding:16px 20px;background:var(--muted);border-radius:var(--radius-control);color:var(--text-secondary);font-size:13px;line-height:1.9}.legal-notice strong{display:block;margin-bottom:6px;color:var(--foreground);font-weight:600}.legal-notice a{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:3px}.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;padding:40px 0 72px;align-items:start}.legal-directory{position:sticky;top:24px}.legal-directory nav{display:grid;gap:4px}.legal-directory nav p{margin:0 0 12px;font-size:12px;font-weight:600;color:var(--text-muted)}.legal-directory nav a{padding:8px 10px;margin-left:-10px;font-size:13px;line-height:1.6;color:var(--text-secondary);border-radius:var(--radius-item)}.legal-directory nav a:hover{background:var(--muted);color:var(--foreground)}.legal-contact{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:13px;color:var(--brand)}.legal-article{max-width:760px;min-width:0}.legal-article section{margin-bottom:36px;scroll-margin-top:32px}.legal-article h2{margin:0 0 16px;font-size:19px;line-height:1.6;font-weight:600;letter-spacing:-.02em}.legal-article p,.legal-article ul{margin:0 0 16px;font-size:14px;line-height:2;color:var(--text-secondary);overflow-wrap:anywhere}.legal-article ul{padding-left:22px}.legal-article li+li{margin-top:10px}.legal-help{padding:24px;background:var(--muted);border-radius:var(--radius-card)}.legal-help h2{font-size:16px;margin-bottom:8px}.legal-help p{margin-bottom:8px}.legal-help>a{color:var(--brand);font-size:14px;overflow-wrap:anywhere}.legal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:24px 0 32px;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;line-height:1.8}.legal-footer p{margin:0}.legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}.legal-links a:hover{text-decoration:underline;text-underline-offset:4px}.login-legal{margin-top:24px;font-size:12px;line-height:1.8;color:var(--text-muted);text-align:center}.login-legal a{color:var(--text-secondary);white-space:nowrap}.login-legal a:hover{color:var(--foreground);text-decoration:underline;text-underline-offset:3px}.login-legal a:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.account-menu .account-legal{margin-top:6px}@media(max-width:760px){.legal-header,.legal-page main,.legal-footer{width:calc(100% - 40px)}.legal-header{min-height:76px}.legal-header-actions{gap:12px}.legal-header-actions>a{font-size:12px}.legal-intro{padding:32px 0 24px}.legal-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding:28px 0 48px}.legal-directory{position:static;padding:20px;border-radius:var(--radius-card);background:var(--muted)}.legal-directory nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.legal-directory nav p{grid-column:1 / -1}.legal-directory nav a{margin-left:0;padding:6px 0}.legal-tabs{gap:4px}.legal-tabs a{padding:10px 12px}}@media(max-width:400px){.legal-header-actions>a{font-size:0;gap:0}.legal-header-actions>a svg{width:20px;height:20px}.legal-directory nav{grid-template-columns:minmax(0,1fr)}}@property --landing-orbit{syntax: "<angle>"; inherits: false; initial-value: 0deg;}html.landing-document,html.landing-document body{min-width:0;background:#000;color-scheme:dark}html.landing-document{scroll-behavior:smooth}.landing{--landing-backdrop: #000;--landing-gutter: 32px;--landing-max: 1376px;--landing-glass: color-mix(in srgb, var(--foreground) 8%, transparent);--landing-glass-strong: color-mix(in srgb, var(--foreground) 14%, transparent);--landing-dim: color-mix(in srgb, var(--foreground) 72%, transparent);--landing-ease: cubic-bezier(.16, 1, .3, 1);position:relative;min-height:100vh;overflow-x:clip;background:var(--landing-backdrop);color:var(--foreground);font-family:DM Sans Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased}.landing *,.landing *:before,.landing *:after{box-sizing:border-box}:where(.landing) a{color:inherit;text-decoration:none}:where(.landing) :where(h1,h2,h3,p,ol,ul,figure){margin:0}:where(.landing) :where(ol,ul){padding:0;list-style:none}:where(.landing) img{display:block;max-width:none}:where(.landing) svg{display:block;flex:none}.landing a:focus-visible,.landing button:focus-visible{outline:none;box-shadow:0 0 0 1px var(--chart-2),0 0 0 4px color-mix(in srgb,var(--chart-2) 30%,transparent)}.landing section[id]{scroll-margin-top:0}.landing-mark{width:22px;height:22px;filter:invert(1)}.landing-brand{display:inline-flex;align-items:center;gap:10px;justify-self:start;border-radius:8px;font-size:17px;font-weight:600;letter-spacing:-.01em}.landing-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:8px;background:var(--primary);color:var(--primary-foreground);font-size:15px;font-weight:500;line-height:1;white-space:nowrap;transition:background .14s var(--landing-ease),box-shadow .14s var(--landing-ease),scale 90ms var(--landing-ease)}.landing-cta:hover{background:var(--foreground);box-shadow:0 10px 32px -10px color-mix(in srgb,var(--chart-2) 75%,transparent)}.landing-cta:active{scale:.97}.landing-cta.compact{height:36px;padding:0 14px;font-size:14px}.landing-cta.ghost{background:var(--landing-glass);color:var(--foreground);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.landing-cta.ghost:hover{background:var(--landing-glass-strong);box-shadow:none}.landing-actions{display:flex;flex-wrap:wrap;gap:12px}.landing-slate{display:inline-flex;align-items:center;gap:10px;color:var(--chart-1);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;letter-spacing:.08em}.landing-slate:before{content:"";width:24px;height:1px;background:currentColor;opacity:.6}.landing-section-head{max-width:var(--landing-max);margin:0 auto 56px}.landing-section-head h2{margin-top:18px;text-wrap:balance;font-size:clamp(36px,5vw,72px);font-weight:600;line-height:1.06;letter-spacing:-.03em}.landing-section-head>p:not(.landing-slate){max-width:560px;margin-top:20px;color:var(--landing-dim);font-size:17px;line-height:28px}.landing-spin{animation:landing-spin 1s linear infinite}.landing-grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");opacity:.1;mix-blend-mode:overlay;pointer-events:none;animation:landing-grain .8s steps(4) infinite}.landing-nav{position:fixed;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:1fr auto;align-items:center;height:64px;padding:0 var(--landing-gutter);transition:background .3s var(--landing-ease),box-shadow .3s var(--landing-ease)}.landing-nav[data-scrolled]{background:color-mix(in srgb,var(--landing-backdrop) 72%,transparent);box-shadow:inset 0 -1px color-mix(in srgb,var(--foreground) 8%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4)}.landing-link{padding:8px 14px;border-radius:8px;color:var(--landing-dim);font-size:14px;transition:color .14s var(--landing-ease),background .14s var(--landing-ease)}.landing-link:hover{background:var(--landing-glass);color:var(--foreground)}.landing-nav-actions{display:flex;align-items:center;justify-self:end;gap:8px}.landing-hero{position:relative;height:210vh}.landing-hero-stage{--p: var(--hero-progress, 0);--open: calc(1 - var(--p));position:sticky;top:0;height:100vh;overflow:hidden}.landing-hero-frame{--edge-side: calc(var(--inset-side, 32px) * var(--open));--edge-top: calc(var(--inset-top, 84px) * var(--open));--edge-bottom: calc(var(--inset-bottom, 32px) * var(--open));--edge-feather: clamp(24px, 4vw, 72px);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--landing-backdrop);clip-path:inset(var(--edge-top) var(--edge-side) var(--edge-bottom) var(--edge-side) round calc(16px * var(--open)))}.landing-hero-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;-webkit-mask-image:linear-gradient(to right,transparent var(--edge-side),#000 calc(var(--edge-side) + var(--edge-feather)),#000 calc(100% - var(--edge-side) - var(--edge-feather)),transparent calc(100% - var(--edge-side))),linear-gradient(to bottom,transparent var(--edge-top),#000 calc(var(--edge-top) + var(--edge-feather)),#000 calc(100% - var(--edge-bottom) - var(--edge-feather)),transparent calc(100% - var(--edge-bottom)));mask-image:linear-gradient(to right,transparent var(--edge-side),#000 calc(var(--edge-side) + var(--edge-feather)),#000 calc(100% - var(--edge-side) - var(--edge-feather)),transparent calc(100% - var(--edge-side))),linear-gradient(to bottom,transparent var(--edge-top),#000 calc(var(--edge-top) + var(--edge-feather)),#000 calc(100% - var(--edge-bottom) - var(--edge-feather)),transparent calc(100% - var(--edge-bottom)));-webkit-mask-composite:source-in;mask-composite:intersect;opacity:0;transition:opacity 1.1s ease}.landing-hero-stage[data-resolved] .landing-hero-photo{opacity:1}.landing-hero-frame .landing-grain{animation:none}.landing-hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(0deg,#000000d0 0%,#00000080 28%,transparent 62%),linear-gradient(90deg,#00000070 0%,transparent 55%)}.landing-hero-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;pointer-events:none}.landing-hero-copy{position:absolute;bottom:calc(var(--inset-bottom, 32px) + 56px);left:calc(var(--inset-side, 32px) + 48px);z-index:4;max-width:780px;padding-right:var(--landing-gutter);opacity:calc(1 - var(--p) * 2.4);translate:0 calc(var(--p) * -90px);filter:blur(calc(var(--p) * 12px))}.landing-hero-copy>*{animation:landing-rise 1.1s var(--landing-ease) backwards}.landing-hero-copy>:nth-child(1){animation-delay:.2s}.landing-hero-copy>:nth-child(2){animation-delay:.34s}.landing-hero-copy h1{margin:0 0 32px;font-size:clamp(44px,7vw,104px);font-weight:600;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}.landing-hero-title-line{display:block;white-space:nowrap}.landing-hero-word{position:relative;display:inline-grid;width:2em;font-family:Songti SC,STSong,SimSun,"Noto Serif CJK SC",serif;font-size:1.18em;font-weight:600;line-height:1}.landing-hero-word>span{grid-area:1 / 1;opacity:0}.landing-hero-word>[data-word=想象]{color:#d6e4ff}.landing-hero-word>[data-word=故事]{color:#f1dfbf}.landing-hero-word>[data-word=灵感]{color:#dcccf5}.landing-hero-word>[data-word=世界]{color:#bce4e5}.landing-hero-word>[data-active]{opacity:1}.landing-word-baseline{display:inline-block;width:0;height:0;vertical-align:baseline}.landing-word-particles{position:absolute;top:-100%;left:-100%;width:400%;height:300%;pointer-events:none;visibility:hidden}.landing-hero-word[data-wind]>.landing-word-particles{visibility:visible}.landing-scroll-cue{position:absolute;bottom:calc(var(--inset-bottom, 32px) + 26px);left:50%;z-index:4;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--landing-glass);color:var(--landing-dim);translate:-50% 0;opacity:calc(1 - var(--p) * 4);animation:landing-nudge 2.4s 1.6s ease-in-out infinite}.landing-manifesto{max-width:calc(var(--landing-max) + var(--landing-gutter) * 2);margin:0 auto;padding:22vh var(--landing-gutter) 20vh}.landing-manifesto-text{max-width:1180px;margin-top:28px;font-size:clamp(28px,4vw,58px);font-weight:600;line-height:1.3;letter-spacing:-.02em}.landing-manifesto-text>span{display:block;text-wrap:pretty}.landing-manifesto-text span span{--lit: 0;color:color-mix(in srgb,var(--foreground) calc(16% + var(--lit) * 84%),transparent)}.landing-manifesto-text .accent span{color:color-mix(in srgb,var(--chart-1) calc(var(--lit) * 100%),color-mix(in srgb,var(--foreground) 16%,transparent))}.landing-workflow{max-width:calc(var(--landing-max) + var(--landing-gutter) * 2);margin:0 auto;padding:6vh var(--landing-gutter) 8vh}.landing-workflow-body{display:grid;grid-template-areas:"chapters stage";grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:72px;max-width:var(--landing-max);margin:0 auto}.landing-workflow-stage{position:sticky;top:0;grid-area:stage;display:flex;align-items:center;height:100vh}.landing-workflow-screen{position:relative;width:100%;aspect-ratio:16 / 11;max-height:calc(100vh - 140px);overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 0% 0%,#142446 0%,transparent 45%),radial-gradient(ellipse at 100% 100%,#122039 0%,transparent 42%),#0f0f11;box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground) 7%,transparent),0 40px 120px -40px #000;container-type:inline-size}.landing-workflow-scene{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:6cqw;opacity:0;scale:.98;filter:blur(6px);transition:opacity .6s var(--landing-ease),scale .8s var(--landing-ease),filter .6s var(--landing-ease);pointer-events:none}.landing-workflow-scene[data-active]{opacity:1;scale:1;filter:none}.landing-chapters{position:relative;grid-area:chapters;padding-left:28px}.landing-chapters:before,.landing-chapters:after{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:color-mix(in srgb,var(--foreground) 10%,transparent)}.landing-chapters:after{height:calc(var(--workflow-progress, 0) * 100%);background:linear-gradient(180deg,transparent,var(--chart-2) 30%,var(--chart-1));box-shadow:0 0 12px var(--chart-2)}.landing-chapter{display:flex;flex-direction:column;justify-content:center;min-height:92vh;opacity:.28;transition:opacity .5s var(--landing-ease)}.landing-chapter[data-active]{opacity:1}.landing-chapter-slate{display:inline-flex;align-items:center;gap:8px;color:var(--landing-dim);font-size:13px;font-weight:500}.landing-chapter-slate span{margin-right:6px;color:var(--chart-1);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.landing-chapter h3{margin:16px 0 14px;font-size:clamp(26px,2.6vw,38px);font-weight:600;line-height:1.18;letter-spacing:-.02em}.landing-chapter p:last-child{max-width:380px;color:var(--landing-dim);font-size:16px;line-height:27px}.vg{position:relative;font-size:min(1.85cqw,17px);line-height:1.6}.vg [data-kind=person]{--mark-ink: var(--reference-person);--mark-bg: var(--reference-person-soft)}.vg [data-kind=scene]{--mark-ink: var(--reference-scene);--mark-bg: var(--reference-scene-soft)}.vg [data-kind=prop]{--mark-ink: var(--reference-prop);--mark-bg: var(--reference-prop-soft)}.vg-idea{display:flex;flex-direction:column;gap:1.6em;width:36em}.vg-composer{position:relative;padding:1.3em 1.4em 1.1em;border-radius:.9em;background:var(--card);box-shadow:var(--shadow-float)}.vg-composer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--landing-orbit),transparent 0 64%,#a78bfa,#60a5fa,#22d3ee,#4ade80,#fb923c,#f472b6,transparent 98%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:landing-orbit 3.2s linear infinite}.vg-composer-label{display:flex;align-items:center;gap:.5em;color:var(--muted-foreground);font-size:.82em}.vg-typing{min-height:5.1em;margin:.7em 0 1.1em;font-size:1.12em;line-height:1.7}[data-active] .vg-typing span{animation:landing-appear 10ms calc(.3s + var(--i) * 42ms) backwards}.vg-caret{display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:-.15em;background:var(--chart-1);animation:landing-blink 1s steps(1) infinite}.vg-composer-foot{display:flex;align-items:center;justify-content:space-between}.vg-chip{padding:.3em .7em;border-radius:.4em;background:var(--landing-glass);color:var(--muted-foreground);font-size:.78em}.vg-ai-button,.vg-mini-ai{display:inline-flex;align-items:center;gap:.4em;border-radius:.55em;background:linear-gradient(120deg,var(--chart-5) 0%,var(--chart-3) 55%,var(--chart-2) 100%);color:#fff;box-shadow:0 1px 2px #0005,0 8px 20px -7px color-mix(in srgb,var(--chart-2) 40%,transparent)}.vg-ai-button{padding:.45em .95em;font-size:.86em;font-weight:500}[data-active] .vg-ai-button{animation:landing-glow 1.4s 2.5s ease-out backwards}.vg-steps{display:flex;flex-direction:column;gap:.75em;padding-left:.3em}.vg-steps li{display:flex;align-items:center;gap:.65em;color:var(--landing-dim);font-size:.95em}.vg-steps li>svg,.vg-step-icon>svg:last-child{color:var(--success)}.vg-steps b{margin-left:.2em;color:var(--foreground);font-weight:600}[data-active] .vg-steps li{animation:landing-rise .7s calc(2.9s + var(--d) * .5s) var(--landing-ease) backwards}.vg-step-icon{display:grid;width:14px}.vg-step-icon>svg{grid-area:1 / 1}.vg-step-icon>svg:first-child{opacity:0;color:var(--chart-1)}[data-active] .vg-step-icon>svg:first-child{animation:landing-hold 4.6s linear,landing-spin 1s linear infinite}[data-active] .vg-step-icon>svg:last-child{animation:landing-appear 10ms 4.6s backwards}.vg-script{width:38em}.vg-paper{padding:1.7em 2.2em 1.9em;border-radius:.9em;background:var(--card);box-shadow:var(--shadow-float);font-size:.96em;line-height:1.8}.vg-paper-head{display:flex;align-items:center;gap:.5em;margin-bottom:1.1em;color:var(--muted-foreground);font-size:.8em}.vg-scene-heading{margin-bottom:.5em;font-weight:600}.vg-action{color:color-mix(in srgb,var(--foreground) 82%,transparent)}.vg-character{margin-top:.7em;padding-left:9.5em;font-weight:600}.vg-dialogue{padding:0 4em 0 5.5em;color:color-mix(in srgb,var(--foreground) 88%,transparent)}.vg-paper mark{padding:0 .15em;border-radius:.25em;background:linear-gradient(var(--mark-bg),var(--mark-bg)) no-repeat 0 0 / 100% 100%;color:var(--mark-ink)}[data-active] .vg-paper mark{animation:landing-highlight .6s calc(.7s + var(--d) * .45s) var(--landing-ease) backwards}.vg-annotate{position:absolute;top:5.6em;right:-1.6em;display:flex;gap:.2em;padding:.3em;border-radius:.7em;background:#171717;box-shadow:0 0 0 1px #ffffff14,0 18px 44px #0008;font-size:.78em}.vg-annotate span{display:inline-flex;align-items:center;gap:.35em;padding:.35em .6em;border-radius:.45em;color:var(--landing-dim)}.vg-annotate span[data-kind] svg{color:var(--mark-ink)}.vg-annotate span:first-child{background:var(--landing-glass);color:var(--foreground)}[data-active] .vg-annotate{animation:landing-pop .52s .4s var(--landing-ease) backwards}.vg-agent-note{position:absolute;bottom:-1.2em;left:2em;display:inline-flex;align-items:center;gap:.5em;padding:.55em .9em;border-radius:.7em;background:linear-gradient(115deg,#101a2c,#152744 55%,#1b3151);box-shadow:0 0 0 1px #ffffff14,0 18px 44px #0008;color:var(--chart-1);font-size:.82em}[data-active] .vg-agent-note{animation:landing-pop .52s 2.7s var(--landing-ease) backwards}.vg-objects{display:flex;align-items:flex-end;gap:1em;font-size:.88em}.vg-object{padding:.4em;border-radius:.8em;background:var(--card);box-shadow:var(--shadow-float)}.vg-object img{width:9.5em;aspect-ratio:4 / 5;border-radius:.5em;object-fit:cover}.vg-object[data-shape=wide] img{width:15em;aspect-ratio:16 / 10}.vg-object[data-shape=square] img{aspect-ratio:1}.vg-object figcaption{display:flex;flex-direction:column;gap:.1em;padding:.6em .35em .25em}.vg-object-kind{color:var(--muted-foreground);font-size:.7em}.vg-object b{font-size:.95em;font-weight:600}.vg-object-states{display:flex;flex-wrap:wrap;gap:.3em;margin-top:.35em}.vg-object-states i{padding:.1em .45em;border-radius:.3em;background:var(--landing-glass);color:var(--landing-dim);font-size:.66em;font-style:normal}.vg-object-states i:last-child{background:color-mix(in srgb,var(--chart-2) 16%,var(--card));color:var(--chart-1)}[data-active] .vg-object{animation:landing-rise .8s calc(.15s + var(--d) * .13s) var(--landing-ease) backwards}.vg-canvas{width:100%}.vg-board{position:relative;width:100%;aspect-ratio:16 / 10;font-size:.9em}.vg-board:before{content:"";position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;background-image:radial-gradient(color-mix(in srgb,var(--foreground) 9%,transparent) 1px,transparent 1px);background-size:1.6em 1.6em;-webkit-mask:radial-gradient(ellipse at center,#000 40%,transparent 75%);mask:radial-gradient(ellipse at center,#000 40%,transparent 75%)}.vg-wires{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.vg-wires path{fill:none;stroke:color-mix(in srgb,var(--foreground) 24%,transparent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.vg-wires .vg-wire-flow{stroke:var(--chart-1);stroke-width:2px;stroke-linecap:round;stroke-dasharray:14 86;filter:drop-shadow(0 0 3px var(--chart-2));animation:landing-flow 2.4s linear infinite}.vg-wires .vg-wire-flow.late{animation-delay:1.2s}.vg-wires circle{fill:var(--card);stroke:color-mix(in srgb,var(--foreground) 45%,transparent);stroke-width:1.2px;vector-effect:non-scaling-stroke}.vg-node{position:absolute;top:calc(var(--y) / 62.5 * 100%);left:calc(var(--x) * 1%)}.vg-node figcaption{display:flex;align-items:center;gap:.3em;height:1.9em;color:var(--muted-foreground);font-size:.72em;white-space:nowrap}.vg-ref{width:19%}.vg-ref img{width:100%;aspect-ratio:16 / 9;border-radius:.5em;object-fit:cover;box-shadow:var(--shadow-card)}.vg-prompt{width:30.5%;padding:.75em .9em .8em;border-radius:.7em;background:var(--card);box-shadow:var(--shadow-float),0 0 0 1.5px color-mix(in srgb,var(--chart-2) 55%,transparent);translate:0 -50%}.vg-prompt-title{display:flex;align-items:center;gap:.4em;color:var(--muted-foreground);font-size:.72em}.vg-prompt-text{margin:.45em 0 .7em;font-size:.8em;line-height:1.65}.vg-prompt-text b{color:var(--mark-ink);font-weight:500}.vg-prompt-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35em;font-size:.66em}.vg-prompt-meta>span:not(.vg-mini-ai){padding:.15em .5em;border-radius:.35em;background:var(--landing-glass);color:var(--landing-dim)}.vg-mini-ai{margin-left:auto;padding:.3em .7em}.vg-result{width:13%}.vg-result-media{position:relative;overflow:hidden;border-radius:.5em;box-shadow:var(--shadow-card)}.vg-result-media img{width:100%;aspect-ratio:9 / 16;object-fit:cover;object-position:45% 40%}.vg-result.selected .vg-result-media{box-shadow:0 0 0 1.5px var(--chart-2),0 0 0 4px color-mix(in srgb,var(--chart-2) 22%,transparent)}.vg-result.selected figcaption{color:var(--chart-1)}.vg-result-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--chart-1) 45%,transparent) 50%,transparent 70%) no-repeat;background-size:250% 100%;opacity:0}[data-active] .vg-node{animation:landing-rise .7s calc(.15s + var(--d) * .11s) var(--landing-ease) backwards}[data-active] .vg-result-media img{animation:landing-develop 1.6s calc(1.1s + var(--d) * .3s) var(--landing-ease) backwards}[data-active] .vg-result-media:after{animation:landing-sheen 1.6s calc(.7s + var(--d) * .3s) ease-in-out 2 backwards}[data-active] .vg-result.selected .vg-result-media{animation:landing-select .5s 3.4s var(--landing-ease) backwards}[data-active] .vg-result.selected figcaption{animation:landing-appear 10ms 3.4s backwards}.vg-cut{width:40em}.vg-player{position:relative;overflow:hidden;aspect-ratio:16 / 9;border-radius:.8em;box-shadow:var(--shadow-float)}.vg-player img{width:100%;height:100%;object-fit:cover}[data-active] .vg-player img{animation:landing-push 9s ease-out both}.vg-player-badge,.vg-comment{position:absolute;display:inline-flex;align-items:center;gap:.4em;padding:.4em .75em;border-radius:.5em;font-size:.78em;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.vg-player-badge{top:.9em;right:.9em;background:color-mix(in srgb,var(--success) 18%,#0009);color:var(--success)}.vg-comment{bottom:.9em;left:.9em;background:#000a;color:var(--foreground)}.vg-comment svg{color:var(--chart-1)}[data-active] .vg-comment{animation:landing-pop .52s 1.5s var(--landing-ease) backwards}[data-active] .vg-player-badge{animation:landing-pop .52s 3.2s var(--landing-ease) backwards}.vg-timeline{position:relative;margin-top:.9em;padding:.6em .7em .7em;border-radius:.8em;background:var(--card);box-shadow:var(--shadow-float)}.vg-ruler{display:flex;justify-content:space-between;height:.7em;margin-bottom:.45em}.vg-ruler i{width:1px;height:100%;background:color-mix(in srgb,var(--foreground) 22%,transparent)}.vg-ruler i:nth-child(odd){height:55%;margin-top:auto}.vg-track{display:flex;gap:.25em;height:3.2em}.vg-clip{flex:var(--grow) 1 0;border-radius:.35em;background-position:center 40%;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff14}[data-active] .vg-clip{animation:landing-rise .6s calc(.2s + var(--d) * 90ms) var(--landing-ease) backwards}.vg-playhead{position:absolute;top:.4em;bottom:.4em;left:.7em;width:2px;border-radius:1px;background:var(--chart-1);box-shadow:0 0 8px var(--chart-2)}[data-active] .vg-playhead{animation:landing-scrub 7s .8s linear infinite}.landing-features{max-width:calc(var(--landing-max) + var(--landing-gutter) * 2);margin:0 auto;padding:16vh var(--landing-gutter) 10vh}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:var(--landing-max);margin:0 auto}.landing-feature{--mx: 50%;--my: 0%;position:relative;display:flex;flex-direction:column;min-height:380px;padding:28px;overflow:hidden;border-radius:16px;background:var(--card);box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground) 5%,transparent);transition:translate .42s var(--landing-ease),box-shadow .42s var(--landing-ease)}.landing-feature[data-wide]{grid-column:span 2}.landing-feature:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(420px circle at var(--mx) var(--my),color-mix(in srgb,var(--chart-2) 14%,transparent),transparent 65%);opacity:0;transition:opacity .3s var(--landing-ease);pointer-events:none}.landing-feature:hover{translate:0 -2px;box-shadow:0 0 0 1px color-mix(in srgb,var(--foreground) 10%,transparent),0 24px 60px -24px #000}.landing-feature:hover:before{opacity:1}.landing-feature-visual{position:relative;display:grid;flex:1;place-items:center;min-height:190px;margin-bottom:28px}.landing-feature h3{position:relative;margin-bottom:8px;font-size:20px;font-weight:600;line-height:28px;letter-spacing:-.01em}.landing-feature p{position:relative;max-width:460px;color:var(--landing-dim);font-size:14px;line-height:22px}.fv-states{display:flex;align-items:center;gap:24px}.fv-states img{width:150px;aspect-ratio:4 / 5;border-radius:12px;object-fit:cover}.fv-states ul{display:flex;flex-direction:column;gap:8px;width:220px}.fv-states li{display:flex;flex-direction:column;padding:10px 14px;border-radius:8px;background:var(--landing-glass);animation:landing-cycle 7.5s infinite}.fv-states li:nth-child(2){animation-delay:2.5s}.fv-states li:nth-child(3){animation-delay:5s}.fv-states b{font-size:14px;font-weight:600;line-height:20px}.fv-states span{color:var(--muted-foreground);font-size:12px;line-height:18px}.fv-agent{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px}.fv-agent-ask{align-self:flex-end;padding:8px 12px;border-radius:12px 12px 4px;background:var(--secondary);font-size:13px}.fv-agent-proposal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:linear-gradient(115deg,#101a2c,#152744 55%,#1b3151);color:var(--chart-1);font-size:13px;animation:landing-float 5s ease-in-out infinite}.fv-agent-proposal span{display:inline-flex;align-items:center;gap:6px}.fv-agent-proposal i{padding:4px 10px;border-radius:6px;background:var(--primary);color:var(--primary-foreground);font-size:12px;font-style:normal;font-weight:500}.fv-candidates{display:flex;gap:12px}.fv-candidates span{position:relative;width:74px;aspect-ratio:9 / 16;border-radius:8px;background-size:cover;opacity:.55}.fv-candidates span:nth-child(1){background-position:35% 20%}.fv-candidates span:nth-child(2){background-position:50% 25%}.fv-candidates span:nth-child(3){background-position:65% 30%}.fv-candidates span[data-selected]{opacity:1;box-shadow:0 0 0 1.5px var(--chart-2),0 0 0 4px color-mix(in srgb,var(--chart-2) 22%,transparent);scale:1.06}.fv-candidates svg{position:absolute;top:-7px;right:-7px;width:20px;height:20px;padding:4px;border-radius:50%;background:var(--chart-2);color:#fff}.fv-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;width:100%;max-width:640px}.fv-review-player{min-width:0}.fv-review-frame{position:relative;overflow:hidden;aspect-ratio:16 / 10;border-radius:10px;background:#000}.fv-review-frame img{display:block;width:100%;height:100%;object-fit:cover}.fv-review-time{position:absolute;right:10px;bottom:10px;padding:3px 6px;border-radius:4px;background:#0009;color:#fff;font:11px ui-monospace,monospace}.fv-review-timeline{position:relative;height:4px;margin:22px 0 16px;border-radius:2px;background:var(--landing-glass-strong)}.fv-review-progress{position:absolute;top:0;right:55%;bottom:0;left:0;border-radius:inherit;background:var(--chart-2)}.fv-review-marker{position:absolute;top:-9px;left:calc(45% - 10px);display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--chart-2);color:#fff}.fv-review-team{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted-foreground);font-size:11px}.fv-review-thread{min-width:0;padding:16px;border-radius:12px;background:var(--landing-glass)}.fv-review-author{display:flex;align-items:center;gap:8px;color:var(--foreground);font-size:12px}.fv-review-avatar{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--chart-2) 20%,transparent);color:var(--chart-1);font-size:11px}.fv-review-avatar[data-editor]{background:var(--landing-glass-strong);color:var(--landing-dim)}.fv-review-author b{font-weight:500}.fv-review-stamp{margin-left:auto;color:var(--chart-1);font:11px ui-monospace,monospace}.landing-feature .fv-review-comment{margin:8px 0 0;color:var(--foreground);font-size:12px;line-height:20px}.fv-review-reply{margin:14px 0 12px 16px}.landing-feature .fv-review-reply p{color:var(--landing-dim)}.fv-review-resolved{display:inline-flex;align-items:center;gap:4px;color:var(--chart-1);font-size:11px}@media(max-width:520px){.fv-review{grid-template-columns:minmax(0,1fr);gap:16px;max-width:360px}}.landing-finale{--finale-feather: clamp(96px, 16vh, 160px);position:relative;height:100vh;min-height:640px;max-height:960px;overflow:hidden;background:var(--landing-backdrop)}.landing-finale:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 36%,#3e67a142 0%,transparent 52%);pointer-events:none}.landing-finale-particles{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.landing-finale:before,.landing-finale-particles{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--finale-feather),#000 calc(100% - var(--finale-feather)),transparent);mask-image:linear-gradient(to bottom,transparent,#000 var(--finale-feather),#000 calc(100% - var(--finale-feather)),transparent)}.landing-finale-copy{position:absolute;right:var(--landing-gutter);bottom:13%;left:var(--landing-gutter);display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center;pointer-events:none}.landing-finale-copy h2{color:var(--foreground);font-family:inherit;font-size:clamp(36px,5vw,64px);font-weight:600;line-height:1.2;letter-spacing:-.025em}.landing-finale-copy .landing-actions{justify-content:center;pointer-events:auto}.landing-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;max-width:calc(var(--landing-max) + var(--landing-gutter) * 2);margin:0 auto;padding:36px var(--landing-gutter) 44px;color:var(--muted-foreground);font-size:13px}.landing-footer .landing-brand{color:var(--foreground)}.landing-footer nav{display:flex;flex-wrap:wrap;gap:24px}.landing-footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;width:100%}.landing-footer .landing-footer-operator{width:100%;margin:0;font-size:12px}.landing-footer-legal>a:hover{color:var(--foreground)}.landing-footer nav a:hover{color:var(--foreground)}@keyframes landing-spin{to{rotate:360deg}}@keyframes landing-grain{0%{translate:0 0}25%{translate:-4% 3%}50%{translate:3% -5%}75%{translate:-2% -2%}to{translate:5% 4%}}@keyframes landing-rise{0%{opacity:0;translate:0 24px;filter:blur(8px)}}@keyframes landing-fade-in{0%{opacity:0}}@keyframes landing-pop{0%{opacity:0;scale:.94;filter:blur(4px)}}@keyframes landing-appear{0%{opacity:0}}@keyframes landing-hold{0%,to{opacity:1}}@keyframes landing-nudge{0%,to{translate:-50% 0}50%{translate:-50% 6px}}@keyframes landing-orbit{to{--landing-orbit: 360deg}}@keyframes landing-blink{50%{opacity:0}}@keyframes landing-glow{40%{box-shadow:0 1px 2px #0005,0 0 0 4px color-mix(in srgb,var(--chart-2) 30%,transparent),0 12px 32px -6px var(--chart-2)}}@keyframes landing-highlight{0%{background-size:0% 100%;color:inherit}}@keyframes landing-flow{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes landing-develop{0%{filter:blur(10px) saturate(.2) brightness(.6);scale:1.08}}@keyframes landing-sheen{0%{opacity:1;background-position:120% 0}to{opacity:1;background-position:-120% 0}}@keyframes landing-select{0%{box-shadow:var(--shadow-card)}}@keyframes landing-push{0%{scale:1}to{scale:1.08}}@keyframes landing-scrub{0%{left:.7em}to{left:calc(100% - .7em)}}@keyframes landing-cycle{0%,30%{background:color-mix(in srgb,var(--chart-2) 16%,var(--card));box-shadow:inset 2px 0 0 var(--chart-2)}36%,to{background:var(--landing-glass);box-shadow:inset 2px 0 0 transparent}}@keyframes landing-float{0%,to{translate:0 0}50%{translate:0 -4px}}@media(max-width:1080px){.landing-workflow-body{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:40px}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-feature[data-wide]{grid-column:span 2}}@media(max-width:860px){.landing-workflow-body{grid-template-areas:"stage" "chapters";grid-template-columns:minmax(0,1fr);gap:0}.landing-workflow-stage{top:56px;z-index:1;height:auto;padding:12px 0 16px;background:linear-gradient(180deg,var(--background) 88%,transparent)}.landing-workflow-screen{max-height:none;aspect-ratio:5 / 4}.vg{font-size:2cqw}.vg-objects{flex-wrap:wrap;justify-content:center;max-width:32em;font-size:.82em}.landing-chapter{min-height:62vh}}@media(max-width:720px){.landing{--landing-gutter: 16px}.landing-nav{height:56px}.landing-hero-copy{right:calc(var(--inset-side, 12px) + 20px);bottom:calc(var(--inset-bottom, 12px) + 72px);left:calc(var(--inset-side, 12px) + 20px);padding-right:0}.landing-hero-copy h1{font-size:clamp(40px,12vw,64px)}.landing-hero-copy .landing-cta{flex:1}.landing-feature-grid{grid-template-columns:minmax(0,1fr)}.landing-feature[data-wide]{grid-column:auto}.landing-feature{min-height:0;padding:22px}.fv-states img{width:110px}.landing-footer{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){html.landing-document{scroll-behavior:auto}.landing-hero{height:100vh}.landing *,.landing *:before,.landing *:after{animation:none!important;transition-duration:0s!important}.landing-workflow-scene,.landing-hero-copy{filter:none}}.object-state-locations{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.object-state-locations span{padding:3px 7px;border-radius:var(--radius-control);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--font-size-tag)}.object-state-scene-picker>.object-state-scene-hint{color:var(--text-muted)}.object-state-scene-picker{margin-bottom:22px}.object-state-range>div{display:flex;align-items:center;gap:8px}.object-state-range button{padding:4px 6px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600;cursor:pointer}.object-state-range button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.object-state-range button:disabled{opacity:.42;cursor:default}.object-state-range{margin-top:12px;padding:10px 12px;border-radius:var(--radius-card);background:var(--surface);color:var(--text-secondary);font-size:var(--font-size-small)}.object-state-range>div{margin-top:7px}.object-state-range input{width:54px;height:28px;padding:0 5px;font-size:var(--font-size-small);text-align:center}.object-state-range button{margin-left:auto;white-space:nowrap}.object-state-tree{margin-top:10px}.object-state-tree-root,.object-state-episode-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;padding:4px 10px;border-radius:var(--radius-item)}.object-state-tree-root:hover,.object-state-episode-heading:hover{background:var(--surface-hover)}.object-state-tree-root:has(input:checked),.object-state-tree-root:has(input:indeterminate),.object-state-episode-heading:has(input:checked),.object-state-episode-heading:has(input:indeterminate){background:var(--selected-surface)}.object-state-tree-toggle{display:inline-flex;flex:1;align-items:center;gap:6px;min-width:0;padding:2px 0;border:0;background:transparent;color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600;text-align:left;cursor:pointer}.object-state-tree-toggle span{white-space:nowrap}.object-state-tree-toggle small{margin-left:4px;color:var(--text-muted);font-size:var(--font-size-tag);font-weight:400}.object-state-tree-toggle svg{flex:none}.object-state-tree-toggle svg:first-child{transition:transform var(--duration-feedback)}.object-state-tree-toggle[aria-expanded=false] svg:first-child{transform:rotate(-90deg)}.object-state-tree input[type=checkbox]{flex:none;width:14px;height:14px;margin:0;accent-color:var(--primary);cursor:pointer}.object-state-tree input[type=checkbox]:disabled{opacity:.4;cursor:default}.object-state-tree input:focus-visible,.object-state-tree-toggle:focus-visible{outline:none;box-shadow:var(--focus)}.object-state-tree-episodes{position:relative;margin:2px 0 0 22px}.object-state-tree-episodes:before,.object-state-scene-grid:before{position:absolute;top:0;bottom:18px;width:1px;background:var(--line);content:""}.object-state-tree-episodes:before{left:0}.object-state-episode{position:relative;margin:2px 0 0 16px}.object-state-episode:before,.object-state-scene:before{position:absolute;top:18px;height:1px;background:var(--line);content:""}.object-state-episode:before{left:-16px;width:16px}.object-state-scene-grid{position:relative;display:grid;gap:2px;margin:2px 0 4px 24px}.object-state-scene-grid:before{left:0}.object-state-scene{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:5px 10px;border:0;border-radius:var(--radius-item);background:transparent;font-size:var(--font-size-small);line-height:1.5;cursor:pointer;transition:background var(--duration-feedback),box-shadow var(--duration-feedback),transform var(--duration-feedback)}.object-state-scene:before{left:-24px;width:24px}.object-state-scene>span{min-width:0}.object-state-scene:hover{background:var(--surface);box-shadow:var(--shadow-card)}.object-state-scene:has(input:checked){background:var(--selected-surface)}.object-state-scene:has(input:checked):hover{box-shadow:var(--shadow-card)}.object-state-field-heading{font-size:var(--font-size-small);font-weight:600}.workspace:has(.object-page) .workspace-main{min-height:100dvh;height:100dvh;margin:0;border-radius:0;box-shadow:none}.object-page{display:flex;height:100dvh;overflow:hidden;background:var(--surface);color:var(--text);line-height:1.5}.object-library-main{min-width:0;flex:1;display:flex;flex-direction:column}.object-library-topbar{height:var(--topbar);flex:none;display:flex;align-items:center;z-index:20;border-bottom:1px solid transparent;background:var(--surface);justify-content:space-between;padding:0 30px}.object-library-location{display:inline-flex;align-items:center;gap:14px;color:var(--text-secondary);font-size:var(--font-size-small)}.object-library-location strong{color:var(--text);font-size:var(--font-size-body);font-weight:600}.object-library-divider{width:1px;height:17px;background:var(--line)}.object-library-actions{display:flex;align-items:center;gap:18px}.object-library-back{display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:var(--font-size-small);text-decoration:none}.object-library-back:hover{color:var(--text)}.object-library-scroll{flex:1;min-height:0;overflow-y:auto;background:var(--surface-subtle)}.object-library-content{width:min(1440px,100%);margin:0 auto;padding:36px 42px 80px}.object-library-content .api-error{margin:0 0 22px}.object-library-notice{margin:0 0 22px;color:var(--success);font-size:var(--font-size-small)}.object-library-image-notice{margin:0 0 22px}.object-library-image-notice .api-error{margin:0}.object-library-image-notice .button{margin-top:10px}.object-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:22px}.object-library-grid-landscape{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.object-library-grid-square{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.object-gallery-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;gap:0;padding:0;border-radius:var(--radius-card);background:var(--card);color:var(--foreground);font-size:var(--font-size-large);line-height:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;transition:box-shadow var(--duration-feedback) var(--ease),translate var(--duration-pop) var(--ease-pop)}.object-gallery-card{position:relative}.object-gallery-card:hover{box-shadow:var(--shadow-float);translate:0 var(--hover-lift)}.object-gallery-card-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.object-gallery-edit{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-card);cursor:pointer}.object-library-image{position:relative;display:grid;place-items:center;width:100%;overflow:hidden;background:var(--surface-hover);color:var(--text-muted)}.object-library-grid-portrait .object-library-image{aspect-ratio:4 / 5}.object-library-grid-landscape .object-library-image{aspect-ratio:16 / 10}.object-library-grid-square .object-library-image{aspect-ratio:1}.object-library-image img{width:100%;height:100%;object-fit:cover}.object-gallery-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:15px 17px}.object-gallery-card-footer strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-size-large);font-weight:600}.object-gallery-card-footer svg{flex:none;color:var(--text-muted)}.object-library-empty{margin:0;padding:52px 0;color:var(--text-muted);font-size:var(--font-size-body)}.object-page a:focus-visible,.object-page button:not(.button):focus-visible{outline:none;box-shadow:var(--focus)}.object-description{width:100%;min-height:104px;margin-bottom:4px;padding:11px 13px;border:1px solid transparent;border-radius:var(--radius-control);outline:none;resize:vertical;background:color-mix(in oklab,var(--input) 50%,transparent);color:var(--foreground);font:inherit;font-size:14px;line-height:1.5}.object-description::placeholder{color:var(--muted-foreground)}.object-description:focus-visible{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px var(--focus-ring)}.object-description:disabled{opacity:.65;cursor:not-allowed}.create-project-body .object-description{margin-bottom:0}@media(max-width:540px){.object-library-grid,.object-library-grid-landscape,.object-library-grid-square{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.object-library-content{padding:28px 22px 60px}.object-library-topbar{height:auto;min-height:var(--topbar);flex-wrap:wrap;gap:6px 12px;padding:6px 22px}.object-library-location{min-width:0}.object-library-actions{margin-left:auto}}@media(prefers-reduced-motion:reduce){.object-gallery-card{transition:none}.object-gallery-card:hover{translate:none}}.modal-dialog.object-state-dialog{flex-direction:column;gap:24px;width:min(1260px,calc(100vw - 48px));max-width:min(1260px,calc(100vw - 48px));height:min(640px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);overflow:hidden;font-size:var(--font-size-large);line-height:20px;box-shadow:var(--shadow-dialog)}.modal-dialog.object-state-dialog[open]{display:flex}.modal-dialog.object-state-dialog .object-state-dialog-heading{flex:none;min-height:69px;padding:20px 24px}.object-state-dialog-body{flex:1;min-height:0;padding:0}.object-state-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:100%;min-height:0}.object-state-gallery,.object-state-panel{display:flex;flex-direction:column;min-width:0;min-height:0}.object-state-gallery{background:var(--surface)}.object-state-panel{border-left:1px solid transparent;background:var(--surface-subtle)}.object-state-panel .button--secondary{background:var(--surface);box-shadow:var(--shadow-control)}.object-state-panel .button--secondary:hover:not(:disabled){background:var(--surface);box-shadow:var(--shadow-card)}.object-state-gallery-header,.object-state-panel-header{display:flex;align-items:center;justify-content:space-between;flex:none;min-height:56px;padding:12px 20px;border-bottom:1px solid transparent}.object-state-gallery-header>div{display:flex;align-items:center;gap:9px}.object-state-gallery-header h2,.object-state-panel-header h2{margin:0;font-size:var(--font-size-large);line-height:22px;font-weight:600}.object-state-gallery-header span{color:var(--text-muted);font-size:var(--font-size-small)}.object-state-panel-header p{margin:3px 0 0;color:var(--text-muted);font-size:var(--font-size-small)}.object-state-gallery-scroll,.object-state-panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px}.object-state-form{display:flex;flex:1;flex-direction:column;min-height:0}.object-state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:12px}.object-state-grid:has(.object-state-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.object-state-grid:has(.object-state-card:only-child){grid-template-columns:minmax(0,260px)}.object-state-card{display:block;overflow:hidden;padding:0;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--duration-feedback),box-shadow var(--duration-feedback)}.object-state-card:hover{box-shadow:var(--shadow-card)}.object-state-card[aria-pressed=true]{border-color:transparent;box-shadow:var(--shadow-selected)}.object-state-card .object-library-image{aspect-ratio:4 / 5}.object-state-workspace[data-kind=location] .object-state-card .object-library-image{aspect-ratio:16 / 10}.object-state-workspace[data-kind=prop] .object-state-card .object-library-image{aspect-ratio:1}.object-state-card-meta{display:flex;flex-direction:column;gap:5px;min-height:62px;padding:11px 12px}.object-state-card-meta strong{overflow:hidden;font-size:var(--font-size-small);line-height:1.4286;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.object-state-card-meta small{overflow:hidden;color:var(--text-muted);font-size:var(--font-size-small);line-height:1.4286;text-overflow:ellipsis;white-space:nowrap}.object-state-field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.object-state-field>span{font-size:var(--font-size-small);line-height:calc(20 / 14);font-weight:600}.object-state-field i{color:var(--destructive);font-style:normal}.object-state-field textarea{width:100%;min-height:120px;padding:11px 12px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:inherit;resize:vertical}.object-state-prompt{margin:0;min-height:80px;color:var(--text-secondary);font-size:var(--font-size-small);white-space:pre-wrap}.object-state-panel-footer{display:flex;flex:none;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid transparent}.object-library-state-empty{margin:0;padding:28px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface-subtle);color:var(--text-muted);font-size:var(--font-size-small)}.object-state-image-notice{margin-top:14px}.object-state-image-notice .api-error{margin-top:0}.object-state-image-notice .button{margin-top:10px}.object-state-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.object-state-image{min-width:0;overflow:hidden;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.object-state-image .object-library-image{aspect-ratio:4 / 5}.object-state-image>strong,.object-state-image>small{display:block;overflow:hidden;margin:8px 12px 0;font-size:var(--font-size-small);text-overflow:ellipsis;white-space:nowrap}.object-state-image>small{color:var(--text-muted)}.object-state-image-actions{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px}.object-state-attach{display:flex;gap:8px;margin-top:12px}.object-state-attach select{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-small)}.object-page .object-state-dialog button:not(.button):focus-visible,.object-state-attach select:focus-visible,.object-state-field textarea:focus-visible{outline:none;box-shadow:var(--focus)}.modal-dialog.object-state-dialog:has(.object-state-workspace[data-kind=location]){height:min(540px,calc(100dvh - 48px))}.modal-dialog.object-state-dialog:has(.object-state-workspace[data-kind=prop]){height:min(570px,calc(100dvh - 48px))}@media(min-width:1181px){.modal-dialog.object-state-dialog:has(.object-state-card:nth-child(4)){height:min(780px,calc(100dvh - 48px))}.modal-dialog.object-state-dialog:has(.object-state-card:nth-child(7)){height:min(950px,calc(100dvh - 48px))}}@media(min-width:881px)and (max-width:1180px){.modal-dialog.object-state-dialog:has(.object-state-card:nth-child(3)){height:min(780px,calc(100dvh - 48px))}.modal-dialog.object-state-dialog:has(.object-state-card:nth-child(5)){height:min(950px,calc(100dvh - 48px))}}@media(min-width:881px){.modal-dialog.object-state-dialog:has(.object-state-panel-footer):has(.object-state-panel){height:min(900px,calc(100dvh - 48px))}}@media(min-width:881px){.object-state-gallery-scroll:has(.object-state-card:nth-child(4)){scrollbar-gutter:stable}}@media(max-width:880px){.modal-dialog.object-state-dialog{height:min(820px,calc(100dvh - 48px))}.object-state-dialog-body{overflow-y:auto}.object-state-workspace{grid-template-columns:1fr;height:auto;min-height:100%}.object-state-gallery-scroll{max-height:340px}.object-state-panel{border-top:1px solid transparent;border-left:0}.object-state-panel-scroll{overflow:visible}.object-state-form{flex:none}}@media(max-width:540px){.modal-dialog.object-state-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.object-state-gallery-header,.object-state-panel-header,.object-state-gallery-scroll,.object-state-panel-scroll{padding-right:16px;padding-left:16px}.object-state-grid,.object-state-grid:has(.object-state-card:only-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.object-state-images{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.project-metric{border-radius:var(--radius-card);background:var(--surface-subtle)}.project-metric{display:grid;align-content:start;gap:6px;min-height:132px;padding:18px}.project-metric>span{display:flex;gap:10px;align-items:center;margin-bottom:14px;color:var(--text-secondary);font-size:var(--font-size-small)}.project-metric>span svg{box-sizing:content-box;padding:6px;border-radius:var(--radius-item);background:var(--surface);color:var(--brand);box-shadow:var(--shadow-control)}.project-metric>strong{font-size:var(--font-size-display);line-height:1;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.project-metric>small{color:var(--text-muted);font-size:var(--font-size-small)}.project-analytics{padding:6px}.project-analytics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 16px 18px}.project-analytics-heading h2{margin-top:4px}.project-analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.project-chart-cell{min-width:0;min-height:272px;padding:20px;border-radius:calc(var(--radius-card) - 4px);background:var(--surface);box-shadow:var(--shadow-control)}.project-chart-cell h3{margin:0;font-size:var(--font-size-body);font-weight:600}.project-chart-cell p{margin-top:2px;color:var(--text-muted);font-size:var(--font-size-small)}.project-bar-chart,.project-member-chart{margin:0;padding:0;list-style:none}.project-bar-chart{display:grid;gap:14px;margin-top:28px}.project-bar-chart li{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:10px;font-size:var(--font-size-small);color:var(--text-secondary)}.project-bar-chart li>strong{color:var(--text);text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.project-bar-track{height:8px;overflow:hidden;border-radius:var(--radius-xs);background:var(--surface-hover)}.project-bar-track i{display:block;height:100%;min-width:2px;border-radius:inherit;background:var(--brand);transform-origin:left;animation:project-chart-grow var(--duration-spring) var(--ease-spring) both}.project-bar-chart li:hover .project-bar-track i{background:var(--chart-4)}.project-member-chart{display:flex;align-items:stretch;gap:10px;height:143px;margin-top:18px}.project-member-chart li{display:flex;flex:1 1 0;flex-direction:column;align-items:center;gap:6px;min-width:0;font-size:var(--font-size-small);text-align:center}.project-member-chart li>strong{height:16px;font-weight:500;font-variant-numeric:tabular-nums}.project-member-chart-track{display:flex;flex:1;align-items:flex-end;justify-content:center;width:100%;min-height:0;background:linear-gradient(180deg,transparent calc(50% - .5px),var(--line-hairline) 50%,transparent calc(50% + .5px))}.project-member-chart-track i{display:block;width:min(28px,72%);min-height:2px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:var(--brand);transform-origin:bottom;animation:project-chart-rise var(--duration-spring) var(--ease-spring) both;transition:background var(--duration-feedback) var(--ease)}.project-member-chart li:hover .project-member-chart-track i{background:var(--chart-4)}.project-member-chart-name{overflow:hidden;max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.project-chart-empty{display:grid;align-items:center;min-height:123px;margin-top:16px;padding:14px;border-radius:var(--radius-item);background:var(--surface-subtle);color:var(--text-muted);font-size:var(--font-size-small);line-height:1.5}.project-share-bar{display:flex;gap:3px;height:12px;margin-top:28px}.project-share-bar i{flex-basis:0;min-width:6px;border-radius:var(--radius-xs);transform-origin:left;animation:project-chart-grow var(--duration-spring) var(--ease-spring) both}.project-share-owner{background:var(--chart-4)}.project-share-write{background:var(--brand)}.project-share-read{background:var(--chart-2)}.project-share-legend{display:grid;gap:12px;margin:22px 0 0;padding:0;list-style:none}.project-share-legend li{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--font-size-small)}.project-share-legend strong{margin-left:auto;color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.project-share-dot{width:8px;height:8px;border-radius:50%}@keyframes project-chart-grow{0%{transform:scaleX(0)}}@keyframes project-chart-rise{0%{transform:scaleY(0)}}.project-progress-panel{margin-bottom:12px}.project-progress-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.project-work-row{display:flex;align-items:center;gap:12px;min-height:68px;padding:0 14px;border-radius:calc(var(--radius-card) - 4px);background:var(--surface);box-shadow:var(--shadow-control)}.project-work-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:var(--radius-control);background:var(--ai-soft);color:var(--ai-ink)}.project-work-row>div{display:grid;gap:3px;min-width:0}.project-work-row strong{font-size:var(--font-size-body);font-weight:600}.project-work-row small{color:var(--text-muted);font-size:var(--font-size-small)}.project-work-row a{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:6px 8px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);font-size:var(--font-size-small);text-decoration:none;cursor:pointer;transition:background var(--duration-feedback) var(--ease),color var(--duration-feedback) var(--ease)}.project-work-row a:hover{background:var(--surface-hover);color:var(--text)}@media(max-width:1000px){.project-analytics-grid{grid-template-columns:1fr}.project-chart-cell{min-height:255px}}@media(max-width:880px){.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-progress-rows{grid-template-columns:1fr}}@media(max-width:640px){.project-metrics{grid-template-columns:1fr}.project-analytics{padding:6px}}@media(prefers-reduced-motion:reduce){.project-bar-track i,.project-share-bar i,.project-member-chart-track i{animation:none}}.editing-shell{background:var(--surface)}.editing-main{min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.editing-topbar{gap:16px}.editing-project-name{padding-left:15px;border-left:1px solid transparent;font-size:var(--font-size-small);color:var(--text-muted);white-space:nowrap}.editing-header-actions{display:flex;align-items:center;gap:16px}.editing-body{display:grid;grid-template-columns:258px minmax(0,1fr);flex:1;min-height:0;background:var(--surface-subtle)}.editing-media-panel{min-height:0;background:var(--surface-subtle);overflow-y:auto}.editing-media-panel{display:flex;flex-direction:column;border-right:1px solid transparent}.editing-panel-heading{display:flex;justify-content:space-between;align-items:end;padding:23px 19px 0}.editing-eyebrow{color:var(--text-muted);font-size:var(--font-size-tag);font-weight:600;letter-spacing:.11em;text-transform:uppercase}.editing-panel-heading h2{margin:5px 0 0;font-size:var(--font-size-heading);line-height:22px;font-weight:600;letter-spacing:-.02em}.editing-count{min-width:20px;padding:3px 6px;border-radius:var(--radius-item);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600;text-align:center}.editing-media-panel .editing-panel-heading{padding-bottom:17px}.editing-media-list{padding:1px 9px 10px}.editing-media-item{min-width:0;display:flex;align-items:center;gap:9px;padding:8px;border-radius:var(--radius-item);transition:background var(--duration-feedback)}.editing-media-item:hover{background:var(--surface-subtle)}.editing-media-thumb{width:69px;height:52px;flex:none;position:relative;overflow:hidden;border-radius:var(--radius-xs);background:#303734}.editing-media-thumb>span:last-child{position:absolute;left:5px;top:5px;z-index:2;color:#fff;font-size:var(--font-size-tag);font-weight:600;text-shadow:0 1px 4px #0009}.editing-media-info{display:flex;flex:1;flex-direction:column;min-width:0;gap:2px}.editing-media-info strong,.editing-media-info small,.editing-media-info span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.editing-media-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 6px}.editing-media-info .editing-media-status{flex:none;height:16px;padding:0 5px;font-family:var(--font-ui);font-size:var(--font-size-tag);line-height:14px}.editing-media-info strong{font-size:var(--font-size-small);font-weight:600}.editing-media-info small{color:var(--text-muted);font-size:var(--font-size-tag)}.editing-media-info span{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-tag)}.editing-media-item .icon-button{width:25px;height:25px;flex:none;border:1px solid transparent;border-radius:var(--radius-item);color:var(--text-secondary);background:var(--surface)}.editing-media-item .icon-button svg{width:14px}.editing-back-link{display:flex;align-items:center;gap:7px;margin:auto 16px 16px;padding:10px 4px 2px;border:0;background:transparent;color:var(--text-secondary);text-align:left;font-size:var(--font-size-small);cursor:pointer}.editing-back-link:hover{color:var(--text)}.editing-viewer{display:flex;flex-direction:column;min-width:0;min-height:0;padding:17px 20px 14px}.editing-viewer-label{color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600}.editing-viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 6px 12px}.editing-frame{position:relative;width:min(100%,960px);max-height:100%;aspect-ratio:16 / 9;overflow:hidden;background:#242b29;box-shadow:0 6px 28px #18181b1a}.editing-frame.portrait{width:min(40%,260px);aspect-ratio:9 / 16}.editing-no-preview{color:var(--text-muted);font-size:var(--font-size-body)}.editing-transport{height:44px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none}.editing-transport-primary{display:flex;align-items:center;gap:13px}.editing-play{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface);color:var(--text);cursor:pointer}.editing-play:hover{background:var(--surface-hover)}.editing-play:disabled{opacity:.45;cursor:default}.editing-play svg{margin-left:2px}.editing-timecode{color:var(--text);font:11px var(--font-mono);white-space:nowrap}.editing-timecode em{padding:0 5px;color:var(--text-muted);font-style:normal}.editing-sound svg{display:block;vertical-align:middle}.editing-sound{border:0;background:transparent;color:var(--text-secondary);cursor:pointer}.editing-timeline{--timeline-label: 78px;height:280px;position:relative;display:flex;flex-direction:column;flex:none;border-top:1px solid transparent;background:var(--surface)}.editing-timeline-header{min-height:59px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-bottom:1px solid transparent}.editing-timeline-tools{display:flex;align-items:center;gap:8px}.editing-timeline-header h2{margin:0;font-size:var(--font-size-large);font-weight:600}.editing-timeline-tools h2{margin-right:12px}.editing-timeline-actions{display:flex;align-items:center;gap:3px}.editing-timeline-actions .icon-button{width:29px;height:29px}.editing-timeline-actions .icon-button svg{width:15px;height:15px}.editing-timeline-actions .icon-button:disabled{opacity:.38;cursor:default}.editing-timeline-scroll{position:relative;flex:1;min-height:0;overflow-x:auto;padding:0 22px}.editing-timeline-content{position:relative;width:100%;height:100%}.editing-ruler{height:40px;display:flex;align-items:stretch;flex:none;border-bottom:1px solid transparent;color:var(--text-muted);font:10px var(--font-mono)}.editing-ruler-spacer{width:var(--timeline-label);flex:none}.editing-ruler-scale{position:relative;flex:1;margin-left:11px;cursor:crosshair}.editing-ruler-tick{position:absolute;top:26px;width:1px;height:7px;background:#d6d9dc;pointer-events:none}.editing-ruler-tick.major{top:21px;height:12px;background:#b8bdc3}.editing-ruler-tick small{position:absolute;left:50%;top:-18px;transform:translate(-50%);color:var(--text-muted);font:10px var(--font-mono);white-space:nowrap}.editing-ruler-tick:first-child small{left:18px;transform:none}.editing-ruler-tick:last-child small{left:auto;right:0;transform:none}.editing-track-row{min-height:158px;display:flex;align-items:stretch;border-bottom:1px solid transparent}.editing-track-label{width:var(--timeline-label);flex:none;display:flex;align-items:center;gap:8px;border-right:1px solid transparent;color:var(--text-secondary);font-size:var(--font-size-small)}.editing-track-content{display:flex;align-items:center;flex:1;min-width:0;gap:0;padding:10px 0 12px 11px}.editing-clip{position:relative;min-width:0;flex:none;height:136px;display:flex;overflow:hidden;padding:0;border:0;outline:1px solid transparent;outline-offset:-1px;border-radius:var(--radius-card);background:var(--surface-hover);text-align:left;cursor:grab;transition:border-color var(--duration-feedback),box-shadow var(--duration-feedback)}.editing-clip:hover{outline-color:#bfc8d4;box-shadow:0 3px 12px #18181b12}.editing-clip.selected{outline-color:transparent;box-shadow:var(--shadow-selected)}.editing-clip.dragging{opacity:.45}.editing-clip:active{cursor:grabbing}.editing-clip-meta{position:absolute;top:0;left:0;right:0;height:29px;display:flex;align-items:center;gap:6px;padding:0 10px;color:#747d85;font:10px var(--font-mono)}.editing-clip-meta svg{flex:none}.editing-clip-filmstrip{pointer-events:none;position:absolute;left:5px;right:5px;top:29px;bottom:5px;display:flex;overflow:hidden;border-radius:var(--radius-card);background:#444844}.editing-clip-frame{position:relative;width:86px;height:100%;flex:none;overflow:hidden;border-right:2px solid var(--line-soft)}.editing-track-empty{display:flex;align-items:center;color:var(--text-muted);font-size:var(--font-size-small)}.editing-playhead-lane{position:absolute;top:0;bottom:0;left:calc(var(--timeline-label) + 11px);right:0;pointer-events:none}.editing-playhead{position:absolute;top:0;bottom:0;width:0;z-index:5}.editing-playhead-line{position:absolute;top:19px;bottom:0;left:0;border-left:1.5px solid var(--brand);box-shadow:0 0 6px color-mix(in srgb,var(--chart-3) 60%,transparent)}.editing-playhead-pin{position:absolute;top:1px;left:-7px;width:14px;height:19px;border-radius:var(--radius-xs) var(--radius-xs) var(--radius-item) var(--radius-item);background:#888f96}.editing-playhead-grip{position:absolute;top:58px;left:-12px;width:25px;height:36px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:var(--radius-item);background:linear-gradient(180deg,var(--chart-2),var(--chart-3));box-shadow:0 2px 5px #18181b38;color:#fff;font-size:var(--font-size-title);line-height:1;cursor:ew-resize;pointer-events:auto;touch-action:none}.editing-playhead-grip:hover{background:#6e7981}.editing-playhead-grip:disabled{opacity:.55;cursor:default}.editing-shell button:focus-visible,.editing-shell a:focus-visible,.editing-shell input:focus-visible{outline:none;box-shadow:var(--focus)}@media(max-width:1180px){.editing-body{grid-template-columns:218px minmax(0,1fr)}.editing-media-thumb{width:56px;height:48px}}@media(max-width:920px){.editing-body{grid-template-columns:190px minmax(0,1fr)}.editing-project-name{display:none}}@media(max-height:740px){.editing-timeline{height:224px}.editing-ruler{height:35px}.editing-track-row{min-height:126px}.editing-clip{height:104px;border-radius:var(--radius-card)}.editing-clip-filmstrip{border-radius:var(--radius-item)}.editing-playhead-grip{top:52px}.editing-panel-heading{padding-top:15px}.editing-viewer-stage{padding:10px 4px 2px}}.editing-main{height:100%}.editing-frame canvas{width:100%;height:100%;display:block;object-fit:contain}.editing-media-thumb img,.editing-clip-frame img{width:100%;height:100%;object-fit:cover}.editing-clip-select{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;border:0;background:transparent;cursor:grab}.editing-trim{position:absolute;top:29px;bottom:5px;z-index:2;width:min(18px,50%);padding:0;border:0;color:var(--primary-foreground);background:color-mix(in srgb,var(--primary) 55%,transparent);display:grid;place-items:center;cursor:ew-resize;touch-action:none}.editing-trim--in{left:0}.editing-trim--out{right:0}.editing-trim span{width:2px;height:20px;background:currentColor}.editing-clip-controls{position:absolute;bottom:0;right:22px;display:flex;align-items:center;gap:8px;padding:0;min-height:22px;font-size:var(--font-size-small)}.editing-save-state{font-size:var(--font-size-small);color:var(--text-secondary)}.editing-errors{padding:8px 22px;background:var(--surface);font-size:var(--font-size-small)}.editing-media-retry{pointer-events:auto;position:absolute;bottom:0;right:0;background:var(--surface);font-size:var(--font-size-tag);border:0}@media(max-width:600px){.editing-main{overflow-y:auto}.editing-errors{flex:none}.editing-topbar{flex-wrap:wrap;min-height:92px;height:auto;padding:8px 12px;gap:8px}.editing-header-actions{width:100%;justify-content:space-between}.editing-body{grid-template-columns:minmax(0,1fr);grid-template-rows:max-content minmax(220px,1fr);flex:1 0 auto}.editing-media-panel{overflow-y:visible}.editing-panel-heading{padding:10px 12px 0}.editing-media-list{display:flex;flex:none;overflow-x:auto}.editing-media-item{min-width:232px;flex:none}.editing-back-link{margin:0 12px 8px}.editing-viewer{min-height:220px;padding:10px 12px}.editing-viewer-stage{padding:8px 0;min-height:138px}.editing-frame{max-height:180px;width:min(100%,320px)}.editing-frame.portrait{width:90px}.editing-timeline{--timeline-label: 40px;height:auto;min-height:282px}.editing-clip-controls{position:static;min-height:36px;padding:4px 10px}.editing-timeline-header{padding:8px 10px;min-height:48px;flex-wrap:wrap;gap:8px}.editing-timeline-tools{flex-wrap:wrap;gap:5px}.editing-timeline-tools h2{margin-right:0}.editing-timeline-scroll{padding:0 12px}.editing-track-label,.editing-ruler-spacer{width:var(--timeline-label)}.editing-track-label span{display:none}.editing-clip{height:118px}.editing-track-row{min-height:140px}.editing-clip-controls{padding:4px 10px;gap:5px;flex-wrap:wrap}}.workspace:has(.editing-main) .workspace-main{min-height:100dvh;height:100dvh;margin:0;border-radius:0;box-shadow:none}.editing-topbar{height:var(--topbar);flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--surface)}.editing-topbar .topbar-left{display:flex;align-items:center;gap:16px}.episode-picker{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--text);font-size:var(--font-size-body);cursor:pointer}@media(max-width:600px){.editing-topbar{height:auto;min-height:92px;padding:8px 12px}.editing-topbar .topbar-left{gap:8px}}.editing-shell{line-height:1.5}.editing-play,.editing-playhead-grip,.editing-sound{padding:0}.editing-clip-select{color:inherit}.episode-picker{height:var(--control-compact);padding:0 10px;border-radius:var(--radius-control);font-weight:500}.episode-picker:hover{background:var(--surface-hover)}.episode-picker svg{color:var(--text-muted)}.editing-topbar{border-bottom:1px solid transparent}.editing-scale{margin-right:8px;font-size:var(--font-size-small);display:flex;align-items:center;gap:5px}.editing-scale .input{width:70px}.editing-clip-reverse{position:absolute;z-index:1;right:10px;bottom:11px;padding:4px 6px;border-radius:var(--radius-xs);background:#101b26b8;color:#fff;font-size:var(--font-size-tag);pointer-events:none}.episode-export-bar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:8px 24px;background:var(--surface);font-size:var(--font-size-small)}.episode-export-state{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.episode-export-pending{color:var(--text)}.episode-export-actions{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.episode-export-actions:empty{display:none}@media(max-width:600px){.editing-header-actions{flex-wrap:wrap;gap:8px}.episode-export-bar{padding:8px 12px}.episode-export-actions{justify-content:space-between}}.editing-media-visual{display:block;width:100%;height:100%}.editing-media-item[draggable=true]{cursor:grab}.editing-media-item[draggable=true]:active{cursor:grabbing}.editing-drop-lane{position:absolute;top:40px;bottom:0;left:0;right:0;z-index:7;pointer-events:none}.editing-drop-marker{position:absolute;top:0;bottom:0;width:2px;background:var(--brand);box-shadow:0 0 6px color-mix(in srgb,var(--chart-3) 60%,transparent)}.editing-drop-marker:before{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:2px;background:var(--brand);transform:rotate(45deg)}.review-loading-shell .review-body{grid-template-columns:minmax(0,1fr) 360px}.review-loading-shell[data-stage=review] .review-body{grid-template-columns:minmax(0,1fr) 336px}.review-loading-placeholder{display:block;width:120px;max-width:100%;height:14px;flex:none;border-radius:var(--radius-xs);background:var(--surface-hover);animation:review-loading-pulse 1.8s ease-in-out infinite}.review-loading-version{width:170px;height:27px;border-radius:var(--radius-control)}.review-loading-screen{position:relative;width:100%;height:100%;min-height:120px;display:grid;place-items:center}.review-loading-screen .review-loading-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:var(--radius-card);background:var(--surface-subtle)}.review-loading-indicator{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;color:var(--text-secondary);font-size:var(--font-size-small);text-align:center}.review-loading-indicator>svg{color:var(--text-muted)}.review-loading-controls{color:var(--text-muted);opacity:.55}.review-loading-controls .review-transport-group{gap:16px}.review-loading-controls .review-player-extras{gap:12px}.review-loading-controls .review-player-extras .review-loading-placeholder{width:60px;height:4px}.review-loading-save{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-control);background:var(--surface);color:var(--text-muted);font-size:var(--font-size-small);opacity:.5}.review-loading-list{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:13px 16px 22px}.review-loading-card{display:flex;align-items:center;gap:12px;min-height:74px;padding:13px 12px;border-radius:var(--radius-card);background:var(--surface)}.review-loading-card>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.review-loading-card .review-loading-thumbnail{width:32px;height:32px;border-radius:var(--radius-item)}.review-loading-card .review-loading-line{width:80%;height:10px}.review-loading-action{width:100%;height:34px;margin-top:16px;border-radius:var(--radius-control)}.review-loading-shell.failed .review-loading-placeholder{animation:none}@keyframes review-loading-pulse{50%{opacity:.45}}@media(max-width:1100px){.review-loading-shell .review-body,.review-loading-shell[data-stage=review] .review-body{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.review-loading-controls .review-transport-group,.review-loading-controls .review-player-extras{gap:8px}.review-loading-controls .review-player-extras .review-loading-placeholder{display:none}}@media(prefers-reduced-motion:reduce){.review-loading-placeholder,.review-loading-indicator .spin{animation:none}}body:has(.review-shell){min-width:0}.review-shell{background:var(--surface)}.review-main{height:100%;flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace:has(.review-main) .workspace-main{min-height:100dvh;height:100dvh;margin:0;border-radius:0;box-shadow:none}.review-load-state{flex:1;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:32px;color:var(--text-secondary);font-size:var(--font-size-small)}.review-topbar{height:var(--topbar);flex:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px;border-bottom:1px solid transparent;background:var(--surface);z-index:20}.review-header-left,.review-header-right{min-width:0;display:flex;align-items:center;gap:12px}.review-header-left{overflow:hidden}.review-header-left>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-small);font-weight:600}.review-page-name{flex:none;font-size:var(--font-size-large);font-weight:600}.review-header-divider{flex:none;width:1px;height:18px;background:var(--line)}.review-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:var(--font-size-small)}.review-header-slash{color:var(--text-muted);font-size:var(--font-size-small)}.review-header-right{flex:none}.review-header-right .button svg{width:16px;height:16px;flex:none}.review-panel-tools{display:flex;align-items:center;gap:8px}.review-comments-toggle{display:none;align-items:center;gap:5px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface);color:var(--text);cursor:pointer}.review-comments-toggle span{font-size:var(--font-size-small);font-weight:600}.review-steps{height:74px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;flex:none;padding:10px 17px;border-bottom:1px solid transparent;background:var(--surface)}.review-step{min-width:0;display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid transparent;border-radius:var(--radius-card)}.review-step.active{border-color:transparent;background:var(--selected-surface);box-shadow:none}.review-step.pending{background:var(--surface-subtle);color:var(--text-muted)}.review-step.available{width:100%;background:var(--surface);color:var(--text-secondary);text-align:left;cursor:pointer}.review-step.available:hover{border-color:transparent;background:var(--surface-hover)}.review-step.available:focus-visible{outline:none;box-shadow:var(--focus)}.review-step-number{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:var(--radius-item);background:var(--foreground);color:var(--background);font:700 11px var(--font-mono)}.review-step.pending .review-step-number{background:var(--surface);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--line)}.review-step.available .review-step-number{background:var(--surface);color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--line)}.review-step-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.review-step-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--font-size-small);line-height:16px;font-weight:600}.review-step.pending .review-step-copy strong{color:var(--text-muted)}.review-step-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-tag);line-height:14px}.review-step-pending{margin-left:auto;flex:none;color:var(--text-muted);font-size:var(--font-size-tag)}.review-theater{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;background:var(--surface);color:var(--text)}.review-screen-area{box-sizing:border-box;width:100%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:26px 32px;background:var(--surface);container-type:size}.review-film{position:relative;height:100%;max-width:100%;max-height:100%;overflow:hidden;background:#25292b;box-shadow:0 8px 30px #00000016}.review-film video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:contain;background:#090a0c}.review-center-play{position:absolute;left:50%;top:50%;z-index:2;width:66px;height:66px;padding:0;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid #ffffff38;border-radius:50%;background:#0b0c0cbf;color:#fff;box-shadow:0 8px 25px #0006;cursor:pointer;transition:background var(--duration-feedback),transform var(--duration-feedback)}.review-center-play:hover{background:#24272be6;transform:translate(-50%,-50%) scale(1.04)}.review-center-play svg{margin-left:3px}.review-screen-state{display:flex;flex-direction:column;align-items:center;gap:9px;max-width:300px;color:var(--text);text-align:center}.review-screen-state>svg{margin-bottom:10px;color:var(--text-muted)}.review-screen-state h2{margin:0;font-size:var(--font-size-heading);font-weight:600}.review-screen-state p{margin:0 0 13px;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.6}.review-player-bar{box-sizing:border-box;width:100%;height:86px;flex:none;padding:0 24px 8px;border-top:1px solid transparent;background:var(--surface)}.review-theater:fullscreen{background:#090a0c}.review-theater:fullscreen .review-screen-area{background:#090a0c}.review-theater:fullscreen .review-player-bar{border-top-color:#ffffff12;background:#101114}.review-seek-wrap{position:relative;height:25px;margin:0 1px}.review-seek-rail{position:absolute;left:0;right:0;top:50%;height:3px;transform:translateY(-50%);border-radius:var(--radius-pill);background:var(--line-strong);pointer-events:none;transition:height var(--duration-feedback) var(--ease)}.review-seek-rail>span{height:100%;display:block;border-radius:inherit;background:var(--gradient-accent)}.review-seek-wrap .review-seek-input[type=range]{position:absolute;z-index:3;left:0;top:0;width:100%;height:25px;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:ew-resize}.review-seek-input::-webkit-slider-runnable-track{height:3px;background:transparent}.review-seek-input::-moz-range-track{height:3px;background:transparent}.review-seek-input::-webkit-slider-thumb{width:0;height:0;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;box-shadow:none}.review-seek-input::-moz-range-thumb{width:0;height:0;padding:0;border:0;background:transparent;box-shadow:none}.review-seek-wrap .review-seek-input[type=range]:disabled{opacity:.45;cursor:default}.review-theater .review-seek-input:focus-visible{outline:none}.review-seek-handle{position:absolute;z-index:5;left:var(--seek-position);top:50%;width:8px;height:16px;border-radius:4px;background:var(--seek-handle, var(--foreground));box-shadow:0 1px 4px #0003;transform:translate(-50%,-50%);pointer-events:none;transition:transform var(--duration-feedback) var(--ease-spring),background var(--duration-feedback) var(--ease),box-shadow var(--duration-feedback) var(--ease)}.review-seek-handle:after{content:"";position:absolute;left:3px;top:5px;width:2px;height:6px;border-radius:1px;background:var(--seek-grip, var(--background))}.review-seek-wrap:has(.review-seek-input:hover:not(:disabled)) .review-seek-rail,.review-seek-wrap:has(.review-seek-input:focus-visible) .review-seek-rail{height:5px}.review-seek-wrap:has(.review-seek-input:hover:not(:disabled)) .review-seek-handle,.review-seek-wrap:has(.review-seek-input:focus-visible) .review-seek-handle{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 0 3px var(--brand-soft),0 2px 8px #0003}.review-seek-wrap:has(.review-seek-input:active:not(:disabled)) .review-seek-handle{transform:translate(-50%,-50%) scale(1.1,.95);background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.review-seek-wrap:has(.review-seek-input:active:not(:disabled)) .review-seek-handle:after{background:#fff}.review-seek-hint{position:absolute;z-index:6;left:clamp(48px,var(--seek-position),calc(100% - 48px));bottom:calc(100% + 4px);padding:5px 8px;border-radius:var(--radius-item);background:var(--seek-handle, var(--foreground));color:var(--seek-grip, var(--background));font:10px var(--font-mono);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,4px) scale(.96);transition:opacity var(--duration-feedback) var(--ease),transform var(--duration-feedback) var(--ease-spring)}.review-seek-hint:before{content:attr(data-time)}.review-seek-wrap:has(.review-seek-input:active:not(:disabled)) .review-seek-hint,.review-seek-wrap:has(.review-seek-input:focus-visible) .review-seek-hint{opacity:1;transform:translate(-50%) scale(1)}.review-seek-wrap:has(.review-seek-input:disabled) .review-seek-handle{opacity:.35}@media(prefers-reduced-motion:reduce){.review-seek-handle,.review-seek-rail,.review-seek-hint{transition:none}}.review-player-controls{height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px}.review-transport-group,.review-player-extras{display:flex;align-items:center;gap:4px}.review-player-controls button{width:30px;height:30px;display:grid;place-items:center;flex:none;padding:0;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text-secondary);cursor:pointer}.review-player-controls button:hover{background:var(--surface-hover);color:var(--text)}.review-player-controls button:disabled{opacity:.42;cursor:default}.review-player-controls .review-main-play{width:35px;height:35px;margin:0 2px;color:var(--text)}.review-main-play svg{margin-left:2px}.review-timecode{margin-left:11px;color:var(--text);font:11px var(--font-mono);white-space:nowrap}.review-timecode em{padding:0 6px;color:var(--text-muted);font-style:normal}.review-player-controls .review-speed{width:42px;font:11px var(--font-mono)}.review-volume{width:59px;height:16px;margin:0;border-radius:8px;accent-color:var(--foreground);cursor:pointer}.review-theater:fullscreen .review-seek-rail{background:#65676d}.review-theater:fullscreen .review-seek-rail>span{background:var(--gradient-accent)}.review-theater:fullscreen .review-seek-wrap{--seek-handle: #f3f4f6;--seek-grip: #101114}.review-theater:fullscreen .review-player-controls button{color:#d8d9dd}.review-theater:fullscreen .review-player-controls button:hover{background:#ffffff17;color:#fff}.review-theater:fullscreen .review-timecode{color:#f3f4f6}.review-theater:fullscreen .review-timecode em{color:#737780}.review-theater:fullscreen .review-volume{accent-color:#e8ecf2}.review-theater button:focus-visible,.review-theater input:focus-visible{outline:2px solid #e3e3e3;outline-offset:3px}.review-comments{min-width:0;min-height:0;display:flex;flex-direction:column;border-left:1px solid transparent;background:var(--surface-subtle);color:var(--text)}.review-comments-heading{height:64px;display:flex;justify-content:space-between;align-items:center;flex:none;padding:14px 20px;border-bottom:1px solid transparent}.review-comments-heading h2{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--font-size-heading);line-height:22px;font-weight:600}.review-comments-heading h2 span{min-width:20px;padding:2px 6px;border-radius:var(--radius-xs);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--font-size-tag);line-height:14px;text-align:center}.review-comments-close{display:none;width:28px;height:28px;padding:0;place-items:center;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text-secondary);cursor:pointer}.review-comments button:focus-visible,.review-topbar button:focus-visible,.review-topbar a:focus-visible{outline:none;box-shadow:var(--focus)}.review-panel-scrim{display:none}@media(max-width:1100px){.review-comments-toggle{display:inline-flex}.review-comments{position:absolute;right:0;top:0;bottom:0;z-index:52;width:min(360px,82vw);box-shadow:none;transform:translate(100%);pointer-events:none;transition:transform var(--duration-panel) var(--ease-out)}.review-comments.open{box-shadow:-12px 0 34px #0003;transform:translate(0);pointer-events:auto}.review-comments-close{display:grid}.review-panel-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;border:0;background:#0007;cursor:default}}@media(max-width:680px){.workspace:has(.review-main){grid-template-columns:48px minmax(0,1fr)}.workspace:has(.review-main) .workspace-sidebar{width:48px}.workspace:has(.review-main) .sidebar-brand{width:48px}.workspace:has(.review-main) .project-rail .sidebar-nav a,.workspace:has(.review-main) .project-rail .sidebar-account{width:33px;min-height:33px}.review-topbar{padding:0 9px}.review-header-left{gap:7px}.review-header-divider,.review-project-name,.review-header-slash{display:none}.review-page-name,.review-header-left>strong{font-size:var(--font-size-small)}.review-header-right{gap:5px}.review-header-right .button{width:31px;padding:0;font-size:0;line-height:0}.review-header-right .button svg{width:15px;margin:0}.review-steps{grid-template-columns:repeat(3,168px);height:69px;overflow-x:auto;padding:8px}.review-step{gap:8px;padding:0 9px}.review-step-number{width:25px;height:25px;font-size:var(--font-size-tag)}.review-step-pending{display:none}.review-screen-area{padding:12px}.review-film{max-height:100%}.review-player-bar{height:86px;padding:0 10px 6px}.review-timecode{margin-left:4px;font-size:var(--font-size-tag)}.review-timecode em{padding:0 2px}.review-player-controls button{width:25px}.review-player-controls .review-main-play{width:29px}.review-player-extras{gap:0}.review-volume{display:none}.review-player-controls .review-speed{width:36px;font-size:var(--font-size-tag)}.review-comments{left:0;right:0;top:auto;bottom:0;width:100%;height:min(74dvh,620px);border-left:0;border-top:1px solid transparent;border-radius:var(--radius-card) var(--radius-card) 0 0;transform:translateY(100%)}.review-comments.open{box-shadow:0 -12px 34px #0003;transform:translateY(0)}}@media(max-height:690px){.review-screen-area{padding-top:0;padding-bottom:8px}.review-comments-heading{height:60px}}.review-comments .button.button--secondary{background:var(--surface);box-shadow:var(--shadow-control)}.review-comments .button.button--secondary:hover:not(:disabled){background:var(--surface);box-shadow:var(--shadow-card)}.review-version-trigger{display:inline-flex;align-items:center;gap:7px;height:27px;max-width:220px;flex:none;overflow:hidden;padding:0 9px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface-hover);color:var(--text);font-size:var(--font-size-small);font-weight:600;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:background var(--duration-feedback) var(--ease)}.review-version-trigger:hover{background:var(--secondary-pressed)}.review-version-trigger svg{flex:none;color:var(--text-muted)}.review-body.export-body{grid-template-columns:minmax(0,1fr) 360px}.export-panel{overflow:hidden}.export-panel-toolbar{flex:none;padding:16px 16px 15px;border-bottom:1px solid transparent;background:var(--surface)}.export-panel-content{flex:1;min-height:0;overflow-y:auto;padding:13px 16px 22px}.export-panel-empty{margin:18px 4px 0;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.6}.export-summary{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px;color:var(--text-secondary);font-size:var(--font-size-small)}.export-summary strong{color:var(--text);font:600 11px var(--font-mono)}.export-episode-list{display:flex;flex-direction:column}.export-episode-block{display:contents}.export-episode{position:relative;width:100%;min-height:74px;display:flex;align-items:center;gap:11px;padding:13px 12px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:background var(--duration-feedback),border-color var(--duration-feedback)}.export-episode:hover{background:var(--surface-subtle);border-color:transparent}.export-episode.selected{border-color:var(--selected-line);background:var(--selected-surface)}.export-episode:focus-visible,.export-split-row button:focus-visible{outline:none;box-shadow:var(--focus)}.export-episode-index{width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid transparent;border-radius:var(--radius-item);background:var(--surface-subtle);color:var(--text-secondary);font:650 11px var(--font-mono)}.export-episode.selected .export-episode-index{border-color:transparent;background:var(--surface);color:var(--text)}.export-episode-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:6px}.export-episode-copy strong{font-size:var(--font-size-small);line-height:15px;font-weight:600}.export-episode-copy small{color:var(--text-secondary);font:10px var(--font-mono);white-space:nowrap}.export-episode-copy small span{padding:0 2px;color:var(--text-muted)}.export-episode-duration{align-self:flex-start;margin-top:4px;color:var(--text-secondary);font:10px var(--font-mono);white-space:nowrap}.export-episode-check{position:absolute;right:12px;bottom:13px;color:var(--success)}.export-split-row{position:relative;height:59px;display:flex;align-items:center;gap:7px;padding-left:34px;color:var(--text-secondary);font-size:var(--font-size-tag)}.export-split-row:before{position:absolute;left:26px;top:0;bottom:0;width:1px;background:var(--line);content:""}.export-split-icon{position:absolute;left:22px;top:25px;width:9px;height:9px;border:2px solid var(--surface);border-radius:2px;background:var(--foreground);box-shadow:0 0 0 1px var(--foreground);transform:rotate(45deg)}.export-split-label{flex:1;padding-left:7px;font-weight:600;white-space:nowrap}.export-split-row button{width:27px;height:27px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text-muted);cursor:pointer}.export-split-row .export-split-inspect{width:auto;min-width:98px;display:inline-flex;gap:5px;padding:0 7px;border:1px solid transparent;background:var(--surface);color:var(--text-secondary);font:10px var(--font-mono)}.export-split-row .export-split-inspect:hover{border-color:transparent}.export-split-row button:hover{background:var(--surface-hover);color:var(--text)}.export-split-row button:disabled{opacity:.45;cursor:default}.export-add-button{width:100%;justify-content:center}.export-panel .export-add-button:disabled{opacity:.52}.export-error{margin:8px 2px 0;color:var(--error);font-size:var(--font-size-small);line-height:1.5}.export-action-area{flex:none;padding:17px 19px 20px;border-top:1px solid transparent;background:var(--surface)}.export-job-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:var(--font-size-small)}.export-job-heading strong{font-weight:600}.export-job-heading span{color:var(--text-secondary);font:10px var(--font-mono)}.export-progress{width:100%;height:5px;overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-subtle)}.export-progress>span{height:100%;display:block;border-radius:inherit;background:var(--gradient-accent);transition:width var(--duration-view) var(--ease-out)}.export-progress.complete>span{background:var(--success)}.export-progress.failed>span{background:var(--error)}.export-job-status{margin:9px 0 0;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.5}.export-job-status.failed{color:var(--error)}.export-job-status.complete{color:var(--success)}.export-job-detail{margin:5px 0 0;color:var(--text-muted);font-size:var(--font-size-tag);line-height:1.5}.export-submit{width:100%;justify-content:center;margin-top:17px}.export-submit.export-repeat{margin-top:8px}.export-confirm-copy{margin:0;color:var(--text-secondary);font-size:var(--font-size-body);line-height:1.6}.export-timeline-marker{position:absolute;z-index:4;top:4px;width:16px;height:20px;display:grid;place-items:center;margin-left:-8px;padding:0;border:0;background:transparent;cursor:pointer}.export-timeline-marker>span{width:8px;height:11px;display:block;border:1px solid var(--surface);border-radius:2px;background:var(--foreground);box-shadow:0 0 0 1px var(--foreground)}.export-timeline-marker:hover>span{background:var(--surface)}.export-theater:fullscreen .export-timeline-marker>span{border-color:#101114;background:var(--surface-hover);box-shadow:0 0 0 1px #f4f4f5}.modal-dialog.export-boundary-dialog{width:min(760px,calc(100vw - 48px));max-width:min(760px,calc(100vw - 48px))}.modal-body.export-boundary-body{padding-bottom:18px}.export-boundary-frames{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.export-boundary-card{min-width:0;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface)}.export-boundary-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;padding:0 12px}.export-boundary-card-heading strong{font-size:var(--font-size-small);font-weight:600}.export-boundary-card-heading span{color:var(--text-secondary);font:11px var(--font-mono);white-space:nowrap}.export-boundary-media{height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#101114}.export-boundary-image{position:relative;height:100%;max-width:100%;overflow:hidden}.export-boundary-image.portrait{aspect-ratio:9 / 16}.export-boundary-image.landscape{width:min(100%,470px);height:auto;aspect-ratio:16 / 9}.export-boundary-image img{width:100%;height:100%;display:block;object-fit:contain;background:#101114}.export-boundary-missing{margin:0;color:#d8d9dd;font-size:var(--font-size-small)}.export-boundary-adjust{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-top:18px}.export-boundary-input-wrap{display:flex;flex-direction:column;gap:6px;width:172px}.export-boundary-input-wrap label{color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600;text-align:center}.export-boundary-input-wrap input{font:12px var(--font-mono);text-align:center}.export-boundary-help{margin:8px 0 0;color:var(--text-muted);font-size:var(--font-size-small);text-align:center}.export-boundary-help.invalid{color:var(--error)}@media(max-width:1100px){.review-body.export-body{grid-template-columns:minmax(0,1fr)}.review-comments.export-panel{position:absolute;right:0;top:0;bottom:0;z-index:52;width:min(380px,82vw);transform:translate(100%);pointer-events:none;transition:transform var(--duration-panel) var(--ease-out)}.review-comments.export-panel.open{box-shadow:-12px 0 34px #0003;transform:translate(0);pointer-events:auto}}@media(max-width:680px){.review-comments.export-panel{left:0;right:0;top:auto;bottom:0;width:100%;height:min(79dvh,720px);border-radius:var(--radius-card) var(--radius-card) 0 0;transform:translateY(100%)}.review-comments.export-panel.open{box-shadow:0 -12px 34px #0003;transform:translateY(0)}.export-boundary-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow-y:auto}.export-boundary-dialog .modal-heading{padding:18px 16px 13px}.export-boundary-dialog .modal-body{padding:0 16px 16px}.export-boundary-frames{gap:8px}.export-boundary-card-heading{min-height:49px;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:0 8px}.export-boundary-card-heading strong,.export-boundary-card-heading span{font-size:var(--font-size-tag)}.export-boundary-media{height:min(270px,35dvh)}.export-boundary-adjust{gap:6px}.export-boundary-adjust .button{padding-inline:8px;font-size:var(--font-size-small)}.export-boundary-input-wrap{width:140px}}@media(prefers-reduced-motion:reduce){.review-comments,.review-center-play,.export-panel,.export-progress>span{transition:none}}.review-main{line-height:1.5}.review-body{position:relative;flex:1;min-width:0;min-height:0;display:grid;overflow:hidden}.review-film.portrait{aspect-ratio:9 / 16;width:min(100%,56.25cqh);height:auto}.review-film.landscape{aspect-ratio:16 / 9;width:min(100%,calc(100cqh * 16 / 9));height:auto}.review-body.preview-body{grid-template-columns:minmax(0,1fr) 360px}.preview-theater-heading{box-sizing:border-box;width:100%;height:57px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:0 24px;border-bottom:1px solid transparent}.preview-theater-heading>div{flex:1 1 auto;display:flex;align-items:baseline;gap:13px}.preview-theater-heading strong{flex:none;min-width:max-content;font-size:var(--font-size-large);font-weight:600}.preview-theater-heading span{overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font:11px var(--font-mono);white-space:nowrap}.preview-theater-heading .preview-theater-film{width:0;flex:1 1 auto;min-width:0}.preview-theater-status{display:inline-flex;align-items:center;gap:5px;flex:0 1 auto;max-width:calc(100% - 76px);font-size:11px}.preview-theater-status.confirmed{color:var(--success)}.preview-theater-status>svg,.preview-theater-status>.preview-theater-status-label{flex:none}.preview-theater-status>.preview-theater-status-label{color:inherit}.preview-theater-confirmer{min-width:0;display:inline-flex;align-items:center;color:var(--text-muted);font-style:normal}.preview-theater-confirmer-name{min-width:0}.preview-theater-heading .preview-theater-confirmer-time{flex:none;white-space:pre}.preview-theater .review-screen-area{padding:18px 24px}.preview-theater .review-film{box-shadow:0 8px 30px #00000015}.preview-panel{overflow:hidden}.preview-list{flex:1;min-height:0;overflow-y:auto;padding:9px}.preview-list-empty{margin:18px 9px;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.6}.preview-episode{position:relative;width:100%;min-height:93px;display:flex;align-items:center;gap:3px;margin:0 0 4px;padding:0 9px 0 0;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);color:var(--text)}.preview-episode:hover{background:var(--surface-subtle)}.preview-episode.selected{border-color:var(--selected-line);background:var(--selected-surface)}.preview-episode-select{min-width:0;min-height:91px;flex:1;display:flex;align-items:center;gap:13px;padding:10px 0 10px 11px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.preview-episode-select:focus-visible,.preview-episode-check:focus-visible,.preview-issue-actions button:focus-visible,.preview-choose-trigger:focus-visible{outline:none;box-shadow:var(--focus)}.preview-episode-thumb{position:relative;width:46px;height:64px;display:grid;place-items:center;flex:none;overflow:hidden;border-radius:var(--radius-xs);background:var(--surface-subtle);color:var(--text-muted)}.preview-episode-thumb.landscape{width:64px;height:46px}.preview-episode-copy{min-width:0;align-self:stretch;flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.preview-episode-copy strong{font-size:var(--font-size-small);line-height:16px;font-weight:600}.preview-episode-copy small{overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font:10px var(--font-mono);white-space:nowrap}.preview-episode-status{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:var(--font-size-tag);line-height:14px}.preview-episode-status.confirmed{color:var(--success)}.preview-episode-side{width:62px;height:70px;flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.preview-episode-duration{color:var(--text-secondary);font:10px var(--font-mono);white-space:nowrap}.preview-episode-check{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--radius-item);background:var(--surface-hover);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-feedback) var(--ease),color var(--duration-feedback) var(--ease)}.preview-episode-check:hover{background:var(--secondary-pressed);color:var(--text)}.preview-episode-check.confirmed{border-color:transparent;background:var(--success-soft);color:var(--success)}.preview-episode-check:disabled{opacity:.4;cursor:default}.preview-action-area{flex:none;display:flex;flex-direction:column;gap:9px;padding:17px 18px 18px;border-top:1px solid transparent;background:var(--surface)}.preview-choose-trigger{display:inline-flex;align-items:center;gap:6px;width:30px;height:30px;min-width:0;padding:0;justify-content:center;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface-hover);color:var(--text);font-size:var(--font-size-small);font-weight:600;cursor:pointer;transition:background var(--duration-feedback) var(--ease)}.preview-choose-trigger:hover{background:var(--secondary-pressed)}.preview-choose-trigger svg{flex:none;color:var(--text-muted)}.preview-choose-trigger:disabled{opacity:.5;cursor:default}.preview-action-error{margin:0;color:var(--error);font-size:var(--font-size-small);line-height:1.55}.preview-progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:1px;font-size:var(--font-size-small)}.preview-progress-label strong{font-weight:600}.preview-progress-label span{color:var(--text-secondary);font:10px var(--font-mono)}.preview-progress{height:5px;overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-subtle)}.preview-progress>span{height:100%;display:block;border-radius:inherit;background:var(--gradient-accent);transition:width var(--duration-view) var(--ease-out)}.preview-progress.complete>span{background:var(--success)}.preview-issue-actions{display:flex;justify-content:space-between;gap:8px;margin-top:2px}.preview-issue-actions button{min-width:0;padding:6px 0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text-secondary);font-size:var(--font-size-small);cursor:pointer}.preview-issue-actions button:hover{color:var(--text);text-decoration:underline}.preview-empty{max-width:340px}@media(max-width:1100px){.review-body.preview-body{grid-template-columns:minmax(0,1fr)}.review-comments.preview-panel{position:absolute;right:0;top:0;bottom:0;z-index:52;width:min(380px,82vw);transform:translate(100%);pointer-events:none;transition:transform var(--duration-panel) var(--ease-out)}.review-comments.preview-panel.open{box-shadow:-12px 0 34px #0003;transform:translate(0);pointer-events:auto}}@media(max-width:680px){.preview-theater-heading{height:48px;padding:0 13px}.preview-theater-heading>div{gap:8px}.preview-theater-heading strong{font-size:var(--font-size-small)}.preview-theater-heading span,.preview-theater-status{font-size:9px}.preview-theater .review-screen-area{padding:12px}.review-comments.preview-panel{left:0;right:0;top:auto;bottom:0;width:100%;height:min(80dvh,720px);border-radius:var(--radius-card) var(--radius-card) 0 0;transform:translateY(100%)}.review-comments.preview-panel.open{box-shadow:0 -12px 34px #0003;transform:translateY(0)}.preview-episode-check{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.review-comments,.review-center-play,.preview-panel,.preview-choose-trigger,.preview-progress>span{transition:none}}.review-body{position:relative;flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 336px;overflow:hidden}.review-marker{position:absolute;z-index:4;top:8px;width:8px;height:11px;margin-left:-4px;padding:0;border:1px solid var(--surface);border-radius:var(--radius-xs);background:var(--brand);box-shadow:0 0 0 1px var(--backdrop-line);cursor:pointer}.review-marker:hover,.review-marker.selected{background:var(--surface);box-shadow:var(--shadow-selected)}.review-heading-actions{display:flex;align-items:center;gap:6px}.review-filter-trigger{height:29px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);font-size:var(--font-size-small);cursor:pointer}.review-filter-trigger:hover{border-color:transparent;color:var(--text)}.review-comments-list{flex:1;min-height:0;overflow-y:auto;padding:7px 9px 16px}.review-comments-error,.review-comments-hint,.review-draft-notice{margin:4px 4px 8px;padding:9px 10px;border-radius:var(--radius-control);font-size:var(--font-size-small);line-height:1.55}.review-comments-error{background:var(--error-soft);color:var(--error)}.review-comments-hint{background:var(--surface);color:var(--text-secondary)}.review-draft-notice{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface);color:var(--text-secondary)}.review-draft-notice p{margin:0}.review-draft-notice button{flex:none;padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:var(--font-size-tag);text-decoration:underline;cursor:pointer}.review-comment{margin-bottom:3px;padding:13px 11px 14px;border-radius:var(--radius-card);cursor:pointer;transition:background var(--duration-feedback)}.review-comment:hover{background:var(--surface-subtle)}.review-comment.selected{background:var(--selected-surface)}.review-comment:focus-visible{outline:none;box-shadow:var(--focus)}.review-comment-head{display:flex;align-items:center;gap:9px}.review-avatar{width:29px;height:29px;display:grid;place-items:center;flex:none;border-radius:var(--radius-item);background:var(--surface);box-shadow:var(--shadow-control);color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600}.review-comment.selected .review-avatar{background:var(--surface)}.review-comment-head>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.review-comment-head strong{font-size:var(--font-size-small);font-weight:600}.review-comment-head small{color:var(--text-muted);font-size:var(--font-size-tag)}.review-resolve{height:25px;display:inline-flex;align-items:center;gap:4px;flex:none;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface);color:var(--text-muted);font-size:var(--font-size-tag);cursor:pointer}.review-resolve:hover{border-color:transparent;color:var(--text)}.review-resolve.resolved{border-color:transparent;background:var(--success-soft);color:var(--success)}.review-resolve.resolved:hover{border-color:var(--success)}.review-resolve:disabled{opacity:.6;cursor:default}.review-comment.resolved>p{color:var(--text-secondary)}.review-comment-time{display:inline-flex;align-items:center;gap:5px;height:23px;margin:10px 0 4px 37px;padding:0 6px;border:1px solid transparent;border-radius:var(--radius-xs);background:var(--surface);color:var(--text-secondary);font:10px var(--font-mono);cursor:pointer}.review-comment-time:hover{color:var(--text);border-color:transparent}.review-comment>p{margin:0 0 0 37px;color:var(--text);font-size:var(--font-size-small);line-height:1.65}.review-replies{margin:12px 0 0 37px;padding-left:18px}.review-replies:empty{display:none}.review-reply{position:relative;padding:3px 0 10px}.review-reply:before{position:absolute;left:-18px;top:-9px;width:13px;height:24px;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);border-bottom-left-radius:var(--radius-item);content:""}.review-reply-head{display:flex;align-items:center;gap:6px}.review-reply-avatar{width:20px;height:20px;display:grid;place-items:center;flex:none;border-radius:var(--radius-item);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--font-size-tag);font-weight:600}.review-reply-head strong{font-size:var(--font-size-small);font-weight:600}.review-reply-head small{color:var(--text-muted);font-size:var(--font-size-tag)}.review-reply>p{margin:4px 0 0 26px;color:var(--text);font-size:var(--font-size-small);line-height:1.6}.review-reply-form{padding:2px 0 8px;cursor:default}.review-reply-form label{display:block;margin-bottom:6px;font-size:var(--font-size-small);font-weight:600}.review-reply-form textarea{display:block;min-height:58px;max-height:120px;resize:vertical;font-size:var(--font-size-small);line-height:1.6}.review-reply-form-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:7px}.review-comments-empty{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;text-align:center}.review-comments-empty svg{margin-bottom:6px;color:var(--text-muted)}.review-comments-empty strong{font-size:var(--font-size-body)}.review-comments-empty p{margin:0;color:var(--text-muted);font-size:var(--font-size-small);line-height:1.6}.review-composer{flex:none;padding:15px 18px 17px;border-top:1px solid transparent;background:var(--surface)}.review-composer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.review-composer-heading label{font-size:var(--font-size-small);font-weight:600}.review-composer-heading span{color:var(--text-muted);font-size:var(--font-size-small)}.review-capture{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:21px;margin-bottom:7px;color:var(--text-muted);font-size:var(--font-size-small)}.review-capture strong{color:var(--text);font:11px var(--font-mono)}.review-capture button{padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:var(--font-size-tag);text-decoration:underline;cursor:pointer}.review-composer textarea{display:block;min-height:76px;max-height:150px;resize:vertical;font-size:var(--font-size-small);line-height:1.6}.review-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.review-submit-error{margin:6px 0 0;color:var(--error);font-size:var(--font-size-small)}@media(max-width:1100px){.review-body{grid-template-columns:minmax(0,1fr)}}@media(max-height:690px){.review-composer{padding-top:9px;padding-bottom:9px}.review-composer textarea{min-height:60px}}@media(prefers-reduced-motion:reduce){.review-comments,.review-center-play{transition:none}}@property --shimmer-progress{syntax: "<percentage>"; inherits: true; initial-value: -45%;}.generation-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;border-radius:inherit;background:#f5f6f8f0;pointer-events:none;animation:generation-shimmer-sweep 3.2s linear infinite}.generation-shimmer-wave{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 56% 55% at var(--shimmer-progress) 3%,color-mix(in srgb,var(--chart-3) 45%,transparent) 0%,color-mix(in srgb,var(--chart-2) 28%,transparent) 38%,transparent 82%),radial-gradient(ellipse 43% 64% at calc(var(--shimmer-progress) - 13%) 88%,color-mix(in srgb,var(--chart-4) 40%,transparent) 0%,transparent 82%),radial-gradient(ellipse 27% 42% at calc(var(--shimmer-progress) + 9%) 48%,#ffffffd9 0%,transparent 90%);filter:blur(11px)}.generation-shimmer-edge{position:absolute;top:0;right:0;bottom:0;left:0;padding:1px;border-radius:inherit;background:radial-gradient(ellipse 55% 80% at var(--shimmer-progress) 3%,var(--chart-3),transparent 80%),radial-gradient(ellipse 45% 85% at calc(var(--shimmer-progress) - 13%) 96%,var(--chart-1),transparent 80%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}@keyframes generation-shimmer-sweep{0%{--shimmer-progress: -45%}to{--shimmer-progress: 145%}}@media(prefers-reduced-motion:reduce){.generation-shimmer{animation:none;--shimmer-progress: 25%}}.node-task-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.node-task-status .inline-error{margin:0}body:has(.production-page){min-width:760px}.workspace:has(.production-page) .workspace-main{min-height:100dvh;height:100dvh;margin:0;border-radius:0;box-shadow:none}.production-page{height:100dvh;display:flex;flex-direction:column;min-width:0;background:var(--surface)}.production-topbar{height:var(--topbar);flex:none;display:flex;align-items:center;padding:0 24px;background:var(--surface)}.production-topbar .topbar-left{display:flex;align-items:center;gap:16px}.production-episode{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text);font-size:13px;font-weight:500;cursor:pointer}.production-episode:hover{background:var(--surface-hover)}.production-episode svg{color:var(--text-muted)}.production-readonly{color:var(--text-muted);font-size:12px}.production-page .shot-browser{flex:none;border-bottom:1px solid transparent;background:var(--surface)}.production-page .scene-bar{height:54px;display:flex;align-items:center;gap:10px;padding:0 24px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.production-page .scene-tile{display:inline-flex;align-items:center;flex:none;height:36px;padding:3px;border:1px solid transparent;border-radius:var(--radius-item);background:var(--surface)}.production-page .scene-tile.selected{background:var(--selected-surface);box-shadow:0 2px 8px #18181b0a}.production-page .scene-select{display:inline-flex;align-items:center;gap:7px;height:28px;max-width:230px;padding:0 8px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--foreground);font-size:12px;font-weight:600;white-space:nowrap}.production-page .scene-select>span:last-child{overflow:hidden;text-overflow:ellipsis}.production-page .scene-index{color:var(--text-muted);font-family:var(--font-mono);font-size:10px}.production-page .scene-tile>a{display:grid;place-items:center;width:27px;height:27px;border-radius:var(--radius-item);color:var(--text-secondary)}.production-page .scene-tile>a:hover{background:var(--surface-hover);color:var(--foreground)}.production-page .scene-tile>a:focus-visible,.production-page button:not(.button):focus-visible{outline:none;box-shadow:var(--focus)}.production-page .scene-tile .icon-button{width:27px;height:27px;color:var(--text-secondary)}.production-page .scene-tile .icon-button svg{width:14px;height:14px}.production-page .scene-tile .icon-button:hover{background:var(--surface-hover);color:var(--text)}.production-page .shot-strip{display:flex;gap:12px;padding:14px 24px;overflow-x:auto;min-height:100px;align-items:center}.production-page .shot-tile{position:relative;width:160px;min-height:76px;flex:none;padding:8px;border:1px solid transparent;border-radius:var(--radius-item);background:var(--surface-hover);box-shadow:0 2px 6px -4px #18181b20}.production-page .shot-tile.selected{background:var(--selected-surface);box-shadow:0 3px 8px -4px #18181b24}.production-page .shot-select{width:100%;min-height:58px;padding:18px 42px 18px 2px;margin:0;overflow-wrap:anywhere;line-height:20px;border:0;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;text-align:left}.production-page .shot-ratio{position:absolute;top:8px;right:8px;padding:1px 4px;font-size:10px;line-height:14px;pointer-events:none}.production-page .add-shot-tile{height:76px;width:40px;flex:none;display:grid;place-items:center;border:0;border-radius:var(--radius-item);background:var(--surface-hover);color:var(--text-muted)}.production-page .add-shot-tile:hover{background:var(--surface-subtle);color:var(--foreground)}.production-page .shot-workspace-bridge{height:30px;flex:none;position:relative;background:var(--surface)}.production-page .shot-workspace-marker{position:absolute;left:var(--shot-anchor-x);top:1px;transform:translate(-50%);display:grid;place-items:center;width:30px;height:27px;color:var(--foreground);transition:left var(--duration-panel) var(--ease)}.production-page .shot-workspace-marker svg{animation:shot-arrow-hop 1.8s var(--ease-out) infinite}@keyframes shot-arrow-hop{0%,56%,to{transform:translateY(0)}24%{transform:translateY(5px)}40%{transform:translateY(0)}}.production-page .production-empty-canvas{flex:1;min-height:0;display:grid;place-items:center;padding:32px;overflow:auto;background-color:var(--surface-canvas);background-image:radial-gradient(var(--canvas-dot) .75px,transparent .75px);background-size:24px 24px}.production-page .production-empty-card{width:min(100%,430px);padding:34px 36px;border-radius:var(--radius-card);background:var(--surface);box-shadow:0 12px 36px #1719230d,0 2px 8px #17192308}.production-page .production-empty-card>svg{color:var(--text-secondary);margin-bottom:20px}.production-page .production-empty-card h2{margin:0 0 10px;font-size:16px;font-weight:600}.production-page .production-empty-card p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.7}.production-page .production-empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.production-page .canvas-viewport{flex:1;min-height:0;position:relative;overflow:clip;cursor:grab;touch-action:none;background-color:var(--surface-canvas);background-image:radial-gradient(var(--canvas-dot) .75px,transparent .75px),radial-gradient(ellipse 55% 60% at 100% 0%,color-mix(in srgb,var(--chart-3) 9%,transparent),transparent 70%),radial-gradient(ellipse 50% 55% at 0% 100%,color-mix(in srgb,var(--chart-1) 8%,transparent),transparent 70%);background-size:24px 24px,100% 100%,100% 100%}.production-page .canvas-world{width:2200px;height:1200px;position:absolute;left:0;top:0;transform-origin:0 0}.production-page .canvas-viewport[data-selectable=true]{cursor:crosshair}.production-page .canvas-viewport[data-pan-ready=true]{cursor:grab}.production-page .canvas-selection-box{position:absolute;z-index:30;pointer-events:none;border:1px solid var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.production-page .node[data-selected=true]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;border-radius:inherit;outline:2px solid var(--brand)}.production-page .node{position:absolute;width:200px;background:var(--surface);border:1px solid transparent;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.production-page .node[data-open=true]{z-index:8;box-shadow:none}.production-page .node:where([data-open=true]) .production-node-media{box-shadow:var(--shadow-float)}.production-page .node:focus-visible{outline:none;box-shadow:var(--focus)}.production-page .canvas-connections{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:visible;pointer-events:none}.production-page .canvas-edge{fill:none;stroke:#a1a1aa;stroke-width:2;pointer-events:none}.production-page .canvas-edge.selected{stroke:var(--foreground);stroke-width:2.2}.production-page .canvas-edge-glint{fill:none;stroke:var(--chart-3);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:16 104;opacity:.8;filter:drop-shadow(0 0 3px var(--chart-1));pointer-events:none;animation:canvas-edge-glint 1.15s linear infinite}@keyframes canvas-edge-glint{to{stroke-dashoffset:-120}}.production-page .canvas-edge.pending{stroke:var(--primary);stroke-width:2;stroke-dasharray:6 5}.production-page .canvas-edge-hit{fill:none;stroke:transparent;stroke-width:20;pointer-events:stroke;cursor:pointer}.production-page .canvas-edge-action{position:absolute;z-index:7;display:flex;align-items:center;gap:4px;transform:translate(-50%,-50%);padding:3px 5px 3px 9px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-control);color:var(--text-secondary);white-space:nowrap;font-size:var(--font-size-tag)}.production-page .canvas-edge-action button{display:grid;place-items:center;width:21px;height:21px;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer}.production-page .canvas-edge-action button:hover{background:var(--surface-hover);color:var(--text)}.production-page .node-port{position:absolute;top:50%;z-index:7;display:grid;place-items:center;width:20px;height:20px;transform:translateY(-50%);padding:0;border:1px solid #a8b1bd;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-control);line-height:24px;cursor:crosshair;touch-action:none}.production-page .node-port.left{left:-10px}.production-page .node-port.right{right:-10px}.production-page .node-port span{width:7px;height:7px;border-radius:50%;background:#a8b1bd}.production-page .node-port.linked span,.production-page .node-port.pending span{background:var(--primary)}.production-page .node-port.pending,.production-page .node-port:hover{border-color:var(--primary);box-shadow:0 0 0 5px var(--ai-soft)}.production-page .node-port:disabled{cursor:default}.production-page .object-node .production-video-body{position:relative}.production-page .object-node .node-manager-link{position:absolute;top:8px;right:8px;z-index:5;display:grid;place-items:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:var(--radius-item);background:#ffffffd9;color:var(--text-secondary);box-shadow:0 1px 4px #18181b24;opacity:0;transition:opacity var(--duration-feedback),background var(--duration-feedback)}.production-page .object-node .node-manager-link:hover{color:var(--text);background:var(--surface-hover)}.production-page .object-node:hover .node-manager-link,.production-page .object-node[data-open=true] .node-manager-link,.production-page .object-node .node-manager-link:focus-visible{opacity:1}.production-page .object-node .node-manager-link:focus-visible{outline:none;box-shadow:var(--focus)}.production-page .node-details{visibility:hidden;opacity:0;pointer-events:none;transform:scale(var(--canvas-inverse-scale, 1));transition:opacity var(--duration-panel) var(--ease-out),translate var(--duration-panel) var(--ease-out),visibility var(--duration-panel)}.production-page .node[data-open=true] .node-details{visibility:visible;opacity:1;pointer-events:auto}.production-page .production-prompt-panel{max-height:var(--canvas-panel-height);overflow-y:auto}.production-page .production-prompt-panel>*{flex-shrink:0}.production-page .production-prompt-panel .node-generation-status,.production-page .production-prompt-panel>.production-prompt-actions{position:sticky;bottom:0;z-index:1;background:var(--surface)}.production-page .node-inspector{position:absolute;top:calc(100% + 7px);left:50%;translate:-50% -8px;width:540px;transform-origin:top center;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float);line-height:24px;white-space:normal}.production-page .node[data-open=true] .node-inspector{translate:-50% 0}.production-page .node-inspector-footer{padding-top:10px;border-top:1px solid transparent}.production-page .node-inspector label{color:var(--text-secondary);font-size:var(--font-size-small)}.production-page .node-inspector textarea{width:100%;height:132px;min-height:132px;max-height:132px;overflow-y:auto;resize:none;padding:2px;border:0;border-radius:0;background:transparent;color:var(--text);font-family:inherit;font-size:var(--font-size-body);line-height:1.6}.production-page .node-inspector textarea:focus-visible{outline:none;box-shadow:none}.production-prompt-save{align-self:flex-start;height:32px;padding:0 12px;border:0;border-radius:var(--radius-control);background:var(--primary);color:var(--primary-foreground);font-size:12px;font-weight:600}.production-prompt-save:disabled{opacity:.5}.production-page .node-header{display:flex;align-items:center;gap:7px;height:42px;padding:0 14px;background:var(--surface-subtle);border-radius:var(--radius-card) var(--radius-card) 0 0;font-size:var(--type-card-size);line-height:var(--type-card-line);font-weight:var(--type-card-weight);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.production-page .node-header svg{flex:none;color:var(--text-secondary)}.production-page .node-body{display:flex;flex-direction:column;gap:14px;padding:14px 16px 16px}.production-node-media{display:grid;place-items:center;width:100%;height:140px;padding:0;border:0;border-radius:var(--radius-item);background:var(--surface-canvas);color:var(--text-muted);font:inherit}.production-page .production-node-media:focus-visible{outline:none;box-shadow:var(--focus)}.production-node-media img,.production-node-media video{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.production-node-media audio{width:calc(100% - 12px)}.production-node-body p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.production-page .production-video-node,.production-page .production-video-node:hover{border:0;background:transparent;box-shadow:none}.production-video-heading{position:absolute;inset:auto 0 calc(100% + 8px);display:flex;align-items:center;gap:8px;min-height:24px;color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600;line-height:18px;cursor:grab;touch-action:none}.production-video-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-video-candidate{display:flex;align-items:center;gap:5px;flex:none;padding:4px 8px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-control);white-space:nowrap;font-size:var(--font-size-small);font-weight:600;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--duration-feedback) var(--ease)}.production-video-node:hover .production-video-candidate,.production-video-node:focus-within .production-video-candidate,.production-video-node[data-candidate=true] .production-video-candidate{opacity:1;pointer-events:auto}.production-video-node[data-candidate=true] .production-video-candidate{border-color:transparent;background:var(--foreground);color:var(--background)}.production-video-candidate:focus-visible{outline:none;box-shadow:var(--focus)}.production-video-node[data-candidate=true] .production-node-media{outline:2px solid var(--foreground);outline-offset:3px}.production-page .generation-submit{display:flex;align-items:center;justify-content:flex-end;margin-top:2px}.production-page .generation-submit .button{min-width:98px}.production-video-body,.production-video-node .production-node-media{width:100%;height:100%}.production-video-node .production-node-media{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);cursor:grab;touch-action:none}.production-video-node .production-node-media:active{cursor:grabbing}.production-video-node .production-node-media:hover{box-shadow:var(--shadow-float)}.production-page .object-node .production-node-media{height:auto;min-height:0;aspect-ratio:var(--card-aspect, 9 / 16);border-radius:var(--radius-item);box-shadow:var(--shadow-card)}.production-page .object-node.character .production-node-media{background:var(--surface-hover)}.production-page .object-node .production-node-media:focus-visible{outline:none;box-shadow:var(--focus)}.production-page .zoom-toolbar{position:absolute;left:24px;bottom:24px;z-index:3;display:flex;align-items:center;gap:1px;padding:4px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float)}.production-page .zoom-toolbar button{display:grid;place-items:center;height:32px;min-width:32px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text-secondary)}.production-page .zoom-toolbar button:hover{background:var(--surface-hover)}.production-page .zoom-toolbar .zoom-value{width:43px;font-size:12px}.production-zoom-divider{width:1px;height:16px;margin:0 4px;background:var(--border)}.production-save-status{position:absolute;bottom:24px;right:24px;padding:8px 12px;border-radius:var(--radius-item);background:var(--surface);font-size:12px}.production-canvas-error{position:absolute;right:24px;top:20px;max-width:360px}@media(max-height:720px){.production-page .shot-strip{min-height:90px;padding-block:9px}}@media(max-width:600px){.production-topbar,.production-page .scene-bar{padding-inline:10px}.production-page .scene-bar{height:52px}.production-page .shot-strip{padding-inline:10px}.production-page .production-empty-canvas{padding:16px}.production-page .production-empty-card{padding:26px 22px}.production-page .zoom-toolbar{left:8px}.production-page .node-inspector{width:min(540px,calc(100vw - var(--rail) - 40px))}}@media(prefers-reduced-motion:reduce){.production-page .shot-workspace-marker,.production-page .shot-workspace-marker svg{transition:none;animation:none}.production-page .node-details{transition:none}.production-page .canvas-edge-glint{display:none}}.node-reference-list{display:flex;align-items:center;gap:6px;min-height:48px;margin:-7px -8px 0 0;padding:7px 8px 1px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.node-reference-tile{position:relative;width:44px;flex:none;min-width:0}.node-reference-image{position:relative;display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-item);background:var(--surface-subtle);color:var(--text-muted)}.node-reference-index{position:absolute;top:2px;left:2px;z-index:1;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:var(--radius-xs);background:#18181bcc;color:#fff;font-size:var(--font-size-tag);font-weight:600;line-height:1;box-shadow:0 1px 3px #0003;pointer-events:none}.node-reference-tile:hover .node-reference-remove,.node-reference-tile:focus-within .node-reference-remove{opacity:1;pointer-events:auto}@media(hover:none){.node-reference-remove{opacity:1;pointer-events:auto}}.node-reference-image img{width:100%;height:100%;object-fit:cover}.slider-control{position:relative;display:flex;width:100%;align-items:center;touch-action:none;-webkit-user-select:none;user-select:none}.slider-control [data-slot=slider-track]{position:relative;flex-grow:1;overflow:hidden;border-radius:999px}.slider-control [data-slot=slider-range]{height:100%}.slider-control [data-slot=slider-thumb]{flex-shrink:0}.production-readiness .inline-error{margin:0}.production-prompt-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.generation-submit .production-prompt-actions{margin-right:auto}.production-node-delete{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-item);background:var(--surface);color:var(--text-secondary)}.production-page .node-task-status[data-status=failed]>.badge{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.canvas-node-palette{position:absolute;z-index:9;width:156px;padding:5px}.canvas-node-palette>span{display:block;padding:7px 9px 5px;color:var(--text-muted);font-size:var(--font-size-tag)}.canvas-node-palette button{display:flex;align-items:center;gap:8px;width:100%;height:33px;padding:0 9px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text);text-align:left;font-size:var(--font-size-small);cursor:pointer}.canvas-node-palette button:hover{background:var(--surface-hover)}.canvas-node-palette button:focus-visible{outline:none;box-shadow:var(--focus)}.generation-settings{padding-top:11px;border-top:1px solid transparent}.generation-toolbar{display:flex;align-items:stretch;gap:var(--space-2);margin-bottom:var(--space-4)}.generation-model{flex:1 1 0;min-width:0}.generation-resolution{flex:0 0 82px;min-width:0}.image-generation-toolbar{margin-bottom:0}.generation-select{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);width:100%;height:var(--control-compact);padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-control);background:var(--background);color:var(--foreground);font-size:var(--font-size-small);font-weight:500;cursor:pointer}.generation-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generation-select:hover{background:var(--muted)}.generation-select:focus-visible,.generation-audio input:focus-visible{outline:none;box-shadow:var(--focus)}.generation-ratio{flex:0 0 78px;min-width:0}.generation-ratio-menu{width:min(390px,calc(100vw - 24px));min-width:0}.generation-ratio-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2);padding:var(--space-1)}.generation-ratio-menu .generation-ratio-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:76px;padding:var(--space-2) var(--space-1);border:1px solid transparent;background:transparent;color:var(--muted-foreground);font-size:var(--font-size-small);font-weight:500;text-align:center}.generation-ratio-menu .generation-ratio-option:hover,.generation-ratio-menu .generation-ratio-option:focus-visible{background:var(--accent);color:var(--accent-foreground)}.generation-ratio-menu .generation-ratio-option[aria-checked=true],.generation-ratio-menu .generation-ratio-option[data-checked]{border-color:transparent;background:var(--selected-surface);color:var(--accent-foreground);font-weight:600}.generation-ratio-option .kaimu-menu-check{display:none}.generation-ratio-preview{display:block;flex:none;border:2px solid currentColor;border-radius:var(--radius-xs)}.generation-audio{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;font-size:var(--font-size-small);color:var(--text-secondary);cursor:pointer}.generation-audio input{width:14px;height:14px;margin:0;accent-color:var(--primary)}.generation-submit{display:flex;align-items:center;justify-content:flex-end;margin-top:12px}.generation-submit .button{min-width:98px}.duration-heading{display:flex;align-items:center;justify-content:space-between}.duration-heading span{color:var(--text-secondary);font-size:var(--font-size-small);font-weight:600}.duration-heading strong{font-size:var(--font-size-small);font-variant-numeric:tabular-nums}.duration-slider-shell{position:relative;margin:12px 0 3px}.duration-slider{position:relative;z-index:1;cursor:pointer}.duration-slider [data-slot=slider-track]{height:8px;border:1px solid transparent;background:var(--surface-subtle)}.duration-slider [data-slot=slider-range]{background:var(--primary)}.duration-slider [data-slot=slider-thumb]{position:relative;z-index:2;display:grid;place-items:center;width:20px;height:26px;border:1px solid var(--line-strong);border-radius:var(--radius-item);background:var(--surface);box-shadow:var(--shadow-control);transition:box-shadow var(--duration-feedback) var(--ease),border-color var(--duration-feedback) var(--ease)}.duration-slider [data-slot=slider-thumb]:hover{border-color:var(--text-secondary);box-shadow:var(--shadow-float)}.duration-slider [data-slot=slider-thumb]:focus-visible{outline:none;box-shadow:var(--focus)}.duration-thumb-bar{display:block;width:4px;height:15px;border-radius:var(--radius-xs);background:var(--primary);animation:duration-thumb-land var(--duration-spring) var(--ease-spring) both}.duration-ticks{position:absolute;z-index:1;top:0;right:10px;bottom:0;left:10px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.duration-ticks span{width:2px;height:2px;border-radius:50%;background:var(--text-muted);opacity:.65}@keyframes duration-thumb-land{0%{transform:scaleY(.62)}}@media(prefers-reduced-motion:reduce){.duration-thumb-bar{animation:none}}.duration-ends{display:flex;justify-content:space-between;color:var(--text-muted);font-size:var(--font-size-tag)}.floating-surface{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float)}.node-generation-status{display:block}.node-generation-status .inline-error{margin:0}.production-page .node-generation-status[data-status=failed]>.badge{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.production-page .node-generation-status .generation-submit{margin-top:12px}.production-page .generation-settings{padding-top:11px;line-height:1.5}.production-page .object-details .node-inspector-footer{padding-top:4px;border-top:0}@media(max-width:600px){.generation-toolbar{flex-wrap:wrap}.generation-model{flex-basis:calc(100% - 96px)}.generation-resolution{flex-basis:90px}.generation-ratio-options{grid-template-columns:repeat(4,minmax(0,1fr))}}.library-search{position:relative}.library-search>svg{position:absolute;left:10px;top:11px;color:var(--text-muted)}.library-search input{padding-left:32px;width:100%;background:var(--surface-subtle)}.library-list{margin-top:12px}.library-row{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid transparent;border-radius:var(--radius-item);padding:10px 8px;width:100%;text-align:left;color:var(--foreground)}.library-row:hover{background:var(--surface-subtle);border-color:transparent}.library-avatar{width:44px;height:48px;border-radius:var(--radius-item);background:var(--surface-hover);display:grid;place-items:center;color:var(--text-muted);overflow:hidden;flex-shrink:0}.library-avatar img{width:100%;height:100%;object-fit:cover}.library-row>span:nth-child(2){flex:1;min-width:0}.library-row strong{font-size:var(--font-size-small)}.library-row small{display:block;color:var(--text-secondary);font-size:var(--font-size-tag);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:5px}.library-empty{padding:30px 12px;display:flex;align-items:center;flex-direction:column;gap:12px;color:var(--text-muted)}.library-empty p{margin:0;color:var(--text-secondary);font-size:var(--font-size-body)}.library-empty small{font-size:var(--font-size-small)}.generation-toolbar .kaimu-menu-root{width:100%}.production-page .creation-toolbar{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:4;padding:7px 9px;display:inline-flex;align-items:center;gap:3px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float);max-width:calc(100% - 430px);white-space:nowrap}.production-page .creation-toolbar .button{font-size:var(--font-size-small);font-weight:500;gap:5px;padding-inline:7px;border-color:transparent;box-shadow:none}.production-page .creation-toolbar .button:hover:not(:disabled){background:var(--surface-hover)}.production-page .creation-toolbar .button:focus-visible{box-shadow:var(--focus)}@media(max-width:1300px){.production-page .creation-toolbar{bottom:78px;max-width:calc(100% - 48px)}}@media(max-height:720px){.production-page .creation-toolbar{bottom:18px}}@media(max-width:1300px)and (max-height:720px){.production-page .creation-toolbar{bottom:72px}}@media(max-width:600px){.production-page .creation-toolbar{left:8px;right:8px;width:auto;max-width:none;transform:none;overflow-x:auto;scrollbar-width:none}.production-page .creation-toolbar>*{flex-shrink:0}}.prompt-mention-list{position:absolute;top:calc(100% + 4px);left:0;z-index:12;width:min(320px,100%);max-height:230px;padding:5px;overflow-y:auto;border:1px solid transparent;border-radius:var(--radius-item);background:var(--surface);box-shadow:var(--shadow-float)}.prompt-mention-list button{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text);text-align:left;cursor:pointer;line-height:24px}.prompt-mention-list button:hover,.prompt-mention-list button[aria-selected=true]{background:var(--surface-hover)}.prompt-mention-list button:focus-visible{outline:none;box-shadow:var(--focus)}.prompt-mention-list button>span{display:flex;flex:1;align-items:center;justify-content:space-between;gap:10px}.prompt-mention-list strong{font-size:var(--font-size-small);font-weight:600;line-height:1.5}.prompt-mention-list small,.prompt-mention-empty{color:var(--text-muted);font-size:var(--font-size-small);line-height:1.5}.prompt-mention-empty{display:block;padding:8px}.reference-prompt-field{position:relative;height:132px;min-height:132px}.reference-prompt-field .shot-prompt-input{position:relative;z-index:1}.production-page .reference-prompt-field.has-references .shot-prompt-input{color:transparent;caret-color:var(--text)}.reference-prompt-field.has-references .shot-prompt-input::selection{color:var(--text);background:var(--backdrop-highlight)}.reference-prompt-mirror{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;padding:2px;color:var(--text);font-family:inherit;font-size:var(--font-size-body);line-height:1.6;white-space:pre-wrap;overflow-wrap:break-word;pointer-events:none}.prompt-reference-mark{border-radius:var(--radius-xs);background:var(--reference-other-soft);color:var(--reference-other);box-shadow:0 0 0 1px color-mix(in oklch,var(--reference-other) 16%,transparent) inset}.prompt-reference-mark[data-kind=person]{background:var(--reference-person-soft);color:var(--reference-person);box-shadow:0 0 0 1px color-mix(in oklch,var(--reference-person) 16%,transparent) inset}.prompt-reference-mark[data-kind=scene]{background:var(--reference-scene-soft);color:var(--reference-scene);box-shadow:0 0 0 1px color-mix(in oklch,var(--reference-scene) 16%,transparent) inset}.prompt-reference-mark[data-kind=prop]{background:var(--reference-prop-soft);color:var(--reference-prop);box-shadow:0 0 0 1px color-mix(in oklch,var(--reference-prop) 16%,transparent) inset}.prompt-reference-preview{position:absolute;z-index:15;width:138px;padding:7px;transform:translate(-50%,-100%);border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float);pointer-events:none}.prompt-reference-preview-media{display:grid;place-items:center;width:122px;height:98px;overflow:hidden;border-radius:var(--radius-item);background:var(--surface-subtle);color:var(--text-muted)}.prompt-reference-preview-media img{width:100%;height:100%;object-fit:cover}.prompt-reference-preview>span{display:block;overflow:hidden;padding:7px 2px 1px;color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.production-draft-notice{flex:none;width:fit-content;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 16px 12px;max-width:calc(100vw - var(--rail) - 32px);padding:12px;font-size:var(--font-size-small)}.production-draft-notice p{margin:0}.production-node-media{position:relative}.production-media-play{position:absolute;top:50%;left:50%;translate:-50% -50%;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer}.production-media-notice{position:absolute;top:12px;left:12px;z-index:10;padding:12px}.production-node-failure{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;padding:24px;border-radius:inherit;background:var(--surface);text-align:center;pointer-events:none}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--reference-person: var(--chart-4);--reference-person-soft: #ebf0ff;--reference-scene: #16756e;--reference-scene-soft: #e8f6f3;--reference-prop: #7954a7;--reference-prop-soft: #f2edfa;--reference-other: #945c34;--reference-other-soft: #fff3e9;--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--primary-hover: color-mix(in oklch, var(--primary) 82%, var(--background));--primary-pressed: color-mix(in oklch, var(--primary) 90%, black);--on-primary: var(--primary-foreground);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--sidebar: oklch(.985 0 0);--muted-foreground: oklch(.556 0 0);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--destructive: oklch(.577 .245 27.325);--chart-1: oklch(.809 .105 251.813);--chart-2: oklch(.623 .214 259.815);--chart-3: oklch(.546 .245 262.881);--chart-4: oklch(.488 .243 264.376);--chart-5: oklch(.424 .199 265.638);--radius: .45rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--surface: var(--background);--canvas-dot: #c9ccd0;--surface-canvas: color-mix(in oklch, var(--sidebar) 40%, var(--border));--surface-subtle: color-mix(in oklch, var(--sidebar) 71%, var(--border));--surface-hover: color-mix(in oklch, var(--muted) 65%, var(--border));--text-secondary: color-mix(in oklch, var(--foreground) 68%, var(--background));--text-muted: color-mix(in oklch, var(--muted-foreground) 86%, var(--foreground));--brand: var(--chart-3);--brand-line: #8fb5f1;--brand-sky: #d4e5ff;--brand-light: #adc9fa;--brand-deep: #5f87d5;--gradient-accent-wash: linear-gradient(115deg, #f3f7ff 0%, #e8f0ff 48%, #dfeaff 100%);--success: #15803d;--success-soft: #f0fdf4;--error-soft: color-mix(in oklch, var(--destructive) 8%, var(--background));--radius-control: 8px;--radius-item: 6px;--radius-card: 12px;--radius-panel: 16px;--shadow-control: 0 1px 2px #0000000d;--shadow-brand-glow: 0 8px 20px -10px color-mix(in srgb, var(--chart-3) 55%, transparent);--shadow-card: 0 1px 2px #0000000f, 0 4px 12px -4px #00000017;--shadow-float: 0 2px 4px #0000000a, 0 12px 32px -8px #0000001f;--shadow-dialog: 0 4px 8px #0000000d, 0 24px 64px -12px #00000033;--type-card-size: 14px;--type-card-line: 20px;--type-card-weight: 600;--font-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;--type-title-size: 21px;--type-title-line: 28px;--type-title-weight: 600;--type-badge-size: var(--font-size-tag);--type-badge-line: 14px;--type-badge-weight: 600;--type-button-size: var(--font-size-small);--type-button-line: calc(var(--font-size-small) * 20 / 14);--type-button-weight: 500;--text: var(--foreground);--line: var(--border);--line-strong: color-mix(in oklch, var(--border) 75%, var(--foreground));--secondary-pressed: color-mix(in oklch, var(--secondary) 88%, var(--foreground));--selected-line: transparent;--brand-soft: color-mix(in srgb, var(--chart-2) 10%, var(--background));--selected-surface: var(--brand-soft);--gradient-accent: linear-gradient(100deg, var(--chart-2) 0%, var(--chart-3) 60%, var(--chart-4) 100%);--error: var(--destructive);--backdrop-line: #a1a1aa;--radius-pill: 999px;--shadow-selected: 0 0 0 1.5px var(--brand), 0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent);--focus-ring: color-mix(in srgb, var(--brand) 22%, transparent);--focus: 0 0 0 1px var(--brand), 0 0 0 4px var(--focus-ring);--duration-feedback: .14s;--duration-exit: .12s;--duration-panel: .22s;--duration-view: .3s;--duration-pop: .42s;--duration-spring: .56s;--motion-blur: 4px;--motion-rise: 6px;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-pop: linear(0, .061, .201, .368, .532, .677, .794, .882, .945, .986, 1.011, 1.024, 1.028, 1.027, 1.024, 1.019, 1.015, 1.01, 1.006, 1.002, 1);--ease-spring: linear(0, .053, .181, .345, .516, .674, .809, .915, .992, 1.042, 1.07, 1.082, 1.081, 1.072, 1.06, 1.046, 1.032, 1.02, 1.01, 1.003, .998, .995, .993, .994, .996, .998, 1);--hover-lift: -2px;--radius-xs: 4px;--font-size-tag: 10px;--font-size-small: 12px;--font-size-body: 13px;--font-size-large: 14px;--font-size-heading: 16px;--font-size-title: 21px;--rail: 56px;--font-size-display: 28px;--line-hairline: color-mix(in srgb, var(--foreground) 7%, transparent);--ai-ink: var(--chart-4);--ai-soft: color-mix(in srgb, var(--chart-1) 18%, var(--background));--gradient-ai-surface: var(--gradient-accent-wash);--hover-scale: 1.03;--gradient-ai-action: linear-gradient(120deg, var(--chart-5) 0%, var(--chart-3) 55%, var(--chart-2) 100%);--gradient-ai-sheen: linear-gradient(105deg, transparent 38%, #ffffff38 50%, transparent 62%);--shadow-ai-control: 0 1px 2px #1e3a8a33, 0 4px 12px -4px color-mix(in srgb, var(--chart-3) 45%, transparent);--shadow-ai-glow: 0 8px 22px -8px color-mix(in srgb, var(--chart-3) 65%, transparent);--control-height: 36px;--control-compact: 32px;--control-small: 24px;--list-item: 36px;--topbar: 48px;--inspector-width: 288px;--menu-surface: oklch(.205 0 0);--menu-surface-foreground: oklch(.985 0 0);--menu-surface-muted: oklch(.708 0 0);--menu-surface-hover: oklch(.269 0 0);font-family:DM Sans Variable,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;color:var(--foreground);background:var(--background);font-synthesis:none}.dark{--reference-person: var(--chart-1);--reference-person-soft: #1b3153;--reference-scene: #68d6c6;--reference-scene-soft: #143b37;--reference-prop: #c9a5fa;--reference-prop-soft: #332447;--reference-other: #f0ba83;--reference-other-soft: #45301e;--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--primary: oklch(.922 0 0);--primary-foreground: oklch(.205 0 0);--primary-hover: color-mix(in srgb, var(--primary) 90%, var(--background));--primary-pressed: color-mix(in srgb, var(--primary) 82%, var(--background));--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--destructive: oklch(.704 .191 22.216);--error-soft: color-mix(in srgb, var(--destructive) 13%, var(--card));--success: #4ade80;--success-soft: color-mix(in srgb, var(--success) 12%, var(--card));--brand: var(--chart-2);--brand-soft: color-mix(in srgb, var(--chart-2) 16%, var(--card));--brand-line: #3e67a1;--brand-sky: #101c34;--brand-light: #284776;--brand-deep: #091326;--gradient-accent-wash: linear-gradient(115deg, #101a2c 0%, #152744 55%, #1b3151 100%);--shadow-control: 0 0 0 1px #ffffff0d, 0 1px 3px #0004;--shadow-card: 0 0 0 1px #ffffff0b, 0 5px 18px #0003;--shadow-float: 0 0 0 1px #ffffff14, 0 18px 44px #0008;--shadow-dialog: 0 0 0 1px #ffffff18, 0 28px 72px #000b;--text-secondary: color-mix(in srgb, var(--foreground) 78%, var(--background));--text-muted: var(--muted-foreground);--focus-ring: color-mix(in srgb, var(--chart-2) 30%, transparent);--surface-subtle: var(--card);--canvas-dot: #444444;--surface-canvas: var(--background);--surface-hover: var(--muted);--line-hairline: color-mix(in srgb, var(--foreground) 10%, transparent);--line-strong: color-mix(in srgb, var(--foreground) 20%, transparent);--secondary-pressed: color-mix(in srgb, var(--secondary) 80%, var(--foreground));--backdrop-line: #676d78;--ai-ink: var(--chart-1);--ai-soft: color-mix(in srgb, var(--chart-2) 15%, var(--card));--shadow-ai-control: 0 1px 2px #0005, 0 8px 20px -7px color-mix(in srgb, var(--chart-2) 40%, transparent)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{margin:0;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:5px}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,p{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-control);font-size:14px;line-height:20px;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:none;transition:background .14s ease,color .14s ease,transform 90ms ease}.icon-button{width:32px;height:32px;min-height:0;flex:none;padding:0}.button.icon-button{color:var(--text-secondary)}.button.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.button.icon-button:focus-visible{border-color:var(--ring);box-shadow:var(--focus)}.button--compact{min-height:var(--control-compact);gap:4px;padding:0 12px;font-size:var(--type-button-size);line-height:var(--type-button-line);font-weight:var(--type-button-weight)}.button--icon-lg{width:40px;height:40px;min-height:40px;padding:0;flex-shrink:0}.button--icon-xs{width:24px;height:24px;min-height:24px;padding:0;flex-shrink:0}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.icon-button:disabled{opacity:.4}.button--default{background:var(--primary);color:var(--primary-foreground)}.button--default:hover:not(:disabled){background:color-mix(in oklab,var(--primary) 80%,transparent);box-shadow:var(--shadow-brand-glow)}.button--secondary{background:var(--secondary);color:var(--secondary-foreground);box-shadow:none}.button--secondary:hover:not(:disabled){background:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}.button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.button[aria-pressed=true]:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.button[aria-pressed=true]:active:not(:disabled){background:var(--primary-pressed)}.button--outline{background:var(--background);color:var(--foreground);border-color:var(--border);box-shadow:var(--shadow-control)}.button--outline:hover:not(:disabled){background:var(--muted)}.button--ghost{background:transparent;color:var(--foreground);box-shadow:none}.button--ghost:hover:not(:disabled){background:var(--muted)}.button--ai{border:0;color:#fff;background:var(--gradient-ai-sheen),var(--gradient-ai-action);background-size:250% 100%,100% 100%;background-position:130% 0,0 0;box-shadow:var(--shadow-ai-control);transition:background-position var(--duration-spring) var(--ease-out),box-shadow var(--duration-feedback) var(--ease),opacity var(--duration-feedback) var(--ease),scale var(--duration-pop) var(--ease-pop)}.button--ai>svg{color:#ffffffd9}.button--ai:hover:not(:disabled){background-position:-30% 0,0 0;box-shadow:var(--shadow-ai-control),var(--shadow-ai-glow)}.button--ai:active:not(:disabled){box-shadow:inset 0 1px 3px #0003}.button--ai[aria-busy=true]{opacity:1;box-shadow:var(--shadow-ai-control),var(--shadow-ai-glow);animation:ai-sheen-loop 1.6s var(--ease) infinite}.button--ai:disabled:not([aria-busy=true]){background:var(--surface-hover);color:var(--text-muted);border-color:transparent;box-shadow:none;opacity:.55}.button--ai:disabled:not([aria-busy=true])>svg{color:inherit}.button--ai:focus-visible{box-shadow:var(--focus)}@keyframes ai-sheen-loop{0%{background-position:130% 0,0 0}to{background-position:-30% 0,0 0}}.badge{display:inline-flex;align-items:center;height:20px;gap:4px;padding:1px 5px;border:1px solid transparent;border-radius:var(--radius-xs);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--type-badge-size);font-weight:var(--type-badge-weight);line-height:var(--type-badge-line)}.badge.ai{background:var(--ai-soft);color:var(--ai-ink)}.badge.success{background:var(--success-soft);color:var(--success)}.badge.error{background:var(--error-soft);color:var(--destructive)}.badge svg{flex:none;width:12px;height:12px}.inline-error{font-size:var(--font-size-small);line-height:18px;color:var(--destructive)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.input{width:100%;height:var(--control-height);padding:0 12px;border:1px solid transparent;border-radius:var(--radius-control);outline:none;background:color-mix(in oklab,var(--input) 50%,transparent);color:var(--foreground);font-size:16px;line-height:24px}@media(min-width:768px){.input{font-size:14px;line-height:20px}}.input::placeholder{color:var(--muted-foreground)}.input:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus)}.button:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.button--destructive{background:color-mix(in oklab,var(--destructive) 10%,transparent);color:var(--destructive)}.button--destructive:hover:not(:disabled){background:color-mix(in oklab,var(--destructive) 20%,transparent)}.button--destructive:focus-visible{border-color:color-mix(in oklab,var(--destructive) 40%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--destructive) 20%,transparent)}.dark .button--destructive{background:color-mix(in oklab,var(--destructive) 20%,transparent)}.dark .button--destructive:hover:not(:disabled){background:color-mix(in oklab,var(--destructive) 30%,transparent)}.dark .button--destructive:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--destructive) 40%,transparent)}.button.node-reference-add{display:grid;flex:none;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:var(--radius-item);background:var(--surface-subtle);color:var(--text-secondary);cursor:pointer}.button.node-reference-add:hover{background:var(--surface);color:var(--text)}.button.node-reference-add:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--focus)}.button.node-reference-remove{position:absolute;top:-6px;right:-6px;z-index:2;width:18px;height:18px;min-width:18px;min-height:0;padding:0;border:1px solid transparent;border-radius:50%;background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-control);opacity:0;pointer-events:none;transition:opacity var(--duration-panel) var(--ease-out)}.button.node-reference-remove:hover{background:var(--surface-hover);color:var(--text)}.button.node-reference-remove:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.login-page{min-height:100dvh;display:grid;place-items:start center;padding:clamp(20px,4vw,56px);background:var(--surface-canvas)}.login-shell{width:min(1120px,100%);min-height:680px;margin-top:max(0px,calc((100dvh - 680px)/2 - clamp(20px,4vw,56px)));display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);padding:8px;border-radius:var(--radius-card);background:var(--surface);box-shadow:0 24px 54px #18181b18,0 3px 12px #18181b0a}.login-story{position:relative;isolation:isolate;min-height:664px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:30px 34px;border-radius:var(--radius-card);background:var(--brand-sky)}.login-story:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#ffffffa8 0%,transparent 28%,transparent 60%,#ffffffe0 100%)}.login-mesh{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(135deg,var(--brand-sky),var(--brand-deep))}.login-mesh-shader{width:100%;height:100%}.login-mesh:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 78% 35%,color-mix(in srgb,var(--brand-deep) 18%,transparent),transparent 38%),radial-gradient(ellipse at 14% 76%,color-mix(in srgb,var(--brand-deep) 12%,transparent),transparent 44%);mix-blend-mode:multiply}.login-particle-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.login-particle-stage canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 0 1px color-mix(in srgb,var(--brand-deep) 55%,transparent))}.login-story-header{position:relative;z-index:2;display:flex;align-items:center;gap:11px;font-size:18px;font-weight:600;letter-spacing:.08em}.login-story-header img{width:27px;height:27px}.login-story h1{position:relative;z-index:2;margin:auto 0 6px;max-width:470px;font-size:clamp(29px,2.6vw,38px);line-height:1.27;font-weight:600;letter-spacing:-.025em}.login-story h1 span{background:linear-gradient(100deg,var(--chart-2),var(--chart-3) 55%,var(--chart-4));-webkit-background-clip:text;background-clip:text;color:transparent}.login-auth{position:relative;min-height:664px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px clamp(28px,4vw,56px)}.login-auth>.theme-control{position:absolute;top:40px;right:clamp(28px,4vw,56px)}.login-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px;font-size:24px;font-weight:600;letter-spacing:-.04em}.login-brand img{width:32px;height:32px}.dark .login-brand img{filter:invert(1)}.theme-control{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--secondary)}.theme-control button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted-foreground);cursor:pointer}.theme-control button[aria-pressed=true]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-control)}.theme-control button:hover{color:var(--foreground)}.login-auth-center{width:min(100%,410px);margin:44px auto 0;padding:12px 0}.login-auth h2{margin:0 0 16px;font-size:30px;line-height:40px;letter-spacing:-.03em;font-weight:600}.login-description{color:var(--text-muted);font-size:14px;line-height:1.6}.login-auth label{text-align:left;display:block;margin:30px 0 9px;color:var(--text-muted);font-size:12px;font-weight:600}.login-auth .notice{display:flex;align-items:center;gap:8px;margin-top:24px;padding:12px 14px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--chart-2) 10%,var(--background));color:var(--chart-4);font-size:13px;font-weight:600}.login-submit,.login-browse{width:100%;min-height:42px;margin-top:25px;font-size:14px}.login-notice{margin:13px 0 0;color:var(--success);font-size:13px}.login-actions{display:flex;justify-content:center;gap:18px;margin-top:18px}.login-actions button{border:0;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer}.login-actions button:hover:not(:disabled){color:var(--foreground);text-decoration:underline}.login-actions button:disabled{opacity:.5;cursor:not-allowed}.login-alternatives{margin-top:auto;padding-bottom:8px}.login-alternatives button{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:64px;padding:8px 20px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer}.login-alternatives button:hover:not(:disabled){color:var(--foreground);background:var(--muted)}.login-alternatives button:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.login-alternatives button:disabled{opacity:.5;cursor:not-allowed}.login-loader{animation:login-spin 1s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.login-loader{animation:none}}.auth-check-error{width:min(410px,100%);padding:24px;border-radius:var(--radius-card);background:var(--surface)}.auth-check-error .button{margin-top:16px}.helper{margin:13px 0 0;color:var(--text-muted);font-size:12px;line-height:1.6;text-align:center}.login-browse{margin-top:20px}.workspace{min-height:100dvh;display:grid;grid-template-columns:232px minmax(0,1fr);background:var(--surface-subtle)}.workspace--project,.workspace--project:has(.workspace-sidebar.collapsed){grid-template-columns:56px minmax(0,1fr)}.workspace-sidebar{height:100dvh;min-height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;overflow:hidden;padding:12px 10px;background:var(--surface-subtle);transition:padding .28s ease}.workspace-sidebar.project-rail{padding:8px 6px}.project-rail .sidebar-head,.project-rail .sidebar-nav a,.project-rail .sidebar-account{justify-content:center;padding-inline:0}.project-rail .sidebar-brand{justify-content:center;padding:0}.project-rail .sidebar-brand span,.project-rail .sidebar-account>span:not(.account-avatar){display:none}.project-rail .project-rail-bottom{margin-top:auto}.project-rail .sidebar-account{margin-top:4px}.workspace:has(.workspace-sidebar.collapsed){grid-template-columns:64px minmax(0,1fr)}.sidebar-head{min-height:44px;display:flex;align-items:center;gap:2px}.sidebar-brand{display:flex;align-items:center;gap:9px;flex:1;min-width:0;height:44px;padding:0 8px;font-size:18px;font-weight:600;letter-spacing:-.03em}.sidebar-brand img{width:27px;height:27px}.sidebar-toggle{flex:0 0 30px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.sidebar-toggle:hover{background:var(--surface-hover)}.sidebar-nav{display:grid;gap:4px;margin-top:22px}.sidebar-nav a{position:relative;min-height:40px;display:flex;align-items:center;gap:11px;padding:0 12px;border-radius:8px;color:var(--text-muted);font-size:14px;font-weight:500;white-space:nowrap}.sidebar-disabled{min-height:40px;display:flex;align-items:center;gap:11px;padding:0 12px;color:var(--text-muted);font-size:14px;opacity:.55;white-space:nowrap;cursor:not-allowed}.sidebar-nav a:hover{background:var(--surface-hover);color:var(--foreground)}.sidebar-nav a.active{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-control);font-weight:600}.sidebar-nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--chart-1),var(--chart-3),var(--chart-4))}.sidebar-account{display:flex;align-items:center;gap:11px;min-height:44px;margin-top:auto;padding:0 12px;color:var(--text-muted);font-size:13px;font-weight:600;white-space:nowrap}.sidebar-account{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.sidebar-account:hover{background:var(--surface-hover);border-radius:8px;color:var(--foreground)}.account-menu{position:fixed;z-index:10;bottom:70px;left:12px;width:264px;padding:10px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-float);line-height:1.5}.account-login{display:flex;width:100%;align-items:center;gap:11px;min-height:38px;padding:0 11px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--destructive);font-size:13px;text-align:left;cursor:pointer}.account-login:hover{background:var(--error-soft);color:var(--destructive);padding-left:13px}.account-appearance{display:flex;align-items:center;gap:11px;min-height:38px;padding:0 11px;border-radius:var(--radius-item);color:var(--text-secondary);font-size:13px;cursor:default}.account-appearance:focus-within{background:var(--muted);color:var(--foreground);padding-left:13px}.account-appearance>span{flex:1}.workspace-sidebar.collapsed{padding-inline:7px}.workspace-sidebar.collapsed .sidebar-brand{display:none}.workspace-sidebar.collapsed .sidebar-head,.workspace-sidebar.collapsed .sidebar-nav a,.workspace-sidebar.collapsed .sidebar-disabled,.workspace-sidebar.collapsed .sidebar-account{justify-content:center;padding-inline:0}.workspace-sidebar.collapsed .sidebar-nav a span,.workspace-sidebar.collapsed .sidebar-disabled span,.workspace-sidebar.collapsed .sidebar-account>span:not(.account-avatar){display:none}.workspace-main{min-width:0;min-height:calc(100dvh - 16px);margin:8px 8px 8px 0;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-card)}.workspace-main--canvas{position:relative;overflow:hidden}.home-center{position:relative;z-index:1;min-height:calc(100dvh - 16px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(64px,10vh,120px) 0 40px}.home-ambient-light{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(ellipse at 93% 8%,#dce9ff 0,transparent 35%),radial-gradient(ellipse at 0 93%,#e6efff 0,transparent 32%),var(--surface)}.home-ambient-light canvas{display:block;width:100%;height:100%}.home-launch{position:relative;width:min(760px,calc(100% - 64px))}.home-intro{margin-bottom:46px}.home-intro img{display:block;width:30px;height:30px;margin-bottom:25px}.home-intro h1{margin:0;font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight)}.home-intro p{margin:11px 0 0;color:var(--text-muted);font-size:14px;line-height:22px}.home-options{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;padding:3px;border-radius:8px;background:var(--surface-hover)}.home-options>*{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:8px;color:var(--text-muted);font-size:14px;font-weight:500}.home-options .selected{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-card)}.home-options button{border:0;cursor:pointer}.home-options button:hover{color:var(--foreground)}.home-idea-notice{margin:0 0 12px;color:var(--text-muted);font-size:13px}.home-composer{min-height:190px;display:flex;flex-direction:column;padding:17px 17px 13px;border-radius:var(--radius-card);background:var(--surface);box-shadow:0 9px 22px -12px #18181b42,0 2px 7px #18181b0d}.home-composer textarea{flex:1;width:100%;min-height:116px;padding:1px 4px;border:0;outline:none;resize:none;background:transparent;color:var(--foreground);font-size:16px;line-height:23px}.home-composer textarea::placeholder{color:var(--text-muted);opacity:1}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}.composer-actions .button:last-child{width:36px;height:36px;padding:0}.home-quick-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.home-quick-actions .button{font-weight:500}.home-generation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;min-height:38px;margin-top:14px;color:var(--text-muted);font-size:var(--font-size-small);animation:motion-rise-in var(--duration-pop) var(--ease-pop)}.home-generation button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--ai-ink);font-size:var(--font-size-small);font-weight:600;cursor:pointer}.home-generation button:disabled{cursor:default;opacity:.6}.home-generation .home-generation-error{color:var(--destructive)}.api-error{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:14px;border-radius:var(--radius-control);background:var(--error-soft);color:var(--destructive);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.api-error svg{flex:none;margin-top:1px}.api-error p{margin:3px 0 0;font-size:12px}.listing-page{max-width:1180px;margin:0 auto;padding:32px 48px 80px}.listing-heading{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.listing-heading h1{margin:0;font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight)}.project-search{width:280px;height:36px;margin-bottom:24px}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.project-list-item,.project-create-card{min-width:0;min-height:224px;display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid transparent;border-radius:var(--radius-card);background:var(--surface-subtle);transition:background .18s ease,box-shadow .18s ease,translate .22s ease}.project-list-card{position:relative;min-width:0}.project-list-card .project-list-item{height:100%}.project-trash-trigger{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:31px;height:31px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-muted);cursor:pointer}.project-trash-trigger:hover,.project-trash-trigger:focus-visible{background:var(--surface-hover);color:var(--destructive)}.project-trash-card{min-width:0;min-height:224px;display:flex;flex-direction:column;align-items:flex-start;padding:18px;border-radius:var(--radius-card);background:var(--surface-subtle)}.project-trash-card>strong{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.project-trash-card>button{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:7px 9px;border:0;border-radius:var(--radius-control);background:var(--surface);color:var(--text-muted);cursor:pointer}.project-trash-card>button:hover{color:var(--foreground)}.project-action-dialog::backdrop{background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-list-item:hover,.project-create-card:hover{background:var(--surface);box-shadow:var(--shadow-card);translate:0 -2px}.project-list-item:focus-visible,.project-create-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.project-create-card{align-items:center;justify-content:center;gap:11px;border-color:var(--border);border-style:dashed;color:var(--text-muted);cursor:pointer}.project-create-card strong{color:var(--foreground);font-size:14px}.project-list-empty{align-self:center;color:var(--text-muted);font-size:13px}.project-list-empty h2{margin:0 0 8px;color:var(--foreground);font-size:16px}.project-list-empty p{margin:0;line-height:1.5}.project-card-icon{width:29px;height:29px;display:grid;place-items:center;margin-bottom:23px;border-radius:var(--radius-control);background:var(--surface-hover);color:var(--text-muted)}.project-list-item strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:20px}.project-card-episode{margin-top:8px;color:var(--text-muted);font-size:13px}.project-card-role{margin-top:8px;color:var(--text-muted);font-size:12px}.project-card-edited{display:flex;align-items:center;gap:5px;margin-top:12px;color:var(--text-muted);font-size:11px;white-space:nowrap}.project-card-open{display:flex;align-items:center;gap:5px;margin-top:auto;color:var(--text-muted);font-size:13px}.modal-dialog{width:min(440px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(100dvh - 64px);overflow-y:auto;padding:0;border:0;border-radius:var(--radius-card);background:var(--card);color:var(--foreground);box-shadow:var(--shadow-dialog);font-size:14px;line-height:calc(20 / 14)}.modal-dialog::backdrop{background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shared-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shared-dialog.modal-dialog{position:fixed;top:50%;left:50%;z-index:51;margin:0;translate:-50% -50%;outline:none}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 16px}.modal-heading h2{margin:0;font-size:16px;line-height:24px;font-weight:600}.modal-heading p{margin:4px 0 0;color:var(--text-muted);font-size:var(--font-size-small);line-height:20px}.modal-close{flex:none;width:32px;height:32px;display:grid;place-items:center;margin:-4px -8px 0 0;padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-muted);cursor:pointer}.modal-close:hover{background:var(--surface-hover);color:var(--foreground)}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-heading>.icon-button{margin:-4px -8px 0 0}.modal-body{padding:0 24px 24px}.create-project-body label{display:block;margin-bottom:8px;font-size:13px;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;background:var(--surface-subtle);border-top:1px solid transparent}.screenplay-entry{max-width:920px}.project-trail{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:48px;margin:-24px 0 24px;color:var(--text-muted);font-size:13px}.project-trail a:hover,.project-trail [aria-current=page]{color:var(--foreground)}.screenplay-back{display:inline-block;margin-bottom:24px;color:var(--text-muted);font-size:13px}.screenplay-back:hover{color:var(--foreground)}.screenplay-entry .listing-heading p{margin:0 0 6px;color:var(--text-muted);font-size:13px}.settings-success{margin:8px 0 0;color:var(--success);font-size:13px}.invitation-page{display:grid;min-height:100dvh;place-items:center;padding:24px;background:var(--surface-canvas)}.invitation-card{display:grid;justify-items:start;gap:16px;width:min(470px,100%);padding:32px;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-card)}.invitation-card-head{display:flex;align-items:center;justify-content:space-between;width:100%}.invitation-card-head img{width:34px;height:34px}.invitation-eyebrow{color:var(--text-muted);font-size:12px}.invitation-card h1{margin:0;font-size:22px}.invitation-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.6}.invitation-card a:not(.button){color:var(--text-muted);font-size:13px}.invitation-summary{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;width:100%;padding:16px;border-radius:var(--radius-card);background:var(--surface-subtle);font-size:13px}.invitation-summary span{color:var(--text-muted)}.settings-leave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#0f172a7a}.settings-leave-dialog{width:min(100%,440px);padding:24px;border-radius:var(--radius-card);background:var(--surface);box-shadow:0 20px 60px #0f172a33}.settings-leave-dialog h2{margin:0;font-size:18px}.settings-leave-dialog p{margin:12px 0 22px;color:var(--text-muted);line-height:1.6}.settings-leave-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.workspace[data-page=screenplay],.workspace[data-page=screenplay]:has(.workspace-sidebar.collapsed){grid-template-columns:56px minmax(0,1fr)}.workspace[data-page=screenplay] .workspace-sidebar{width:56px;padding:8px 5px}.workspace[data-page=screenplay] .sidebar-head,.workspace[data-page=screenplay] .sidebar-nav a,.workspace[data-page=screenplay] .sidebar-account{justify-content:center;padding-inline:0}.workspace[data-page=screenplay] .sidebar-brand{display:flex;justify-content:center;padding:0}.workspace[data-page=screenplay] .sidebar-brand span,.workspace[data-page=screenplay] .sidebar-nav a span,.workspace[data-page=screenplay] .sidebar-account>span:not(.account-avatar),.workspace[data-page=screenplay] .sidebar-toggle{display:none}.workspace[data-page=screenplay] .workspace-main{min-height:100dvh;margin:0;border-radius:0;box-shadow:none}.script-shell{--directory-width: 232px;--inspector-width: 280px;display:grid;grid-template-columns:var(--directory-width) minmax(0,1fr) var(--inspector-width);height:100dvh;min-height:0;overflow:hidden}.script-shell--closed{--directory-width: 0px}.script-shell--inspector-closed{--inspector-width: 0px}.script-shell--closed .script-directory,.script-shell--inspector-closed .script-inspector{visibility:hidden;overflow:hidden}.script-directory{grid-column:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 12px 24px;background:var(--surface-subtle)}.script-project{display:block;flex:0 0 auto;min-height:56px;padding:18px 9px 14px;overflow:hidden;border-bottom:1px solid var(--border);color:var(--foreground);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.script-directory-section{display:flex;flex:1 1 0;flex-direction:column;min-height:0}.script-directory-section+.script-directory-section{box-shadow:inset 0 1px var(--line-hairline)}.script-directory-section nav{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.script-directory-heading{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;min-height:48px;padding:8px;color:var(--text-muted);font-size:12px;font-weight:600}.script-directory-heading>span{display:inline-flex;align-items:center;gap:8px}.script-directory-count{font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}.script-directory-heading button{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.script-directory-heading button:hover{background:var(--surface-hover);color:var(--foreground)}.script-episode,.script-scene{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;margin-bottom:4px;padding:8px 12px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-muted);font-size:13px;text-align:left;cursor:pointer;transition:background var(--duration-feedback),color var(--duration-feedback)}.script-episode.active{background:var(--surface);color:var(--foreground);font-weight:600;box-shadow:var(--shadow-control)}.script-scene.active{background:var(--selected-surface);color:var(--foreground);font-weight:600;box-shadow:inset 2px 0 var(--brand)}.script-episode:hover,.script-scene:hover{color:var(--foreground);background:var(--surface-hover)}.script-scene-row{display:flex;align-items:center}.script-scene-row .script-scene{flex:1;min-width:0}.script-scene span{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:11px}.script-scene.active span{color:var(--brand)}.script-directory-empty{margin:8px 10px;color:var(--text-muted);font-size:12px;line-height:1.5}.script-workspace{grid-column:2;min-width:0;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 82% 0%,color-mix(in srgb,var(--chart-1) 12%,transparent),transparent 38%),var(--surface-canvas)}.script-topbar{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-height:56px;padding:9px 20px;box-shadow:inset 0 -1px var(--line-hairline);background:var(--surface)}.script-menu{display:grid;place-items:center;width:32px;height:32px;flex:none;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}.script-menu:hover{background:var(--surface-hover)}.script-topbar small{color:var(--text-muted);font-size:11px}.script-topbar h1{margin:1px 0 0;font-size:15px;line-height:1.3}.script-save-actions{display:flex;align-items:center;gap:13px;margin-left:auto}.script-pane-toggle{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer}.script-pane-toggle:hover{background:var(--surface-hover)}.script-save-state{color:var(--text-muted);font-size:12px;white-space:nowrap}.script-save-state--error,.script-save-state--conflict{color:var(--destructive)}.script-error{width:min(880px,100%);margin:0 auto;padding:0 24px}.script-content{flex:1;min-height:0;overflow:auto;padding:24px 24px 72px}.script-paper{width:min(880px,100%);min-height:calc(100dvh - 150px);margin:0 auto;padding:40px clamp(40px,5vw,80px) 80px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.script-paper--editable{padding-top:80px}.script-paper-heading{margin-bottom:32px;padding-bottom:24px;box-shadow:inset 0 -1px var(--line-hairline)}.script-paper-heading>span{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.08em}.script-paper-heading h2{margin:8px 0;font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight)}.script-paper-heading p{margin:0;color:var(--text-muted);font-size:12px;line-height:20px;overflow-wrap:anywhere}.script-paper-scene{scroll-margin-top:24px}.script-paper-scene+.script-paper-scene{margin-top:42px;padding-top:36px;border-top:1px solid var(--border)}.script-title-label,.script-block label{display:block;margin-bottom:7px;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em}.script-scene-title{width:100%;padding:5px 0 12px;border:0;border-bottom:1px solid var(--border);outline:none;background:transparent;color:var(--foreground);font-size:21px;font-weight:700}.script-scene-title:focus,.script-block textarea:focus{border-color:var(--ring)}.script-block{margin-top:25px}.script-block-heading{display:flex;align-items:center;justify-content:space-between}.script-block-heading label{margin-bottom:0}.script-text-surface{position:relative}.script-block textarea{position:relative;z-index:1;display:block;width:100%;min-height:88px;field-sizing:content;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-control);outline:none;resize:none;background:transparent;color:transparent;caret-color:var(--foreground);font:inherit;font-size:15px;line-height:1.8}.script-block textarea:hover{border-color:var(--border)}.script-block textarea::placeholder{color:var(--text-muted)}.script-text-overlay{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;padding:8px 10px;overflow:hidden;border:1px solid transparent;white-space:pre-wrap;overflow-wrap:break-word;color:var(--foreground);font:inherit;font-size:15px;line-height:1.8;pointer-events:none}.script-text-overlay mark{border-radius:var(--radius-xs);background:#e7f6ef;color:inherit;cursor:pointer;pointer-events:auto;-webkit-box-decoration-break:clone;box-decoration-break:clone}.script-text-overlay mark[data-kind=location]{background:#e8f1fc}.script-text-overlay mark[data-kind=prop],.script-text-overlay mark[data-kind=shot],.script-text-overlay mark[data-kind=speech]{background:var(--surface-hover)}.dark .script-text-overlay mark{background:#194936}.dark .script-text-overlay mark[data-kind=location]{background:#1f3d62}.dark .script-text-overlay mark[data-kind=prop],.dark .script-text-overlay mark[data-kind=shot],.dark .script-text-overlay mark[data-kind=speech]{background:var(--surface-hover)}.script-text-overlay mark:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.script-annotation-toolbar{position:fixed;z-index:20;display:flex;align-items:center;gap:3px;max-width:calc(100vw - 24px);padding:5px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-card);transform:translate(-50%);white-space:nowrap}.script-annotation-toolbar span{padding:0 5px;color:var(--text-muted);font-size:11px}.script-annotation-toolbar button{flex:none;padding:5px 7px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--foreground);font-size:12px;cursor:pointer}.script-annotation-toolbar button:hover,.script-annotation-toolbar button:focus-visible{background:var(--surface-hover)}.script-annotation-detail{position:fixed;z-index:25;right:24px;bottom:24px;width:min(260px,calc(100vw - 32px));max-height:60vh;padding:14px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.script-annotation-detail>button:first-child{float:right;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.script-annotation-detail>div+div{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.script-annotation-detail strong{font-size:13px}.script-annotation-detail p{margin:8px 0;overflow-wrap:anywhere;font-size:13px}.script-annotation-detail small{display:block;margin-bottom:10px;color:var(--text-muted)}.script-annotation-detail>div>button{padding:0;border:0;background:transparent;color:var(--destructive);font-size:12px;cursor:pointer}.script-validation{color:var(--destructive);font-size:12px}.script-formatbar{position:sticky;z-index:3;top:0;display:flex;justify-content:center;gap:4px;width:max-content;max-width:100%;min-height:64px;margin:0 auto -32px;padding:8px;overflow-x:auto;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float)}.script-formatbar button{display:grid;justify-items:center;align-content:center;gap:4px;flex:0 0 60px;width:60px;min-height:48px;padding:4px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:background var(--duration-feedback),color var(--duration-feedback)}.script-formatbar button:hover{background:var(--surface-hover);color:var(--foreground)}.script-formatbar button:disabled{opacity:.5;cursor:not-allowed}.script-empty{min-height:480px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.script-empty>svg{color:var(--chart-4)}.script-empty h2{margin:18px 0 0;font-size:20px}.script-empty p{margin:8px 0 20px;color:var(--text-muted);font-size:13px}.script-inspector{grid-column:3;min-width:0;height:100dvh;overflow:auto;background:var(--surface-subtle)}.script-inspector h2{display:flex;align-items:center;gap:8px;min-height:56px;margin:0;padding:0 20px;box-shadow:inset 0 -1px var(--line-hairline);font-size:14px}.script-inspector-content{display:flex;flex-direction:column;gap:32px;padding:24px 16px}.script-inspector-section h3{margin:0 0 12px;color:var(--text-muted);font-size:12px;font-weight:500}.script-info-card{padding:16px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-control)}.script-info-eyebrow{color:var(--text-muted);font-size:10px}.script-inspector-section h4{margin:4px 0 0;font-size:14px;font-weight:600;line-height:20px;overflow-wrap:anywhere}.script-inspector dl{margin:16px 0 0;padding-top:4px;box-shadow:inset 0 1px var(--line-hairline)}.script-inspector dl div{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;line-height:20px}.script-inspector dt{color:var(--text-muted)}.script-inspector dd{margin:0;text-align:right;overflow-wrap:anywhere}.script-current-scene{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--radius-card);background:var(--selected-surface)}.script-current-scene>span{color:var(--brand);font-size:12px;line-height:28px;font-variant-numeric:tabular-nums}.script-current-scene p{margin:8px 0 0;color:var(--text-muted);font-size:12px}.script-writing-guide p,.script-inspector-empty{margin:8px 0 0;color:var(--text-muted);font-size:12px;line-height:20px}.script-formatbar button:focus-visible,.script-directory button:focus-visible,.script-directory a:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.script-production-body p{margin:0;color:var(--text-muted);font-size:13px;line-height:20px}.production-entry-page{width:min(640px,calc(100% - 40px));margin:clamp(48px,12vh,120px) auto;padding:32px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.production-entry-page h1{margin:0 0 16px;font-size:22px}.production-entry-page p{color:var(--text-muted);font-size:14px;line-height:1.6}.production-entry-page .button{display:inline-flex;margin-top:20px;text-decoration:none}@media(max-width:1320px){.script-shell{--inspector-width: 0px}.script-inspector{position:fixed;z-index:9;top:0;right:0;width:280px;box-shadow:var(--shadow-card)}.script-shell--inspector-closed .script-inspector{display:none}}@media(max-width:720px){.script-shell{--directory-width: 0px}.script-directory{position:fixed;z-index:8;top:0;left:56px;width:232px;height:100dvh;box-shadow:var(--shadow-card)}.script-shell--closed .script-directory{display:none}.script-content{padding:16px 12px 45px}.script-paper{min-height:calc(100dvh - 150px);padding:28px 22px}.script-paper--editable{padding-top:64px}}@media(max-width:540px){.script-topbar{flex-wrap:wrap;gap:4px 8px;padding:8px 10px}.script-topbar>div:first-of-type{min-width:0}.script-save-actions{width:100%;justify-content:space-between;gap:6px;margin-left:0}.script-save-state{white-space:normal}.script-formatbar{justify-content:flex-start;min-height:52px;margin-bottom:-24px;padding:4px}.script-formatbar button{flex-basis:44px;width:44px;min-height:42px;font-size:10px}.script-paper{padding:24px 18px}.script-paper--editable{padding-top:56px}}.empty-state{display:flex;min-height:250px;flex-direction:column;align-items:center;justify-content:center;padding:40px;border-radius:var(--radius-card);background:var(--surface-subtle);text-align:center}.state-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:19px;border-radius:var(--radius-card);background:color-mix(in srgb,var(--chart-1) 18%,var(--background));color:var(--chart-4)}.empty-state h1,.empty-state h2{margin:0;font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight)}.empty-state p{max-width:440px;margin:11px 0 16px;color:var(--text-muted);font-size:13px;line-height:1.6}.full-state{min-height:calc(100dvh - 16px);background:var(--surface)}.dark .login-shell,.dark .home-composer{background:var(--card)}.dark .login-story:before{background:linear-gradient(180deg,#06112b62 0%,transparent 30%,transparent 58%,#061126ce 100%)}.dark .login-story,.dark .login-story-header{color:var(--foreground)}.dark .login-story h1 span{background-image:linear-gradient(100deg,var(--chart-1),#b4d4ff)}.dark .login-auth .notice{color:var(--chart-1)}.dark .login-story-header img,.dark .home-intro img,.dark .sidebar-brand img{filter:invert(1)}.dark .home-ambient-light{background:radial-gradient(ellipse at 93% 8%,#142446 0,transparent 35%),radial-gradient(ellipse at 0 93%,#122039 0,transparent 32%),var(--surface)}.dark .home-ambient-light canvas{opacity:.42}@media(max-width:900px){.workspace,.workspace:has(.workspace-sidebar.collapsed){grid-template-columns:64px minmax(0,1fr)}.workspace--project,.workspace--project:has(.workspace-sidebar.collapsed){grid-template-columns:56px minmax(0,1fr)}.workspace-sidebar,.workspace-sidebar.collapsed{padding:10px 7px}.sidebar-head,.sidebar-nav a,.sidebar-disabled,.sidebar-account{justify-content:center;padding-inline:0}.sidebar-brand,.workspace-sidebar.collapsed .sidebar-brand{display:flex;justify-content:center;padding:0}.sidebar-brand span,.sidebar-nav a span,.sidebar-disabled span,.sidebar-account>span:not(.account-avatar),.sidebar-toggle{display:none}.home-launch{width:min(760px,calc(100% - 40px))}}@media(max-width:700px){.login-page{padding:16px}.login-shell{grid-template-columns:1fr;margin-top:0}.login-story{min-height:300px;padding:24px 28px}.login-story h1{max-width:55%;margin:auto 0 24px;font-size:clamp(22px,4vw,32px)}.login-auth{min-height:500px;padding:28px}.login-auth>.theme-control{top:28px;right:28px}.login-auth-center{margin-top:30px}}@media(max-width:540px){.login-page{place-items:start center;padding:12px}.login-shell{padding:6px}.login-story{min-height:245px;padding:18px 20px}.login-story h1{max-width:80%;margin-bottom:4px;font-size:22px;line-height:1.33}.login-auth{min-height:569px;padding:24px 20px}.login-auth>.theme-control{top:24px;right:20px}.home-launch{width:min(760px,calc(100% - 40px))}.home-intro{margin-bottom:32px}.home-intro p{font-size:13px;line-height:1.5}.home-options>*{padding-inline:9px;font-size:12px}.listing-page{padding:28px 20px 60px}.project-trail{min-height:52px;margin:-28px 0 20px;line-height:1.4}.settings-page .listing-heading{margin-bottom:20px}.settings-page .listing-heading h1{font-size:24px;line-height:32px}.settings-card{padding:18px}.listing-heading{align-items:flex-start}.project-search{max-width:100%}.empty-state{padding:28px 18px}}.segmented-control{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-control);background:var(--surface-hover)}.segmented-thumb{position:absolute;top:3px;bottom:3px;left:0;z-index:-1;width:var(--thumb-width, 0);translate:var(--thumb-x, 0) 0;border-radius:var(--radius-item);background:var(--surface);box-shadow:var(--shadow-card);opacity:0;transition:translate var(--duration-spring) var(--ease-spring),width var(--duration-spring) var(--ease-spring),opacity var(--duration-feedback) var(--ease)}.segmented-control[data-thumb]>.segmented-thumb{opacity:1}.segmented-control:not([data-thumb-ready])>.segmented-thumb{transition:none}.segmented-control>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;min-width:28px;padding:0 12px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--text-muted);font-size:var(--font-size-small);line-height:1.5;font-weight:500;white-space:nowrap;outline:none}.segmented-control>button:has(>svg:only-child){padding:0}.segmented-control>button:hover:not(:disabled){color:var(--text)}.segmented-control>button[data-selected]{color:var(--text)}.segmented-control>button:focus-visible{box-shadow:var(--focus)}.segmented-control>button:disabled{opacity:.4}.segmented-control.small>button{height:var(--control-small);min-width:var(--control-small);padding:0 10px}.segmented-control.small>button:has(>svg:only-child){padding:0}.kaimu-menu-root{position:relative;display:inline-flex}.kaimu-menu{position:absolute;top:calc(100% + 7px);z-index:30;min-width:192px;max-height:min(70vh,480px);overflow-y:auto;padding:6px;border-radius:var(--radius-card);background:var(--menu-surface);color:var(--menu-surface-foreground);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.kaimu-menu--start{left:0}.kaimu-menu--end{right:0}.kaimu-menu--floating{position:fixed;z-index:60}.kaimu-menu-label{padding:10px 12px;color:var(--menu-surface-muted);font-size:var(--font-size-small);line-height:16px}.kaimu-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 12px;border:0;border-radius:var(--radius-item);background:transparent;color:var(--menu-surface-foreground);font-size:var(--font-size-large);line-height:20px;font-weight:500;text-align:left;cursor:pointer}.kaimu-menu-item:hover:not(:disabled),.kaimu-menu-item:focus-visible{background:var(--menu-surface-hover)}.kaimu-menu-item:focus-visible{outline:none}.kaimu-menu-item:disabled{opacity:.5;cursor:not-allowed}.kaimu-menu-item>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.dropdown-menu-content{--muted-foreground: var(--menu-surface-muted);--accent: var(--menu-surface-hover);--accent-foreground: var(--menu-surface-foreground);max-height:var(--available-height);overflow-y:auto;padding:6px;border-radius:var(--radius-card);background:var(--menu-surface);color:var(--menu-surface-foreground);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;outline:none}.dropdown-menu-content [role=menuitemradio]{border-radius:var(--radius-item);outline:none}.tip-positioner{isolation:isolate;z-index:50}.tip{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:20rem;padding:6px 12px;border-radius:var(--radius-item);background:var(--foreground);color:var(--background);font-size:var(--font-size-small);line-height:16px;transform-origin:var(--transform-origin)}.tip-arrow{position:absolute;z-index:50;width:10px;height:10px;translate:0 calc(-50% - 2px);rotate:45deg;border-radius:2px;background:var(--foreground)}.tip-arrow[data-side=top]{bottom:-10px}.tip-arrow[data-side=bottom]{top:4px}.tip-arrow[data-side=left],.tip-arrow[data-side=right],.tip-arrow[data-side=inline-start],.tip-arrow[data-side=inline-end]{top:50%!important}.tip-arrow[data-side=left],.tip-arrow[data-side=inline-start]{right:-4px;translate:-1.5px -50%}.tip-arrow[data-side=right],.tip-arrow[data-side=inline-end]{left:-4px;translate:1.5px -50%}@keyframes motion-pop-in{0%{opacity:0;scale:.96;filter:blur(var(--motion-blur))}}@keyframes motion-pop-out{to{opacity:0;scale:.97;filter:blur(var(--motion-blur))}}@keyframes motion-rise-in{0%{opacity:0;translate:0 var(--motion-rise);filter:blur(var(--motion-blur))}}.shared-dialog.modal-dialog[data-open],.tip[data-open],.tip[data-instant]{animation:motion-pop-in var(--duration-pop) var(--ease-pop) both}.tip[data-closed]{animation:motion-pop-out var(--duration-exit) var(--ease) both}.tip[data-instant]{animation-duration:0ms}.input:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.textarea{width:100%;min-width:0;resize:vertical;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-control);outline:none;background:color-mix(in oklch,var(--input) 50%,transparent);color:var(--text);font-size:14px;line-height:1.7;transition:background var(--duration-feedback) var(--ease),border-color var(--duration-feedback) var(--ease),box-shadow var(--duration-feedback) var(--ease)}.textarea::placeholder{color:var(--text-muted)}.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.textarea:disabled{opacity:.65;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field:last-child{margin-bottom:0}.field>span{font-size:var(--font-size-small);font-weight:500}.draft-navigation-dialog .modal-actions{flex-wrap:wrap}.screenplay-document{--font-dialogue: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;outline:0;color:var(--foreground);font-size:16px;line-height:28px;overflow-wrap:anywhere}.screenplay-document h3{margin:0 0 24px;min-height:28px;padding:8px 12px;border-radius:var(--radius-item);background:var(--surface-subtle);font-size:16px;line-height:28px;font-weight:600;scroll-margin-top:96px;white-space:pre-wrap}.screenplay-document h3:not(:first-child){margin-top:40px}.screenplay-document p,.screenplay-document>div{margin:0 0 20px;min-height:28px;white-space:pre-wrap}.screenplay-document [data-block-id][data-kind=character]{margin-top:24px;margin-bottom:8px;padding-left:24px;font-size:15px;line-height:24px;font-weight:600}.screenplay-document [data-block-id][data-kind=dialogue]{margin-left:24px;padding-left:16px;box-shadow:inset 2px 0 var(--line-hairline);font-family:var(--font-dialogue)}.screenplay-document [data-block-id][data-kind=voiceover]{padding-left:24px;color:var(--text-secondary);font-family:var(--font-dialogue);font-size:14px;line-height:26px;font-style:italic}.screenplay-document [data-block-id][data-kind=transition]{margin-block:24px;color:var(--text-secondary);font-size:12px;line-height:20px;letter-spacing:.08em;text-align:right;font-weight:600}.screenplay-document mark{padding:1px 2px;border-radius:var(--radius-xs);background:var(--surface-hover);color:inherit;cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone}.screenplay-document mark[data-kind=character]{background:#e7f6ef}.screenplay-document mark[data-kind=location]{background:#e8f1fc}.home-submit--busy:disabled{opacity:1}.screenplay-document h3[data-block-id]{margin:0 0 20px;padding:0;background:transparent;font-size:16px;line-height:28px;font-weight:400}.workspace[data-page=production] .workspace-main{min-height:100dvh;height:100dvh;margin:0;border-radius:0;box-shadow:none}body:has(.workspace[data-page=production]){min-width:760px}.script-loading-shell{pointer-events:none}
