.dock-outer{position:relative;display:flex;width:min(100%,1080px);max-width:100%;align-items:center;justify-content:center;overflow:visible;margin:0 auto}.dock-panel{position:absolute;bottom:6px;left:50%;z-index:8;display:flex;width:fit-content;max-width:100%;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:0 5px;background:color-mix(in srgb,var(--surface-elevated) 74%,transparent);box-shadow:inset 0 1px #ffffff0f,0 18px 48px #0000002e;transform:translate(-50%);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.dock-item{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--dock-item-size, 92px);border:1px solid transparent;min-width:0;height:44px;border-radius:999px;padding:0 12px;color:var(--muted);background:transparent;box-shadow:none;cursor:pointer;outline:none;transition:border-color .16s ease,background .16s ease,color .16s ease}.dock-item span{display:block;width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:520;letter-spacing:0;pointer-events:none}.dock-item:hover,.dock-item:focus-visible{color:var(--text);border-color:var(--line-strong);background:color-mix(in srgb,var(--text) 8%,transparent)}.dock-item.active{color:var(--text);border-color:var(--line);background:color-mix(in srgb,var(--text) 10%,transparent)}.dock-item.active:after{content:"";position:absolute;right:35%;bottom:-5px;left:35%;height:2px;border-radius:999px;background:var(--accent);box-shadow:0 -5px 18px var(--accent)}@media(max-width:1180px){.dock-outer{width:100%}.dock-panel{position:relative;bottom:auto;left:auto;max-width:100%;justify-content:flex-start;align-items:center;overflow-x:auto;transform:none;scrollbar-width:none}.dock-panel::-webkit-scrollbar{display:none}}:root{color-scheme:dark light;font-family:var(--font-ui);font-synthesis:none;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-ui: "HarmonyOS Sans SC", "MiSans", "Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Hiragino Sans GB", "SF Pro SC", "SF Pro Text", "Helvetica Neue", "Microsoft YaHei UI", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body: var(--font-ui);--font-title: var(--font-body);--font-mono: var(--font-body);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 560;--weight-title: 620;--radius: 8px;--radius-sm: 6px;--radius-select: .75rem;--radius-card: 14px;--card-gap: 12px;--accent: #ffffff;--accent-strong: #ffffff;--accent-ink: #0f0f0f;--focus: #50d9ff;--alignment-guide: color-mix(in srgb, var(--focus) 38%, transparent);--shadow: 0 28px 80px rgb(0 0 0 / .24)}.server-state-error{position:absolute;z-index:20;top:.75rem;left:50%;max-width:min(38rem,calc(100% - 2rem));padding:.65rem .9rem;border:1px solid rgb(211 89 89 / 45%);border-radius:.7rem;background:#541919eb;color:#ffe8e8;transform:translate(-50%)}.history-title-row,.memory-panel-title,.history-card-actions,.memory-card>div{display:flex;align-items:center;gap:.4rem}.history-title-row,.memory-panel-title{justify-content:space-between}.history-title-row button,.history-card-actions button,.memory-panel button{padding:.2rem .45rem;border:1px solid var(--border-subtle);border-radius:.45rem;background:transparent;color:inherit;font-size:.7rem;cursor:pointer}.history-card.active{border-color:#a7cdff99;background:#78a6e21f}.history-card-actions{margin-top:.45rem}.memory-panel{display:grid;gap:.6rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border-subtle)}.memory-card{display:grid;gap:.3rem;padding:.65rem;border:1px solid var(--border-subtle);border-radius:.65rem}.memory-card span,.memory-card p,.memory-panel small,.credit-summary small,.agent-used-memory{color:var(--text-muted);font-size:.72rem}.agent-message-branch-actions{display:flex;gap:8px;margin-top:8px}.agent-message-branch-actions button{border:0;background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:12px;padding:0}.memory-card p{margin:0;line-height:1.45}.credit-summary{display:grid;gap:.25rem;margin-top:1rem;padding:.75rem;border:1px solid var(--border-subtle);border-radius:.7rem}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-body);font-size:15px;font-weight:var(--weight-regular);overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;font-weight:var(--weight-medium)}:where(button,input,textarea,select):focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 72%,transparent);outline-offset:2px}strong,b{font-weight:var(--weight-semibold)}h1,h2,h3{font-weight:var(--weight-title)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{min-height:100dvh;color:var(--text);background:var(--page);transition:background .26s ease,color .26s ease}.app-route-layer{position:fixed;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0;overflow:hidden;background:var(--page)}.theme-dark{color-scheme:dark;--page: #0b0b0b;--surface: #111111;--surface-elevated: #191919;--surface-soft: #242424;--line: rgb(255 255 255 / .1);--line-strong: rgb(255 255 255 / .24);--text: #f7f7f7;--muted: #b7b7b7;--subtle: #747474;--input: #0c0c0c;--canvas-node-prompt-bg: #202020;--accent: #ffffff;--accent-strong: #ffffff;--accent-ink: #0b0b0b;--beam: rgb(255 255 255 / .22);--beam-soft: rgb(255 255 255 / .1);--card-shadow: 0 18px 44px rgb(0 0 0 / .34)}.theme-light{color-scheme:light;--page: #f4f4f4;--surface: #ffffff;--surface-elevated: #f9f9f9;--surface-soft: #ececec;--line: rgb(0 0 0 / .12);--line-strong: rgb(0 0 0 / .24);--text: #111111;--muted: #555555;--subtle: #8a8a8a;--input: #ffffff;--canvas-node-prompt-bg: #e7e7e7;--accent: #111111;--accent-strong: #000000;--accent-ink: #ffffff;--beam: rgb(0 0 0 / .08);--beam-soft: rgb(0 0 0 / .05);--card-shadow: 0 16px 38px rgb(0 0 0 / .08)}.welcome-screen{position:relative;display:grid;min-height:100dvh;place-items:center;overflow:hidden;isolation:isolate;background:#030303}.welcome-three{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#000;pointer-events:none}.welcome-three canvas{display:block;width:100%!important;height:100%!important}.welcome-depth-shadow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 0%,rgb(0 0 0 / .12) 62%,rgb(0 0 0 / .58) 100%),linear-gradient(180deg,rgb(0 0 0 / .38) 0%,transparent 30%,rgb(0 0 0 / .22) 100%)}.welcome-card{position:relative;z-index:2;display:grid;justify-items:center;gap:18px;width:min(92vw,520px);margin-top:-172px;padding:34px 30px;text-align:center}.welcome-card h1{margin:-38px 0 58px;color:#fff;font-size:clamp(2.35rem,6vw,5.1rem);font-weight:var(--weight-title);letter-spacing:0;line-height:.96}.auto-guest-card{position:relative;z-index:2;display:grid;justify-items:center;gap:18px;color:#fff;text-align:center}.auto-guest-card .logo-mark-image{width:74px}.auto-guest-card p{margin:0;color:#ffffffb8;font-size:14px;font-weight:300}.logo-mark-image{width:min(28vw,132px);max-height:min(28vw,150px);object-fit:contain;filter:drop-shadow(0 18px 72px rgb(255 255 255 / .16)) drop-shadow(0 2px 18px rgb(255 255 255 / .18))}.theme-toggle{display:inline-grid;width:64px;height:44px;place-items:center;border:1px solid var(--line);border-radius:999px;padding:0;color:var(--text);background:var(--surface-elevated);transition:border-color .18s ease,background .18s ease,transform .18s ease}.theme-toggle.floating{position:fixed;top:22px;right:22px;z-index:5;background:#ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.theme-light .theme-toggle.floating{background:#ffffffb8}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--line-strong)}.theme-toggle-track{position:relative;display:block;width:48px;height:24px;border-radius:999px;background:var(--input);box-shadow:inset 0 0 0 1px var(--line)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;display:grid;width:18px;height:18px;place-items:center;border-radius:999px;color:#0b0b0b;background:#fff;transition:translate .22s cubic-bezier(.16,1,.3,1),color .18s ease,background .18s ease}.theme-toggle.light .theme-toggle-thumb{translate:24px 0;color:#fff;background:#111}.primary-button,.secondary-button,.icon-button,.profile-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 18px;color:inherit;white-space:nowrap;transition:transform .16s ease,background .18s ease,border-color .18s ease,color .18s ease}.primary-button{color:var(--accent-ink);background:linear-gradient(180deg,var(--accent-strong),var(--accent));box-shadow:inset 0 1px #ffffff3d,0 14px 40px #ffffff14;font-weight:var(--weight-semibold)}.primary-button.monochrome{background:var(--text);color:var(--page);box-shadow:none}.liquid-metal-button-root{display:inline-block}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.profile-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active,.icon-button:active,.profile-button:active{transform:translateY(1px)}.primary-button.full,.secondary-button.full{width:100%}.primary-button.compact,.secondary-button.compact{height:38px;min-height:38px;padding:0 14px;box-sizing:border-box}.secondary-button,.icon-button,.profile-button{border-color:var(--line);color:var(--text);background:var(--surface-elevated)}.secondary-button:hover,.icon-button:hover,.profile-button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.dropdown-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-select);padding:0 10px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 92%,transparent);outline:0;box-shadow:0 1px #ffffff08;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.dropdown-select-trigger:hover,.dropdown-select-trigger[data-state=open]{border-color:var(--line-strong);background:var(--surface-soft)}.dropdown-select-trigger:focus-visible{border-color:color-mix(in srgb,var(--text) 34%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 14%,transparent)}.dropdown-select-trigger:disabled{pointer-events:none}.dropdown-select-value{min-width:0;overflow:hidden;font-size:.84rem;font-weight:var(--weight-medium);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.dropdown-select-leading-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;color:var(--muted)}.dropdown-select-icon{flex:0 0 auto;color:var(--muted);transition:color .16s ease,transform .18s ease}.dropdown-select-trigger[data-state=open] .dropdown-select-icon{color:var(--text);transform:rotate(180deg)}.dropdown-menu-content{z-index:50;min-width:max(var(--radix-dropdown-menu-trigger-width),10rem);max-height:min(var(--radix-dropdown-menu-content-available-height),320px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius-select);padding:4px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 96%,transparent);box-shadow:0 18px 48px #00000038,0 2px 10px #0000001f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform-origin:var(--radix-dropdown-menu-content-transform-origin);scrollbar-width:thin;animation:dropdown-menu-in .15s cubic-bezier(.16,1,.3,1)}.theme-light .dropdown-menu-content{box-shadow:0 18px 40px #0000001f,0 2px 8px #00000014}.dropdown-menu-radio-item{position:relative;display:flex;min-height:32px;align-items:center;gap:8px;border-radius:8px;padding:6px 8px 6px 30px;color:var(--text);cursor:default;font-size:.84rem;font-weight:var(--weight-regular);line-height:1.2;outline:0;-webkit-user-select:none;user-select:none;transition:background .14s ease,color .14s ease}.dropdown-menu-radio-item[data-highlighted]{background:color-mix(in srgb,var(--text) 10%,transparent)}.dropdown-menu-radio-item[data-state=checked]{background:color-mix(in srgb,var(--text) 7%,transparent)}.dropdown-menu-radio-item[data-disabled]{pointer-events:none;opacity:.5}.dropdown-menu-item-indicator{position:absolute;left:8px;display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center;color:var(--text)}.dropdown-menu-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes dropdown-menu-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;min-height:100dvh;place-items:center;padding:24px;background:#000000b3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.modal-layer.soft-backdrop{background:#000000ad;backdrop-filter:blur(10px) brightness(.62);-webkit-backdrop-filter:blur(10px) brightness(.62)}.modal-card{width:min(100%,440px);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid var(--line-strong);border-radius:24px;padding:24px;background:linear-gradient(145deg,rgb(255 255 255 / .08),transparent),var(--surface);box-shadow:0 28px 90px #00000061,inset 0 1px #ffffff0d}.modal-card.wide{width:min(100%,860px)}.modal-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.auth-dialog-card{color-scheme:dark;--surface: #050505;--surface-elevated: #111111;--surface-soft: #171717;--line: rgb(255 255 255 / .12);--line-strong: rgb(255 255 255 / .24);--text: #f7f7f7;--muted: #a7a7a7;--subtle: #767676;--input: #0b0b0b;--accent: #ffffff;--accent-strong: #ffffff;--accent-ink: #050505;border-color:#ffffff2e;color:var(--text);background:radial-gradient(circle at 50% -20%,rgb(255 255 255 / .12),transparent 42%),#050505;box-shadow:0 34px 110px #000000b8,inset 0 1px #ffffff14}.auth-dialog-card .icon-button{border-color:var(--line);color:var(--muted);background:#0d0d0d}.auth-dialog-card .auth-brand img,.theme-light .auth-dialog-card .auth-brand img{filter:drop-shadow(0 14px 44px rgb(255 255 255 / .12))}.auth-dialog-card .primary-button.monochrome{border-color:#fff;color:#050505;background:#fff}.auth-form-error{margin:0;border:1px solid rgb(216 97 97 / .42);border-radius:var(--radius-sm);padding:10px 12px;color:#ffb4b4;background:#79252538;font-size:.8rem;line-height:1.5}.auth-form-notice{margin:0;border:1px solid rgb(125 184 145 / .34);border-radius:var(--radius-sm);padding:10px 12px;color:#c8f0d5;background:#2e694233;font-size:.8rem;line-height:1.5}.auth-forgot-password{justify-self:end;border:0;padding:0;color:var(--muted);background:transparent;font:inherit;font-size:.8rem;cursor:pointer}.auth-forgot-password:hover:not(:disabled){color:var(--text)}.auth-forgot-password:disabled{cursor:default;opacity:.55}.auth-form-hint,.auth-verification-copy{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.auth-verification-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto);align-items:end;gap:10px}.auth-verification-request{min-height:46px;white-space:nowrap}@media(max-width:520px){.auth-verification-row{grid-template-columns:minmax(0,1fr)}.auth-verification-request{width:100%}}.auth-brand{display:grid;justify-items:center;gap:12px;margin-bottom:20px;text-align:center}.auth-brand img{width:54px;height:62px;object-fit:contain;filter:drop-shadow(0 14px 44px rgb(255 255 255 / .12))}.theme-light .auth-brand img{filter:brightness(0)}.auth-brand h3{margin:0;font-size:1.25rem}.auth-brand p{margin:6px 0 0;color:var(--muted);line-height:1.6}.profile-detail{display:grid;gap:0}.profile-detail-hero{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:2px 0 16px}.profile-avatar-edit{position:relative;display:grid;width:62px;height:62px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--input);cursor:pointer;transition:transform .16s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.profile-avatar-edit:hover,.profile-avatar-edit:focus-visible{border-color:var(--line-strong);background:var(--surface-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 12%,transparent)}.profile-avatar-edit:active{transform:translateY(1px)}.profile-avatar-input{display:none}.profile-avatar-edit img,.profile-button-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-avatar-edit-badge{position:absolute;right:-2px;bottom:-2px;display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--surface-elevated);box-shadow:0 2px 6px #0000002e}.profile-name-row{display:flex;align-items:center;gap:10px;min-width:0}.profile-detail-hero h3{margin:0;font-size:1.05rem}.profile-name-input{width:min(220px,44vw);min-height:34px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;color:var(--text);background:var(--input);font-size:1.02rem;font-weight:var(--weight-semibold);outline:0}.profile-name-input:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 10%,transparent)}.profile-name-edit{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;color:var(--text);background:var(--surface-elevated);font-size:.82rem;white-space:nowrap;cursor:pointer}.profile-name-edit:hover{border-color:var(--line-strong);background:var(--surface-soft)}.profile-detail-hero p{margin:5px 0 0;color:var(--muted)}.profile-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:16px;border-bottom:1px solid var(--line)}.profile-detail-grid div{display:grid;gap:7px;padding:14px 12px}.profile-detail-grid div+div{border-left:1px solid var(--line)}.profile-detail-grid span{color:var(--muted);font-size:.82rem}.profile-detail-grid strong{overflow:hidden;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.modal-card h2,.modal-card h3,.panel-title h2{margin:0;letter-spacing:0}.modal-card h2{font-size:1.22rem;font-weight:var(--weight-title)}.modal-card h3{font-size:1rem;font-weight:var(--weight-semibold)}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--input)}.segmented-control button{min-height:38px;border:0;border-radius:9px;color:var(--muted);background:transparent}.segmented-control button.active{color:var(--text);background:var(--surface-elevated);box-shadow:inset 0 0 0 1px var(--line)}.form-stack{display:grid;gap:15px}.field{display:grid;gap:8px}.field span{color:var(--muted);font-size:.86rem}.field input,.field select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);background:var(--input);outline:0}.field input,.field select,.field .dropdown-select-trigger{height:44px;padding:0 13px}.field input:focus,.field select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 18%,transparent)}.field input::placeholder,textarea::placeholder{color:var(--subtle)}.profile-button-avatar{width:24px;height:24px;border:1px solid var(--line)}.workspace{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100dvh;min-height:100dvh;overflow:hidden}.workspace-header{position:absolute;top:0;right:0;left:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;min-height:72px;overflow:visible;border-bottom:0;padding:0 20px;background:#0a0a0a94;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.workspace-header>.dock-outer{width:max-content}.workspace-dock-panel{position:relative;bottom:auto;left:auto;padding-inline:0;transform:none}.workspace-dock-panel .dock-item{flex:0 0 auto;width:124px}.workspace-dock-panel .dock-item:first-child{margin-left:-1px}.workspace-dock-panel .dock-item:last-child{margin-right:-1px}.theme-light .workspace-header{background:#ffffffa3}.brand-lockup,.profile-tools{display:flex;align-items:center;gap:10px}.brand-lockup{min-width:0}.brand-logo-image{display:block;width:104px;height:44px;flex:0 0 auto;object-fit:contain;padding:0;background:transparent;box-shadow:none}.theme-light .brand-logo-image{background:transparent;box-shadow:none;filter:brightness(0)}.workspace-project-context{display:flex;min-width:0;align-items:center;gap:4px;border-left:1px solid var(--line);padding-left:10px}.workspace-project-dropdown{width:clamp(132px,14vw,210px);min-height:44px;border-radius:8px;background:color-mix(in srgb,var(--surface-elevated) 74%,transparent)}.workspace-project-edit,.workspace-project-create{display:inline-grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:8px;padding:0;color:var(--muted);background:color-mix(in srgb,var(--surface-elevated) 74%,transparent)}.workspace-project-edit:hover,.workspace-project-create:hover,.workspace-project-edit:focus-visible,.workspace-project-create:focus-visible{border-color:var(--line-strong);color:var(--text);background:var(--surface-elevated)}.profile-tools{justify-content:flex-end}.workspace-language-select{width:auto;min-height:34px;flex:0 0 auto;background:transparent;box-shadow:none}.workspace-language-select .dropdown-select-value{max-width:6.5em}.profile-button span{max-width:92px;overflow:hidden;text-overflow:ellipsis}.auth-logout-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 12px;color:var(--muted);background:color-mix(in srgb,var(--surface-elevated) 74%,transparent);cursor:pointer;font:inherit;font-size:.82rem;transition:color .16s ease,border-color .16s ease,background .16s ease}.auth-logout-button:hover,.auth-logout-button:focus-visible{border-color:color-mix(in srgb,#d86161 42%,var(--line));color:color-mix(in srgb,#e68080 84%,var(--text));background:color-mix(in srgb,#9f2f2f 16%,var(--surface-elevated));outline:none}.workspace-body{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;padding:94px 22px 22px;background:linear-gradient(130deg,color-mix(in srgb,var(--text) 5%,transparent),transparent 28%),var(--page)}.workspace-body.is-canvas-view{padding:0;background:transparent}.workspace-preserved-view{display:contents}.workspace-preserved-view.is-hidden{display:none}.agent-layout,.canvas-layout{display:grid;min-height:0;gap:18px}.agent-layout{grid-template-columns:260px minmax(0,1fr) 300px;gap:0;height:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 20%,transparent);border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 1px #ffffff08}.agent-stage{position:relative;display:grid;min-width:0;height:100%;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--text) 8%,transparent),transparent 28%),var(--surface);box-shadow:inset 0 1px #ffffff08}.agent-home{display:grid;align-content:center;justify-items:center;gap:18px;height:100%;min-height:100%;overflow:hidden;padding:clamp(32px,5vw,64px)}.agent-home.chatting{--agent-chat-pad: clamp(18px, 3vw, 34px);--agent-composer-reserve: 88px;position:relative;display:block;height:100%;min-height:0;overflow:hidden;padding:var(--agent-chat-pad)}.agent-conversation{position:absolute;inset:var(--agent-chat-pad) var(--agent-chat-pad) calc(var(--agent-chat-pad) + var(--agent-composer-reserve)) var(--agent-chat-pad);display:flex;min-width:0;gap:12px;flex-direction:column;justify-content:flex-start;height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:2px 4px;overscroll-behavior:contain;scrollbar-width:thin}.agent-conversation:before{content:"";flex:0 0 auto;margin-top:auto}.agent-conversation-end{width:1px;min-height:1px;flex:0 0 1px;pointer-events:none}.agent-message{display:flex;width:fit-content;max-width:min(74%,680px);min-width:0;flex:0 0 auto;flex-direction:column;gap:8px;align-items:flex-start}.agent-message.user{align-items:flex-end;margin-left:auto}.agent-message-meta{display:flex;max-width:100%;min-width:0;align-items:center;gap:8px;color:var(--muted);font-size:.72rem;font-weight:var(--weight-regular);line-height:1}.agent-message.user .agent-message-meta{flex-direction:row-reverse}.agent-message-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-message-avatar{display:grid;width:32px;height:32px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--surface-elevated) 88%,transparent)}.agent-message-avatar img{width:22px;height:22px;object-fit:contain}.agent-message-avatar img.user-message-avatar-image{width:100%;height:100%;object-fit:cover}.theme-light .agent-message-avatar img{filter:brightness(0)}.theme-light .agent-message-avatar img.user-message-avatar-image{filter:none}.agent-message-content{display:grid;position:relative;width:fit-content;max-width:100%;min-width:0;gap:7px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:16px;padding:13px 15px;background:color-mix(in srgb,var(--surface-elevated) 84%,transparent);-webkit-user-select:text;user-select:text}.agent-message.user .agent-message-content{background:color-mix(in srgb,var(--text) 10%,var(--surface-elevated))}.agent-message.error .agent-message-content{border-color:color-mix(in srgb,#ff6b6b 46%,var(--line))}.agent-message-content p{min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:.92rem;line-height:1.72}.agent-message-text{cursor:text;-webkit-user-select:text;user-select:text}.agent-message-markdown{display:block;width:100%;min-width:0;overflow-wrap:anywhere;white-space:normal}.agent-message-markdown>:first-child{margin-top:0}.agent-message-markdown>:last-child{margin-bottom:0}.agent-message-markdown h1,.agent-message-markdown h2,.agent-message-markdown h3,.agent-message-markdown h4,.agent-message-markdown h5,.agent-message-markdown h6{margin:1.1em 0 .5em;color:var(--text);font-size:1em;line-height:1.4}.agent-message-markdown ul,.agent-message-markdown ol{margin:.7em 0;padding-left:1.55em}.agent-message-markdown li{margin:.3em 0;line-height:1.65}.agent-message-markdown code{border:1px solid var(--border-subtle);border-radius:4px;padding:1px 5px;background:color-mix(in srgb,var(--text) 8%,transparent);font-family:var(--font-mono);font-size:.88em}.agent-message-markdown pre,.agent-message-markdown .markdown-table-scroll{max-width:100%;margin:.8em 0;overflow-x:auto;border:1px solid var(--border-subtle);padding:10px;background:var(--surface)}.agent-message-markdown pre code{border:0;padding:0;background:transparent}.agent-message-markdown blockquote{margin:.8em 0;border-left:3px solid var(--accent);padding:7px 11px;color:var(--text-muted);background:color-mix(in srgb,var(--text) 5%,transparent)}.agent-message-markdown table{width:100%;border-collapse:collapse;font-size:.82rem}.agent-message-markdown th,.agent-message-markdown td{min-width:110px;border:1px solid var(--border-subtle);padding:8px 10px;text-align:left;vertical-align:top}.agent-message-content.is-collapsed{max-height:260px;overflow:hidden}.agent-message-content.is-collapsed:after{position:absolute;right:0;bottom:0;left:0;height:72px;border-radius:0 0 16px 16px;pointer-events:none;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--surface-elevated) 94%,transparent));content:""}.agent-message-collapse-button{display:inline-flex;width:fit-content;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:999px;padding:5px 10px;color:var(--muted);background:color-mix(in srgb,var(--surface-elevated) 78%,transparent);cursor:pointer;font-size:.75rem;font-weight:var(--weight-medium);-webkit-user-select:none;user-select:none;transition:color .15s ease,border-color .15s ease,background .15s ease}.agent-message-collapse-button:hover{border-color:color-mix(in srgb,var(--text) 24%,transparent);color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent)}.agent-message-actions{display:flex;align-items:center;gap:4px;margin-top:-2px;-webkit-user-select:none;user-select:none}.agent-message-actions button{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid transparent;border-radius:9px;color:var(--muted);background:transparent;transition:background .16s ease,color .16s ease,border-color .16s ease}.agent-message-actions button:hover{border-color:color-mix(in srgb,var(--text) 12%,transparent);color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent)}.agent-home.chatting .agent-composer-shell{position:absolute;z-index:2;right:auto;bottom:var(--agent-chat-pad);left:50%;width:min(calc(100% - var(--agent-chat-pad) * 2),560px);margin-top:0;transform:translate(-50%)}.agent-identity{display:grid;justify-items:center;gap:clamp(18px,3vh,30px)}.agent-empty-state{display:grid;justify-items:center;gap:24px;width:min(100%,560px)}.agent-task-starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.agent-task-starters button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 12px;color:var(--muted);background:color-mix(in srgb,var(--surface-elevated) 72%,transparent);font-size:.82rem;text-align:left;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.agent-task-starters button:hover{border-color:var(--line-strong);color:var(--text);background:var(--surface-elevated)}.agent-task-starters button:active{transform:translateY(1px)}.agent-task-starters button svg{flex:0 0 auto}.agent-task-starters button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-home-logo{width:clamp(74px,9vw,116px);max-height:132px;object-fit:contain;opacity:.94;filter:drop-shadow(0 18px 64px rgb(255 255 255 / .14)) drop-shadow(0 2px 16px rgb(255 255 255 / .16))}.theme-light .agent-home-logo{filter:brightness(0) drop-shadow(0 18px 42px rgb(0 0 0 / .08))}.agent-greeting{position:relative;margin:0;max-width:min(100%,760px);overflow:visible;color:var(--text);font-family:inherit;font-size:clamp(1.12rem,1.7vw,1.75rem);font-weight:var(--weight-medium);line-height:1.2;text-align:center}.agent-greeting strong{display:inline-block;font-weight:inherit}.agent-composer-shell{position:relative;width:min(100%,560px);margin-top:0;transform:none;transition:width .18s ease,transform .18s ease,opacity .2s ease}.agent-composer-shell:focus-within,.agent-composer-shell.has-content{width:min(100%,560px)}.agent-composer{--composer-x: 50%;--composer-y: 50%;position:relative;isolation:isolate;z-index:1;display:grid;gap:8px;min-height:60px;overflow:visible;border:0;border-radius:24px;padding:8px;background:linear-gradient(90deg,#ffffff14,#ffffff1f,#ffffff14),#ffffff1f;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;transition:background .5s ease,box-shadow .5s ease}.agent-composer:before,.agent-composer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .3s ease}.agent-composer:before{z-index:0;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 18%,transparent),0 2px 8px #0000001f}.agent-composer:after{z-index:1;background:transparent;filter:none}.agent-composer:hover:before,.agent-composer:focus-within:before{opacity:1}.agent-composer:focus-within:after{opacity:0}.agent-composer:hover:after{opacity:0}.agent-composer:hover{background:linear-gradient(90deg,#ffffff1c,#ffffff26,#ffffff1c),#ffffff2b}.theme-light .agent-composer{background:linear-gradient(90deg,#ffffffc7,#ffffffe6,#ffffffc7),#ffffffbd;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.theme-light .agent-composer:hover{background:linear-gradient(90deg,#ffffffd6,#fffffff2,#ffffffd6),#ffffffd1}.agent-composer:focus-within,.theme-light .agent-composer:focus-within{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.agent-attachment-strip{position:relative;z-index:2;display:flex;gap:10px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin}.agent-file-card,.agent-paste-card{position:relative;flex:0 0 auto;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.agent-file-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;width:172px;min-height:66px;gap:10px;padding:10px 30px 10px 10px}.agent-file-card img,.agent-file-icon{width:42px;height:42px;border-radius:11px}.agent-file-card img{object-fit:cover}.agent-file-icon{display:grid;place-items:center;color:var(--muted);background:var(--surface-soft)}.agent-file-card strong{display:block;overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.agent-file-card span{color:var(--muted);font-size:.74rem}.agent-file-card>button,.agent-paste-card>button{position:absolute;top:7px;right:7px;display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-elevated)}.agent-uploading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#0000006b}.agent-uploading svg{animation:spin .8s linear infinite}.agent-paste-card{display:grid;align-content:space-between;width:130px;height:96px;padding:12px}.agent-paste-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-family:var(--font-mono);font-size:.68rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:4}.agent-paste-card span{justify-self:start;border:1px solid var(--line);border-radius:7px;padding:2px 6px;color:var(--muted);font-size:.58rem;font-weight:var(--weight-medium);letter-spacing:0}.agent-input-area{position:relative;display:flex;flex:1;align-items:center;min-height:32px;min-width:0}.agent-input-area textarea{display:block;width:100%;min-height:32px;max-height:96px;overflow-y:auto;border:0;border-radius:0;padding:4px 10px;color:var(--text);background:transparent;outline:0;resize:none;box-shadow:none;font-size:.875rem;font-weight:380;line-height:22px}.agent-input-area textarea::placeholder{color:var(--muted)}.agent-composer-row{display:flex;align-items:center;position:relative;z-index:2;min-height:44px;min-width:0}.agent-icon-action,.agent-outline-action,.agent-send-button{display:inline-flex;align-items:center;justify-content:center;border:0;color:var(--muted);background:transparent;transition:color .16s ease,background .16s ease,transform .16s ease}.agent-icon-action{width:44px;height:44px;flex:0 0 auto;margin:0 4px;border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--text) 10%,transparent)}.agent-outline-action{width:44px;height:44px;flex:0 0 auto;margin:0 4px 0 0;border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--text) 10%,transparent)}.agent-icon-action:hover:not(:disabled),.agent-icon-action.active,.agent-outline-action:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--text) 20%,transparent)}.agent-icon-action:disabled,.agent-outline-action:disabled{cursor:default;opacity:.45}.agent-icon-action.recording{color:#fff;background:#d94a3a;box-shadow:0 0 0 4px #d94a3a29}.agent-icon-action.recording svg{animation:voice-pulse .9s ease-in-out infinite}.agent-icon-action:active,.agent-outline-action:active,.agent-send-button:active{transform:scale(.96)}.agent-voice-status{position:relative;z-index:2;min-height:18px;padding:3px 48px 0;color:var(--muted);font-size:.72rem;line-height:1.35}.agent-voice-status.error{color:#d94a3a}@keyframes voice-pulse{0%,to{transform:scale(1)}50%{transform:scale(.86)}}.agent-send-button{width:44px;height:44px;flex:0 0 auto;border-radius:999px;color:#fff;background:#0a1217;opacity:.9}.theme-dark .agent-send-button{color:#fff;background:#0a1217}.agent-send-button:disabled{cursor:default;color:#fff9;background:#9ca3af;opacity:.4}.agent-hidden-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);opacity:0;pointer-events:none}.agent-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed color-mix(in srgb,var(--text) 42%,transparent);border-radius:22px;color:var(--text);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.agent-drag-overlay strong{font-size:.95rem}.context-rail,.history-rail{min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 1px #ffffff08}.context-rail,.history-rail{overflow:auto;padding:16px}.context-rail{display:grid;align-content:start;gap:16px}.history-rail{display:grid;align-content:start;gap:14px}.agent-layout>.context-rail,.agent-layout>.agent-stage,.agent-layout>.history-rail{border:0;border-radius:0;background:transparent;box-shadow:none}.agent-layout>.context-rail{display:flex;flex-direction:column;border-right:1px solid color-mix(in srgb,var(--text) 20%,transparent);padding:18px}.agent-layout>.history-rail{border-left:1px solid color-mix(in srgb,var(--text) 20%,transparent);padding:18px}.agent-layout .panel-title{margin-bottom:14px}.agent-layout .panel-title h2{font-size:.92rem}.agent-layout .panel-title svg{width:17px;height:17px}.agent-layout .info-row{gap:3px;border-bottom-color:color-mix(in srgb,var(--text) 14%,transparent);padding-bottom:9px}.agent-layout .info-row span{font-size:.74rem}.agent-layout .info-row strong{overflow-wrap:anywhere;font-size:.86rem;line-height:1.35}.project-materials-panel{display:grid;gap:10px;margin-top:auto}.materials-box{display:grid;gap:10px;min-height:150px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:14px;padding:12px;background:color-mix(in srgb,var(--surface-elevated) 56%,transparent)}.materials-box header{display:flex;align-items:center;justify-content:space-between;gap:10px}.materials-box header strong{font-size:.82rem}.materials-box header span{color:var(--muted);font-size:.68rem}.materials-list{display:grid;align-content:start;gap:7px;max-height:156px;overflow:auto;padding-right:2px;scrollbar-color:color-mix(in srgb,var(--text) 26%,transparent) transparent;scrollbar-width:thin}.materials-list::-webkit-scrollbar{width:8px}.materials-list::-webkit-scrollbar-track{background:transparent}.materials-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--text) 24%,transparent);background-clip:content-box}.theme-light .materials-list{scrollbar-color:rgb(0 0 0 / .22) transparent}.theme-light .materials-list::-webkit-scrollbar-thumb{background:#00000038;background-clip:content-box}.theme-dark .materials-list{scrollbar-color:rgb(255 255 255 / .24) transparent}.theme-dark .materials-list::-webkit-scrollbar-thumb{background:#ffffff3d;background-clip:content-box}.dropdown-menu-content,.agent-conversation,.agent-input-area textarea,.materials-list,.context-rail,.history-rail{scrollbar-color:color-mix(in srgb,var(--text) 20%,transparent) transparent;scrollbar-width:thin}.dropdown-menu-content::-webkit-scrollbar,.agent-conversation::-webkit-scrollbar,.agent-input-area textarea::-webkit-scrollbar,.materials-list::-webkit-scrollbar,.context-rail::-webkit-scrollbar,.history-rail::-webkit-scrollbar{width:8px;height:8px}.dropdown-menu-content::-webkit-scrollbar-track,.agent-conversation::-webkit-scrollbar-track,.agent-input-area textarea::-webkit-scrollbar-track,.materials-list::-webkit-scrollbar-track,.context-rail::-webkit-scrollbar-track,.history-rail::-webkit-scrollbar-track{background:transparent}.dropdown-menu-content::-webkit-scrollbar-thumb,.agent-conversation::-webkit-scrollbar-thumb,.agent-input-area textarea::-webkit-scrollbar-thumb,.materials-list::-webkit-scrollbar-thumb,.context-rail::-webkit-scrollbar-thumb,.history-rail::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--text) 20%,transparent);background-clip:content-box}.theme-light .dropdown-menu-content,.theme-light .agent-conversation,.theme-light .agent-input-area textarea,.theme-light .materials-list,.theme-light .context-rail,.theme-light .history-rail{scrollbar-color:rgb(17 17 17 / .18) transparent}.theme-light .dropdown-menu-content::-webkit-scrollbar-thumb,.theme-light .agent-conversation::-webkit-scrollbar-thumb,.theme-light .agent-input-area textarea::-webkit-scrollbar-thumb,.theme-light .materials-list::-webkit-scrollbar-thumb,.theme-light .context-rail::-webkit-scrollbar-thumb,.theme-light .history-rail::-webkit-scrollbar-thumb{background:#1111112e;background-clip:content-box}.theme-dark .dropdown-menu-content,.theme-dark .agent-conversation,.theme-dark .agent-input-area textarea,.theme-dark .materials-list,.theme-dark .context-rail,.theme-dark .history-rail{scrollbar-color:rgb(255 255 255 / .2) transparent}.theme-dark .dropdown-menu-content::-webkit-scrollbar-thumb,.theme-dark .agent-conversation::-webkit-scrollbar-thumb,.theme-dark .agent-input-area textarea::-webkit-scrollbar-thumb,.theme-dark .materials-list::-webkit-scrollbar-thumb,.theme-dark .context-rail::-webkit-scrollbar-thumb,.theme-dark .history-rail::-webkit-scrollbar-thumb{background:#fff3;background-clip:content-box}.materials-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;border-top:1px solid color-mix(in srgb,var(--text) 10%,transparent);padding-top:7px}.materials-list article:first-child{border-top:0;padding-top:0}.materials-list svg{margin-top:1px;color:var(--muted)}.materials-list article strong{display:block;overflow:hidden;font-size:.76rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.materials-list article span{display:block;margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.35}.material-delete-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:999px;color:var(--muted);background:transparent;transition:color .16s ease,background .16s ease,transform .16s ease}.material-delete-button:hover{color:#d94a3a;background:color-mix(in srgb,#d94a3a 12%,transparent)}.material-delete-button:active{transform:scale(.94)}.materials-empty{display:grid;min-height:98px;place-items:center;border:1px dashed color-mix(in srgb,var(--text) 16%,transparent);border-radius:12px;color:var(--subtle);font-size:.76rem}.material-upload-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:12px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 68%,transparent);font-size:.78rem;font-weight:var(--weight-medium);transition:background .16s ease,border-color .16s ease,transform .16s ease}.material-upload-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--text) 24%,transparent);background:var(--surface-soft)}.history-list{display:grid;gap:0}.history-card{display:grid;gap:7px;width:100%;border:0;border-bottom:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:0;padding:12px 0;color:var(--text);text-align:left;background:transparent;transition:background .16s ease,transform .16s ease}.history-card:first-child{padding-top:0}.history-card:last-child{border-bottom:0;padding-bottom:0}.history-card:hover{transform:translate(2px);background:color-mix(in srgb,var(--text) 4%,transparent)}.history-card span{color:var(--muted);font-size:.7rem}.history-card strong{font-size:.84rem;overflow-wrap:anywhere;word-break:break-word}.history-card p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.55}.message{display:grid;max-width:min(72%,680px);gap:6px;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;background:var(--surface-elevated)}.message.user{justify-self:end;background:color-mix(in srgb,var(--accent) 14%,var(--surface-elevated))}.message span,.info-row span{color:var(--muted);font-size:.84rem}.message p{margin:0;line-height:1.7}.info-block{display:grid;gap:12px}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.panel-title svg{color:var(--accent)}.panel-title h2{font-size:1rem;font-weight:var(--weight-semibold)}.empty-state{display:grid;min-height:168px;align-content:center;justify-items:center;gap:8px;border:1px dashed color-mix(in srgb,var(--text) 18%,transparent);border-radius:14px;padding:18px;color:var(--muted);text-align:center;background:color-mix(in srgb,var(--surface-elevated) 48%,transparent)}.empty-state svg{color:var(--subtle)}.empty-state strong{color:var(--text);font-size:.9rem;font-weight:var(--weight-medium)}.empty-state p{max-width:260px;margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.info-row{display:grid;gap:4px;border-bottom:1px solid var(--line);padding-bottom:10px}.info-row:last-child{border-bottom:0}.canvas-layout{position:relative;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;height:100dvh;min-height:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.canvas-layout.has-visual-agent{grid-template-columns:minmax(280px,348px) minmax(0,1fr)}.canvas-layout.has-visual-agent:before{content:"";min-width:0;grid-column:1;grid-row:1;background:var(--surface);pointer-events:none}.canvas-layout.has-visual-agent.visual-agent-dock-right{grid-template-columns:minmax(0,1fr) minmax(280px,348px)}.canvas-layout.has-visual-agent.visual-agent-dock-right:before{grid-column:2}.visual-agent-panel{position:relative;z-index:32;display:grid;width:auto;min-height:0;grid-column:1;grid-row:1;grid-template-rows:auto minmax(0,1fr) auto auto;align-self:stretch;overflow:visible;border:1px solid var(--line);border-width:1px 1px 0 0;border-radius:0 var(--radius-card) 0 0;margin:82px 0 0;color:var(--text);background:var(--surface);box-shadow:var(--card-shadow);transition:opacity .18s ease,transform .18s ease}.visual-agent-panel.dock-right{grid-column:2;border-width:1px 0 0 1px;border-radius:var(--radius-card) 0 0;margin:82px 0 0}.visual-agent-panel.is-dragging{opacity:.88;transition:none;pointer-events:none}.visual-agent-collapse{position:absolute;top:50%;z-index:3;display:grid;width:24px;height:48px;place-items:center;transform:translateY(-50%);border:1px solid var(--line);color:var(--text);background:var(--surface);box-shadow:var(--card-shadow)}.visual-agent-collapse.dock-left{right:-24px;transform:translateY(-50%);border-radius:0 9px 9px 0}.visual-agent-collapse.dock-right{left:-24px;transform:translateY(-50%);border-radius:9px 0 0 9px}.visual-agent-collapse:hover{border-color:var(--line-strong);background:var(--surface-soft)}.visual-agent-reopen{position:absolute;top:96px;left:0;z-index:32;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius-card);padding:8px 9px;color:var(--text);background:var(--surface);box-shadow:var(--card-shadow);font-size:.72rem;writing-mode:vertical-rl;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform}.visual-agent-reopen.dock-right{right:0;left:auto}.visual-agent-reopen:hover{color:var(--accent);border-color:var(--line-strong)}.visual-agent-reopen.is-dragging{cursor:grabbing;opacity:.82;transition:none}.visual-agent-header,.visual-agent-message-meta{display:flex;align-items:center}.visual-agent-header{gap:10px;border-bottom:1px solid var(--line);padding:12px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.visual-agent-panel.is-dragging .visual-agent-header{cursor:grabbing}.visual-agent-header>div:nth-child(2){display:grid;min-width:0;flex:1 1 auto;gap:2px}.visual-agent-header strong,.visual-agent-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-agent-header strong{font-size:.86rem}.visual-agent-header small{color:var(--muted);font-size:.66rem}.visual-agent-logo{display:block;width:30px;height:30px;flex:0 0 auto;object-fit:contain}.theme-light .visual-agent-logo,.theme-light .visual-agent-avatar img{filter:brightness(0)}.visual-agent-stream{display:grid;min-height:0;align-content:start;gap:9px;overflow-y:auto;padding:12px;scrollbar-width:thin}.visual-agent-message{display:grid;max-width:92%;gap:6px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--surface-elevated)}.visual-agent-message.user{justify-self:end;background:color-mix(in srgb,var(--text) 8%,var(--surface-elevated))}.visual-agent-message.is-error{border-color:color-mix(in srgb,var(--danger, #e05252) 52%,var(--line))}.visual-agent-message-meta{min-width:0;gap:6px}.visual-agent-message.user .visual-agent-message-meta{flex-direction:row-reverse}.visual-agent-avatar{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--surface);font-size:.64rem;font-weight:var(--weight-semibold)}.visual-agent-avatar img{width:100%;height:100%;object-fit:cover}.visual-agent-message-meta>span{min-width:0;overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.visual-agent-message p,.visual-agent-empty{margin:0;font-size:.78rem;line-height:1.58;white-space:pre-wrap}.visual-agent-empty{padding:12px 4px;color:var(--muted)}.visual-agent-reference-context{position:relative;display:grid;gap:7px;border-top:1px solid var(--line);padding:8px 10px 0}.visual-agent-reference-chips{display:flex;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:thin}.visual-agent-reference-chip{display:inline-flex;min-width:0;max-width:190px;flex:0 0 auto;align-items:center;gap:5px;border:1px solid color-mix(in srgb,#4b80ff 54%,var(--line));border-radius:7px;padding:3px 4px;color:var(--text);background:color-mix(in srgb,#4b80ff 8%,var(--surface-elevated));font-size:.66rem}.visual-agent-reference-chip>img{width:24px;height:24px;flex:0 0 auto;border-radius:5px;object-fit:cover}.visual-agent-reference-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-agent-reference-chip>button{display:inline-grid;width:20px;height:20px;flex:0 0 auto;place-items:center;border:0;padding:0;color:var(--muted);background:transparent}.visual-agent-reference-menu{position:absolute;right:10px;bottom:calc(100% - 1px);left:10px;z-index:10;display:grid;max-height:230px;gap:4px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--surface);box-shadow:var(--card-shadow)}.visual-agent-reference-menu>button{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;border:1px solid transparent;border-radius:7px;padding:5px;color:var(--text);background:transparent;text-align:left}.visual-agent-reference-menu>button:hover,.visual-agent-reference-menu>button[aria-selected=true]{border-color:color-mix(in srgb,#4b80ff 54%,var(--line));background:color-mix(in srgb,#4b80ff 8%,var(--surface-elevated))}.visual-agent-reference-menu img{width:42px;height:34px;border-radius:5px;object-fit:cover}.visual-agent-reference-menu span{display:grid;min-width:0;gap:2px}.visual-agent-reference-menu strong,.visual-agent-reference-menu small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-agent-reference-menu strong{font-size:.72rem}.visual-agent-reference-menu small{color:#4b80ff;font-size:.62rem}.visual-agent-panel .agent-composer-shell{width:100%;margin:0;border-top:1px solid var(--line);padding:10px;transform:none}.visual-agent-panel .agent-composer-shell:focus-within,.visual-agent-panel .agent-composer-shell.has-content{width:100%}.visual-agent-panel .agent-composer{min-height:46px;border-radius:8px}.canvas-brush-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--page) 62%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.canvas-brush-editor{display:grid;width:min(1380px,100%);height:min(900px,calc(100dvh - 40px));grid-template-rows:auto auto minmax(0,1fr);gap:10px;overflow:hidden;border:1px solid var(--line);border-radius:calc(var(--radius-card) + 4px);padding:12px;color:var(--text);background:var(--surface);box-shadow:var(--card-shadow)}.canvas-brush-header,.canvas-brush-toolbar,.canvas-brush-header-actions{display:flex;align-items:center}.canvas-brush-header{justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:var(--radius-card);padding:12px 14px;background:var(--surface);box-shadow:var(--card-shadow)}.canvas-brush-header>div:first-child{display:grid;gap:7px}.canvas-brush-header span{color:var(--muted);font-size:.72rem}.canvas-brush-header-actions{gap:8px}.canvas-brush-toolbar{min-height:52px;gap:5px;overflow:visible;border:1px solid var(--line);border-radius:var(--radius-card);padding:7px 12px;background:var(--surface);box-shadow:var(--card-shadow)}.canvas-brush-toolbar-group{display:flex;min-width:0;flex:0 0 auto;align-items:center;gap:5px}.canvas-brush-toolbar-group>button{display:inline-flex;min-width:34px;min-height:34px;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:5px;padding:0 8px;color:var(--muted);background:transparent;white-space:nowrap}.canvas-brush-toolbar-group>button.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.canvas-brush-toolbar-divider{width:1px;height:24px;flex:0 0 auto;margin:0 3px;background:var(--line)}.canvas-brush-color-control input{width:34px;height:34px;overflow:hidden;border:1px solid var(--line);border-radius:6px;padding:3px;background:transparent}.canvas-brush-workspace{display:grid;min-height:0;grid-template-columns:minmax(0,1fr)}.canvas-brush-viewport{position:relative;display:grid;min-width:0;min-height:0;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);padding:48px;background-color:var(--page);background-image:radial-gradient(color-mix(in srgb,var(--text) 14%,transparent) 1px,transparent 1px);background-size:24px 24px;box-shadow:var(--card-shadow)}.canvas-brush-stage{position:relative;width:min(100%,1080px);max-height:100%;transform-origin:center;box-shadow:0 20px 54px #00000061}.canvas-brush-stage img,.canvas-brush-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.canvas-brush-stage img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.canvas-brush-layer{overflow:visible;touch-action:none;cursor:crosshair}.canvas-brush-layer.is-middle-button-panning{cursor:grabbing}.canvas-brush-layer.has-hovered-annotation:not(.is-middle-button-panning){cursor:move}.canvas-brush-light-spot,.canvas-brush-point-light-path,.canvas-brush-pen-shape{pointer-events:none}.canvas-brush-pen-anchor-hit-target,.canvas-brush-pen-control-hit-target{fill:transparent;pointer-events:all}.canvas-brush-pen-anchor-hit-target{cursor:move}.canvas-brush-layer.tool-pen.is-alt-pressed .canvas-brush-pen-anchor-hit-target:hover{cursor:url(/cursors/canvas-brush-pen-convert.svg) 4 20,crosshair}.canvas-brush-pen-control-line{stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.canvas-brush-pen-anchor-marker,.canvas-brush-pen-control-handle{filter:drop-shadow(0 1px 1px rgb(0 0 0 / .34));pointer-events:none}.canvas-brush-pen-anchor-marker.is-selected{fill:var(--canvas-brush-pen-color)}.canvas-brush-pen-control-hit-target{cursor:crosshair}.canvas-brush-pen-control-hit-target:active+.canvas-brush-pen-control-handle{fill:var(--canvas-brush-pen-color)}.canvas-brush-annotation-selection{pointer-events:none;color:#558ef0}.canvas-brush-resize-handle{filter:drop-shadow(0 1px 1px rgb(0 0 0 / .3))}.canvas-brush-resize-hit-target,.canvas-brush-line-endpoint-hit-target,.canvas-brush-rotate-hit-target{fill:transparent;pointer-events:all}.canvas-brush-line-endpoint-hit-target{cursor:grab}.canvas-brush-line-endpoint-hit-target:active{cursor:grabbing}.canvas-brush-line-endpoint-handle{filter:drop-shadow(0 1px 2px rgb(0 0 0 / .28))}.canvas-brush-resize-hit-target.north-west,.canvas-brush-resize-hit-target.south-east{cursor:nwse-resize}.canvas-brush-resize-hit-target.north-east,.canvas-brush-resize-hit-target.south-west{cursor:nesw-resize}.canvas-brush-rotate-hit-target{cursor:url(/cursors/canvas-brush-rotate.svg) 12 12,grab}.canvas-brush-rotate-handle{filter:drop-shadow(0 1px 2px rgb(0 0 0 / .32))}.canvas-brush-rotate-icon{fill:currentColor;font-size:1.6px;font-weight:800;pointer-events:none;-webkit-user-select:none;user-select:none}.canvas-brush-layer .is-selected-annotation,.canvas-brush-layer .is-selected-annotation>*{pointer-events:visiblePainted;cursor:move}.canvas-brush-layer .is-hovered-annotation:not(.is-selected-annotation){filter:drop-shadow(0 0 1px color-mix(in srgb,var(--focus) 58%,transparent))}.canvas-brush-layer text.selected{paint-order:stroke;stroke:color-mix(in srgb,var(--surface) 72%,transparent);stroke-width:.6px}.canvas-brush-inline-text{position:absolute;z-index:3;width:min(46%,520px);min-width:120px;transform:translateY(-82%);border:1px solid currentcolor;border-radius:4px;outline:2px solid color-mix(in srgb,var(--text) 28%,transparent);padding:2px 5px;background:color-mix(in srgb,var(--surface) 88%,transparent);font-weight:700;line-height:1.2;letter-spacing:0}.canvas-brush-text-layer{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;pointer-events:none}.canvas-brush-text-label,.canvas-brush-text-layer .canvas-brush-inline-text{position:absolute;box-sizing:border-box;margin:0;font-weight:300;line-height:1.2;letter-spacing:0;white-space:nowrap}.canvas-brush-text-label{overflow:hidden;padding:0 5px;pointer-events:none}.canvas-brush-text-layer .canvas-brush-inline-text{z-index:3;min-width:0;border:0;border-radius:4px;outline:2px solid color-mix(in srgb,var(--text) 28%,transparent);padding:0 5px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:inset 0 0 0 1px currentcolor;pointer-events:auto;transform:none}.canvas-brush-error{color:var(--muted);font-size:.72rem;line-height:1.55}.canvas-brush-error{margin:0;color:var(--danger, #ff8b8b)}.canvas-brush-lighting-group{position:relative;z-index:6;min-height:34px;align-items:center;gap:6px;overflow:visible}.canvas-brush-attributes-group{align-items:center}.canvas-brush-light-spot-picker{position:relative;flex:0 0 auto}.canvas-brush-context-trigger,.canvas-brush-context-delete{display:inline-flex;height:34px;min-height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:0 8px;color:var(--text);background:var(--surface-elevated);font-size:.7rem;line-height:1}.canvas-brush-lighting-trigger{height:34px;min-height:34px;gap:6px;border:1px solid var(--line);border-radius:6px;padding:0 8px;color:var(--text);background:var(--surface-elevated);font-size:.7rem;line-height:1}.canvas-brush-trigger-icon,.canvas-brush-trigger-caret,.canvas-brush-lighting-trigger .dropdown-select-icon{flex:0 0 auto}.canvas-brush-context-delete{width:34px;padding:0}.canvas-brush-context-trigger:hover,.canvas-brush-context-delete:hover,.canvas-brush-lighting-trigger:hover{border-color:var(--line-strong);background:var(--surface-soft)}.canvas-brush-context-trigger:focus-visible,.canvas-brush-context-delete:focus-visible,.canvas-brush-lighting-trigger:focus-visible{border-color:var(--line-strong);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.canvas-brush-light-spot-menu{z-index:140;display:grid;width:328px;max-width:calc(100vw - 32px);grid-template-columns:minmax(104px,.72fr) minmax(168px,1.28fr);gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--surface);box-shadow:var(--card-shadow);outline:none}@media(max-width:360px){.canvas-brush-light-spot-menu{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}}.canvas-brush-light-spot-menu-options-panel,.canvas-brush-light-spot-preview-frame{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-elevated)}.canvas-brush-light-spot-menu-options-panel{padding:4px}.canvas-brush-light-spot-preview-frame{display:grid;padding:5px}.canvas-brush-light-spot-menu-options{display:grid;align-content:start;gap:3px}.canvas-brush-light-spot-option{width:100%;min-height:32px;border:0;border-radius:6px;padding:0 9px;color:var(--text);background:transparent;font-size:.73rem;text-align:left}.canvas-brush-light-spot-option:hover,.canvas-brush-light-spot-option:focus-visible,.canvas-brush-light-spot-option[data-highlighted],.canvas-brush-light-spot-option[data-state=checked]{outline:none;background:var(--surface-soft)}.canvas-brush-light-spot-preview{display:grid;height:128px;min-height:0;place-items:center;overflow:hidden;border-radius:5px;background:#000}.canvas-brush-light-spot-preview img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transform:translate(var(--canvas-brush-preview-x, 0%),var(--canvas-brush-preview-y, 0%)) scale(var(--canvas-brush-preview-scale, 1));transform-origin:center;filter:brightness(var(--canvas-brush-preview-brightness, 1)) contrast(var(--canvas-brush-preview-contrast, 1))}.canvas-brush-context-summary{color:var(--muted);font-size:.7rem;white-space:nowrap}.canvas-brush-status-group{margin-left:auto}.canvas-brush-status-group .canvas-brush-error{max-width:260px}.canvas-brush-range-popover{position:relative;flex:0 0 auto}.canvas-brush-property-trigger{display:inline-flex;height:34px;min-height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:0 8px;color:var(--muted);background:var(--surface-elevated);font-size:.7rem;line-height:1}.canvas-brush-property-trigger:hover,.canvas-brush-property-trigger[aria-expanded=true]{border-color:var(--line);color:var(--text);background:var(--surface-soft)}.canvas-brush-property-trigger:focus-visible{border-color:var(--line-strong);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.canvas-brush-range-popover-panel{position:fixed;z-index:140;display:grid;width:220px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface);box-shadow:var(--card-shadow)}.canvas-brush-toolbar-dropdown-content{z-index:140}.canvas-brush-range-popover-panel:focus-within{border-color:var(--line-strong)}.canvas-brush-slider{position:relative;display:flex;width:100%;height:24px;align-items:center;touch-action:none}.canvas-brush-slider-track{position:relative;flex:1;height:6px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}.canvas-brush-slider-range{position:absolute;height:100%;background:var(--focus)}.canvas-brush-slider-thumb{display:block;width:16px;height:16px;border:2px solid var(--surface);border-radius:50%;background:var(--focus);box-shadow:0 0 0 1px var(--line-strong)}.canvas-brush-slider-thumb:focus-visible{outline:none;box-shadow:0 0 0 1px var(--line-strong),0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.canvas-brush-narrow-notice{display:none}.canvas-image-library{position:absolute;top:140px;right:20px;z-index:42;display:flex;width:min(340px,calc(100% - 40px));max-height:calc(100dvh - 164px);flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);color:var(--text);background:var(--surface);box-shadow:var(--card-shadow)}.canvas-image-library>header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 15px}.canvas-image-library>header>div{display:grid;gap:3px}.canvas-image-library>header strong{font-size:.88rem}.canvas-image-library>header small{color:var(--muted);font-size:.68rem}.canvas-image-library>header button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:8px;padding:0;color:var(--muted);background:transparent}.canvas-image-library-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.canvas-image-library-section{display:flex;flex:0 0 auto;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding:10px}.canvas-image-library-section-title{margin:0;color:var(--muted);font-size:.68rem;font-weight:var(--weight-semibold);letter-spacing:.04em}.canvas-image-library-list{display:grid;align-content:start;gap:9px;overflow:visible}.canvas-image-library-body>.canvas-image-library-list{padding:10px}.canvas-image-library-card{display:grid;min-width:0;grid-template-columns:92px minmax(0,1fr);gap:10px;border:1px solid transparent;border-radius:8px;padding:7px;color:var(--text);background:color-mix(in srgb,var(--surface) 72%,transparent);text-align:left}.canvas-image-library-card:hover{border-color:var(--line-strong);background:color-mix(in srgb,var(--surface) 92%,transparent)}.canvas-image-library-card img{width:92px;height:68px;border-radius:8px;object-fit:cover;background:var(--input)}.canvas-image-library-card>span{display:grid;min-width:0;align-content:center;gap:4px}.canvas-image-library-card strong,.canvas-image-library-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-image-library-card strong{font-size:.74rem}.canvas-image-library-card small{color:var(--muted);font-size:.64rem}.canvas-image-library-empty{display:grid;min-height:240px;place-items:center;align-content:center;gap:8px;padding:28px;color:var(--muted);text-align:center}.canvas-image-library-empty.is-inline{grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;padding:9px 10px;text-align:left}.canvas-image-library-empty.is-inline span{max-width:none}.canvas-image-library-empty strong{color:var(--text);font-size:.82rem}.canvas-image-library-empty span{max-width:220px;font-size:.7rem;line-height:1.55}.canvas-node-generation-tier-control{display:grid;gap:8px;border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent);padding:0 0 9px}.canvas-node-generation-tier-main{display:flex;min-width:0;align-items:center;gap:10px}.canvas-node-generation-tier-main>span{flex:0 0 auto;color:var(--muted);font-size:.7rem;font-weight:var(--weight-semibold)}.canvas-node-generation-tier-main>div{display:grid;min-width:0;flex:1 1 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.canvas-node-generation-tier-main button{display:grid;min-width:0;min-height:38px;gap:1px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:6px;padding:5px 8px;color:var(--muted);background:color-mix(in srgb,var(--input) 72%,transparent);text-align:left}.canvas-node-generation-tier-main button.active{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent)}.canvas-node-generation-tier-main strong{font-size:.72rem}.canvas-node-generation-tier-main small{overflow:hidden;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.canvas-node-master-aspect-field{display:grid;min-width:0;gap:5px}.canvas-node-master-aspect-field>span{color:var(--muted);font-size:.66rem}.canvas-node-master-aspect-field .dropdown-select-trigger{width:100%;min-height:34px;border-radius:8px;padding:0 8px}.canvas-node-master-aspect-field .dropdown-select-value{font-size:.7rem}.canvas-node-crop-preview{display:grid;min-width:0;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:8px;padding:8px;background:color-mix(in srgb,var(--input) 58%,transparent)}.canvas-node-crop-preview-stage{display:grid;width:116px;height:72px;overflow:hidden;place-items:center;border-radius:8px;background:#111}.canvas-node-crop-preview-stage>span{display:block;max-width:116px;max-height:72px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 54%,white);border-radius:5px}.canvas-node-crop-preview-stage img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.canvas-node-crop-preview>span{display:grid;min-width:0;gap:3px}.canvas-node-crop-preview strong{color:var(--text);font-size:.7rem}.canvas-node-crop-preview small{color:var(--muted);font-size:.63rem;line-height:1.4}.canvas-node-upscale-row{display:grid;grid-template-columns:minmax(0,1fr) 78px auto;align-items:end;gap:7px;border-top:1px solid var(--line);padding-top:9px}.canvas-node-upscale-copy{display:inline-flex;min-width:0;min-height:34px;align-items:center;gap:6px;overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.canvas-node-upscale-resolution{display:grid;min-width:0;gap:5px}.canvas-node-upscale-resolution>span{color:var(--muted);font-size:.66rem}.canvas-node-upscale-resolution>strong{display:inline-grid;min-height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:6px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 42%,transparent);font-size:.72rem}.canvas-node-upscale-resolution .dropdown-select-trigger{min-height:34px;padding-inline:8px}.canvas-node-upscale-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:6px;padding:0 10px;color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:.72rem;font-weight:var(--weight-semibold);white-space:nowrap}.visual-preview-frame.zoomable.is-panning{cursor:grabbing}@media(max-width:1200px){.canvas-brush-toolbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.canvas-brush-toolbar::-webkit-scrollbar{display:none}.canvas-brush-toolbar-group{flex-wrap:nowrap}.canvas-brush-tools-group button{width:34px;padding:0}.canvas-brush-tools-group button span{display:none}}@media(max-width:900px){.canvas-brush-editor{height:min(760px,calc(100dvh - 24px))}.canvas-brush-workspace{grid-template-columns:1fr}.canvas-brush-viewport{display:none}.canvas-brush-narrow-notice{display:grid;min-height:260px;place-items:center;padding:24px;color:var(--muted);text-align:center}}@media(max-width:720px){.canvas-image-library{right:10px;left:10px;width:auto}.canvas-side-actions{right:10px}.canvas-node-upscale-row{grid-template-columns:1fr 72px}.canvas-node-upscale-button{grid-column:1 / -1}}.infinite-canvas{position:relative;overflow:hidden;overflow:clip;height:100dvh;min-height:100dvh;border:0;border-radius:0;touch-action:none;cursor:default;background:radial-gradient(circle,color-mix(in srgb,var(--text) calc(24% * var(--canvas-dot-opacity, 1)),transparent) 1px,transparent 1.45px),var(--surface);background-position:var(--canvas-grid-x, 0) var(--canvas-grid-y, 0),0 0;background-size:var(--canvas-dot-size, 40px) var(--canvas-dot-size, 40px),auto}.canvas-layout.has-visual-agent.visual-agent-dock-left .infinite-canvas{grid-column:2}.canvas-layout.has-visual-agent.visual-agent-dock-right .infinite-canvas{grid-column:1}.infinite-canvas.is-panning{cursor:grabbing}.infinite-canvas :is(input,textarea,[contenteditable=true]){user-select:text;-webkit-user-select:text}.canvas-workspace-bar{position:absolute;top:86px;left:20px;z-index:12;display:flex;align-items:center;gap:8px;max-width:min(920px,calc(100% - 40px));border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:10px;padding:6px;background:color-mix(in srgb,var(--surface-elevated) 78%,transparent);box-shadow:0 16px 44px #0000001f,inset 0 1px #ffffff29;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transform:translateY(-14px);transition:opacity .18s ease,transform .18s ease}.canvas-workspace-bar:hover,.canvas-workspace-bar:focus-within,.canvas-workspace-bar.is-open,.canvas-workspace-bar.is-visible{opacity:1;transform:translateY(0)}.canvas-name-field{display:grid;gap:3px;min-width:190px}.canvas-name-field span{padding-left:4px;color:var(--muted);font-size:.68rem;font-weight:var(--weight-medium);line-height:1}.canvas-name-input{width:210px;min-height:44px;border:1px solid transparent;border-radius:10px;padding:0 10px;color:var(--text);background:color-mix(in srgb,var(--surface) 74%,transparent);outline:0;font-size:.9rem;font-weight:var(--weight-semibold);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.canvas-name-input:hover,.canvas-name-input:focus{border-color:color-mix(in srgb,var(--text) 18%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent)}.canvas-name-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 10%,transparent)}.canvas-workspace-select{width:170px;min-height:44px;background:color-mix(in srgb,var(--surface) 74%,transparent)}.canvas-workspace-create{display:inline-grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:10px;padding:0;color:var(--text);background:color-mix(in srgb,var(--surface) 74%,transparent);transition:border-color .16s ease,background .16s ease,transform .16s ease}.canvas-workspace-create:hover{border-color:var(--line-strong);background:color-mix(in srgb,var(--surface) 94%,transparent);transform:translateY(-1px)}.canvas-side-actions{position:absolute;top:86px;right:20px;z-index:24;display:inline-flex;max-width:calc(100% - 40px);flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.canvas-library-entry{display:inline-flex;min-height:44px;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:8px;padding:0 12px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 94%,black);box-shadow:0 12px 36px #00000038;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:.76rem;font-weight:var(--weight-semibold);transition:opacity .16s ease,border-color .16s ease,background .16s ease}.canvas-library-entry{opacity:.45}.canvas-library-entry:hover,.canvas-library-entry:focus-visible,.canvas-library-entry.is-open{border-color:var(--line-strong);background:color-mix(in srgb,var(--surface-elevated) 98%,black);opacity:1}.canvas-library-entry small{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;padding:0 5px;color:var(--muted);background:color-mix(in srgb,var(--text) 9%,transparent);font-size:.64rem}.canvas-view-controls{display:flex;min-width:0;align-items:center;gap:4px;border-left:1px solid color-mix(in srgb,var(--text) 12%,transparent);margin-left:2px;padding-left:8px}.canvas-view-control{display:inline-grid;min-width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid transparent;border-radius:8px;padding:0;color:var(--text);background:transparent;transition:border-color .14s ease,background .14s ease,color .14s ease}.canvas-view-control:hover:not(:disabled),.canvas-view-control:focus-visible{border-color:color-mix(in srgb,var(--text) 14%,transparent);background:color-mix(in srgb,var(--surface) 90%,transparent)}.canvas-view-control:disabled{color:color-mix(in srgb,var(--muted) 54%,transparent);cursor:not-allowed}.canvas-view-control-divider{width:1px;height:22px;flex:0 0 1px;margin:0 2px;background:color-mix(in srgb,var(--text) 12%,transparent)}.visual-canvas-world{position:absolute;top:0;left:0;transform-origin:0 0}.canvas-smart-guide{position:absolute;z-index:25;display:block;min-width:calc(1px * var(--canvas-zoom-inverse));min-height:calc(1px * var(--canvas-zoom-inverse));pointer-events:none}.canvas-smart-guide[data-axis=x]{width:calc(1px * var(--canvas-zoom-inverse));background:repeating-linear-gradient(to bottom,var(--alignment-guide) 0 calc(4px * var(--canvas-zoom-inverse)),transparent calc(4px * var(--canvas-zoom-inverse)) calc(8px * var(--canvas-zoom-inverse)))}.canvas-smart-guide[data-axis=y]{height:calc(1px * var(--canvas-zoom-inverse));background:repeating-linear-gradient(to right,var(--alignment-guide) 0 calc(4px * var(--canvas-zoom-inverse)),transparent calc(4px * var(--canvas-zoom-inverse)) calc(8px * var(--canvas-zoom-inverse)))}.visual-canvas-links{position:absolute;top:-3000px;left:-4000px;width:8000px;height:6000px;overflow:visible;pointer-events:none}.visual-canvas-links path.canvas-edge-path,.visual-canvas-links path.canvas-draft-edge{fill:none;stroke:color-mix(in srgb,var(--text) 34%,transparent);stroke-linecap:round;stroke-width:2}.canvas-edge-group{pointer-events:auto}.visual-canvas-links path.canvas-edge-interaction{fill:none;stroke:transparent;stroke-linecap:round;stroke-width:22;cursor:pointer;pointer-events:stroke}.canvas-edge-group:hover path.canvas-edge-path{stroke:color-mix(in srgb,var(--accent) 78%,var(--text))}.canvas-edge-cut-object{overflow:visible;pointer-events:none}.canvas-edge-cut-button{display:grid;width:32px;height:32px;place-items:center;border:1px solid color-mix(in srgb,var(--text) 28%,transparent);border-radius:999px;padding:0;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 90%,black);box-shadow:0 12px 24px #00000038;opacity:0;pointer-events:none;transform:scale(.82);transition:border-color .15s ease,opacity .15s ease,transform .15s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.canvas-edge-cut-button.active,.canvas-edge-group:hover .canvas-edge-cut-button,.canvas-edge-cut-button:focus-visible{opacity:1;pointer-events:auto;transform:scale(1)}.canvas-edge-cut-button:hover{border-color:color-mix(in srgb,var(--accent) 74%,var(--line-strong))}.visual-canvas-links path.canvas-edge-path.first-frame,.visual-canvas-links path.canvas-edge-path.main-image{stroke:color-mix(in srgb,var(--accent) 78%,transparent);stroke-width:2.6}.visual-canvas-links path.canvas-edge-path.reference-video{stroke-dasharray:8 7}.visual-canvas-links path.canvas-draft-edge{stroke:color-mix(in srgb,var(--text) 54%,transparent);stroke-dasharray:7 7;stroke-width:2.4}.canvas-node-type-menu{position:absolute;z-index:24;display:grid;gap:8px;width:214px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:18px;padding:14px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 92%,black);box-shadow:inset 0 1px #ffffff0a,0 22px 48px #00000047;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.canvas-node-type-menu span{color:var(--muted);font-size:.76rem}.canvas-node-type-menu button{display:flex;align-items:center;gap:9px;min-height:38px;border:1px solid transparent;border-radius:10px;padding:0 8px;color:var(--text);background:transparent;font-size:.86rem;font-weight:var(--weight-semibold);text-align:left}.canvas-node-type-menu button:hover:not(:disabled){border-color:color-mix(in srgb,var(--text) 16%,transparent);background:color-mix(in srgb,var(--text) 8%,transparent)}.canvas-node-type-menu button:disabled{color:color-mix(in srgb,var(--muted) 62%,transparent);cursor:not-allowed}.canvas-upload-context-menu{position:absolute;z-index:26;display:grid;gap:6px;width:184px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:16px;padding:10px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 94%,black);box-shadow:inset 0 1px #ffffff0d,0 20px 46px #0000003d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.canvas-upload-context-menu button{display:flex;align-items:center;gap:9px;min-height:38px;border:1px solid transparent;border-radius:10px;padding:0 10px;color:var(--text);background:transparent;font-size:.86rem;font-weight:var(--weight-semibold);text-align:left}.canvas-upload-context-menu button:hover{border-color:color-mix(in srgb,var(--text) 16%,transparent);background:color-mix(in srgb,var(--text) 8%,transparent)}.canvas-selection-box{position:absolute;z-index:24;border:1px solid color-mix(in srgb,var(--accent) 82%,white);border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none}.canvas-selection-context-menu{position:absolute;z-index:28;display:grid;gap:6px;width:204px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:16px;padding:10px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 96%,black);box-shadow:0 20px 46px #00000047;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.canvas-selection-context-menu>span{padding:2px 9px 6px;color:var(--muted);font-size:.72rem;font-weight:var(--weight-semibold)}.canvas-selection-context-menu button{display:flex;min-height:38px;align-items:center;gap:9px;border:1px solid transparent;border-radius:10px;padding:0 10px;color:var(--text);background:transparent;font-size:.84rem;font-weight:var(--weight-semibold);text-align:left}.canvas-selection-context-menu button:hover{border-color:color-mix(in srgb,var(--text) 16%,transparent);background:color-mix(in srgb,var(--text) 8%,transparent)}.canvas-selection-context-menu button.danger{color:color-mix(in srgb,#ff8a8a 84%,var(--text))}.canvas-selection-context-menu button.danger:hover{background:#ff5a5a1a}.visual-node{position:absolute;display:grid;gap:9px;align-content:start;min-width:132px;min-height:96px;border:1px solid var(--line-strong);border-radius:14px;padding:12px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff0a,0 16px 42px #00000029;cursor:move;overflow:hidden;-webkit-user-select:none;user-select:none}.visual-node.prompt{grid-template-rows:auto minmax(0,1fr);border-color:color-mix(in srgb,var(--text) 28%,transparent)}.visual-node.image{grid-template-rows:auto minmax(0,1fr) auto}.visual-node.generated{grid-template-rows:auto minmax(0,1fr) auto auto;border-color:color-mix(in srgb,var(--text) 36%,transparent)}.visual-node.active{z-index:2}.canvas-node{z-index:0;display:grid;grid-template-rows:var(--canvas-node-media-height, 286px) auto;gap:14px;align-content:start;min-width:180px;min-height:var(--canvas-node-media-height, 286px);overflow:visible;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}.canvas-node.selected{z-index:4}.canvas-node.active{z-index:6}.canvas-node.image{min-width:120px}.canvas-node.selected>.canvas-node-media-frame{outline:2px solid color-mix(in srgb,var(--accent) 74%,white);outline-offset:6px;border-radius:18px}.holiday-group-node.selected{outline:2px solid color-mix(in srgb,var(--accent) 74%,white);outline-offset:6px}.canvas-node:not(.active){grid-template-rows:var(--canvas-node-media-height, 286px);gap:0}.canvas-node.media-only{grid-template-rows:var(--canvas-node-media-height, 286px);gap:0}.canvas-node.video,.canvas-node.connection-source{border-color:transparent}.visual-node-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.visual-node-topline strong{min-width:0;overflow:hidden;font-size:.88rem;font-weight:var(--weight-semibold);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.canvas-node-kind{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:.72rem;font-weight:var(--weight-semibold)}.canvas-node .visual-node-topline{position:absolute;right:0;bottom:calc(100% + 9px / var(--canvas-zoom, 1));left:0;z-index:3;color:color-mix(in srgb,var(--text) 78%,transparent);pointer-events:none}.canvas-node .visual-node-topline small{color:color-mix(in srgb,var(--text) 52%,transparent);font-family:var(--font-mono);font-size:.68rem}.visual-node-control{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:transparent;opacity:.62;transition:background .16s ease,color .16s ease,opacity .16s ease}.visual-node-control:hover{color:var(--text);background:var(--surface-soft);opacity:1}.canvas-node .visual-node-control{width:30px;height:30px;border-color:#ffffff1f;border-radius:999px;color:#fff;background:#00000075;box-shadow:0 10px 24px #00000038;opacity:.86;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.canvas-node .visual-node-control:hover{background:#0000009e}.visual-node-image{display:grid;width:100%;min-height:0;overflow:hidden;place-items:center;border:1px solid var(--line);border-radius:12px;padding:0;color:var(--muted);background:linear-gradient(130deg,color-mix(in srgb,var(--text) 10%,transparent),transparent 42%),color-mix(in srgb,var(--input) 78%,black)}.visual-node-image:disabled{opacity:1}.visual-node-image-button{cursor:default}.visual-node-image img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.visual-node-image video{display:block;width:100%;height:100%;object-fit:contain}.canvas-node-media-frame{position:relative;width:100%;height:var(--canvas-node-media-height, 286px)}.canvas-node-media{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;border:0;border-radius:16px;background:radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--text) 10%,transparent),transparent 34%),color-mix(in srgb,var(--input) 78%,black);box-shadow:inset 0 1px #ffffff0f,0 18px 46px #0003}.canvas-node.active .canvas-node-media{border-color:color-mix(in srgb,var(--accent) 64%,var(--line-strong));box-shadow:inset 0 1px #ffffff14,0 22px 54px #0000003d}.canvas-node.connection-target .canvas-node-media{border-color:color-mix(in srgb,var(--accent) 82%,var(--line-strong));box-shadow:inset 0 1px #ffffff14,0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent),0 22px 54px #0000003d}.canvas-node.connection-target .canvas-node-media:before{position:absolute;top:50%;left:-7px;z-index:4;width:14px;height:54px;border-radius:999px;background:color-mix(in srgb,var(--accent) 92%,white);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 58%,transparent);content:"";transform:translateY(-50%)}.canvas-node-media img,.canvas-node-media video{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.canvas-node-media img{pointer-events:none}.canvas-node-generation-error{display:grid;max-width:min(82%,240px);place-items:center;gap:6px;color:#ffc8c8;text-align:center}.canvas-node-generation-error strong{font-size:.82rem}.canvas-node-generation-error small{display:-webkit-box;overflow:hidden;color:color-mix(in srgb,#ffc8c8 76%,var(--muted));font-size:.68rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.zerlum-loading-mark{display:inline-grid;place-items:center;overflow:visible}.zerlum-loading-mark img{display:block;width:100%;height:100%;filter:brightness(var(--zerlum-logo-tone, 1));animation:zerlum-loading-pulse 1.35s ease-in-out infinite}.theme-light .zerlum-loading-mark{--zerlum-logo-tone: 0}@keyframes zerlum-loading-pulse{0%,to{opacity:.38;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}.canvas-node-media video{pointer-events:auto}.canvas-node-status-badge{position:absolute;top:10px;left:10px;z-index:2;max-width:calc(100% - 20px);overflow:hidden;border:1px solid rgb(255 255 255 / .18);border-radius:8px;padding:4px 7px;color:#ffffffd1;background:#00000047;font-size:.68rem;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.canvas-node-status-badge.error{color:#ffc8c8;background:#50000085}.canvas-node-delete-action{position:absolute;top:10px;right:10px;z-index:4;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgb(255 255 255 / .12);border-radius:999px;padding:0;color:#fff;background:#00000075;box-shadow:0 10px 24px #00000038;opacity:0;transform:translateY(-4px);transition:background .16s ease,opacity .16s ease,transform .16s ease;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.canvas-node-sync-action,.canvas-node-save-action,.canvas-node-preview-action,.canvas-node-replace-action{position:absolute;top:10px;z-index:4;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgb(255 255 255 / .12);border-radius:999px;padding:0;color:#fff;background:#00000075;box-shadow:0 10px 24px #00000038;opacity:0;transform:translateY(-4px);transition:background .16s ease,opacity .16s ease,transform .16s ease;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.canvas-node-sync-action{right:48px}.canvas-node-preview-action{right:86px}.canvas-node-save-action,.canvas-node-replace-action{right:124px}.canvas-node.has-save-action .canvas-node-replace-action{right:162px}.canvas-node-empty-actions{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;gap:24px;pointer-events:none}.canvas-node-empty-upload{position:static;display:grid;place-items:center;justify-items:center;gap:7px;border:0;padding:0;color:#fff;background:transparent;opacity:1;font-size:.78rem;transition:color .16s ease,scale .16s ease;pointer-events:auto}.canvas-node-empty-upload:hover{color:var(--accent);scale:1.08}.theme-light .canvas-node.is-empty-image .canvas-node-empty-upload{color:var(--text)}.theme-light .canvas-node.is-empty-image .canvas-node-status-badge{border-color:color-mix(in srgb,var(--text) 18%,transparent);color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 72%,transparent)}.visual-node-image img.canvas-node-empty-logo{width:64px;height:64px;object-fit:contain;opacity:.6}.theme-light .visual-node-image img.canvas-node-empty-logo{filter:brightness(0)}.canvas-node:hover .canvas-node-delete-action,.canvas-node.active .canvas-node-delete-action,.canvas-node-delete-action:focus-visible{opacity:1;transform:translateY(0);pointer-events:auto}.canvas-node:hover .canvas-node-sync-action,.canvas-node:hover .canvas-node-save-action,.canvas-node:hover .canvas-node-preview-action,.canvas-node:hover .canvas-node-replace-action,.canvas-node.active .canvas-node-sync-action,.canvas-node.active .canvas-node-save-action,.canvas-node.active .canvas-node-preview-action,.canvas-node.active .canvas-node-replace-action,.canvas-node-sync-action:focus-visible,.canvas-node-save-action:focus-visible,.canvas-node-preview-action:focus-visible,.canvas-node-replace-action:focus-visible{opacity:1;transform:translateY(0);pointer-events:auto}.canvas-node-delete-action:hover,.canvas-node-sync-action:hover,.canvas-node-save-action:hover,.canvas-node-preview-action:hover,.canvas-node-replace-action:hover{background:#0000009e}.canvas-node-sync-action.synced{color:#8be9ff;background:#084858d1}.canvas-node-connector{position:absolute;top:50%;right:calc(-22px / var(--canvas-zoom, 1));z-index:5;display:grid;width:calc(44px / var(--canvas-zoom, 1));height:calc(44px / var(--canvas-zoom, 1));place-items:center;border:calc(1px / var(--canvas-zoom, 1)) solid color-mix(in srgb,var(--text) 42%,transparent);border-radius:999px;padding:0;color:color-mix(in srgb,var(--text) 80%,transparent);background:color-mix(in srgb,var(--surface-elevated) 82%,transparent);box-shadow:0 14px 28px #0003;opacity:0;transform:translateY(-50%);transition:border-color .16s ease,color .16s ease,opacity .16s ease,transform .16s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.canvas-node-connector:before{position:absolute;inset:calc(-6px / var(--canvas-zoom, 1));border-radius:inherit;content:""}.canvas-node-connector svg{width:calc(24px / var(--canvas-zoom, 1));height:calc(24px / var(--canvas-zoom, 1))}.canvas-node:hover .canvas-node-connector,.canvas-node.active .canvas-node-connector,.canvas-node.connection-source .canvas-node-connector,.canvas-node-connector:focus-visible{opacity:1;transform:translateY(-50%) scale(1)}.canvas-node-connector:hover{border-color:color-mix(in srgb,var(--accent) 78%,var(--line-strong));color:var(--text)}.liquid-flow-border{position:absolute!important;top:0;right:0;bottom:0;left:0;z-index:2;display:block;overflow:visible!important;border-radius:var(--liquid-flow-radius, 18px);pointer-events:none;isolation:isolate}.liquid-flow-border__anchor{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.liquid-flow-border.is-static{padding:var(--liquid-flow-thickness, 3px);background:linear-gradient(90deg,#ffffffb8,#fffffffa,#ffffffb8) border-box;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.canvas-node-control-panel{display:grid;gap:9px;width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:16px;padding:12px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 88%,black);box-shadow:inset 0 1px #ffffff0a,0 16px 34px #0000002e;cursor:default;-webkit-user-select:text;user-select:text;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.canvas-node.image .canvas-node-control-panel{width:min(max(100%,392px),calc(100vw - 36px))}.canvas-node-prompt-field,.canvas-node-control-section{display:grid;min-width:0;gap:7px}.canvas-node-prompt-field>span,.canvas-node-control-section>span,.canvas-node-section-title span{color:var(--muted);font-size:.7rem;font-weight:var(--weight-medium)}.canvas-node-prompt-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.canvas-node-prompt-head>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-node-prompt-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px}.canvas-node-prompt-restore-button{display:inline-grid;width:26px;height:26px;place-items:center;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:50%;color:var(--muted);background:color-mix(in srgb,var(--surface-elevated) 42%,transparent)}.canvas-node-prompt-restore-button:hover{border-color:var(--line-strong);color:var(--text);background:var(--surface-soft)}.canvas-node-reference-strip{display:grid;gap:7px;border:1px solid var(--line);border-radius:7px;padding:8px;background:color-mix(in srgb,var(--surface-elevated) 64%,transparent)}.canvas-node-reference-strip-head,.canvas-node-reference-thumbnails{display:flex;align-items:center}.canvas-node-reference-strip-head{justify-content:space-between;gap:8px;color:var(--muted);font-size:.68rem}.canvas-node-reference-strip-head span{color:var(--text);font-weight:var(--weight-semibold)}.canvas-node-reference-thumbnails{gap:6px}.canvas-node-reference-thumbnails button{position:relative;width:48px;height:38px;overflow:hidden;border:1px solid var(--line);border-radius:5px;padding:0;background:var(--surface)}.canvas-node-reference-thumbnails button.disabled{opacity:.42;filter:grayscale(.7)}.canvas-node-reference-thumbnails button.enabled{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.canvas-node-reference-thumbnails img{width:100%;height:100%;object-fit:cover}.canvas-node-reference-thumbnails button span{position:absolute;right:2px;bottom:2px;border-radius:3px;padding:1px 3px;color:#fff;background:#000000ad;font-size:.54rem}.canvas-node-reference-more{display:grid;width:38px;height:38px;place-items:center;border:1px dashed var(--line-strong);border-radius:5px;color:var(--muted);font-size:.66rem}.canvas-node-scene-analysis{display:flex;min-width:0;align-items:center;gap:5px;border:0;padding:0;color:var(--muted);background:transparent;font-size:.64rem;text-align:left}.canvas-node-scene-analysis svg{flex:0 0 auto;color:var(--accent)}.canvas-node-scene-analysis span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-reference-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--page) 58%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.canvas-reference-detail{display:grid;width:min(440px,100%);max-height:min(720px,calc(100dvh - 48px));gap:14px;overflow:auto;border:1px solid var(--line-strong);border-radius:8px;padding:16px;color:var(--text);background:var(--surface-elevated);box-shadow:0 28px 70px #0000006b}.canvas-reference-detail header{display:flex;align-items:center;justify-content:space-between;gap:12px}.canvas-reference-detail header>div{display:grid;gap:5px}.canvas-reference-detail header span{color:var(--muted);font-size:.72rem}.canvas-reference-detail-image{width:100%;max-height:320px;border-radius:7px;object-fit:contain;background:var(--surface-soft)}.canvas-node-prompt-generate-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;min-height:26px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:999px;padding:0 8px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 42%,transparent);font-size:.66rem;font-weight:var(--weight-semibold);white-space:nowrap;transition:background .16s ease,border-color .16s ease,opacity .16s ease}.canvas-node-prompt-generate-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-soft)}.canvas-node-prompt-generate-button:disabled{opacity:.55}.canvas-node-prompt-shell{position:relative;display:grid;min-width:0}.canvas-node-prompt-highlights{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;border:1px solid transparent;border-radius:12px;padding:10px 11px;color:var(--text);font-size:.78rem;line-height:1.52;pointer-events:none;white-space:pre-wrap;word-break:break-word}.canvas-node-prompt-mention-token{color:#59b7ff;font-weight:var(--weight-bold)}.canvas-node-prompt{position:relative;z-index:2;width:100%;min-height:58px;resize:vertical;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:12px;padding:10px 11px;color:transparent;background-color:transparent;caret-color:var(--text);font-size:.78rem;line-height:1.52;overflow-y:auto;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.canvas-node-prompt::placeholder{color:var(--muted)}.canvas-node-prompt-error{color:#d94a3a;font-size:.66rem;line-height:1.35}.canvas-node-mention-menu{display:grid;gap:5px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:12px;padding:6px;background:color-mix(in srgb,var(--surface-elevated) 68%,transparent);box-shadow:0 12px 28px #00000024}.canvas-node-mention-menu button{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:9px;padding:7px 8px;color:var(--text);background:transparent;font-size:.72rem;font-weight:var(--weight-semibold);text-align:left}.canvas-node-mention-menu button:hover{background:var(--surface-soft)}.canvas-node-mention-menu button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-node-mention-role{flex:0 0 auto;color:var(--muted);font-size:.64rem;font-weight:var(--weight-medium)}.canvas-node-prompt:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.canvas-node-control-section .dropdown-select-trigger,.canvas-node-inline-field .dropdown-select-trigger{min-height:34px;border-radius:10px;gap:5px;padding:0 7px}.canvas-node-control-section .dropdown-select-value,.canvas-node-inline-field .dropdown-select-value{font-size:.74rem}.canvas-node-image-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;min-width:0}.canvas-node-image-actions-row{display:flex;min-width:0;align-items:center;gap:7px;flex-wrap:nowrap}.canvas-node-image-settings-row{display:grid;min-width:0;grid-template-columns:72px 36px;justify-content:end;align-items:end;gap:7px}.canvas-node-video-toolbar{display:flex;align-items:flex-end;gap:7px;min-width:0}.canvas-node-upload-chip,.canvas-node-derivation-chip,.canvas-node-fit-chip{display:inline-flex;min-height:34px;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:10px;padding:0 10px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 42%,transparent);font-size:.73rem;font-weight:var(--weight-semibold);white-space:nowrap;transition:background .16s ease,border-color .16s ease,opacity .16s ease}.canvas-node-send-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 42%,transparent);transition:background .16s ease,border-color .16s ease,opacity .16s ease}.canvas-node-upload-chip:hover,.canvas-node-derivation-chip:hover,.canvas-node-fit-chip:hover,.canvas-node-send-button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.canvas-node-inline-field{display:grid;flex:1 0 68px;min-width:0;gap:5px}.canvas-node-inline-field.compact{flex:0 0 62px}.canvas-node-inline-field>span{overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:var(--weight-medium);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.canvas-node-duration-control{display:grid;flex:1.25 0 92px;min-width:0;gap:5px}.canvas-node-duration-control>span{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:6px;overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:var(--weight-medium);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.canvas-node-duration-value{color:var(--text);font-size:.68rem;font-weight:var(--weight-semibold)}.canvas-node-duration-slider{width:100%;min-width:0;height:34px;margin:0;accent-color:var(--text)}.canvas-node-send-button{flex:0 0 36px;width:36px;min-height:34px;border-radius:999px;padding:0}.canvas-node-send-button:disabled{opacity:.45;pointer-events:none}@media(max-width:640px){.canvas-node.image .canvas-node-control-panel{width:100%}.canvas-node-image-toolbar{gap:7px}.canvas-node-image-actions-row{flex-wrap:nowrap}.canvas-node-image-settings-row{grid-template-columns:68px 36px}.canvas-node-video-toolbar{flex-wrap:wrap}.canvas-node-prompt-head{align-items:flex-start;flex-direction:column}.canvas-node-upload-chip{flex:1 1 104px}.canvas-node-inline-field{flex:1 1 72px}.canvas-node-inline-field.compact{flex:1 1 64px}.canvas-node-duration-control{flex:1 1 128px}.canvas-node-send-button{flex:0 0 36px}}.canvas-node-version-strip{display:grid;gap:8px;min-width:0;border-top:1px solid color-mix(in srgb,var(--text) 12%,transparent);padding-top:10px}.canvas-node-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.canvas-node-section-title strong{color:var(--muted);font-family:var(--font-mono);font-size:.7rem;font-weight:var(--weight-medium)}.canvas-node-version-buttons{display:flex;gap:7px;min-width:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.canvas-node-version-buttons button{display:grid;flex:0 0 92px;gap:3px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:7px 8px;color:var(--text);background:transparent;text-align:left}.canvas-node-version-buttons button.active,.canvas-node-version-buttons button:hover{border-color:var(--line-strong);background:var(--surface-soft)}.canvas-node-version-buttons span,.canvas-node-version-buttons small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-node-version-buttons span{font-size:.72rem;font-weight:var(--weight-semibold)}.canvas-node-version-buttons small{color:var(--muted);font-size:.68rem}.visual-node textarea{width:100%;min-height:0;height:100%;resize:none;border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--text);background:var(--input);font-size:.76rem;font-weight:380;line-height:1.5}.visual-node .canvas-node-prompt{min-height:58px;height:auto;resize:vertical;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:12px;padding:10px 11px;background-color:var(--canvas-node-prompt-bg);font-size:.78rem;font-weight:var(--weight-regular)}.visual-preview-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:28px;background:#000000c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.visual-preview-shell{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1280px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:hidden;border:1px solid color-mix(in srgb,white 18%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,black);box-shadow:0 28px 90px #00000070}.visual-preview-shell>header{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:12px 14px 12px 18px}.visual-preview-shell>header strong,.visual-preview-shell>header small{display:block;max-width:min(620px,50vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-preview-shell>header small{margin-top:3px;color:var(--muted);font-size:.72rem}.visual-preview-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.visual-preview-frame{box-sizing:border-box;container-type:size;display:grid;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;place-items:center;padding:18px;background:#00000052}.visual-preview-frame.zoomable{cursor:zoom-in}.visual-preview-frame.zoomable>img,.visual-preview-frame.zoomable .visual-preview-compare{transform:translate(var(--preview-pan-x, 0),var(--preview-pan-y, 0)) scale(var(--preview-zoom, 1));transform-origin:center;transition:transform .12s ease}.visual-preview-frame>img{box-sizing:border-box;display:block;max-width:100%;max-height:100%;width:auto;height:auto;min-width:0;min-height:0;border-radius:12px;object-fit:contain;box-shadow:0 18px 52px #00000047}.visual-preview-compare{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,white 16%,transparent);border-radius:12px;background:linear-gradient(45deg,rgb(255 255 255 / .055) 25%,transparent 25%),linear-gradient(-45deg,rgb(255 255 255 / .055) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgb(255 255 255 / .055) 75%),linear-gradient(-45deg,transparent 75%,rgb(255 255 255 / .055) 75%),#090909;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;box-shadow:0 18px 52px #00000047}.visual-preview-compare.has-output-ratio{width:min(100cqw,calc(100cqh * var(--preview-aspect-ratio-value, 1)));height:min(100cqh,calc(100cqw / var(--preview-aspect-ratio-value, 1)));max-width:100%;max-height:100%;aspect-ratio:var(--preview-aspect-ratio, 1 / 1)}.visual-preview-compare img,.visual-preview-comparison-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.visual-preview-compare img{object-fit:contain;box-shadow:none}.visual-preview-comparison-layer{clip-path:inset(0 calc(100% - var(--compare-position, 50%)) 0 0)}.visual-preview-divider{position:absolute;z-index:2;top:0;bottom:0;left:var(--compare-position, 50%);width:2px;background:#ffffffeb;box-shadow:0 0 0 1px #0000004d,0 0 20px #00000070;transform:translate(-1px);pointer-events:none}.visual-preview-divider:before{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;border:1px solid rgb(255 255 255 / .86);border-radius:999px;background:#0000008f;box-shadow:0 10px 26px #00000061;transform:translate(-50%,-50%)}.visual-preview-slider{position:absolute;z-index:1;top:0;bottom:0;left:var(--compare-position, 50%);width:44px;height:100%;padding:0;border:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;transform:translate(-50%);touch-action:none;cursor:ew-resize;opacity:0}.visual-preview-compare-label{position:absolute;z-index:2;top:14px;max-width:min(42%,320px);overflow:hidden;border:1px solid rgb(255 255 255 / .18);border-radius:999px;padding:6px 10px;color:#fff;background:#0000007a;font-size:.76rem;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.visual-preview-compare-label.before{left:14px}.visual-preview-compare-label.after{right:14px}.visual-resize-handle{position:absolute;right:5px;bottom:5px;width:14px;height:14px;border-right:2px solid color-mix(in srgb,var(--text) 34%,transparent);border-bottom:2px solid color-mix(in srgb,var(--text) 34%,transparent);cursor:nwse-resize}.canvas-node .visual-resize-handle{right:8px;bottom:8px;opacity:0;transition:opacity .16s ease}.canvas-node:hover .visual-resize-handle,.canvas-node.active .visual-resize-handle{opacity:1}textarea{min-height:180px;resize:vertical;padding:14px;line-height:1.7}.agent-mobile-tabs{display:none}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.48}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.app-route-layer{transform:none!important;filter:none!important}.agent-composer-shell{transition:width .18s ease,transform .18s ease,opacity .2s ease!important}.agent-composer{transition:background .5s ease,box-shadow .5s ease!important}.agent-composer:before,.agent-composer:after{transition:opacity .3s ease!important}}@media(max-width:1180px){body{overflow:auto}.workspace{--workspace-content-top: 118px;height:auto;min-height:100dvh;overflow:visible}.workspace-header{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand profile" "nav nav";height:auto;padding:12px 14px}.workspace-body{padding:var(--workspace-content-top) 14px 18px}.workspace-body.is-canvas-view{padding:0}.brand-lockup{grid-area:brand}.workspace-header>.dock-outer{grid-area:nav;width:100%;justify-content:flex-start}.workspace-dock-panel{width:100%}.workspace-dock-panel .dock-item{width:auto;flex:1 1 0}.profile-tools{grid-area:profile}.workspace-project-context{max-width:min(52vw,320px)}.workspace-project-dropdown{width:min(190px,26vw)}.agent-layout,.canvas-layout{grid-template-columns:1fr}.canvas-layout{grid-template-columns:minmax(0,1fr);height:100dvh}.canvas-layout.has-visual-agent{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.canvas-layout.has-visual-agent.visual-agent-dock-right{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}.canvas-workspace-bar{top:var(--workspace-content-top);left:14px;max-width:calc(100% - 28px)}.infinite-canvas{height:100dvh;min-height:100dvh}.agent-layout{grid-template-areas:"tabs" "content";grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - var(--workspace-content-top) - 18px);min-height:0;overflow:hidden}.agent-mobile-tabs{display:grid;grid-area:tabs;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-bottom:1px solid var(--line);padding:8px;background:var(--surface)}.agent-mobile-tabs button{min-width:0;min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);background:transparent;font-size:.86rem;font-weight:var(--weight-semibold)}.agent-mobile-tabs button:hover{color:var(--text);background:var(--surface-elevated)}.agent-mobile-tabs button.active{border-color:var(--line);color:var(--text);background:var(--surface-elevated);box-shadow:0 1px 2px #00000014}.agent-layout>:is(aside,section){grid-area:content;min-height:0}.agent-layout>:is(aside,section):not(.mobile-active){display:none}.agent-layout>.context-rail.mobile-active{display:flex}.agent-layout>.agent-stage.mobile-active,.agent-layout>.history-rail.mobile-active{display:grid}.agent-layout>.context-rail{border-right:0;border-bottom:0}.agent-layout>.history-rail{border-left:0;border-top:0}}@media(max-width:760px){.workspace{--workspace-content-top: 194px}.workspace-header{grid-template-areas:"brand profile" "project project" "nav nav"}.brand-lockup{display:contents}.brand-logo-image{grid-area:brand;width:88px}.workspace-project-context{grid-area:project;width:100%;max-width:100%;border-left:0;padding-left:0}.workspace-project-dropdown{width:auto;flex:1 1 auto}.workspace-project-edit,.workspace-project-create{width:44px;height:44px}.modal-layer{padding:14px}.visual-preview-layer{padding:8px}.visual-preview-shell{width:calc(100vw - 16px);height:calc(100vh - 16px);max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:14px}.visual-preview-shell>header{gap:8px;padding:10px}.visual-preview-shell>header strong,.visual-preview-shell>header small{max-width:min(190px,48vw)}.visual-preview-frame{padding:10px}.workspace-body.is-canvas-view{padding:0}.canvas-layout.has-visual-agent,.canvas-layout.has-visual-agent.visual-agent-dock-right{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(360px,56dvh) minmax(0,1fr)}.canvas-layout.has-visual-agent :is(.infinite-canvas,.visual-agent-panel.dock-left,.visual-agent-panel.dock-right){grid-column:1}.canvas-layout.has-visual-agent:before,.canvas-layout.has-visual-agent.visual-agent-dock-right:before{grid-column:1;grid-row:1}.canvas-layout.has-visual-agent .visual-agent-panel{grid-row:1;border-width:1px 0 0;border-radius:0;margin:var(--workspace-content-top) 0 0}.canvas-layout.has-visual-agent .infinite-canvas{grid-row:2;height:auto;min-height:0}.canvas-workspace-bar{right:12px;left:12px;flex-wrap:wrap;max-width:none}.canvas-name-field{flex:1 0 100%;min-width:0}.canvas-name-input{width:100%}.canvas-workspace-select{width:auto;flex:1 1 180px}.canvas-workspace-create{width:44px;height:44px}.canvas-view-controls{flex:1 0 100%;justify-content:space-between;border-top:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-left:0;margin-top:2px;margin-left:0;padding-top:6px;padding-left:0}.canvas-view-control{min-width:44px;height:44px}.agent-home{gap:30px;padding:26px 12px}.agent-stage{min-height:0}.agent-composer{border-radius:18px;padding:10px}.agent-file-card{width:156px}.infinite-canvas{min-height:100dvh}.message{max-width:100%}.profile-button span,.brand-lockup span:last-child{display:none}}.presentation-editor{display:flex;width:100%;min-width:0;min-height:0;height:100%;flex:1;flex-direction:column;gap:var(--card-gap);overflow:hidden;padding:var(--card-gap);color:var(--text);background:var(--page)}.presentation-toolbar{display:flex;flex:0 0 auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-card);padding:12px 16px;background:var(--surface);box-shadow:var(--card-shadow);overflow-x:auto}.presentation-toolbar-title{display:grid;min-width:170px;margin-right:auto;gap:3px}.presentation-toolbar-title strong{font-size:15px}.presentation-toolbar-title span,.presentation-toolbar label>span{color:var(--muted);font-size:11px}.presentation-toolbar label{display:grid;gap:4px;flex:0 0 auto}.presentation-toolbar select,.presentation-toolbar input,.presentation-inspector select,.presentation-inspector input,.presentation-inspector textarea{border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;background:var(--input);font:inherit;outline:none}.presentation-toolbar select,.presentation-toolbar input{height:38px;padding:0 10px}.presentation-toolbar input{width:72px}.presentation-toolbar .primary-button.compact,.presentation-toolbar .secondary-button.compact,.presentation-toolbar select,.presentation-toolbar input,.presentation-toolbar .dropdown-select-trigger{height:38px;min-height:38px;box-sizing:border-box}.presentation-toolbar .dropdown-select-trigger{width:auto;min-width:132px;max-width:240px;border-radius:var(--radius-sm);background:var(--input);box-shadow:none}.presentation-toolbar>.primary-button.compact,.presentation-toolbar>.secondary-button.compact{align-self:flex-end;height:38px;min-height:38px;gap:10px;padding:0 10px;font-size:.84rem;font-weight:var(--weight-medium);line-height:1.2}.presentation-alert,.presentation-task-status{flex:0 0 auto;border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-size:12px}.presentation-alert{border-color:color-mix(in srgb,#d86161 42%,var(--line));color:#d86161;background:color-mix(in srgb,#9f2f2f 18%,var(--surface-elevated))}.presentation-task-status{border-color:color-mix(in srgb,#8fcf96 32%,var(--line));color:color-mix(in srgb,#8fcf96 78%,var(--text));background:color-mix(in srgb,#47654f 22%,var(--surface-elevated))}.presentation-recovery-card{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;border:1px solid color-mix(in srgb,#c7a45a 48%,var(--line));border-radius:10px;padding:8px 12px;color:var(--text);background:color-mix(in srgb,#c7a45a 8%,var(--surface));font-size:12px}.presentation-recovery-card .secondary-button.compact{min-height:30px;flex:0 0 auto}.presentation-v2-workflow{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;border:1px solid color-mix(in srgb,var(--accent) 46%,var(--line));border-radius:12px;padding:10px 14px;color:var(--text);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.presentation-v2-workflow-copy{display:flex;min-width:0;flex-direction:column;gap:3px;font-size:12px}.presentation-v2-workflow-copy span{color:var(--muted)}.presentation-v2-workflow>.primary-button.compact,.presentation-v2-workflow>.secondary-button.compact{min-height:32px;flex:0 0 auto}.presentation-editor-grid{display:grid;width:100%;min-width:0;min-height:0;flex:1;grid-template-columns:var(--presentation-left-width, 270px) 12px minmax(420px,1fr) 12px var(--presentation-right-width, 320px)}.presentation-editor-grid.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.presentation-page-rail,.presentation-inspector{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow)}.presentation-inspector{padding:18px}.presentation-panel-resizer{position:relative;z-index:3;width:12px;min-width:12px;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none}.presentation-panel-resizer span{position:absolute;top:50%;left:50%;width:3px;height:42px;border-radius:999px;background:var(--line-strong);transform:translate(-50%,-50%)}.presentation-panel-resizer:hover,.presentation-panel-resizer.active,.presentation-panel-resizer:focus-visible{background:transparent;outline:none}.presentation-panel-resizer:hover span,.presentation-panel-resizer.active span,.presentation-panel-resizer:focus-visible span{background:var(--focus)}.presentation-page-rail-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px}.presentation-page-rail-head button,.presentation-page-actions button{display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:7px;color:inherit;background:transparent;cursor:pointer}.presentation-page-actions button:disabled,.presentation-page-rail-head button:disabled{opacity:.35;cursor:default}.presentation-page-list{display:grid;gap:10px;padding:4px 12px 18px}.presentation-page-thumb{padding:7px;border:1px solid var(--line);border-radius:11px;background:var(--surface-elevated)}.presentation-page-thumb.active{border-color:#86ad49;box-shadow:0 0 0 2px #b7e26b40}.presentation-page-select{display:grid;width:100%;gap:7px;padding:0;border:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.presentation-page-select img{display:block;width:100%;aspect-ratio:16 / 9;border-radius:6px;object-fit:cover;background:#f4f1ea;box-shadow:0 2px 8px #17201d1f}.presentation-source-page{object-fit:contain!important;background:#0b0b0b}.presentation-page-select .presentation-page-reconstruction-placeholder{display:grid;width:100%;aspect-ratio:16 / 9;place-content:center;gap:4px;border-radius:6px;color:var(--muted);text-align:center;background:radial-gradient(circle at 50% 38%,rgb(183 226 107 / .18),transparent 34%),var(--surface-soft);box-shadow:0 2px 8px #17201d1f}.presentation-page-select .presentation-page-reconstruction-placeholder b{color:#78983f;font-size:16px}.presentation-page-select span{display:grid;grid-template-columns:28px 1fr;gap:5px;font-size:11px;line-height:1.35}.presentation-page-select b{color:#78983f}.presentation-page-select .presentation-reconstruction-stage{grid-column:2;width:fit-content;margin-top:2px}.presentation-page-actions{display:flex;justify-content:flex-end;gap:4px;margin-top:7px}.presentation-stage{display:grid;grid-template-rows:auto auto;align-content:start;min-width:0;min-height:0;place-items:center;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-card);padding:10px clamp(12px,2vw,24px) 20px;background-color:color-mix(in srgb,var(--surface-soft) 76%,var(--page));background-image:radial-gradient(color-mix(in srgb,var(--text) 16%,transparent) .7px,transparent .7px);background-size:18px 18px;box-shadow:var(--card-shadow)}.presentation-context-toolbar{position:sticky;top:0;z-index:6;display:flex;box-sizing:border-box;align-items:center;width:min(100%,1120px);min-height:44px;align-content:flex-start;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:7px 10px;overflow:visible;border:1px solid var(--line);border-radius:var(--radius-card);color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 96%,transparent);box-shadow:0 8px 26px #0000002e}.presentation-context-toolbar button,.presentation-context-toolbar .dropdown-select-trigger,.presentation-context-toolbar input[type=number]{flex:0 0 auto;min-height:34px;border:1px solid var(--line);border-radius:9px;color:inherit;background:var(--surface-soft)}.presentation-context-toolbar .dropdown-select-trigger{width:auto;min-width:118px;max-width:190px;gap:6px}.presentation-context-toolbar .dropdown-select-trigger .dropdown-select-value{font-size:12px}.presentation-context-toolbar button{min-width:34px;padding:0 10px;cursor:pointer}.presentation-context-toolbar button.active{border-color:#86ad49;background:color-mix(in srgb,#b7e26b 22%,var(--surface))}.presentation-context-toolbar button:disabled{opacity:.38;cursor:default}.presentation-context-toolbar label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}.presentation-font-size-input{width:58px;padding:0 6px;text-align:center}.presentation-color-control{display:inline-flex!important;align-items:center;width:auto;min-width:104px;height:34px;padding:0 6px 0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}.presentation-color-control-label{display:inline-flex;align-items:center;gap:5px;font-size:12px}.presentation-color-control-label strong{padding-bottom:1px;border-bottom:3px solid currentcolor;font-size:14px;line-height:1}.presentation-color-control input{width:24px;height:22px;padding:0;border:0;border-radius:5px;background:transparent;cursor:pointer}.presentation-toolbar-separator{width:1px;height:26px;margin:0 3px;background:var(--line)}.presentation-slide-frame{position:relative;width:min(var(--presentation-slide-width, 100%),var(--presentation-slide-max-width, 1120px));aspect-ratio:16 / 9;box-shadow:0 22px 70px #00000052}.presentation-slide-frame img{display:block;width:100%;height:100%;object-fit:contain;background:var(--surface-soft)}.presentation-reconstruction-stage-image{position:absolute;top:0;right:0;bottom:0;left:0;object-fit:contain!important}.presentation-reconstruction-stage-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:12px;padding:36px;color:var(--muted);text-align:center;background:radial-gradient(circle at 50% 42%,rgb(183 226 107 / .16),transparent 30%),var(--surface-soft)}.presentation-reconstruction-stage-placeholder strong{color:var(--text);font-size:18px}.presentation-reconstruction-stage-placeholder small{max-width:360px;line-height:1.6}.presentation-direct-canvas,.presentation-direct-svg,.presentation-direct-svg svg,.presentation-component-text-layer,.presentation-element-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.presentation-direct-canvas{overflow:hidden;outline:none;background:var(--surface-soft);touch-action:none;container-type:inline-size}.presentation-direct-svg{z-index:1}.presentation-direct-svg svg{display:block}.presentation-element-layer{z-index:3;pointer-events:none}.presentation-component-text-layer{z-index:2;pointer-events:none}.presentation-component-text{position:absolute;display:flex;align-items:center;min-width:16px;min-height:14px;line-height:1.15;white-space:nowrap;cursor:text;pointer-events:auto;transform-origin:center}.presentation-component-text>span{width:100%;overflow:hidden;text-overflow:ellipsis}.presentation-component-text.editing{z-index:5;outline:2px solid #4b80ff}.presentation-component-text input{width:100%;min-width:0;border:0;outline:0;padding:2px 4px;color:inherit;background:color-mix(in srgb,var(--surface) 96%,transparent);font:inherit;text-align:inherit;letter-spacing:0}.presentation-element-hitbox{position:absolute;box-sizing:border-box;min-width:8px;min-height:8px;border:1px solid transparent;outline:none;cursor:move;transform-origin:center;pointer-events:auto;user-select:none;-webkit-user-select:none}.presentation-element-hitbox:hover{border-color:#4b80ff8f}.presentation-element-hitbox.selected{border-color:#4b80ff;box-shadow:0 0 0 1px #ffffffd1}.presentation-element-hitbox.locked{cursor:default}.presentation-element-surface,.presentation-element-shape,.presentation-element-chart{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.presentation-element-surface{box-sizing:border-box;overflow:hidden}.presentation-element-surface.text{display:flex;flex-direction:column;justify-content:flex-start;line-height:1.25;white-space:pre-wrap;overflow-wrap:anywhere}.presentation-element-surface.text small{margin-bottom:.45em;color:currentColor;font-size:.48em;font-weight:700;opacity:.72}.presentation-element-surface.image{display:grid;place-items:center;background:#181c1b1f}.presentation-element-surface.image img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}.presentation-element-image-empty{color:var(--muted);font-size:1.4cqw}.presentation-element-surface.shape{display:grid;place-items:center}.presentation-element-surface.shape>span{position:relative;z-index:1;max-width:82%;overflow:hidden;color:var(--text);font-size:1.5cqw;text-align:center;text-overflow:ellipsis;white-space:nowrap}.presentation-element-chart{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1.1cqw;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);padding:1.2cqw;background:color-mix(in srgb,var(--surface) 94%,transparent)}.presentation-element-chart svg{width:100%;min-height:0}.presentation-element-chart-labels{display:flex;justify-content:space-around;gap:.5cqw;color:var(--muted);font-size:1.05cqw}.presentation-element-chart.pie{grid-template:1fr / minmax(0,1.2fr) minmax(0,.8fr);align-items:center}.presentation-element-chart.pie>div:first-child{width:min(82%,22cqw);aspect-ratio:1;justify-self:center;border-radius:50%}.presentation-element-chart.pie>.doughnut{border:4cqw solid color-mix(in srgb,var(--surface) 94%,transparent)}.presentation-element-chart.pie ol{display:grid;gap:.8cqw;margin:0;padding:0;color:var(--text);font-size:1.1cqw;list-style:none}.presentation-element-chart.pie li{display:flex;align-items:center;gap:.6cqw}.presentation-element-chart.pie i{width:.8cqw;height:.8cqw;flex:0 0 auto;border-radius:50%}.presentation-element-surface.table{background:var(--surface)}.presentation-element-surface.table table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;color:var(--text);font-size:1.15cqw}.presentation-element-surface.table th,.presentation-element-surface.table td{overflow:hidden;border:1px solid var(--line);padding:.7cqw;text-align:left;text-overflow:ellipsis;white-space:nowrap}.presentation-element-surface.table th{color:#fff;background:var(--text);font-weight:700}.presentation-element-surface.annotation{display:grid;grid-template-columns:1.2cqw minmax(0,1fr);align-items:center;gap:.7cqw;border:1px solid currentColor;padding:.6cqw .9cqw;background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:1.25cqw;font-weight:700}.presentation-element-surface.annotation i{width:.8cqw;height:.8cqw;border:.22cqw solid currentColor;border-radius:50%}.presentation-resize-handle{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:2px;background:#4b80ff}.presentation-resize-handle.nw{top:-6px;left:-6px;cursor:nwse-resize}.presentation-resize-handle.ne{top:-6px;right:-6px;cursor:nesw-resize}.presentation-resize-handle.sw{bottom:-6px;left:-6px;cursor:nesw-resize}.presentation-resize-handle.se{right:-6px;bottom:-6px;cursor:nwse-resize}.presentation-rotate-handle{position:absolute;top:-32px;left:50%;width:14px;height:14px;border:2px solid white;border-radius:50%;background:#4b80ff;box-shadow:0 0 0 1px #4b80ff;transform:translate(-50%);cursor:grab}.presentation-rotate-handle:after{position:absolute;top:12px;left:5px;width:2px;height:18px;background:#4b80ff;content:""}.presentation-inline-text-editor{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;min-height:100%;margin:0;border:0;outline:2px solid #4b80ff;padding:4px;color:inherit;background:#fffffff5;line-height:1.25;letter-spacing:0;resize:none}.presentation-inline-element-editor,.presentation-inline-data-editor,.presentation-inline-image-crop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;box-sizing:border-box;width:100%;border:0;outline:2px solid #4b80ff;color:var(--text);background:color-mix(in srgb,var(--surface) 96%,transparent);pointer-events:auto}.presentation-inline-element-editor{padding:.8cqw;font-size:1.25cqw}.presentation-inline-data-editor{min-height:100%;padding:1cqw;font:1.05cqw/1.45 Consolas,monospace;letter-spacing:0;resize:none}.presentation-inline-image-crop{inset:auto 0 0;display:grid;gap:.5cqw;padding:.8cqw;background:#080a0ad1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.presentation-inline-image-crop label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8cqw;color:#fff;font-size:1cqw}.presentation-element-geometry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-elevated)}.presentation-element-geometry legend{padding:0 4px;color:var(--muted);font-size:12px}.presentation-element-geometry label{min-width:0}.presentation-element-data-editor textarea{min-height:150px;-moz-tab-size:12;tab-size:12;white-space:pre}.presentation-slide-frame.show-guides:before,.presentation-slide-frame.show-guides:after{content:"";position:absolute;z-index:2;pointer-events:none}.presentation-slide-frame.show-guides:before{top:0;bottom:0;left:50%;width:1px;background:repeating-linear-gradient(to bottom,var(--alignment-guide) 0 4px,transparent 4px 8px)}.presentation-slide-frame.show-guides:after{left:0;right:0;top:50%;height:1px;background:repeating-linear-gradient(to right,var(--alignment-guide) 0 4px,transparent 4px 8px)}.presentation-smart-guide{position:absolute;z-index:8;display:block;min-width:1px;min-height:1px;pointer-events:none}.presentation-smart-guide[data-axis=x]{width:1px;background:repeating-linear-gradient(to bottom,var(--alignment-guide) 0 4px,transparent 4px 8px)}.presentation-smart-guide[data-axis=y]{height:1px;background:repeating-linear-gradient(to right,var(--alignment-guide) 0 4px,transparent 4px 8px)}.presentation-stage-menu{position:absolute;z-index:12;display:grid;width:230px;padding:9px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:var(--surface);box-shadow:0 18px 48px #00000042}.presentation-stage-menu button{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 10px;border:0;border-radius:8px;color:inherit;background:transparent;cursor:pointer}.presentation-stage-menu button:hover{background:var(--surface-soft)}.presentation-stage-menu button:disabled{opacity:.4;cursor:default}.presentation-stage-menu kbd{padding:3px 6px;border-radius:6px;color:var(--muted);background:var(--surface-soft);font:11px/1.2 ui-monospace,monospace}.presentation-stage-placeholder{width:100%;height:100%}.presentation-inspector-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:18px;padding:4px;border-radius:10px;background:var(--surface-soft)}.presentation-inspector-tabs button{min-height:34px;border:0;border-radius:7px;color:var(--muted);background:transparent;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.presentation-inspector-tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 1px 5px #00000024}.presentation-inspector label{display:grid;gap:6px;margin-bottom:14px}.presentation-inspector label>span{color:var(--muted);font-size:11px;font-weight:700}.presentation-inspector select,.presentation-inspector input{min-height:38px;padding:0 10px}.presentation-inspector .dropdown-select-trigger{width:100%;min-height:38px}.presentation-inspector textarea{min-height:92px;padding:10px;resize:vertical;line-height:1.55}.presentation-component-data-editor small{color:var(--muted);font-size:11px;line-height:1.4}.presentation-inspector .full+.full{margin-top:10px}.presentation-visual-draft-card{display:grid;gap:10px;margin-bottom:16px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-elevated)}.presentation-visual-draft-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.presentation-visual-draft-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.presentation-visual-draft-status{padding:3px 7px;border-radius:999px;color:var(--muted);background:var(--surface);font-size:11px}.presentation-visual-draft-status.is-ready{color:#5d7d2e;background:color-mix(in srgb,#b7e26b 22%,var(--surface))}.presentation-visual-draft-status.is-error{color:var(--danger, #c94b4b)}.presentation-reconstruction-card{display:grid;gap:11px;margin-bottom:16px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-elevated)}.presentation-reconstruction-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.presentation-reconstruction-card p{margin:0;color:var(--muted);font-size:12px}.presentation-reconstruction-stage{display:inline-flex;padding:3px 7px;border-radius:999px;color:#526934;background:color-mix(in srgb,#b7e26b 20%,var(--surface));font-size:10px;font-style:normal}.presentation-reconstruction-stage.is-failed{color:var(--danger, #c94b4b);background:color-mix(in srgb,#c94b4b 12%,var(--surface))}.presentation-reconstruction-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.presentation-reconstruction-compare figure{min-width:0;margin:0}.presentation-reconstruction-compare img,.presentation-reconstruction-compare figure>span{display:grid;width:100%;aspect-ratio:16 / 9;place-items:center;border-radius:6px;object-fit:cover;color:var(--muted);background:var(--surface);font-size:10px}.presentation-reconstruction-compare figcaption{padding-top:4px;color:var(--muted);text-align:center;font-size:10px}.presentation-editability-tags{display:flex;flex-wrap:wrap;gap:5px}.presentation-editability-tags span{padding:3px 6px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px}.presentation-version-history{display:grid;align-content:start;gap:10px}.presentation-version-history>header,.presentation-version-history article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.presentation-version-history article{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-elevated)}.presentation-version-history article p{margin:0;font-size:12px;line-height:1.45}.presentation-version-history article small,.presentation-version-history article span{color:var(--muted);font-size:10px}.presentation-version-history article span.is-review{color:var(--warning, #a36d16)}.presentation-outline-panel{display:grid;height:calc(100% - 56px);min-height:420px;grid-template-rows:auto minmax(0,1fr)}.presentation-outline-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px}.presentation-outline-toolbar strong{font-size:12px}.presentation-outline-toolbar button{min-width:54px;min-height:28px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:var(--surface);font:inherit;font-size:11px;cursor:pointer}.presentation-outline-panel textarea,.presentation-outline-markdown{width:100%;height:100%;min-height:0}.presentation-outline-panel textarea{resize:none;font-size:13px;line-height:1.7}.presentation-outline-markdown{overflow:auto;padding:16px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--input);font-size:13px;line-height:1.72}.presentation-outline-markdown>:first-child{margin-top:0}.presentation-outline-markdown>:last-child{margin-bottom:0}.presentation-outline-markdown h1,.presentation-outline-markdown h2,.presentation-outline-markdown h3,.presentation-outline-markdown h4{margin:1.35em 0 .55em;line-height:1.35}.presentation-outline-markdown h1{font-size:20px}.presentation-outline-markdown h2{padding-bottom:7px;border-bottom:1px solid var(--line);font-size:17px}.presentation-outline-markdown h3{font-size:15px}.presentation-outline-markdown h4{font-size:13px}.presentation-outline-markdown p{margin:.7em 0}.presentation-outline-markdown ul,.presentation-outline-markdown ol{margin:.65em 0;padding-left:1.6em}.presentation-outline-markdown li{margin:.32em 0}.presentation-outline-markdown strong{font-weight:750}.presentation-outline-markdown code{padding:1px 5px;border-radius:5px;color:var(--focus);background:var(--surface-soft);font-family:var(--font-body);font-size:.92em}.presentation-outline-markdown blockquote{margin:.8em 0;padding:8px 12px;border-left:3px solid var(--focus);color:var(--muted);background:var(--surface-soft)}.presentation-outline-markdown hr{margin:18px 0;border:0;border-top:1px solid var(--line)}.presentation-outline-markdown a{color:var(--focus);text-decoration:underline;text-underline-offset:2px}.presentation-outline-empty{color:var(--muted)}.presentation-source-overlay{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#000000ad}.presentation-source-dialog{display:flex;width:min(1024px,calc(100vw - 48px));max-height:min(86vh,880px);flex-direction:column;overflow:hidden;border:1px solid var(--line-strong);border-radius:14px;color:var(--text);background:var(--surface);box-shadow:0 28px 90px #00000052}.presentation-source-dialog>header{display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:0 22px;border-bottom:1px solid var(--line)}.presentation-source-dialog h2{margin:0;font-size:21px}.presentation-source-dialog>header button{width:54px;height:54px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--surface-elevated);font-size:30px;cursor:pointer}.presentation-source-summary{display:flex;align-items:center;gap:16px;min-height:56px;padding:0 24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:16px}.presentation-source-summary i{font-style:normal;color:var(--subtle)}.presentation-source-content{overflow-y:auto;padding:0 24px 12px}.presentation-source-content>section>header{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-bottom:1px solid var(--line);font-size:16px}.presentation-source-content>section>header span{color:var(--muted);font-size:14px}.presentation-source-row{position:relative;display:grid;min-height:70px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:14px;margin:8px 0;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:var(--surface-elevated);cursor:pointer}.presentation-source-row input{position:absolute;opacity:0;pointer-events:none}.presentation-source-check{display:grid;width:21px;height:21px;place-items:center;border:1px solid var(--line-strong);border-radius:2px;color:transparent;background:var(--surface-elevated)}.presentation-source-row input:checked+.presentation-source-check{border-color:#50c9e8;color:#17343c;background:#50c9e8}.presentation-source-copy{display:grid;min-width:0;gap:4px}.presentation-source-copy strong{overflow:hidden;font-size:15px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.presentation-source-copy small{color:var(--muted);font-size:12px}.presentation-source-image-row{grid-template-columns:24px 66px minmax(0,1fr)}.presentation-source-image-row img{width:66px;height:48px;border-radius:7px;object-fit:cover}.presentation-source-empty{margin:0;padding:22px 0;color:var(--muted);border-bottom:1px solid var(--line)}.presentation-source-dialog>footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 22px;border-top:1px solid var(--line);background:var(--surface)}.presentation-source-dialog>footer button{min-width:130px;min-height:52px;justify-content:center}@media(max-width:1100px){.presentation-editor{gap:8px;padding:8px}.presentation-editor-grid{grid-template-columns:minmax(190px,var(--presentation-left-width, 220px)) 8px minmax(360px,1fr) 8px minmax(230px,var(--presentation-right-width, 280px))}.presentation-panel-resizer{width:8px;min-width:8px}}@media(max-width:760px){.presentation-editor{gap:8px;padding:8px;overflow:auto}.presentation-toolbar{flex-wrap:wrap;overflow-x:visible}.presentation-editor-grid{display:flex;min-height:0;flex:0 0 auto;flex-direction:column;gap:8px;overflow:visible}.presentation-panel-resizer{display:none}.presentation-page-rail{max-height:260px}.presentation-stage{min-height:340px}.presentation-inspector{max-height:none}}.canvas-node-context-toolbar{position:absolute;bottom:calc(100% + 34px / var(--canvas-zoom, 1));left:50%;z-index:8;display:flex;width:max-content;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:12px;padding:5px;color:var(--text);background:color-mix(in srgb,var(--surface-elevated) 94%,black);box-shadow:0 14px 34px #00000047;opacity:0;translate:-50% 4px;scale:var(--canvas-zoom-inverse, 1);transform-origin:center bottom;transition:opacity .16s ease,translate .16s ease;pointer-events:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.canvas-node:hover .canvas-node-context-toolbar,.canvas-node.selected .canvas-node-context-toolbar,.canvas-node-context-toolbar:focus-within{opacity:1;translate:-50% 0;pointer-events:auto}.canvas-node-context-toolbar .canvas-node-brush-action,.canvas-node-context-toolbar .canvas-node-derivation-action,.canvas-node-context-toolbar .canvas-node-split-action{position:static;display:inline-flex;width:auto;height:30px;min-width:0;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:0 9px;color:color-mix(in srgb,var(--text) 82%,transparent);background:transparent;box-shadow:none;opacity:1;transform:none;pointer-events:auto;font-size:11px;font-weight:var(--weight-semibold);white-space:nowrap}.canvas-node-context-toolbar .canvas-node-brush-action:hover,.canvas-node-context-toolbar .canvas-node-derivation-action:hover,.canvas-node-context-toolbar .canvas-node-split-action:hover{border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent);transform:none}.canvas-node-context-toolbar .canvas-node-split-action{color:color-mix(in srgb,var(--accent) 78%,var(--text))}.derivation-panel-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;padding:18px;background:#00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.derivation-panel{display:flex;width:min(430px,calc(100vw - 36px));height:100%;max-height:820px;flex-direction:column;overflow:hidden;border:1px solid var(--line-strong);border-radius:18px;color:var(--text);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 28px 80px #0000005c}.derivation-panel-header,.derivation-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}.derivation-panel-header div,.derivation-panel-footer div{display:grid;gap:3px}.derivation-panel-header span,.derivation-panel-footer span,.derivation-source-summary span,.derivation-source-summary small{color:var(--muted);font-size:11px}.derivation-panel-header h2{margin:0;font-size:20px;font-weight:650}.derivation-panel-header>button,.holiday-group-header button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--surface-elevated)}.derivation-source-summary{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 18px 0;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-elevated)}.derivation-source-summary img{width:72px;height:54px;border-radius:9px;object-fit:cover}.derivation-source-summary div{display:grid;min-width:0;gap:3px}.derivation-source-summary strong,.derivation-source-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.derivation-source-summary>button,.holiday-group-footer button,.holiday-slot-actions button{min-height:30px;padding:5px 9px;border:1px solid var(--line-strong);border-radius:8px;color:var(--text);background:var(--surface)}.derivation-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 18px}.derivation-mode-tabs>button{display:grid;min-width:0;gap:5px;padding:12px 10px;text-align:left;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--surface-elevated)}.derivation-mode-tabs>button.active{color:var(--text);border-color:color-mix(in srgb,var(--focus) 65%,var(--line));background:color-mix(in srgb,var(--focus) 10%,var(--surface-elevated))}.derivation-mode-tabs span{font-size:12px}.derivation-mode-tabs small{font-size:9px;line-height:1.45}.derivation-panel-fields{display:grid;gap:13px;padding:0 18px 14px;overflow:auto}.derivation-panel-fields label{display:grid;gap:7px;color:var(--muted);font-size:11px}.derivation-panel-fields select,.derivation-panel-fields input,.derivation-panel-fields textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface-elevated);outline:0}.derivation-panel-fields textarea{resize:vertical}.derivation-panel-fields select:focus,.derivation-panel-fields input:focus,.derivation-panel-fields textarea:focus{border-color:var(--focus)}.derivation-checkbox-field{grid-template-columns:auto minmax(0,1fr);align-items:center}.derivation-checkbox-field input{width:16px}.derivation-preservation-field{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0;padding:0;border:0}.derivation-preservation-field legend{grid-column:1 / -1;margin-bottom:7px;color:var(--muted);font-size:11px}.derivation-preservation-field button{min-height:34px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--surface-elevated)}.derivation-preservation-field button.active{color:var(--text);border-color:var(--focus)}.derivation-panel-message{margin:0 18px 10px;color:#f2b95f;font-size:11px}.derivation-panel-footer{margin-top:auto;border-top:1px solid var(--line);border-bottom:0}.derivation-panel-footer .primary-button{min-width:158px;min-height:44px;justify-content:center}.canvas-node.holiday-group-node,.canvas-node.holiday-group-node:not(.active){display:grid;height:var(--canvas-node-media-height, 474px);min-height:0;grid-template-rows:auto minmax(0,1fr) auto;gap:0;align-content:stretch;overflow:hidden;border-radius:16px;background:var(--surface)}.holiday-group-header,.holiday-group-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line)}.holiday-group-header>div{display:grid;min-width:0;gap:3px}.holiday-group-header>div:last-child{grid-template-columns:minmax(0,1fr) auto;align-items:center}.holiday-group-header span{display:flex;align-items:center;gap:5px;color:var(--focus);font-size:10px}.holiday-group-header strong{font-size:13px}.holiday-group-header small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.holiday-group-grid{display:grid;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.holiday-group-slot{position:relative;display:grid;min-width:0;min-height:0;grid-template-columns:minmax(108px,46%) minmax(0,1fr);grid-template-rows:1fr auto;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface-elevated)}.holiday-group-slot.quality-warning{border-color:color-mix(in srgb,#f2b95f 62%,var(--line))}.holiday-group-slot.failed{border-color:color-mix(in srgb,#ef6a6a 58%,var(--line))}.holiday-slot-media{position:relative;display:grid;min-height:104px;place-items:center;overflow:hidden;color:var(--muted);background:#0000002e}.holiday-slot-media.clickable{cursor:zoom-in}.holiday-slot-media.clickable:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.holiday-slot-media img{width:100%;height:100%;object-fit:cover}.holiday-slot-media.loading .zerlum-loading-mark{overflow:visible}.holiday-slot-media.loading .zerlum-loading-mark img{width:132%;height:132%}.holiday-slot-index{position:absolute;top:6px;left:6px;display:grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#fff;font-size:9px;background:#0000008f}.holiday-slot-copy{display:grid;align-content:start;gap:4px;padding:10px}.holiday-slot-copy strong{font-size:11px}.holiday-slot-copy small{color:var(--muted);font-size:9px}.holiday-slot-copy p{margin:0;color:#f2b95f;font-size:8px;line-height:1.35}.holiday-slot-actions{display:flex;grid-column:1 / -1;gap:5px;padding:7px;border-top:1px solid var(--line)}.holiday-slot-actions button{display:inline-flex;min-width:30px;min-height:28px;align-items:center;justify-content:center;gap:4px;padding:4px 7px;font-size:9px}.holiday-group-footer{min-height:41px;border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:10px}@media(max-width:760px){.derivation-panel-backdrop{align-items:flex-end;padding:0}.derivation-panel{width:100%;height:min(86vh,760px);max-height:none;border-right:0;border-bottom:0;border-left:0;border-radius:18px 18px 0 0}.derivation-mode-tabs{grid-template-columns:1fr}.derivation-mode-tabs>button{grid-template-columns:auto minmax(0,1fr);align-items:center}.derivation-mode-tabs>button small{grid-column:2}.derivation-panel-footer{position:sticky;bottom:0;background:var(--surface)}}
