@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..700&family=Space+Grotesk:wght@400..700&display=swap";@import "https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Alfa+Slab+One&family=Bangers&family=Bebas+Neue&family=Caveat:wght@400..700&family=Cinzel:wght@400..900&family=DM+Serif+Display:ital@0;1&family=Great+Vibes&family=Lobster&family=Manrope:wght@200..800&family=Oswald:wght@400..700&family=Pacifico&family=Permanent+Marker&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Righteous&family=Satisfy&family=Yellowtail&display=swap";@import "https://fonts.googleapis.com/css2?family=Google+Sans:ital,wght@0,400..700;1,400..700&family=Inter&family=Montserrat&family=Nanum+Gothic&family=Open+Sans&family=Roboto&family=Arimo&family=Creepster&family=Lato&family=Noto+Sans+JP&family=Sen&family=Archivo+Black&family=Poppins&family=Saira+Extra+Condensed&family=Bebas+Neue&family=Noto+Sans+KR&family=Oswald&family=Sofia&family=Wix+Madefor+Display&family=Jost&family=Quicksand&family=Ubuntu&family=Wix+Madefor+Text&family=Fjalla+One&family=Gowun+Batang&family=Kanit&family=Suez+One&family=Black+Ops+One&family=Fragment+Mono&family=Libre+Franklin&family=Prompt&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Mulish:ital,wght@0,200..1000;1,200..1000&family=Shippori+Mincho:wght@400;500;600;700;800&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Share+Tech&family=Playwrite+ES:wght@100..400&family=Kameron:wght@400..700&family=Rubik+Maze&family=Noto+Sans+Lao&family=Barlow&family=Figtree&family=Lexend&family=Public+Sans&family=Inconsolata&family=Margarine&family=Noto+Sans+Telugu&family=Joti+One&family=Fraunces&family=JetBrains+Mono&family=Noto+Sans+Khmer&family=Vast+Shadow&family=Cormorant+Garamond&family=DM+Sans&family=Frijole&family=Micro+5&family=Overpass&display=swap";@import "https://fonts.googleapis.com/css2?family=Playwrite+NZ+Basic&family=Playwrite+NZ+Guides&family=Hibur+Mono&family=Geomini&family=Outfit&family=Yuyu+Short&family=Edu+VIC+WA+NT+Hand&family=Source+Sans+3&family=Playpen+Sans+Hebrew&family=BJCree&family=Noto+Sans+Mende+Kikakui&family=EB+Garamond&family=Noto+Sans+Lydian&family=Playwrite+ID&family=Noto+Sans+Thai&family=Hanken+Grotesk&family=Raleway&family=WDXL+Lubrifont+JP+N&family=Bevan&family=Alumni+Sans&family=Roboto+Slab&family=Kalam&family=Special+Gothic&family=Rowdies&family=Courier+Prime&family=Noto+Sans+TC&family=Bricolage+Grotesque&family=Noto+Sans&family=Noto+Sans+Display&family=Courgette&family=Comic+Neue&family=Noto+Nastaliq+Urdu&family=Fira+Sans&family=GFS+Neohellenic&family=Playpen+Sans+Deva&family=Archivo&display=swap";:root{font-family:var(--ff-font-sans);color:var(--ff-ink);background:var(--ff-canvas);font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0}*{box-sizing:border-box;caret-color:#0000}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto!important;scrollbar-color:auto!important}::-webkit-scrollbar-button{appearance:none!important;background:0 0!important;border:0!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;padding:0!important}::-webkit-scrollbar-button:single-button{appearance:none!important;background:0 0!important;border:0!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;padding:0!important}}input,textarea,[contenteditable=true]{caret-color:auto}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input,textarea{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:none;outline:none}canvas,.studio-canvas{outline:none!important}#root{min-height:100vh}@font-face{font-family:Young Serif;src:url(/fonts/young-serif/YoungSerif-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IM FELL Double Pica;src:url(/fonts/im-fell-double-pica/IMFELLDoublePica-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IM FELL Double Pica;src:url(/fonts/im-fell-double-pica/IMFELLDoublePica-Italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Marykate;src:url(/fonts/marykate/Marykate-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Playlist Script;src:url(/fonts/playlist/Playlist%20Script.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Playlist Caps;src:url(/fonts/playlist/Playlist%20Caps.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Playlist Ornament;src:url(/fonts/playlist/Playlist%20Ornament.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/noto-serif/NotoSerif%5Bwdth,wght%5D.ttf)format("truetype-variations");font-style:normal;font-weight:100 900;font-stretch:62.5% 100%;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/noto-serif/NotoSerif-Italic%5Bwdth,wght%5D.ttf)format("truetype-variations");font-style:italic;font-weight:100 900;font-stretch:62.5% 100%;font-display:swap}@font-face{font-family:PT Serif;src:url(/fonts/pt-serif/PT_Serif-Web-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:PT Serif;src:url(/fonts/pt-serif/PT_Serif-Web-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:PT Serif;src:url(/fonts/pt-serif/PT_Serif-Web-Italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:PT Serif;src:url(/fonts/pt-serif/PT_Serif-Web-BoldItalic.ttf)format("truetype");font-style:italic;font-weight:700;font-display:swap}@font-face{font-family:CaskaydiaCove Nerd Font;src:url(/fonts/caskaydia-cove-nerd/CaskaydiaCoveNerdFont-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:FiraCode Nerd Font;src:url(/fonts/fira-code-nerd/FiraCodeNerdFont-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Hack Nerd Font;src:url(/fonts/hack-nerd/HackNerdFont-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Iosevka Nerd Font;src:url(/fonts/iosevka-nerd/IosevkaNerdFont-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:JetBrainsMono Nerd Font;src:url(/fonts/jetbrains-mono-nerd/JetBrainsMonoNerdFont-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:UbuntuMono Nerd Font;src:url(/fonts/ubuntu-mono-nerd/UbuntuMonoNerdFont-Regular.ttf)format("truetype");font-weight:400;font-display:swap}:root{--ff-font-sans:"Manrope", "Google Sans", ui-sans-serif, system-ui, sans-serif;--ff-font-serif:var(--ff-font-sans);--ff-font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-palette-primary:#2b2d30;--ff-palette-secondary:#f4f4f2;--ff-palette-tertiary:#d2d3d5;--ff-palette-neutral:#17181a;--ff-palette-canvas:#fff;--ff-palette-selection:#377ffc;--ff-palette-ai:#8a5cf6;--ff-palette-danger:#b9382f;--ff-palette-success:#22a06b;--ff-palette-warning:#c7801a;--ff-palette-ambient-blue:#cfe2ff;--ff-palette-ambient-pink:#ffd8e3;--ff-palette-ambient-green:#d7f2df;--ff-palette-ambient-warm:#fff8f4;--ff-palette-ai-glow-blue:#b9d4ff;--ff-palette-ai-glow-pink:#e8c7f5;--ff-palette-ai-glow-peach:#ffd1c4;--ff-neutral-0:var(--ff-palette-canvas);--ff-neutral-2:color-mix(in srgb, var(--ff-palette-neutral) 2%, var(--ff-palette-canvas));--ff-neutral-4:color-mix(in srgb, var(--ff-palette-neutral) 4%, var(--ff-palette-canvas));--ff-neutral-7:color-mix(in srgb, var(--ff-palette-neutral) 7%, var(--ff-palette-canvas));--ff-neutral-10:color-mix(in srgb, var(--ff-palette-neutral) 10%, var(--ff-palette-canvas));--ff-neutral-14:color-mix(in srgb, var(--ff-palette-neutral) 14%, var(--ff-palette-canvas));--ff-neutral-20:color-mix(in srgb, var(--ff-palette-neutral) 20%, var(--ff-palette-canvas));--ff-neutral-28:color-mix(in srgb, var(--ff-palette-neutral) 28%, var(--ff-palette-canvas));--ff-neutral-38:color-mix(in srgb, var(--ff-palette-neutral) 38%, var(--ff-palette-canvas));--ff-neutral-50:color-mix(in srgb, var(--ff-palette-neutral) 50%, var(--ff-palette-canvas));--ff-neutral-62:color-mix(in srgb, var(--ff-palette-neutral) 62%, var(--ff-palette-canvas));--ff-neutral-74:color-mix(in srgb, var(--ff-palette-neutral) 74%, var(--ff-palette-canvas));--ff-neutral-86:color-mix(in srgb, var(--ff-palette-neutral) 86%, var(--ff-palette-canvas));--ff-neutral-100:var(--ff-palette-neutral);--ff-primary:var(--ff-palette-primary);--ff-accent:var(--ff-palette-primary);--ff-accent-secondary:var(--ff-palette-tertiary);--ff-highlight:var(--ff-palette-neutral);--ff-primary-soft:color-mix(in srgb, var(--ff-primary) 12%, var(--ff-palette-secondary));--ff-accent-soft:color-mix(in srgb, var(--ff-accent) 10%, var(--ff-palette-secondary));--ff-on-accent:var(--ff-palette-canvas);--ff-canvas:var(--ff-palette-canvas);--ff-canvas-cool:color-mix(in srgb, var(--ff-palette-tertiary) 42%, var(--ff-palette-secondary));--ff-surface:color-mix(in srgb, var(--ff-palette-secondary) 84%, transparent);--ff-surface-strong:color-mix(in srgb, var(--ff-palette-secondary) 92%, transparent);--ff-surface-solid:var(--ff-palette-secondary);--ff-surface-raised:var(--ff-palette-canvas);--ff-surface-subtle:color-mix(in srgb, var(--ff-palette-tertiary) 24%, var(--ff-palette-secondary));--ff-surface-muted:color-mix(in srgb, var(--ff-palette-tertiary) 42%, var(--ff-palette-secondary));--ff-surface-hover:color-mix(in srgb, var(--ff-primary) 7%, var(--ff-palette-secondary));--ff-surface-pressed:color-mix(in srgb, var(--ff-primary) 13%, var(--ff-palette-secondary));--ff-surface-glass:color-mix(in srgb, var(--ff-palette-secondary) 88%, transparent);--ff-surface-glass-strong:color-mix(in srgb, var(--ff-palette-secondary) 96%, transparent);--ff-ink:var(--ff-palette-neutral);--ff-text:var(--ff-palette-neutral);--ff-muted:color-mix(in srgb, var(--ff-palette-neutral) 62%, var(--ff-palette-tertiary));--ff-faint:color-mix(in srgb, var(--ff-palette-neutral) 38%, var(--ff-palette-tertiary));--ff-text-muted:var(--ff-muted);--ff-text-faint:var(--ff-faint);--ff-text-inverse:var(--ff-palette-secondary);--ff-line:var(--ff-neutral-7);--ff-line-subtle:color-mix(in srgb, var(--ff-palette-tertiary) 65%, transparent);--ff-line-strong:color-mix(in srgb, var(--ff-palette-neutral) 24%, transparent);--ff-border:color-mix(in srgb, var(--ff-palette-neutral) 14%, transparent);--ff-border-strong:color-mix(in srgb, var(--ff-primary) 15%, transparent);--ff-card-border:var(--ff-neutral-4);--ff-overlay-soft:color-mix(in srgb, var(--ff-palette-neutral) 8%, transparent);--ff-overlay:color-mix(in srgb, var(--ff-palette-neutral) 32%, transparent);--ff-overlay-strong:color-mix(in srgb, var(--ff-palette-neutral) 68%, transparent);--ff-backdrop:color-mix(in srgb, var(--ff-palette-neutral) 28%, transparent);--ff-selection:var(--ff-palette-selection);--ff-selection-strong:color-mix(in srgb, var(--ff-palette-selection) 80%, var(--ff-palette-neutral));--ff-selection-soft:color-mix(in srgb, var(--ff-palette-selection) 12%, var(--ff-palette-canvas));--ff-selection-line:color-mix(in srgb, var(--ff-palette-selection) 45%, var(--ff-palette-canvas));--ff-danger:var(--ff-palette-danger);--ff-danger-soft:color-mix(in srgb, var(--ff-palette-danger) 9%, var(--ff-palette-canvas));--ff-danger-line:color-mix(in srgb, var(--ff-palette-danger) 42%, var(--ff-palette-canvas));--ff-success:var(--ff-palette-success);--ff-success-strong:color-mix(in srgb, var(--ff-palette-success) 70%, var(--ff-palette-neutral));--ff-success-soft:color-mix(in srgb, var(--ff-palette-success) 10%, var(--ff-palette-canvas));--ff-success-line:color-mix(in srgb, var(--ff-palette-success) 40%, var(--ff-palette-canvas));--ff-warning:var(--ff-palette-warning);--ff-warning-soft:color-mix(in srgb, var(--ff-palette-warning) 12%, var(--ff-palette-canvas));--ff-ai:var(--ff-palette-ai);--ff-ai-strong:color-mix(in srgb, var(--ff-palette-ai) 62%, var(--ff-palette-neutral));--ff-ai-soft:color-mix(in srgb, var(--ff-palette-ai) 12%, var(--ff-palette-canvas));--ff-ai-line:color-mix(in srgb, var(--ff-palette-ai) 45%, var(--ff-palette-canvas));--ff-ai-gradient:linear-gradient(120deg, var(--ff-palette-ai-glow-blue), var(--ff-palette-ai-glow-pink) 55%, var(--ff-palette-ai-glow-peach));--ff-ai-gradient-soft:linear-gradient(135deg, var(--ff-selection-soft), var(--ff-ai-soft) 55%, color-mix(in srgb, var(--ff-palette-ai-glow-peach) 45%, var(--ff-palette-canvas)));--ff-ambient-blue:var(--ff-palette-ambient-blue);--ff-ambient-pink:var(--ff-palette-ambient-pink);--ff-ambient-green:var(--ff-palette-ambient-green);--ff-ambient-warm:var(--ff-palette-ambient-warm);--ff-text-3xs:8px;--ff-text-2xs:9px;--ff-text-xs:10px;--ff-text-sm:11px;--ff-text-md:12px;--ff-text-base:13px;--ff-text-lg:15px;--ff-text-xl:18px;--ff-text-2xl:22px;--ff-text-3xl:28px;--ff-weight-regular:400;--ff-weight-medium:500;--ff-weight-semibold:600;--ff-weight-bold:700;--ff-weight-heavy:800;--ff-radius-xs:4px;--ff-radius-sm:6px;--ff-radius-md:8px;--ff-radius-lg:10px;--ff-radius-xl:12px;--ff-radius-2xl:14px;--ff-radius-3xl:16px;--ff-radius-4xl:20px;--ff-radius-pill:999px;--ff-radius-round:50%;--ff-shadow-color:color-mix(in srgb, var(--ff-palette-neutral) 14%, transparent);--ff-shadow-color-strong:color-mix(in srgb, var(--ff-palette-neutral) 24%, transparent);--ff-shadow-sm:0 1px 3px var(--ff-shadow-color);--ff-shadow-lift:0 6px 14px -8px var(--ff-shadow-color-strong);--ff-shadow-card:0 0 0 1px color-mix(in srgb, var(--ff-palette-secondary) 50%, transparent), 0 4px 20px var(--ff-shadow-color);--ff-shadow-float:0 0 0 1px color-mix(in srgb, var(--ff-palette-secondary) 50%, transparent), 0 8px 32px var(--ff-shadow-color-strong);--ff-shadow-modal:0 28px 90px var(--ff-shadow-color-strong);--ff-focus:none;--ff-blur:blur(16px);--ff-ease-out:cubic-bezier(.2, .8, .2, 1);--ff-duration-fast:.12s;--ff-duration-base:.16s;--ff-duration-slow:.24s;--ff-dropdown-padding:6px;--ff-dropdown-radius:var(--ff-radius-xl);--ff-dropdown-item-radius:var(--ff-radius-md);--ff-dropdown-background:var(--ff-surface-raised);--ff-dropdown-item-color:color-mix(in srgb, var(--ff-text) 78%, var(--ff-text-muted));--ff-dropdown-item-hover:var(--ff-surface-hover);--ff-dropdown-item-selected:var(--ff-accent-soft);--ff-dropdown-shadow:var(--ff-shadow-float);--ff-dropdown-backdrop:blur(18px);--ff-dropdown-duration:var(--ff-duration-fast)}.ff-display{font-family:var(--ff-font-serif);font-weight:var(--ff-weight-regular)}.ff-label{color:var(--ff-accent);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium);letter-spacing:0;text-transform:uppercase}.ff-surface{-webkit-backdrop-filter:var(--ff-blur);backdrop-filter:var(--ff-blur);background:#fff}.ff-card{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-3xl);background:var(--ff-surface);box-shadow:var(--ff-shadow-card);-webkit-backdrop-filter:var(--ff-blur);backdrop-filter:var(--ff-blur)}.ff-button{border:1px solid var(--ff-border-strong);border-radius:var(--ff-radius-xl);min-height:40px;color:var(--ff-primary);background:var(--ff-surface);font-size:var(--ff-text-md);font-weight:var(--ff-weight-medium);transition:background-color var(--ff-duration-base), border-color var(--ff-duration-base), color var(--ff-duration-base), box-shadow var(--ff-duration-base);justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.ff-button:hover{border-color:color-mix(in srgb, var(--ff-primary) 30%, transparent);background:var(--ff-surface-solid)}.ff-button-primary{color:var(--ff-text-inverse);border-color:var(--ff-primary);background:var(--ff-primary)}.ff-button-primary:hover{color:var(--ff-text-inverse);border-color:var(--ff-ink);background:var(--ff-ink)}.ff-button-danger{color:var(--ff-danger);border-color:color-mix(in srgb, var(--ff-danger) 10%, transparent);background:var(--ff-danger-soft)}.ff-icon-button{border-radius:var(--ff-radius-xl);place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.ff-input,.ff-input-shell{border:1px solid var(--ff-border);border-radius:var(--ff-radius-xl);color:var(--ff-ink);background:var(--ff-surface);box-shadow:var(--ff-shadow-sm)}.ff-input{outline:0;min-height:44px;padding:0 14px}.ff-pill{border-radius:var(--ff-radius-pill);min-height:32px;color:var(--ff-accent);background:var(--ff-accent-soft);font-size:var(--ff-text-sm);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.error-notice-stack{z-index:1000;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;top:14px;left:50%;transform:translate(-50%)}.error-notice-pill{box-sizing:border-box;border:1px solid var(--ff-danger-line);border-radius:var(--ff-radius-pill);max-width:min(520px,100vw - 32px);min-height:40px;color:var(--ff-ink);background:var(--ff-surface-raised,var(--ff-surface));box-shadow:var(--ff-shadow-float,var(--ff-shadow-sm));-webkit-backdrop-filter:var(--ff-blur,none);backdrop-filter:var(--ff-blur,none);font:var(--ff-weight-medium,500) var(--ff-text-md,13px)/1.35 var(--ff-font-sans,inherit);pointer-events:auto;align-items:center;gap:8px;padding:6px 6px 6px 14px;animation:.22s cubic-bezier(.33,1,.68,1) error-notice-in;display:inline-flex}.error-notice-pill>svg{color:var(--ff-danger);flex:none}.error-notice-pill>span{overflow-wrap:anywhere;min-width:0}.error-notice-pill>small{border-radius:var(--ff-radius-pill);color:var(--ff-danger);background:var(--ff-danger-soft);font-size:var(--ff-text-2xs,11px);font-weight:var(--ff-weight-semibold,600);flex:none;padding:1px 6px}.error-notice-pill>button{border-radius:var(--ff-radius-pill);width:28px;height:28px;color:var(--ff-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.error-notice-pill>button:hover{color:var(--ff-ink);background:var(--ff-surface-hover,var(--ff-danger-soft))}@keyframes error-notice-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.ff-segmented{border-radius:var(--ff-radius-xl);background:var(--ff-canvas-cool);padding:3px;display:grid}.ff-segmented>.active{color:var(--ff-primary);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.ff-divider{background:var(--ff-border);width:100%;height:1px}.ff-muted{color:var(--ff-muted)}.image-edit-tools .image-edit-actions{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.image-edit-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.image-edit-action-row>button{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);min-width:0;min-height:102px;color:var(--ff-ink);background:var(--ff-surface-solid);text-align:center;align-content:center;place-items:center;gap:5px;padding:9px 7px;display:grid;overflow:hidden}.image-edit-action-row>button:hover:not(:disabled),.image-edit-action-row>button.active{background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm)}.image-edit-action-row>button>span{place-items:center;width:30px;height:30px;display:grid}.image-edit-action-row>button strong{max-width:100%;font-size:var(--ff-text-sm);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.image-edit-action-row>button small{color:var(--ff-muted);font-size:var(--ff-text-2xs);line-height:1.25}.image-tool-inline-settings{border-radius:var(--ff-radius-md);background:var(--ff-surface-muted);transform-origin:top;animation:animation-settings-in var(--ff-duration-slow) var(--ff-ease-out) both;grid-column:1/-1;gap:10px;margin-top:-2px;padding:13px;display:grid;position:relative}.image-tool-inline-settings:before{top:-8px;left:calc((100% / 2) * (var(--image-tool-pointer-column,0) + .5));background:var(--ff-surface-muted);clip-path:polygon(50% 0,100% 100%,0 100%);content:"";width:16px;height:9px;position:absolute;transform:translate(-50%)}.image-tool-inline-settings>label{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.image-tool-inline-settings>p{color:var(--ff-muted);font-size:var(--ff-text-2xs);margin:0;line-height:1.4}.image-upscale-options{border-radius:var(--ff-radius-md);background:var(--ff-surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.image-upscale-options button{border-radius:var(--ff-radius-sm);min-width:0;height:30px;color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);padding:0 6px}.image-upscale-options button:hover:not(:disabled){color:var(--ff-ink);background:var(--ff-surface-hover)}.image-upscale-options button[aria-pressed=true]{color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.image-tool-launch{border-radius:var(--ff-radius-sm);width:100%;height:34px;color:var(--ff-text-inverse);background:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);justify-content:center;align-items:center;gap:6px;display:flex}.image-tool-launch:hover:not(:disabled){background:var(--ff-palette-primary)}.image-edit-tools button:disabled{opacity:.48}:root{--studio-navigation-width:60px}button,input,textarea,select{font:inherit;letter-spacing:0}button{color:inherit;background:0 0;border:0}button:disabled{opacity:.62}.studio-shell svg,.projects-view svg,.create-view svg,.login-shell svg{color:inherit}.spin{animation:.8s linear infinite studio-spin}.editor-route-loading{color:var(--ff-muted);background:var(--ff-canvas);place-items:center;display:grid;position:fixed;inset:0}@keyframes studio-spin{to{transform:rotate(360deg)}}.design-editor .stage-viewport{padding-top:0;padding-bottom:0}.design-editor .studio-canvas{box-shadow:none}.home-button,.topbar-history button{border-radius:var(--ff-radius-xs);place-items:center;width:32px;height:32px;display:grid}.studio-brand{font-family:var(--ff-font-serif);font-size:var(--ff-text-xl);align-items:center;gap:9px;display:flex}.studio-brand span{width:29px;height:29px;color:var(--ff-accent);background:0 0;place-items:center;display:grid;transform:rotate(-4deg)}.studio-brand.compact{min-width:128px;font-size:var(--ff-text-lg)}.project-title{width:min(310px,28vw);height:30px;color:var(--ff-on-accent);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);transition:border-color var(--ff-duration-base);background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;outline:0;padding:0 8px}.topbar-history{border-left:1px solid color-mix(in srgb, var(--ff-neutral-0) 29%, transparent);margin-left:3px;padding-left:8px;display:flex}.save-indicator{color:var(--ff-on-accent);font-size:var(--ff-text-xs);align-items:center;gap:5px;margin-left:auto;display:flex}.save-indicator.error{color:var(--ff-danger)}.share-action,.export-action,.primary-action{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 27%, transparent);border-radius:var(--ff-radius-xs);background:color-mix(in srgb, var(--ff-neutral-0) 7%, transparent);height:30px;font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);justify-content:center;align-items:center;gap:6px;padding:0 11px;display:flex}.share-action:hover{background:color-mix(in srgb, var(--ff-neutral-0) 15%, transparent)}.export-action:hover,.primary-action:hover{background:var(--ff-primary)}.account-avatar{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 49%, transparent);border-radius:var(--ff-radius-round);background:var(--ff-surface-raised);width:29px;height:29px;padding:2px;overflow:hidden}.account-avatar img{border-radius:var(--ff-radius-round);object-fit:cover;width:100%;height:100%;display:block}.studio-rail{min-height:0;color:var(--ff-neutral-74);border-right:1px solid var(--ff-neutral-10);background:var(--ff-surface-raised);flex-direction:column;align-items:center;padding:7px 4px;display:flex}.studio-rail button,.studio-rail>a{border-radius:var(--ff-radius-xs);flex-direction:column;justify-content:center;align-items:center;gap:3px;width:56px;height:51px;margin-bottom:3px;display:flex}.studio-rail>button>.rail-label,.studio-rail>a>.rail-label{font-size:var(--ff-text-3xs)}.studio-rail button:hover,.studio-rail button.active,.studio-rail>a:hover,.studio-rail>a.active{color:var(--ff-neutral-100);background:var(--ff-neutral-7)}.studio-rail button.active,.studio-rail>a.active{color:var(--ff-accent);box-shadow:inset 3px 0 var(--ff-accent)}.rail-fill{flex:1}.rail-footer{box-sizing:border-box;border-top:1px solid var(--ff-neutral-10);place-items:center;width:100%;min-height:52px;margin-top:4px;padding:6px 0 0;display:grid}.rail-footer .topbar-account{box-sizing:border-box;border-radius:var(--ff-radius-round);place-items:center;gap:0;width:40px;min-width:40px;height:40px;margin:0;padding:0;line-height:0;display:grid;position:relative}.rail-footer .user-avatar{place-items:center;width:32px;height:32px;margin:0;line-height:0;display:grid;position:relative;inset:auto;transform:none}.rail-footer .topbar-account img{width:32px;height:32px;margin:0}.rail-footer .topbar-account:hover{background:var(--ff-neutral-7);box-shadow:none}.panel-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-title h2{font-family:var(--ff-font-serif);font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-regular);margin:3px 0 0}.director-copy{color:var(--ff-muted);font-size:var(--ff-text-xs);margin-bottom:10px;line-height:1.45}.studio-agents{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xs);background:var(--ff-neutral-2);gap:4px;margin-bottom:9px;padding:7px;display:grid}.studio-agent{height:23px;color:var(--ff-neutral-50);font-size:var(--ff-text-2xs);grid-template-columns:18px 1fr 13px;align-items:center;display:grid}.studio-agent.running{color:var(--ff-accent)}.studio-agent.done{color:var(--ff-success)}.studio-agent.error{color:var(--ff-danger)}.mini-heading{color:var(--ff-muted);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:.8px;justify-content:space-between;margin:8px 0 6px;display:flex}.scouted-images>div:last-child{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.scouted-images button{aspect-ratio:1.3;background:var(--ff-neutral-7);border-radius:3px;overflow:hidden}.scouted-images img{object-fit:cover;width:100%;height:100%}.source-list{flex-wrap:wrap;gap:4px;display:flex}.source-list .mini-heading{width:100%}.source-list a{max-width:112px;color:var(--ff-neutral-74);border:1px solid var(--ff-line);font-size:var(--ff-text-3xs);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:4px 6px;text-decoration:none;overflow:hidden}.scene-list{min-height:90px}.scene-list>button{border-top:1px solid var(--ff-line);text-align:left;grid-template-columns:5px 1fr 16px;align-items:center;gap:7px;width:100%;padding:6px 4px;display:grid}.scene-list>button i{border-radius:2px;width:4px;height:28px}.scene-list>button span{min-width:0}.scene-list strong,.scene-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.scene-list small{color:var(--ff-neutral-50);font-size:var(--ff-text-3xs);margin-top:2px}.layer-generator{margin-top:auto;padding-top:10px}.target-switch{border-radius:var(--ff-radius-xs);background:var(--ff-neutral-7);grid-template-columns:1fr 1fr;padding:2px;display:grid}.target-switch button{height:24px;color:var(--ff-neutral-62);font-size:var(--ff-text-3xs);border-radius:3px}.target-switch button.active{color:var(--ff-neutral-86);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-sm)}.layer-generator>div:last-child{grid-template-columns:1fr 31px;gap:4px;margin-top:5px;display:grid}.layer-generator input{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xs);min-width:0;height:31px;font-size:var(--ff-text-2xs);outline:0;padding:0 8px}.layer-generator>div:last-child button{color:var(--ff-on-accent);border-radius:var(--ff-radius-xs);background:var(--ff-accent);place-items:center;display:grid}.director-composer{border:1px solid var(--ff-neutral-20);border-radius:var(--ff-radius-xs);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-lift);margin-top:8px}.director-composer textarea{resize:none;width:100%;height:51px;font-size:var(--ff-text-2xs);background:0 0;border:0;outline:0;padding:8px}.director-composer>div{align-items:center;padding:3px 5px 5px;display:flex}.director-composer>div span{color:var(--ff-neutral-38);font-size:var(--ff-text-3xs);margin-left:auto}.director-composer>div button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xs);place-items:center;width:25px;height:25px;display:grid}.director-composer>div button:last-child{color:var(--ff-on-accent);border-color:var(--ff-accent);background:var(--ff-accent);margin-left:6px}.ai-chat{flex-direction:column;flex:1;min-height:100%;display:flex}.ai-chat-thread{-webkit-user-select:text;user-select:text;cursor:auto;flex:1;min-height:0;padding:8px 0 16px;overflow-y:auto}.ai-chat-message{align-items:flex-start;gap:8px;max-width:90%;margin-bottom:10px;display:flex}.ai-chat-message>span{border-radius:var(--ff-radius-round);width:28px;height:28px;color:var(--ff-accent);background:var(--ff-accent-soft);flex:0 0 28px;place-items:center;display:grid}.ai-chat-message p{border-radius:3px var(--ff-radius-lg) var(--ff-radius-lg);color:var(--ff-ink);background:var(--ff-surface-hover);font-size:var(--ff-text-sm);margin:0;padding:9px 11px;line-height:1.45}.ai-chat-composer{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xl);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm);margin-top:auto;overflow:hidden}.ai-chat-composer textarea{resize:none;width:100%;min-height:90px;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-sm);background:0 0;border:0;outline:0;padding:12px;line-height:1.45}.ai-chat-composer>div{justify-content:space-between;padding:5px 7px 7px;display:flex}.ai-chat-composer button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:34px;height:34px;color:var(--ff-muted);place-items:center;display:grid}.ai-chat-composer button:last-child{color:var(--ff-text-inverse);border-color:var(--ff-primary);background:var(--ff-primary)}.ai-chat-composer button:disabled{opacity:.45}.ai-chat-composer.is-disabled{opacity:.68}.ai-chat-composer.is-disabled textarea{cursor:not-allowed}.ai-chat-message.is-user{justify-content:flex-end;margin-left:auto}.ai-chat-message.is-user p{border-radius:var(--ff-radius-lg) 3px var(--ff-radius-lg) var(--ff-radius-lg);color:var(--ff-text-inverse);background:var(--ff-primary);white-space:pre-wrap}.ai-chat-message.is-tool{color:var(--ff-muted);align-items:center;gap:6px;margin:-4px 0 8px 36px}.ai-chat-message.is-tool small{min-width:0;font-size:var(--ff-text-xs)}.ai-chat-message.is-tool small em{color:var(--ff-muted);opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-style:normal;display:block;overflow:hidden}.ai-chat-message.is-tool>svg{flex:none;align-self:flex-start;margin-top:1px}.ai-chat-message.is-reasoning{color:var(--ff-muted);font-size:var(--ff-text-xs);margin:-4px 0 8px 36px;display:block}.ai-chat-message.is-reasoning summary{cursor:pointer;align-items:center;gap:6px;list-style:none;display:flex}.ai-chat-message.is-reasoning p{max-height:160px;color:var(--ff-muted);border-left:2px solid var(--ff-line);font-size:var(--ff-text-xs);background:0 0;border-radius:0;margin-top:4px;padding:2px 8px;overflow-y:auto}.ai-chat-model{color:var(--ff-muted);font-size:var(--ff-text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.ai-chat-message.is-tool.is-failed{color:var(--ff-danger)}.ai-chat-message.is-error>span{color:var(--ff-danger);background:var(--ff-danger-soft)}.ai-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere}.ai-chat-header{z-index:4;align-items:center;gap:8px;min-height:32px;margin-bottom:10px;padding-right:38px;display:flex;position:relative}.ai-chat-heading{flex:1;min-width:0}.ai-chat-heading h2{color:var(--ff-ink);font-size:var(--ff-text-lg);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.3;overflow:hidden}.ai-chat-header-actions{flex:none;gap:2px;display:flex}.ai-chat-header-actions button{border-radius:var(--ff-radius-md);width:32px;height:32px;color:var(--ff-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.ai-chat-header-actions button:hover:not(:disabled),.ai-chat-header-actions button.is-open{color:var(--ff-ink);background:var(--ff-surface-hover)}.ai-chat-header-actions button:disabled{opacity:.4;cursor:not-allowed}.ai-chat-history{border-radius:var(--ff-dropdown-radius);background:var(--ff-dropdown-background);max-height:min(460px,70vh);box-shadow:var(--ff-dropdown-shadow);animation:ai-chat-history-in var(--ff-duration-fast) ease-out;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}@keyframes ai-chat-history-in{0%{opacity:0;transform:translateY(-4px)}}.ai-chat-history-search{margin:var(--ff-dropdown-padding);border:1px solid var(--ff-line);border-radius:var(--ff-dropdown-item-radius);height:34px;color:var(--ff-muted);background:var(--ff-surface-solid);cursor:text;align-items:center;gap:8px;padding:0 8px;display:flex}.ai-chat-history-search:focus-within{border-color:var(--ff-primary)}.ai-chat-history-search input{min-width:0;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-md);background:0 0;border:0;outline:0;flex:1;padding:0}.ai-chat-history-search button{border-radius:var(--ff-radius-round);width:20px;height:20px;color:var(--ff-muted);background:var(--ff-surface-hover);cursor:pointer;border:0;place-items:center;padding:0;display:grid}.ai-chat-history-body{min-height:0;padding:0 var(--ff-dropdown-padding) var(--ff-dropdown-padding);flex:1;overflow-y:auto}.ai-chat-history h3{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);letter-spacing:.04em;text-transform:uppercase;margin:8px 8px 4px}.ai-chat-history ul{margin:0;padding:0;list-style:none}.ai-chat-history-item{border-radius:var(--ff-dropdown-item-radius);align-items:center;gap:4px;min-height:34px;display:flex;position:relative}.ai-chat-history-item:hover,.ai-chat-history-item:focus-within{background:var(--ff-dropdown-item-hover)}.ai-chat-history-item.is-active{background:var(--ff-dropdown-item-selected)}.ai-chat-history-open{border-radius:inherit;min-width:0;height:34px;color:var(--ff-dropdown-item-color);font:inherit;font-size:var(--ff-text-md);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 8px;display:flex}.ai-chat-history-open:focus-visible{outline:2px solid var(--ff-primary);outline-offset:-2px}.ai-chat-history-open:disabled{opacity:.45;cursor:not-allowed}.ai-chat-history-open>svg{color:var(--ff-muted);flex:none}.ai-chat-history-open>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ai-chat-history-item.is-active .ai-chat-history-open{color:var(--ff-ink);font-weight:var(--ff-weight-semibold)}.ai-chat-history-open>time{color:var(--ff-muted);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums;flex:none}.ai-chat-history-delete{border-radius:var(--ff-radius-sm);width:26px;height:26px;color:var(--ff-muted);background:inherit;opacity:0;cursor:pointer;border:0;place-items:center;padding:0;display:grid;position:absolute;right:4px}.ai-chat-history-item:hover .ai-chat-history-delete,.ai-chat-history-item:focus-within .ai-chat-history-delete{opacity:1}.ai-chat-history-item:hover time,.ai-chat-history-item:focus-within time{visibility:hidden}.ai-chat-history-delete:hover,.ai-chat-history-delete:focus-visible{color:var(--ff-danger);background:var(--ff-surface-solid)}.ai-chat-history-item.is-confirming{background:var(--ff-dropdown-item-hover);padding:0 4px 0 10px}.ai-chat-history-confirm{min-width:0;color:var(--ff-ink);font-size:var(--ff-text-md);flex:1}.ai-chat-history-cancel,.ai-chat-history-delete-confirm{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);height:26px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-sm);cursor:pointer;padding:0 9px}.ai-chat-history-delete-confirm{color:var(--ff-on-accent);border-color:var(--ff-danger);background:var(--ff-danger)}.ai-chat-history-error{color:var(--ff-danger);font-size:var(--ff-text-sm);align-items:center;gap:6px;margin:4px 8px;display:flex}.ai-chat-history-empty{color:var(--ff-muted);text-align:center;font-size:var(--ff-text-sm);justify-items:center;gap:4px;padding:24px 16px;display:grid}.ai-chat-history-empty strong{color:var(--ff-ink);font-size:var(--ff-text-md)}.ai-chat-history-skeleton{gap:6px;padding:8px;display:grid}.ai-chat-history-skeleton span{border-radius:var(--ff-radius-xs);background:var(--ff-surface-hover);height:14px;animation:1.2s ease-in-out infinite alternate ai-chat-history-pulse}.ai-chat-history-skeleton span:nth-child(2){width:75%}.ai-chat-history-skeleton span:nth-child(3){width:55%}@keyframes ai-chat-history-pulse{to{opacity:.45}}.agent-chat-panel .ai-chat-thread{flex-direction:column;gap:12px;padding:4px 0 16px;display:flex}.agent-chat-panel .ai-chat-message{max-width:100%;animation:panel-enter var(--ff-duration-base) var(--ff-ease-out);margin:0}.agent-chat-panel .ai-chat-message>span{width:24px;height:24px;color:var(--ff-ai);background:var(--ff-ai-gradient-soft);flex:0 0 24px}.agent-chat-panel .ai-chat-message p{font-size:var(--ff-text-base);background:0 0;border-radius:0;padding:3px 0 0;line-height:1.5}.agent-chat-panel .ai-chat-message.is-user{max-width:88%}.ai-chat-markdown{min-width:0;color:var(--ff-ink);font-size:var(--ff-text-base);overflow-wrap:anywhere;padding-top:3px;line-height:1.5}.ai-chat-markdown>:first-child{margin-top:0}.ai-chat-markdown>:last-child{margin-bottom:0}.ai-chat-markdown p,.agent-chat-panel .ai-chat-markdown p{white-space:normal;margin:0 0 8px;padding:0}.ai-chat-markdown h1,.ai-chat-markdown h2,.ai-chat-markdown h3,.ai-chat-markdown h4{margin:14px 0 6px;font-weight:650;line-height:1.3}.ai-chat-markdown h1{font-size:1.25em}.ai-chat-markdown h2{font-size:1.15em}.ai-chat-markdown h3,.ai-chat-markdown h4{font-size:1.02em}.ai-chat-markdown ul,.ai-chat-markdown ol{margin:0 0 8px;padding-left:20px}.ai-chat-markdown li{margin:2px 0}.ai-chat-markdown li>p{margin:0}.ai-chat-markdown a{color:var(--ff-ai);text-underline-offset:2px;text-decoration:underline}.ai-chat-markdown code{border-radius:var(--ff-radius-xs);background:var(--ff-surface-hover);padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:.88em}.ai-chat-markdown pre{border-radius:var(--ff-radius-lg);background:var(--ff-surface-hover);margin:0 0 8px;padding:9px 11px;overflow-x:auto}.ai-chat-markdown pre code{background:0 0;padding:0}.ai-chat-markdown blockquote{border-left:3px solid var(--ff-line,#ddd);color:var(--ff-muted);margin:0 0 8px;padding-left:10px}.ai-chat-markdown hr{border:0;border-top:1px solid var(--ff-line,#ddd);margin:12px 0}.ai-chat-markdown table{border-collapse:collapse;max-width:100%;font-size:var(--ff-text-sm);margin:0 0 8px;display:block;overflow-x:auto}.ai-chat-markdown th,.ai-chat-markdown td{border:1px solid var(--ff-line,#ddd);text-align:left;padding:4px 8px}.agent-chat-panel .ai-chat-message.is-user p{border-radius:var(--ff-radius-2xl) var(--ff-radius-2xl) var(--ff-radius-xs) var(--ff-radius-2xl);color:var(--ff-text-inverse);background:var(--ff-ink);padding:8px 12px}.agent-chat-panel .ai-chat-message.is-error p{color:var(--ff-danger)}.agent-chat-panel .ai-chat-message.is-working p{background:linear-gradient(90deg, var(--ff-muted) 30%, var(--ff-ink) 50%, var(--ff-muted) 70%) 0 0 / 300% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite panel-shimmer}.agent-chat-panel .ai-chat-message.is-working{align-items:center}.agent-chat-panel .ai-chat-message.is-working p{padding:0}.agent-chat-panel .ai-chat-message.is-working>span{position:relative}.agent-chat-panel .ai-chat-message.is-working>span:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--ff-ai) 45%, transparent);opacity:0;will-change:opacity;animation:1.8s ease-in-out infinite ai-chat-working-glow;position:absolute;inset:0}.agent-chat-panel .ai-chat-message.is-working>span svg{transform-origin:50%;will-change:transform, opacity;animation:2.4s ease-in-out infinite ai-chat-working-twinkle}.agent-chat-panel .ai-chat-working-time{color:var(--ff-muted);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums;margin-left:auto}@keyframes ai-chat-working-twinkle{0%{transform:rotate(0)scale(1)}25%{opacity:.65;transform:rotate(90deg)scale(1.25)}50%{opacity:1;transform:rotate(180deg)scale(.9)}75%{transform:rotate(270deg)scale(1.15)}to{transform:rotate(360deg)scale(1)}}@keyframes ai-chat-working-glow{0%,to{opacity:0}50%{opacity:1}}.agent-chat-panel .ai-chat-time{color:var(--ff-muted);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums;margin-top:-8px}.agent-chat-panel .ai-chat-time.is-user{align-self:flex-end}.agent-chat-panel .ai-chat-time.is-agent{align-self:flex-start;margin-left:32px}.agent-chat-panel .ai-chat-message.is-tool{border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);background:var(--ff-surface-solid);align-self:flex-start;max-width:calc(100% - 32px);margin:-6px 0 0 32px;padding:4px 10px 4px 8px}.agent-chat-panel .ai-chat-message.is-tool>svg{align-self:center;margin:0}.agent-chat-panel .ai-chat-message.is-tool.is-done>svg{color:var(--ff-success)}.agent-chat-panel .ai-chat-message.is-tool.is-failed{border-color:color-mix(in srgb, var(--ff-danger) 30%, var(--ff-line))}.agent-chat-panel .ai-chat-message.is-tool small{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-chat-panel .ai-chat-message.is-tool small em{font-weight:var(--ff-weight-regular);margin-left:6px;display:inline}.agent-chat-panel .ai-chat-message.is-reasoning{font-size:var(--ff-text-sm);margin:-6px 0 0 32px}.agent-chat-panel .ai-chat-message.is-reasoning summary{border-radius:var(--ff-radius-pill);width:fit-content;padding:2px 8px 2px 6px}.agent-chat-panel .ai-chat-message.is-reasoning summary:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.agent-chat-panel .ai-chat-message.is-reasoning p{font-size:var(--ff-text-sm)}.agent-chat-welcome{animation:panel-enter var(--ff-duration-slow) var(--ff-ease-out);flex-direction:column;align-items:flex-start;gap:6px;padding:8px 2px 4px;display:flex}.agent-chat-welcome-icon{border-radius:var(--ff-radius-xl);width:36px;height:36px;color:var(--ff-ai);background:var(--ff-ai-gradient-soft);place-items:center;margin-bottom:4px;display:grid}.agent-chat-welcome strong{color:var(--ff-ink);font-size:var(--ff-text-lg);font-weight:var(--ff-weight-bold)}.agent-chat-welcome p{color:var(--ff-muted);font-size:var(--ff-text-md);margin:0 0 8px;line-height:1.5}.agent-chat-suggestions{flex-direction:column;gap:6px;width:100%;display:flex}.agent-chat-suggestions button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xl);min-height:36px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);text-align:left;cursor:pointer;transition:background-color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease, transform var(--ff-duration-fast) var(--ff-ease-out);align-items:center;gap:8px;padding:0 12px;display:flex}.agent-chat-suggestions button>svg{color:var(--ff-ai);flex:none}.agent-chat-suggestions button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agent-chat-suggestions button:hover{border-color:color-mix(in srgb, var(--ff-ai) 28%, var(--ff-line));background:color-mix(in srgb, var(--ff-ai) 6%, var(--ff-surface-solid))}.agent-chat-suggestions button:active{transform:scale(.98)}.agent-chat-panel .ai-chat-composer{border-radius:var(--ff-radius-2xl);background:linear-gradient(var(--ff-surface-solid), var(--ff-surface-solid)) padding-box, var(--ff-ai-gradient) border-box;box-shadow:0 6px 18px -10px color-mix(in srgb, var(--ff-ai) 30%, transparent);transition:box-shadow var(--ff-duration-base) ease;border:1px solid #0000;flex:none;padding:10px 10px 8px 12px;overflow:visible}.agent-chat-panel .ai-chat-composer:focus-within{box-shadow:0 8px 24px -10px color-mix(in srgb, var(--ff-ai) 45%, transparent), 0 0 0 3px var(--ff-ai-soft)}.agent-chat-panel .ai-chat-composer textarea{min-height:40px;max-height:160px;font-size:var(--ff-text-base);field-sizing:content;padding:0}.agent-chat-panel .ai-chat-composer textarea::placeholder{color:var(--ff-faint)}.agent-chat-panel .ai-chat-composer>div{align-items:center;gap:8px;padding:6px 0 0}.agent-chat-panel .ai-chat-composer .elements-generate{border-radius:var(--ff-radius-round);color:var(--ff-text-inverse);background:var(--ff-ink);border:0}.agent-chat-hint{min-width:0;color:var(--ff-faint);font-size:var(--ff-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-chat-panel .ai-chat-composer .action-menu-trigger.agent-chat-model{white-space:nowrap;border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);width:auto;min-width:0;max-width:70%;height:28px;color:var(--ff-muted);font-size:var(--ff-text-xs);background:0 0;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.agent-chat-panel .ai-chat-composer .action-menu-trigger.agent-chat-model:is(:hover,.is-open){color:var(--ff-ink);background:var(--ff-surface-hover)}.agent-chat-panel .ai-chat-composer .action-menu-trigger.agent-chat-model:disabled{opacity:.6}.agent-chat-panel .ai-chat-composer.is-dragging{box-shadow:0 0 0 3px var(--ff-ai-soft);background:linear-gradient(var(--ff-ai-soft), var(--ff-ai-soft)) padding-box, var(--ff-ai-gradient) border-box}.agent-chat-panel .ai-chat-composer>div:last-child{justify-content:flex-start}.agent-chat-panel .ai-chat-composer>div>.elements-generate{margin-left:auto}.agent-chat-panel .ai-chat-composer .agent-chat-attach{border-radius:var(--ff-radius-round);width:28px;height:28px;color:var(--ff-muted);background:0 0;border:0;flex:none}.agent-chat-panel .ai-chat-composer .agent-chat-attach:hover:not(:disabled){color:var(--ff-ink);background:var(--ff-surface-hover)}.agent-chat-panel .ai-chat-composer>.agent-chat-attachments{flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:0 0 8px;display:flex}.agent-chat-attachment{width:52px;height:52px;position:relative}.agent-chat-attachment img{object-fit:cover;border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:100%;height:100%}.agent-chat-panel .ai-chat-composer .agent-chat-attachment button{border-radius:var(--ff-radius-round);width:18px;height:18px;color:var(--ff-text-inverse);background:var(--ff-ink);border:0;padding:0;position:absolute;top:-6px;right:-6px}.agent-chat-attachment-error{color:var(--ff-danger,#c0392b);font-size:var(--ff-text-xs);padding:0 0 6px;display:block}.agent-chat-message-images{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.agent-chat-panel .ai-chat-message.is-user:has(.agent-chat-message-images){flex-direction:column;align-items:flex-end;gap:6px}.agent-chat-message-images img{object-fit:cover;border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);max-width:140px;max-height:140px;display:block}.upload-media{width:100%;height:36px;color:var(--ff-on-accent);border-radius:var(--ff-radius-xs);background:var(--ff-accent);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);justify-content:center;align-items:center;gap:7px;display:flex}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:4px;gap:6px;margin-top:12px;display:grid}.media-grid .media-item{grid-row-end:span var(--media-row-span,10);appearance:none;border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-neutral-7);width:100%;min-width:0;box-shadow:var(--ff-shadow-sm);text-align:left;transition:box-shadow var(--ff-duration-base), transform var(--ff-duration-base);align-self:start;padding:0;display:block;overflow:hidden}.studio-panel .media-grid{grid-auto-rows:auto;grid-auto-flow:row;align-items:start}.studio-panel .media-grid .media-item{grid-row-end:auto}.media-grid.media-masonry-grid{--media-masonry-gap:6px;align-items:start;column-gap:var(--media-masonry-gap);row-gap:var(--media-masonry-gap);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row;display:grid}.media-masonry-column{gap:var(--media-masonry-gap);flex-direction:column;min-width:0;display:flex}.media-masonry-column>.media-item{box-sizing:border-box;flex:none;grid-row:auto;width:100%}.media-grid .media-item.audio{--media-row-span:10}.media-grid .media-item:hover{box-shadow:var(--ff-shadow-lift);transform:translateY(-1px)}.media-grid .media-item.selected{background:var(--ff-surface-hover);box-shadow:inset 0 0 0 1px var(--ff-ink), var(--ff-shadow-sm)}.media-preview{background:var(--ff-neutral-7);width:100%;min-width:100%;display:block;position:relative;overflow:hidden}.media-preview img,.media-preview video{width:100%;min-width:100%;max-width:none;height:auto;transition:transform var(--ff-duration-base) ease;margin:0;display:block}.media-preview video{background:var(--ff-neutral-100)}.media-audio{box-sizing:border-box;min-height:88px;color:var(--ff-ink);background:var(--ff-surface-subtle);grid-template-rows:auto auto;align-content:center;gap:10px;padding:10px;display:grid}.media-audio audio{display:none}.media-audio-heading{align-items:center;gap:6px;min-width:0;display:flex}.media-audio-heading>i{border-radius:var(--ff-radius-round);width:22px;height:22px;color:var(--ff-text-inverse);background:var(--ff-ink);flex:0 0 22px;place-items:center;display:grid}.media-audio-heading>span{gap:2px;min-width:0;display:grid}.media-audio-heading strong,.media-audio-heading small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.media-audio-heading strong{color:var(--ff-ink);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold)}.media-audio-heading small{color:var(--ff-muted);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-medium)}.media-pdf{min-height:112px;color:var(--ff-ink);background:var(--ff-neutral-2);align-content:center;place-items:center;gap:5px;padding:12px;display:grid}.media-pdf strong{font-size:var(--ff-text-sm)}.media-pdf small{max-width:100%;color:var(--ff-muted);font-size:var(--ff-text-3xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.media-audio-controls{grid-template-columns:24px minmax(20px,1fr);align-items:center;gap:6px;min-width:0;display:grid}.playback-button{border-radius:var(--ff-radius-round);width:36px;min-width:36px;height:36px;color:var(--ff-text-inverse);background:var(--ff-ink);box-shadow:var(--ff-shadow-lift);border:0;outline:none;place-items:center;padding:0;display:grid}.playback-button:hover{color:var(--ff-text-inverse);background:var(--ff-neutral-86)}.playback-button:focus-visible{outline:2px solid var(--ff-selection);outline-offset:2px}.playback-button svg{stroke-width:2.2px;width:17px;height:17px;display:block}.playback-button svg.lucide-play{transform:translate(1px)}.playback-button--compact{width:24px;min-width:24px;height:24px;box-shadow:none}.playback-button--compact svg{width:13px;height:13px}.media-audio-play{width:24px;height:24px}.media-audio-play:disabled{opacity:.45}.media-audio-controls input{appearance:none;background:linear-gradient(90deg, var(--ff-ink) var(--audio-progress), var(--ff-line) var(--audio-progress));cursor:pointer;border-radius:2px;outline:none;width:100%;height:3px;margin:0}.media-audio-controls input::-webkit-slider-thumb{appearance:none;border-radius:var(--ff-radius-round);background:var(--ff-ink);border:0;width:9px;height:9px}.media-audio-controls input::-moz-range-thumb{border-radius:var(--ff-radius-round);background:var(--ff-ink);border:0;width:9px;height:9px}.media-audio-controls time{color:var(--ff-muted);font-size:var(--ff-text-3xs);font-variant-numeric:tabular-nums;grid-column:2;line-height:1}.upload-status{color:var(--ff-primary);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);align-items:center;gap:6px;margin:10px 2px 0;display:flex}.media-grid .media-item.media-uploading{cursor:progress;background:var(--ff-accent-soft);animation:upload-card-in var(--ff-duration-slow) ease-out both;position:relative}.media-grid .media-item.media-uploading:before{content:"";z-index:0;background:linear-gradient(105deg, transparent 15%, color-mix(in srgb, var(--ff-neutral-0) 78%, transparent) 38%, color-mix(in srgb, var(--ff-accent-soft) 78%, transparent) 50%, color-mix(in srgb, var(--ff-neutral-0) 78%, transparent) 62%, transparent 85%);animation:1.35s ease-in-out infinite upload-background-sweep;position:absolute;inset:0;transform:translate(-115%)}.media-grid .media-item.media-uploading:after{content:"";z-index:0;background:linear-gradient(90deg, var(--ff-accent), var(--ff-primary), var(--ff-accent));background-size:180% 100%;height:3px;animation:1.1s linear infinite upload-progress-slide;position:absolute;bottom:0;left:0;right:0}.media-upload-progress{z-index:1;min-height:82px;color:var(--ff-primary);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:9px;display:flex;position:relative}.media-upload-icon{width:38px;height:38px;color:var(--ff-on-accent);border-radius:var(--ff-radius-round);background:var(--ff-primary);box-shadow:0 7px 18px color-mix(in srgb, var(--ff-primary) 20%, transparent);place-items:center;animation:1.35s ease-in-out infinite upload-icon-breathe;display:grid;position:relative}.media-upload-icon>svg:first-child{z-index:1;position:relative}.media-upload-spinner{width:34px;height:34px;color:var(--ff-accent);stroke-width:1.5px;animation:.9s linear infinite studio-spin;position:absolute;inset:2px}.media-upload-progress small{color:var(--ff-primary);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:.7px}.media-upload-progress strong{width:100%;color:var(--ff-muted);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-medium);text-overflow:ellipsis;white-space:nowrap;text-align:center;overflow:hidden}@keyframes upload-card-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes upload-background-sweep{55%,to{transform:translate(115%)}}@keyframes upload-progress-slide{to{background-position:180% 0}}@keyframes upload-icon-breathe{50%{box-shadow:0 9px 24px color-mix(in srgb, var(--ff-primary) 29%, transparent), 0 0 0 7px color-mix(in srgb, var(--ff-accent) 8%, transparent);transform:scale(1.08)}}.canvas-transform.drop-feedback:after,.editable-element.drop-enter{animation:none}.media-item:hover .media-preview img,.media-item:hover .media-preview video{transform:scale(1.025)}.media-select{z-index:3;border:1px solid color-mix(in srgb, var(--ff-ink) 48%, transparent);border-radius:var(--ff-radius-round);width:20px;height:20px;color:var(--ff-text-inverse);background:color-mix(in srgb, var(--ff-canvas) 92%, transparent);box-shadow:var(--ff-shadow-sm);outline:none;place-items:center;padding:0;display:grid;position:absolute;top:7px;right:7px}.media-select[aria-checked=true]{border-color:var(--ff-ink);background:var(--ff-ink)}.media-select:hover{background:var(--ff-canvas)}.media-select[aria-checked=true]:hover{background:var(--ff-palette-primary)}.media-delete{width:25px;height:25px;color:var(--ff-danger);border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-neutral-0) 91%, transparent);box-shadow:var(--ff-shadow-lift);opacity:0;transition:color var(--ff-duration-base), background var(--ff-duration-base), opacity var(--ff-duration-base), transform var(--ff-duration-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;display:grid;position:absolute;top:6px;left:6px;transform:translateY(-2px)}.media-delete-error{z-index:4;color:var(--ff-on-accent);border-radius:var(--ff-radius-xs);background:var(--ff-danger);font-size:var(--ff-text-3xs);padding:6px 7px;line-height:1.3;position:absolute;bottom:6px;left:6px;right:6px}.media-delete:hover{color:var(--ff-on-accent);background:var(--ff-danger)}.media-item:hover .media-delete,.media-item:focus-within .media-delete{opacity:1;transform:translateY(0)}.media-empty{min-height:150px;color:var(--ff-muted);border:1px dashed var(--ff-line);border-radius:var(--ff-radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:20px;display:flex}.media-empty strong{color:var(--ff-ink);font-size:var(--ff-text-xs)}.media-empty span{max-width:180px;font-size:var(--ff-text-3xs);line-height:1.5}.element-buttons{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.element-buttons button{aspect-ratio:1;border:1px solid var(--ff-line);border-radius:var(--ff-radius-xs);background:var(--ff-neutral-2);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.element-buttons button:hover{border-color:var(--ff-neutral-38)}.element-buttons svg{width:24px}.element-buttons span{font-size:var(--ff-text-3xs)}.panel-triangle{border-right:13px solid #0000;border-bottom:23px solid var(--ff-neutral-86);border-left:13px solid #0000;width:0;height:0}.add-heading,.add-subheading{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xs);background:var(--ff-neutral-2);text-align:left;width:100%;margin-bottom:7px;padding:12px}.add-heading{font-family:var(--ff-font-sans);font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-bold)}.add-subheading{font-size:var(--ff-text-lg);font-weight:var(--ff-weight-medium)}.toolbar-divider{background:var(--ff-line);flex:0 0 1px;height:22px;margin:0 3px}.canvas-size{color:var(--ff-neutral-50);font-size:var(--ff-text-2xs);padding:0 6px}.stage-viewport{flex:1;place-items:center;min-height:0;padding:12px 20px 38px;display:grid;position:relative}.studio-canvas{aspect-ratio:16/9;outline:2px solid var(--ff-selection);width:min(78%,900px);box-shadow:none;touch-action:none;position:relative;overflow:hidden}.canvas-color-background{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.canvas-background{z-index:1;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.canvas-status{color:var(--ff-neutral-62);font-size:var(--ff-text-xs);align-items:center;gap:9px;display:flex}.canvas-status>span{font-variant-numeric:tabular-nums;flex:0 0 5.2em}.canvas-status>span:first-child{text-align:right}.canvas-status button.playback-button{width:36px;min-width:36px;height:36px;color:var(--ff-text-inverse);background:var(--ff-ink);flex:none}.editable-element{z-index:2;box-sizing:border-box;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;transform-origin:50%;font-size:calc(var(--interaction-font-size,var(--element-font-size,44)) * 1px * var(--canvas-font-scale,1));letter-spacing:calc(var(--interaction-letter-spacing,var(--element-letter-spacing,0)) * 1px * var(--canvas-font-scale,1));justify-content:center;align-items:center;display:flex;position:absolute}.editable-element.is-interacting{will-change:transform;transform:translate3d(var(--interaction-x,0), var(--interaction-y,0), 0) rotate(var(--element-rotation,0deg)) scale(var(--interaction-scale,1))!important;animation:none!important}.editable-element.is-group-moving{will-change:translate}.editable-element.text{overflow-wrap:anywhere;white-space:pre-line;padding:.25em;line-height:1.02;overflow:visible}.editable-element.text>span{-webkit-text-fill-color:currentColor;width:100%;min-width:0}.text-glitch-stack{isolation:isolate;display:block;position:relative}.text-glitch-base{z-index:1;display:block;position:relative}.text-glitch-layer{z-index:2;pointer-events:none;display:block;position:absolute;inset:0}[data-preview-quality=performance] .film-grain,[data-preview-quality=draft] .film-grain,[data-preview-quality=draft] .text-glitch-layer{display:none}.webgl-film-grain{opacity:var(--film-grain-opacity);background-image:var(--film-grain-texture), radial-gradient(circle at 48% 43%, transparent 45%, color-mix(in srgb, var(--ff-neutral-100) 22%, transparent) 78%, color-mix(in srgb, var(--ff-neutral-100) 82%, transparent) 100%);background-blend-mode:overlay, multiply;mix-blend-mode:overlay;background-size:256px 256px,100% 100%;overflow:hidden}.webgl-text-input-bridge{resize:none;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;color:#0000;caret-color:#0000;width:1px;min-width:0;height:1px;min-height:0;box-shadow:none;pointer-events:none;background:0 0;border:0;outline:0;margin:0;padding:0;position:fixed;top:0;left:-10000px;overflow:hidden}.image-crop-context{z-index:0;opacity:.28;pointer-events:none;max-width:none;max-height:none;display:block;position:absolute}.image-effect-frame{z-index:1;pointer-events:none;display:block;position:absolute;inset:0}.image-crop-frame{pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden}.image-crop-frame img{z-index:1;pointer-events:none;max-width:none;max-height:none;display:block;position:absolute}.image-crop-frame .frame-placeholder-image{object-fit:cover;width:100%;height:100%;inset:0}.image-crop-frame.image-frame{background:var(--ff-surface-subtle)}.frame-drop-indicator{z-index:3;box-sizing:border-box;color:var(--ff-muted);border:1px dashed color-mix(in srgb, var(--ff-muted) 55%, transparent);background:color-mix(in srgb, var(--ff-surface-subtle) 76%, transparent);pointer-events:none;place-items:center;display:grid;position:absolute}.frame-drop-indicator svg{width:24%;min-width:20px;max-width:42px;height:auto}.empty-image-frame{color:var(--ff-muted);background:var(--ff-surface-subtle);box-shadow:inset 0 0 0 1px var(--ff-line);place-items:center;display:grid;position:absolute;inset:0}.image-crop-frame.custom-image-frame .empty-image-frame{box-shadow:none;background:0 0}.image-frame-border{z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 var(--frame-border-width,0) var(--frame-border-color,transparent);pointer-events:none;display:block;position:absolute;inset:0}.empty-image-frame svg{width:24%;min-width:20px;max-width:42px;height:auto}.image-processing-overlay{z-index:2;color:var(--ff-on-accent);background:color-mix(in srgb, var(--ff-neutral-100) 40%, transparent);place-items:center;display:grid;position:absolute;inset:0}.image-processing-overlay svg{width:clamp(24px,12%,42px);height:clamp(24px,12%,42px);filter:drop-shadow(0 1px 3px color-mix(in srgb, var(--ff-neutral-100) 53%, transparent))}.element-arrival-spinner{transform-origin:50%;color:var(--ff-on-accent);background:color-mix(in srgb, var(--ff-neutral-100) 28%, transparent);pointer-events:none;place-items:center;display:grid;position:absolute}.element-arrival-spinner svg{width:clamp(18px,18%,30px);height:clamp(18px,18%,30px);filter:drop-shadow(0 1px 3px color-mix(in srgb, var(--ff-neutral-100) 53%, transparent))}.editable-element.crop-active{cursor:move;outline:2px solid var(--ff-neutral-0);box-shadow:0 0 0 4px var(--ff-primary), 0 0 0 9999px color-mix(in srgb, var(--ff-neutral-100) 40%, transparent)}.editable-element video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.studio-pixi-surface{z-index:0;touch-action:none;pointer-events:none;position:absolute;inset:0;overflow:hidden}.studio-pixi-surface[data-ready]{pointer-events:auto}.studio-pixi-canvas{pointer-events:auto;width:100%;height:100%;display:block}.editor-kit-startup-screen{z-index:1;color:var(--ff-neutral-100);background:radial-gradient(circle at 50% 42%, var(--ff-neutral-2) 0, var(--ff-neutral-7) 70%);pointer-events:none;animation:editor-kit-startup-in var(--ff-duration-slow) ease-out both;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.editor-kit-startup-screen[data-handoff]{animation:none}.editor-kit-startup-wordmark{aspect-ratio:126/72;width:150px;margin-bottom:6px;position:relative}.editor-kit-startup-wordmark>svg{opacity:0;will-change:opacity;width:100%;height:100%;animation:none;position:absolute;inset:0;overflow:visible}.editor-kit-startup-wordmark path{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.editor-kit-startup-label{color:var(--ff-neutral-50);font-size:var(--ff-text-md);font-weight:var(--ff-weight-medium);font-variant-numeric:tabular-nums;margin:4px 0 14px}.editor-kit-startup-progress{border-radius:var(--ff-radius-pill);background:color-mix(in srgb, var(--ff-neutral-100) 7%, transparent);width:min(180px,46vw);height:3px;overflow:hidden}.editor-kit-startup-progress>span{transform-origin:0;background:var(--ff-selection);width:100%;height:100%;transition:transform var(--ff-duration-slow) var(--ff-ease-out);will-change:transform;display:block;transform:scaleX(0)}@keyframes editor-kit-startup-in{0%{opacity:0}}.studio-pixi-surface:not([data-ready])>canvas,.design-page-stack-pixi-surface:not([data-ready])>canvas,.editor-kit-flat-surface:not([data-ready])>canvas,.infinite-canvas-host:not([data-ready])>canvas,.timeline-webgl-host:not([data-ready])>canvas,.note-webgl-host:not([data-ready])>canvas{visibility:hidden}.design-page-stack-pixi-surface:not([data-ready]),.editor-kit-flat-surface:not([data-ready]),.infinite-canvas-host:not([data-ready]),.timeline-webgl-host:not([data-ready]),.note-webgl-host:not([data-ready]){pointer-events:none}.canvas-accessibility-elements{clip:rect(0 0 0 0);white-space:nowrap;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:fixed;top:0;left:-10000px;overflow:hidden}.canvas-accessibility-elements *{pointer-events:none}.canvas-vector-path{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.editable-element.text:has(.custom-text-path){align-items:stretch;padding:0;overflow:visible}.editable-element.text:has(.custom-text-path)>span{width:100%;height:100%;display:block;inset:0;overflow:visible;position:absolute!important}.custom-text-path{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.editable-element.selected{outline:2px solid var(--ff-selection);outline-offset:0}.editable-element.text.selected{backface-visibility:hidden;will-change:transform}.canvas-media-drop-preview{z-index:31;border:2px solid var(--ff-selection);background:color-mix(in srgb, var(--ff-selection) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-0) 60%, transparent), 0 4px 18px color-mix(in srgb, var(--ff-selection) 22%, transparent);pointer-events:none;position:absolute}.canvas-shape{pointer-events:none;width:100%;height:100%;display:block}.timeline-header button{border:1px solid var(--ff-neutral-14);border-radius:var(--ff-radius-xs);background:var(--ff-surface-raised);min-width:28px;height:27px;font-size:var(--ff-text-3xs);justify-content:center;align-items:center;gap:5px;padding:0 7px;display:flex}.track-names{border-right:1px solid var(--ff-neutral-14);grid-template-rows:24px repeat(4,1fr);display:grid}.track-names span{border-top:1px solid var(--ff-neutral-10);color:var(--ff-neutral-62);font-size:var(--ff-text-3xs);align-items:center;gap:6px;padding-left:13px;display:flex}.timeline-track{border-top:1px solid var(--ff-neutral-10);position:relative}.element-clip{min-width:40px;height:calc(100% - 10px);color:var(--ff-neutral-74);border:1px solid var(--ff-neutral-28);border-radius:var(--ff-radius-xs);background:var(--ff-neutral-20);font-size:var(--ff-text-3xs);text-align:left;align-items:center;gap:5px;padding:0 6px;display:flex;position:absolute;top:5px;overflow:hidden}.element-clip.selected{border-color:var(--ff-selection);box-shadow:inset 0 0 0 1px var(--ff-selection)}.element-clip img{object-fit:cover;border-radius:2px;width:22px;height:22px}.element-clip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-track{gap:3px;padding:4px;display:flex}.scene-track>button{min-width:70px;color:var(--ff-on-accent);border-radius:var(--ff-radius-xs);box-shadow:inset 0 -20px 22px color-mix(in srgb, var(--ff-neutral-100) 13%, transparent);flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:5px 7px;display:flex;overflow:hidden}.scene-track span,.scene-track small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.scene-track span{font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold)}.scene-track small{font-size:var(--ff-text-3xs);opacity:.85}.projects-view{min-height:100vh;color:var(--ff-ink);background-color:var(--ff-neutral-4);background-image:radial-gradient(var(--ff-neutral-14) 1px, transparent 1px);background-size:20px 20px}.projects-header{border-bottom:1px solid var(--ff-line);background:var(--ff-surface-raised);justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex}.projects-actions{align-items:center;gap:10px;display:flex}.projects-actions .primary-action{color:var(--ff-on-accent);border-color:var(--ff-accent);background:var(--ff-accent)}.account-button{border-radius:var(--ff-radius-xs);height:34px;color:var(--ff-neutral-74);font-size:var(--ff-text-xs);align-items:center;gap:7px;padding:3px 9px 3px 3px;display:flex}.account-button:hover{background:var(--ff-neutral-7)}.account-button img{border-radius:var(--ff-radius-round);object-fit:cover;width:28px;height:28px}@media (width<=1120px){.studio-rail button,.studio-rail>a{width:50px}.studio-canvas{width:88%}.studio-brand.compact{min-width:auto;font-size:0}.project-title{width:220px}}@media (width<=760px){.login-shell{min-height:760px;overflow:auto}.login-header{height:66px}.login-status{font-size:var(--ff-text-3xs)}.login-hero{grid-template-columns:1fr;align-content:start;gap:30px;padding-top:54px;padding-bottom:190px}.login-copy h1{font-size:clamp(60px,19vw,88px)}.login-workbench{width:100%}.login-panel{grid-template-columns:1fr;gap:12px;position:absolute;bottom:24px;right:24px}.login-panel-heading{display:none}.connect-button{width:100%}.login-panel>small{text-align:left;margin-top:-5px}}@media (width<=1100px) and (width>=761px){.login-hero{grid-template-columns:minmax(340px,.8fr) minmax(390px,1.2fr);gap:34px}.login-copy h1{font-size:70px}}@media (width<=820px){body{overflow:auto}.projects-content,.projects-browser{width:calc(100% - 28px)}}.home-button,.topbar-history button{border-radius:var(--ff-radius-lg);width:40px;height:40px}.home-button:hover,.topbar-history button:hover{background:var(--ff-surface-hover)}.studio-brand,.panel-title h2,.projects-heading h1{font-family:var(--ff-font-serif)}.studio-brand span{color:var(--ff-accent);background:0 0;border-radius:0;transform:none}.studio-brand span svg{transform:none}.studio-brand.compact{min-width:142px;font-size:var(--ff-text-xl);font-weight:var(--ff-weight-semibold)}.studio-brand.compact span{width:32px;height:32px}.project-title{height:40px;color:var(--ff-ink);font-size:var(--ff-text-base);font-weight:var(--ff-weight-medium);padding:0 11px}.project-title:hover{border-bottom-color:var(--ff-line-strong)}.topbar-history{border-left-color:var(--ff-line)}.topbar-history button:disabled{opacity:.3}.save-indicator{color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium);gap:7px}.share-action,.export-action,.primary-action{border-color:var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface);height:40px;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);transition:background-color var(--ff-duration-base), border-color var(--ff-duration-base);white-space:nowrap;gap:8px;padding:0 14px}.share-action svg,.export-action svg,.primary-action svg{stroke-width:1.9px;flex:none;width:18px;height:18px}.share-action:hover{border-color:var(--ff-line-strong);background:var(--ff-surface-solid)}.export-action,.primary-action{color:var(--ff-text-inverse);border-color:var(--ff-primary);background:var(--ff-primary)}.export-action:hover,.primary-action:hover{color:var(--ff-text-inverse);border-color:var(--ff-ink);background:var(--ff-ink)}.account-avatar{border-color:var(--ff-line-strong);width:38px;height:38px}.studio-rail{color:var(--ff-muted);border-color:var(--ff-line);background:var(--ff-surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:10px 7px}.studio-rail button,.studio-rail>a{border-radius:var(--ff-radius-xl);width:56px;height:52px;transition:color var(--ff-duration-base), background-color var(--ff-duration-base)}.studio-rail button.active,.studio-rail>a.active{color:var(--ff-accent);background:var(--ff-accent-soft);box-shadow:none}.panel-title{padding-right:31px}.mini-heading,.projects-heading span{color:var(--ff-accent);letter-spacing:0}.panel-title h2{font-size:var(--ff-text-2xl)}.studio-agents,.director-composer,.element-buttons button,.add-heading,.add-subheading{border-color:var(--ff-line);border-radius:var(--ff-radius-xl);background:var(--ff-surface);box-shadow:var(--ff-shadow-sm)}.target-switch{border-radius:var(--ff-radius-lg);background:var(--ff-canvas-cool);padding:3px}.target-switch button{border-radius:var(--ff-radius-md);height:29px}.target-switch button.active{color:var(--ff-primary);box-shadow:var(--ff-shadow-sm)}.upload-media,.layer-generator>div:last-child button,.director-composer>div button:last-child{border-radius:var(--ff-radius-md);background:var(--ff-primary)}.scouted-images button{border-radius:var(--ff-radius-lg)}.layer-list{--layer-row-gap:3px;--layer-indent:18px;gap:var(--layer-row-gap);min-width:0;max-width:100%;display:grid;overflow-x:clip}.layer-row{min-width:0;height:44px;padding:0 8px 0 calc(8px + var(--layer-depth,0) * var(--layer-indent));color:var(--ff-muted);touch-action:none;grid-template-columns:18px 30px minmax(0,1fr) auto 14px;align-items:center;gap:7px;display:grid;position:relative}.layer-select{z-index:0;border-radius:var(--ff-radius-sm);width:100%;height:100%;transition:border-color var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;background:0 0;border:1px solid #0000;outline:none;padding:0;position:absolute;inset:0}.layer-row:hover .layer-select{background:var(--ff-surface-hover)}.layer-row.active{color:var(--ff-ink)}.layer-row.active .layer-select{border-color:var(--ff-card-border);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.layer-row.active:hover .layer-select{background:var(--ff-surface-hover)}.layer-select:focus-visible{border-color:var(--ff-line);box-shadow:0 0 0 2px color-mix(in srgb, var(--ff-ink) 10%, transparent)}.layer-row.dragging{opacity:.42}.layer-row.drop-before .layer-select,.layer-row.drop-after .layer-select{border-color:color-mix(in srgb, var(--ff-primary) 32%, transparent);background:color-mix(in srgb, var(--ff-primary) 7%, transparent)}.layer-row.drop-before:before,.layer-row.drop-after:after{z-index:3;background:var(--ff-neutral-100);height:2px;box-shadow:none;pointer-events:none;content:"";border-radius:2px;position:absolute;left:-2px;right:-2px}.layer-row.drop-before:before{top:-5px}.layer-row.drop-after:after{bottom:-5px}.layer-select[draggable=true]{cursor:grab}.layer-select[draggable=true]:active{cursor:grabbing}.layer-row.layer-child-row{padding-left:calc(8px + var(--layer-depth,1) * var(--layer-indent))}.layer-tree-branch{z-index:1;top:calc(-1 * var(--layer-row-gap));bottom:50%;left:calc(9px + (var(--layer-depth,1) - 1) * var(--layer-indent));border-bottom:1px solid var(--ff-line);border-left:1px solid var(--ff-line);border-radius:0 0 0 var(--ff-radius-xs);width:11px;pointer-events:none!important;position:absolute!important}.layer-row:not(.layer-child-row)>.layer-tree-branch{display:none}.layer-tree-control{place-items:center;width:18px;height:28px;display:grid;pointer-events:auto!important}.layer-tree-toggle{border-radius:var(--ff-radius-xs);width:18px;height:24px;color:var(--ff-faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.layer-tree-toggle:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.layer-group-row{color:var(--ff-ink)}.layer-section-row{margin-top:4px}.layer-section-row:first-child{margin-top:0}.layer-section-row .layer-select{border-bottom:1px solid color-mix(in srgb, var(--ff-line) 72%, transparent);border-radius:0}.layer-group-row strong{font-weight:var(--ff-weight-semibold)}.layer-group-row .layer-type,.layer-section-row .layer-type{color:var(--ff-faint);box-shadow:none;background:0 0}.layer-group-row.active:not(.collapsed) .layer-select{border-radius:var(--ff-radius-sm) var(--ff-radius-sm) 0 0;box-shadow:none}.layer-child-row.parent-selected{color:var(--ff-muted)}.layer-child-row.parent-selected .layer-select{top:calc(-1 * var(--layer-row-gap));height:calc(100% + var(--layer-row-gap));border-color:var(--ff-card-border);background:var(--ff-surface-subtle);box-shadow:none;border-top:0;border-radius:0;bottom:auto}.layer-child-row.parent-selected:hover .layer-select{background:var(--ff-surface-hover)}.layer-child-row.parent-selected.last-in-group .layer-select{border-radius:0 0 var(--ff-radius-sm) var(--ff-radius-sm)}.layer-name-input{z-index:2;box-sizing:border-box;border:1px solid var(--ff-primary);border-radius:var(--ff-radius-sm);min-width:0;height:27px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-xs);outline:none;padding:0 7px;position:relative;pointer-events:auto!important}.layer-row>:not(.layer-select){z-index:1;pointer-events:none;position:relative}.layer-drag-handle{width:18px;height:28px;color:var(--ff-faint);cursor:grab;opacity:.3;transition:color var(--ff-duration-fast) ease, opacity var(--ff-duration-fast) ease;place-items:center;display:grid}.layer-row:hover .layer-drag-handle{color:var(--ff-muted);opacity:1}.layer-row.dragging .layer-drag-handle{color:var(--ff-primary);cursor:grabbing;opacity:1}.layer-type{border-radius:var(--ff-radius-xs);background:var(--ff-surface-solid);width:20px;height:20px;box-shadow:none;place-items:center;display:grid}.layer-type.has-thumbnail{background:var(--ff-surface-hover);overflow:hidden}.layer-type.has-thumbnail :is(img,video){object-fit:cover;width:100%;height:100%;display:block}.layer-project-thumbnail{background:var(--ff-surface-hover);width:100%;min-height:100%;aspect-ratio:auto!important;height:100%!important}.layer-project-thumbnail>img{object-fit:cover;width:100%;height:100%}.layer-label{align-items:center;gap:6px;min-width:0;display:flex}.layer-object-icon{width:14px;height:14px;color:var(--ff-faint);flex:0 0 14px;place-items:center;display:grid}.layer-row.active .layer-object-icon{color:var(--ff-ink)}.layer-list strong{font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layer-list small{color:var(--ff-faint);font-size:var(--ff-text-3xs)}.layer-actions{opacity:0;transition:opacity var(--ff-duration-base);display:flex;pointer-events:auto!important}.layer-row:hover .layer-actions,.layer-row.active .layer-actions,.layer-row:focus-within .layer-actions{opacity:1}.template-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.template-grid button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid);text-align:left;min-width:0;padding:7px}.template-grid button:hover{border-color:color-mix(in srgb, var(--ff-accent) 30%, transparent);background:var(--ff-surface-hover)}.template-grid i{border-radius:var(--ff-radius-sm);height:86px;margin-bottom:7px;display:block}.template-editorial{background:linear-gradient(155deg, var(--ff-primary) 0 66%, var(--ff-highlight) 66%)}.template-minimal{background:linear-gradient(var(--ff-palette-secondary) 0 68%, var(--ff-accent) 68% 72%, var(--ff-palette-secondary) 72%)}.template-grid>button>strong,.template-grid>button>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.template-grid>button>strong{font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold)}.template-grid>button>span{color:var(--ff-neutral-50);font-size:var(--ff-text-3xs);margin-top:2px}.brand-swatches{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.brand-swatches button{aspect-ratio:1.25;border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);box-shadow:inset 0 0 0 2px var(--ff-surface-solid)}.brand-swatches button:hover{outline:2px solid var(--ff-accent);outline-offset:1px}.layer-actions button{border-radius:var(--ff-radius-sm);width:23px;height:23px;color:inherit;outline:none;place-items:center;padding:0;display:grid}.layer-actions button:hover:not(:disabled){background:var(--ff-surface-solid)}.layer-actions button:disabled{opacity:.28}.compact-number{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);height:40px;color:var(--ff-muted);font-size:var(--ff-text-md);white-space:nowrap;align-items:center;gap:5px;padding:0 9px;display:flex}.compact-number>svg{stroke-width:1.8px;flex:none}.compact-number input{width:42px;font-size:var(--ff-text-base);background:0 0;border:0;outline:0}.canvas-size{font-size:var(--ff-text-sm)}.toolbar-divider{background:var(--ff-line);height:26px}.animation-panel{overflow:hidden!important}.animation-drawer{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.animation-drawer>.panel-title{border-bottom:1px solid var(--ff-line);flex:none;margin:0 0 14px;padding:2px 42px 14px 0}.animation-drawer>.panel-title h2{font-size:var(--ff-text-2xl);margin:3px 0 0}.animation-phase-tabs{border-bottom:1px solid var(--ff-line);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));margin:-4px 0 14px;display:grid}.animation-phase-tabs button{height:38px;color:var(--ff-muted);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);background:0 0;border:0;border-radius:0;padding:0 8px}.animation-phase-tabs button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.animation-phase-tabs button.active{color:var(--ff-ink);box-shadow:inset 0 -2px 0 var(--ff-ink)}.animation-phase-tabs button:focus{outline:none}.animation-drawer-scroll{flex:1;min-height:0;padding:0 2px 18px 0;overflow-y:auto}.animation-drawer h3{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);margin:0 0 10px}.animation-none{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);text-align:left;align-items:center;gap:10px;width:100%;min-height:44px;margin-bottom:18px;padding:7px 10px;display:flex}.animation-none:hover,.animation-none.active{background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm)}.animation-none>span{gap:2px;min-width:0;display:grid}.animation-none strong,.animation-none small{font-size:var(--ff-text-xs)}.animation-none small{color:var(--ff-muted)}.animation-inline-settings{border-radius:var(--ff-radius-md);background:var(--ff-surface-muted);transform-origin:top;animation:animation-settings-in var(--ff-duration-slow) var(--ff-ease-out) both;grid-column:1/-1;gap:17px;margin:8px 0;padding:16px;display:grid;position:relative}.animation-inline-settings:before{top:-8px;left:calc((100% / 3) * (var(--animation-pointer-column,1) + .5));background:var(--ff-surface-muted);clip-path:polygon(50% 0,100% 100%,0 100%);content:"";width:16px;height:9px;position:absolute;transform:translate(-50%)}.animation-sync-row{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);justify-content:space-between;align-items:center;display:flex}.animation-sync-row>button{border-radius:var(--ff-radius-md);background:var(--ff-line-strong);align-items:center;width:30px;height:18px;padding:2px;display:flex}.animation-sync-row>button span{border-radius:var(--ff-radius-round);width:14px;height:14px;color:var(--ff-text-inverse);background:var(--ff-surface-solid);transition:transform var(--ff-duration-fast) ease-out;place-items:center;display:grid}.animation-sync-row>button.active{background:var(--ff-ink)}.animation-sync-row>button.active span{background:var(--ff-ink);transform:translate(12px)}.animation-attribute-section{gap:9px;display:grid}.animation-attribute-section>label{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);justify-content:space-between;align-items:center;display:flex}.animation-attribute-section output{color:var(--ff-muted);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums}.animation-phase-control{border-radius:var(--ff-radius-md);background:var(--ff-surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;display:grid}.animation-phase-control button{border-radius:var(--ff-radius-sm);min-width:0;height:30px;color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;background:0 0;padding:0 5px;overflow:hidden}.animation-phase-control button:hover{color:var(--ff-ink)}.animation-phase-control button.active{color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.animation-attribute-section input[type=range]{width:100%;height:18px;accent-color:var(--ff-ink);cursor:ew-resize;margin:0}.animation-direction-control{grid-template-columns:repeat(2,38px);gap:6px;display:grid}.animation-direction-control.animation-origin-control{grid-template-columns:repeat(3,38px)}.animation-direction-control.animation-brush-direction-control{grid-template-columns:repeat(4,38px)}.animation-direction-control button{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-sm);width:38px;height:34px;color:var(--ff-muted);background:var(--ff-surface-solid);place-items:center;display:grid}.animation-direction-control button:hover,.animation-direction-control button.active{color:var(--ff-ink);background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm)}.animation-motion-direction{grid-template:repeat(3,38px)/repeat(3,38px);gap:6px;width:126px;display:grid}.animation-motion-direction button{border-radius:var(--ff-radius-sm);width:38px;height:38px;color:var(--ff-muted);background:var(--ff-surface-solid);place-items:center;display:grid}.animation-motion-direction button:hover,.animation-motion-direction button.active{color:var(--ff-ink);background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm)}.animation-motion-direction .direction-top-left{grid-area:1/1}.animation-motion-direction .direction-top{grid-area:1/2}.animation-motion-direction .direction-top-right{grid-area:1/3}.animation-motion-direction .direction-left{grid-area:2/1}.animation-motion-direction .direction-right{grid-area:2/3}.animation-motion-direction .direction-bottom-left{grid-area:3/1}.animation-motion-direction .direction-bottom{grid-area:3/2}.animation-motion-direction .direction-bottom-right{grid-area:3/3}.animation-writing-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.animation-writing-control.animation-style-control{grid-template-columns:repeat(3,minmax(0,1fr))}.animation-writing-control button{border-radius:var(--ff-radius-sm);height:32px;color:var(--ff-muted);background:var(--ff-surface-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.animation-writing-control button:hover,.animation-writing-control button.active{color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.animation-group{margin-bottom:22px}.animation-group>div{gap:10px;display:grid}.animation-grid-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;display:grid}.animation-grid-row>button{border-radius:var(--ff-radius-lg);border:2px solid #0000;min-width:0;padding:4px}.animation-grid-row>button:hover{background:var(--ff-surface-hover)}.animation-grid-row>button.active{border-color:var(--ff-accent);background:var(--ff-accent-soft)}.animation-grid-row>button:disabled{opacity:.4}.animation-grid-row>button>small{font-size:var(--ff-text-3xs);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;display:block;overflow:hidden}.animation-effect-phases{min-height:12px;color:var(--ff-primary);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);margin-top:2px;line-height:12px;display:block}.animation-preview{border-radius:var(--ff-radius-md);height:66px;color:var(--ff-ink);background:var(--ff-neutral-7);place-items:center;display:grid;overflow:hidden}.animation-thumbnail-svg{width:72px;max-width:100%;height:56px;display:block;overflow:visible}.animation-thumbnail-subject{fill:var(--ff-accent-secondary);stroke:var(--ff-ink);stroke-width:1.35px}.animation-thumbnail-detail{fill:color-mix(in srgb, var(--ff-canvas) 82%, transparent);stroke:none}.animation-thumbnail-mark,.animation-thumbnail-wave,.animation-thumbnail-edge,.animation-thumbnail-speed,.animation-thumbnail-caret,.animation-thumbnail-signal,.animation-thumbnail-pencil,.animation-thumbnail-impact{fill:none;stroke:var(--ff-ink);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.animation-thumbnail-speed,.animation-thumbnail-scan{opacity:.4}.animation-thumbnail-svg marker path,.animation-thumbnail-bolt{fill:var(--ff-ink)}.animation-thumbnail-type{fill:var(--ff-ink);font:var(--ff-weight-bold) var(--ff-text-2xl) var(--ff-font-sans)}.animation-thumbnail-caret{stroke:var(--ff-accent);stroke-width:2.3px}.animation-thumbnail-screen{fill:var(--ff-ink);stroke:var(--ff-ink)}.animation-thumbnail-scan{stroke:var(--ff-canvas);stroke-width:.7px}.animation-thumbnail-signal{stroke:var(--ff-accent);stroke-width:2px}.animation-thumbnail-chroma-a{color:var(--ff-highlight);filter:hue-rotate(145deg)}.animation-thumbnail-wave{stroke:var(--ff-accent)}.animation-thumbnail-reveal-fill{fill:color-mix(in srgb, var(--ff-accent) 20%, transparent)}.animation-thumbnail-edge{stroke:var(--ff-accent);stroke-width:2.2px}.animation-thumbnail-pixels,.animation-thumbnail-spray{fill:var(--ff-accent)}.animation-thumbnail-ink{fill:color-mix(in srgb, var(--ff-ink) 78%, transparent)}.animation-thumbnail-ink-bristles path{fill:var(--ff-ink);stroke:var(--ff-ink);stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.ink-replay-path{stroke-dasharray:1;stroke-dashoffset:1px;animation:ink-replay-stroke var(--ink-replay-duration) linear var(--ink-replay-delay) 1 both}@keyframes ink-replay-stroke{to{stroke-dashoffset:0}}.animation-thumbnail-sketch-a,.animation-thumbnail-sketch-b{fill:none;stroke:var(--ff-muted);stroke-width:1.2px;stroke-dasharray:3 2}.animation-thumbnail-sketch-b{stroke:var(--ff-ink)}.animation-thumbnail-pencil{stroke:var(--ff-accent);stroke-width:2.3px}.animation-thumbnail-light{fill:none;stroke:var(--ff-highlight);stroke-width:5px;opacity:.42}.animation-thumbnail-creative-fill{fill:var(--ff-highlight);stroke:none;opacity:.42}.animation-thumbnail-ghost{fill:none;stroke:var(--ff-muted);stroke-width:1.2px;stroke-dasharray:3 2}.animation-thumbnail-fade-line{stroke:var(--ff-muted);stroke-width:2px;opacity:.45}.animation-thumbnail-neon-line{stroke:var(--ff-accent);stroke-width:2.2px}.animation-thumbnail-paper-back{fill:var(--ff-surface-muted);stroke:var(--ff-muted)}.animation-thumbnail-paper{fill:var(--ff-canvas);stroke:var(--ff-ink)}.animation-grid-row>button:hover .animation-thumbnail-svg{will-change:transform, opacity, filter;transform-origin:50%}.animation-effect-rise:hover .animation-thumbnail-svg{animation:.85s cubic-bezier(.18,.82,.22,1) both animation-tile-rise}.animation-effect-whip-slide:hover .animation-thumbnail-svg{animation:.72s cubic-bezier(.16,.84,.24,1) both animation-tile-velocity}.animation-effect-shake-zoom:hover .animation-thumbnail-svg,.animation-effect-stomp:hover .animation-thumbnail-svg{animation:.78s cubic-bezier(.16,.82,.26,1) both animation-tile-impact}.animation-effect-pop:hover .animation-thumbnail-svg{animation:.72s cubic-bezier(.16,.84,.24,1) both animation-tile-pop}.animation-effect-photo-zoom:hover .animation-thumbnail-svg{animation:.95s cubic-bezier(.2,.76,.22,1) both animation-tile-photo}.animation-effect-fade:hover .animation-thumbnail-svg{animation:.85s ease-out both animation-tile-fade}.animation-effect-blur:hover .animation-thumbnail-svg{animation:.9s cubic-bezier(.2,.76,.22,1) both animation-tile-blur}.animation-effect-rotate:hover .animation-thumbnail-svg,.animation-effect-tumble:hover .animation-thumbnail-svg{animation:.9s cubic-bezier(.16,.8,.24,1) both animation-tile-rotate}.animation-effect-wiggle:hover .animation-thumbnail-svg,.animation-effect-tectonic:hover .animation-thumbnail-svg{animation:.72s ease-out both animation-tile-wiggle}.animation-effect-reveal:hover .animation-thumbnail-svg,.animation-effect-digital:hover .animation-thumbnail-svg,.animation-effect-gradient:hover .animation-thumbnail-svg{animation:.9s ease-out both animation-tile-reveal}.animation-effect-ink:hover .animation-thumbnail-svg{animation:1.05s cubic-bezier(.18,.78,.2,1) both animation-tile-ink}@keyframes animation-tile-rise{0%{opacity:0;filter:blur(4px);transform:translateY(13px)scale(.96)}72%{opacity:1;filter:blur();transform:translateY(-1px)scale(1.012)}to{opacity:1;filter:none;transform:none}}@keyframes animation-tile-velocity{0%{opacity:0;filter:blur(6px);transform:translate(-28px)skew(-10deg)scale(.95)}68%{opacity:1;filter:blur();transform:translate(2px)skew(1deg)scale(1.01)}to{opacity:1;filter:none;transform:none}}@keyframes animation-tile-impact{0%{opacity:0;filter:blur(4px);transform:scale(.62)}58%{opacity:1;filter:blur();transform:scale(1.09)}78%{transform:scale(.98)}to{opacity:1;filter:none;transform:none}}@keyframes animation-tile-pop{0%{opacity:0;transform:scale(.68)}56%{opacity:1;transform:scale(1.1)}76%{transform:scale(.975)}to{opacity:1;transform:none}}@keyframes animation-tile-photo{0%{opacity:.18;filter:blur(6px)brightness(.72);transform:scale(1.2)}78%{opacity:1;filter:blur()brightness(1.03);transform:scale(.992)}to{opacity:1;filter:none;transform:none}}@keyframes animation-tile-fade{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes animation-tile-blur{0%{opacity:0;filter:blur(10px);transform:scale(1.05)}75%{opacity:1;filter:blur(.4px);transform:scale(.995)}to{opacity:1;filter:none;transform:none}}@keyframes animation-tile-rotate{0%{opacity:0;transform:rotate(-38deg)scale(.72)}74%{opacity:1;transform:rotate(2deg)scale(1.015)}to{opacity:1;transform:none}}@keyframes animation-tile-wiggle{0%{opacity:0;transform:rotate(-8deg)translate(-4px)}38%{opacity:1;transform:rotate(5deg)translate(3px)}68%{transform:rotate(-2deg)translate(-1px)}to{opacity:1;transform:none}}@keyframes animation-tile-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(3px)}to{opacity:1;clip-path:inset(0);filter:none}}@keyframes animation-tile-ink{0%{opacity:0;clip-path:polygon(0 0,0 0,0 18%,0 18%,0 42%,0 42%,0 68%,0 68%,0 100%,0 100%);filter:contrast(1.25)}38%{opacity:1;clip-path:polygon(0 0,48% 0,61% 18%,39% 18%,55% 42%,45% 42%,64% 68%,42% 68%,57% 100%,0 100%)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 18%,100% 18%,100% 42%,100% 42%,100% 68%,100% 68%,100% 100%,0 100%);filter:none}}.effects-panel{overflow:hidden!important}.effects-drawer{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.effects-drawer>.panel-title{border-bottom:1px solid var(--ff-line);flex:none;margin:0 0 14px;padding:2px 42px 14px 0}.effects-drawer>.panel-title h2{font-size:var(--ff-text-2xl);margin:3px 0 0}.effects-drawer-scroll{flex:1;min-height:0;padding:0 2px 18px 0;overflow-y:auto}.effect-group{margin-bottom:22px}.effect-group h3{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);margin:0 0 10px}.effect-preview{border-radius:var(--ff-radius-sm);height:72px;color:var(--ff-muted);background:var(--ff-surface-muted);place-items:center;display:grid;overflow:hidden}.effect-choice-grid .effect-preview{border-radius:var(--ff-radius-xs);width:100%;height:100%}.element-choice-grid.effect-choice-grid>button{aspect-ratio:auto;grid-template:auto auto/1fr;gap:5px;padding:4px 4px 6px}.effect-choice-grid .element-choice-preview{aspect-ratio:1}.effect-choice-label{width:100%;color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.effect-inline-settings{margin-bottom:4px}.effect-colors{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);align-items:center;gap:8px;display:flex}.effect-colors>span{margin-right:auto}.effect-colors>.color-picker-trigger{border-radius:var(--ff-radius-sm);background:var(--ff-surface-solid);width:30px;min-width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--ff-card-border);border:0;outline:none;flex-basis:30px}.effect-colors>.color-picker-trigger:focus{outline:none}.effect-colors>.color-picker-trigger .color-picker-direct-swatch{width:20px;height:20px}@keyframes animation-settings-in{0%{opacity:0;clip-path:inset(0 0 100% round 8px);transform:translateY(-8px)scaleY(.94)}to{opacity:1;clip-path:inset(0 round 8px);transform:translateY(0)scaleY(1)}}.stage-viewport{overscroll-behavior:none;padding:14px 28px 38px;overflow:hidden}[data-viewport-fit=visible-area] .editor-kit-viewport{padding:0}[data-editor-mode=video] .stage-viewport{padding-top:60px;padding-bottom:20px}.stage-viewport.panning{cursor:grabbing}.canvas-transform{transform-origin:50%;will-change:transform;backface-visibility:hidden;min-width:0;position:relative}.canvas-scale{transform-origin:0 0;transition:transform var(--ff-duration-fast) ease-out;position:absolute;top:0;left:0}.stage-viewport.panning .canvas-transform,.stage-viewport.panning .canvas-scale{transition:none}.studio-canvas{width:100%;height:100%;box-shadow:none;border-radius:0;outline:0;overflow:visible;background-clip:padding-box!important}.canvas-content-clip{position:absolute;inset:0;overflow:hidden}.canvas-pen-layer{z-index:80;cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.canvas-background{border-radius:inherit}.editable-element.animate-float{animation:2.4s ease-out both element-float}@property --wave-position{syntax:"<percentage>";inherits:false;initial-value:0%}@property --digital-position{syntax:"<percentage>";inherits:false;initial-value:0%}.animate-rise,.page-animate-rise{animation:element-rise 1.8s var(--ff-ease-out) 1 both}.animate-baseline,.page-animate-baseline{animation:element-baseline 1.8s var(--ff-ease-out) 1 both}.animate-photo-rise,.page-animate-photo-rise{animation:1.8s cubic-bezier(.2,.75,.2,1) both element-photo-rise}.animate-pan,.page-animate-pan{animation:2.2s cubic-bezier(.2,.75,.2,1) both element-pan}.animate-drift,.page-animate-drift{animation:2.2s cubic-bezier(.2,.7,.2,1) both element-drift}.animate-photo-flow,.page-animate-photo-flow{animation:2.2s cubic-bezier(.2,.7,.2,1) both element-photo-flow}.animate-whip-slide,.page-animate-whip-slide{animation:2.2s cubic-bezier(.16,.84,.28,1) both element-whip}.animation-direction-right.animate-pan{animation-name:element-pan-right}.animation-direction-right.animate-drift{animation-name:element-drift-right}.animation-direction-right.animate-photo-flow{animation-name:element-photo-flow-right}.animation-direction-right.animate-whip-slide{animation-name:element-whip-right}.animate-pop,.page-animate-pop{animation:element-pop 1.8s var(--ff-ease-out) 1 both}.animate-breathe,.page-animate-breathe{animation:1.8s ease-in-out both element-breathe}.animate-photo-zoom,.page-animate-photo-zoom{animation:1.8s cubic-bezier(.2,.75,.2,1) both element-photo-zoom}.animate-shake-zoom,.page-animate-shake-zoom{animation:element-impact-zoom 1.8s var(--ff-ease-out) 1 both}.animate-stomp,.page-animate-stomp{animation:1.8s cubic-bezier(.2,.75,.2,1) both element-stomp}.animate-pulse,.page-animate-pulse{animation:1.8s ease-out both element-pulse}.animate-wave-reveal,.page-animate-wave-reveal{animation:2.2s cubic-bezier(.2,.75,.2,1) both element-wave-reveal}.animate-reveal,.page-animate-reveal{animation:2.2s cubic-bezier(.2,.75,.2,1) both element-reveal}.reveal-origin-right.animate-reveal{animation-name:element-reveal-right}.reveal-origin-bottom.animate-reveal{animation-name:element-reveal-bottom}.reveal-style-brush.animate-reveal{animation-name:element-brush}.reveal-style-brush.reveal-origin-right.animate-reveal{animation-name:element-brush-right}.reveal-style-brush.reveal-origin-bottom.animate-reveal{animation-name:element-brush-bottom}.reveal-style-wave.animate-reveal{animation-name:element-wave-reveal}.reveal-style-wave.reveal-origin-right.animate-reveal{animation-name:element-wave-reveal-right}.reveal-style-wave.reveal-origin-bottom.animate-reveal{animation-name:element-wave-reveal-bottom}.animation-direction-right.animate-wave-reveal{animation-name:element-wave-reveal-right}.animate-brush,.page-animate-brush{animation:2.2s cubic-bezier(.2,.7,.2,1) both element-brush}.animate-ink,.page-animate-ink{animation:2.2s ease-out both element-ink}.animate-digital,.page-animate-digital{-webkit-mask-image:linear-gradient(112deg, var(--ff-neutral-100) 0 var(--digital-position), transparent calc(var(--digital-position) + 0.2%)), repeating-linear-gradient(90deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size)), repeating-linear-gradient(0deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size));-webkit-mask-image:linear-gradient(112deg, var(--ff-neutral-100) 0 var(--digital-position), transparent calc(var(--digital-position) + 0.2%)), repeating-linear-gradient(90deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size)), repeating-linear-gradient(0deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size));mask-image:linear-gradient(112deg, var(--ff-neutral-100) 0 var(--digital-position), transparent calc(var(--digital-position) + 0.2%)), repeating-linear-gradient(90deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size)), repeating-linear-gradient(0deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size));-webkit-mask-composite:source-in, source-in;animation:element-digital 1.25s steps(var(--animation-pixel-steps,11), end) 1 both;-webkit-mask-composite:source-in,source-in;mask-composite:intersect,intersect}.animate-spray-paint,.page-animate-spray-paint{animation:2.2s steps(10,end) both element-spray}.animate-sketch,.page-animate-sketch{animation:2.2s ease-out both element-sketch}.animate-gradient,.page-animate-gradient{animation:2.2s ease-out both element-gradient}.animate-wipe,.page-animate-wipe{animation:2.2s ease-out both element-reveal}.animation-direction-right:is(.animate-brush,.animate-gradient,.animate-wipe){animation-name:element-reveal-right}.animation-direction-right.animate-digital{-webkit-mask-image:linear-gradient(112deg, transparent 0 var(--digital-position), var(--ff-neutral-100) calc(var(--digital-position) + 0.2%)), repeating-linear-gradient(90deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size)), repeating-linear-gradient(0deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size));-webkit-mask-image:linear-gradient(112deg, transparent 0 var(--digital-position), var(--ff-neutral-100) calc(var(--digital-position) + 0.2%)), repeating-linear-gradient(90deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size)), repeating-linear-gradient(0deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size));mask-image:linear-gradient(112deg, transparent 0 var(--digital-position), var(--ff-neutral-100) calc(var(--digital-position) + 0.2%)), repeating-linear-gradient(90deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size)), repeating-linear-gradient(0deg, var(--ff-neutral-100) 0 calc(var(--animation-pixel-size) - 1px), transparent calc(var(--animation-pixel-size) - 1px) var(--animation-pixel-size));animation-name:element-digital-right}.animate-fade,.page-animate-fade{animation:2s ease-out both element-fade}.animate-blur,.page-animate-blur{animation:2s ease-out both element-blur}.animate-succession,.page-animate-succession{animation:2s cubic-bezier(.2,.75,.2,1) both element-succession}.animate-scrapbook,.page-animate-scrapbook{animation:2s cubic-bezier(.2,.75,.2,1) both element-scrapbook}.animate-old-tv,.page-animate-old-tv{animation:2.4s ease-out both element-old-tv}.animate-chroma-wave,.page-animate-chroma-wave{animation:1.3s ease-out both element-chroma-wave}.animate-neon,.page-animate-neon{animation:1.3s ease-out both element-neon}.animate-flicker,.page-animate-flicker{animation:1.3s step-end both element-flicker}.animate-tectonic,.page-animate-tectonic{animation:1s step-end both element-tectonic}.animate-wiggle,.page-animate-wiggle{animation:1s ease-out both element-wiggle}.animation-direction-right.animate-wiggle{animation-name:element-wiggle-right}.animate-tumble,.page-animate-tumble{animation:2.4s cubic-bezier(.2,.75,.2,1) both element-tumble}.animate-rotate,.page-animate-rotate{animation:2.4s cubic-bezier(.2,.75,.2,1) both element-rotate}.animation-direction-right.animate-tumble{animation-name:element-tumble-right}.animation-direction-right.animate-rotate{animation-name:element-rotate-right}.animate-typewriter.is-hover-preview>span{animation:2s steps(12,end) both element-typewriter}.animate-typewriter.is-hover-preview.animation-preview-both>span{animation-iteration-count:infinite;animation-direction:alternate}.animate-typewriter.is-hover-preview.animation-preview-exit>span{animation-direction:reverse}@keyframes element-float{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes element-rise{0%{transform:rotate(var(--element-rotation,0deg)) translate(var(--animation-rise-x,0), var(--animation-rise-y,18px));opacity:0}to{transform:rotate(var(--element-rotation,0deg)) translate(0);opacity:1}}@keyframes element-baseline{0%{clip-path:inset(100% 0 0);transform:rotate(var(--element-rotation,0deg)) translateY(10px);opacity:0}to{clip-path:inset(0);transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-photo-rise{0%{transform:rotate(var(--element-rotation,0deg)) translateY(24px) scale(1.08);filter:brightness(.86);opacity:0}to{transform:rotate(var(--element-rotation,0deg)) scale(1);filter:none;opacity:1}}@keyframes element-pan{0%{transform:rotate(var(--element-rotation,0deg)) translateX(-22px);opacity:0}to{transform:rotate(var(--element-rotation,0deg)) translateX(0);opacity:1}}@keyframes element-pan-right{0%{transform:rotate(var(--element-rotation,0deg)) translateX(22px);opacity:0}to{transform:rotate(var(--element-rotation,0deg)) translateX(0);opacity:1}}@keyframes element-drift{0%{transform:rotate(var(--element-rotation,0deg)) translate(-18px, 12px) scale(1.035);opacity:0}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-drift-right{0%{transform:rotate(var(--element-rotation,0deg)) translate(18px, 12px) scale(1.035);opacity:0}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-photo-flow{0%{transform:rotate(var(--element-rotation,0deg)) translateX(-24px) scale(1.1);filter:brightness(.88);opacity:0}to{transform:rotate(var(--element-rotation,0deg)) scale(1);filter:none;opacity:1}}@keyframes element-photo-flow-right{0%{transform:rotate(var(--element-rotation,0deg)) translateX(24px) scale(1.1);filter:brightness(.88);opacity:0}to{transform:rotate(var(--element-rotation,0deg)) scale(1);filter:none;opacity:1}}@keyframes element-whip{0%{transform:rotate(var(--element-rotation,0deg)) translateX(-76px) skewX(-10deg);filter:blur(5px);opacity:0}68%{transform:rotate(var(--element-rotation,0deg)) translateX(4px) skewX(1deg);filter:blur();opacity:1}to{transform:rotate(var(--element-rotation,0deg));filter:none;opacity:1}}@keyframes element-whip-right{0%{transform:rotate(var(--element-rotation,0deg)) translateX(76px) skewX(10deg);filter:blur(5px);opacity:0}68%{transform:rotate(var(--element-rotation,0deg)) translateX(-4px) skewX(-1deg);filter:blur();opacity:1}to{transform:rotate(var(--element-rotation,0deg));filter:none;opacity:1}}@keyframes element-pop{0%{transform:rotate(var(--element-rotation,0deg)) scale(.76);opacity:0}72%{transform:rotate(var(--element-rotation,0deg)) scale(1.045);opacity:1}to{transform:rotate(var(--element-rotation,0deg)) scale(1);opacity:1}}@keyframes element-breathe{0%{transform:rotate(var(--element-rotation,0deg)) scale(.92);filter:brightness(.92);opacity:0}70%{transform:rotate(var(--element-rotation,0deg)) scale(1.025);filter:brightness(1.04);opacity:1}to{transform:rotate(var(--element-rotation,0deg));filter:none;opacity:1}}@keyframes element-photo-zoom{0%{transform:rotate(var(--element-rotation,0deg)) scale(1.16);filter:brightness(.82);opacity:0}to{transform:rotate(var(--element-rotation,0deg)) scale(1);filter:none;opacity:1}}@keyframes element-impact-zoom{0%{transform:rotate(var(--element-rotation,0deg)) scale(.56);filter:blur(4px);opacity:0}58%{transform:rotate(calc(var(--element-rotation,0deg) - 1.2deg)) scale(1.08);filter:none;opacity:1}70%{transform:rotate(calc(var(--element-rotation,0deg) + .8deg)) scale(.985)}82%{transform:rotate(calc(var(--element-rotation,0deg) - .35deg)) scale(1.012)}to{transform:rotate(var(--element-rotation,0deg)) scale(1);opacity:1}}@keyframes element-stomp{0%{transform:rotate(var(--element-rotation,0deg)) translateY(-38px) scale(1.12, .84);opacity:0}62%{transform:rotate(var(--element-rotation,0deg)) translateY(4px) scale(.94, 1.08);opacity:1}76%{transform:rotate(var(--element-rotation,0deg)) translateY(-2px) scale(1.025, .98)}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-pulse{0%{transform:rotate(var(--element-rotation,0deg)) scale(.86);filter:brightness(1.35);opacity:0}58%{transform:rotate(var(--element-rotation,0deg)) scale(1.07);filter:brightness(1.08);opacity:1}to{transform:rotate(var(--element-rotation,0deg));filter:none;opacity:1}}@keyframes element-wave-reveal{0%{clip-path:polygon(0 0,-12% 0,-2% 8%,-10% 16%,0 25%,-13% 33%,-3% 42%,-9% 50%,2% 58%,-10% 67%,0 75%,-12% 83%,-1% 92%,-11% 100%,0 100%);opacity:.12;filter:saturate(1.12)contrast(1.06)}48%{clip-path:polygon(0 0,49% 0,59% 8%,51% 16%,62% 25%,48% 33%,58% 42%,52% 50%,63% 58%,50% 67%,60% 75%,47% 83%,58% 92%,49% 100%,0 100%);opacity:.72}to{clip-path:polygon(0 0,112% 0,112% 8%,112% 16%,112% 25%,112% 33%,112% 42%,112% 50%,112% 58%,112% 67%,112% 75%,112% 83%,112% 92%,112% 100%,0 100%);opacity:1;filter:none}}@keyframes element-wave-reveal-right{0%{clip-path:polygon(100% 0,112% 0,102% 8%,110% 16%,100% 25%,113% 33%,103% 42%,109% 50%,98% 58%,110% 67%,100% 75%,112% 83%,101% 92%,111% 100%,100% 100%);opacity:.12;filter:saturate(1.12)contrast(1.06)}48%{clip-path:polygon(100% 0,51% 0,41% 8%,49% 16%,38% 25%,52% 33%,42% 42%,48% 50%,37% 58%,50% 67%,40% 75%,53% 83%,42% 92%,51% 100%,100% 100%);opacity:.72}to{clip-path:polygon(100% 0,-12% 0,-12% 8%,-12% 16%,-12% 25%,-12% 33%,-12% 42%,-12% 50%,-12% 58%,-12% 67%,-12% 75%,-12% 83%,-12% 92%,-12% 100%,100% 100%);opacity:1;filter:none}}@keyframes element-wave-reveal-bottom{0%{clip-path:polygon(0 100%,0 100%,12% 94%,25% 100%,38% 92%,50% 99%,62% 93%,75% 100%,88% 94%,100% 100%);opacity:.12}50%{clip-path:polygon(0 100%,0 48%,12% 42%,25% 51%,38% 43%,50% 50%,62% 41%,75% 49%,88% 44%,100% 52%,100% 100%);opacity:.72}to{clip-path:inset(0);opacity:1}}@keyframes element-brush{0%{clip-path:polygon(0 0,3% 0,0 13%,7% 27%,1% 43%,8% 58%,0 72%,6% 87%,1% 100%,0 100%);filter:contrast(1.25)saturate(.8);opacity:.35}to{clip-path:polygon(0 0,100% 0,96% 13%,100% 27%,97% 43%,100% 58%,95% 72%,100% 87%,97% 100%,0 100%);filter:none;opacity:1}}@keyframes element-brush-right{0%{clip-path:polygon(100% 0,97% 0,100% 13%,93% 27%,99% 43%,92% 58%,100% 72%,94% 87%,99% 100%,100% 100%);filter:contrast(1.25)saturate(.8);opacity:.35}to{clip-path:inset(0);filter:none;opacity:1}}@keyframes element-brush-bottom{0%{clip-path:polygon(0 100%,0 97%,13% 100%,27% 93%,43% 99%,58% 92%,72% 100%,87% 94%,100% 99%,100% 100%);filter:contrast(1.25)saturate(.8);opacity:.35}to{clip-path:inset(0);filter:none;opacity:1}}@keyframes element-ink{0%{clip-path:polygon(0 0,0 0,14% 12%,0 25%,11% 38%,0 50%,16% 62%,0 75%,9% 88%,0 100%);filter:grayscale()contrast(2.2);opacity:.18}to{clip-path:polygon(0 0,100% 0,100% 12%,100% 25%,100% 38%,100% 50%,100% 62%,100% 75%,100% 88%,100% 100%);filter:none;opacity:1}}@keyframes element-digital{0%{--digital-position:-20%;filter:contrast(1.28)saturate(1.12);opacity:.35}88%{--digital-position:120%;filter:none;opacity:1}89%,to{--digital-position:120%;filter:none;opacity:1;-webkit-mask-image:linear-gradient(var(--ff-neutral-100) 0 0);-webkit-mask-image:linear-gradient(var(--ff-neutral-100) 0 0);mask-image:linear-gradient(var(--ff-neutral-100) 0 0)}}@keyframes element-digital-right{0%{--digital-position:120%;filter:contrast(1.28)saturate(1.12);opacity:.35}88%{--digital-position:-20%;filter:none;opacity:1}89%,to{--digital-position:-20%;filter:none;opacity:1;-webkit-mask-image:linear-gradient(var(--ff-neutral-100) 0 0);-webkit-mask-image:linear-gradient(var(--ff-neutral-100) 0 0);mask-image:linear-gradient(var(--ff-neutral-100) 0 0)}}@keyframes element-spray{0%{clip-path:polygon(0 0,4% 0,0 14%,18% 27%,0 41%,13% 56%,0 70%,9% 84%,0 100%);filter:blur(5px)saturate(1.9)contrast(1.35);opacity:.08}to{clip-path:polygon(0 0,100% 0,100% 14%,100% 27%,100% 41%,100% 56%,100% 70%,100% 84%,100% 100%);filter:none;opacity:1}}@keyframes element-sketch{0%{clip-path:inset(0 94% 0 0);filter:grayscale()contrast(3)brightness(1.35);opacity:.28;transform:rotate(calc(var(--element-rotation,0deg) - 1.5deg)) scale(.97)}62%{filter:grayscale()contrast(1.8);opacity:.82}to{clip-path:inset(0);filter:none;opacity:1;transform:rotate(var(--element-rotation,0deg)) scale(1)}}@keyframes element-gradient{0%{clip-path:inset(0 100% 0 0);filter:blur(14px)brightness(1.8)saturate(.4);opacity:.08}to{clip-path:inset(0);filter:none;opacity:1}}@keyframes element-reveal{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes element-reveal-right{0%{clip-path:inset(0 0 0 100%);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes element-reveal-bottom{0%{clip-path:inset(100% 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes element-fade{0%{opacity:0}to{opacity:1}}@keyframes element-blur{0%{filter:blur(14px);opacity:0}to{filter:blur();opacity:1}}@keyframes element-succession{0%{transform:rotate(var(--element-rotation,0deg)) translate(-14px, 10px);box-shadow:10px -7px 0 color-mix(in srgb, var(--ff-neutral-0) 44%, transparent), 20px -14px 0 color-mix(in srgb, var(--ff-neutral-62) 27%, transparent);opacity:0}72%{box-shadow:3px -2px 0 color-mix(in srgb, var(--ff-neutral-0) 13%, transparent), 6px -4px 0 color-mix(in srgb, var(--ff-neutral-62) 8%, transparent);opacity:1}to{transform:rotate(var(--element-rotation,0deg));box-shadow:none;opacity:1}}@keyframes element-scrapbook{0%{transform:rotate(calc(var(--element-rotation,0deg) - 8deg)) translate(-12px, 15px) scale(.9);box-shadow:7px 7px 0 var(--ff-neutral-0), 10px 10px 0 color-mix(in srgb, var(--ff-neutral-50) 40%, transparent);opacity:0}72%{transform:rotate(calc(var(--element-rotation,0deg) + 1.5deg)) scale(1.015);box-shadow:3px 3px 0 var(--ff-neutral-0), 5px 5px 0 color-mix(in srgb, var(--ff-neutral-50) 27%, transparent);opacity:1}to{transform:rotate(var(--element-rotation,0deg));box-shadow:none;opacity:1}}@keyframes element-old-tv{0%{clip-path:inset(49.5% 16%);filter:brightness(3.4)contrast(2.2)grayscale();opacity:.15;transform:rotate(var(--element-rotation,0deg)) scaleX(.62) scaleY(.02)}10%{clip-path:inset(49.5% 0);filter:brightness(4.2)contrast(2.5)grayscale();opacity:1;transform:rotate(var(--element-rotation,0deg)) scaleX(1.14) scaleY(.02)}28%{clip-path:inset(13% 0);filter:brightness(1.8)contrast(1.6)grayscale(.8);transform:rotate(var(--element-rotation,0deg)) scaleX(1.04) scaleY(.76)}42%{clip-path:inset(0);filter:brightness(1.25)contrast(1.3)grayscale(.35);transform:rotate(var(--element-rotation,0deg)) scaleX(.98) scaleY(1.04)}55%{filter:brightness(.82)contrast(1.2);transform:rotate(var(--element-rotation,0deg)) scaleX(1.01) scaleY(.98)}68%,to{clip-path:inset(0);filter:none;opacity:1;transform:rotate(var(--element-rotation,0deg)) scale(1)}}@keyframes element-chroma-wave{0%{filter:hue-rotate(-110deg)saturate(2.4)blur(3px);transform:rotate(var(--element-rotation,0deg)) translateX(-5px);opacity:0}55%{filter:hue-rotate(28deg)saturate(1.45)blur(.5px);transform:rotate(var(--element-rotation,0deg)) translateX(2px);opacity:1}to{filter:none;transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-neon{0%{filter:brightness(.25)saturate(.2)drop-shadow(0 0 #0000);opacity:0}45%{filter:brightness(1.7)saturate(1.8)drop-shadow(0 0 12px);opacity:1}66%{filter:brightness(.7)saturate(1.1)drop-shadow(0 0 3px)}78%{filter:brightness(1.25)drop-shadow(0 0 8px)}to{filter:none;opacity:1}}@keyframes element-flicker{0%,12%,28%{opacity:0;filter:brightness(.35)}8%,20%,35%{opacity:.8;filter:brightness(1.6)}42%{opacity:.25}55%,to{opacity:1;filter:none}}@keyframes element-tectonic{0%{transform:rotate(calc(var(--element-rotation,0deg) - 4deg)) translate(-8px, 5px);opacity:0}24%{transform:rotate(calc(var(--element-rotation,0deg) + 3deg)) translate(6px, -3px);opacity:.7}48%{transform:rotate(calc(var(--element-rotation,0deg) - 2deg)) translate(-4px, -1px);opacity:1}68%{transform:rotate(calc(var(--element-rotation,0deg) + 1deg)) translate(2px, 1px)}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-wiggle{0%{transform:rotate(calc(var(--element-rotation,0deg) - 9deg)) scale(.94);opacity:0}42%{transform:rotate(calc(var(--element-rotation,0deg) + 5deg));opacity:1}68%{transform:rotate(calc(var(--element-rotation,0deg) - 2.5deg))}84%{transform:rotate(calc(var(--element-rotation,0deg) + 1deg))}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-wiggle-right{0%{transform:rotate(calc(var(--element-rotation,0deg) + 9deg)) scale(.94);opacity:0}42%{transform:rotate(calc(var(--element-rotation,0deg) - 5deg));opacity:1}68%{transform:rotate(calc(var(--element-rotation,0deg) + 2.5deg))}84%{transform:rotate(calc(var(--element-rotation,0deg) - 1deg))}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-tumble{0%{transform:rotate(calc(var(--element-rotation,0deg) - 180deg)) translateY(-18px) scale(.7);opacity:0}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-tumble-right{0%{transform:rotate(calc(var(--element-rotation,0deg) + 180deg)) translateY(-18px) scale(.7);opacity:0}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-rotate{0%{transform:rotate(calc(var(--element-rotation,0deg) - 90deg)) scale(.9);opacity:0}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-rotate-right{0%{transform:rotate(calc(var(--element-rotation,0deg) + 90deg)) scale(.9);opacity:0}to{transform:rotate(var(--element-rotation,0deg));opacity:1}}@keyframes element-typewriter{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.editable-element.selected{outline:0}.editable-element.text{font-synthesis:weight}.editable-element.locked{cursor:default}.editable-element.locked.selected{outline:0}.element-lock-badge{z-index:24;width:27px;height:27px;color:var(--ff-primary);border:1px solid color-mix(in srgb, var(--ff-neutral-0) 60%, transparent);border-radius:var(--ff-radius-md);background:color-mix(in srgb, var(--ff-neutral-0) 95%, transparent);box-shadow:var(--ff-shadow-lift);place-items:center;display:grid;position:absolute;top:-32px;right:0}.canvas-status button{color:var(--ff-text-inverse);background:var(--ff-primary);box-shadow:var(--ff-shadow-float)}.element-context-menu{width:260px;padding:4px;display:grid}.element-context-menu .dropdown-item{min-height:34px;padding:4px 8px}.element-context-menu .action-menu-divider{margin-top:3px;padding-top:3px}.element-context-submenu{border-left:1px solid var(--ff-line);margin:2px 0 2px 14px;padding-left:6px;display:grid}.timeline-header .timeline-tool-button{width:26px;min-width:26px;height:26px;color:var(--ff-muted);border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface);box-shadow:var(--ff-shadow-sm);transition:color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease, transform var(--ff-duration-fast) ease;place-items:center;padding:0;display:grid}.timeline-tool-button:hover{color:var(--ff-selection);border-color:color-mix(in srgb, var(--ff-selection) 28%, var(--ff-line));background:color-mix(in srgb, var(--ff-selection) 10%, var(--ff-surface));box-shadow:var(--ff-shadow-sm);transform:translateY(-1px)}.timeline-tool-button[aria-pressed=true]{color:var(--ff-selection);border-color:color-mix(in srgb, var(--ff-selection) 35%, var(--ff-line));background:color-mix(in srgb, var(--ff-selection) 12%, var(--ff-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-selection) 8%, transparent)}.track-area{grid-template-rows:var(--timeline-ruler-height) minmax(0, 1fr);cursor:text;touch-action:none;height:100%;min-height:0;display:grid;position:relative;overflow:visible}.track-area.is-move{cursor:grabbing}.track-area.is-trim-start,.track-area.is-trim-end,.track-area.is-scrub{cursor:ew-resize}.time-ruler{z-index:2;color:var(--ff-muted);border-bottom:1px solid var(--ff-line);background:var(--ff-surface-strong);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums;padding:0;display:block;position:relative}.time-ruler span{box-sizing:border-box;align-items:flex-start;height:100%;padding-top:5px;line-height:1;display:flex;position:absolute;top:0;transform:translate(-50%)}.time-ruler span.edge-start{transform:none}.time-ruler span.edge-end{transform:translate(-100%)}.time-ruler span:after{content:"";border-left:1px solid color-mix(in srgb, var(--ff-neutral-62) 60%, transparent);height:8px;position:absolute;bottom:0;left:50%}.time-ruler span.edge-start:after{left:0}.time-ruler span.edge-end:after{left:100%}.timeline-ruler-tick{border-left:1px solid color-mix(in srgb, var(--ff-neutral-62) 40%, transparent);pointer-events:none;width:0;position:absolute;bottom:0}.timeline-ruler-tick.minor{height:4px}.timeline-gridline{top:var(--timeline-ruler-height);z-index:0;border-left:1px solid color-mix(in srgb, var(--ff-neutral-62) 11%, transparent);pointer-events:none;width:0;position:absolute;bottom:0}.timeline-composition{contain:layout paint;background:var(--ff-surface-strong);min-width:0;min-height:0;position:relative;overflow:hidden auto}.studio-shell .timeline-composition{scrollbar-width:none}.studio-shell .timeline-composition::-webkit-scrollbar{width:0;height:0}.timeline-drop-placeholder{z-index:7;box-sizing:border-box;min-width:18px;height:32px;color:var(--ff-primary);border-radius:var(--ff-radius-3xl);background:color-mix(in srgb, var(--ff-accent) 24%, var(--ff-surface-strong));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--ff-accent) 65%, transparent), var(--ff-shadow-sm);pointer-events:none;place-items:center;display:grid;position:absolute}.timeline-drop-placeholder.background{border-radius:var(--ff-radius-2xl);background:color-mix(in srgb, var(--ff-accent) 18%, var(--ff-surface-strong));height:64px}.timeline-drop-track-line{z-index:8;background:var(--ff-accent);height:2px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent), 0 2px 7px color-mix(in srgb, var(--ff-accent) 30%, transparent);pointer-events:none;border-radius:1px;position:absolute;left:0;right:8px}.timeline-drop-track-line:before{border-radius:var(--ff-radius-round);content:"";background:var(--ff-accent);width:8px;height:8px;position:absolute;top:50%;left:0;transform:translate(-1px,-50%)}.timeline-lane-grid{z-index:1;pointer-events:none;min-height:100%;box-shadow:inset 0 1px color-mix(in srgb, var(--ff-neutral-0) 50%, transparent), inset 0 -1px color-mix(in srgb, var(--ff-neutral-0) 50%, transparent);position:relative}.timeline-track-lane{z-index:1;box-sizing:border-box;border-radius:var(--ff-radius-xs);background:var(--ff-surface-muted);pointer-events:none;height:32px;position:absolute;left:0;right:4px}.timeline-composition .element-clip{z-index:2}.element-clip{box-sizing:border-box;min-width:0;height:32px;color:var(--ff-primary);border-radius:var(--ff-radius-lg);background:var(--ff-neutral-38);cursor:move;touch-action:none;align-items:center;gap:6px;padding:0 8px;display:flex;position:absolute;overflow:hidden}.element-clip:hover{background:var(--ff-neutral-50)}.element-clip:active{border-color:var(--ff-selection);box-shadow:inset 0 0 0 1px var(--ff-selection)}.element-clip.selected{z-index:3;background:var(--ff-neutral-38)}.element-clip.is-move{z-index:4;cursor:grabbing;border-color:var(--ff-accent);box-shadow:0 5px 14px color-mix(in srgb, var(--ff-primary) 14%, transparent), 0 0 0 2px color-mix(in srgb, var(--ff-accent) 15%, transparent)}.element-clip.is-trim-start,.element-clip.is-trim-end{z-index:4;cursor:ew-resize}.element-clip.is-move,.element-clip.is-trim-start,.element-clip.is-trim-end{will-change:top, left, width}.element-clip.locked{cursor:default;opacity:.82}.element-clip.locked .clip-trim-handle{display:none}.element-clip>svg,.element-clip>span,.element-clip>small{pointer-events:none}.timeline-clip-content{pointer-events:none;flex:1;min-width:0;height:100%;overflow:hidden}.clip-mosaic{background-position:0;background-repeat:repeat-x;background-size:36px 100%;margin:0 -8px}.clip-video{color:var(--ff-on-accent);background:var(--ff-neutral-86);place-items:center;margin:0 -8px;display:grid;position:relative}.clip-video :is(video,img){object-fit:cover;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.clip-video svg{filter:drop-shadow(0 1px 2px var(--ff-neutral-100));position:relative}.clip-text{box-sizing:border-box;color:var(--ff-on-accent);font-size:var(--ff-text-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap;place-items:center;padding:0 2px;display:grid;overflow:hidden}.clip-shape{color:var(--ff-on-accent);border-radius:var(--ff-radius-lg);place-items:center;margin:2px -5px;display:grid}.clip-trim-handle{z-index:5;opacity:0;cursor:ew-resize;width:9px;transition:opacity var(--ff-duration-fast);border-radius:3px;position:absolute;top:2px;bottom:2px}.clip-trim-handle.start{left:0}.clip-trim-handle.end{right:0}.clip-trim-handle:after{content:"";background:var(--ff-surface-raised);border-radius:1px;width:2px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.element-clip:hover .clip-trim-handle,.element-clip.selected .clip-trim-handle,.element-clip.is-trim-start .clip-trim-handle,.element-clip.is-trim-end .clip-trim-handle,.timeline-background-segment:hover .clip-trim-handle,.timeline-background-segment.selected .clip-trim-handle{opacity:1}.timeline-playhead{z-index:8;cursor:ew-resize;pointer-events:auto;touch-action:none;will-change:transform;background:0 0;border:0;outline:0;width:18px;margin-left:-9px;position:absolute;top:0;bottom:0;left:0;transform:translate(0,0)}.timeline-playhead:after{content:"";border-left:1px solid var(--ff-ink);position:absolute;top:12px;bottom:0;left:50%;transform:translate(-.5px)}.timeline-playhead i{border-radius:var(--ff-radius-round);background:var(--ff-ink);width:12px;height:12px;box-shadow:var(--ff-shadow-sm);transform-origin:50%;margin:0;display:block;position:absolute;top:6px;left:50%;transform:translate(-50%)}.timeline-playhead:hover i,.timeline-playhead.dragging i{transform:translate(-50%)scale(1.15)}.timeline-snap-guide{top:var(--timeline-ruler-height);z-index:9;border-left:1px dashed var(--ff-selection);pointer-events:none;width:0;position:absolute;bottom:0}.timeline-snap-guide span{color:var(--ff-text-inverse);border-radius:var(--ff-radius-xs);background:var(--ff-selection);font-size:var(--ff-text-3xs);font-variant-numeric:tabular-nums;white-space:nowrap;padding:3px 5px;position:absolute;top:-25px;left:5px}.timeline-zoom-readout{z-index:10;box-sizing:border-box;height:26px;color:var(--ff-ink);border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-canvas) 90%, transparent);box-shadow:var(--ff-shadow-sm);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums;font-weight:var(--ff-weight-semibold);text-align:center;grid-template-columns:26px 44px 26px;align-items:center;line-height:1;display:grid;position:absolute;bottom:8px;right:10px;overflow:hidden}.timeline-zoom-readout button{width:26px;height:26px;color:var(--ff-muted);background:0 0;border:0;border-radius:0;outline:none;place-items:center;padding:0;display:grid}.timeline-zoom-readout button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.timeline-zoom-readout button:focus{outline:none}.timeline-zoom-readout output{pointer-events:none;min-width:0}:root{--studio-projects-background:radial-gradient(circle at 10% 8%, var(--ff-ambient-blue) 0, transparent 34%), radial-gradient(circle at 88% 14%, var(--ff-ambient-pink) 0, transparent 32%), radial-gradient(circle at 54% 96%, var(--ff-ambient-green) 0, transparent 38%), linear-gradient(135deg, var(--ff-neutral-2) 0%, var(--ff-ambient-warm) 50%, var(--ff-neutral-4) 100%)}.projects-view{background:linear-gradient(180deg, var(--ff-surface-subtle), var(--ff-canvas) 55%);--page-header-height:72px;background-image:none}.projects-view>.page-with-rail>.page-rail-content{background:var(--studio-projects-background)}.projects-header{background:var(--ff-surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:72px;box-shadow:var(--ff-shadow-sm);padding:0 32px}.projects-header .studio-brand{font-size:var(--ff-text-xl);font-weight:var(--ff-weight-semibold)}.projects-header .studio-brand span{width:36px;height:36px}.projects-actions{gap:12px}.account-button{border-radius:var(--ff-radius-lg);height:42px;font-size:var(--ff-text-md);font-weight:var(--ff-weight-medium);gap:9px;padding:4px 12px 4px 4px}.account-button img{width:34px;height:34px}.login-header{height:88px}.login-mark{font-size:var(--ff-text-xl)}.login-mark span{width:36px;height:36px}.login-status{font-size:var(--ff-text-sm)}.new-project-card,.project-card{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-3xl);box-shadow:var(--ff-shadow-card);transition:transform var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease, background var(--ff-duration-base) ease}.new-project-card:hover,.project-card:hover{box-shadow:var(--ff-shadow-float);transform:translateY(-3px)}.new-project-card:hover{background:var(--ff-surface-hover)}.project-preview{box-shadow:none;border:0;border-radius:0}.project-preview>img{transition:transform .4s}.project-card:hover .project-preview>img{transform:scale(1.05)}.project-name-row{align-items:center;gap:7px;min-width:0;display:flex}.project-name-row>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-name-row .project-type-icon{color:var(--ff-accent);flex:none}.home-hero{text-align:center;flex-direction:column;align-items:center;margin:24px 0 44px;padding:26px 0 10px;display:flex}.home-eyebrow{color:var(--ff-accent);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:1.4px}.home-title{font-family:var(--ff-font-serif);font-size:clamp(32px,4.4vw,50px);font-weight:var(--ff-weight-regular);margin:10px 0 24px;line-height:1.05}.home-search{z-index:5;width:min(680px,100%);position:relative}.home-prompt{border-radius:var(--ff-radius-2xl);background:var(--ff-surface-raised);width:100%;height:58px;box-shadow:var(--ff-shadow-sm);transition:border-color var(--ff-duration-base), box-shadow var(--ff-duration-base);border:0;align-items:center;gap:12px;padding:0 8px 0 18px;display:flex}.home-prompt:hover{border-color:var(--ff-accent);box-shadow:var(--ff-shadow-float)}.home-prompt>svg{color:var(--ff-accent);flex:none}.home-prompt>input{min-width:0;height:100%;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-lg);background:0 0;border:0;outline:0;flex:1}.home-prompt>input::placeholder{color:var(--ff-faint)}.home-prompt>input::-webkit-search-cancel-button{cursor:pointer}.home-prompt-cta{border-radius:var(--ff-radius-lg);height:42px;color:var(--ff-text-inverse);background:var(--ff-primary);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);flex:none;align-items:center;gap:6px;padding:0 16px;font-style:normal;display:inline-flex}.home-prompt-cta:hover{background:var(--ff-accent)}.home-format-results{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xl);background:var(--ff-surface-solid);width:100%;max-height:360px;box-shadow:var(--ff-shadow-float);text-align:left;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.home-format-result{border-radius:var(--ff-radius-md);width:100%;min-height:52px;color:var(--ff-ink);text-align:left;grid-template-columns:22px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:7px 10px;display:grid}.home-format-result:hover{background:var(--ff-surface-hover)}.home-format-result>svg:first-child{color:var(--ff-faint)}.home-format-result>svg:last-child{color:var(--ff-accent);justify-self:center}.home-format-result span{gap:3px;min-width:0;display:grid}.home-format-result strong{font-size:var(--ff-text-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-format-result small{color:var(--ff-muted);font-size:var(--ff-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-quick-start{flex-wrap:wrap;justify-content:center;gap:2px;width:100%;margin-top:30px;display:flex}.home-format-empty{color:var(--ff-faint);font-size:var(--ff-text-md);text-align:center;margin:0;padding:18px 12px}.quick-start-card{border-radius:var(--ff-radius-sm);text-align:center;background:0 0;border:0;flex-direction:column;flex:0 92px;justify-content:center;align-items:center;gap:7px;width:92px;min-width:0;min-height:82px;padding:8px 4px;display:flex}.quick-start-icon{border-radius:var(--ff-radius-md);width:48px;height:48px;transition:background-color var(--ff-duration-base) ease;background:0 0;place-items:center;display:grid}.quick-start-card:hover .quick-start-icon{background:var(--ff-surface-hover)}.quick-start-icon>svg{width:44px;height:44px;overflow:visible}.format-frame{fill:color-mix(in srgb, var(--preset-accent) 13%, white)}.format-logo{color:var(--preset-accent)}.quick-start-text{width:100%;min-width:0}.quick-start-text strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.home-workspaces,.home-projects,.home-templates{margin-bottom:44px}.home-workspace-heading{margin-bottom:18px}.home-templates .preset-card{border-radius:var(--ff-radius-md)}.home-templates .preset-visual{border-radius:var(--ff-radius-sm)}.home-recent-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.home-recent-heading span{color:var(--ff-accent);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:1.2px}.home-recent-heading h2{font-family:var(--ff-font-serif);font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-regular);margin:4px 0 0}.home-see-all{border-radius:var(--ff-radius-lg);height:36px;color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);cursor:pointer;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}:is(.home-see-all,.home-editor-pill){border:1px solid var(--ff-card-border);will-change:transform;backface-visibility:hidden;background:#fff;transition:transform .5s cubic-bezier(.33,1,.68,1),border-color .5s;position:relative;box-shadow:0 1px 2px #0f172a0d}:is(.home-see-all,.home-editor-pill):after{content:"";z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.33,1,.68,1);position:absolute;inset:0;box-shadow:0 16px 32px -14px #0f172a4d}:is(.home-see-all,.home-editor-pill):hover{border-color:color-mix(in srgb, var(--ff-ink) 14%, transparent);transform:translateY(-3px)}:is(.home-see-all,.home-editor-pill):hover:after{opacity:1}.project-grid.home-masonry,.preset-grid.home-masonry{column-width:240px;column-gap:14px;display:block}.home-workspaces .project-grid.home-masonry{column-width:auto;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.home-workspaces .home-masonry>.project-card{aspect-ratio:var(--project-ratio);margin:0}.home-workspace-create-card{aspect-ratio:16/9;min-width:0;color:var(--ff-muted);border:1px dashed color-mix(in srgb, var(--ff-accent) 35%, var(--ff-line));border-radius:var(--ff-radius-md);background:color-mix(in srgb, var(--ff-surface-solid) 68%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:color var(--ff-duration-base) ease, border-color var(--ff-duration-base) ease, background var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease, transform var(--ff-duration-base) ease;place-content:center;justify-items:center;gap:13px;padding:20px;display:grid}.home-workspace-create-card:hover{color:var(--ff-primary);border-color:color-mix(in srgb, var(--ff-accent) 70%, var(--ff-line));background:color-mix(in srgb, var(--ff-surface-solid) 88%, transparent);box-shadow:var(--ff-shadow-sm);transform:translateY(-2px)}.home-workspace-create-card>i{border-radius:var(--ff-radius-2xl);background:color-mix(in srgb, var(--ff-accent) 12%, var(--ff-surface-solid));place-items:center;width:46px;height:46px;font-style:normal;display:grid}.home-workspace-create-card>span{text-align:center;gap:4px;display:grid}.home-workspace-create-card strong{color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold)}.home-workspace-create-card small{color:var(--ff-faint);font-size:var(--ff-text-2xs)}.home-projects .project-grid.home-masonry{column-width:180px}.home-prompt{align-items:center;gap:12px;max-width:760px;margin:4px auto 36px;display:flex}.home-wordmark{justify-content:center;margin:-12px 0 32px;display:flex}.home-wordmark .handwritten-wordmark{width:168px;height:auto}.home-prompt input{min-width:0;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex:1;padding:14px 2px;font-size:17px}.home-prompt input::placeholder{color:#8a8a8e}.home-prompt button{color:#fff;cursor:pointer;background:#1d1d1f;border:0;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.home-prompt button:disabled{cursor:default;background:#c7c7cc}.home-editor-pills{flex-wrap:wrap;gap:8px;margin:-6px 0 18px;display:flex}.home-editor-pill{height:32px;color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);border-radius:var(--ff-radius-pill);cursor:pointer;align-items:center;gap:7px;padding:0 8px 0 12px;display:inline-flex}.home-editor-pill>svg:first-child{color:var(--ff-muted)}.home-editor-pill-plus{border-radius:var(--ff-radius-round);width:20px;height:20px;color:var(--ff-primary);background:color-mix(in srgb, var(--ff-accent) 12%, var(--ff-surface-solid));padding:3px;transition:color .5s,background .5s}.home-editor-pill:hover>svg:first-child{color:var(--ff-primary)}.home-editor-pill:hover .home-editor-pill-plus{color:var(--ff-on-accent);background:var(--ff-accent)}.home-templates .project-grid.home-masonry{column-width:200px}.home-masonry>.preset-card,.home-masonry>.project-card{break-inside:avoid;width:100%;margin:0 0 14px;display:inline-flex}.workspace-template-grid.home-masonry .preset-visual{height:auto;max-height:none;aspect-ratio:var(--preset-ratio)}.home-masonry .project-card{min-height:0;aspect-ratio:var(--project-ratio);vertical-align:top;border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-2xl);box-shadow:var(--ff-shadow-card);display:block;overflow:hidden}.home-masonry .project-card:hover{box-shadow:var(--ff-shadow-float)}.home-masonry .project-preview{aspect-ratio:auto;width:100%;height:100%;position:absolute;inset:0}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card{border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-card);border:0;overflow:hidden;transform:none}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card:hover{background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm);transform:none}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-preview{box-shadow:none;border:0;border-radius:0}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card>.project-description{z-index:2;min-height:0;color:var(--ff-on-accent);background:linear-gradient(transparent, color-mix(in srgb, var(--ff-neutral-100) 85%, transparent));pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:28px 11px 10px;position:absolute;bottom:0;left:0;right:0}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card>.project-description:after{display:none}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card .project-name-row{gap:6px}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card .project-name-row .project-type-icon{width:12px;height:12px;color:var(--ff-on-accent)}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card .project-name-row strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card>.project-description>span{color:color-mix(in srgb, var(--ff-neutral-0) 78%, transparent);font-size:var(--ff-text-2xs);margin-top:3px}.home-masonry .project-card .project-card-name-input{border-radius:var(--ff-radius-xs);color:var(--ff-on-accent);background:color-mix(in srgb, var(--ff-neutral-100) 65%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-neutral-0) 35%, transparent);border:0;margin:-2px -5px;padding:2px 5px}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card>.project-card-actions{z-index:3;color:var(--ff-on-accent);background:color-mix(in srgb, var(--ff-neutral-100) 53%, transparent);opacity:0;transition:opacity var(--ff-duration-base) ease, background var(--ff-duration-base) ease;top:8px;bottom:auto}:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card:hover>.project-card-actions,:is(.home-workspaces,.home-projects,.home-templates) .home-masonry .project-card:focus-within>.project-card-actions{opacity:1}.home-masonry .template-project-card>.custom-template-delete{z-index:3;color:var(--ff-on-accent);background:color-mix(in srgb, var(--ff-neutral-100) 53%, transparent);opacity:0;transition:opacity var(--ff-duration-base) ease, background var(--ff-duration-base) ease;top:8px;bottom:auto}.home-masonry .template-project-card:hover>.custom-template-delete,.home-masonry .template-project-card:focus-within>.custom-template-delete{opacity:1}.project-preview-placeholder{color:color-mix(in srgb, var(--ff-muted) 72%, transparent);place-items:center;gap:7px;display:grid}.project-preview-placeholder small{color:inherit;font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);margin:0}.project-preview.is-placeholder{color:var(--ff-muted);background-image:linear-gradient(135deg, transparent 0 48%, var(--ff-neutral-10) 48% 52%, transparent 52%), radial-gradient(circle at 18% 20%, var(--ff-neutral-0) 0 2px, transparent 3px);background-size:28px 28px,22px 22px;background-color:var(--ff-neutral-7)!important}.home-empty{min-height:200px;color:var(--ff-faint);border:1px dashed var(--ff-line);border-radius:var(--ff-radius-3xl);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.home-empty strong{color:var(--ff-neutral-74);font-size:var(--ff-text-base)}.home-empty span{font-size:var(--ff-text-sm)}.studio-rail .rail-create{color:var(--ff-text-inverse);background:var(--ff-primary);box-shadow:var(--ff-shadow-float);margin-bottom:10px}.home-navigation .rail-fill{min-height:24px}.workspace-template-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.create-header-actions>button:first-child{border-radius:var(--ff-radius-md);height:34px;color:var(--ff-neutral-74);font-size:var(--ff-text-xs);align-items:center;gap:7px;padding:0 11px;display:flex}@media (width<=760px){.home-prompt{grid-template-columns:auto minmax(0,1fr);height:auto;padding:8px 10px 8px 14px;display:grid}.home-prompt>input{height:42px}.home-prompt-cta{grid-column:1/-1;justify-content:center;width:100%}.create-header{padding:0 14px}.create-header-actions .account-button span{display:none}}.login-shell{min-height:100vh;color:var(--ff-on-accent);background:var(--ff-neutral-100);display:block;position:relative;overflow:hidden}.login-backdrop,.login-shade{width:100%;height:100%;position:absolute;inset:0}.login-backdrop{object-fit:cover;opacity:.72}.login-shade{background:linear-gradient(90deg, color-mix(in srgb, var(--ff-neutral-100) 95%, transparent) 0%, color-mix(in srgb, var(--ff-neutral-100) 78%, transparent) 48%, color-mix(in srgb, var(--ff-neutral-100) 35%, transparent) 100%)}.login-header{z-index:2;justify-content:space-between;align-items:center;height:88px;padding:0 48px;display:flex;position:relative}.login-mark{font-family:var(--ff-font-sans);font-size:var(--ff-text-2xl);align-items:center;gap:10px;display:flex}.login-mark span{border-radius:var(--ff-radius-lg);width:38px;height:38px;color:var(--ff-primary);background:var(--ff-palette-secondary);place-items:center;display:grid}.login-mark span svg{width:20px;height:20px}.login-status{color:color-mix(in srgb, var(--ff-neutral-4) 80%, transparent);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium);text-transform:uppercase;align-items:center;gap:7px;display:flex}.login-hero{z-index:2;grid-template-columns:minmax(390px,.8fr) minmax(520px,1.2fr);align-items:center;gap:7vw;min-height:calc(100vh - 76px);padding:40px 7vw 120px;display:grid;position:relative}.login-copy{align-self:center}.login-copy h1{font-family:var(--ff-font-sans);font-size:clamp(54px,6vw,92px);font-weight:var(--ff-weight-regular);margin:17px 0 20px;line-height:.98}.login-copy>p{max-width:530px;color:color-mix(in srgb, var(--ff-neutral-4) 70%, transparent);font-size:var(--ff-text-base);line-height:1.7}.login-capabilities span{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 10%, transparent);border-radius:var(--ff-radius-lg);height:34px;color:color-mix(in srgb, var(--ff-neutral-4) 80%, transparent);background:color-mix(in srgb, var(--ff-neutral-0) 5%, transparent);font-size:var(--ff-text-2xs);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:7px;padding:0 12px;display:flex}.login-workbench{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 15%, transparent);border-radius:var(--ff-radius-3xl);background:color-mix(in srgb, var(--ff-neutral-0) 8%, transparent);box-shadow:var(--ff-shadow-modal);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;transform:perspective(1200px)rotateY(-4deg)}.workbench-toolbar{border-bottom:1px solid color-mix(in srgb, var(--ff-neutral-0) 10%, transparent);height:42px;color:color-mix(in srgb, var(--ff-neutral-4) 60%, transparent);font-size:var(--ff-text-3xs);grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px;display:grid}.workbench-toolbar small{justify-self:end}.workbench-canvas{aspect-ratio:16/8;background:linear-gradient(135deg, color-mix(in srgb, var(--ff-primary) 80%, transparent), color-mix(in srgb, var(--ff-accent) 80%, transparent), color-mix(in srgb, var(--ff-accent-secondary) 80%, transparent));flex-direction:column;justify-content:flex-end;padding:30px;display:flex;position:relative}.workbench-canvas span{color:color-mix(in srgb, var(--ff-highlight) 32%, white);font-size:var(--ff-text-3xs)}.workbench-canvas strong{font-family:var(--ff-font-sans);font-size:clamp(24px,3vw,46px);font-weight:var(--ff-weight-regular);margin-top:10px;line-height:1}.workbench-focus{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 60%, transparent);position:absolute;inset:20% 17% 18% 42%}.workbench-timeline{height:74px;color:color-mix(in srgb, var(--ff-neutral-0) 50%, transparent);font-size:var(--ff-text-3xs);grid-template-rows:1fr 1fr;grid-template-columns:45px 1.3fr .8fr 1fr;align-items:center;gap:5px;padding:9px 12px;display:grid;position:relative}.workbench-timeline i,.workbench-timeline b{border-radius:var(--ff-radius-xs);background:color-mix(in srgb, var(--ff-neutral-0) 12%, transparent);height:20px}.workbench-timeline i:first-of-type{background:var(--ff-accent-secondary)}.login-panel{z-index:3;border:1px solid color-mix(in srgb, var(--ff-neutral-0) 60%, transparent);border-radius:var(--ff-radius-3xl);width:min(390px,100% - 40px);min-height:0;color:var(--ff-neutral-100);background:color-mix(in srgb, var(--ff-neutral-0) 85%, transparent);box-shadow:var(--ff-shadow-float);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:1fr auto;align-items:center;gap:13px 18px;padding:18px;display:grid;position:absolute;bottom:28px;right:6vw}.login-panel>div{width:auto;margin:0}.login-panel-heading span{color:var(--ff-accent);font-size:var(--ff-text-3xs);text-transform:uppercase}.login-panel-heading h2{font-family:var(--ff-font-sans);font-size:var(--ff-text-xl);font-weight:var(--ff-weight-regular);margin:3px 0 0}.login-panel>small{color:var(--ff-muted);font-size:var(--ff-text-3xs);text-align:left;grid-column:1/-1}.connect-button{border-radius:var(--ff-radius-md);width:200px;min-height:40px;overflow:hidden}.login-config{grid-column:1/-1}@media (width<=1120px){.login-hero{grid-template-columns:1fr 1fr;gap:4vw;padding-inline:5vw}}@media (width<=820px){.login-header{padding:0 24px}.login-hero{flex-direction:column;justify-content:center;align-items:stretch;padding:35px 24px 160px;display:flex}.login-workbench{transform:none}.login-panel{width:auto;bottom:18px;left:20px;right:20px}}.create-view{min-height:100vh;color:var(--ff-ink);background:var(--ff-canvas);--page-header-height:68px}.studio-rail .rail-create.active{color:var(--ff-text-inverse);background:var(--ff-primary);box-shadow:var(--ff-shadow-float)}.create-header{border-bottom:1px solid var(--ff-line);background:var(--ff-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;height:68px;padding:0 32px;display:flex}.create-header-actions{align-items:center;gap:10px;display:flex}.create-header-actions>button:first-child{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface);height:36px;font-size:var(--ff-text-xs);align-items:center;gap:7px;padding:0 12px;display:flex}.create-header-actions>button:first-child:hover{background:var(--ff-surface-hover)}.studio-panel.panel-create{z-index:60;box-sizing:border-box;scrollbar-width:none;border-radius:0 var(--ff-radius-4xl) var(--ff-radius-4xl) 0;width:312px;height:calc(100vh - 16px);color:var(--ff-ink);background:var(--ff-surface-raised);box-shadow:none;border:0;flex-direction:column;margin:0;padding:18px;display:flex;position:fixed;top:8px;left:66px;overflow-y:auto}.studio-panel.panel-create::-webkit-scrollbar{display:none}body:has(.studio-panel.panel-create) .studio-workspace>.studio-rail.editor-navigation{border-radius:var(--ff-radius-4xl) 0 0 var(--ff-radius-4xl)}.create-toolbar{gap:14px;display:grid}.create-modal-backdrop{z-index:220;background:color-mix(in srgb, var(--ff-neutral-100) 40%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:create-backdrop-in var(--ff-duration-base) ease-out;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.create-modal{border:1px solid var(--ff-line);width:min(880px,100%);max-height:min(780px,100vh - 48px);color:var(--ff-ink);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-modal);--ff-ease-out:cubic-bezier(.2, .8, .2, 1);animation:create-modal-in var(--ff-duration-slow) var(--ff-ease-out);border-radius:24px;flex-direction:column;display:flex;overflow:hidden}.create-modal-header{flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 28px 18px 32px;display:flex}.create-modal-header h2{font-family:var(--ff-font-sans);font-size:var(--ff-text-3xl);font-weight:var(--ff-weight-semibold);letter-spacing:-.01em;margin:0;line-height:1.15}.create-modal-header p{color:var(--ff-muted);font-size:var(--ff-text-base);margin:6px 0 0}.create-modal-close{border-radius:var(--ff-radius-lg);width:36px;height:36px;color:var(--ff-ink);background:var(--ff-surface-hover);cursor:pointer;border:0;flex:none;place-items:center;padding:0;display:grid}.create-modal-close:hover{background:var(--ff-line)}.create-modal-body{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ff-muted) 35%, transparent) transparent;flex:1;min-height:0;padding:0 32px 32px;overflow-y:auto}.create-modal .create-browser{gap:18px}.create-modal .create-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.create-modal .create-toolbar .panel-search-bar{height:44px}.create-modal .create-toolbar .panel-actions{grid-template-columns:auto auto}.create-modal .create-toolbar .panel-action{height:44px;padding:0 16px}.create-modal .panel-browser-body{gap:26px}.create-modal .create-starter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.create-modal .create-starter-grid>button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-2xl);background:var(--ff-surface-solid);text-align:left;transition:border-color var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease, transform var(--ff-duration-base) var(--ff-ease-out);grid-template-rows:auto auto;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:2px 12px;padding:12px;display:grid}.create-modal .create-starter-grid>button>span{border-radius:var(--ff-radius-xl);grid-row:1/3;width:44px}.create-modal .create-starter-grid>button>strong{font-size:var(--ff-text-base);align-self:end}.create-modal .create-starter-grid>button>small{color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium);text-overflow:ellipsis;white-space:nowrap;align-self:start;display:block;overflow:hidden}.create-modal .create-starter-grid>button:hover{border-color:color-mix(in srgb, var(--ff-ink) 18%, var(--ff-line));box-shadow:var(--ff-shadow-card);transform:translateY(-2px)}.create-modal .create-starter-grid>button:hover>span{background:var(--ff-surface-subtle);box-shadow:none;border-color:#0000;transform:none}.create-modal .create-starter-grid>button:focus-visible{box-shadow:0 0 0 2px var(--ff-surface-solid), 0 0 0 4px var(--ff-accent)}.create-modal .create-format-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;margin:0 -4px;display:grid}.create-starter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.create-starter-grid>button{min-width:0;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);cursor:pointer;animation:panel-tile-in var(--ff-duration-slow) var(--ff-ease-out) both;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0 0 2px;display:flex}.create-starter-grid>button>span{aspect-ratio:1;box-sizing:border-box;border-radius:var(--ff-radius-lg);width:100%;color:var(--ff-ink);background:var(--ff-surface-subtle);transition:background-color var(--ff-duration-base) ease, border-color var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease, transform var(--ff-duration-base) var(--ff-ease-out);border:1px solid #0000;place-items:center;display:grid}.create-starter-grid>button:hover>span{border-color:var(--ff-line);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-lift);transform:translateY(-2px)}.create-starter-grid>button:active>span{transition-duration:var(--ff-duration-fast);transform:scale(.96)}.create-starter-grid>button:focus-visible{outline:none}.create-starter-grid>button>strong{font-weight:inherit}.create-starter-grid>button>small{display:none}.create-starter-grid>button:focus-visible>span{box-shadow:0 0 0 2px var(--ff-surface-solid), 0 0 0 4px var(--ff-accent)}.create-format-list{flex-direction:column;gap:2px;margin:0 -6px;display:flex}.create-format-row{border-radius:var(--ff-radius-lg);min-width:0;height:44px;color:var(--ff-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--ff-duration-fast) ease;background:0 0;border:0;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 8px 0 4px;display:grid}.create-format-row:hover,.create-format-row:focus-visible{background:var(--ff-surface-subtle);outline:none}.create-format-row:active{transform:scale(.99)}.create-format-thumb{border-radius:var(--ff-radius-md);background:var(--ff-surface-subtle);width:36px;height:36px;transition:background-color var(--ff-duration-fast) ease;place-items:center;display:grid}.create-format-row:hover .create-format-thumb{background:var(--ff-surface-solid)}.create-format-thumb>span{box-sizing:border-box;border:1.5px solid var(--ff-ink);border-radius:var(--ff-radius-xs);color:var(--ff-ink);background:#fff;place-items:center;display:grid}.create-format-row strong{font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.create-format-row small{color:var(--ff-muted);font-size:var(--ff-text-sm);font-variant-numeric:tabular-nums}.create-custom-size{border-radius:var(--ff-radius-xl);background:var(--ff-surface-subtle);animation:panel-pop var(--ff-duration-base) var(--ff-ease-out);grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;display:grid}.create-custom-size label{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);min-width:0;height:34px;color:var(--ff-muted);background:var(--ff-surface-solid);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-bold);align-items:center;gap:6px;padding:0 8px;display:flex}.create-custom-size label:focus-within{border-color:var(--ff-accent);box-shadow:0 0 0 3px var(--ff-accent-soft)}.create-custom-size input{width:100%;min-width:0;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-base);font-weight:var(--ff-weight-medium);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0}.create-custom-size>button[type=button]{border-radius:var(--ff-radius-md);width:28px;height:28px;color:var(--ff-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.create-custom-size>button[type=button]:hover{color:var(--ff-ink);background:var(--ff-surface-solid)}.create-custom-size>.panel-action{height:34px;padding:0 12px}@keyframes create-backdrop-in{0%{opacity:0}}@keyframes create-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@media (width<=760px){.create-modal-backdrop{padding:0}.create-modal{border:0;border-radius:0;width:100%;height:100%;max-height:none}.create-modal .create-toolbar{grid-template-columns:1fr}.create-modal .create-starter-grid,.create-modal .create-format-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1120px){.studio-brand.compact{min-width:32px;font-size:0}.project-title{width:min(190px,22vw)}.save-indicator span{display:none}}@media (width<=900px){.studio-topbar .share-action,.studio-topbar .export-action{width:40px;padding:0}.studio-topbar .share-action span,.studio-topbar .export-action span{display:none}}@media (width<=760px){.login-header{height:72px}.projects-view{--page-header-height:64px}.projects-header{height:64px;padding:0 16px}.account-button{width:42px;padding:4px}.account-button span{display:none}}.studio-rail{padding:12px 8px}.studio-rail button,.studio-rail>a{gap:5px;width:68px;height:62px;margin-bottom:5px}.studio-rail>button>.rail-label,.studio-rail>a>.rail-label{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium)}.panel-title{border-bottom:1px solid var(--ff-line);min-height:0;margin:0 -4px 20px;padding:2px 42px 17px 4px}.mini-heading,.projects-heading span{font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.panel-title h2{font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-semibold);margin-top:5px;line-height:1.1}.director-copy{font-size:var(--ff-text-md);margin-bottom:14px;line-height:1.55}.studio-agents{gap:6px;margin-bottom:12px;padding:10px}.studio-agent{min-height:32px;font-size:var(--ff-text-sm);grid-template-columns:22px 1fr 18px}.mini-heading{margin:12px 0 8px}.source-list{gap:6px}.source-list a{max-width:135px;font-size:var(--ff-text-xs);padding:6px 8px}.scene-list>button{grid-template-columns:5px 1fr 18px;gap:9px;min-height:48px;padding:8px 6px}.scene-list strong{font-size:var(--ff-text-sm)}.scene-list small{font-size:var(--ff-text-xs)}.target-switch button{height:38px;font-size:var(--ff-text-sm)}.layer-generator>div:last-child{grid-template-columns:1fr 40px;gap:6px;margin-top:7px}.layer-generator input{height:42px;font-size:var(--ff-text-sm);padding:0 11px}.director-composer textarea{height:78px;font-size:var(--ff-text-md);padding:11px}.director-composer>div{padding:5px 7px 7px}.director-composer>div span{font-size:var(--ff-text-xs)}.director-composer>div button{width:36px;height:36px}.upload-media{height:44px;font-size:var(--ff-text-md)}.upload-media svg{width:20px;height:20px}.media-grid{column-gap:12px;margin-top:16px}.media-empty strong{font-size:var(--ff-text-md)}.media-empty span{font-size:var(--ff-text-xs)}.element-buttons{gap:10px}.element-buttons button{gap:9px;min-height:94px}.element-buttons svg{width:28px;height:28px}.element-buttons span{font-size:var(--ff-text-xs);font-weight:var(--ff-weight-medium)}.layer-list{gap:7px}.layer-row{grid-template-columns:18px 36px minmax(0,1fr) auto 18px;gap:9px;height:56px;padding:0 10px}.layer-type{width:34px;height:34px}.layer-list strong{font-size:var(--ff-text-sm)}.layer-list small{font-size:var(--ff-text-xs)}.layer-actions button{width:32px;height:32px}.template-grid{gap:12px}.template-grid button{padding:10px}.template-grid>button>strong{font-size:var(--ff-text-sm)}.template-grid>button>span,.animation-group small{font-size:var(--ff-text-xs)}.animation-preview{height:74px}.canvas-status{font-size:var(--ff-text-md);gap:12px}.canvas-status button{width:42px;height:42px}.element-lock-badge{width:34px;height:34px;top:-38px}.timeline-header .timeline-tool-button{width:32px;min-width:32px;height:32px;font-size:var(--ff-text-xs);gap:5px;padding:0}.timeline-header .timeline-tool-button svg{width:15px;height:15px}.time-ruler span{top:11px}.element-clip{height:32px;font-size:var(--ff-text-xs);gap:7px;padding:0 9px}.timeline-snap-guide span{font-size:var(--ff-text-2xs)}.projects-content,.projects-browser{width:min(1280px,100% - 56px);padding:54px 0}.projects-heading{margin-bottom:28px}.projects-heading h1{font-size:38px}.projects-heading p{font-size:var(--ff-text-base)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}.new-project-card,.project-card{min-height:232px}.project-preview{height:168px}.new-project-card strong{font-size:var(--ff-text-lg)}.new-project-card span{font-size:var(--ff-text-sm)}.project-card>.project-description>span{font-size:var(--ff-text-sm)}.project-card>.project-card-actions{width:36px;height:36px}@media (width<=1120px){.studio-rail button,.studio-rail>a{width:62px;height:58px}.studio-rail>button>.rail-label,.studio-rail>a>.rail-label{font-size:var(--ff-text-xs)}.projects-content,.projects-browser{width:calc(100% - 40px)}}@media (width<=760px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.projects-view{--page-header-height:64px}.app-topbar,.projects-header.app-topbar,.studio-topbar.app-topbar{height:64px;color:var(--ff-ink);border-bottom:1px solid var(--ff-line);background:var(--ff-surface-raised);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;align-items:center;gap:0;padding:0 16px;display:flex}.studio-topbar.app-topbar{--topbar-circle-size:34px;--topbar-download-icon-size:18px}.topbar-group{align-items:center;gap:8px;min-width:0;display:flex}.topbar-group-start{flex:auto}.topbar-group-end{flex:none;margin-left:auto}.topbar-back-button{order:-100}.topbar-navigation-divider{order:-99}.project-title-pill{z-index:59;box-sizing:border-box;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);width:max-content;max-width:min(360px,100vw - 340px);height:44px;box-shadow:var(--ff-shadow-float);-webkit-backdrop-filter:var(--ff-blur);backdrop-filter:var(--ff-blur);align-items:center;padding:4px;display:flex;position:fixed;bottom:8px;left:82px}.project-title-pill .inline-rename-title{min-width:0;max-width:100%;height:36px;color:var(--ff-ink);border-radius:var(--ff-radius-lg);font:var(--ff-weight-semibold) var(--ff-text-md)/1 var(--ff-font-sans);cursor:text;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:0 12px;display:flex}.project-title-pill .inline-rename-title:hover{background:var(--ff-surface-hover)}.project-title-pill .inline-rename-title>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.4;overflow:hidden}.project-people-bar{z-index:59;box-sizing:border-box;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);height:44px;box-shadow:var(--ff-shadow-float);-webkit-backdrop-filter:var(--ff-blur);backdrop-filter:var(--ff-blur);align-items:center;gap:6px;padding:4px;display:flex;position:fixed;top:12px;right:14px}.project-people-pills{border-left:1px solid var(--ff-line);align-items:center;margin:0;padding:0 0 0 8px;list-style:none;display:flex}.project-share-button{border-radius:var(--ff-radius-lg);height:36px;color:var(--ff-ink);font:var(--ff-weight-semibold) var(--ff-text-sm)/1 var(--ff-font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;transition:background-color .12s,color .12s;display:inline-flex}.project-share-button:hover,.project-share-button[aria-expanded=true]{color:var(--ff-primary);background:var(--ff-surface-hover)}.project-share-modal{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 66%, transparent);border-radius:var(--ff-radius-xl);width:min(440px,96vw);max-height:min(560px,100vh - 44px);color:var(--ff-ink);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-modal);animation:color-picker-in var(--ff-dropdown-duration) ease-out;flex-direction:column;gap:14px;padding:22px;display:flex;overflow:hidden}.project-share-modal header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-share-modal header>div{gap:4px;display:grid}.project-share-modal header strong{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold)}.project-share-modal header small,.project-share-person small{color:var(--ff-muted);font-size:var(--ff-text-xs)}.project-share-invite{gap:8px;display:flex}.project-share-invite input{min-width:0;height:36px;color:var(--ff-ink);border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);font:var(--ff-text-sm)/1 var(--ff-font-sans);outline:0;flex:1;padding:0 12px}.project-share-invite input:focus{border-color:var(--ff-accent);box-shadow:0 0 0 3px var(--ff-accent-soft)}.project-share-invite button{border-radius:var(--ff-radius-md);height:36px;color:var(--ff-on-primary,#fff);background:var(--ff-primary);font:var(--ff-weight-semibold) var(--ff-text-sm)/1 var(--ff-font-sans);cursor:pointer;border:0;padding:0 14px}.project-share-invite button:disabled{opacity:.5;cursor:default}.project-share-status{font-size:var(--ff-text-xs);margin:-4px 0 0}.project-share-status.is-error{color:var(--ff-danger,#d93025)}.project-share-status.is-success{color:#1e8e3e}.project-share-people{gap:2px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.project-share-people li{border-radius:var(--ff-radius-md);align-items:center;gap:10px;padding:6px 4px;display:flex}.project-share-avatar{color:#17181a;width:30px;height:30px;font:var(--ff-weight-semibold) var(--ff-text-sm)/1 var(--ff-font-sans);border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.project-share-avatar img{object-fit:cover;width:100%;height:100%}.project-share-person{flex:1;gap:2px;min-width:0;display:grid}.project-share-person strong,.project-share-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-share-person strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.project-share-people em{color:var(--ff-muted);font-size:var(--ff-text-xs);font-style:normal}.project-share-modal footer{border-top:1px solid var(--ff-line);padding-top:10px;display:flex}.project-share-copy{border-radius:var(--ff-radius-md);height:32px;color:var(--ff-ink);font:var(--ff-weight-semibold) var(--ff-text-sm)/1 var(--ff-font-sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.project-share-copy:hover{color:var(--ff-primary);background:var(--ff-surface-hover)}.project-people-avatar{box-sizing:border-box;border:2px solid var(--ff-surface-solid,#fff);color:#17181a;width:32px;height:32px;font:var(--ff-weight-semibold) var(--ff-text-sm)/1 var(--ff-font-sans);cursor:default;border-radius:50%;flex:none;place-items:center;margin-left:-6px;display:grid;position:relative}.project-people-avatar:first-child{margin-left:0}.project-people-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.project-people-avatar:not(.is-online) img,.project-people-avatar:not(.is-online) span{opacity:.55}.project-people-avatar.is-online:not(.is-self):after{content:"";border:2px solid var(--ff-surface-solid,#fff);background:#1e8e3e;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.project-people-avatar.is-overflow{color:var(--ff-ink);background:var(--ff-neutral-4,#eef0f3);font-size:var(--ff-text-xs)}.project-title-pill .inline-rename-title>svg{color:var(--ff-muted);flex:none}.project-title-pill .inline-rename-title:is(:hover,:focus-visible)>svg{opacity:.8}.project-title-pill-input{width:min(320px,100vw - 360px);height:36px;color:var(--ff-ink);border:1px solid var(--ff-accent);border-radius:var(--ff-radius-lg);background:var(--ff-surface);font:var(--ff-weight-semibold) var(--ff-text-md)/1 var(--ff-font-sans);outline:0;padding:0 12px}.topbar-navigation-fallback{z-index:61;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);min-height:40px;box-shadow:var(--ff-shadow-float);border:0;align-items:center;gap:2px;padding:4px 8px;display:flex;position:fixed;top:8px;left:50%;overflow:visible;transform:translate(-50%)}.topbar-navigation-fallback:before,.topbar-navigation-fallback:after{display:none}.topbar-share-toolbar{z-index:auto;min-height:36px;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;margin-left:4px;padding:0;display:flex;position:static;overflow:visible}.topbar-share-toolbar:before,.topbar-share-toolbar:after{display:none}.topbar-share-toolbar .share-toolbar-trigger{width:36px;min-width:36px;height:36px;color:var(--ff-muted);border-radius:var(--ff-radius-md);background:0 0;border:0;place-items:center;padding:0;display:grid}.topbar-share-toolbar .share-toolbar-trigger:hover,.topbar-share-toolbar .share-toolbar-trigger.is-open{color:var(--ff-primary);background:var(--ff-surface-hover)}.topbar-share-toolbar .share-toolbar-trigger.is-open{background:var(--ff-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent)}.topbar-share-toolbar .share-toolbar-trigger:disabled{opacity:.62}.topbar-share-toolbar .share-toolbar-trigger>svg{width:18px;height:18px}.topbar-share-toolbar .present-toolbar-trigger{width:auto;min-width:36px;height:36px;color:var(--ff-muted);border-radius:var(--ff-radius-md);background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.topbar-share-toolbar .present-toolbar-trigger:hover{color:var(--ff-primary);background:var(--ff-surface-hover)}.topbar-share-toolbar .present-toolbar-trigger>span{font-size:var(--ff-text-md);font-weight:var(--ff-weight-bold)}.topbar-control{border-radius:var(--ff-radius-md);min-width:36px;height:36px;font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 11px;line-height:1;text-decoration:none;display:inline-flex}.topbar-control>svg{stroke-width:1.9px;flex:none;width:17px;height:17px}.topbar-control:hover{background:var(--ff-surface-hover)}.topbar-control:disabled{opacity:.3}.app-topbar .home-button{width:36px;padding:0}.app-topbar .topbar-brand{min-width:0;height:38px;color:var(--ff-primary);font-size:var(--ff-text-lg);font-weight:var(--ff-weight-semibold);cursor:pointer;background:0 0;border:0;outline:none;gap:7px;margin:0 6px 0 0;padding:0;line-height:1;text-decoration:none}.app-topbar .topbar-brand:focus{outline:none}.app-topbar .topbar-brand span,.projects-header.app-topbar .topbar-brand span{width:38px;height:38px}.app-topbar .topbar-brand span svg{width:24px;height:24px}.topbar-project{border-left:1px solid var(--ff-line);align-items:center;width:fit-content;max-width:min(264px,25vw);height:38px;padding-left:12px;display:flex}.app-topbar .topbar-project .project-title{field-sizing:content;width:auto;min-width:96px;max-width:100%;height:25px;font-size:var(--ff-text-base);font-weight:var(--ff-weight-regular);text-overflow:ellipsis;margin:0;padding:0 6px;line-height:25px;overflow:hidden}.app-topbar .topbar-project .project-title:hover,.app-topbar .topbar-project .project-title:focus{background:0 0}.app-topbar .topbar-project .save-indicator{height:15px;color:var(--ff-faint);font-size:var(--ff-text-2xs);gap:4px;margin:0;padding:0 6px;line-height:1}.app-topbar .topbar-project .save-indicator svg{width:11px;height:11px}.app-topbar .topbar-project .save-indicator.saving{color:var(--ff-muted)}.app-topbar .topbar-project .save-indicator.error{color:var(--ff-danger)}.app-topbar .topbar-history{border-left:1px solid var(--ff-line);align-items:center;gap:2px;height:36px;margin:0;padding-left:8px}.app-topbar .topbar-history .topbar-control{border:0;padding:0}.app-topbar .topbar-history .topbar-save.error{color:var(--ff-danger)}.studio-topbar .share-action{color:var(--ff-muted);background:0 0;border-color:#0000}.studio-topbar .share-action:hover{color:var(--ff-ink);border-color:var(--ff-line);background:var(--ff-surface-solid)}.studio-topbar .export-action{height:38px;box-shadow:var(--ff-shadow-sm);padding:0 14px}.studio-topbar .export-menu-trigger{width:var(--topbar-circle-size);min-width:var(--topbar-circle-size);height:var(--topbar-circle-size);color:var(--ff-on-accent);border-radius:var(--ff-radius-round);background:var(--ff-neutral-100);box-shadow:var(--ff-shadow-sm);place-items:center;padding:0;display:grid}.studio-topbar .export-menu-trigger>svg{width:var(--topbar-download-icon-size);height:var(--topbar-download-icon-size)}.studio-topbar .export-menu-trigger:hover,.studio-topbar .export-menu-trigger.is-open{background:var(--ff-neutral-86)}.studio-topbar .export-menu-trigger:disabled{opacity:.62}.share-progress-control{width:36px;height:36px;position:relative}.export-progress-indicator{z-index:2;pointer-events:none;place-items:center;width:30px;height:30px;display:grid;position:absolute;inset:3px}.export-progress-ring{opacity:0;width:30px;height:30px;transition:opacity var(--ff-duration-base) ease;position:absolute;inset:0;overflow:visible}.export-progress-ring circle{fill:none;stroke-width:2px}.export-progress-track{stroke:color-mix(in srgb, var(--ff-neutral-0) 24%, transparent)}.export-progress-value{stroke:var(--ff-neutral-0);stroke-linecap:round;transform-origin:16px 16px;transition:stroke-dashoffset var(--ff-duration-base) linear;transform:rotate(-90deg)}.export-progress-indicator b{opacity:0;min-width:22px;color:var(--ff-on-accent);border-radius:var(--ff-radius-xs);background:var(--ff-primary);box-shadow:var(--ff-shadow-sm);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);letter-spacing:0;text-align:center;transition:opacity var(--ff-duration-base) ease;padding:2px 3px;line-height:1;position:absolute;bottom:-5px;right:-8px}.export-progress-indicator.is-active .export-progress-ring,.export-progress-indicator.is-active b{opacity:1}.format-bar .export-progress-track{stroke:var(--ff-line)}.format-bar .export-progress-value{stroke:var(--ff-primary)}.topbar-share-toolbar .export-progress-track{stroke:var(--ff-line)}.topbar-share-toolbar .export-progress-value{stroke:var(--ff-primary)}.topbar-share-toolbar .share-progress-control:has(.export-progress-indicator.is-active) .share-toolbar-trigger:disabled{color:var(--ff-primary);opacity:1}.topbar-account{width:36px;color:var(--ff-muted);background:0 0;border-color:#0000;padding:2px}.user-avatar{border-radius:var(--ff-radius-round);width:30px;height:30px;color:var(--ff-muted);background:0 0;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.user-avatar-fallback{width:17px;height:17px}.user-avatar img{display:block;position:absolute;inset:0}.topbar-account img{border-radius:var(--ff-radius-round);object-fit:cover;width:30px;height:30px}.rail-footer .user-avatar{width:32px;height:32px;margin:0;line-height:0}.studio-topbar .topbar-account{width:var(--topbar-circle-size);min-width:var(--topbar-circle-size);height:var(--topbar-circle-size);border-radius:var(--ff-radius-round);border:0;padding:0;overflow:hidden}.studio-topbar .user-avatar,.studio-topbar .topbar-account img{width:var(--topbar-circle-size);height:var(--topbar-circle-size)}.app-topbar .primary-action{margin-left:0}.share-error-notice{z-index:330;border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);width:min(380px,100vw - 32px);color:var(--ff-ink);background:var(--ff-surface);box-shadow:var(--ff-shadow-float);grid-template-columns:minmax(0,1fr) 28px;gap:3px 10px;padding:12px 12px 12px 14px;display:grid;position:fixed;top:72px;right:16px}.share-error-notice strong{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold)}.share-error-notice span{color:var(--ff-muted);font-size:var(--ff-text-xs);grid-column:1;line-height:1.45}.share-error-notice button{border-radius:var(--ff-radius-sm);width:28px;height:28px;color:var(--ff-muted);font-size:var(--ff-text-xl);background:0 0;grid-area:1/2/3;padding:0}.share-error-notice button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}@media (width<=1120px){.studio-topbar .topbar-brand{font-size:0}.topbar-project{max-width:min(210px,24vw)}.app-topbar .topbar-project .save-indicator span{display:inline}}@media (width<=900px){.studio-topbar .share-action{width:36px;padding:0}.studio-topbar .share-action span{display:none}.topbar-project{max-width:min(190px,27vw)}}@media (width<=760px){.app-topbar,.projects-header.app-topbar,.studio-topbar.app-topbar{height:64px;padding:0 10px}.studio-topbar .topbar-brand{display:none}.topbar-project{max-width:min(180px,34vw);padding-left:8px}.app-topbar .topbar-project .save-indicator span{display:none}.studio-topbar .export-action{width:38px;padding:0}.studio-topbar .export-action span{display:none}}@media (width<=560px){.studio-topbar .topbar-history{display:none}.topbar-project{max-width:min(190px,42vw)}}.format-bar button{border-radius:var(--ff-radius-md);min-width:32px;height:32px;color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);background:0 0;border:0;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 8px;display:flex}.studio-shell .format-bar{background:var(--ff-surface-raised)}.format-bar button>svg{stroke-width:2px;flex:none;width:16px;height:16px}.format-bar button:hover{color:var(--ff-accent);background:0 0}.format-bar .toolbar-toggle,.format-bar .toolbar-disclosure{transition:color var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease}.format-bar.contextual-format-bar{--toolbar-icon-color:var(--ff-neutral-86)}.format-bar.contextual-format-bar :is(.toolbar-toggle,.toolbar-disclosure,.toolbar-action,.opacity-trigger,.transform-control-trigger,.action-menu-trigger,.toolbar-responsive-actions>button,.color-picker-trigger){color:var(--toolbar-icon-color)}.format-bar.contextual-format-bar :is(.toolbar-toggle,.toolbar-disclosure,.toolbar-action,.opacity-trigger,.transform-control-trigger,.action-menu-trigger,.toolbar-responsive-actions>button,.color-picker-trigger)>svg{color:currentColor}.format-bar .toolbar-toggle[aria-pressed=true],.format-bar .toolbar-disclosure[aria-expanded=true],.format-bar .toolbar-toggle[aria-pressed=true]:hover,.format-bar .toolbar-disclosure[aria-expanded=true]:hover{color:var(--ff-primary);background:var(--ff-accent-soft)}.format-bar button:disabled{opacity:.35}.map-format-bar{gap:4px;max-width:min(720px,100vw - 260px)}.map-toolbar-search{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);align-items:center;gap:7px;width:min(330px,34vw);height:36px;padding:0 5px 0 10px;display:flex}.map-toolbar-search>svg{color:var(--ff-muted);flex:none}.map-toolbar-search input{min-width:0;color:var(--ff-ink);font-size:var(--ff-text-md);background:0 0;border:0;outline:0;flex:1}.map-toolbar-search button{border-radius:var(--ff-radius-sm);min-width:34px;height:28px;color:var(--ff-muted);background:var(--ff-surface-hover);font-size:var(--ff-text-xs);padding:0 8px}.map-toolbar-search button:hover{color:var(--ff-primary);background:var(--ff-accent-soft)}.map-toolbar-error{max-width:150px;color:var(--ff-danger);font-size:var(--ff-text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-style-trigger.has-label{max-width:116px}.map-style-trigger.has-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-itinerary-panel{flex-direction:column;display:flex}.map-itinerary-content{flex-direction:column;flex:1;gap:18px;min-height:0;display:flex;overflow-y:auto}.map-itinerary-content form{gap:10px;display:grid}.map-itinerary-content label{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);gap:5px;display:grid}.map-itinerary-content input{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:100%;height:38px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-sm);outline:0;padding:0 10px}.map-itinerary-content input:focus{border-color:color-mix(in srgb, var(--ff-accent) 54%, var(--ff-line));box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-accent) 12%, transparent)}.map-travel-modes,.map-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.map-travel-modes button,.map-style-grid button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);min-width:0;min-height:40px;color:var(--ff-muted);background:var(--ff-surface-solid);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);justify-content:center;align-items:center;gap:6px;padding:0 7px;display:flex}.map-style-grid button{flex-direction:column;min-height:56px}.map-travel-modes button:hover,.map-style-grid button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.map-travel-modes button.active,.map-style-grid button.active{color:var(--ff-primary);border-color:color-mix(in srgb, var(--ff-accent) 38%, var(--ff-line));background:var(--ff-accent-soft)}.map-itinerary-calculate{border-radius:var(--ff-radius-md);width:100%;height:40px;color:var(--ff-text-inverse);background:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-bold);justify-content:center;align-items:center;gap:7px;display:flex}.map-itinerary-calculate:hover{background:var(--ff-primary)}.map-itinerary-error{color:var(--ff-danger);border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-danger) 8%, transparent);font-size:var(--ff-text-xs);padding:9px 10px;line-height:1.4}.map-route-summary{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface-hover);justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.map-route-summary>div{gap:3px;min-width:0;display:grid}.map-route-summary strong{font-size:var(--ff-text-lg)}.map-route-summary span{color:var(--ff-muted);font-size:var(--ff-text-xs)}.map-route-summary button{border-radius:var(--ff-radius-sm);width:32px;height:32px;color:var(--ff-muted);background:0 0;flex:none;place-items:center;padding:0;display:grid}.map-route-summary button:hover{color:var(--ff-danger);background:var(--ff-surface-solid)}.map-style-section{border-top:1px solid var(--ff-line);gap:10px;padding-top:16px;display:grid}.map-style-section h3{font-size:var(--ff-text-base);margin:0}@media (width<=920px){.map-toolbar-search{width:min(240px,30vw)}}.format-bar .compact-number{border-radius:var(--ff-radius-md);height:36px;font-size:var(--ff-text-base)}.format-bar .compact-number input{font-size:var(--ff-text-lg)}.format-bar .toolbar-divider{background:var(--ff-line);height:24px;margin:0 6px}.format-bar .canvas-size{font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);padding:0 12px}.video-trim-control{flex:none;display:flex;position:relative}.video-trim-control :focus-visible{outline:2px solid var(--ff-palette-primary);outline-offset:2px}.video-trim-popover{z-index:360;align-items:center;gap:8px;width:min(360px,100vw - 24px);padding:6px;display:flex;position:fixed;overflow:hidden}.video-trim-time{color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums;text-align:center;flex:0 0 40px}.video-trim-time[role=alert]{color:var(--ff-danger)}.video-trim-rail{border-radius:var(--ff-radius-sm);background:var(--ff-palette-neutral);flex:auto;min-width:0;height:36px;position:relative;overflow:hidden}.video-trim-film{object-fit:cover;width:100%;height:100%;display:block}.video-trim-shade,.video-trim-selection,.video-trim-range{position:absolute;inset-block:0}.video-trim-shade{z-index:2;pointer-events:none;background:#0000008c}.video-trim-shade.before{width:var(--trim-start);left:0}.video-trim-shade.after{width:calc(100% - var(--trim-end));right:0}.video-trim-selection{z-index:3;left:var(--trim-start);right:calc(100% - var(--trim-end));border:2px solid var(--ff-canvas);border-radius:var(--ff-radius-sm);pointer-events:none}.video-trim-range{z-index:4;appearance:none;pointer-events:none;background:0 0;border:0;width:100%;height:100%;margin:0}.video-trim-range::-webkit-slider-runnable-track{background:0 0;height:100%}.video-trim-range::-webkit-slider-thumb{border-radius:var(--ff-radius-xs);background:linear-gradient(var(--ff-ink), var(--ff-ink)) center / 2px 12px no-repeat, var(--ff-canvas);appearance:none;cursor:ew-resize;pointer-events:auto;border:0;width:10px;height:36px;margin-top:0}.video-trim-range::-moz-range-track{background:0 0;height:100%}.video-trim-range::-moz-range-thumb{border-radius:var(--ff-radius-xs);background:linear-gradient(var(--ff-ink), var(--ff-ink)) center / 2px 12px no-repeat, var(--ff-canvas);cursor:ew-resize;pointer-events:auto;border:0;width:10px;height:36px}.video-trim-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--ff-palette-primary)}.video-trim-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--ff-palette-primary)}.video-trim-done{border-radius:var(--ff-radius-sm);height:32px;color:var(--ff-canvas);background:var(--ff-palette-primary);cursor:pointer;border:0;flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.video-trim-done:hover{background:color-mix(in srgb, var(--ff-palette-primary) 88%, var(--ff-ink))}.video-trim-done:disabled{opacity:.45;cursor:not-allowed}.color-picker-trigger{border-radius:var(--ff-radius-xl);width:46px;min-width:46px;height:46px;color:var(--ff-ink);background:0 0;border:1px solid #0000;flex:0 0 46px;place-items:center;padding:0;display:inline-grid;position:relative;overflow:hidden}.color-picker-trigger:hover{background:var(--ff-surface-hover)}.color-picker-trigger.active{color:var(--ff-accent);border-color:color-mix(in srgb, var(--ff-accent) 28%, transparent);background:var(--ff-accent-soft)}.color-picker-direct-swatch{border-radius:var(--ff-radius-round);flex:0 0 20px;width:20px;height:20px}.color-picker-direct-swatch.is-fill{box-shadow:none;border:0}.color-picker-direct-swatch.is-stroke{display:block;position:relative}.color-picker-direct-swatch.is-stroke>i{border-radius:inherit;display:block;position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='7.5' fill='none' stroke='%23000' stroke-width='4'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='7.5' fill='none' stroke='%23000' stroke-width='4'/%3E%3C/svg%3E") 50%/100% 100% no-repeat}.color-picker-direct-swatch.is-stroke>svg{fill:none;width:100%;height:100%;stroke:color-mix(in srgb, var(--ff-ink) 28%, transparent);stroke-width:1px;position:absolute;inset:0;overflow:visible}.color-picker-indicator{color:currentColor;grid-template-rows:19px 4px;place-items:center;gap:2px;width:22px;height:25px;display:grid}.color-picker-indicator>b{font-size:var(--ff-text-xl);font-weight:var(--ff-weight-bold);line-height:19px}.color-picker-indicator>svg{stroke-width:2px;width:18px;height:18px}.color-picker-indicator-color{width:22px;height:4px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-ink) 18%, transparent);border-radius:2px;display:block}.stroke-weight-icon{align-content:center;gap:3px;width:19px;height:18px;display:grid}.stroke-weight-icon>i{background:currentColor;border-radius:2px;width:19px;display:block}.stroke-weight-icon>i:first-child{height:1px}.stroke-weight-icon>i:nth-child(2){height:2px}.stroke-weight-icon>i:nth-child(3){height:4px}.color-picker-trigger.is-transparent .color-picker-direct-swatch:not(.is-stroke),.color-picker-trigger.is-transparent .color-picker-direct-swatch.is-stroke>i,.color-picker-trigger.is-transparent .color-picker-indicator-color,.color-picker-transparent>i{background-color:var(--ff-surface-raised);background-image:linear-gradient(45deg,#cbd1da 25%,#0000 25%),linear-gradient(-45deg,#cbd1da 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#cbd1da 75%),linear-gradient(-45deg,#0000 75%,#cbd1da 75%);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px}.color-picker-popover.dropdown-surface{width:280px;max-height:calc(100vh - 24px);overflow:hidden auto}.color-picker-tabs{border-bottom:1px solid var(--ff-line);grid-auto-columns:1fr;grid-auto-flow:column;margin:-2px 0 12px;display:grid}.color-picker-tabs button{height:34px;color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-medium);position:relative}.color-picker-tabs button:hover{color:var(--ff-ink)}.color-picker-tabs button.active{color:var(--ff-ink);font-weight:var(--ff-weight-bold)}.color-picker-tabs button.active:after{content:"";background:var(--ff-accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.color-picker-transparent{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:100%;height:32px;color:var(--ff-muted);background:var(--ff-surface-solid);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);text-align:left;align-items:center;gap:8px;margin:0 0 10px;padding:0 8px;display:flex}.color-picker-transparent:hover{color:var(--ff-ink);border-color:var(--ff-line-strong)}.color-picker-transparent.active{color:var(--ff-primary);border-color:var(--ff-accent);background:var(--ff-accent-soft)}.color-picker-transparent>i{border:1px solid var(--ff-neutral-28);border-radius:var(--ff-radius-xs);flex:0 0 16px;width:16px;height:16px}.color-sv-plane{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);height:140px;box-shadow:inset 0 0 16px color-mix(in srgb, var(--ff-neutral-100) 8%, transparent);cursor:crosshair;touch-action:none;position:relative;overflow:hidden}.color-sv-plane:before,.color-sv-plane:after{content:"";pointer-events:none;position:absolute;inset:0}.color-sv-plane:before{background:linear-gradient(90deg,#fff,#0000)}.color-sv-plane:after{background:linear-gradient(#0000,#000)}.color-sv-plane>i{z-index:2;border:2px solid var(--ff-neutral-0);border-radius:var(--ff-radius-round);width:14px;height:14px;box-shadow:var(--ff-shadow-sm);pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.color-sv-plane>i.active{z-index:3;width:18px;height:18px;box-shadow:0 0 0 2px var(--ff-accent), 0 2px 6px color-mix(in srgb, var(--ff-neutral-100) 60%, transparent)}.color-hue-rail{border-radius:var(--ff-radius-pill);height:16px;box-shadow:inset 0 0 0 1px var(--ff-line);cursor:ew-resize;touch-action:none;background:linear-gradient(90deg,red,#ff0 16.66%,#0f0 33.33%,#0ff 50%,#00f 66.66%,#f0f 83.33%,red);margin:12px 2px 10px;position:relative}.color-hue-rail>i{border:2px solid var(--ff-surface-solid);border-radius:var(--ff-radius-round);width:20px;height:20px;box-shadow:0 1px 5px var(--ff-shadow-color-strong), 0 0 0 1px var(--ff-line-strong);pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.color-hue-rail>i.active{z-index:2;box-shadow:0 0 0 2px var(--ff-accent), 0 2px 6px color-mix(in srgb, var(--ff-neutral-100) 53%, transparent)}.color-transparency-control{margin:0 2px 12px}.color-transparency-control>input[type=range]{appearance:none;border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);background-color:var(--ff-surface-raised);background-image:linear-gradient(90deg, var(--color-alpha), transparent), linear-gradient(45deg, #cbd1da 25%, transparent 25%), linear-gradient(-45deg, #cbd1da 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #cbd1da 75%), linear-gradient(-45deg, transparent 75%, #cbd1da 75%);cursor:ew-resize;background-position:0 0,0 0,0 5px,5px -5px,-5px 0;background-size:auto,10px 10px,10px 10px,10px 10px,10px 10px;outline:none;width:100%;height:14px;margin:0}.color-transparency-control>input[type=range]:focus{outline:none}.color-transparency-control>input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--ff-surface-solid);border-radius:var(--ff-radius-round);background:var(--ff-ink);width:20px;height:20px;box-shadow:0 1px 5px var(--ff-shadow-color-strong), 0 0 0 1px var(--ff-line-strong)}.color-transparency-control>input[type=range]::-moz-range-thumb{border:2px solid var(--ff-surface-solid);border-radius:var(--ff-radius-round);background:var(--ff-ink);width:16px;height:16px;box-shadow:0 1px 5px var(--ff-shadow-color-strong), 0 0 0 1px var(--ff-line-strong)}.color-picker-footer{grid-template-columns:minmax(0,1fr) 36px;gap:7px;display:grid}.color-picker-footer.has-gradient{grid-template-columns:minmax(0,1fr) 36px 36px}.color-gradient-knob{border:1px solid var(--ff-line);border-radius:var(--ff-radius-round);width:36px;height:36px;color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:inset 0 0 0 4px var(--ff-surface-subtle);cursor:grab;touch-action:none;place-items:center;padding:0;display:grid}.color-gradient-knob:hover{background:var(--ff-surface-hover)}.color-gradient-knob:active{cursor:grabbing}.color-gradient-knob>svg{pointer-events:none}.template-heading-actions{align-items:center;gap:14px;display:flex}.template-heading-actions p{margin:0}.custom-template-form{border:1px solid var(--ff-line);border-radius:var(--ff-radius-3xl);background:var(--ff-surface);box-shadow:var(--ff-shadow-card);grid-template-columns:minmax(180px,1.4fr) repeat(2,minmax(100px,.55fr)) minmax(150px,.7fr) auto;align-items:end;gap:14px;margin-bottom:30px;padding:18px;display:grid}.custom-template-form>div:first-child{align-self:center}.custom-template-form>div:first-child span,.template-section-heading span{color:var(--ff-accent);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-transform:uppercase}.custom-template-form h2{font-size:var(--ff-text-xl);font-weight:var(--ff-weight-medium);margin:3px 0 0}.custom-template-form label{color:var(--ff-muted);font-size:var(--ff-text-2xs)}.custom-template-form label input{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid);outline:0;width:100%;height:40px;margin-top:5px;padding:0 11px;display:block}.custom-template-mode{border-radius:var(--ff-radius-lg);background:var(--ff-canvas-cool);grid-template-columns:1fr 1fr;height:40px;padding:3px;display:grid}.custom-template-mode button{border-radius:var(--ff-radius-md);color:var(--ff-muted);font-size:var(--ff-text-xs)}.custom-template-mode button.active{color:var(--ff-primary);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.custom-template-actions{gap:7px;display:flex}.custom-template-actions button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid);height:40px;font-size:var(--ff-text-xs);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;display:flex}.custom-template-actions button:last-child{color:var(--ff-text-inverse);border-color:var(--ff-primary);background:var(--ff-primary)}.template-section-heading{justify-content:space-between;align-items:center;margin:28px 0 12px;display:flex}.template-section-heading small{color:var(--ff-muted);font-size:var(--ff-text-2xs)}.custom-template-card{position:relative;overflow:hidden}.custom-template-use{text-align:left;width:100%;padding:10px}.custom-template-use strong,.custom-template-use small{text-overflow:ellipsis;white-space:nowrap;padding-right:28px;display:block;overflow:hidden}.custom-template-use strong{font-size:var(--ff-text-xs);font-weight:var(--ff-weight-medium)}.custom-template-use small{color:var(--ff-faint);font-size:var(--ff-text-3xs);margin-top:3px}.custom-template-delete{border-radius:var(--ff-radius-md);width:30px;height:30px;color:var(--ff-muted);place-items:center;display:grid;position:absolute;bottom:8px;right:9px}.custom-template-delete:hover{color:var(--ff-danger);background:var(--ff-danger-soft)}.shared-template-item{min-width:0;position:relative}.shared-template-item>:is(.media-delete,.custom-template-delete){z-index:3}.shared-template-item .custom-template-use{background:0 0;border:0;display:block}.shared-template-preview{width:100%;aspect-ratio:var(--preset-ratio,16 / 9);border-radius:var(--ff-radius-sm);color:var(--ff-on-accent);background:var(--ff-surface-subtle);place-items:center;margin-bottom:8px;display:grid;overflow:hidden}.shared-template-preview>img{object-fit:cover;width:100%;height:100%;display:block}.workspace-template-grid:not(.home-masonry){grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.workspace-template-grid .preset-card{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);box-shadow:none;padding:8px;transform:none}.workspace-template-grid .preset-card:hover{border-color:var(--ff-card-border);background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm);transform:none}.workspace-template-grid .preset-visual,.workspace-template-grid .shared-template-preview{border-radius:var(--ff-radius-sm);max-height:220px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 4%, transparent);border:0;margin-bottom:9px;transform:none}.workspace-template-grid .preset-card:hover .preset-visual{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 4%, transparent);border-color:#0000;transform:none}.workspace-template-grid .preset-card>strong,.workspace-template-grid .preset-card>small{padding:0 2px}.workspace-template-grid .preset-card>strong{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);margin-top:0;line-height:1.35}.workspace-template-grid .preset-card>small{color:var(--ff-muted);font-size:var(--ff-text-2xs);text-transform:capitalize;margin-top:3px;line-height:1.3}.shared-template-grid .custom-template-use>strong{display:none}.shared-template-grid.compact{align-items:start;margin-bottom:18px}.shared-template-grid.compact .shared-template-item{background:var(--ff-surface-raised)}.shared-template-grid.compact .shared-template-preview{background:var(--ff-surface-raised);border-radius:0;height:auto;margin:0}@media (width<=980px){.custom-template-form{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-template-form>div:first-child,.custom-template-form>label:first-of-type{grid-column:span 2}.custom-template-actions{justify-content:flex-end}}@media (width<=620px){.projects-heading{align-items:flex-start}.template-heading-actions{flex-direction:column-reverse;align-items:flex-end}.custom-template-form{grid-template-columns:1fr}.custom-template-form>div:first-child,.custom-template-form>label:first-of-type{grid-column:auto}}.contextual-format-bar .toolbar-action{border-radius:var(--ff-radius-md);width:30px;min-width:30px;height:30px;color:var(--toolbar-icon-color,var(--ff-neutral-86));box-shadow:none;transition:color var(--ff-duration-fast) ease, background var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;background:0 0;border:0;gap:0;padding:0}.contextual-format-bar .toolbar-action>svg{width:14px;height:14px}.contextual-format-bar .toolbar-action>span{display:none}.contextual-format-bar .toolbar-action:hover{color:var(--ff-primary);background:var(--ff-surface-hover)}.contextual-format-bar .toolbar-action.active,.contextual-format-bar .toolbar-action[aria-pressed=true]{color:var(--ff-primary);background:var(--ff-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-accent) 16%, transparent)}.contextual-format-bar .toolbar-action.active:hover,.contextual-format-bar .toolbar-action[aria-pressed=true]:hover{color:var(--ff-primary);background:var(--ff-accent-soft)}.contextual-format-bar .toolbar-action.toolbar-danger{color:var(--ff-danger)}.contextual-format-bar .toolbar-action.toolbar-danger:hover{color:var(--ff-on-accent);background:var(--ff-danger);box-shadow:0 2px 6px color-mix(in srgb, var(--ff-danger) 20%, transparent)}.contextual-format-bar .toolbar-action:disabled{color:var(--ff-neutral-28);box-shadow:none;background:0 0}.contextual-format-bar .toolbar-field{border-radius:var(--ff-radius-md);min-width:max-content;height:30px;color:var(--ff-muted);background:var(--ff-surface-subtle);box-shadow:none;transition:background var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;border:0;flex:none;align-items:center;gap:7px;padding:0 10px;display:flex}.contextual-format-bar .toolbar-field:hover{background:var(--ff-surface-hover)}.contextual-format-bar .toolbar-field>span{color:var(--ff-neutral-50);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.contextual-format-bar .toolbar-field input{height:26px;color:var(--ff-ink);box-shadow:none;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);background:0 0;border:0;outline:0;padding:0}.contextual-format-bar .toolbar-number input{width:42px}.contextual-format-bar .toolbar-number small{color:var(--ff-muted);font-size:var(--ff-text-sm)}.contextual-format-bar .toolbar-stepper{border-radius:var(--ff-radius-md);background:var(--ff-surface-subtle);align-items:center;gap:3px;height:30px;padding:0 5px;display:inline-flex}.contextual-format-bar .toolbar-stepper input{width:34px;height:26px;font-size:var(--ff-text-md);font-weight:var(--ff-weight-bold);text-align:center;-moz-appearance:textfield;background:0 0;border:0;outline:0;padding:0}.contextual-format-bar .toolbar-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.contextual-format-bar .toolbar-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.contextual-format-bar .toolbar-stepper .stepper-button{border-radius:var(--ff-radius-sm);width:21px;min-width:21px;height:21px;color:var(--ff-muted);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm);transition:color var(--ff-duration-fast) ease, background var(--ff-duration-fast) ease;border:0;flex:0 0 21px;place-items:center;padding:0;display:grid}.contextual-format-bar .toolbar-stepper .stepper-button:hover{color:var(--ff-primary);background:var(--ff-surface-hover)}.contextual-format-bar .toolbar-stepper .stepper-button:active{background:var(--ff-neutral-10)}.stage-shell>.format-bar .toolbar-range{grid-template-columns:auto auto 72px;display:grid}.stage-shell>.format-bar .toolbar-range output{color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-bold);font-variant-numeric:tabular-nums}.stage-shell>.format-bar .toolbar-range input{width:72px;accent-color:var(--ff-primary)}.stage-shell>.format-bar .color-picker-trigger.labeled{border-radius:var(--ff-radius-md);background:var(--ff-surface-subtle);width:auto;min-width:max-content;height:30px;box-shadow:none;transition:background var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;border:0;flex-basis:auto;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.stage-shell>.format-bar .color-picker-trigger.labeled:hover{background:var(--ff-surface-hover)}.stage-shell>.format-bar .color-picker-trigger.labeled.active{background:var(--ff-surface-solid);box-shadow:inset 0 0 0 1.5px var(--ff-primary)}.stage-shell>.format-bar .color-picker-trigger.labeled .color-picker-name{color:var(--ff-neutral-50);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.contextual-format-bar .color-picker-trigger:not(.labeled){width:32px;min-width:32px;height:32px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:0 0 32px;padding:0}.contextual-format-bar .color-picker-trigger:not(.labeled):hover{color:var(--ff-primary);background:0 0}.contextual-format-bar .color-picker-trigger:not(.labeled).active{color:var(--ff-primary);box-shadow:none;background:0 0;border-color:#0000}.contextual-format-bar .toolbar-divider{background:var(--ff-neutral-14);flex:0 0 1px;width:1px;height:18px;margin:0 5px}.contextual-format-bar .toolbar-context{color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:.6px;padding:0 10px}.contextual-format-bar .canvas-size{color:var(--ff-muted);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);padding:0 10px}.color-picker-hex{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);grid-template-columns:28px 18px 1fr;align-items:center;height:36px;display:grid;overflow:hidden}.color-picker-hex>i{border:2px solid var(--ff-surface-solid);border-radius:var(--ff-radius-round);width:20px;height:20px;box-shadow:0 0 0 1px var(--ff-line-strong);justify-self:end}.color-picker-hex span{color:var(--ff-muted);font-size:var(--ff-text-sm);align-self:stretch;place-items:center;display:grid}.color-picker-hex input{min-width:0;height:100%;color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);text-transform:uppercase;background:0 0;border:0;outline:0;padding:0 8px 0 0}.color-eyedropper{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:36px;height:36px;color:var(--ff-accent);background:var(--ff-surface-solid);place-items:center;display:grid}.color-eyedropper>svg{width:17px;height:17px}.color-eyedropper:hover{border-color:var(--ff-accent);background:var(--ff-accent-soft)}.color-eyedropper:disabled{opacity:.35}.brand-swatches{grid-template-columns:repeat(3,1fr);gap:10px}.brand-swatches button{aspect-ratio:auto;border:1px solid var(--ff-line);border-radius:var(--ff-radius-xl);background:repeating-conic-gradient(var(--ff-surface-muted) 0 25%, var(--ff-surface-solid) 0 50%) 50% / 12px 12px;height:58px;box-shadow:var(--ff-shadow-sm);padding:5px;position:relative;overflow:hidden}.brand-swatches button>i{border-radius:var(--ff-radius-md);width:100%;height:100%;display:block}.brand-swatches button>svg{color:var(--ff-on-accent);filter:drop-shadow(0 1px 2px color-mix(in srgb, var(--ff-neutral-100) 53%, transparent));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-swatches button:hover{border-color:var(--ff-accent);box-shadow:var(--ff-focus);outline:0}.brand-swatches button.active{border-color:var(--ff-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--ff-accent) 22%, transparent)}.brand-custom-color{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xl);background:var(--ff-surface);justify-content:space-between;align-items:center;gap:12px;min-height:58px;margin:12px 0;padding:8px 8px 8px 12px;display:flex}.brand-custom-color>div{gap:3px;min-width:0;display:grid}.brand-custom-color strong{font-size:var(--ff-text-sm)}.brand-custom-color span{color:var(--ff-muted);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums}@keyframes color-picker-in{0%{opacity:0;transform:translateY(-5px)scale(.98)}}.format-bar .opacity-trigger{background:0 0;width:32px;min-width:32px;height:32px;padding:0}.format-bar .opacity-trigger.has-label{align-items:center;gap:7px;width:auto;padding:0 10px;display:inline-flex}.format-bar .opacity-trigger:hover{color:var(--ff-primary);background:var(--ff-surface-hover)}.format-bar .opacity-trigger.is-open{color:var(--ff-primary);background:var(--ff-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent)}.opacity-popover.dropdown-surface{padding:12px 14px 14px}.dropdown-surface .range-field-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value""slider slider";gap:10px 8px}.dropdown-surface .range-field-row>label{color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);grid-area:label}.dropdown-surface .range-field-row>input[type=range]{grid-area:slider}.dropdown-surface .range-field-row>.effect-range-value{background:var(--ff-surface-subtle);border-color:#0000;grid-area:value;width:58px;height:26px}.dropdown-surface .range-field-row>.effect-range-value:focus-within{background:var(--ff-surface)}.volume-popover-controls{gap:12px;display:grid}.opacity-mute-button{border-radius:var(--ff-radius-md);width:100%;height:32px;color:var(--ff-ink);background:var(--ff-surface-subtle);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);transition:background var(--ff-duration-fast) ease, color var(--ff-duration-fast) ease;border:0;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:flex}.opacity-mute-button:hover{background:var(--ff-surface-hover)}.opacity-mute-button[aria-pressed=true]{color:var(--ff-primary);background:var(--ff-accent-soft)}.crop-toolbar-controls{align-items:center;gap:2px;display:flex}.format-bar .action-menu-trigger{background:0 0;width:32px;min-width:32px;height:32px;padding:0}.format-bar .action-menu-trigger.has-label{gap:6px;width:auto;padding:0 9px}.format-bar .action-menu-trigger.has-label>span{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);white-space:nowrap}.format-bar .action-menu-trigger:hover{color:var(--ff-primary);background:var(--ff-surface-hover)}.format-bar .action-menu-trigger.is-open{color:var(--ff-primary);background:var(--ff-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent)}.dropdown-trigger-chevron{transition:transform var(--ff-dropdown-duration) ease;flex:none;margin-left:auto}.dropdown-trigger[aria-expanded=true] .dropdown-trigger-chevron{transform:rotate(180deg)}.dropdown-surface{z-index:320;max-width:calc(100vw - 20px);max-height:min(340px,100vh - 20px);padding:var(--ff-dropdown-padding);border-radius:var(--ff-dropdown-radius);color:var(--ff-ink);background:var(--ff-dropdown-background);box-shadow:var(--ff-dropdown-shadow);-webkit-backdrop-filter:var(--ff-dropdown-backdrop);backdrop-filter:var(--ff-dropdown-backdrop);animation:color-picker-in var(--ff-dropdown-duration) ease-out;border:0;position:fixed;overflow:hidden auto}.dropdown-surface.element-context-menu{max-height:none;overflow:hidden}.dropdown-surface.comment-composer{transform-origin:0 0;flex-direction:column;gap:8px;width:300px;max-height:calc(100vh - 16px);display:flex;overflow:hidden}.comment-composer>*{flex:none}@keyframes comment-thread-shadow-in{0%,70%{box-shadow:none}to{box-shadow:var(--ff-dropdown-shadow)}}.dropdown-surface.comment-composer.is-thread{animation:.42s cubic-bezier(.32,.72,0,1) comment-thread-grow,.6s ease-out comment-thread-shadow-in}.dropdown-surface.comment-composer.is-thread>*{animation:.42s cubic-bezier(.32,.72,0,1) comment-thread-content-in}@keyframes comment-thread-grow{0%{clip-path:inset(var(--comment-origin-y,0px) calc(100% - var(--comment-origin-x,0px) - 36px) calc(100% - var(--comment-origin-y,0px) - 36px) var(--comment-origin-x,0px) round 18px 18px 18px 0)}to{clip-path:inset(0 round var(--ff-dropdown-radius))}}@keyframes comment-thread-content-in{0%,30%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dropdown-surface.comment-composer>.comment-thread-seed{z-index:2;top:var(--comment-origin-y,0px);left:var(--comment-origin-x,0px);opacity:0;pointer-events:none;place-items:center;width:36px;height:36px;display:grid;position:absolute}.dropdown-surface.comment-composer.is-thread>.comment-thread-seed{animation:.42s cubic-bezier(.32,.72,0,1) comment-thread-seed-out}@keyframes comment-thread-seed-out{0%,15%{opacity:1;transform:none}45%,to{opacity:0;transform:scale(.7)}}.dropdown-surface.comment-composer.is-thread.is-closing{pointer-events:none;animation:.28s cubic-bezier(.5,0,.75,0) forwards comment-thread-shrink}.dropdown-surface.comment-composer.is-thread.is-closing>*{animation:.28s ease-in forwards comment-thread-content-out}.dropdown-surface.comment-composer.is-thread.is-closing>.comment-thread-seed{animation:.28s ease-in forwards comment-thread-seed-in}@keyframes comment-thread-shrink{0%{clip-path:inset(0 round var(--ff-dropdown-radius))}to{clip-path:inset(var(--comment-origin-y,0px) calc(100% - var(--comment-origin-x,0px) - 36px) calc(100% - var(--comment-origin-y,0px) - 36px) var(--comment-origin-x,0px) round 18px 18px 18px 0)}}@keyframes comment-thread-content-out{0%{opacity:1}45%,to{opacity:0}}@keyframes comment-thread-seed-in{0%,55%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.comment-composer textarea{box-sizing:border-box;resize:none;field-sizing:content;border:1px solid var(--ff-line);border-radius:var(--ff-dropdown-item-radius);width:100%;min-height:64px;max-height:160px;color:var(--ff-ink);background:var(--ff-surface,#fff);font:inherit;font-size:var(--ff-text-md);padding:8px 10px}.comment-composer textarea:focus{border-color:var(--ff-neutral-20,#17181a33);box-shadow:0 0 0 3px var(--ff-neutral-4,#17181a0a);outline:none}.comment-composer>.comment-composer-field,.comment-composer>.comment-reference-list,.comment-composer>.comment-composer-actions{margin-inline:8px}.comment-composer:not(.is-thread)>.comment-composer-field{margin-top:8px}.comment-composer>.comment-composer-actions{margin-bottom:8px}.comment-composer-field{position:relative}.comment-composer-field textarea{color:#0000;caret-color:var(--ff-ink);background:0 0;display:block;position:relative}.comment-composer-field textarea::placeholder{color:var(--ff-neutral-50,#8a8f98)}.comment-composer-highlight{border-radius:var(--ff-dropdown-item-radius);color:var(--ff-ink);background:var(--ff-surface,#fff);font:inherit;font-size:var(--ff-text-md);white-space:pre-wrap;overflow-wrap:break-word;pointer-events:none;border:1px solid #0000;padding:8px 10px;line-height:normal;position:absolute;inset:0;overflow:hidden}.comment-mention-token{color:#7c4dff;font-weight:inherit;background:#7c4dff24;border-radius:3px;padding:0}.comment-mention-token.is-reference{color:var(--ff-ink);background:var(--ff-neutral-8,#17181a14)}.comment-composer>.comment-reference-list{flex-wrap:wrap;gap:4px;margin:-2px 8px 0;padding:0;list-style:none;display:flex}.comment-reference-chip{border:1px solid var(--ff-line);max-width:100%;height:22px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);vertical-align:middle;border-radius:6px;align-items:center;gap:5px;padding:0 7px 0 2px;line-height:1;display:inline-flex}.comment-reference-chip>span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.comment-thread-body p .comment-reference-chip{margin:1px 0}.comment-reference-thumb{width:16px;height:16px;color:var(--ff-muted);background:var(--ff-neutral-8,#17181a14);object-fit:cover;border-radius:4px;flex:none;place-items:center;display:grid}.comment-mention-option>.comment-reference-thumb{border-radius:5px;width:24px;height:24px}.comment-composer>.comment-composer-actions{justify-content:flex-end;gap:6px;display:flex}.comment-composer-actions button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);height:32px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);cursor:pointer;transition:background-color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.comment-composer-actions button:hover:not(:disabled){border-color:var(--ff-neutral-20);background:var(--ff-neutral-4)}.comment-composer-actions button.is-primary{border-color:var(--ff-ink);color:var(--ff-text-inverse);background:var(--ff-ink)}.comment-composer-actions button.is-primary:hover:not(:disabled){border-color:var(--ff-ink);background:color-mix(in srgb, var(--ff-ink) 86%, var(--ff-surface-raised))}.comment-composer-actions button:disabled{opacity:.45;cursor:default}.comment-composer>.comment-mention-menu{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid);gap:2px;padding:4px;display:grid;box-shadow:0 8px 20px -10px #0f172a4d}.comment-mention-option{border-radius:var(--ff-dropdown-item-radius);width:100%;color:var(--ff-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;display:flex}.comment-mention-option.is-active{background:var(--ff-dropdown-item-hover)}.comment-mention-avatar{width:24px;height:24px;color:var(--ff-text-inverse);background:var(--ff-ink);border-radius:50%;flex:none;place-items:center;display:grid}.comment-mention-text{min-width:0;display:grid}.comment-mention-text strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.comment-mention-text small{color:var(--ff-muted);font-size:var(--ff-text-2xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.comment-composer>.comment-thread{flex-direction:column;flex:0 auto;gap:6px;min-height:0;display:flex}.comment-thread-header{border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:4px 4px 10px 8px;display:flex}.comment-thread-header strong{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);letter-spacing:-.01em}.comment-thread-header-actions{align-items:center;gap:6px;display:flex}.comment-thread-resolve,.comment-thread-delete{border:1px solid var(--ff-line);width:28px;min-width:0;height:28px;min-height:0;color:var(--ff-muted);background:var(--ff-surface-solid);cursor:pointer;border-radius:50%;flex:none;place-items:center;margin:0;padding:0;line-height:0;display:grid}.comment-thread-resolve>svg,.comment-thread-delete>svg{display:block}.comment-thread-resolve:hover,.comment-thread-resolve.is-resolved{color:#fff;background:#1e8e3e;border-color:#1e8e3e}.comment-thread-delete:hover{border-color:var(--ff-danger);color:#fff;background:var(--ff-danger)}.comment-thread-messages{border-bottom:1px solid var(--ff-line);-webkit-user-select:text;user-select:text;flex:0 auto;align-content:start;gap:10px;min-height:0;max-height:280px;margin:0;padding:8px 6px 12px;list-style:none;display:grid;overflow-y:auto}.comment-thread-message{align-items:flex-start;gap:8px;display:flex}.comment-thread-avatar{object-fit:cover;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.comment-thread-avatar.is-spinning{color:#fff;box-shadow:0 0 0 2px var(--ff-surface-solid), 0 0 0 4px #7c4dff33;background:#7c4dff;animation:1.2s ease-in-out infinite comment-agent-pulse}.comment-thread-avatar.is-spinning svg{animation:1.2s linear infinite comment-agent-spin}.comment-thread-message.is-failed p{color:#d93025}.comment-thread-body{gap:2px;min-width:0;display:grid}.comment-thread-meta{align-items:baseline;gap:6px;display:flex}.comment-thread-meta strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.comment-thread-meta small{color:var(--ff-muted);font-size:var(--ff-text-2xs)}.comment-thread-body p{color:var(--ff-ink);font-size:var(--ff-text-md);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.comment-thread-markdown{font-size:var(--ff-text-md);padding-top:0;line-height:1.45}.comment-thread-markdown p{white-space:normal;margin:0 0 6px}.comment-thread-markdown h1,.comment-thread-markdown h2,.comment-thread-markdown h3,.comment-thread-markdown h4{margin:8px 0 4px;font-size:1em}@keyframes comment-agent-spin{to{transform:rotate(360deg)}}@keyframes comment-agent-pulse{50%{box-shadow:0 0 0 2px var(--ff-surface-solid), 0 0 0 5px #7c4dff22}}.action-menu-popover>div{display:block}.action-menu-divider{border-top:1px solid var(--ff-line);margin-top:5px;padding-top:5px}.dropdown-item{border-radius:var(--ff-dropdown-item-radius);width:100%;min-height:40px;color:var(--ff-dropdown-item-color);text-align:left;align-items:center;gap:8px;padding:6px 9px}.dropdown-item:hover,.dropdown-item.active{color:var(--ff-ink);background:var(--ff-dropdown-item-hover)}.dropdown-item[aria-checked=true],.dropdown-item[aria-selected=true]{color:var(--ff-primary);background:var(--ff-dropdown-item-selected)}.action-menu-item{grid-template-columns:20px minmax(0,1fr) auto;display:grid}.action-menu-item:disabled{opacity:.38}.action-menu-icon{color:var(--ff-accent);place-items:center;display:grid}.action-menu-copy{gap:2px;min-width:0;display:grid}.action-menu-item strong{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);white-space:normal;overflow-wrap:anywhere;line-height:1.3}.action-menu-item small{color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-medium);line-height:1.35}.action-menu-item>svg{color:var(--ff-accent)}.action-menu-popover.is-compact{gap:1px;padding:4px;display:grid}.action-menu-popover.is-compact .action-menu-item{grid-template-columns:minmax(18px,auto) minmax(0,1fr) auto;gap:10px;min-height:32px;padding:4px 8px}.action-menu-popover.is-compact .action-menu-item:not(:hover):not(.active){background:0 0}.action-menu-popover.is-compact .action-menu-icon{color:var(--ff-muted)}.action-menu-popover.is-compact .action-menu-item:is(:hover,.active,[aria-checked=true]) .action-menu-icon{color:currentColor}.action-menu-popover.is-compact .action-menu-item strong{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);white-space:nowrap;text-overflow:ellipsis;line-height:1.25;overflow:hidden}.action-menu-popover.is-compact .action-menu-item[aria-checked=true] strong{font-weight:var(--ff-weight-semibold)}.action-menu-popover.is-compact .action-menu-item>svg{width:14px;height:14px}.action-menu-panel-host{border-radius:var(--ff-dropdown-radius);color:var(--ff-ink);background:var(--ff-dropdown-background);transition:border-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;border:1px solid #0000;margin:1px;overflow:hidden}.action-menu-expanded{border-color:var(--ff-line);box-shadow:var(--ff-shadow-sm)}.action-menu-expanded .action-menu-item.expanded{min-height:40px;color:var(--ff-primary);background:var(--ff-accent-soft);border-radius:0}.action-menu-expanded .action-menu-item.expanded .action-menu-icon{color:var(--ff-primary)}.action-menu-subpanel-chevron{transition:transform var(--ff-dropdown-duration) ease;flex:none}.action-menu-item.expanded .action-menu-subpanel-chevron{transform:rotate(90deg)}.action-menu-subpanel-reveal{opacity:0;visibility:hidden;transition:grid-template-rows var(--ff-duration-base) var(--ff-ease-out), opacity var(--ff-duration-fast) ease, visibility 0s linear var(--ff-duration-base);grid-template-rows:0fr;display:grid}.action-menu-expanded .action-menu-subpanel-reveal{opacity:1;visibility:visible;transition:grid-template-rows var(--ff-duration-base) var(--ff-ease-out), opacity var(--ff-duration-fast) ease 30ms, visibility 0s;grid-template-rows:1fr}.action-menu-subpanel-clip{min-height:0;overflow:hidden}.action-menu-subpanel{border-top:1px solid var(--ff-line);background:var(--ff-dropdown-background);margin:0 5px 5px;padding:5px}.export-quality-panel{gap:2px;width:100%;display:grid}.export-quality-panel .dropdown-item{grid-template-columns:20px minmax(0,1fr);display:grid}.export-quality-panel .dropdown-item>span{text-align:left;gap:2px;min-width:0;display:grid}.export-quality-panel .dropdown-item strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.export-quality-panel .dropdown-item small{color:var(--ff-muted);font-size:var(--ff-text-2xs)}.action-menu-prompt{border-top:1px solid color-mix(in srgb, var(--ff-accent) 16%, var(--ff-line));background:var(--ff-surface-solid);grid-template-columns:minmax(0,1fr);gap:7px;padding:10px;display:grid}.action-menu-prompt.has-error{box-shadow:inset 3px 0 var(--ff-danger)}.action-menu-prompt label{color:var(--ff-neutral-62);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold)}.action-menu-prompt textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);width:100%;min-height:72px;color:var(--ff-ink);background:var(--ff-surface-subtle);font:inherit;font-size:var(--ff-text-sm);outline:0;padding:9px 10px;line-height:1.45}.action-menu-prompt textarea::placeholder{color:var(--ff-faint)}.action-menu-prompt small{color:var(--ff-danger);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);line-height:1.4}.action-menu-prompt>div{justify-content:flex-end;align-items:center;gap:6px;padding-top:1px;display:flex}.action-menu-prompt button{border-radius:var(--ff-radius-sm);min-width:64px;height:32px;color:var(--ff-neutral-62);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.action-menu-prompt button:first-child:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.action-menu-prompt button:last-child{color:var(--ff-on-accent);border-color:var(--ff-primary);background:var(--ff-primary)}.action-menu-prompt button:last-child:hover{background:var(--ff-accent)}.action-menu-prompt button:disabled{opacity:.4}.format-bar .video-speed-trigger{width:32px;min-width:32px;height:32px;color:var(--ff-muted);background:0 0;padding:0}.format-bar .video-speed-trigger:hover{color:var(--ff-primary);background:var(--ff-surface-hover)}.format-bar .video-speed-trigger.is-open{color:var(--ff-primary);background:var(--ff-accent-soft)}.video-speed-popover{width:248px}.video-speed-panel{gap:14px;padding:6px 4px 4px;display:grid}.video-speed-presets{border-radius:var(--ff-radius-md);background:var(--ff-surface-subtle);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;display:grid}.video-speed-presets button{border-radius:var(--ff-radius-sm);min-width:0;height:26px;color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums;transition:background var(--ff-duration-fast) ease, color var(--ff-duration-fast) ease;background:0 0;border:0;padding:0 3px}.video-speed-presets button:hover{color:var(--ff-ink)}.video-speed-presets button.active{color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.studio-dropdown-trigger{max-width:190px;color:var(--ff-muted);box-shadow:none;border:0;flex:0 auto;align-items:center;gap:6px;border-radius:var(--ff-radius-md)!important;background:0 0!important;justify-content:flex-start!important;min-width:0!important;height:36px!important;padding:0 9px!important;display:inline-flex!important}.studio-dropdown-trigger:hover{color:var(--ff-primary)!important;background:var(--ff-surface-hover)!important}.studio-dropdown-trigger.is-open{color:var(--ff-primary)!important;background:var(--ff-accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent)!important}.studio-dropdown-icon{color:var(--ff-accent);flex:none;place-items:center;display:grid}.studio-dropdown-icon>svg{stroke-width:1.9px;width:16px!important;height:16px!important}.studio-dropdown-value{min-width:0;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.studio-dropdown-search{z-index:2;color:var(--ff-muted);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;margin-bottom:5px;padding:0 9px;display:grid;position:sticky;top:0}.studio-dropdown-search input{min-width:0;height:36px;color:var(--ff-ink);font-size:var(--ff-text-sm);background:0 0;border:0;outline:0;padding:0}.studio-dropdown-search input::placeholder{color:var(--ff-faint)}.studio-dropdown-empty{color:var(--ff-muted);font-size:var(--ff-text-sm);text-align:center;padding:18px 10px}.studio-dropdown-option{grid-template-columns:minmax(0,1fr) 18px;display:grid}.studio-dropdown-option>span{gap:2px;min-width:0;display:grid}.studio-dropdown-option strong{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);white-space:normal;overflow-wrap:anywhere;line-height:1.3}.studio-dropdown-option small{color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-medium);white-space:normal;overflow-wrap:anywhere;line-height:1.35}.studio-dropdown-option>svg{color:var(--ff-accent)}.studio-labeled-dropdown{color:var(--ff-muted);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px;display:grid}.studio-labeled-dropdown .studio-dropdown-trigger{width:100%;max-width:none;color:var(--ff-ink);border:1px solid var(--ff-line);text-transform:none;background:var(--ff-surface-solid)!important}.studio-labeled-dropdown .studio-dropdown-trigger:hover{color:var(--ff-ink)!important;background:var(--ff-surface-hover)!important}.studio-labeled-dropdown .studio-dropdown-trigger:disabled{opacity:.55}.studio-labeled-dropdown-error{color:var(--ff-danger);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-medium);text-transform:none;grid-column:1/-1;line-height:1.3}.format-bar .advanced-text-trigger{width:34px;min-width:34px;height:32px;padding:0}.format-bar .advanced-text-trigger.is-open{color:var(--ff-primary);background:var(--ff-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-accent) 22%, transparent)}.advanced-text-popover{width:260px}.advanced-text-header{color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;padding:5px 7px 7px}.advanced-text-actions{border-top:1px solid var(--ff-line);grid-template-columns:repeat(5,1fr);gap:2px;padding:4px 6px;display:grid}.advanced-text-actions button{border-radius:var(--ff-radius-sm);width:100%;height:30px;color:var(--ff-muted);background:0 0;place-items:center;padding:0;display:grid}.advanced-text-actions button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.advanced-text-actions button[aria-pressed=true]{color:var(--ff-text-inverse);background:var(--ff-ink)}.advanced-text-alignment{border-top:0;grid-template-columns:repeat(4,1fr);padding-top:0}.advanced-text-anchor{border-top:1px solid var(--ff-line);align-items:center;gap:6px;padding:4px 6px;display:flex}.advanced-text-anchor>span{color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);flex:1 1 0}.advanced-text-anchor .advanced-text-actions{border-top:0;flex:none;grid-template-columns:repeat(3,30px);padding:0}.format-bar .transform-control-trigger{gap:6px;width:auto;min-width:32px;height:32px;padding:0 9px}.format-bar .transform-control-trigger>span{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);white-space:nowrap}.format-bar .transform-control-trigger.is-open{color:var(--ff-primary);background:var(--ff-accent-soft)}.transform-control-popover{width:300px}.transform-popover-header{height:38px;color:var(--ff-ink);align-items:center;gap:8px;padding:0 9px 4px;display:flex}.transform-popover-header>svg{color:var(--ff-accent)}.transform-popover-header strong{font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold)}.transform-section{border-top:1px solid var(--ff-line);gap:7px;padding:10px 8px;display:grid}.transform-section h3{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);margin:0}.transform-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.transform-action-grid button{border-radius:var(--ff-radius-md);min-width:0;height:36px;color:var(--ff-ink);background:var(--ff-surface-subtle);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);border:0;justify-content:flex-start;align-items:center;gap:7px;padding:0 8px;display:flex}.transform-action-grid button:hover:not(:disabled){color:var(--ff-primary);background:var(--ff-surface-hover)}.transform-action-grid button>svg{color:var(--ff-muted);flex:none}.transform-align-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transform-align-grid button{flex-direction:column;justify-content:center;gap:3px;height:48px}.transform-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.transform-field-grid label{min-width:0;color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);gap:4px;display:grid}.transform-field-grid label.is-wide{grid-column:1/-1}.transform-slider-value{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;width:72px;height:32px;padding:0 8px;display:grid}.transform-slider-value input{appearance:textfield;width:100%;min-width:0;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-sm);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:none;padding:0}.transform-slider-value input::-webkit-inner-spin-button{appearance:none;margin:0}.transform-slider-value input::-webkit-outer-spin-button{appearance:none;margin:0}.transform-slider-value input:focus{border-color:inherit;outline:none}.transform-slider-value small{color:var(--ff-faint);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-medium)}.transform-number-input{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;height:32px;padding:0 8px;display:grid}.transform-number-input input{width:100%;min-width:0;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-sm);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;padding:0}.transform-number-input input:focus{border-color:inherit;outline:none}.transform-number-input small{color:var(--ff-faint);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-medium)}.transform-icon-actions{border-top:1px solid var(--ff-line);align-items:center;gap:4px;padding:6px 8px;display:flex}.transform-icon-actions>svg{color:var(--ff-muted);margin-right:2px}.transform-icon-actions>span{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);margin-right:auto}.transform-icon-actions button{border-radius:var(--ff-radius-sm);width:36px;height:34px;color:var(--ff-muted);background:0 0;place-items:center;padding:0;display:grid}.transform-icon-actions button:hover:not(:disabled){color:var(--ff-ink);background:var(--ff-surface-hover)}.transform-icon-actions button[aria-pressed=true]{color:var(--ff-text-inverse);background:var(--ff-ink)}.transform-icon-actions button:disabled,.transform-action-grid button:disabled,.transform-number-input input:disabled{opacity:.35}.transform-icon-actions .transform-action-unavailable{color:var(--ff-faint);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-medium);margin:0}.toolbar-responsive-actions{align-items:center;gap:2px;display:inline-flex}.responsive-format-bar>.toolbar-overflow-secondary,.element-format-bar>span.toolbar-overflow-tight{white-space:nowrap;flex:none;align-items:center;gap:2px;display:inline-flex}.element-format-bar span.toolbar-overflow-secondary{display:contents}.format-bar .toolbar-overflow-menu{display:none}.element-format-bar{max-width:min(calc(100% - 24px), var(--toolbar-safe-width,calc(100% - 24px)))}.element-format-bar:not([data-overflow-tier="0"]) span.toolbar-overflow-secondary,.element-format-bar:not([data-overflow-tier="0"]) .toolbar-overflow-secondary,.element-format-bar:not([data-overflow-tier="0"]) .toolbar-responsive-actions{display:none}.format-bar.element-format-bar:not([data-overflow-tier="0"]) .toolbar-overflow-menu{display:flex}.element-format-bar:is([data-overflow-tier="2"],[data-overflow-tier="3"]) .toolbar-overflow-narrow,.element-format-bar[data-overflow-tier="3"] .toolbar-overflow-tight{display:none}@container (width<=900px){.element-format-bar span.toolbar-overflow-secondary,.element-format-bar .toolbar-overflow-secondary,.element-format-bar .toolbar-responsive-actions{display:none}.format-bar.element-format-bar .toolbar-overflow-menu{display:flex}}@container (width<=560px){.element-format-bar .toolbar-overflow-narrow{display:none}}@container (width<=420px){.element-format-bar .toolbar-overflow-tight{display:none}}@container (width<=760px){.stage-shell>.responsive-format-bar>.toolbar-overflow-secondary,.format-bar .toolbar-responsive-actions{display:none}.format-bar .toolbar-overflow-menu{display:flex}}.stage-shell>.format-bar .toolbar-stepper .stepper-button>svg{width:13px;height:13px}.canvas-size-editor{align-items:center;gap:5px;padding:0 8px 0 5px;display:flex}.canvas-size-editor input{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface-raised);width:72px;height:30px;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);text-align:center;outline:0;padding:0 7px}.canvas-size-editor span{color:var(--ff-muted);font-size:var(--ff-text-md)}.studio-rail,.page-with-rail>.studio-rail{z-index:25;box-sizing:border-box;width:76px;min-width:76px;height:calc(100% - 16px);min-height:0;color:var(--ff-neutral-62);border:1px solid color-mix(in srgb, var(--ff-neutral-0) 85%, transparent);border-radius:var(--ff-radius-3xl);background:color-mix(in srgb, var(--ff-neutral-0) 95%, transparent);box-shadow:var(--ff-shadow-float);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-self:stretch;margin:8px;padding:8px 4px;overflow:hidden auto}.studio-rail button,.studio-rail>a{border-radius:var(--ff-radius-xl);flex:0 0 58px;gap:4px;width:66px;height:58px;margin:0 0 4px;text-decoration:none}.studio-rail button>svg,.studio-rail>a>svg{width:22px;height:22px}.studio-rail button span,.studio-rail>a span{font-size:var(--ff-text-xs);font-weight:var(--ff-weight-medium)}.page-with-rail{grid-template-columns:80px minmax(0,1fr)}.studio-rail,.page-with-rail>.studio-rail{border-color:var(--ff-neutral-14);border-radius:var(--ff-radius-4xl);background:color-mix(in srgb, var(--ff-neutral-0) 97%, transparent);width:64px;min-width:64px;box-shadow:var(--ff-shadow-float);margin:8px;padding:7px 5px}.studio-rail button,.studio-rail>a{width:52px;height:52px;color:var(--ff-neutral-62);border-radius:var(--ff-radius-2xl);box-shadow:none;background:0 0;flex-direction:column;flex-basis:52px;justify-content:center;align-items:center;gap:3px;margin-bottom:5px;padding:0;display:flex}.studio-rail button>svg,.studio-rail>a>svg{stroke-width:1.9px;flex:none;width:19px;height:19px}.studio-rail button span,.studio-rail>a span{width:46px;height:auto;color:inherit;font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-medium);text-align:center;text-overflow:ellipsis;white-space:nowrap;clip-path:none;line-height:1.1;position:static;overflow:hidden}.studio-rail button.active,.studio-rail>a.active,.studio-rail .rail-create.active{color:var(--ff-on-accent);background:var(--ff-ink);box-shadow:var(--ff-shadow-float)}.studio-rail .rail-create{color:var(--ff-neutral-62);box-shadow:none;background:0 0;margin-bottom:5px}.rail-divider{background:var(--ff-neutral-10);flex:0 0 1px;width:34px;height:1px;margin:5px 0 10px}.page-with-rail{grid-template-columns:var(--studio-navigation-width) minmax(0, 1fr);min-width:0;display:grid}.studio-rail,.page-with-rail>.studio-rail{z-index:25;width:68px;min-width:68px;height:calc(100% - 24px);color:var(--ff-ink);border:1px solid var(--ff-line);background:linear-gradient(180deg, var(--ff-surface-glass-strong), var(--ff-surface-glass));box-shadow:8px 0 30px -14px var(--ff-shadow-color-strong), var(--ff-shadow-float);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:0;border-radius:0 28px 28px 0;align-self:stretch;margin:12px 12px 12px 0;padding:14px 6px;position:relative;inset:auto;overflow:visible}.studio-rail button,.studio-rail>a,.studio-rail .rail-create{z-index:1;width:54px;height:50px;color:var(--ff-muted);border-radius:var(--ff-radius-2xl);box-shadow:none;transition:color var(--ff-duration-base) ease, background-color var(--ff-duration-base) ease;background:0 0;flex:none;gap:3px;margin:0 auto 6px;position:relative}.studio-rail>button>.rail-label,.studio-rail>a>.rail-label{width:48px;color:inherit;font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;line-height:1.1;display:block;overflow:hidden}.studio-rail button:hover,.studio-rail>a:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.studio-rail button:not(.rail-create).active,.studio-rail button:not(.rail-create).active:hover,.studio-rail>a.active,.studio-rail>a.active:hover{color:var(--ff-text-inverse);background:var(--ff-primary);box-shadow:none}.studio-rail button:not(.rail-create).active>svg,.studio-rail>a.active>svg{z-index:1;position:relative}.studio-rail .rail-create,.studio-rail .rail-create.active{width:46px;height:46px;color:var(--ff-text-inverse);border-radius:var(--ff-radius-3xl);background:var(--ff-primary);margin-bottom:12px}.studio-rail .rail-create:hover{color:var(--ff-text-inverse);background:color-mix(in srgb, var(--ff-primary) 86%, var(--ff-neutral-100))}.studio-rail button>svg,.studio-rail>a>svg{stroke-width:1.9px;width:20px;height:20px}.studio-rail .rail-create>svg{z-index:1;width:18px;height:18px;position:relative}.studio-rail .rail-divider{background:var(--ff-line);flex:0 0 1px;width:34px;height:1px;margin:4px auto 12px}.studio-workspace.panel-open>.studio-rail{background:linear-gradient(180deg, var(--ff-surface-glass-strong), var(--ff-surface-glass));box-shadow:none;border-right:0;border-radius:0;margin-right:0}@keyframes studio-panel-extend{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.studio-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px, 1fr) var(--timeline-height,260px);background:var(--ff-surface-raised);min-height:0;padding-left:0;display:grid;position:relative}.studio-workspace.panel-open{grid-template-columns:minmax(0,1fr)}.design-editor .studio-workspace{grid-template-rows:minmax(0,1fr)}.studio-workspace:has(>.video-page-strip){--timeline-height:220px!important}.presentation-editor .studio-workspace:has(>.video-page-strip){--timeline-height:168px!important}.studio-shell>.studio-workspace:has(>.video-page-strip){background:var(--studio-projects-background)}.studio-workspace:has(>.video-page-strip)>.stage-shell{background:0 0}.studio-workspace:has(>.video-page-strip)>.stage-shell>.stage-viewport{background:0 0}.studio-workspace:has(>.video-page-strip)>.video-page-strip.timeline-webgl-host{background:0 0}:is(.studio-workspace:has(>.video-page-strip)>.studio-timeline,.studio-workspace:has(>.video-page-strip)>.timeline-resize-handle){display:none}.studio-workspace>.studio-rail{grid-area:1/1/-1}.studio-workspace>.studio-panel{grid-area:1/2/-1}.studio-workspace>.studio-timeline{--timeline-ruler-height:36px;min-width:0;min-height:0;margin:8px 8px 8px calc(var(--studio-navigation-width) + 14px);border:1px solid color-mix(in srgb, var(--ff-neutral-100) 6%, transparent);border-radius:var(--ff-radius-2xl);background:var(--ff-surface-raised);box-shadow:0 1px 2px color-mix(in srgb, var(--ff-neutral-100) 4%, transparent), 0 8px 24px color-mix(in srgb, var(--ff-neutral-100) 6%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-user-select:none;user-select:none;grid-area:2/1;grid-template-rows:44px minmax(0,1fr);display:grid;overflow:hidden}.studio-workspace>.timeline-webgl-host,.studio-workspace>.studio-timeline.timeline-webgl-host,.studio-workspace>.video-page-strip.timeline-webgl-host{background:var(--studio-projects-background);touch-action:none;outline:0;padding:0;display:block;position:relative;overflow:hidden}.studio-workspace>.studio-timeline.timeline-webgl-host{background:var(--ff-surface-raised)}.timeline-webgl-host:focus,.timeline-webgl-host:focus-visible{box-shadow:none;outline:0}.timeline-webgl-canvas{background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.video-page-strip{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;grid-area:2/1;grid-template-rows:38px minmax(0,1fr);gap:8px;margin:0;padding:8px 18px 12px;display:grid;position:relative;overflow:hidden}.panel-open>.video-page-strip{grid-column:1}.presentation-editor .studio-workspace:has(>.presentation-layout-vertical){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 220px}.presentation-editor .studio-workspace.panel-open:has(>.presentation-layout-vertical){grid-template-columns:minmax(0,1fr) 220px}.presentation-editor .studio-workspace>.presentation-layout-vertical{grid-area:1/2;min-height:0}.presentation-editor .studio-workspace.panel-open>.presentation-layout-vertical{grid-column:2}.presentation-editor .studio-workspace:fullscreen{background:var(--ff-neutral-100);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding:0}.presentation-editor .studio-workspace:fullscreen>:is(.studio-rail,.studio-panel,.video-page-strip){display:none!important}.presentation-editor .studio-workspace:fullscreen>.stage-shell{background:var(--ff-neutral-100);border-radius:0;grid-area:1/1;min-width:0;min-height:0;margin:0}:is(.presentation-editor .studio-workspace:fullscreen .editor-kit-stage-chrome-top,.presentation-editor .studio-workspace:fullscreen .editor-kit-tool-rail,.presentation-editor .studio-workspace:fullscreen .editor-kit-zoom-overlay){display:none!important}.pages-timeline-scroll{box-sizing:border-box;align-items:stretch;gap:10px;min-width:0;min-height:0;padding:4px 4px 6px;display:flex;overflow:auto hidden}.pages-timeline-track{touch-action:none;flex:none;grid-template-rows:minmax(0,1fr) 38px;gap:8px;display:grid;position:relative}.pages-timeline-track.is-move{cursor:grabbing}.pages-timeline-track.is-trim-start,.pages-timeline-track.is-trim-end{cursor:ew-resize}.pages-playhead,.pages-playhead:focus,.pages-playhead:focus-visible{z-index:12;width:18px;box-shadow:none;cursor:ew-resize;touch-action:none;will-change:left;background:0 0;border:0;outline:0;margin-left:-9px;position:absolute;top:0;bottom:-46px;left:0}.pages-playhead:before{content:"";border-radius:3px 3px var(--ff-radius-xs) var(--ff-radius-xs);background:var(--ff-neutral-100);width:12px;height:8px;box-shadow:var(--ff-shadow-sm);position:absolute;top:1px;left:3px}.pages-playhead:after{content:"";background:var(--ff-neutral-100);width:2px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-neutral-0) 50%, transparent);border-radius:2px;position:absolute;inset:8px auto 0 8px}.pages-playback{z-index:2;width:max-content;color:var(--ff-neutral-74);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums;justify-self:center;align-items:center;gap:10px;display:flex;position:sticky;left:0}.pages-playback button.playback-button{width:36px;height:36px;color:var(--ff-text-inverse);background:var(--ff-ink)}.pages-playback button.playback-button:hover{background:var(--ff-neutral-86)}.pages{align-items:stretch;gap:10px;min-width:0;height:100%;display:flex;position:relative}.pages.inserting{background:color-mix(in srgb, var(--ff-selection) 5%, transparent)}.video-page-slot{flex:0 0 76px;width:76px;display:flex;position:relative}.video-page{box-sizing:border-box;border-radius:var(--ff-radius-md);background:var(--ff-surface-raised);width:76px;min-width:0;box-shadow:var(--ff-shadow-sm);border:1px solid #0000;flex:0 0 76px;grid-template-rows:minmax(0,1fr);grid-template-columns:1fr auto;gap:6px;padding:4px;display:grid;position:relative}.video-page-drop-zone{z-index:6;width:24px;position:absolute;top:-5px;bottom:-5px;left:calc(100% - 7px)}.video-page-drop-zone.active{background:color-mix(in srgb, var(--ff-selection) 16%, transparent)}.video-page-drop-zone.active:after{content:"";background:var(--ff-selection);width:4px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ff-selection) 20%, transparent);border-radius:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.video-page.playing{border-color:var(--ff-neutral-50);box-shadow:0 0 0 2px var(--ff-neutral-0), 0 0 0 3px var(--ff-neutral-50)}.video-page.selected{box-shadow:var(--ff-shadow-sm);border-color:#0000}.video-page.selected:after{z-index:8;box-sizing:border-box;border:2px solid var(--ff-selection);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.video-page-preview{border-radius:var(--ff-radius-xs);background:var(--ff-neutral-10);grid-column:1/-1;padding:0;position:relative;overflow:hidden}.video-page-preview img,.video-page-preview video{object-fit:cover;width:100%;height:100%;display:block}.video-page-number{z-index:1;color:var(--ff-on-accent);font-size:var(--ff-text-sm);text-shadow:0 1px 3px var(--ff-neutral-100);position:absolute;bottom:4px;left:5px}.video-page>small{color:var(--ff-muted);font-size:var(--ff-text-2xs);font-variant-numeric:tabular-nums;align-self:center}.video-page-drop-insertion{z-index:10;background:var(--ff-selection);width:3px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-selection) 18%, transparent);pointer-events:none;border-radius:2px;position:absolute;top:-4px;bottom:-4px;transform:translate(-50%)}.video-page-drop-insertion:before{content:"";border-radius:var(--ff-radius-round);background:var(--ff-selection);width:9px;height:9px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.pages-audio-lane{border-radius:var(--ff-radius-sm);background:var(--ff-neutral-10);height:38px;position:relative}.pages-audio-lane .timeline-audio-track{border-radius:var(--ff-radius-lg);height:32px;color:var(--ff-on-accent);background:var(--ff-ai-strong);box-shadow:none;border:0;top:3px}.pages-audio-lane .timeline-audio-track:hover,.pages-audio-lane .timeline-audio-track.selected{background:var(--ff-ai-strong)}.pages-audio-lane .timeline-audio-track.selected{box-shadow:0 0 0 2px var(--ff-ai)}.pages-audio-lane .timeline-audio-waveform{color:var(--ff-on-accent)}.video-page-add{border-radius:var(--ff-radius-md);background:var(--ff-neutral-10);flex:0 0 110px;grid-template-columns:1fr 28px;width:110px;display:grid;overflow:hidden}.video-page-add button{color:var(--ff-neutral-86);background:0 0;place-items:center;display:grid}.video-page-add button:hover:not(:disabled){background:var(--ff-neutral-14)}.video-page-add button+button{border-left:1px solid var(--ff-neutral-20)}.canvas-video-play{display:none}.studio-workspace:has(>.video-page-strip) .canvas-video-play{z-index:8;aspect-ratio:1;border-radius:var(--ff-radius-round);width:clamp(28px,22%,46px);color:var(--ff-neutral-100);background:color-mix(in srgb, var(--ff-neutral-0) 94%, transparent);box-shadow:var(--ff-shadow-lift);opacity:0;transition:opacity var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease;place-items:center;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:is(.studio-workspace:has(>.video-page-strip) .editable-element.video:hover>.canvas-video-play,.studio-workspace:has(>.video-page-strip) .editable-element.video:focus-within>.canvas-video-play,.studio-workspace:has(>.video-page-strip) .editable-element.video.selected>.canvas-video-play){opacity:1;display:grid}.canvas-video-play:hover{background:var(--ff-surface-raised)}.canvas-video-play svg{fill:currentColor;width:42%;height:42%}.design-editor .studio-workspace>.stage-shell{grid-column:1/-1;margin:0;position:absolute;inset:0}.studio-workspace.timeline-collapsed>.studio-timeline{display:none}.timeline-resize-handle{z-index:35;cursor:row-resize;touch-action:none;outline:0;grid-area:1/1;align-self:end;height:16px;margin:0;position:relative;transform:translateY(8px)}.studio-workspace.panel-open>.studio-timeline,.studio-workspace.panel-open>.timeline-resize-handle{grid-column:1}.studio-workspace.panel-open>.timeline-resize-handle{margin-left:0}.studio-shell,.studio-shell.design-editor{height:100vh;min-height:700px;color:var(--ff-ink);font-weight:var(--ff-weight-regular);background:var(--studio-projects-background);grid-template-rows:minmax(0,1fr);display:grid;position:relative}.studio-shell>.studio-topbar.app-topbar,.projects-view>.studio-topbar.app-topbar{z-index:60;box-sizing:border-box;width:100%;height:50px;position:fixed;top:0;left:0;right:0}.projects-view{--workspace-navigation-bg:var(--ff-canvas);background:var(--workspace-navigation-bg);height:100vh;position:relative;overflow:hidden}.projects-view>.page-with-rail{grid-template-columns:var(--studio-navigation-width) minmax(0, 1fr);box-sizing:border-box;background:var(--workspace-navigation-bg);min-height:100vh;padding-top:0}.projects-view>.page-with-rail.has-spaces-sidebar{grid-template-columns:var(--studio-navigation-width) 240px minmax(0, 1fr)}.projects-view>.page-with-rail>.spaces-sidebar{box-sizing:border-box;background:var(--workspace-navigation-bg);height:100vh;box-shadow:none;border:0;border-radius:0;align-self:stretch;margin:0;padding:22px 18px;position:relative;overflow-y:auto}.projects-view>.page-with-rail>.page-rail-content{box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--workspace-navigation-bg);border-radius:var(--ff-radius-2xl);height:calc(100vh - 16px);min-height:calc(100vh - 16px);box-shadow:none;align-self:start;margin:8px;overflow:hidden auto}.projects-view>.page-with-rail>.studio-rail{width:var(--studio-navigation-width);min-width:var(--studio-navigation-width);background:linear-gradient(180deg, var(--ff-surface-glass-strong), var(--ff-surface-glass));height:100vh;max-height:100vh;box-shadow:none;border:0;border-radius:0;margin:0;padding:14px 0;top:0;overflow:hidden auto}.studio-shell>.studio-workspace{background:var(--ff-surface-raised);grid-row:1}.studio-workspace>.stage-shell{background:var(--ff-surface-raised);border:0;border-radius:0;flex-direction:column;grid-area:1/1;min-width:0;min-height:0;margin:0;display:flex;position:relative;overflow:hidden}.studio-workspace.panel-open>.stage-shell{grid-column:1;margin-left:0}.studio-workspace{--studio-top-chrome-inset:0px}.studio-workspace.panel-open{--studio-top-chrome-inset:calc(8px + 58px + 312px + 12px)}.studio-workspace.panel-open:has(>.studio-panel>.studio-detail-panel){--studio-top-chrome-inset:calc(8px + 58px + 312px + 320px + 12px)}.studio-workspace.panel-open>.stage-shell>.format-bar{left:calc(var(--studio-top-chrome-inset) + (100% - var(--studio-top-chrome-inset)) / 2);max-width:calc(100% - var(--studio-top-chrome-inset) - 12px)}.studio-workspace.panel-open>.stage-shell>.editor-kit-stage-chrome-top,.studio-workspace.panel-open>.stage-shell .infinite-canvas-chrome-top{left:var(--studio-top-chrome-inset)}.studio-workspace>.stage-shell>.stage-viewport{background:var(--studio-projects-background)}.studio-workspace>.stage-shell{container-type:inline-size}.studio-workspace>.stage-shell .format-bar{z-index:50;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);width:max-content;max-width:calc(100% - 24px);min-height:36px;box-shadow:var(--ff-shadow-float);border:0;align-items:center;gap:2px;margin:0;padding:3px 6px;display:flex;position:absolute;top:8px;left:50%;overflow:visible;transform:translate(-50%)}.studio-workspace>.stage-shell .format-bar:before,.studio-workspace>.stage-shell .format-bar:after{display:none}.studio-workspace>.stage-shell .format-bar>.topbar-share-toolbar.is-embedded{z-index:auto;width:auto;max-width:none;min-height:36px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 0 0 4px;padding:0;position:static;top:auto;left:auto;right:auto;transform:none}.studio-workspace>.stage-shell .format-bar.toolbar-entering{transform-origin:50%;animation:canvas-toolbar-in var(--ff-duration-slow) var(--ff-ease-out) both}.studio-workspace>.stage-shell .format-bar.toolbar-exiting{pointer-events:none;transform-origin:50%;animation:canvas-toolbar-out var(--ff-duration-slow) cubic-bezier(.4, 0, 1, 1) both}@keyframes canvas-toolbar-in{0%{scale:.12 .06}72%{scale:1.03 1.02}to{scale:1}}@keyframes canvas-toolbar-out{0%{scale:1}to{scale:.12 .06}}.studio-workspace>.studio-rail,.page-with-rail>.studio-rail{border-color:var(--ff-neutral-14);background:var(--ff-neutral-10);height:calc(100vh - 90px);max-height:calc(100vh - 90px);box-shadow:none;overscroll-behavior:contain;align-self:start;margin-top:82px;margin-bottom:8px;padding-bottom:12px;position:sticky;top:82px;overflow-y:auto}.studio-workspace>.studio-panel{z-index:60;box-sizing:border-box;scrollbar-gutter:stable;border:1px solid var(--ff-line);border-radius:var(--ff-radius-3xl);background:var(--ff-surface-solid);width:336px;height:calc(100% - 90px);min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform-origin:0;flex-direction:column;grid-area:auto;margin:0;padding:24px 22px;display:flex;position:absolute;top:82px;left:68px;overflow-y:auto}.projects-view>.page-with-rail>.studio-rail.home-navigation{color:var(--ff-neutral-74);background:var(--workspace-navigation-bg);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.studio-rail.home-navigation>:is(button,a){width:var(--studio-navigation-width);height:58px;color:var(--ff-neutral-74);border-radius:var(--ff-radius-lg);box-shadow:none;background:0 0;flex-direction:column;flex:0 0 58px;gap:4px;margin:0 auto 4px;padding:0}.studio-rail.home-navigation>:is(button,a):hover{color:var(--ff-neutral-100);background:0 0}.studio-rail.home-navigation>:is(button,a).active,.studio-rail.home-navigation>:is(button,a).active:hover{color:var(--ff-neutral-100);box-shadow:none;background:0 0}.studio-rail.home-navigation>:is(button,a)>.rail-icon{border-radius:var(--ff-radius-round);width:32px;height:32px;transition:background-color var(--ff-duration-base) ease;background:0 0;flex:0 0 32px;place-items:center;display:grid;overflow:visible}.studio-rail.home-navigation>:is(button,a)>.rail-icon>svg{stroke-width:1.8px;width:20px;height:20px;display:block;overflow:visible}.studio-rail.home-navigation>:is(button,a):not(.rail-create):not(.active):hover>.rail-icon{background:var(--ff-neutral-7)}.studio-rail.home-navigation>:is(button,a).active>.rail-icon{color:var(--ff-neutral-100);box-shadow:none;background:0 0}.studio-rail.home-navigation>:is(button,a)>.rail-label{width:56px;height:auto;color:inherit;font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;clip-path:none;line-height:1.1;position:static;overflow:hidden}.studio-rail.home-navigation>.rail-create>.rail-icon{width:28px;height:28px;color:var(--ff-on-accent);background:var(--ff-neutral-100);flex-basis:28px}.studio-rail.home-navigation>.rail-create>.rail-icon>svg{width:18px;height:18px}.studio-rail.home-navigation>.rail-divider{background:var(--ff-neutral-10);width:26px;margin:5px auto 8px}.studio-rail.home-navigation .rail-footer{margin:0;padding:8px 0}.studio-rail .rail-footer{z-index:2;background:inherit;flex:none;position:sticky;bottom:0}.studio-rail.home-navigation .rail-footer .topbar-account{box-sizing:border-box;background:0 0;flex:0 0 40px;width:40px;min-width:40px;height:40px;margin:0;padding:0;line-height:0}.studio-rail.home-navigation .rail-footer .topbar-account:hover,.studio-rail.home-navigation .rail-footer .topbar-account.is-open,.studio-rail.home-navigation .rail-footer .user-avatar{background:0 0}.studio-rail.home-navigation .rail-footer .topbar-account img{width:32px;height:32px;margin:0}.studio-workspace.panel-open>.studio-panel{box-shadow:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:0;border-radius:0 28px 28px 0;margin-bottom:8px;margin-left:0}.studio-workspace>.studio-rail.editor-navigation{--editor-navigation-width:58px;z-index:50;width:var(--editor-navigation-width);min-width:var(--editor-navigation-width);border-radius:var(--ff-radius-4xl);background:var(--ff-surface-raised);height:calc(100% - 16px);max-height:calc(100% - 16px);box-shadow:var(--ff-shadow-float);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;margin:0;padding:4px 0 0;position:absolute;top:8px;left:8px;overflow:hidden auto;transform:none}.studio-workspace.panel-open>.studio-rail.editor-navigation{border-radius:var(--ff-radius-4xl) 0 0 var(--ff-radius-4xl);box-shadow:var(--ff-shadow-float)}.studio-workspace>.studio-rail.editor-navigation:after{display:none}.studio-workspace>.studio-rail.editor-navigation>:is(button,a),.studio-workspace>.studio-rail.editor-navigation .rail-create{width:100%;height:58px;color:var(--ff-neutral-74);border-radius:var(--ff-radius-lg);box-shadow:none;background:0 0;flex-direction:column;flex:0 0 58px;gap:4px;margin:0 auto 4px;padding:0}.studio-workspace>.studio-rail.editor-navigation>:is(button,a):hover{color:var(--ff-neutral-100);background:0 0}.studio-workspace>.studio-rail.editor-navigation>:is(button,a).active,.studio-workspace>.studio-rail.editor-navigation>:is(button,a).active:hover{color:var(--ff-neutral-100);box-shadow:none;background:0 0}.studio-workspace>.studio-rail.editor-navigation>:is(button,a)>.rail-icon{border-radius:var(--ff-radius-round);width:32px;height:32px;transition:background-color var(--ff-duration-base) ease;background:0 0;flex:0 0 32px;place-items:center;display:grid;overflow:visible}.studio-workspace>.studio-rail.editor-navigation>:is(button,a)>.rail-icon>svg{stroke-width:1.8px;width:20px;height:20px;display:block;overflow:visible}.studio-workspace>.studio-rail.editor-navigation>:is(button,a):not(.rail-create):not(.active):hover>.rail-icon{background:var(--ff-neutral-7)}.studio-workspace>.studio-rail.editor-navigation>:is(button,a).active>.rail-icon{color:var(--ff-neutral-100);box-shadow:none;background:0 0}.studio-workspace>.studio-rail.editor-navigation .rail-create>.rail-icon{width:28px;height:28px;color:var(--ff-on-accent);background:var(--ff-neutral-100);flex-basis:28px}.studio-workspace>.studio-rail.editor-navigation .rail-create>.rail-icon>svg{width:18px;height:18px}.studio-workspace>.studio-rail.editor-navigation>:is(button,a) .rail-label{width:56px;height:auto;color:inherit;font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;clip-path:none;line-height:1.1;position:static;overflow:hidden}.studio-workspace>.studio-rail.editor-navigation .rail-divider{background:var(--ff-neutral-10);width:26px;margin:5px auto 8px}.studio-workspace>.studio-rail.editor-navigation .rail-fill{flex:auto;min-height:16px;display:block}.studio-workspace>.studio-rail.editor-navigation .rail-footer{min-height:48px;padding:8px 0}.studio-workspace>.studio-rail.editor-navigation .rail-footer .topbar-account img{width:32px;height:32px;margin:0}.studio-workspace>.studio-rail.editor-navigation+.studio-panel{--editor-navigation-width:58px;top:8px;left:calc(8px + var(--editor-navigation-width));border-radius:0 var(--ff-radius-4xl) var(--ff-radius-4xl) 0;background:var(--ff-surface-raised);width:312px;height:calc(100% - 16px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;grid-area:auto;margin:0;padding:18px;position:absolute;overflow-y:auto}@keyframes editor-panel-bridge{0%{opacity:0;transform:translateY(-50%)scaleX(.12)scaleY(.38)}62%{opacity:1;transform:translateY(-50%)scaleX(1.14)scaleY(1.08)}to{opacity:1;transform:translateY(-50%)scaleX(1)scaleY(1)}}@media (width<=760px){.studio-shell>.studio-topbar.app-topbar,.projects-view>.studio-topbar.app-topbar{width:100%;height:50px;top:0;left:0;right:0}.projects-view>.page-with-rail.has-spaces-sidebar{grid-template-columns:var(--studio-navigation-width) minmax(0, 1fr)}.projects-view>.page-with-rail>.spaces-sidebar{z-index:20;top:0;bottom:0;left:var(--studio-navigation-width);width:min(240px, calc(100vw - var(--studio-navigation-width)));position:fixed}.studio-workspace>.stage-shell{margin-top:8px}.projects-view>.page-with-rail>.page-rail-content{min-height:calc(100vh - 16px);margin-top:8px}}@media (height<=700px){.studio-shell,.studio-shell.design-editor{height:100dvh;min-height:0}}.studio-rail>:is(button,a):not(.rail-create).active,.studio-rail>:is(button,a):not(.rail-create).active:hover{color:var(--ff-neutral-100);box-shadow:none;background:0 0}.studio-rail>:is(button,a):not(.rail-create)>.rail-icon{isolation:isolate;clip-path:none;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid;position:relative;overflow:visible}.studio-rail>:is(button,a):not(.rail-create).active>.rail-icon{color:var(--ff-neutral-100);box-shadow:none;background:0 0}.studio-rail>:is(button,a):not(.rail-create)>.rail-icon>svg{z-index:1;position:relative}.studio-rail>:is(button,a):not(.rail-create)>.rail-icon>svg.rail-ring{z-index:0;pointer-events:none;width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;inset:-6px}.rail-ring>path{fill:#efefef;stroke:#000;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1px;fill-opacity:0;animation:1.1s cubic-bezier(.45,0,.2,1) forwards rail-ring-draw,.6s ease-out forwards rail-ring-fill}@keyframes rail-ring-draw{to{stroke-dashoffset:0}}@keyframes rail-ring-fill{to{fill-opacity:1}}.hand-ink{color:#000;display:block;overflow:visible}.hand-ink>path{fill:none;stroke:currentColor;stroke-width:var(--ink-width,1.3);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1px;animation:rail-ring-draw var(--ink-duration,1.8s) cubic-bezier(.45, 0, .2, 1) var(--ink-delay,.15s) forwards}@media (prefers-reduced-motion:reduce){.hand-ink>path{stroke-dashoffset:0;animation:none}}.timeline-header{border-bottom:1px solid var(--ff-line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:auto;padding:0 12px;display:grid}.timeline-header>div{align-items:center;gap:5px;display:flex}.timeline-header>.canvas-status{grid-column:2;gap:9px}.timeline-header>div:last-child{grid-column:3;justify-self:end}.timeline-resize-handle:after{content:"";background:var(--ff-neutral-50);width:60px;height:2px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-neutral-2) 85%, transparent);border-radius:2px;position:absolute;top:7px;right:calc(50% - 30px)}.timeline-resize-handle:hover:after{background:var(--ff-accent);box-shadow:0 0 0 3px var(--ff-accent-soft)}:is(.studio-workspace.panel-open,.studio-workspace.panel-open:has(:is(.brand-kit-detail-panel,.studio-detail-panel))){grid-template-columns:minmax(0,1fr)}.studio-workspace>.studio-panel{width:312px;padding:18px}.studio-workspace>.studio-panel:has(>.studio-detail-panel){scrollbar-gutter:auto;clip-path:none!important;overflow:visible!important}.studio-detail-panel{z-index:2;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-3xl);background:var(--ff-surface-solid);width:312px;height:100%;min-height:0;box-shadow:var(--ff-shadow-card);padding:18px;position:absolute;top:0;left:320px;overflow-y:auto}.studio-detail-panel>.panel-close{z-index:2;border-radius:var(--ff-radius-sm);width:30px;height:30px;color:var(--ff-muted);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.studio-detail-panel>.panel-close:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.studio-panel>.panel-close{z-index:5;border-radius:var(--ff-radius-md);background:var(--ff-surface-hover);border:0;flex:none;align-self:flex-end;place-items:center;width:32px;height:32px;margin:-1px -3px -31px 0;padding:0;display:grid;position:sticky;top:-1px}.studio-panel>.panel-close:hover{background:var(--ff-surface-solid)}.studio-panel>.panel-close:focus{outline:none}.studio-workspace>.studio-panel.panel-projects,.studio-workspace>.studio-rail.editor-navigation+.studio-panel.panel-projects{box-shadow:none}.studio-panel>.panel-title-action{z-index:3;border-radius:var(--ff-radius-md);width:32px;height:32px;color:var(--ff-accent);background:var(--ff-surface-hover);cursor:default;border:0;flex:none;align-self:flex-end;place-items:center;margin:-1px 33px -31px 0;padding:0;display:grid;position:sticky;top:-1px}.studio-panel.has-panel-title-action>.panel-title{padding-right:72px}.studio-panel>.panel-title{z-index:1;isolation:isolate;border-bottom:1px solid var(--ff-line);background:var(--ff-canvas);flex:none;width:100%;min-width:0;margin:0 0 12px;padding:0 36px 10px 0;position:sticky;top:0}.studio-panel>.panel-title:before{content:"";z-index:-1;background:var(--ff-canvas);position:absolute;inset:-18px -18px 0}.studio-panel>.panel-title>div{min-width:0}.studio-panel>.panel-title h2{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.studio-panel>.panel-title h2>svg{color:var(--ff-accent);flex:none}.studio-panel>.panel-title h2>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.studio-panel :is(.mini-heading,.image-edit-prompt-card>label,.color-panel-section h3){color:var(--ff-ink);font-family:var(--ff-font-sans);font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);letter-spacing:0;text-transform:none;line-height:1.25}.studio-panel .layer-list{--layer-row-gap:1px;--layer-indent:16px}.studio-panel .layer-row{height:36px;padding:0 7px 0 calc(7px + var(--layer-depth,0) * var(--layer-indent));grid-template-columns:16px 26px minmax(0,1fr) auto 12px;gap:6px}.studio-panel .layer-row.layer-child-row{padding-left:calc(7px + var(--layer-depth,1) * var(--layer-indent))}.studio-panel .layer-tree-branch{left:calc(8px + (var(--layer-depth,1) - 1) * var(--layer-indent));width:9px}.studio-panel .layer-type{width:26px;height:26px}.studio-panel .layer-list strong{font-size:var(--ff-text-2xs);line-height:1}.studio-panel .layer-list small{font-size:var(--ff-text-3xs);line-height:1}.studio-panel .layer-actions button{border-radius:var(--ff-radius-xs);width:18px;height:18px}.studio-panel .layer-name-input{border-radius:var(--ff-radius-xs);height:18px;font-size:var(--ff-text-2xs);padding:0 4px}.studio-panel .template-grid button,.studio-panel .element-buttons button,.studio-panel .text-add-list button,.studio-panel .image-edit-actions>button{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);box-shadow:none;transform:none}.studio-panel .template-grid button:hover,.studio-panel .element-buttons button:hover,.studio-panel .text-add-list button:hover,.studio-panel .image-edit-actions>button:hover{border-color:var(--ff-card-border);background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm);transform:none}.studio-panel .media-empty,.studio-panel .layer-row{border-radius:var(--ff-radius-md)}.uploads-browser .upload-selection-footer{border-top:1px solid var(--ff-line);flex:none;width:100%;padding-top:10px}.uploads-browser .upload-selection-footer:empty{display:none}.uploads-browser .clear-upload-selection{border-radius:var(--ff-radius-md);width:100%;height:32px;color:var(--ff-ink);background:var(--ff-surface-hover);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);border:0;outline:none;justify-content:center;align-items:center;gap:7px;display:flex}.uploads-browser .clear-upload-selection:hover{background:var(--ff-surface-subtle)}.uploads-browser .clear-upload-selection small{border-radius:var(--ff-radius-md);min-width:18px;height:18px;color:var(--ff-text-inverse);background:var(--ff-ink);font-size:var(--ff-text-3xs);place-items:center;display:grid}.uploads-browser .upload-error{color:var(--ff-danger);font-size:var(--ff-text-xs);margin-top:8px;line-height:1.4}.image-edit-tools{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.image-edit-prompt-card{border:0;border-bottom:1px solid var(--ff-line);background:0 0;border-radius:0;gap:8px;padding:0 0 16px;display:grid}.image-edit-prompt-card.has-error{box-shadow:inset 3px 0 var(--ff-danger)}.image-edit-prompt-card label{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.image-edit-prompt-card textarea{box-sizing:border-box;resize:none;border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);width:100%;min-width:0;min-height:34px;max-height:180px;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-xs);transition:min-height var(--ff-duration-base) ease, border-color var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease;background:0 0;outline:0;padding:8px 9px;line-height:1.45;overflow-y:hidden}.image-edit-prompt-card textarea:focus{resize:vertical;min-height:108px;overflow-y:auto}.image-edit-prompt-card textarea::placeholder{color:var(--ff-faint)}.image-edit-prompt-card button{border-radius:var(--ff-radius-sm);width:100%;min-width:0;height:34px;color:var(--ff-on-accent);background:var(--ff-neutral-100);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);justify-content:center;justify-self:stretch;align-items:center;gap:5px;padding:0 11px;display:inline-flex}.image-edit-prompt-card button:hover:not(:disabled){background:var(--ff-neutral-86)}.image-edit-prompt-card button:disabled{opacity:.42}.image-edit-prompt-card small{color:var(--ff-danger);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.image-edit-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.image-edit-actions>button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);min-width:0;min-height:102px;color:var(--ff-ink);background:var(--ff-surface-solid);text-align:center;transition:border-color var(--ff-duration-base) ease, background-color var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease;align-content:center;place-items:center;gap:5px;padding:9px 7px;display:grid;overflow:hidden}.image-edit-actions>button:hover,.image-edit-actions>button.active{border-color:var(--ff-primary);background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm)}.image-edit-actions>button:disabled{opacity:.55}.image-edit-actions>button>span{border-radius:var(--ff-radius-sm);width:30px;height:30px;color:var(--ff-neutral-100);place-items:center;display:grid}.image-edit-actions strong{max-width:100%;font-size:var(--ff-text-sm);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.image-edit-actions small{color:var(--ff-muted);font-size:var(--ff-text-2xs);line-height:1.25}.image-edit-error{border-top:1px solid var(--ff-line);min-width:0;color:var(--ff-muted);font-size:var(--ff-text-2xs);align-items:flex-start;gap:6px;margin-top:auto;padding-top:10px;line-height:1.35;display:flex}.image-edit-error ol{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.image-edit-error li{align-items:center;gap:4px;min-width:0;display:inline-flex}.image-edit-error>svg:first-child{color:var(--ff-danger);flex:none}.image-edit-error li>svg{color:var(--ff-faint);flex:none}.image-edit-error strong{overflow-wrap:anywhere;min-width:0;color:var(--ff-danger);font-weight:var(--ff-weight-semibold)}.studio-panel:has(.panel-navigation-header)>.panel-title{display:none}.panel-navigation-header{z-index:2;isolation:isolate;border-bottom:1px solid var(--ff-line);background:var(--ff-canvas);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:32px;margin-bottom:-2px;padding:0 40px 10px 0;display:grid;position:sticky;top:0}.panel-navigation-header:before{content:"";z-index:-1;background:var(--ff-canvas);position:absolute;inset:-18px -18px 0}.panel-navigation-header>button{border-radius:var(--ff-radius-md);width:32px;height:32px;color:var(--ff-ink);cursor:pointer;transition:background-color var(--ff-duration-fast) ease, transform var(--ff-duration-fast) ease;background:0 0;border:0;place-items:center;padding:0;display:grid}.panel-navigation-header>button:first-child{margin-left:-6px}.panel-navigation-header>button:hover{background:var(--ff-surface-hover)}.panel-navigation-header>button:first-child:hover{transform:translate(-2px)}.panel-navigation-header>div{gap:2px;min-width:0;display:grid}.panel-navigation-header strong{color:var(--ff-ink);font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;line-height:1.1;overflow:hidden}.stage-canvas-stack{flex-direction:column;align-items:stretch;gap:14px;display:flex;position:relative}[data-viewport-fit=visible-area] .editor-kit-viewport:not(.design-pages-viewport)>.stage-canvas-stack{gap:0;width:100%;min-width:0;height:100%;min-height:0}[data-viewport-fit=visible-area] .editor-kit-viewport:not(.design-pages-viewport) .canvas-transform,[data-viewport-fit=visible-area] .editor-kit-viewport:not(.design-pages-viewport) .canvas-scale,[data-viewport-fit=visible-area] .editor-kit-viewport:not(.design-pages-viewport) .design-page-slot{width:100%;min-width:0;height:100%;min-height:0}.design-pages-viewport{--design-page-stack-inset:18px;overflow-anchor:none;overscroll-behavior:contain}.studio-workspace>.stage-shell>.design-pages-viewport[data-page-flow=horizontal]{background:var(--studio-projects-background)}.design-pages-viewport.editor-kit-viewport-scrollable{grid-template-columns:minmax(0,1fr);place-content:start stretch;place-items:start stretch;display:grid}.design-pages-viewport>:is(.design-page-stack-pixi-surface,.stage-canvas-stack){grid-area:1/1}.design-pages-viewport .stage-canvas-stack{z-index:0;box-sizing:border-box;pointer-events:none;justify-self:safe center;gap:0;min-height:100%;margin:0 auto;padding:0}.canvas-entry{display:contents}.design-page-stack-pixi-surface{z-index:2;pointer-events:auto;touch-action:none;align-self:start;position:sticky;top:0;left:0;overflow:hidden}.design-page-stack-pixi-canvas{pointer-events:auto;touch-action:none;display:block;position:absolute;top:0;left:0}.editor-kit-scrollbar-pointer-overlay{z-index:3;pointer-events:none;grid-area:1/1;align-self:start;position:sticky;top:0;left:0;overflow:visible}.editor-kit-scrollbar-hit{z-index:2;pointer-events:auto;touch-action:none;cursor:grab;display:none;position:absolute}.editor-kit-scrollbar-hit:active{cursor:grabbing}.editor-kit-scrollbar-hit.horizontal{height:20px;bottom:0;left:0;right:0}.editor-kit-scrollbar-hit.vertical{width:20px;top:0;bottom:0;right:0}.design-page-slot{flex:none;position:relative}.design-pages-viewport .canvas-transform{transform-origin:0 0}.studio-canvas .editable-element.multi-selected:after{content:"";z-index:91;outline:1.5px solid var(--ff-selection);pointer-events:none;position:absolute;inset:0}.studio-canvas .editable-element.locked.multi-selected:after{outline-style:dashed}.design-page-tabs{align-items:center;gap:6px;padding:2px;display:flex;overflow-x:auto}.design-page-tab{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface);align-items:center;display:flex;overflow:hidden}.design-page-tab>button:first-child{height:32px;color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);white-space:nowrap;background:0 0;border:0;padding:0 12px}.design-page-remove{border:0;border-left:1px solid var(--ff-line);width:26px;height:32px;color:var(--ff-muted);background:0 0;place-items:center;padding:0;display:grid}.design-page-remove:hover{color:var(--ff-danger);background:var(--ff-surface-hover)}.elements-media-library{border-top:1px solid var(--ff-line);gap:8px;padding-top:4px;display:grid}.elements-media-heading{color:var(--ff-ink);font-size:var(--ff-text-xs);justify-content:space-between;align-items:center;display:flex}.elements-media-heading button{border-radius:var(--ff-radius-xs);color:#173f4f;background:var(--ff-neutral-7);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);align-items:center;gap:5px;padding:5px 7px;display:flex}.elements-media-filters{gap:3px;display:flex}.elements-media-filters button{border-radius:var(--ff-radius-xs);color:var(--ff-muted);font-size:var(--ff-text-3xs);background:0 0;padding:5px 8px}.elements-media-filters button.active{color:var(--ff-on-accent);background:#173f4f}.elements-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.elements-media-grid button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface);text-align:left;min-width:0;padding:0;overflow:hidden}.elements-media-grid img,.elements-media-grid video{aspect-ratio:1.35;object-fit:cover;background:var(--ff-neutral-7);width:100%;display:block}.elements-media-grid span{color:var(--ff-ink);font-size:var(--ff-text-3xs);text-overflow:ellipsis;white-space:nowrap;padding:6px;display:block;overflow:hidden}.elements-media-empty{min-height:72px;color:var(--ff-muted);border:1px dashed var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface);font-size:var(--ff-text-2xs);align-content:center;place-items:center;gap:5px;display:grid}.text-add-list{gap:8px;display:grid}.text-add-list button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);width:100%;min-width:0;color:var(--ff-ink);background:var(--ff-surface-solid);text-align:left;text-overflow:ellipsis;white-space:nowrap;transition:border-color var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease, transform var(--ff-duration-base) ease;align-items:center;padding:0 14px;line-height:1.15;display:flex;overflow:hidden}.text-add-list .text-add-heading{height:60px;font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-bold)}.text-add-list .text-add-subheading{height:50px;font-size:var(--ff-text-lg);font-weight:var(--ff-weight-medium)}.text-add-list .text-add-body{height:44px;font-size:var(--ff-text-md);font-weight:var(--ff-weight-regular)}.text-add-list button:hover,.text-combination:hover{border-color:color-mix(in srgb, var(--ff-accent) 50%, transparent);box-shadow:var(--ff-shadow-sm)}.text-add-list button:hover{transform:translateY(-1px)}.text-combination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.text-combination{aspect-ratio:4/3;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-xl);background:var(--ff-surface-solid);text-align:center;min-width:0;transition:border-color var(--ff-duration-base), box-shadow var(--ff-duration-base), transform var(--ff-duration-base);place-items:center;padding:14px 12px;display:grid;position:relative;overflow:hidden}.text-combination:hover{transform:translateY(-2px)}.text-combination.is-dark{border-color:var(--ff-neutral-100);background:var(--ff-neutral-100)}.text-combination-preview{font-size:calc(34px * var(--fit,1));pointer-events:none;flex-direction:column;align-items:center;line-height:1;display:inline-flex}.text-combination-preview-line{white-space:nowrap;transform-origin:50%;padding:0 .06em;font-style:normal;line-height:1.02;display:block}.text-combination-preview-line+.text-combination-preview-line{margin-top:.04em}.timeline-grid{scrollbar-width:thin;scrollbar-color:var(--ff-line-strong) transparent;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;display:grid;overflow:hidden}.timeline-grid.is-overflowing-right{overflow-x:auto}.timeline-grid>.track-area{width:100%;min-width:100%}.timeline-background-track{z-index:2;pointer-events:auto;height:64px;right:0}.timeline-background-segment{z-index:2;box-sizing:border-box;height:64px;color:var(--ff-on-accent);border:1px solid var(--ff-neutral-28);border-radius:var(--ff-radius-2xl);box-shadow:inset 0 0 0 999px color-mix(in srgb, var(--ff-neutral-100) 30%, transparent);text-align:left;text-shadow:0 1px 3px var(--ff-neutral-100);grid-template-columns:22px minmax(0,1fr) auto;align-items:end;gap:6px;padding:0 8px 8px;display:grid;position:absolute;overflow:hidden;background-position:50%!important;background-size:cover!important}.timeline-background-segment:hover{z-index:3;border-color:var(--ff-neutral-28);box-shadow:inset 0 0 0 999px color-mix(in srgb, var(--ff-neutral-100) 16%, transparent)}.timeline-background-segment.selected{z-index:3;border-color:var(--ff-selection);box-shadow:inset 0 0 0 1px var(--ff-selection), inset 0 0 0 999px color-mix(in srgb, var(--ff-neutral-100) 16%, transparent)}.timeline-background-segment.is-white{color:var(--ff-ink);border-color:var(--ff-line);box-shadow:none;text-shadow:none}.timeline-background-segment.is-white:hover{border-color:var(--ff-neutral-28);box-shadow:none}.timeline-background-segment.is-white.selected{border-color:var(--ff-selection);box-shadow:inset 0 0 0 1px var(--ff-selection)}.timeline-background-segment>span{place-items:center;display:grid}.timeline-background-segment strong{font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-background-segment small{font-size:var(--ff-text-2xs);font-variant-numeric:tabular-nums}.timeline-add-background{z-index:4;width:32px;height:32px;color:var(--ff-on-accent);border:1px solid color-mix(in srgb, var(--ff-neutral-0) 72%, transparent);border-radius:var(--ff-radius-round);background:color-mix(in srgb, var(--ff-neutral-100) 72%, transparent);box-shadow:var(--ff-shadow-lift);place-items:center;margin:16px 0 0 6px;display:grid;position:absolute}.timeline-add-background:hover{border-color:var(--ff-neutral-0);background:var(--ff-primary)}.timeline-audio-lane{z-index:2;pointer-events:auto;right:0}.timeline-audio-empty{box-sizing:border-box;height:100%;color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);pointer-events:none;align-items:center;gap:6px;padding:0 10px;display:flex}.timeline-audio-track{border-color:var(--ff-ink);background:var(--ff-ink);cursor:move;padding:0;display:block;position:absolute;top:0;left:0}.timeline-audio-track:hover{border-color:var(--ff-ink);background:var(--ff-palette-primary)}.timeline-audio-track:hover .clip-trim-handle,.timeline-audio-track.is-trim-start .clip-trim-handle,.timeline-audio-track.is-trim-end .clip-trim-handle{opacity:1}.timeline-audio-track .clip-trim-handle:after{background:var(--ff-text-inverse)}.timeline-audio-waveform{z-index:1;color:var(--ff-text-inverse);pointer-events:none;display:block;position:absolute;inset:1px 0;overflow:hidden}.timeline-audio-waveform canvas{opacity:.96;height:100%;display:block;position:absolute;top:0}.timeline-background-menu{width:180px;display:grid}.timeline-background-menu button,.timeline-background-menu label{box-sizing:border-box;min-width:0;font-size:var(--ff-text-md);cursor:pointer;grid-template-columns:24px 1fr;display:grid;position:relative}.timeline-background-menu button:hover,.timeline-background-menu label:hover{background:var(--ff-dropdown-item-hover)}.timeline-background-menu button{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-background-menu label input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.timeline-background-menu .danger{color:var(--ff-danger)}.login-shell{color:#f7f3ea;background:var(--ff-neutral-100);isolation:isolate;grid-template-rows:auto 1fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-backdrop{z-index:-3;object-fit:cover;object-position:64% center;filter:saturate(.72)contrast(1.08);width:100%;height:100%;animation:1.2s ease-out both login-reveal;position:absolute;inset:0}.login-shade{z-index:-2;background:linear-gradient(90deg, color-mix(in srgb, var(--ff-neutral-100) 97%, transparent) 0%, color-mix(in srgb, var(--ff-neutral-100) 81%, transparent) 34%, color-mix(in srgb, var(--ff-neutral-100) 23%, transparent) 66%, color-mix(in srgb, var(--ff-neutral-100) 85%, transparent) 100%), linear-gradient(0deg, color-mix(in srgb, var(--ff-neutral-100) 90%, transparent) 0%, transparent 42%);position:absolute;inset:0}.login-shade:after{content:"";opacity:.2;background-image:linear-gradient(var(--ff-neutral-0) 1px, transparent 1px), linear-gradient(90deg, var(--ff-neutral-0) 1px, transparent 1px);-webkit-mask-image:linear-gradient(90deg, var(--ff-neutral-100), transparent 70%);mask-image:linear-gradient(90deg, var(--ff-neutral-100), transparent 70%);background-size:72px 72px;position:absolute;inset:0}.login-header{border-bottom:1px solid color-mix(in srgb, var(--ff-neutral-0) 14%, transparent);justify-content:space-between;align-items:center;height:82px;padding:0 clamp(24px,4vw,68px);display:flex}.login-mark{font-family:var(--ff-font-sans);font-size:var(--ff-text-lg);font-weight:var(--ff-weight-bold);align-items:center;gap:11px;display:flex}.login-mark span{width:30px;height:30px;color:var(--ff-neutral-100);background:var(--ff-accent);place-items:center;display:grid}.login-status{color:#d2cec5;font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);text-transform:uppercase;letter-spacing:1.2px;align-items:center;gap:8px;display:flex}.login-status i{border-radius:var(--ff-radius-round);background:#a8d672;width:7px;height:7px;box-shadow:0 0 0 4px #a8d67220}.login-hero{grid-template-columns:minmax(380px,.75fr) minmax(500px,1.25fr);align-items:center;gap:clamp(40px,6vw,100px);min-height:0;padding:52px clamp(24px,4vw,68px) 160px;display:grid}.login-copy{z-index:2;max-width:650px;animation:.75s ease-out .12s both login-rise;position:relative}.login-eyebrow{color:var(--ff-accent-soft);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:2px}.login-copy h1{font-family:var(--ff-font-serif);font-size:clamp(66px,7.5vw,126px);font-weight:var(--ff-weight-regular);letter-spacing:0;margin:20px 0 22px;line-height:.78}.login-copy p{color:#c5c1b9;max-width:510px;font-size:var(--ff-text-lg);margin:0;line-height:1.7}.login-capabilities{gap:7px;margin-top:29px;display:flex}.login-capabilities span{color:#dad6ce;border:1px solid color-mix(in srgb, var(--ff-neutral-0) 18%, transparent);height:31px;font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-transform:uppercase;letter-spacing:.7px;align-items:center;gap:7px;padding:0 10px;display:flex}.login-workbench{aspect-ratio:1.45;border:1px solid color-mix(in srgb, var(--ff-neutral-0) 24%, transparent);background:color-mix(in srgb, var(--ff-neutral-100) 85%, transparent);width:min(100%,780px);box-shadow:var(--ff-shadow-modal);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-self:end;animation:.9s ease-out .25s both login-rise;position:relative;overflow:hidden}.workbench-toolbar{border-bottom:1px solid color-mix(in srgb, var(--ff-neutral-0) 11%, transparent);background:var(--ff-neutral-100);grid-template-columns:1fr auto 1fr;align-items:center;height:11%;padding:0 3%;display:grid}.workbench-toolbar>div{gap:5px;display:flex}.workbench-toolbar i{border-radius:var(--ff-radius-round);background:color-mix(in srgb, var(--ff-neutral-0) 23%, transparent);width:6px;height:6px}.workbench-toolbar span{font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);letter-spacing:1.1px}.workbench-toolbar small{color:var(--ff-neutral-50);font-size:var(--ff-text-3xs);justify-self:end}.workbench-canvas{background:linear-gradient(90deg, color-mix(in srgb, var(--ff-neutral-100) 72%, transparent), transparent 75%), url(https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/640px-The_Earth_seen_from_Apollo_17.jpg) center / cover;height:66%;padding:8%;position:relative;overflow:hidden}.workbench-canvas span{color:var(--ff-accent-soft);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);letter-spacing:1.3px}.workbench-canvas strong{font-size:clamp(16px,2.2vw,34px);line-height:.96;position:absolute;bottom:13%;left:8%}.workbench-focus{aspect-ratio:1;border:1px solid var(--ff-accent);width:24%;position:absolute;top:27%;right:22%}.workbench-focus:before,.workbench-focus:after{content:"";border:1px solid var(--ff-accent);background:var(--ff-surface-raised);width:5px;height:5px;position:absolute}.workbench-focus:before{top:-4px;left:-4px}.workbench-focus:after{bottom:-4px;right:-4px}.workbench-timeline{background:var(--ff-neutral-100);grid-template-rows:1fr 1fr;grid-template-columns:9% 33% 21% 1fr;align-items:center;gap:4px;height:23%;padding:3% 4%;display:grid;position:relative}.workbench-timeline span{color:var(--ff-neutral-62);letter-spacing:.8px;font-size:6px}.workbench-timeline i,.workbench-timeline b{background:var(--ff-neutral-62);height:80%}.workbench-timeline i:nth-of-type(2){background:#91795e}.workbench-timeline i:nth-of-type(3){background:var(--ff-neutral-74)}.workbench-timeline b{background:#c6c0b3}.workbench-playhead{border-left:1px solid var(--ff-danger);position:absolute;top:0;bottom:0;left:48%}.login-panel{z-index:5;width:min(520px,100% - 48px);min-height:104px;color:var(--ff-neutral-100);border:1px solid color-mix(in srgb, var(--ff-neutral-0) 45%, transparent);box-shadow:var(--ff-shadow-modal);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f3eaf2;grid-template-columns:1fr 320px;align-items:center;gap:24px;padding:18px 20px;animation:.75s ease-out .4s both login-rise;display:grid;position:absolute;bottom:28px;right:clamp(24px,4vw,68px)}.login-panel-heading span{color:var(--ff-danger);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:1.2px}.login-panel-heading h2{font-family:var(--ff-font-serif);font-size:var(--ff-text-3xl);font-weight:var(--ff-weight-regular);margin:4px 0 0;line-height:1}.connect-button{width:320px;min-height:44px;color:var(--ff-on-accent);background:var(--ff-neutral-100);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-bold);letter-spacing:.4px;border:0}.connect-button:hover{background:var(--ff-neutral-86)}.connect-button:disabled{opacity:.65}.login-config{color:#65513d;font-size:var(--ff-text-2xs);background:#fffaf3;border:1px solid #d9c9ba;padding:10px 12px;line-height:1.45}.login-config code{color:#322820;font-weight:var(--ff-weight-semibold)}.login-panel .login-error{color:var(--ff-danger);font-size:var(--ff-text-2xs);grid-column:1/-1;margin:0}.login-panel>small{color:var(--ff-neutral-62);font-size:var(--ff-text-3xs);text-align:right;grid-column:1/-1;margin-top:-14px}@keyframes login-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes login-reveal{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.projects-content,.projects-browser{width:min(1180px,100% - 48px);margin:0 auto;padding:46px 0}.projects-browser{padding-top:24px}.projects-heading{justify-content:space-between;align-items:flex-end;margin-bottom:23px;display:flex}.projects-heading span{color:var(--ff-neutral-62);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;letter-spacing:1.2px}.projects-heading h1{font-family:var(--ff-font-serif);font-size:34px;font-weight:var(--ff-weight-regular);margin:4px 0 0}.projects-heading p{color:var(--ff-muted);font-size:var(--ff-text-sm);margin:0}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:17px;display:grid}.new-project-card,.project-card{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-sm);background:var(--ff-surface-raised);min-height:205px;box-shadow:var(--ff-shadow-card)}.new-project-card{color:var(--ff-accent);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.new-project-card strong{color:var(--ff-neutral-86);font-size:var(--ff-text-md)}.new-project-card span{color:var(--ff-neutral-50);font-size:var(--ff-text-2xs)}.project-card{cursor:pointer;position:relative;overflow:hidden}.project-card-open{z-index:2;background:0 0;outline:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.project-preview{height:150px;color:var(--ff-neutral-14);background:var(--ff-neutral-100);place-items:center;display:grid;overflow:hidden}.project-preview>img{object-fit:cover;grid-area:1/1;width:100%;height:100%}.project-canvas-thumbnail{background:var(--ff-surface-subtle);width:100%;height:auto;box-shadow:none;border:0;display:block;position:relative;overflow:hidden}.project-canvas-thumbnail>img{position:absolute;inset:0}.project-canvas-thumbnail>.studio-canvas{pointer-events:none;transform-origin:0 0;border:0;outline:0;position:absolute;top:0;left:0;overflow:hidden}.canvas-project-preview{background-color:var(--ff-neutral-4);background-image:radial-gradient(circle, var(--ff-neutral-20) 1px, transparent 1px);background-size:12px 12px;position:absolute;inset:0;overflow:hidden}.canvas-project-preview-node{box-shadow:var(--ff-shadow-sm);background-position:50%;background-size:cover;display:block;position:absolute;overflow:hidden}.canvas-project-preview-node.is-design{background-color:var(--ff-surface-raised)}.project-card>.project-description{padding:11px 13px}.project-card>.project-description strong,.project-card>.project-description>span{display:block}.project-card>.project-description strong{font-size:var(--ff-text-sm)}.project-card>.project-description>span{color:var(--ff-neutral-50);font-size:var(--ff-text-3xs);margin-top:3px}.project-card>.project-card-actions{z-index:3;border-radius:var(--ff-radius-xs);place-items:center;width:27px;height:27px;display:grid;position:absolute;bottom:10px;right:8px}.project-card>.project-description{z-index:2;box-sizing:border-box;min-width:0;color:var(--ff-ink);background:var(--ff-surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0;padding:9px 11px 10px;position:static;overflow:hidden}.project-card>.project-description:after{display:none}.project-card>.project-description>span{color:var(--ff-muted);margin-top:3px}.projects-search-row{align-items:center;gap:12px;margin:0 0 20px;display:flex}.projects-search-row>.panel-search-bar{flex:1;min-width:0;max-width:420px}.projects-search-row small{color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums}.project-browser-sentinel{height:1px}.projects-view-toggle{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid);padding:3px;display:inline-flex}.projects-view-toggle button{border-radius:var(--ff-radius-sm);width:34px;height:30px;color:var(--ff-muted);transition:color var(--ff-duration-base), background var(--ff-duration-base);background:0 0;border:0;place-items:center;display:grid}.projects-view-toggle button:hover{color:var(--ff-ink)}.projects-view-toggle button.active{color:var(--ff-on-accent);background:var(--ff-neutral-100)}.project-browser-grid{align-items:start}.project-browser-grid.layout-masonry{column-width:190px;column-gap:18px;display:block}.project-browser-grid.layout-masonry>*{break-inside:avoid;width:100%;margin:0 0 18px}.project-browser-grid.layout-masonry.is-projects{column-width:auto;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px 20px;display:grid}.project-browser-grid.layout-masonry.is-projects>*{margin:0}.project-browser-grid.layout-rows{flex-wrap:wrap;gap:14px;display:flex}.project-browser-grid.layout-rows>*{flex:1 1 calc(164px * var(--project-ar,1.4));height:164px;min-height:0;max-width:calc(164px * var(--project-ar,1.4) * 1.6);border-radius:var(--ff-radius-2xl);box-shadow:var(--ff-shadow-card);border:0;margin:0;position:relative;overflow:hidden}.project-browser-grid.layout-rows>:hover{box-shadow:var(--ff-shadow-float)}.layout-masonry .project-preview-placeholder small,.layout-rows .project-preview-placeholder small{display:none}:is(.layout-masonry,.layout-rows) .project-card{border:1px solid var(--ff-card-border);-webkit-backdrop-filter:none;backdrop-filter:none;will-change:transform;backface-visibility:hidden;background:#fff;border-radius:18px;flex-direction:column;height:auto;min-height:0;padding:6px;transition:transform .5s cubic-bezier(.33,1,.68,1),border-color .5s;display:flex;overflow:visible;box-shadow:0 1px 2px #0f172a0d}:is(.layout-masonry,.layout-rows) .project-card:after{content:"";z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.33,1,.68,1);position:absolute;inset:0;box-shadow:0 16px 32px -14px #0f172a4d}:is(.layout-masonry,.layout-rows) .project-card:hover:after{opacity:1}:is(.layout-masonry,.layout-rows) .project-card:hover{border-color:color-mix(in srgb, var(--ff-ink) 14%, transparent);transform:translateY(-3px)}:is(.layout-masonry,.layout-rows) .project-preview{width:100%;height:auto;min-height:0;max-height:380px;aspect-ratio:var(--project-ratio);background:color-mix(in srgb, var(--ff-ink) 4%, var(--ff-surface-solid));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-ink) 6%, transparent);border-radius:13px;position:relative;overflow:hidden}.is-projects .project-card .project-preview{aspect-ratio:16/10;background-color:color-mix(in srgb, var(--ff-ink) 3%, var(--ff-surface-solid));background-image:radial-gradient(color-mix(in srgb, var(--ff-ink) 16%, transparent) 1px, transparent 1.3px);background-size:14px 14px}.is-projects .project-card .project-preview>img{object-fit:cover}:is(.layout-masonry,.layout-rows) .project-card>.project-description{min-height:0;color:var(--ff-ink);pointer-events:none;background:0 0;padding:10px 6px 4px;position:static}:is(.layout-masonry,.layout-rows) .project-card .project-name-row{gap:7px}:is(.layout-masonry,.layout-rows) .project-card .project-card-name-input{border-radius:var(--ff-radius-xs);color:var(--ff-ink);box-shadow:0 0 0 1px var(--ff-accent);pointer-events:auto;background:0 0;border:0;margin:-2px -5px;padding:2px 5px}:is(.layout-masonry,.layout-rows) .project-card .project-name-row strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:is(.layout-masonry,.layout-rows) .project-card .project-name-row .project-type-icon{width:14px;height:14px;color:var(--ff-muted);flex:none}:is(.layout-masonry,.layout-rows) .project-card>.project-description>span{color:var(--ff-muted);font-size:var(--ff-text-2xs);margin-top:2px}:is(.layout-masonry,.layout-rows) .project-card>.project-card-actions{width:28px;height:28px;color:var(--ff-ink);background:color-mix(in srgb, var(--ff-surface-solid) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;border-radius:9px;transition:opacity .4s,transform .5s cubic-bezier(.33,1,.68,1);top:12px;bottom:auto;right:12px;transform:translateY(-4px);box-shadow:0 2px 8px #0f172a24}:is(.layout-masonry,.layout-rows) .project-card:is(:hover,:focus-within)>.project-card-actions{opacity:1;transform:none}:is(.layout-masonry,.layout-rows) .project-preview{isolation:isolate;transform:translateZ(0)}:is(.layout-masonry,.layout-rows) .project-preview>img{will-change:transform;transition:transform .8s cubic-bezier(.33,1,.68,1)}.project-browser-grid.layout-list{box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;gap:6px;display:flex;overflow:visible}.layout-list>*{border-radius:var(--ff-radius-md);width:100%}.layout-list .project-card{border:1px solid var(--ff-card-border);background:var(--ff-surface-solid);min-height:72px;box-shadow:none;transition:background-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;align-items:center;gap:14px;padding:8px 10px;display:flex}.layout-list .project-card:hover{border-color:var(--ff-card-border);background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm);transform:none}.layout-list .project-preview{aspect-ratio:auto;border-radius:var(--ff-radius-sm);background:var(--ff-surface-subtle);width:82px;height:54px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 6%, transparent);flex:none}.layout-list .project-preview img{border-radius:inherit}.layout-list .project-card>.project-description{min-width:0;color:var(--ff-ink);box-shadow:none;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;gap:4px;padding:0;display:flex;position:static}.layout-list .project-card>.project-description:after{display:none}.layout-list .project-name-row{align-items:center;gap:7px;min-width:0;display:flex}.project-card-name-input{z-index:3;width:100%;min-width:0;height:auto;color:inherit;font:var(--ff-weight-semibold) var(--ff-text-sm)/1.3 var(--ff-font-sans);text-overflow:ellipsis;pointer-events:auto;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;outline:0;padding:0;position:relative}.layout-list .project-card-name-input{font-size:var(--ff-text-base)}.project-card-name-input:focus{border-bottom-color:var(--ff-accent)}.inline-rename-title{z-index:3;border-radius:var(--ff-radius-xs);min-width:0;max-width:100%;color:inherit;font:var(--ff-weight-semibold) var(--ff-text-sm)/1.3 var(--ff-font-sans);text-align:left;cursor:text;pointer-events:auto;transition:background var(--ff-duration-fast) ease;background:0 0;border:0;align-items:center;gap:5px;margin:-1px -4px;padding:1px 4px;display:inline-flex;position:relative}.inline-rename-title>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.inline-rename-title>svg{opacity:0;transition:opacity var(--ff-duration-fast) ease;flex:none}.inline-rename-title:hover,.inline-rename-title:focus-visible{background:color-mix(in srgb, currentColor 12%, transparent);outline:0}.inline-rename-title:focus-visible>svg{opacity:.7}.layout-list .inline-rename-title{font-size:var(--ff-text-base)}.projects-heading h1 .inline-rename-title{font:inherit;margin:0 -8px;padding:0 8px}.projects-heading h1 .inline-rename-title>svg{width:16px;height:16px}.projects-heading h1:hover .inline-rename-title>svg{opacity:.5}.projects-heading-name-input{border:1px solid var(--ff-accent);border-radius:var(--ff-radius-md);width:min(560px,100%);color:inherit;background:var(--ff-surface-solid);font:inherit;box-shadow:0 0 0 3px var(--ff-accent-soft);outline:0;margin:0 -8px;padding:0 8px}.layout-list .project-name-row .project-type-icon{color:var(--ff-muted);flex:none}.layout-list .project-card .project-name-row strong{color:var(--ff-ink);font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;text-shadow:none;overflow:hidden}.layout-list .project-card>.project-description>span{max-height:none;color:var(--ff-muted);font-size:var(--ff-text-xs);opacity:1;margin:0;overflow:visible}.layout-list .project-card>.project-card-actions{border-radius:var(--ff-radius-sm);width:32px;height:32px;color:var(--ff-muted);opacity:.55;transition:opacity var(--ff-duration-fast) ease, color var(--ff-duration-fast) ease, background var(--ff-duration-fast) ease;background:0 0;flex:none;place-items:center;display:grid;position:relative}.layout-list .project-card:hover>.project-card-actions,.layout-list .project-card:focus-within>.project-card-actions{opacity:1}.project-browser-empty{min-height:190px;color:var(--ff-muted);border:1px dashed var(--ff-line);border-radius:var(--ff-radius-xl);flex-direction:column;justify-content:center;align-items:center;gap:7px;margin-top:16px;display:flex}.project-browser-empty strong{color:var(--ff-ink);font-size:var(--ff-text-sm)}.project-browser-empty span{font-size:var(--ff-text-2xs)}.projects-browser>.projects-heading{border-bottom:1px solid var(--ff-line);align-items:center;margin-bottom:14px;padding-bottom:12px}.projects-browser .projects-view-toggle{border-color:var(--ff-line);border-radius:var(--ff-radius-md);background:0 0}.projects-browser .project-browser-grid.layout-rows>*{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-card);transform:none}.projects-browser .project-browser-grid.layout-rows>:hover{border-color:var(--ff-card-border);box-shadow:var(--ff-shadow-float);transform:none}.projects-browser .project-browser-grid.layout-list{box-shadow:none;background:0 0;border:0;border-radius:0}.projects-browser .layout-list .project-card{border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);box-shadow:none}.projects-browser .project-browser-empty{border-color:var(--ff-line);border-radius:var(--ff-radius-md);background:0 0}.studio-shell,.studio-panel,.panel-browser{--ff-ease-out:cubic-bezier(.2, .8, .2, 1)}.panel-browser{flex-direction:column;gap:14px;min-width:0;display:flex}.panel-search-bar{box-sizing:border-box;border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-xl);height:40px;color:var(--ff-muted);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm);cursor:text;transition:border-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease, color var(--ff-duration-fast) ease;flex:none;align-items:center;gap:8px;padding:0 6px 0 12px;display:flex;position:relative}.panel-search-bar:hover{border-color:var(--ff-line)}.panel-search-bar:focus-within{color:var(--ff-ink);border-color:var(--ff-accent);box-shadow:0 0 0 3px var(--ff-accent-soft)}.panel-search-bar>svg{flex:none}.panel-search-bar input{min-width:0;height:100%;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-base);background:0 0;border:0;outline:0;flex:1;padding:0}.panel-search-bar input::placeholder{color:var(--ff-muted)}.panel-search-bar input::-webkit-search-cancel-button{display:none}.panel-search-bar button{border-radius:var(--ff-radius-sm);width:26px;height:26px;color:var(--ff-muted);cursor:pointer;animation:panel-pop var(--ff-duration-base) var(--ff-ease-out);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.panel-search-bar button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.panel-chips{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg, transparent, var(--ff-neutral-100) 18px, var(--ff-neutral-100) calc(100% - 18px), transparent);mask-image:linear-gradient(90deg, transparent, var(--ff-neutral-100) 18px, var(--ff-neutral-100) calc(100% - 18px), transparent);flex:none;gap:6px;margin:-2px -18px 0;padding:2px 18px;scroll-padding-inline:18px;display:flex;overflow-x:auto}.panel-chips::-webkit-scrollbar{display:none}.panel-chips>button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);height:30px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease, transform var(--ff-duration-fast) var(--ff-ease-out);flex:none;align-items:center;gap:6px;padding:0 11px 0 9px;display:inline-flex}.panel-chips>button>svg{color:var(--category-accent,var(--ff-muted))}.panel-chips>button:hover{border-color:color-mix(in srgb, var(--category-accent,var(--ff-neutral-100)) 28%, var(--ff-line));background:color-mix(in srgb, var(--category-accent,var(--ff-neutral-100)) 6%, var(--ff-surface-solid))}.panel-chips>button:active{transform:scale(.96)}.panel-chips>button>small{box-sizing:border-box;border-radius:var(--ff-radius-md);min-width:18px;height:18px;color:var(--ff-muted);background:var(--ff-surface-hover);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums;place-items:center;padding:0 5px;display:inline-grid}.panel-chips>button.active{border-color:var(--ff-ink);color:var(--ff-text-inverse);background:var(--ff-ink)}.panel-chips>button.active>svg{color:inherit}.panel-chips>button.active>small{color:var(--ff-ink);background:var(--ff-text-inverse)}.panel-browser-body{min-width:0;animation:panel-enter var(--ff-duration-slow) var(--ff-ease-out);flex-direction:column;gap:20px;display:flex}.panel-search-results{flex-direction:column;gap:20px;display:flex}.panel-actions{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.panel-action{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xl);min-width:0;height:38px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);cursor:pointer;transition:background-color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease, transform var(--ff-duration-fast) var(--ff-ease-out);justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.panel-action>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel-action:hover{background:var(--ff-surface-hover)}.panel-action:active{transform:scale(.97)}.panel-action:disabled{color:var(--ff-muted);cursor:progress}.panel-action.primary{border-color:var(--ff-ink);color:var(--ff-text-inverse);background:var(--ff-ink)}.panel-action.primary:hover{background:color-mix(in srgb, var(--ff-ink) 86%, var(--ff-surface-raised))}.uploads-browser>.upload-error,.uploads-browser>.upload-status,.uploads-browser>.media-grid{margin:0}.uploads-browser>.upload-selection-footer:not(:empty){z-index:1;background:var(--ff-surface-solid);padding-bottom:4px;position:sticky;bottom:-1px}.elements-ai-card{border-radius:var(--ff-radius-2xl);background:linear-gradient(var(--ff-surface-solid), var(--ff-surface-solid)) padding-box, var(--ff-ai-gradient) border-box;box-shadow:0 6px 18px -10px color-mix(in srgb, var(--ff-ai) 30%, transparent);transition:box-shadow var(--ff-duration-base) ease;border:1px solid #0000;flex-direction:column;gap:6px;padding:12px 12px 10px;display:flex;position:relative}.elements-ai-card:focus-within{box-shadow:0 8px 24px -10px color-mix(in srgb, var(--ff-ai) 45%, transparent), 0 0 0 3px var(--ff-ai-soft)}.elements-ai-heading{color:var(--ff-ink);font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);align-items:center;gap:6px;display:flex}.elements-ai-heading>svg{color:var(--ff-ai)}.elements-ai-card textarea{resize:none;min-height:40px;max-height:140px;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-base);field-sizing:content;background:0 0;border:0;outline:0;padding:2px 0;line-height:1.45}.elements-ai-card textarea::placeholder{color:var(--ff-faint)}.elements-ai-card textarea[readonly]{color:var(--ff-muted);cursor:default}.elements-ai-footer{align-items:center;gap:4px;display:flex}.elements-ai-footer .elements-generate{margin-left:auto}.elements-ai-footer .action-menu-trigger.elements-ai-tool,.elements-ai-footer .action-menu-trigger.elements-ai-format{border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);min-width:30px;height:30px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);transition:background-color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease;justify-content:center;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.elements-ai-footer .action-menu-trigger.elements-ai-tool{width:30px;padding:0}.elements-ai-footer .action-menu-trigger:is(.elements-ai-tool,.elements-ai-format):is(:hover,.is-open){border-color:var(--ff-neutral-20);background:var(--ff-surface-hover)}.elements-generate{border-radius:var(--ff-radius-round);width:32px;height:32px;color:var(--ff-text-inverse);background:var(--ff-ink);cursor:pointer;transition:transform var(--ff-duration-base) var(--ff-ease-out), opacity var(--ff-duration-base) ease, background-color var(--ff-duration-base) ease;border:0;flex:none;place-items:center;padding:0;display:grid}.elements-generate:not(:disabled):hover{transform:translateY(-1px)scale(1.05)}.elements-generate:not(:disabled):active{transform:scale(.94)}.elements-generate:disabled{opacity:.28;cursor:default}.elements-reference-chip{border-radius:var(--ff-radius-lg);background:var(--ff-surface-subtle);animation:panel-pop var(--ff-duration-base) var(--ff-ease-out);align-items:center;gap:8px;padding:5px;display:flex}.elements-reference-chip img{border-radius:var(--ff-radius-sm);object-fit:cover;flex:none;width:32px;height:32px}.elements-reference-chip>span{flex:1;min-width:0;display:grid}.elements-reference-chip small{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.elements-reference-chip strong{color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.elements-reference-chip button{border-radius:var(--ff-radius-sm);width:24px;height:24px;color:var(--ff-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.elements-reference-chip button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.panel-shelf{flex-direction:column;gap:8px;min-width:0;display:flex}.panel-shelf-heading{border-radius:var(--ff-radius-md);min-width:0;color:var(--ff-ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--ff-duration-fast) ease;background:0 0;border:0;align-items:center;gap:8px;margin:0 -6px;padding:4px 6px;display:flex}h3.panel-shelf-heading{cursor:default}button.panel-shelf-heading:hover{background:var(--ff-surface-subtle)}.panel-shelf-heading strong{min-width:0;font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel-shelf-heading small,.element-section h3 small{box-sizing:border-box;border-radius:var(--ff-radius-md);min-width:20px;height:18px;color:var(--ff-muted);background:var(--ff-surface-hover);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums;place-items:center;padding:0 6px;display:inline-grid}.panel-shelf-icon{border-radius:var(--ff-radius-sm);width:22px;height:22px;color:var(--category-accent);background:color-mix(in srgb, var(--category-tint,var(--ff-neutral-7)) 55%, var(--ff-surface-raised));flex:none;place-items:center;display:grid}.panel-see-all{color:var(--ff-muted);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);white-space:nowrap;transition:color var(--ff-duration-fast) ease;align-items:center;gap:1px;margin-left:auto;display:inline-flex}.panel-see-all>svg{transition:transform var(--ff-duration-base) var(--ff-ease-out)}button.panel-shelf-heading:hover .panel-see-all{color:var(--ff-ink)}button.panel-shelf-heading:hover .panel-see-all>svg{transform:translate(2px)}.element-category-view{flex-direction:column;gap:14px;min-width:0;display:flex}.element-section-list{flex-direction:column;gap:20px;display:flex}.element-section{flex-direction:column;gap:8px;min-width:0;display:flex}.element-section h3{color:var(--ff-ink);font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);justify-content:space-between;align-items:center;margin:0;display:flex}.element-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.element-choice-grid>button{aspect-ratio:1;border-radius:var(--ff-radius-lg);width:100%;min-width:0;min-height:0;color:var(--ff-ink);background:var(--ff-surface-subtle);box-shadow:none;cursor:pointer;animation:panel-tile-in var(--ff-duration-slow) var(--ff-ease-out) both;animation-delay:calc(var(--choice-index,0) * 14ms);transition:background-color var(--ff-duration-base) ease, border-color var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease, transform var(--ff-duration-base) var(--ff-ease-out);border:1px solid #0000;outline:none;grid-template:1fr/1fr;place-items:center;padding:8px;display:grid;position:relative;overflow:hidden}.element-choice-grid>button:hover{border-color:var(--ff-line);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-lift);transform:translateY(-2px)}.panel-browser .element-choice-grid>button:not(.element-upload-tile){cursor:grab}.element-choice-grid>button:active{transition-duration:var(--ff-duration-fast);transform:scale(.96)}.element-choice-grid>button:focus-visible{box-shadow:0 0 0 2px var(--ff-surface-solid), 0 0 0 4px var(--ff-accent)}.element-choice-grid>button.selected{border-color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:inset 0 0 0 1px var(--ff-ink)}.element-choice-preview{width:100%;height:100%;transition:transform var(--ff-duration-base) var(--ff-ease-out);place-items:center;display:grid;overflow:hidden}.element-choice-grid>button:hover .element-choice-preview{transform:scale(1.06)}.element-choice-preview svg{width:62%;height:62%;overflow:visible}.element-choice-preview img{object-fit:contain;-webkit-user-drag:none;width:100%;height:100%;display:block}.element-choice-grid>button[data-preview=media]{padding:0}.element-choice-grid>button[data-preview=media] .element-choice-preview :is(img,video){object-fit:cover;width:100%;height:100%;display:block}.element-choice-grid>button[data-preview=media]:hover .element-choice-preview{transform:scale(1.04)}.element-choice-grid>button:is([data-preview=frame],[data-preview=grid]) .element-choice-preview{overflow:visible}.element-choice-grid>button[data-preview=frame]{background:var(--ff-surface-raised)}.element-choice-grid>button[data-preview=frame]:not(:hover,.selected){border-color:var(--ff-line)}.element-choice-grid>button[data-preview=grid] .grid-preview-shell{width:66%}.chart-glyph{width:78%!important;height:auto!important}.chart-glyph.pie{aspect-ratio:1;border-radius:var(--ff-radius-round);background:conic-gradient(#173f4f 0 38%, #159a9c 0 64%, #f0a23b 0 84%, #ef6a5b 0);display:block;width:56%!important}.chart-glyph.pie.alt{background:radial-gradient(circle, var(--ff-surface-subtle) 0 38%, transparent 39%), conic-gradient(#ef6a5b 0 30%, #f0a23b 0 55%, #159a9c 0 80%, #173f4f 0)}.element-choice-grid>button:hover .chart-glyph.pie.alt{background:radial-gradient(circle, var(--ff-surface-solid) 0 38%, transparent 39%), conic-gradient(#ef6a5b 0 30%, #f0a23b 0 55%, #159a9c 0 80%, #173f4f 0)}.table-glyph{border:1px solid var(--ff-neutral-14);border-radius:var(--ff-radius-xs);background:var(--ff-surface-raised);width:86%;display:grid;overflow:hidden}.table-glyph>span{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.table-glyph>span+span{border-top:1px solid var(--ff-neutral-10)}.table-glyph>span>span{min-width:0;color:var(--ff-neutral-86);font-size:6px;font-weight:var(--ff-weight-semibold);text-overflow:clip;white-space:nowrap;padding:2px 2px 1px;line-height:1.2;overflow:hidden}.table-glyph>span>span+span{border-left:1px solid var(--ff-neutral-10)}.table-glyph>.head{color:var(--ff-on-accent);background:#173f4f}.table-glyph>.head>span{color:var(--ff-on-accent)}.table-glyph>.head>span+span{border-left-color:color-mix(in srgb, var(--ff-neutral-0) 18%, transparent)}.element-choice-grid>button.element-upload-tile{border:1.5px dashed var(--ff-neutral-20);color:var(--ff-muted);cursor:pointer;background:0 0}.element-choice-grid>button.element-upload-tile:hover{border-color:var(--ff-ink);color:var(--ff-ink);background:var(--ff-surface-solid)}.element-skeleton{aspect-ratio:1;border-radius:var(--ff-radius-lg);background:linear-gradient(100deg, var(--ff-surface-subtle) 30%, var(--ff-surface-hover) 50%, var(--ff-surface-subtle) 70%) 0 0 / 300% 100%;animation:1.3s linear infinite panel-shimmer;animation-delay:calc(var(--choice-index,0) * 40ms)}.panel-empty,.element-category-empty{border-radius:var(--ff-radius-2xl);color:var(--ff-muted);background:var(--ff-surface-subtle);font-size:var(--ff-text-md);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;line-height:1.4;display:flex}.panel-empty strong,.element-category-empty strong{color:var(--ff-ink);font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold)}.panel-empty-icon{border-radius:var(--ff-radius-xl);width:40px;height:40px;color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm);place-items:center;margin-bottom:4px;display:grid}.panel-empty>button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);height:30px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);cursor:pointer;margin-top:6px;padding:0 12px}.panel-empty>button:hover{background:var(--ff-surface-hover)}.element-category-empty{border:1.5px dashed var(--ff-neutral-20);width:100%;font:inherit;cursor:pointer;transition:border-color var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease;background:0 0}.element-category-empty:hover{border-color:var(--ff-ink);background:var(--ff-surface-subtle)}@keyframes panel-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes panel-tile-in{0%{opacity:0;transform:translateY(4px)scale(.97)}}@keyframes panel-pop{0%{opacity:0;transform:scale(.85)}}@keyframes panel-shimmer{to{background-position:-300% 0}}.frame-preview-shell{display:block;position:relative}.frame-preview-shell .frame-preview-overlay{filter:drop-shadow(0 0 .6px #00000059)drop-shadow(0 1px 1.5px #0000001f)}.frame-preview{background:linear-gradient(165deg, #9ec5ff 0%, var(--ff-ai-line) 50%, #fbcfe8 100%);display:block;position:absolute;inset:0;overflow:hidden}.frame-preview-overlay,.image-frame-overlay{z-index:4;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.grid-preview-shell{aspect-ratio:1;grid-template-rows:repeat(100,minmax(0,1fr));grid-template-columns:repeat(100,minmax(0,1fr));width:min(52px,100%);display:grid}.grid-preview-cell{background:var(--ff-neutral-28);border-radius:2px;min-width:0;min-height:0;display:block;overflow:hidden}.studio-shell.webapp-editor{--webapp-docked-width:calc(8px + 58px + 312px + 8px);background:var(--studio-projects-background);height:100vh;min-height:0;overflow:hidden}.webapp-editor .studio-workspace.webapp-workspace{padding:8px 8px 8px var(--webapp-docked-width);background:var(--studio-projects-background);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px}.webapp-editor .studio-workspace.webapp-workspace.code-open{grid-template-columns:minmax(300px,40%) minmax(0,1fr)}.webapp-editor .webapp-workspace>:is(.editor-navigation,.agent-chat-panel){grid-area:auto}.webapp-workspace>.agent-chat-panel.is-docked .ai-chat-header{padding-right:0}.webapp-workspace>.webapp-source-panel{border:1px solid var(--ff-line);border-radius:var(--ff-radius-3xl);background:var(--ff-surface-solid);grid-area:1/1;grid-template-rows:auto minmax(0,1fr);min-width:0;margin:0;display:grid;overflow:hidden}.webapp-source-tabs{border-bottom:1px solid var(--ff-line);gap:4px;padding:8px;display:flex}.webapp-source-tabs button{border-radius:var(--ff-radius-sm);min-width:0;color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);background:0 0;border:0;flex:1;padding:7px 8px}.webapp-source-tabs button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.webapp-source-tabs button.active{color:var(--ff-text-inverse);background:var(--ff-primary)}.webapp-source-tabs .webapp-source-close{flex:0 0 32px;place-items:center;padding:0;display:grid}.webapp-source-panel textarea{resize:none;width:100%;min-height:0;color:var(--ff-ink);background:var(--ff-neutral-2);font:var(--ff-text-md)/1.55 "Cascadia Code", Consolas, monospace;tab-size:2;border:0;outline:0;padding:14px}.webapp-editor .webapp-workspace>.webapp-stage{border:1px solid var(--ff-line);border-radius:var(--ff-radius-3xl);background:var(--ff-neutral-2);grid-area:1/1;min-width:0;min-height:0;padding:56px 12px 12px}.webapp-stage .stage-viewport,.webapp-stage .stage-stack,.webapp-stage .editor-kit-flat-surface{width:100%;height:100%;min-height:0}.webapp-editor .webapp-workspace>.webapp-stage>.stage-viewport{background:0 0}.webapp-editor .webapp-workspace.code-open>.webapp-stage{grid-column:2}.webapp-editor .topbar-navigation-fallback{left:calc((var(--webapp-docked-width) + 100vw - 8px) / 2)}.webapp-editor:has(.webapp-workspace.code-open) .topbar-navigation-fallback{left:calc((var(--webapp-docked-width) + max(300px, .4 * (100vw - var(--webapp-docked-width) - 8px)) + 100vw) / 2)}.webapp-code-toggle[aria-pressed=true]{color:var(--ff-primary)!important;background:var(--ff-surface-hover)!important}.webapp-runtime-transport-canvas{visibility:hidden}.studio-shell.pdf-editor{background:var(--studio-projects-background);height:100vh;min-height:0;overflow:hidden}.pdf-editor .studio-workspace{grid-template-rows:minmax(0,1fr)}.pdf-workspace>.pdf-stage{grid-area:1/1}.pdf-stage .stage-viewport,.pdf-stage .stage-stack,.pdf-stage .editor-kit-flat-surface{width:100%;height:100%;min-height:0}.pdf-topbar-actions{align-items:center;gap:4px;display:flex}.pdf-topbar-actions .present-toolbar-trigger.active{color:var(--ff-primary);background:var(--ff-surface-hover)}.pdf-page-indicator{color:var(--ff-ink);font-size:var(--ff-text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:2px;padding:0 4px;display:inline-flex}.pdf-page-indicator>span{text-align:center;min-width:52px}.pdf-page-indicator button{border-radius:var(--ff-radius-sm);width:28px;height:28px;color:var(--ff-ink);background:0 0;border:0;place-items:center;padding:0;display:grid}.pdf-page-indicator button:hover:not(:disabled){background:var(--ff-surface-hover)}.pdf-page-indicator button:disabled{opacity:.35}.panel-pdf-pages{flex-direction:column;min-height:0;display:flex}.pdf-panel-tabs{gap:4px;padding:0 0 8px;display:flex}.pdf-panel-tabs button{border-radius:var(--ff-radius-sm);color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);background:0 0;border:0;flex:1;padding:6px 8px}.pdf-panel-tabs button.active{color:var(--ff-text-inverse);background:var(--ff-primary)}.pdf-page-actions{border-bottom:1px solid var(--ff-line);justify-content:space-between;gap:4px;padding:4px 0 8px;display:flex}.pdf-page-actions button{border-radius:var(--ff-radius-sm);width:34px;height:32px;color:var(--ff-ink);background:0 0;border:0;place-items:center;padding:0;display:grid}.pdf-page-actions button:hover:not(:disabled){background:var(--ff-surface-hover)}.pdf-page-actions button:disabled{opacity:.35}.pdf-page-list{flex-direction:column;flex:1;align-items:center;gap:14px;min-height:0;margin:0;padding:10px 4px;list-style:none;display:flex;overflow-y:auto}.pdf-page-item{cursor:grab;border-radius:6px;flex-direction:column;align-items:center;gap:4px;width:132px;padding:6px;display:flex;position:relative}.pdf-page-item.current .pdf-page-thumb{box-shadow:0 0 0 2px var(--ff-neutral-28)}.pdf-page-item.selected{background:var(--ff-surface-hover)}.pdf-page-item.selected .pdf-page-thumb{box-shadow:0 0 0 2px var(--ff-primary)}.pdf-page-item.drop-before:before,.pdf-page-item.drop-after:after{content:"";background:var(--ff-primary);border-radius:2px;height:3px;position:absolute;left:0;right:0}.pdf-page-item.drop-before:before{top:-9px}.pdf-page-item.drop-after:after{bottom:-9px}.pdf-page-thumb{border:1px solid var(--ff-line);background:#fff;width:100%;max-height:180px;display:block;overflow:hidden}.pdf-page-thumb img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.pdf-page-number{color:var(--ff-muted);font-size:var(--ff-text-xs,11px)}.pdf-search{flex-direction:column;gap:8px;min-height:0;display:flex}.pdf-search-form{gap:4px;display:flex}.pdf-search-form input{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);min-width:0;color:var(--ff-ink);background:var(--ff-neutral-2);flex:1;padding:7px 10px}.pdf-search-form button{border-radius:var(--ff-radius-sm);width:34px;color:var(--ff-text-inverse);background:var(--ff-primary);border:0;place-items:center;display:grid}.pdf-search-summary{color:var(--ff-muted);font-size:var(--ff-text-sm);margin:0}.pdf-search-results{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pdf-search-results button{border-radius:var(--ff-radius-sm);text-align:left;width:100%;color:var(--ff-ink);background:0 0;border:0;grid-template-columns:1fr auto;gap:2px 8px;padding:8px;display:grid}.pdf-search-results button:hover{background:var(--ff-surface-hover)}.pdf-search-results span{color:var(--ff-muted);font-size:var(--ff-text-sm)}.pdf-search-results small{color:var(--ff-muted);grid-column:1/-1}.spreadsheet-editor .stage-viewport{background:0 0}.spreadsheet-editor .studio-canvas{box-shadow:var(--ff-shadow-card)}.editable-element.table,.editable-element.chart{color:#0000;background:0 0;border:0;overflow:hidden}.pixi-table-cell-editor{z-index:5;box-sizing:border-box;outline:2px solid var(--ff-selection);outline-offset:0;color:var(--ff-ink);background:var(--ff-canvas);font:inherit;border:0;border-radius:0;margin:0;padding:4px 6px;position:absolute}.studio-shell.spreadsheet-editor{background:0 0;grid-template-rows:minmax(0,1fr);height:100vh;min-height:0;padding:0;display:grid}.spreadsheet-editor .studio-workspace{grid-template-rows:minmax(0,1fr)}.spreadsheet-editor .studio-workspace:before{z-index:0;content:"";background:var(--studio-projects-background);pointer-events:none;background-repeat:no-repeat;background-size:100vw 100%;width:74px;position:absolute;inset:0 auto 0 0}.spreadsheet-editor .studio-workspace:after{z-index:0;content:"";background:var(--studio-projects-background);pointer-events:none;background-position:-74px 0;background-repeat:no-repeat;background-size:100vw 100%;height:67px;position:absolute;inset:0 0 auto 74px}.spreadsheet-editor .studio-workspace>.sheet-workspace{grid-column:1;margin:0 0 0 74px}.sheet-workspace{--sheet-grid-line:color-mix(in srgb, var(--ff-palette-tertiary) 52%, transparent);--sheet-header:var(--ff-surface-solid);--sheet-selection:var(--ff-selection);--sheet-selection-soft:color-mix(in srgb, var(--ff-selection) 10%, var(--ff-canvas));box-sizing:border-box;min-width:0;min-height:0;color:var(--ff-ink);font-family:var(--ff-font-sans);background:0 0;padding-top:0}.sheet-workspace>.stage-viewport{box-sizing:border-box;scrollbar-gutter:auto;min-height:0;padding:67px 0 0}.sheet-stage-stack{background:0 0;grid-template-rows:minmax(0,1fr);gap:0;width:100%;height:100%;min-height:0;display:grid}.sheet-format-bar{height:51px;max-height:51px;max-width:min(calc(100% - 40px), var(--toolbar-safe-width,calc(100% - 40px)));white-space:nowrap;flex-flow:row}.sheet-format-bar>*{flex-shrink:0}.sheet-layer-toggle{border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid);align-items:center;gap:2px;padding:2px;display:inline-flex}.sheet-layer-toggle>.toolbar-toggle{border-radius:var(--ff-radius-md);width:32px;min-width:32px;height:30px;padding:0}.sheet-mode-switch{z-index:3;box-sizing:border-box;border-radius:var(--ff-radius-3xl) var(--ff-radius-3xl) 0 0;background:var(--ff-canvas);min-height:40px;box-shadow:0 -6px 10px -8px color-mix(in srgb, var(--ff-neutral-74) 32%, transparent);isolation:isolate;grid-area:2/1;place-self:end;align-items:center;gap:2px;margin-right:18px;padding:7px 8px 4px;display:inline-flex;position:relative;overflow:visible}.sheet-mode-switch:before,.sheet-mode-switch:after{z-index:0;content:"";pointer-events:none;width:18px;height:18px;position:absolute;bottom:0}.sheet-mode-switch:before{background:radial-gradient(circle at 0 0, transparent 17.5px, var(--ff-canvas) 18px);left:-18px}.sheet-mode-switch:after{background:radial-gradient(circle at 100% 0, transparent 17.5px, var(--ff-canvas) 18px);right:-18px}.sheet-mode-indicator{z-index:0;border-radius:var(--ff-radius-md);background:var(--ff-ink);width:28px;height:28px;box-shadow:var(--ff-shadow-lift);transition:transform var(--ff-duration-slow) cubic-bezier(.2, .9, .25, 1.18), border-radius var(--ff-duration-slow) ease;position:absolute;top:7px;left:8px;transform:translate(0)scale(1)}.sheet-mode-switch.background-active .sheet-mode-indicator{border-radius:var(--ff-radius-xl) var(--ff-radius-md) var(--ff-radius-md) var(--ff-radius-xl);transform:translate(30px)scale(1.04)}.sheet-mode-switch>button{z-index:1;border-radius:var(--ff-radius-md);width:28px;min-width:28px;height:28px;color:var(--ff-muted);transition:color var(--ff-duration-base) ease, transform var(--ff-duration-base) ease;background:0 0;border:0;padding:0;position:relative}.sheet-mode-switch>button:hover{color:var(--ff-ink);background:color-mix(in srgb, var(--ff-ink) 7%, transparent);transform:scale(1.06)}.sheet-mode-switch>button.active,.sheet-mode-switch>button.active:hover{color:var(--ff-text-inverse);box-shadow:none;background:0 0}.sheet-mode-switch>button>svg{width:14px;height:14px}.sheet-number-format-trigger{justify-content:center;min-width:86px}.sheet-decimal-trigger{width:34px;min-width:34px}.contextual-format-bar .toolbar-action.sheet-decimal-trigger>.sheet-decimal-glyph{color:currentColor;width:24px;height:18px;font-family:var(--ff-font-sans);font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:0;justify-content:center;align-items:center;line-height:normal;display:inline-flex}.sheet-decimal-popover{padding:8px;overflow:visible}.sheet-decimal-popover .sheet-decimal-stepper{justify-content:center;align-items:center;gap:7px;height:32px;display:flex}.sheet-decimal-popover .sheet-decimal-stepper .stepper-button{border-radius:var(--ff-radius-sm);width:28px;min-width:28px;height:28px;color:var(--ff-muted);box-shadow:none;background:0 0;border:0;place-items:center;padding:0;display:grid}.sheet-decimal-popover .sheet-decimal-stepper .stepper-button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.sheet-decimal-popover .sheet-decimal-stepper .stepper-button:disabled{opacity:.35;background:0 0}.sheet-decimal-popover .sheet-decimal-stepper input{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-xs);width:42px;height:30px;color:var(--ff-ink);background:var(--ff-canvas);font-family:Google Sans,sans-serif;font-size:var(--ff-text-md);font-weight:var(--ff-weight-bold);font-variant-numeric:tabular-nums;text-align:center;-moz-appearance:textfield;outline:none;padding:0 4px}.sheet-decimal-popover .sheet-decimal-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.sheet-decimal-popover .sheet-decimal-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.sheet-decimal-popover .sheet-decimal-stepper input:disabled{opacity:.45}.sheet-text-settings-trigger{justify-content:center;min-width:112px}.sheet-format-symbol-icon{font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold)}.sheet-format-bar>:is(.toolbar-overflow-medium,.toolbar-overflow-secondary){flex:none;align-items:center;gap:2px;display:inline-flex}.sheet-format-bar:not([data-overflow-tier="0"]) .toolbar-overflow-menu{display:flex}.sheet-format-bar:not([data-overflow-tier="0"]) .toolbar-overflow-chart,.sheet-format-bar:is([data-overflow-tier="2"],[data-overflow-tier="3"]) .toolbar-overflow-medium,.sheet-format-bar[data-overflow-tier="3"] .toolbar-overflow-minimum{display:none}.studio-workspace>.stage-shell>.sheet-format-bar{scrollbar-width:none;overflow:auto hidden}.sheet-formula-input-bridge{box-sizing:border-box;opacity:0;pointer-events:none;border:0;outline:0;height:30px;padding:0;font:400 13px/13px Google Sans,sans-serif;position:fixed;top:0;left:-10000px;overflow:hidden}.sheet-formula-input-bridge:disabled{cursor:default}.sheet-font-trigger{max-width:150px}.sheet-font-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-color-control{cursor:pointer;position:relative}.sheet-color-indicator{border-radius:2px;width:18px;height:3px;position:absolute;bottom:4px;right:7px}.format-bar .sheet-border-trigger{gap:2px;width:42px}.format-bar .sheet-vertical-align-trigger{gap:1px;width:38px;min-width:38px}.format-bar .sheet-vertical-align-trigger.is-open{color:var(--sheet-selection);background:color-mix(in srgb, var(--sheet-selection) 9%, var(--ff-canvas))}.sheet-vertical-align-popover{grid-template-columns:repeat(3,30px);gap:3px;padding:5px;display:grid;overflow:hidden}.sheet-vertical-align-option{border-radius:var(--ff-radius-xs);width:30px;height:30px;color:var(--ff-muted);background:0 0;border:0;outline:none;place-items:center;padding:0;display:grid}.sheet-vertical-align-option:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.sheet-vertical-align-option.active{color:var(--sheet-selection);background:color-mix(in srgb, var(--sheet-selection) 11%, var(--ff-canvas))}.sheet-border-popover{grid-template-columns:minmax(0,1fr) 55px;gap:7px;padding:7px;display:grid;overflow:visible}.sheet-border-presets{grid-template-columns:repeat(5,28px);grid-auto-rows:28px;gap:3px;display:grid}.sheet-border-popover .sheet-border-button{box-sizing:border-box;border-radius:var(--ff-radius-xs);height:28px;color:var(--ff-muted);background:0 0;border:0;outline:none;place-items:center;padding:0;display:grid;box-shadow:inset 0 0 0 1px #0000}.sheet-border-popover .sheet-border-button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.sheet-border-popover .sheet-border-button.active{color:var(--sheet-selection);background:color-mix(in srgb, var(--sheet-selection) 9%, var(--ff-canvas));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sheet-selection) 24%, transparent)}.sheet-border-presets .sheet-border-button.active,.sheet-border-presets .sheet-border-button[aria-pressed=true]{color:var(--ff-ink);background:var(--ff-neutral-14);box-shadow:inset 0 0 0 1px var(--ff-neutral-20), 0 2px 6px color-mix(in srgb, var(--ff-neutral-86) 9%, transparent)}.sheet-border-presets .sheet-border-button.active:hover,.sheet-border-presets .sheet-border-button[aria-pressed=true]:hover{color:var(--ff-ink);background:var(--ff-neutral-14)}.sheet-border-glyph{fill:none;width:18px;height:18px;display:block;overflow:visible}.sheet-border-guide{stroke:currentColor;stroke-width:.8px;opacity:.24}.sheet-border-mark{stroke:currentColor;stroke-width:1.7px;stroke-linecap:square;stroke-linejoin:miter}.sheet-border-glyph.preset-none .sheet-border-guide{stroke-dasharray:1.4 1.4;opacity:.3}.sheet-border-glyph.preset-none .sheet-border-mark{stroke-width:1.5px;stroke-linecap:round}.sheet-border-options{border-left:1px solid var(--ff-line);grid-auto-rows:28px;gap:3px;padding-left:6px;display:grid}.sheet-border-options>button,.sheet-border-width-menu>button{grid-template-columns:minmax(0,1fr) 12px;width:48px}.sheet-border-options button>span{justify-content:center;align-items:center;gap:3px;min-width:0;display:flex}.sheet-border-options button>span>i{border-radius:2px;width:16px;height:3px;display:block}.sheet-border-options button small{color:var(--ff-faint);font-size:var(--ff-text-3xs)}.sheet-border-width-menu{position:relative}.sheet-border-width-options{z-index:2;border-radius:var(--ff-radius-sm);background:var(--ff-canvas);width:78px;box-shadow:var(--ff-shadow-float);gap:2px;padding:4px;display:grid;position:absolute;top:30px;right:0}.sheet-border-width-options button{width:100%;font-size:var(--ff-text-2xs);text-align:right;grid-template-columns:34px 1fr;gap:5px;padding:0 6px}.sheet-border-width-options button>i{background:currentColor;width:30px;max-height:8px;display:block}.sheet-grid-scroll{background:0 0;grid-area:1/1/3;min-width:0;min-height:240px;position:relative;overflow:hidden}.sheet-webgl-shell{overflow:hidden}.sheet-webgl-runtime{touch-action:none;background:0 0;outline:none;position:absolute;inset:0;overflow:hidden}.sheet-webgl-runtime:focus,.sheet-webgl-runtime:focus-visible{outline:none}.sheet-webgl-canvas{z-index:0;pointer-events:auto;border-radius:var(--ff-radius-lg) 0 0 0;width:100%;height:100%;display:block;position:absolute;inset:10px 0 0 10px}.spreadsheet-formats-panel{flex-direction:column;min-height:0;display:flex}.spreadsheet-format-tabs{border-radius:var(--ff-radius-sm);background:var(--ff-surface-subtle);grid-template-columns:1fr 1fr;gap:3px;margin-bottom:12px;padding:3px;display:grid}.spreadsheet-format-tabs button{border-radius:var(--ff-radius-xs);height:34px;color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);background:0 0;border:0;padding:0 8px}.spreadsheet-format-tabs button.active{color:var(--ff-ink);background:var(--ff-canvas);box-shadow:var(--ff-shadow-sm)}.spreadsheet-format-options{gap:2px;display:grid}.spreadsheet-format-options>button{border-radius:var(--ff-radius-sm);min-height:44px;color:var(--ff-ink);text-align:left;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr) auto 18px;align-items:center;gap:8px;padding:6px 8px;display:grid}.spreadsheet-format-options>button:hover,.spreadsheet-format-options>button.active{background:var(--ff-surface-hover)}.spreadsheet-format-options>button>span:nth-child(2){min-width:0;display:grid}.spreadsheet-format-options strong{font-size:var(--ff-text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spreadsheet-format-options small{color:var(--ff-muted);font-size:var(--ff-text-2xs)}.spreadsheet-format-options em{color:var(--ff-muted);font-size:var(--ff-text-xs);white-space:nowrap;font-style:normal}.spreadsheet-format-symbol{font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);text-align:center}.spreadsheet-charts-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.spreadsheet-charts-panel .panel-title span{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);margin-top:5px;display:block}.spreadsheet-chart-data-summary{border-radius:var(--ff-radius-lg);background:color-mix(in srgb, var(--ff-selection) 7%, var(--ff-surface-raised));min-width:0;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-selection) 18%, transparent);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;display:grid}.spreadsheet-chart-data-summary>svg{box-sizing:border-box;border-radius:var(--ff-radius-md);width:30px;height:30px;color:var(--ff-selection);background:var(--ff-surface-raised);padding:7px}.spreadsheet-chart-data-summary>span{gap:1px;min-width:0;display:grid}.spreadsheet-chart-data-summary small{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.spreadsheet-chart-data-summary strong{min-width:0;color:var(--ff-ink);font:var(--ff-weight-semibold) var(--ff-text-sm)/1.3 var(--ff-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spreadsheet-chart-data-summary em{color:var(--ff-muted);font-size:var(--ff-text-xs);white-space:nowrap;font-style:normal}.spreadsheet-chart-sections{align-content:start;gap:18px;min-height:0;padding:4px 2px 16px;display:grid;overflow-y:auto}.spreadsheet-chart-section{gap:8px;min-width:0;display:grid}.spreadsheet-chart-section>header{justify-content:space-between;align-items:center;min-height:20px;display:flex}.spreadsheet-chart-section h3{color:var(--ff-muted);font-family:var(--ff-font-sans);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);margin:0;line-height:1.25}.spreadsheet-chart-section.is-recommended h3{color:var(--ff-ink)}.spreadsheet-chart-gallery{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;min-width:0;display:grid}.spreadsheet-chart-choice{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);min-width:0;color:var(--ff-ink);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-card);text-align:center;transition:border-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease, transform var(--ff-duration-fast) ease, opacity var(--ff-duration-fast) ease;outline:none;grid-template-rows:64px auto auto;padding:4px 4px 7px;display:grid;overflow:hidden}.spreadsheet-chart-choice:not(:disabled):hover{box-shadow:var(--ff-shadow-md,var(--ff-shadow-card));transform:translateY(-1px)}.spreadsheet-chart-choice.active{border-color:var(--ff-selection);box-shadow:0 0 0 2px color-mix(in srgb, var(--ff-selection) 22%, transparent), var(--ff-shadow-card)}.spreadsheet-chart-choice:focus-visible{border-color:var(--sheet-selection);box-shadow:0 0 0 2px color-mix(in srgb, var(--sheet-selection) 22%, transparent)}.spreadsheet-chart-choice.is-unsuitable{cursor:not-allowed;opacity:.42;box-shadow:none;background:var(--ff-surface-subtle)}.spreadsheet-chart-choice.is-unsuitable .spreadsheet-chart-preview{filter:grayscale()}.spreadsheet-chart-preview{box-sizing:border-box;border-radius:calc(var(--ff-radius-md) - 3px);pointer-events:none;min-width:0;min-height:0;padding:4px 4px 2px;display:block}.spreadsheet-chart-preview svg{width:100%;height:100%;display:block}.spreadsheet-chart-choice strong{min-width:0;font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;padding:3px 2px 0;overflow:hidden}.spreadsheet-chart-choice small{min-width:0;color:var(--ff-muted);font-size:var(--ff-text-3xs);text-overflow:ellipsis;white-space:nowrap;padding:1px 2px 0;line-height:1.2;overflow:hidden}.spreadsheet-chart-tab-view{flex:auto;min-height:0;overflow:hidden auto}.spreadsheet-chart-tab-view .spreadsheet-chart-sections{gap:16px;padding:2px 2px 10px}.spreadsheet-chart-settings{align-content:start;gap:10px;min-height:0;padding:2px 2px 14px;display:grid}.spreadsheet-chart-type-summary{border-radius:var(--ff-radius-lg);width:100%;min-width:0;color:var(--ff-ink);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-card);text-align:left;transition:box-shadow var(--ff-duration-fast) ease, transform var(--ff-duration-fast) ease;border:0;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid}.spreadsheet-chart-type-summary:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-selection) 30%, transparent), var(--ff-shadow-card);transform:translateY(-1px)}.spreadsheet-chart-type-summary .spreadsheet-chart-preview{border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);width:58px;height:44px;padding:3px}.spreadsheet-chart-type-summary>span:nth-child(2){gap:2px;min-width:0;display:grid}.spreadsheet-chart-type-summary small{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.spreadsheet-chart-type-summary strong{min-width:0;font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spreadsheet-chart-type-change{height:26px;color:var(--ff-selection);background:color-mix(in srgb, var(--ff-selection) 10%, transparent);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-bold);border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.spreadsheet-chart-card{border-radius:var(--ff-radius-lg);background:var(--ff-surface-raised);min-width:0;box-shadow:var(--ff-shadow-card);gap:8px;padding:12px;display:grid}.spreadsheet-chart-card>header{align-items:center;gap:8px;min-width:0;min-height:22px;display:flex}.spreadsheet-chart-card-icon{border-radius:var(--ff-radius-sm);width:22px;height:22px;color:var(--ff-selection);background:color-mix(in srgb, var(--ff-selection) 11%, var(--ff-surface-raised));flex:none;place-items:center;display:grid}.spreadsheet-chart-card h3{min-width:0;color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-bold);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;overflow:hidden}.spreadsheet-chart-card>header>button{height:24px;color:var(--ff-muted);background:var(--ff-surface-solid);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);border-radius:999px;flex:none;align-items:center;gap:3px;padding:0 6px 0 9px;display:inline-flex}.spreadsheet-chart-card>header>button:hover,.spreadsheet-chart-card>header>button.active{color:var(--ff-ink);background:var(--ff-surface-hover)}.spreadsheet-chart-field{gap:5px;min-width:0;display:grid}.spreadsheet-chart-field>span,.spreadsheet-chart-source-group>h4{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.spreadsheet-chart-field>input{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:100%;height:34px;color:var(--ff-ink);background:var(--ff-surface-solid);font:var(--ff-weight-semibold) var(--ff-text-sm)/1 var(--ff-font-sans);transition:border-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;padding:0 10px}.spreadsheet-chart-field>input:hover{border-color:var(--ff-line-strong)}.spreadsheet-chart-field>input:focus{border-color:var(--ff-selection);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-selection) 16%, transparent);outline:0}.spreadsheet-chart-data-hint,.spreadsheet-chart-pick-hint{color:var(--ff-muted);font-size:var(--ff-text-xs);margin:-2px 0 2px;line-height:1.45}.spreadsheet-chart-data-hint svg{vertical-align:-2px;color:var(--ff-selection)}.spreadsheet-chart-data-hint strong{color:var(--ff-ink);font-weight:var(--ff-weight-semibold)}.spreadsheet-chart-data-hint code{color:var(--ff-ink);background:var(--ff-surface-raised);font:var(--ff-weight-semibold) 10px/1.5 var(--ff-font-mono);border-radius:4px;padding:0 4px}.spreadsheet-chart-pick-hint{border-radius:var(--ff-radius-md);color:var(--ff-ink);background:color-mix(in srgb, var(--ff-selection) 10%, var(--ff-surface-raised));animation:spreadsheet-chart-pick-in var(--ff-duration-fast) ease;gap:8px;padding:9px 10px;display:grid}.spreadsheet-chart-pick-hint>p{grid-template-columns:14px minmax(0,1fr);gap:8px;margin:0;display:grid}.spreadsheet-chart-pick-hint>p>svg{color:var(--ff-selection);margin-top:1px}.spreadsheet-chart-pick-sheets{flex-wrap:wrap;gap:4px;padding-left:22px;display:flex}.spreadsheet-chart-pick-sheets>button{border:1px solid var(--ff-line);min-height:24px;color:var(--ff-muted);background:var(--ff-surface-raised);font:var(--ff-weight-semibold) var(--ff-text-xs)/1 var(--ff-font-sans);cursor:pointer;transition:border-color var(--ff-duration-fast) ease, color var(--ff-duration-fast) ease, background var(--ff-duration-fast) ease;border-radius:999px;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.spreadsheet-chart-pick-sheets>button:hover{color:var(--ff-ink);border-color:var(--ff-line-strong)}.spreadsheet-chart-pick-sheets>button.active{color:var(--ff-selection);border-color:color-mix(in srgb, var(--ff-selection) 45%, transparent);background:color-mix(in srgb, var(--ff-selection) 8%, var(--ff-surface-raised))}.spreadsheet-chart-pick-hint kbd{border:1px solid var(--ff-line-strong);background:var(--ff-surface-raised);font:var(--ff-weight-semibold) 10px/1.5 var(--ff-font-mono);border-radius:4px;padding:0 4px}@keyframes spreadsheet-chart-pick-in{0%{opacity:0;transform:translateY(-3px)}}.spreadsheet-chart-source-group{gap:5px;min-width:0;display:grid}.spreadsheet-chart-source-group+.spreadsheet-chart-source-group{border-top:1px solid var(--ff-line);margin-top:4px;padding-top:10px}.spreadsheet-chart-source{--chart-source-color:var(--ff-faint);border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);min-width:0;box-shadow:inset 3px 0 0 var(--chart-source-color);transition:border-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 4px 4px 10px;display:grid}.spreadsheet-chart-source:hover{border-color:var(--ff-line-strong)}.spreadsheet-chart-source:focus-within{border-color:var(--ff-selection);box-shadow:inset 3px 0 0 var(--chart-source-color), 0 0 0 3px color-mix(in srgb, var(--ff-selection) 14%, transparent)}.spreadsheet-chart-source.is-picking{border-color:var(--ff-selection);background:color-mix(in srgb, var(--ff-selection) 7%, var(--ff-surface-raised));box-shadow:inset 3px 0 0 var(--chart-source-color), 0 0 0 3px color-mix(in srgb, var(--ff-selection) 18%, transparent)}.spreadsheet-chart-source-field{gap:1px;min-width:0;display:grid}.spreadsheet-chart-source-field>strong{min-width:0;color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spreadsheet-chart-source-field>input,.spreadsheet-chart-source-field>output{box-sizing:border-box;width:100%;min-width:0;height:20px;color:var(--ff-ink);font:var(--ff-weight-semibold) var(--ff-text-sm)/20px var(--ff-font-mono);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:0;padding:0;overflow:hidden}.spreadsheet-chart-source-field>input::placeholder{color:var(--ff-faint);font-weight:var(--ff-weight-medium)}.spreadsheet-chart-source-field>output{color:var(--ff-selection)}.spreadsheet-chart-source-pick,.spreadsheet-chart-source-actions>button{border-radius:var(--ff-radius-sm);width:30px;height:30px;color:var(--ff-muted);transition:color var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease;background:0 0;border:0;place-items:center;display:grid}.spreadsheet-chart-source-pick:hover,.spreadsheet-chart-source-actions>button:hover{color:var(--ff-selection);background:color-mix(in srgb, var(--ff-selection) 10%, transparent)}.spreadsheet-chart-source-actions{gap:2px;display:inline-flex}.spreadsheet-chart-source-actions>button.is-confirm{color:var(--ff-neutral-0,#fff);background:var(--ff-selection)}.spreadsheet-chart-source-actions>button.is-confirm:hover{color:var(--ff-neutral-0,#fff);background:color-mix(in srgb, var(--ff-selection) 85%, var(--ff-ink))}.spreadsheet-chart-source-add{border:1px dashed var(--ff-line-strong);border-radius:var(--ff-radius-md);min-height:30px;color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);transition:color var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.spreadsheet-chart-source-add:hover{border-color:var(--ff-selection);color:var(--ff-selection);background:color-mix(in srgb, var(--ff-selection) 6%, transparent)}.spreadsheet-chart-source-add:focus-visible{outline:2px solid color-mix(in srgb, var(--ff-selection) 35%, transparent);outline-offset:1px}.spreadsheet-chart-font-launch{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:100%;min-width:0;height:44px;color:var(--ff-muted);background:var(--ff-surface-solid);text-align:left;transition:border-color var(--ff-duration-fast) ease;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:8px;padding:0 10px;display:grid}.spreadsheet-chart-font-launch:hover,.spreadsheet-chart-font-launch.active{border-color:var(--ff-selection);color:var(--ff-ink)}.spreadsheet-chart-font-launch>span{gap:1px;min-width:0;display:grid}.spreadsheet-chart-font-launch small,.spreadsheet-chart-font-launch strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spreadsheet-chart-font-launch small{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.spreadsheet-chart-font-launch strong{color:var(--ff-ink);font-size:var(--ff-text-md);font-weight:var(--ff-weight-medium)}.spreadsheet-chart-font-launch>svg{color:var(--ff-faint)}.spreadsheet-chart-tabs{flex:none;margin-bottom:10px}.spreadsheet-chart-tabs button{height:34px;font-size:var(--ff-text-sm)}.spreadsheet-chart-color-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.spreadsheet-chart-color{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:100%;min-width:0;height:36px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);text-align:left;transition:border-color var(--ff-duration-fast) ease, background-color var(--ff-duration-fast) ease;grid-template-columns:20px minmax(0,1fr) 13px;align-items:center;gap:8px;padding:0 6px 0 8px;display:grid}.spreadsheet-chart-color:hover{border-color:var(--ff-line-strong)}.spreadsheet-chart-color.active{border-color:var(--ff-selection);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-selection) 14%, transparent)}.spreadsheet-chart-color>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.spreadsheet-chart-color>i{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--ff-ink) 14%, transparent);border-radius:var(--ff-radius-round);width:20px;height:20px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--ff-neutral-0,#fff) 40%, transparent);display:block}.spreadsheet-chart-color>svg{color:var(--ff-faint)}.spreadsheet-chart-color-panel>.color-panel-content{min-height:100%}.spreadsheet-chart-font-panel>.font-panel-content{height:calc(100% - 58px);min-height:0}.spreadsheet-chart-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;display:grid}.spreadsheet-chart-toggle{min-width:0;min-height:30px;font-size:var(--ff-text-sm);padding:0}.spreadsheet-chart-toggle>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spreadsheet-chart-toggle>button{flex:0 0 30px}.spreadsheet-chart-select{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;min-width:0;height:32px;display:grid}.spreadsheet-chart-select>strong{color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold)}.spreadsheet-chart-select .action-menu-trigger.spreadsheet-chart-menu{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);width:100%;min-width:0;height:28px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);align-items:center;gap:6px;padding:0 8px;display:inline-flex}.spreadsheet-chart-select .action-menu-trigger.spreadsheet-chart-menu:is(:hover,.is-open){background:var(--ff-surface-hover)}.spreadsheet-chart-range{padding-top:0}.spreadsheet-chart-range>span{min-height:28px}.spreadsheet-chart-range .spreadsheet-chart-range-value{width:60px;height:28px;padding:0 7px}.spreadsheet-chart-range-value output{min-width:0;color:var(--ff-ink);font-size:var(--ff-text-sm);font-variant-numeric:tabular-nums;text-align:right}.spreadsheet-chart-range.is-inline{grid-template-columns:66px minmax(0,1fr) 52px;align-items:center;gap:7px;min-width:0;height:30px;display:grid}.spreadsheet-chart-range.is-inline>strong{color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spreadsheet-chart-range.is-inline>input[type=range]{width:100%;min-width:0;height:14px;accent-color:var(--ff-ink);margin:0}.spreadsheet-chart-range.is-inline .spreadsheet-chart-range-value{width:52px;height:28px;padding:0 6px}.project-sheet-preview{--sheet-columns:6;--sheet-rows:8;grid-template-columns:4.4% repeat(var(--sheet-columns), minmax(0, 1fr));grid-template-rows:9% repeat(var(--sheet-rows), minmax(0, 1fr));color:var(--ff-ink);background:var(--ff-canvas);font:var(--ff-weight-regular) clamp(5px, .68vw, 9px)/1.3 var(--ff-font-sans);display:grid;position:absolute;inset:0;overflow:hidden}.project-sheet-corner,.project-sheet-column,.project-sheet-row-number{box-sizing:border-box;color:var(--ff-muted);background:var(--ff-neutral-2);font-style:normal;font-weight:var(--ff-weight-semibold);place-items:center;display:grid}.project-sheet-corner,.project-sheet-column{border-right:1px solid var(--ff-line);border-bottom:1px solid var(--ff-line)}.project-sheet-corner{border-right:1px solid var(--ff-line)}.project-sheet-row{grid-column:1/-1;grid-template-columns:4.4% repeat(var(--sheet-columns), minmax(0, 1fr));min-height:0;display:grid}.project-sheet-row-number,.project-sheet-row>span{box-sizing:border-box;border-right:1px solid var(--ff-line);border-bottom:1px solid var(--ff-line);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;display:flex;overflow:hidden}.project-sheet-row-number{justify-content:center}.project-sheet-row>span{padding:0 6%}.project-sheet-row>span>img{object-fit:contain;width:100%;height:100%;display:block}@media (width<=760px){.sheet-grid{--sheet-default-column-width:88px}}:is(.studio-shell,.projects-view,.create-view,.login-shell),:is(.studio-shell,.projects-view,.create-view,.login-shell) *{scrollbar-color:color-mix(in srgb, var(--ff-muted) 58%, transparent) transparent;scrollbar-width:thin}:is(.studio-shell,.projects-view,.create-view,.login-shell)::-webkit-scrollbar{width:12px;height:12px}:is(.studio-shell,.projects-view,.create-view,.login-shell) ::-webkit-scrollbar{width:12px;height:12px}:is(.studio-shell,.projects-view,.create-view,.login-shell)::-webkit-scrollbar-track{background:0 0}:is(.studio-shell,.projects-view,.create-view,.login-shell) ::-webkit-scrollbar-track{background:0 0}:is(.studio-shell,.projects-view,.create-view,.login-shell)::-webkit-scrollbar-thumb{border-radius:var(--ff-radius-pill);background:color-mix(in srgb, var(--ff-muted) 58%, transparent);background-clip:padding-box;border:3px solid #0000;min-width:34px;min-height:34px}:is(.studio-shell,.projects-view,.create-view,.login-shell) ::-webkit-scrollbar-thumb{border-radius:var(--ff-radius-pill);background:color-mix(in srgb, var(--ff-muted) 58%, transparent);background-clip:padding-box;border:3px solid #0000;min-width:34px;min-height:34px}:is(.studio-shell,.projects-view,.create-view,.login-shell)::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ff-accent) 78%, var(--ff-muted));background-clip:padding-box}:is(.studio-shell,.projects-view,.create-view,.login-shell) ::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ff-accent) 78%, var(--ff-muted));background-clip:padding-box}:is(.studio-shell,.projects-view,.create-view,.login-shell)::-webkit-scrollbar-corner{background:0 0}:is(.studio-shell,.projects-view,.create-view,.login-shell) ::-webkit-scrollbar-corner{background:0 0}.format-bar,.studio-rail{scrollbar-width:none}.format-bar::-webkit-scrollbar{display:none}.studio-rail::-webkit-scrollbar{display:none}.stage-viewport{scrollbar-gutter:stable}.studio-shell .stage-viewport{scrollbar-gutter:auto}.editor-kit-viewport-scrollable{display:block;overflow:auto;scrollbar-width:none!important}.editor-kit-viewport-scrollable::-webkit-scrollbar{display:none;width:0!important;height:0!important}.studio-panel{scrollbar-color:transparent transparent}.studio-panel:hover,.studio-panel:focus-within{scrollbar-color:color-mix(in srgb, var(--ff-muted) 45%, transparent) transparent}.studio-panel::-webkit-scrollbar{width:10px;height:10px}.studio-panel::-webkit-scrollbar-thumb{border-radius:var(--ff-radius-pill);min-height:40px;transition:background-color var(--ff-duration-base) ease;background:padding-box padding-box;border:3px solid #0000}.studio-panel:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ff-muted) 42%, transparent);background-clip:padding-box}.studio-panel:focus-within::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ff-muted) 42%, transparent);background-clip:padding-box}.studio-panel::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ff-accent) 72%, var(--ff-muted));background-clip:padding-box}.studio-workspace>.editor-navigation+.studio-panel{scrollbar-width:none}.studio-workspace>.editor-navigation+.studio-panel::-webkit-scrollbar{display:none}.color-panel-content{flex-direction:column;display:flex}.color-panel-content>.panel-title{border-bottom:1px solid var(--ff-line);width:100%;margin:0 0 16px;padding:2px 42px 14px 0}.color-panel-section{border-bottom:1px solid var(--ff-line);margin:0 0 16px;padding:0 0 16px}.color-panel-section:last-child{border-bottom:0;margin-bottom:0}.color-panel-section h3{margin:0 0 11px}.color-panel-picker-row{gap:8px;display:flex}.color-panel-picker-row>.color-picker-trigger{border-radius:var(--ff-radius-md);background:var(--ff-surface-hover);border:0;flex:1;justify-content:flex-start;gap:9px;min-width:0;height:40px;padding:0 10px;display:flex}.color-panel-picker-row>.color-picker-trigger .color-picker-direct-swatch{flex-basis:24px;width:24px;height:24px}.color-panel-picker-row>.color-picker-trigger .color-picker-name{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.color-panel-none{border-radius:var(--ff-radius-md);width:40px;height:40px;color:var(--ff-neutral-100);background:var(--ff-neutral-10);box-shadow:var(--ff-shadow-sm);border:0;flex:0 0 40px;place-items:center;padding:0;display:grid}.color-panel-none:hover{color:var(--ff-neutral-100);background:var(--ff-neutral-14)}.color-panel-none[aria-pressed=true]{color:var(--ff-on-accent);background:var(--ff-neutral-100)}.color-panel-swatch{border:1px solid var(--ff-neutral-20);border-radius:var(--ff-radius-round);width:32px;height:32px;box-shadow:none;flex:0 0 32px;padding:0}.color-panel-swatch:hover{box-shadow:0 0 0 1px var(--ff-ink), var(--ff-shadow-sm)}.color-panel-swatch.active{box-shadow:0 0 0 2px var(--ff-neutral-0), 0 0 0 4px var(--ff-ink)}.color-swatch-row{flex-wrap:wrap;gap:9px;display:flex}.color-section-heading{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.color-section-heading h3{margin:0}.color-section-heading>span{align-items:center;gap:2px;display:flex}.color-section-heading>span>button,.color-section-heading>button{border-radius:var(--ff-radius-sm);height:28px;font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);background:0 0;border:0;align-items:center;gap:4px;padding:0 7px;display:flex}.color-section-heading button:hover{background:var(--ff-surface-hover)}.color-section-heading button:disabled{opacity:.35}.saved-color-grid{flex-wrap:wrap;gap:10px;display:flex}.saved-color-grid>div{position:relative}.saved-color-grid>div>.saved-color-remove{border-radius:var(--ff-radius-round);width:18px;height:18px;color:var(--ff-text-inverse);background:var(--ff-ink);border:0;place-items:center;padding:0;display:none;position:absolute;top:-5px;right:-5px}.saved-color-grid>div:hover>.saved-color-remove{display:grid}.color-panel-empty{color:var(--ff-muted);font-size:var(--ff-text-sm);margin:0;line-height:1.45}.gradient-ideas .color-swatch-row{grid-template-columns:repeat(7,32px);display:grid}.palette-idea-list{gap:13px;display:grid}.palette-idea{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;display:grid}.palette-idea>span{color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold)}.palette-ideas>.color-panel-empty{margin-bottom:12px}.palette-idea-apply{border-radius:var(--ff-radius-xs);width:100%;min-width:0;color:var(--ff-ink);text-align:left;background:0 0;border:0;padding:4px 3px}.palette-idea-apply:hover{background:var(--ff-surface-hover)}.palette-idea-apply:focus-visible{outline-offset:2px;outline:2px solid var(--ff-ink)!important}.palette-color-bar{border-radius:var(--ff-radius-md);width:100%;height:32px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 10%, transparent), var(--ff-shadow-sm);display:flex;overflow:hidden}.palette-color-bar>button{min-width:0;height:100%;transition:flex-grow var(--ff-duration-base) ease;border:0;border-radius:0;flex:1;padding:0;position:relative}.palette-color-bar>span{flex:1;min-width:0;height:100%}.palette-color-bar>button:hover{flex-grow:1.35}.palette-color-bar>button.active:after{border:2px solid color-mix(in srgb, var(--ff-neutral-0) 92%, transparent);border-radius:var(--ff-radius-xs);box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 38%, transparent);content:"";position:absolute;inset:6px}.color-panel-content button:focus,.color-panel-content input:focus,.color-panel-content select:focus{outline:none}html:has(.landing-page){scroll-behavior:smooth}body:has(.landing-page){overflow:hidden auto}.landing-page{width:100%;min-height:100svh;color:var(--ff-text);background:var(--ff-neutral-4);font-family:var(--ff-font-sans)}.landing-login{border-radius:var(--ff-radius-md);height:36px;color:var(--ff-text-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);background:0 0;border:0;padding:0 12px}.landing-login:hover{color:var(--ff-text);background:var(--ff-surface-hover)}.landing-start{border-radius:var(--ff-radius-md);min-width:132px;height:38px;color:var(--ff-text-inverse);background:var(--ff-text);box-shadow:none;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);transition:opacity var(--ff-duration-base) ease, transform var(--ff-duration-base) ease;border:0;padding:0 18px}.landing-start:hover{opacity:.82;transform:translateY(-1px)}.landing-start:active{transform:translateY(0)}.landing-hero{flex-direction:column;align-items:center;gap:clamp(56px,6vw,96px);padding:calc(80px + clamp(48px,6vw,96px)) clamp(16px,3vw,48px) clamp(80px,9vw,140px);display:flex;position:relative;overflow:hidden}.landing-hero-copy{z-index:2;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.landing-hero h1{text-wrap:balance;max-width:900px;font-size:clamp(40px,4.6vw,68px);font-weight:var(--ff-weight-semibold);letter-spacing:-.055em;margin:0;line-height:.98}.landing-hero-wordmark{--ink-width:1.15;--ink-duration:2.2s;width:clamp(150px,14vw,210px);height:auto;margin:0 0 clamp(14px,1.8vw,24px)}.landing-hero h1 em{font-style:normal;font-weight:inherit;display:inline-block;position:relative}.landing-hero h1 .hand-drawn-underline{--ink-width:2;--ink-duration:.75s;--ink-delay:2.25s;width:104%;height:auto;position:absolute;bottom:-.38em;left:-2%}.landing-hero-copy>p{max-width:560px;color:var(--ff-text-muted);letter-spacing:-.01em;margin:30px 0 0;font-size:clamp(14px,1.15vw,17px);line-height:1.55}.landing-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px;display:flex}.landing-primary-action{border-radius:var(--ff-radius-lg);min-height:48px;font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);color:var(--ff-text-inverse);background:var(--ff-text);transition:opacity var(--ff-duration-base) ease, transform var(--ff-duration-base) ease;border:0;justify-content:center;align-items:center;padding:0 22px;display:inline-flex}.landing-primary-action:hover{opacity:.84;transform:translateY(-1px)}.landing-google-button{width:320px;min-height:40px;margin:24px auto 0;overflow:hidden}.landing-error{color:var(--ff-danger);font-size:var(--ff-text-xs);text-align:center;margin:12px 0 0}.landing-auth-layer{z-index:100;visibility:hidden;opacity:0;background:color-mix(in srgb, var(--ff-palette-neutral) 38%, transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity var(--ff-duration-base) ease, visibility 0s var(--ff-duration-base);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.landing-auth-layer.is-open{visibility:visible;opacity:1;transition:opacity var(--ff-duration-base) ease}.landing-auth-dialog{border-radius:var(--ff-radius-xl);background:var(--ff-canvas);width:min(390px,100%);box-shadow:var(--ff-shadow-float);text-align:center;transition:transform var(--ff-duration-slow) var(--ff-ease-out);border:0;padding:34px 34px 28px;position:relative;transform:translateY(12px)scale(.98)}.landing-auth-layer.is-open .landing-auth-dialog{transform:translateY(0)scale(1)}.landing-auth-close{border-radius:var(--ff-radius-round);width:32px;height:32px;color:var(--ff-text-muted);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.landing-auth-close:hover{color:var(--ff-text);background:var(--ff-surface-hover)}.landing-auth-wordmark{--ink-width:1.8;--ink-duration:1.4s;--ink-delay:.12s;width:108px;height:auto;margin:0 auto 14px;display:block}.landing-auth-eyebrow{color:var(--ff-text-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);text-transform:uppercase}.landing-auth-dialog h2{font-size:var(--ff-text-3xl);font-weight:var(--ff-weight-semibold);margin:9px 0 8px}.landing-auth-dialog>p:not(.landing-error){max-width:290px;color:var(--ff-text-muted);font-size:var(--ff-text-md);margin:0 auto;line-height:1.55}.landing-auth-dialog small{max-width:280px;color:var(--ff-text-muted);font-size:var(--ff-text-3xs);margin:22px auto 0;line-height:1.5;display:block}.landing-auth-dialog small a{color:inherit;font-weight:var(--ff-weight-semibold)}.landing-auth-dialog small a:hover{color:var(--ff-text)}@media (width<=760px){.landing-start{min-width:126px;height:40px;font-size:var(--ff-text-sm);padding-inline:14px}.landing-hero{gap:54px;min-height:auto;padding:116px 16px 64px}.landing-hero h1{font-size:clamp(46px,13vw,66px)}.landing-hero-copy>p{font-size:var(--ff-text-lg);margin-top:24px}}.landing-workspace{--lw-scale:.82;width:min(1440px,100%);height:calc(860px * var(--lw-scale));border:1px solid color-mix(in srgb, var(--ff-text) 9%, transparent);border-radius:var(--ff-radius-3xl);box-shadow:0 1px 2px color-mix(in srgb, var(--ff-text) 6%, transparent), 0 50px 110px -40px color-mix(in srgb, var(--ff-text) 34%, transparent);text-align:left;background:#ecebe4;position:relative;overflow:hidden}.lw-stage{width:1440px;height:860px;transform:scale(var(--lw-scale));transform-origin:0 0;color:var(--ff-text);font-family:var(--ff-font-sans);-webkit-user-select:none;user-select:none;background:radial-gradient(#8d8a8066 1px,#0000 1.4px) 0 0/28px 28px,#ecebe4;position:absolute;top:0;left:0}.lw-stage svg{flex:none}.lw-rail{z-index:3;border-radius:var(--ff-radius-4xl);background:var(--ff-surface-raised);width:58px;box-shadow:var(--ff-shadow-float);flex-direction:column;align-items:center;padding:10px 0 8px;display:flex;position:absolute;top:8px;bottom:8px;left:8px}.lw-rail-item{width:58px;height:62px;color:var(--ff-neutral-74);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.lw-rail-icon{width:32px;height:32px;color:var(--ff-neutral-86);border-radius:50%;place-items:center;display:grid}.lw-rail-icon svg{stroke-width:1.8px;width:20px;height:20px}.lw-rail-item.is-create{height:54px;color:var(--ff-text)}.lw-rail-item.is-create .lw-rail-icon{color:#fff;background:#111;width:28px;height:28px;margin:2px 0}.lw-rail-item.is-create svg{stroke-width:2.4px;width:18px;height:18px}.lw-rail-divider{background:var(--ff-neutral-10);width:26px;height:1px;margin:6px 0 4px}.lw-rail-account{height:44px;margin-top:auto}.lw-toolbar{z-index:3;background:var(--ff-surface-raised);height:40px;box-shadow:var(--ff-shadow-float);white-space:nowrap;border-radius:12px;align-items:center;gap:2px;padding:0 6px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.lw-tool{border-radius:var(--ff-radius-md);min-width:32px;height:32px;color:var(--ff-neutral-86);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);justify-content:center;align-items:center;gap:5px;display:inline-flex}.lw-tool.has-label{padding:0 8px}.lw-tool svg{stroke-width:2px;width:16px;height:16px}.lw-divider{background:var(--ff-neutral-14);width:1px;height:18px;margin:0 5px}.lw-people{z-index:3;box-sizing:border-box;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);height:44px;box-shadow:var(--ff-shadow-float);align-items:center;gap:6px;padding:4px;display:flex;position:absolute;top:12px;right:14px}.lw-share{height:36px;color:var(--ff-text);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.lw-share svg{width:16px;height:16px}.lw-people-avatars{border-left:1px solid var(--ff-line);padding-left:8px;display:flex}.lw-people-avatars b{box-sizing:border-box;color:#17181a;width:32px;height:32px;font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);border:2px solid #fff;border-radius:50%;place-items:center;margin-left:-6px;display:grid}.lw-people-avatars b:first-child{margin-left:0}.lw-tools{z-index:3;box-sizing:border-box;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);width:48px;box-shadow:var(--ff-shadow-float);flex-direction:column;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.lw-tools>span{border-radius:var(--ff-radius-md);width:40px;height:40px;color:var(--ff-neutral-86);place-items:center;display:grid;position:relative}.lw-tools>span>svg:first-child{width:18px;height:18px}.lw-tools>span.is-active{background:var(--ff-neutral-7)}.lw-tools>i{background:var(--ff-neutral-10);width:28px;height:1px;margin:4px 0}.lw-tools .lw-caret{opacity:.7;width:9px;height:9px;position:absolute;top:12px;right:3px}.lw-title-pill{z-index:3;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);height:44px;box-shadow:var(--ff-shadow-float);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);align-items:center;padding:0 16px;display:flex;position:absolute;bottom:8px;left:82px}.lw-zoom{z-index:3;box-sizing:border-box;border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);height:44px;box-shadow:var(--ff-shadow-float);color:var(--ff-neutral-86);align-items:center;padding:4px;display:flex;position:absolute;bottom:8px;right:8px}.lw-zoom svg{width:36px;height:16px}.lw-zoom b{text-align:center;width:48px;color:var(--ff-text);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold)}.lw-content>*{margin:0;position:absolute}.lw-content img{object-fit:cover;display:block}.lw-note{width:250px;font-size:14px;line-height:1.5;top:96px;left:120px}.lw-note h3{letter-spacing:-.02em;margin:0 0 12px;font-size:26px;font-weight:700}.lw-note h4{margin:14px 0 4px;font-size:15px;font-weight:700}.lw-note ul{margin:0;padding-left:20px}.lw-note p{margin:0}.lw-note .lw-checks{padding:0;list-style:none}.lw-checks li{align-items:center;gap:8px;margin-bottom:3px;display:flex}.lw-checks li:before{content:"";box-sizing:border-box;border:1.5px solid color-mix(in srgb, var(--ff-text) 40%, transparent);border-radius:3px;flex:none;width:14px;height:14px}.lw-checks li.is-done{color:var(--ff-text-muted);text-decoration:line-through}.lw-checks li.is-done:before{background:#377ffc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.5l4.5-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/80% no-repeat;border-color:#377ffc}.lw-slide{aspect-ratio:16/9;box-sizing:border-box;background:#f8f3ea;flex-direction:column;justify-content:center;width:270px;padding:0 22px;display:flex;top:420px;left:120px}.lw-slide small{color:var(--ff-text-muted);font-size:12px;font-weight:600}.lw-slide strong{color:#d8392b;letter-spacing:-.05em;font-size:52px;font-weight:700;line-height:1}.lw-slide span{color:var(--ff-text-muted);font-size:12px}.lw-inspirations{gap:8px;display:flex;top:96px;left:420px}.lw-inspirations img{aspect-ratio:93/165;height:232px}.lw-table{width:580px;top:86px;left:730px}.lw-table h3{letter-spacing:-.01em;margin:0 0 10px;font-size:22px;font-weight:700}.lw-chart{aspect-ratio:293/195;background:#fff;width:280px;top:330px;left:730px}.lw-map{width:280px;top:370px;left:420px}.lw-map>img{aspect-ratio:348.8/218;width:100%}.lw-map-ink{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lw-map-ink path{stroke:#d8392b;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.lw-poster{width:228px;top:320px;left:1050px}.lw-poster img{aspect-ratio:163/203;width:100%}.lw-poster-price{white-space:nowrap;background:#fff;padding:5px 11px;font-size:13px;font-weight:700;position:absolute;bottom:9%;left:50%;transform:translate(-50%)}.lw-thread{z-index:2;width:290px;top:566px;left:730px}.la-selected{position:relative}.la-selection-box{pointer-events:none;outline:1px solid #377ffc;position:absolute;inset:0}.la-corner{border:0 solid #377ffc;width:10px;height:10px;position:absolute}.la-corner.is-nw{border-width:1.5px 0 0 1.5px;top:-4px;left:-4px}.la-corner.is-ne{border-width:1.5px 1.5px 0 0;top:-4px;right:-4px}.la-corner.is-sw{border-width:0 0 1.5px 1.5px;bottom:-4px;left:-4px}.la-corner.is-se{border-width:0 1.5px 1.5px 0;bottom:-4px;right:-4px}.la-side{background:#377ffc;position:absolute}.la-side:is(.is-n,.is-s){width:8px;height:1.5px;left:50%;transform:translate(-50%)}.la-side.is-n{top:-4px}.la-side.is-s{bottom:-4px}.la-side:is(.is-w,.is-e){width:1.5px;height:8px;top:50%;transform:translateY(-50%)}.la-side.is-w{left:-4px}.la-side.is-e{right:-4px}.la-size{color:#fff;white-space:nowrap;background:#377ffc;border-radius:3px;padding:2px 7px;font-size:9.5px;font-style:normal;font-weight:700;line-height:13px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.la-sheet{grid-template-columns:24px repeat(var(--la-columns), minmax(0, 1fr));background:#fff;grid-template-rows:18px;grid-auto-rows:26px;font-size:12px;display:grid}.la-sheet>span,.la-sheet-row>span{white-space:nowrap;border-bottom:1px solid #e8e8e8;border-right:1px solid #e8e8e8;align-items:center;min-width:0;display:flex;overflow:hidden}.la-sheet-row{display:contents}.la-sheet-head,.la-sheet-num{color:#8a8a8a;background:#fafafa;justify-content:center;font-size:9px}.la-sheet-corner{background:#fafafa}.la-sheet-cell{padding:0 8px}.la-sheet-cell.is-header{color:var(--ff-text-muted);font-weight:600}.la-sheet-row.is-highlight>.la-sheet-cell{background:#eff5ff}.la-sheet-cell.is-selected{outline-offset:-2px;outline:2px solid #377ffc;font-weight:600;position:relative}.la-sheet-cell.is-selected:after{content:"";background:#377ffc;border:1px solid #fff;width:6px;height:6px;position:absolute;bottom:-1px;right:-1px}.la-cursor{z-index:2;width:16px;height:20px;position:absolute}.la-cursor svg{fill:var(--la-user);stroke:#fff;stroke-width:1.5px;stroke-linejoin:round;display:block}.la-cursor b{box-sizing:border-box;color:#fff;background:var(--la-user);white-space:nowrap;border:1.5px solid #fff;border-radius:10px;align-items:center;height:20px;padding:0 8px;font-size:11px;font-weight:600;display:flex;position:absolute;top:16px;left:10px}.la-comment-pin{z-index:2;box-sizing:border-box;width:36px;height:36px;box-shadow:var(--ff-shadow-float);background:#fff;border-radius:18px 18px 18px 0;place-items:center;display:grid;position:absolute}.la-avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;line-height:1;display:grid}.la-comment-pin .la-avatar{width:28px;height:28px}.la-thread{box-sizing:border-box;border-radius:var(--ff-radius-xl);box-shadow:var(--ff-dropdown-shadow);font-size:var(--ff-text-md);text-align:left;background:#fff;position:absolute;overflow:hidden}.la-thread header{border-bottom:1px solid var(--ff-line);font-size:var(--ff-text-md);padding:11px 14px;font-weight:700}.la-thread article{gap:10px;padding:12px 14px 4px;display:flex}.la-thread article:last-child{padding-bottom:14px}.la-thread p{margin:0;line-height:1.45}.la-thread .la-thread-meta{align-items:baseline;gap:6px;margin-bottom:2px;display:flex}.la-thread strong{font-size:var(--ff-text-sm)}.la-thread small{color:var(--ff-text-muted);font-size:var(--ff-text-xs)}.la-mention{color:#7c4dff;background:#7c4dff24;border-radius:4px;padding:0 3px;font-weight:600}.landing-nav{z-index:20;height:80px;transition:padding var(--ff-duration-slow) ease;margin-bottom:-80px;padding:10px clamp(12px,3vw,24px);position:sticky;top:0}.landing-nav-inner{border-radius:var(--ff-radius-3xl);max-width:1180px;height:60px;transition:background var(--ff-duration-slow) ease, border-color var(--ff-duration-slow) ease, box-shadow var(--ff-duration-slow) ease, height var(--ff-duration-slow) ease;border:1px solid #0000;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:16px;margin:0 auto;padding:0 10px 0 18px;display:grid}.landing-nav.is-scrolled{padding-top:8px}.landing-nav.is-scrolled .landing-nav-inner{border-color:color-mix(in srgb, var(--ff-text) 8%, transparent);background:color-mix(in srgb, var(--ff-canvas) 78%, transparent);height:54px;box-shadow:0 1px 2px color-mix(in srgb, var(--ff-text) 5%, transparent), 0 12px 32px color-mix(in srgb, var(--ff-text) 9%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(18px);backdrop-filter:saturate(1.6)blur(18px)}.landing-nav-brand{color:var(--ff-text);justify-self:start;align-items:center;gap:10px;text-decoration:none;display:flex}.landing-nav-brand .handwritten-wordmark{--ink-width:2.3;--ink-duration:1.4s;width:84px;height:auto}.landing-nav-links{scrollbar-width:none;overscroll-behavior-x:contain;border:1px solid color-mix(in srgb, var(--ff-text) 7%, transparent);border-radius:var(--ff-radius-pill);background:color-mix(in srgb, var(--ff-canvas) 60%, transparent);align-items:center;gap:2px;min-width:0;padding:4px;display:flex;overflow-x:auto}.landing-nav-links::-webkit-scrollbar{display:none}.landing-nav-links a{white-space:nowrap;border-radius:var(--ff-radius-pill);color:var(--ff-text-muted);font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);transition:color var(--ff-duration-base) ease, background var(--ff-duration-base) ease, box-shadow var(--ff-duration-base) ease;flex:none;padding:7px 16px;text-decoration:none}.landing-nav-links a:hover{color:var(--ff-text)}.landing-nav-links a[aria-current=page]{color:var(--ff-text);background:var(--ff-canvas);box-shadow:0 1px 2px color-mix(in srgb, var(--ff-text) 10%, transparent), 0 2px 8px color-mix(in srgb, var(--ff-text) 6%, transparent)}.landing-nav-actions{justify-self:end;align-items:center;gap:6px;display:flex}.landing-nav .landing-login{border-radius:var(--ff-radius-pill);height:38px;color:var(--ff-text);font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);padding:0 14px}.landing-nav .landing-start{border-radius:var(--ff-radius-pill);min-width:0;height:38px;font-size:var(--ff-text-base);box-shadow:0 1px 2px color-mix(in srgb, var(--ff-text) 20%, transparent), inset 0 1px 0 #ffffff2e;align-items:center;gap:6px;padding:0 14px 0 18px;display:inline-flex}.landing-nav .landing-start svg{transition:transform var(--ff-duration-base) ease}.landing-nav .landing-start:hover svg{transform:translate(2px)}a.landing-secondary-action,a.landing-primary-action{text-decoration:none}.landing-secondary-action{border-radius:var(--ff-radius-lg);min-height:48px;color:var(--ff-text);font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold);background:0 0;border:0;align-items:center;gap:6px;padding:0 18px;display:inline-flex}.landing-secondary-action:hover{background:color-mix(in srgb, var(--ff-text) 6%, transparent)}.landing-secondary-action svg{transition:transform var(--ff-duration-base) ease}.landing-secondary-action:hover svg{transform:translate(3px)}.landing-primary-action.is-inverse{color:var(--ff-text);background:var(--ff-canvas)}.landing-eyebrow{color:var(--ff-text-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;display:block}.landing-section{max-width:1280px;margin:0 auto;padding:clamp(80px,11vw,160px) clamp(20px,5vw,48px)}.landing-section>h2{max-width:760px;font-size:clamp(32px,3.8vw,56px);font-weight:var(--ff-weight-semibold);letter-spacing:-.045em;text-wrap:balance;margin:0;line-height:1.05}.landing-hero-glow{z-index:0;filter:blur(30px);pointer-events:none;background:radial-gradient(40% 50% at 20% 30%,#8fb3ff61,#0000 70%),radial-gradient(35% 45% at 82% 25%,#ff9fb857,#0000 70%),radial-gradient(30% 40% at 55% 75%,#9fe3c047,#0000 70%);height:80%;position:absolute;inset:-10% -10% auto}.landing-hero>:not(.landing-hero-glow){z-index:1;position:relative}.landing-cta{width:min(1180px,100% - 40px);color:var(--ff-text-inverse);background:var(--ff-text);text-align:center;border-radius:22px;margin:0 auto clamp(40px,6vw,80px);padding:clamp(48px,7vw,88px) clamp(24px,5vw,64px)}.landing-cta h2 em{font-style:normal;display:inline-block;position:relative}.landing-cta .hand-drawn-underline{width:106%;height:auto;color:var(--ff-text-inverse);--ink-width:2.2;--ink-duration:.7s;position:absolute;bottom:-.22em;left:-3%}.landing-cta h2{font-size:clamp(30px,3.6vw,52px);font-weight:var(--ff-weight-semibold);letter-spacing:-.045em;text-wrap:balance;margin:0;line-height:1.05}.landing-cta p{opacity:.7;max-width:520px;font-size:var(--ff-text-lg);text-wrap:balance;margin:18px auto 30px;line-height:1.55}.landing-footer{max-width:1180px;color:var(--ff-text-muted);font-size:var(--ff-text-md);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:24px clamp(20px,5vw,40px) 40px;display:flex}.landing-footer-wordmark{--ink-width:2.8;width:64px;height:auto}.landing-footer nav{gap:18px;display:flex}.landing-footer a{color:inherit;text-decoration:none}.landing-footer a:hover{color:var(--ff-text)}.landing-essay{max-width:680px;margin:0 auto;padding:calc(80px + clamp(56px,8vw,100px)) clamp(20px,5vw,0px) clamp(64px,8vw,110px)}.landing-essay h1{font-size:clamp(38px,4.6vw,60px);font-weight:var(--ff-weight-semibold);letter-spacing:-.05em;text-wrap:balance;margin:0;line-height:1.02}.landing-essay h2{font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-semibold);letter-spacing:-.03em;margin:56px 0 14px;line-height:1.2}.landing-essay p{color:color-mix(in srgb, var(--ff-text) 82%, transparent);font-size:var(--ff-text-xl);letter-spacing:-.005em;text-wrap:pretty;margin:0 0 20px;line-height:1.7}.landing-essay .landing-essay-lede{color:var(--ff-text);font-size:var(--ff-text-2xl);margin-top:40px;line-height:1.6}.landing-essay-actions{border-top:1px solid color-mix(in srgb, var(--ff-text) 10%, transparent);flex-wrap:wrap;gap:10px;margin-top:48px;padding-top:32px;display:flex}@media (width<=860px){.landing-footer{flex-direction:column}.landing-nav-inner{gap:8px;padding-left:10px}.landing-nav .landing-login{display:none}.landing-nav-links a{padding-inline:10px}.landing-nav-links{-webkit-mask-image:linear-gradient(90deg, transparent, var(--ff-neutral-100) 10px, var(--ff-neutral-100) calc(100% - 18px), transparent);mask-image:linear-gradient(90deg, transparent, var(--ff-neutral-100) 10px, var(--ff-neutral-100) calc(100% - 18px), transparent)}.landing-nav .landing-start{white-space:nowrap;padding-inline:14px}.landing-nav .landing-start svg{display:none}.landing-essay p,.landing-essay .landing-essay-lede{font-size:var(--ff-text-xl)}}.landing-section+.landing-section{padding-top:0}.landing-story-lede{max-width:680px;color:color-mix(in srgb, var(--ff-text) 74%, transparent);font-size:var(--ff-text-2xl);letter-spacing:-.015em;text-wrap:pretty;margin:24px 0 0;line-height:1.5}.landing-facts{margin:clamp(40px,6vw,72px) 0 0;padding:0;list-style:none}.landing-fact{border-top:1px solid var(--ff-card-border);grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(28px,4vw,48px) 0;display:grid}.landing-fact:last-child{border-bottom:1px solid var(--ff-card-border)}.landing-fact h3{text-align:right;font-size:clamp(24px,2.6vw,36px);font-weight:var(--ff-weight-semibold);letter-spacing:-.035em;text-wrap:balance;justify-self:end;margin:0;line-height:1.15}.landing-fact-number{min-width:2ch;font-size:clamp(72px,10vw,140px);font-weight:var(--ff-weight-semibold);letter-spacing:-.06em;font-variant-numeric:tabular-nums;text-align:center;color:color-mix(in srgb, var(--ff-text) 14%, transparent);line-height:.9}.landing-fact p{max-width:400px;color:var(--ff-text-muted);font-size:var(--ff-text-lg);text-wrap:pretty;margin:0;line-height:1.6}.landing-letter-paper{background:var(--ff-canvas);max-width:620px;box-shadow:var(--ff-shadow-card);font-family:"DM Sans", var(--ff-font-sans);margin:0 auto;padding:clamp(32px,5vw,56px);position:relative}.landing-letter{z-index:0;position:relative}.landing-letter-paper:before{content:"";z-index:-1;background:var(--ff-canvas);box-shadow:var(--ff-shadow-card);position:absolute;inset:0;transform:rotate(-1.6deg)}.landing-letter-paper p{font-size:var(--ff-text-xl);letter-spacing:-.01em;text-wrap:pretty;margin:0 0 18px;line-height:1.7}.landing-letter-signature{--ink-width:2.4;width:110px;height:auto;margin-top:10px}@media (width<=860px){.landing-story-lede{font-size:var(--ff-text-xl)}.landing-fact{grid-template-columns:auto 1fr;grid-template-areas:"number title""number body";align-items:start;gap:8px 20px}.landing-fact h3{text-align:left;grid-area:title;justify-self:start}.landing-fact-number{grid-area:number;font-size:64px}.landing-fact p{grid-area:body}}.uploads-workspace-heading{border-bottom:1px solid var(--ff-line);align-items:center;margin-bottom:18px;padding-bottom:16px}.uploads-workspace-actions{align-items:center;gap:8px;display:flex}.uploads-workspace-actions button,.uploads-workspace-empty button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);height:36px;color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);background:0 0;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.uploads-workspace-actions button:hover{background:var(--ff-surface-hover)}.uploads-workspace-actions button:last-child,.uploads-workspace-empty button{color:var(--ff-text-inverse);border-color:var(--ff-ink);background:var(--ff-ink)}.uploads-workspace-actions button:last-child:hover,.uploads-workspace-empty button:hover{background:var(--ff-palette-primary)}.uploads-workspace-actions button:disabled{opacity:.55}.uploads-workspace button:focus{outline:none}.uploads-workspace-error{border-radius:var(--ff-radius-md);color:var(--ff-danger);background:color-mix(in srgb, var(--ff-danger) 7%, transparent);font-size:var(--ff-text-xs);margin:0 0 14px;padding:10px 12px;line-height:1.4}.upload-delete-backdrop{z-index:220;background:color-mix(in srgb, var(--ff-neutral-100) 56%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:create-backdrop-in var(--ff-duration-base) ease-out;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.upload-delete-dialog{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 70%, transparent);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);width:min(430px,100%);box-shadow:var(--ff-shadow-modal);animation:create-modal-in var(--ff-duration-base) ease-out;grid-template-columns:42px minmax(0,1fr);gap:0 14px;padding:22px;display:grid}.upload-delete-icon{border-radius:var(--ff-radius-round);width:42px;height:42px;color:var(--ff-danger);background:color-mix(in srgb, var(--ff-danger) 10%, transparent);place-items:center;display:grid}.upload-delete-copy{min-width:0}.upload-delete-copy h2{color:var(--ff-ink);font-size:var(--ff-text-xl);margin:1px 0 8px;line-height:1.25}.upload-delete-copy p{color:var(--ff-muted);font-size:var(--ff-text-sm);margin:0;line-height:1.55}.upload-delete-copy strong{color:var(--ff-ink)}.upload-delete-copy ul{border-radius:var(--ff-radius-sm);background:var(--ff-surface-subtle);max-height:112px;color:var(--ff-ink);font-size:var(--ff-text-sm);margin:10px 0;padding:8px 10px 8px 26px;line-height:1.6;overflow-y:auto}.upload-delete-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.upload-delete-actions button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);height:34px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);padding:0 13px}.upload-delete-actions button:hover{background:var(--ff-surface-hover)}.upload-delete-actions button.danger{color:var(--ff-on-accent);border-color:var(--ff-danger);background:var(--ff-danger)}.upload-delete-actions button.danger:hover{background:color-mix(in srgb, var(--ff-danger) 88%, var(--ff-neutral-100))}.upload-delete-actions button:focus{border-color:var(--ff-line);outline:none}.upload-delete-actions button.danger:focus{border-color:var(--ff-danger)}.uploads-workspace-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.uploads-workspace-layout{align-items:center;gap:12px;display:flex}.uploads-workspace-layout>span{color:var(--ff-muted);font-size:var(--ff-text-xs)}.uploads-workspace-tabs{border-radius:var(--ff-radius-md);background:var(--ff-surface-hover);gap:3px;padding:3px;display:inline-flex}.uploads-workspace-tabs button{border-radius:var(--ff-radius-sm);min-width:76px;height:32px;color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);background:0 0;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.uploads-workspace-tabs button:hover{color:var(--ff-ink)}.uploads-workspace-tabs button.active{color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.uploads-workspace-tabs small{border-radius:var(--ff-radius-md);min-width:16px;height:16px;color:var(--ff-muted);background:var(--ff-surface-subtle);font-size:var(--ff-text-3xs);place-items:center;padding:0 4px;display:grid}.uploads-workspace-tabs button.active small{color:var(--ff-text-inverse);background:var(--ff-ink)}.template-heading-controls{align-items:center;gap:12px;min-width:0;display:flex}.template-filter-tabs{box-sizing:border-box;border-radius:var(--ff-radius-md);background:var(--ff-surface-hover);flex-wrap:wrap;flex:none;align-self:flex-start;gap:3px;width:fit-content;min-width:0;max-width:100%;padding:3px;display:inline-flex}.template-filter-tabs button{border-radius:var(--ff-radius-sm);width:32px;min-width:26px;height:32px;color:var(--ff-muted);background:0 0;flex:0 32px;place-items:center;padding:0;display:grid}.template-filter-tabs button>svg{flex:0 0 16px;width:16px;height:16px}.template-filter-tabs button:hover{color:var(--ff-ink)}.template-filter-tabs button.active{color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm)}.template-library-heading{gap:24px}.template-library-heading .template-filter-tabs{margin-left:auto}.uploads-library-grid{margin-top:0}.uploads-library-grid .media-item{border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-card);border:0;transform:none}.uploads-library-grid .media-item:hover{background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm);border-color:#0000;transform:none}.uploads-library-grid .media-preview{aspect-ratio:4/3}.uploads-library-grid .media-item.audio .media-preview{aspect-ratio:auto}.uploads-library-grid .media-preview img,.uploads-library-grid .media-preview video{object-fit:cover;width:100%;height:100%}.uploads-library-grid .media-audio{box-sizing:border-box;grid-template-rows:auto auto;align-content:center;height:auto;min-height:92px;padding:11px 12px}.uploads-library-grid.layout-masonry{--media-masonry-gap:14px;position:relative}.uploads-library-grid.layout-masonry .media-preview{height:100%;aspect-ratio:auto!important}.uploads-library-grid.layout-rows{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.uploads-library-grid.layout-rows>.media-item{flex:1 1 calc(164px * var(--media-aspect,1.4));min-width:190px;max-width:none}.uploads-library-grid.layout-rows>.media-item.audio{flex-basis:260px}.uploads-library-grid.layout-rows .media-preview{height:100%;aspect-ratio:auto!important}.uploads-library-grid.layout-list .media-preview{min-width:82px;aspect-ratio:auto!important}.uploads-library-grid.layout-list .media-audio{place-items:center;min-height:54px;padding:0;display:grid}.uploads-library-grid.layout-list .media-audio-heading>span,.uploads-library-grid.layout-list .media-audio-controls{display:none}.uploads-library-grid.layout-list .media-audio-heading>i{flex-basis:28px;width:28px;height:28px}.uploads-workspace-empty{min-height:250px;color:var(--ff-muted);border:1px dashed var(--ff-line);border-radius:var(--ff-radius-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.uploads-workspace-empty strong{color:var(--ff-ink);font-size:var(--ff-text-md)}.uploads-workspace-empty span{max-width:300px;font-size:var(--ff-text-xs);line-height:1.5}.uploads-workspace-empty button{margin-top:5px}@media (hover:none){.uploads-library-grid .media-delete{opacity:1;transform:none}}@media (width<=700px){.uploads-workspace-heading{align-items:flex-start;gap:16px}.uploads-workspace-actions{width:100%}.uploads-workspace-actions button{flex:1;min-width:0}.uploads-workspace-toolbar{flex-direction:column;align-items:flex-start}.uploads-workspace-layout{justify-content:space-between;width:100%}.uploads-workspace-tabs{width:100%;overflow-x:auto}.uploads-workspace-tabs button{flex:1 0 auto;min-width:68px}.template-browser-heading,.template-library-heading{flex-direction:column;align-items:flex-start}.template-heading-controls{flex-direction:column;align-items:flex-start;width:100%}.template-library-heading .template-filter-tabs{margin-left:0}.upload-delete-backdrop{padding:12px}.upload-delete-dialog{padding:18px}}.projects-view.is-file-drop-target{position:relative}.projects-view.is-file-drop-target:after{content:"";z-index:40;border:2px dashed var(--ff-accent,#6d5efc);border-radius:var(--ff-radius-md);background:color-mix(in srgb, var(--ff-accent,#6d5efc) 8%, transparent);pointer-events:none;position:fixed;inset:8px}.workspace-file-drop-hint{z-index:41;background:var(--ff-ink);color:var(--ff-canvas);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.font-panel-content{flex-direction:column;flex:1;min-height:0;display:flex}.font-panel-tabs{border-bottom:1px solid var(--ff-line);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));margin:-4px 0 14px;display:grid}.font-panel-tabs button{height:38px;color:var(--ff-muted);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);background:0 0;border:0;border-radius:0;padding:0 8px}.font-panel-tabs button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.font-panel-tabs button.active{color:var(--ff-ink);box-shadow:inset 0 -2px 0 var(--ff-ink)}.font-panel-tabs button:focus{outline:none}.font-panel-list{min-height:0;margin-top:16px;overflow-y:auto}.font-panel-styles{margin-top:0}.font-panel-section{border-bottom:1px solid var(--ff-line);margin:0 0 16px;padding:0 0 16px}.font-panel-section:last-child{border-bottom:0;margin-bottom:0}.font-panel-section h3{color:var(--ff-ink);font-family:var(--ff-font-sans);font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);margin:0 8px 10px;line-height:1.25}.font-panel-section h3 span{color:var(--ff-muted);font-weight:var(--ff-weight-medium);margin-left:5px}.font-panel-brand{gap:2px;display:grid}.font-panel-brand h3{margin-bottom:8px}.font-panel-brand button{min-width:0;color:var(--ff-ink);text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:68px minmax(0,1fr);align-items:center;padding:10px 8px;display:grid}.font-panel-brand button:hover{background:var(--ff-surface-hover)}.font-panel-brand button.active{background:var(--ff-selection-soft)}.font-panel-brand small{color:var(--ff-muted);font-family:var(--ff-font-sans);font-size:var(--ff-text-sm);text-transform:capitalize}.font-panel-brand button>span{min-width:0;font-size:var(--ff-text-lg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-panel-row{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 36px;align-items:stretch;height:34px;min-height:34px;max-height:34px;display:grid;overflow:hidden}.font-panel-row.active{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid)}.font-panel-choice,.font-favorite{box-sizing:border-box;background:0 0;border:0;border-radius:0;height:100%}.font-panel-choice{min-width:0;font-size:var(--ff-text-lg);font-weight:var(--ff-weight-regular);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:7px 8px;line-height:18px;overflow:hidden}.font-favorite{color:var(--ff-muted);place-items:center;display:grid}.font-favorite[aria-pressed=true]{color:var(--ff-warning)}.font-panel-trigger{max-width:190px}.font-panel-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-settings-panel-content,.position-panel-tabs-content,.position-panel-tab-view,.position-panel-content{min-height:0}.text-settings-panel-content,.position-panel-content{align-content:start;display:grid}.text-settings-section,.position-panel-content .transform-section{border-top:0;border-bottom:1px solid var(--ff-line);padding:14px 0}.text-settings-section:first-child,.position-panel-content .transform-section:first-child{padding-top:0}.text-settings-section:last-child,.position-panel-content .transform-section:last-of-type{border-bottom:0}.text-settings-section h3,.position-panel-content .transform-section h3{color:var(--ff-ink);font-size:var(--ff-text-base);font-weight:var(--ff-weight-bold);margin:0 0 10px}.text-settings-panel-content .advanced-text-actions{border-top:0;gap:6px;padding:0}.text-settings-panel-content .advanced-text-actions button{border-radius:var(--ff-radius-sm);background:var(--ff-surface-subtle);height:38px}.text-settings-panel-content .advanced-text-anchor{margin-top:12px;padding:10px 0 0}.text-settings-section .range-field-row+.range-field-row{margin-top:10px}.position-panel-tabs-content{flex-direction:column;flex:1;display:flex}.position-panel-tabs{border-bottom:1px solid var(--ff-line);grid-template-columns:repeat(2,minmax(0,1fr));margin:-4px 0 14px;display:grid}.position-panel-tabs button{height:38px;color:var(--ff-muted);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);background:0 0;border:0;border-radius:0;padding:0 8px}.position-panel-tabs button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.position-panel-tabs button.active{color:var(--ff-ink);box-shadow:inset 0 -2px 0 var(--ff-ink)}.position-panel-tab-view{flex:1;overflow-y:auto}.position-panel-content .transform-action-grid{gap:6px}.position-panel-content .transform-action-grid button{height:40px}.position-panel-content .transform-align-grid button{height:54px}.position-panel-content .transform-field-grid{gap:9px}.transitions-panel-content{flex-direction:column;flex:1;min-height:0;display:flex}.transitions-panel-content>.panel-title{border-bottom:1px solid var(--ff-line);flex:none;width:100%;margin:0 0 16px;padding:2px 42px 14px 0}.timeline-transition-duration{z-index:4;box-sizing:border-box;border:1px dashed var(--ff-accent);border-radius:var(--ff-radius-lg);pointer-events:none;background:0 0;min-width:3px;height:32px;position:absolute;overflow:visible}.timeline-transition-duration.selected{border-color:var(--ff-selection)}.timeline-transition-duration-handle{z-index:1;background:var(--ff-accent);cursor:ew-resize;pointer-events:auto;touch-action:none;border:0;border-radius:3px;outline:none;width:8px;min-width:8px;height:auto;padding:0;position:absolute;top:5px;bottom:5px}.timeline-transition-duration-handle.start{left:-4px}.timeline-transition-duration-handle.end{right:-4px}.timeline-transition-duration.selected .timeline-transition-duration-handle{background:var(--ff-ink)}.timeline-transition-duration-handle:focus{outline:none}.timeline-transition-junction{z-index:5;border:2px solid var(--ff-canvas);border-radius:var(--ff-radius-round);width:22px;height:22px;color:var(--ff-ink);background:var(--ff-canvas);box-shadow:var(--ff-shadow-sm);outline:none;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%)}.timeline-transition-junction:hover{color:var(--ff-text-inverse);background:var(--ff-ink)}.timeline-transition-junction:disabled{opacity:.45}.timeline-transition-junction.active,.timeline-transition-junction.active:hover{color:var(--ff-text-inverse);background:var(--ff-ink)}.timeline-transition-junction.active.selected,.timeline-transition-junction.active.selected:hover{box-shadow:inset 0 0 0 2px var(--ff-canvas), var(--ff-shadow-sm)}.timeline-transition-junction.selected:not(.active),.timeline-transition-junction.selected:not(.active):hover{color:var(--ff-selection);border:1px solid var(--ff-selection);background:var(--ff-canvas)}.transition-picker-grid{gap:10px;display:grid}.transition-picker-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.transition-picker-row>button{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);text-align:left;outline:0;gap:8px;min-width:0;padding:7px;display:grid}.transition-picker-row>button:hover,.transition-picker-row>button.active{background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm)}.transition-picker-row>button:focus{outline:0}.transition-picker-row>button.active{box-shadow:inset 0 0 0 2px var(--ff-ink)}.transition-picker-row strong{color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);padding:0 2px 2px}.transition-inline-settings{--animation-pointer-column:var(--transition-pointer-column);grid-column:1/-1}.transition-inline-settings:before{left:calc((100% / 2) * (var(--transition-pointer-column) + .5))}.transition-direction-control{grid-template-columns:repeat(4,38px)}.transition-color-control button{justify-content:center;align-items:center;gap:7px;display:flex}.transition-color-swatch{border:1px solid var(--ff-line-strong);border-radius:var(--ff-radius-round);flex:0 0 16px;width:16px;height:16px;display:block}.transition-color-swatch.black{background:var(--ff-neutral-100)}.transition-color-swatch.white{background:var(--ff-surface-raised)}.timeline-transition-overlay{z-index:78;pointer-events:none;position:absolute;inset:0}.transition-preview{border-radius:var(--ff-radius-sm);background:var(--ff-surface-muted);height:70px;display:block;position:relative;overflow:hidden}.transition-preview i{border-radius:var(--ff-radius-xs);background:var(--ff-muted);width:36px;height:42px;position:absolute;top:14px}.transition-preview i:first-child{left:16px}.transition-preview i:last-child{background:var(--ff-ink);right:16px}.transition-preview-fade i:first-child{opacity:.28}.transition-preview-slide i:first-child{left:5px;transform:translate(-8px)}.transition-preview-slide i:last-child{right:5px;transform:translate(8px)}.transition-preview-zoom i:first-child{opacity:.32;transform:scale(.72)}.transition-preview-zoom i:last-child{transform:scale(1.08)}.transition-preview-blur i:first-child{filter:blur(5px);opacity:.65}.transition-preview-blur i:last-child{filter:blur(1px)}.transition-preview-glitch:before,.transition-preview-glitch:after{z-index:2;content:"";mix-blend-mode:multiply;background:#00e5ff;height:4px;position:absolute;left:8px;right:8px}.transition-preview-glitch:before{top:23px;transform:translate(5px)}.transition-preview-glitch:after{background:#ff1744;top:42px;transform:translate(-6px)}.transition-preview-glitch i:first-child{filter:contrast(1.4)drop-shadow(4px 0 #00e5ff);clip-path:polygon(0 0,100% 0,100% 35%,76% 35%,76% 52%,100% 52%,100% 100%,0 100%);left:12px;transform:translate(-3px)}.transition-preview-glitch i:last-child{filter:contrast(1.4)drop-shadow(-4px 0 #ff1744);clip-path:polygon(0 0,100% 0,100% 48%,20% 48%,20% 65%,100% 65%,100% 100%,0 100%);right:12px;transform:translate(3px)}.transition-preview-whip i:first-child{opacity:.55;filter:blur(3px);left:3px;transform:translate(-10px,5px)rotate(-13deg)scale(.72)}.transition-preview-whip i:last-child{filter:blur(.7px);right:3px;transform:translate(8px,-3px)rotate(8deg)scale(1.08)}.brand-workspace{width:min(1180px,100%);padding-bottom:48px}.brand-workspace-heading p{max-width:520px;font-size:var(--ff-text-base);margin-top:8px;line-height:1.5}.brand-page-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.brand-page-body.has-detail{grid-template-columns:minmax(0,1fr) 340px}.brand-page-main{gap:20px;min-width:0;display:grid}.brand-page-section-header,.brand-kit-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.brand-page-section-header h2{color:var(--ff-ink);font-size:var(--ff-text-lg);font-weight:var(--ff-weight-semibold);margin:0}.brand-page-section-header p,.brand-kit-section-heading p{color:var(--ff-muted);font-size:var(--ff-text-md);margin:3px 0 0}.brand-primary-button{border-radius:var(--ff-radius-lg);height:36px;color:var(--ff-text-inverse);background:var(--ff-primary);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);align-items:center;gap:6px;padding:0 14px;display:inline-flex}.brand-primary-button:hover{background:var(--ff-ink)}.brand-kit-library{gap:12px;display:grid}.brand-kit-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.brand-kit-list>button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-2xl);min-width:0;color:var(--ff-ink);background:var(--ff-surface-solid);box-shadow:var(--ff-shadow-sm);text-align:left;transition:transform var(--ff-duration-base), box-shadow var(--ff-duration-base), border-color var(--ff-duration-base);padding:0;display:grid;overflow:hidden}.brand-kit-list>button:hover{box-shadow:var(--ff-shadow-card);transform:translateY(-1px)}.brand-kit-list>button.active{border-color:var(--ff-ink);box-shadow:0 0 0 1px var(--ff-ink), var(--ff-shadow-card)}.brand-kit-card-palette{height:56px;display:flex}.brand-kit-card-palette i{flex:1 1 0}.brand-kit-card-body{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:grid}.brand-kit-card-specimen{font-size:var(--ff-text-3xl);font-weight:var(--ff-weight-semibold);line-height:1}.brand-kit-card-meta{gap:2px;min-width:0;display:grid}.brand-kit-card-meta strong,.brand-kit-card-meta small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-kit-card-meta strong{font-size:var(--ff-text-base);font-weight:var(--ff-weight-semibold)}.brand-kit-card-meta small{color:var(--ff-muted);font-size:var(--ff-text-sm)}.brand-kit-card-badge{border-radius:var(--ff-radius-pill);color:var(--ff-text-inverse);background:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.brand-kit-editor{border:1px solid var(--ff-line);border-radius:var(--ff-radius-3xl);background:var(--ff-surface);min-width:0;box-shadow:var(--ff-shadow-sm);gap:0;padding:8px 28px 12px;display:grid}.brand-kit-title{border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.brand-kit-name.project-title{border-radius:var(--ff-radius-lg);min-width:0;height:44px;color:var(--ff-ink);font-family:var(--ff-font-serif);font-size:var(--ff-text-3xl);font-weight:var(--ff-weight-medium);background:0 0;border:1px solid #0000;flex:auto;margin-left:-10px;padding:0 10px}.brand-kit-name.project-title:hover{border-color:var(--ff-line);background:0 0}.brand-kit-name.project-title:focus{border-color:var(--ff-primary);background:var(--ff-surface-solid);outline:0}.brand-kit-actions{gap:8px;display:flex}.brand-kit-actions button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);height:34px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.brand-kit-actions button:hover:not(:disabled){background:var(--ff-surface-hover)}.brand-kit-actions .danger{color:var(--ff-danger)}.brand-kit-actions button:disabled{opacity:.35}.brand-kit-section{border-bottom:1px solid var(--ff-line);gap:16px;padding:24px 0;display:grid}.brand-kit-section:last-child{border-bottom:0}.brand-kit-section-heading h3{color:var(--ff-ink);font-size:var(--ff-text-lg);font-weight:var(--ff-weight-semibold);margin:0}.brand-color-list{flex-wrap:wrap;gap:16px;display:flex}.brand-color-item{justify-items:center;gap:7px;width:84px;display:grid;position:relative}.brand-color-item code{max-width:100%;color:var(--ff-muted);font:var(--ff-weight-medium) var(--ff-text-sm) var(--ff-font-sans);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.brand-color-swatch,.brand-color-add{border-radius:var(--ff-radius-3xl);border:0;width:84px;height:84px;padding:0}.brand-color-swatch{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 10%, transparent);transition:transform var(--ff-duration-base), box-shadow var(--ff-duration-base)}.brand-color-swatch:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 10%, transparent), var(--ff-shadow-card);transform:translateY(-2px)}.brand-color-swatch[aria-pressed=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 10%, transparent), 0 0 0 2px var(--ff-surface-solid), 0 0 0 4px var(--ff-ink)}.brand-color-remove{border-radius:var(--ff-radius-round);width:22px;height:22px;color:var(--ff-text-inverse);background:var(--ff-ink);box-shadow:var(--ff-shadow-sm);opacity:0;pointer-events:none;transition:opacity var(--ff-duration-fast);place-items:center;padding:0;display:grid;position:absolute;top:-7px;right:-7px}.brand-color-item:hover .brand-color-remove,.brand-color-item:focus-within .brand-color-remove{opacity:1;pointer-events:auto}.brand-color-remove:hover{background:var(--ff-danger)}.brand-color-remove:disabled{display:none}.brand-color-add{border:1.5px dashed var(--ff-line-strong);color:var(--ff-muted);background:0 0;place-items:center;display:grid}.brand-color-add:hover{color:var(--ff-ink);border-color:var(--ff-ink);background:var(--ff-surface-hover)}.brand-type-list{gap:10px;display:grid}.brand-type-row{border-radius:var(--ff-radius-2xl);background:var(--ff-surface-muted);gap:10px;min-width:0;padding:18px 20px;display:grid}.brand-type-row>small{color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);letter-spacing:.6px;text-transform:uppercase}.brand-type-specimen{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;line-height:1.15;overflow:hidden}.brand-type-row:last-child .brand-type-specimen{white-space:normal;line-height:1.5}.brand-type-chips{flex-wrap:wrap;gap:8px;display:flex}.brand-type-chip{border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);min-width:0;height:32px;color:var(--ff-muted);background:var(--ff-surface-solid);font-size:var(--ff-text-md);align-items:center;gap:7px;padding:0 12px;display:inline-flex}.brand-type-chip:hover{color:var(--ff-ink);border-color:var(--ff-ink)}.brand-type-chip[aria-pressed=true]{color:var(--ff-text-inverse);border-color:var(--ff-ink);background:var(--ff-ink)}.brand-type-chip>span{min-width:0;color:inherit;font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.brand-type-chip strong{font-weight:var(--ff-weight-semibold)}.brand-type-chip i{border-radius:var(--ff-radius-round);width:12px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 20%, transparent);flex:0 0 12px}.brand-page-detail{min-width:0;position:sticky;top:16px}.brand-page-detail>.brand-kit-detail-panel{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-3xl);background:var(--ff-surface-solid);width:auto;height:auto;max-height:calc(100vh - 48px);box-shadow:var(--ff-shadow-card);padding:18px;position:relative;top:auto;left:auto;overflow-y:auto}.brand-editor-title{border-bottom:1px solid var(--ff-line);margin:0 0 16px;padding:2px 42px 14px 0}.brand-editor-title h2{font-family:var(--ff-font-serif);font-size:var(--ff-text-xl);font-weight:var(--ff-weight-semibold);margin:0}@media (width<=1100px){.brand-page-body.has-detail{grid-template-columns:minmax(0,1fr)}.brand-page-detail{position:static}}.brand-section-heading{align-items:center;gap:8px;min-height:26px;margin:0 8px 10px;display:flex}.brand-section-heading h3,.font-panel-section .brand-section-heading h3{flex:auto;margin:0}.brand-section-heading>span{color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);white-space:nowrap;text-overflow:ellipsis;max-width:110px;overflow:hidden}.brand-section-heading .action-menu-trigger.brand-kit-menu{border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);max-width:132px;height:28px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);transition:background-color var(--ff-duration-fast) ease, border-color var(--ff-duration-fast) ease;align-items:center;gap:6px;padding:0 9px 0 6px;display:inline-flex}.brand-section-heading .action-menu-trigger.brand-kit-menu:is(:hover,.is-open){border-color:var(--ff-neutral-20);background:var(--ff-surface-hover)}.brand-kit-menu>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.brand-kit-swatch{border-radius:var(--ff-radius-pill);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ff-neutral-100) 12%, transparent);flex:none;display:inline-flex;overflow:hidden}.brand-kit-swatch i{width:6px;height:14px}.brand-section-heading a{color:var(--ff-accent);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);white-space:nowrap;text-decoration:none}.brand-section-heading a:hover{text-decoration:underline}.color-panel-section .brand-section-heading{margin:0 0 11px}.text-browser .brand-section-heading{margin:0 0 8px}.text-browser .brand-section-heading h3{color:var(--ff-ink);font-size:var(--ff-text-base);font-weight:var(--ff-weight-medium)}.effect-stack{gap:8px;margin-bottom:18px;display:grid}.effect-stack>h3{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);margin:0 0 2px}.effect-stack-item{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-surface);cursor:pointer;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;display:grid}.effect-stack-item.active{background:var(--ff-surface-hover);box-shadow:var(--ff-shadow-sm)}.effect-stack-item>.effect-preview{width:58px;height:42px}.effect-stack-name{gap:2px;min-width:0;display:grid}.effect-stack-name strong{font-size:var(--ff-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.effect-stack-name small{color:var(--ff-muted);font-size:var(--ff-text-3xs)}.effect-stack-actions{gap:2px;display:flex}.effect-stack-actions button{border-radius:var(--ff-radius-xs);background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;display:grid}.effect-stack-actions button:hover:not(:disabled){background:var(--ff-surface-hover)}.effect-stack-actions button:disabled{opacity:.3}.effect-stack-actions svg{width:13px;height:13px}.effect-stack-settings{border-top:1px solid var(--ff-line);grid-column:1/-1;gap:10px;padding-top:8px;display:grid}.effect-settings-title{color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-bold)}.effect-range-control{gap:6px}.range-field-row{grid-template-columns:minmax(48px,auto) minmax(0,1fr) auto;align-items:center;gap:10px}.range-field-row>label{text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;min-width:0;overflow:hidden}.range-field-value{text-align:right;min-width:30px;color:var(--ff-muted);font-size:var(--ff-text-xs);font-variant-numeric:tabular-nums}.effect-range-value{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface);width:56px;height:30px;transition:border-color var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;justify-content:flex-end;align-items:center;gap:2px;padding:0 7px;display:inline-flex}.effect-range-value:focus-within{border-color:color-mix(in srgb, var(--ff-accent) 55%, var(--ff-line));box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-accent) 16%, transparent)}.effect-range-value input[type=number]{box-sizing:border-box;width:100%;min-width:0;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);font-variant-numeric:tabular-nums;text-align:right;appearance:textfield;background:0 0;border:0;outline:none;padding:0}.effect-range-value input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.effect-range-value input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.effect-range-unit{color:var(--ff-muted);font-size:var(--ff-text-xs)}.range-field-row:not(.color-transparency-control)>input[type=range]{appearance:none;accent-color:auto;background:0 0;height:18px}.range-field-row:not(.color-transparency-control)>input[type=range]:focus{outline:none}.range-field-row:not(.color-transparency-control)>input[type=range]::-webkit-slider-runnable-track{border-radius:var(--ff-radius-pill);background:linear-gradient(90deg, var(--ff-accent) var(--range-fill,0%), var(--ff-line-strong) var(--range-fill,0%));height:4px}.range-field-row:not(.color-transparency-control)>input[type=range]::-webkit-slider-thumb{appearance:none;border-radius:var(--ff-radius-round);background:var(--ff-surface-raised);width:16px;height:16px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-palette-neutral) 22%, transparent), 0 1px 4px color-mix(in srgb, var(--ff-palette-neutral) 28%, transparent);transition:transform var(--ff-duration-fast) ease, box-shadow var(--ff-duration-fast) ease;border:0;margin-top:-6px}.range-field-row:not(.color-transparency-control)>input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.1)}.range-field-row:not(.color-transparency-control)>input[type=range]:is(:active,:focus-visible)::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--ff-accent), 0 0 0 5px color-mix(in srgb, var(--ff-accent) 18%, transparent), 0 1px 4px color-mix(in srgb, var(--ff-palette-neutral) 28%, transparent)}.range-field-row:not(.color-transparency-control)>input[type=range]::-moz-range-track{border-radius:var(--ff-radius-pill);background:var(--ff-line-strong);height:4px}.range-field-row:not(.color-transparency-control)>input[type=range]::-moz-range-progress{border-radius:var(--ff-radius-pill);background:var(--ff-accent);height:4px}.range-field-row:not(.color-transparency-control)>input[type=range]::-moz-range-thumb{border-radius:var(--ff-radius-round);background:var(--ff-surface-raised);width:16px;height:16px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-palette-neutral) 22%, transparent), 0 1px 4px color-mix(in srgb, var(--ff-palette-neutral) 28%, transparent);border:0}.range-field-row:not(.color-transparency-control)>input[type=range]:disabled{opacity:.4}.effect-path-add,.effect-path-redraw{border:1px solid var(--ff-card-border);border-radius:var(--ff-radius-md);background:var(--ff-surface);text-align:left;align-items:center;gap:9px;display:flex}.effect-path-add{width:100%;min-height:44px;padding:7px 10px}.effect-path-add>span{gap:2px;display:grid}.effect-path-add strong{font-size:var(--ff-text-xs)}.effect-path-add small{color:var(--ff-muted);font-size:var(--ff-text-2xs)}.effect-path-redraw{min-height:30px;font-size:var(--ff-text-xs);grid-column:1/-1;justify-content:center}.effect-thumbnail-svg{width:100%;height:100%;display:block;overflow:visible}.effect-thumbnail-media{width:100%;height:100%;display:block}.effect-thumbnail-image,.animation-thumbnail-image,.transition-preview-image{object-fit:cover;width:100%;height:100%;display:block}.effect-thumbnail-svg *{vector-effect:non-scaling-stroke}.effect-icon-paper{fill:#f7f4ec;stroke:var(--ff-neutral-86);stroke-width:1.8px}.effect-icon-sun{fill:#f6c453}.effect-icon-land{fill:#4f9587;stroke:var(--ff-neutral-86);stroke-width:1.4px;stroke-linejoin:round}.effect-icon-detail,.effect-icon-rays,.effect-icon-speed,.effect-icon-film-rail,.effect-icon-sprockets,.effect-icon-tv-speaker,.effect-icon-text-curve,.effect-icon-facets{fill:none;stroke:var(--ff-neutral-86);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.effect-icon-shadow{opacity:.28;filter:brightness(.15)}.effect-icon-aura{fill:#ffca5a38;stroke:#f0a51b;stroke-width:2.5px}.effect-icon-rays{stroke:#f0a51b;stroke-width:2.5px}.effect-icon-echo-a .effect-icon-paper,.effect-icon-glitch-a .effect-icon-paper{fill:#ff4b61;stroke:#ff304d}.effect-icon-echo-b .effect-icon-paper,.effect-icon-glitch-b .effect-icon-paper{fill:#31cddd;stroke:#00a8c0}.effect-icon-contour{fill:none;stroke:var(--ff-neutral-0);stroke-width:7px;filter:drop-shadow(0 0 1px var(--ff-neutral-86))}.effect-icon-backdrop{fill:#f6c453;stroke:#da9430;stroke-width:1.5px}.effect-icon-speed{stroke:var(--ff-neutral-50);stroke-width:2.4px}.effect-icon-glass{fill:#d9f4f566;stroke:var(--ff-neutral-0);stroke-width:2px;filter:drop-shadow(0 4px 4px #17384538)}.effect-icon-glass-highlight{fill:none;stroke:var(--ff-neutral-0);stroke-width:2.6px;stroke-linecap:round;opacity:.9}.effect-icon-glass-refraction{fill:none;stroke:#55aeba;stroke-width:2.2px;stroke-linecap:round;opacity:.72}.effect-icon-night{fill:var(--ff-neutral-100);stroke:var(--ff-neutral-86);stroke-width:1.5px}.effect-icon-neon .effect-icon-paper{fill:var(--ff-neutral-100);stroke:#20d9e8;stroke-width:2px}.effect-icon-neon .effect-icon-sun{fill:#ff38b8}.effect-icon-neon .effect-icon-land{fill:none;stroke:#20d9e8;stroke-width:2.2px}.effect-icon-neon-line{fill:none;stroke:#ff38b8;stroke-width:2.5px;filter:drop-shadow(0 0 2px #ff38b8)}.effect-icon-glitch-slices{fill:none;stroke:var(--ff-neutral-4);stroke-width:2.5px}.effect-icon-film{fill:var(--ff-neutral-86);stroke:var(--ff-neutral-100);stroke-width:1.5px}.effect-icon-mono{filter:grayscale()contrast(1.25)}.effect-icon-luma-grayscale{filter:grayscale()}.effect-icon-luma-sepia{filter:sepia(.82)saturate(.88)contrast(.96)}.effect-icon-luma-noir{filter:grayscale()contrast(1.24)brightness(.975)}.effect-icon-luma-vintage{filter:sepia(.38)saturate(.68)contrast(.94)brightness(1.025)}.effect-icon-luma-warm{filter:sepia(.14)saturate(1.04)hue-rotate(-5deg)}.effect-icon-luma-cool{filter:saturate(.96)hue-rotate(10deg)brightness(1.01)}.effect-icon-luma-vivid{filter:saturate(1.25)contrast(1.08)}.effect-icon-luma-fade{filter:saturate(.72)contrast(.84)brightness(1.04)}.effect-icon-luma-cinematic{filter:contrast(1.14)saturate(.88)hue-rotate(5deg)}.effect-icon-luma-cross-process{filter:contrast(1.09)saturate(1.16)hue-rotate(-7deg)}.effect-icon-film-rail,.effect-icon-sprockets{stroke:#e9e5dc}.effect-icon-retro-paper{fill:#f2d89c;stroke:#623e2e;stroke-width:1.6px}.effect-icon-retro-sun{fill:#ec623d}.effect-icon-retro-stripes{fill:none;stroke:#f5b343;stroke-width:3px}.effect-icon-retro-land{fill:#784a3c;stroke:#56342b;stroke-width:1.5px}.effect-icon-print{filter:saturate(.55)contrast(1.25)}.effect-icon-dots{fill:#a91f58;opacity:.76}.effect-icon-tv-cabinet{fill:#493524;stroke:#201912;stroke-width:2px}.effect-icon-tv-screen{fill:var(--ff-neutral-100);stroke:var(--ff-neutral-100);stroke-width:2.5px}.effect-icon-scanlines{fill:none;stroke:#8ac8b9;stroke-width:.8px;opacity:.5}.effect-icon-tv-signal{fill:#557e73;stroke:#b8ddd2;stroke-width:1.2px}.effect-icon-tv-knob{fill:#b29369;stroke:#1d1712;stroke-width:1.4px}.effect-icon-tv-speaker{stroke:var(--ff-neutral-100)}.effect-icon-palette{fill:#e8c78e;stroke:#4f3a2a;stroke-width:2px}.effect-icon-paint-a{fill:#ed4d3d}.effect-icon-paint-b{fill:#f3be3e}.effect-icon-paint-c{fill:#318b83}.effect-icon-paint-d{fill:#3d69b1}.effect-icon-brush{fill:#70462e;stroke:#30251e;stroke-width:1.5px}.effect-icon-bristles{fill:#d9ad68;stroke:#30251e;stroke-width:1.2px}.effect-icon-pixels rect{stroke:#f7f4ec;stroke-width:1px}.effect-icon-pixels rect:nth-child(4n+1){fill:#2c7873}.effect-icon-pixels rect:nth-child(4n+2){fill:#f3c34d}.effect-icon-pixels rect:nth-child(4n+3){fill:#df6552}.effect-icon-pixels rect:nth-child(4n){fill:#5272a8}.effect-icon-grain-subject{filter:grayscale(.8)}.effect-icon-grain{fill:var(--ff-neutral-100);stroke:var(--ff-neutral-100);stroke-width:.8px}.effect-icon-leak-a{fill:#ff4c28;opacity:.45}.effect-icon-leak-b{fill:#ffd45e;opacity:.58}.effect-icon-leak-ray{fill:none;stroke:#ff9e49;stroke-width:5px;opacity:.5}.effect-icon-heat{fill:none;stroke:#e55a35;stroke-width:2.2px;stroke-linecap:round}.effect-icon-water-subject{opacity:.72}.effect-icon-water{fill:none;stroke:#38aeca;stroke-width:2px;stroke-linecap:round}.effect-icon-ripple{fill:none;stroke:#b8f1f3;stroke-width:1.5px}.effect-icon-hologram-subject{opacity:.62}.effect-icon-spectrum{fill:none;stroke:#ef4ca5;stroke-width:4px;stroke-linecap:round}.effect-icon-spectrum+.effect-icon-facets{stroke:#32cbd6}.effect-icon-pulse-outer,.effect-icon-pulse-inner{fill:none;stroke:#ff35b5;stroke-width:2px;opacity:.55}.effect-icon-pulse-inner{stroke:#21d7e8;opacity:.8}.effect-icon-neon-edge .effect-icon-paper,.effect-icon-neon-edge .effect-icon-land{fill:none;stroke:#21d7e8;stroke-width:2px}.effect-icon-neon-edge .effect-icon-sun{fill:none;stroke:#ff35b5;stroke-width:2px}.effect-icon-text-curve{stroke:var(--ff-selection);stroke-width:2.2px}.effect-icon-text{fill:var(--ff-neutral-86);font-size:var(--ff-text-2xl);font-weight:var(--ff-weight-bold)}.effect-icon-node{fill:var(--ff-neutral-0);stroke:var(--ff-selection);stroke-width:1.5px}.effect-preview-glitch .effect-icon-glitch-a{animation:.9s steps(2,end) infinite effect-icon-glitch-a}.effect-preview-glitch .effect-icon-glitch-b{animation:1.1s steps(2,end) infinite effect-icon-glitch-b}.effect-preview-film-grain .effect-icon-grain{animation:.38s steps(3,end) infinite effect-icon-grain}.effect-preview-light-leak .effect-icon-leak-a{transform-origin:50%;animation:1.8s ease-in-out infinite alternate effect-icon-leak}.effect-preview-neon-edge-pulse .effect-icon-pulse-outer{transform-origin:50%;animation:1.2s ease-out infinite effect-icon-pulse}@keyframes effect-icon-glitch-a{50%{transform:translate(3px,-1px)}}@keyframes effect-icon-glitch-b{50%{transform:translate(-3px,1px)}}@keyframes effect-icon-grain{33%{transform:translate(2px,-1px)}66%{transform:translate(-1px,2px)}}@keyframes effect-icon-leak{to{transform:translate(8px,-3px)scale(1.12)}}@keyframes effect-icon-pulse{to{opacity:0;transform:scale(1.08)}}input[type=range]:not(:disabled){cursor:pointer}input[type=range]:not(:disabled)::-webkit-slider-thumb{cursor:pointer}input[type=range]:not(:disabled)::-moz-range-thumb{cursor:pointer}.studio-shell.note-editor{background:var(--studio-projects-background);min-height:0;overflow:hidden}.note-editor .studio-workspace{grid-template-rows:minmax(0,1fr)}.studio-workspace>.note-workspace{grid-area:1/1}.studio-workspace.panel-open>.note-workspace{grid-column:1}.studio-workspace>.note-font-panel{grid-area:1/1}.note-workspace{color:var(--ff-ink);font-family:var(--ff-font-sans)}.note-workspace>.stage-viewport{--note-stage-background:var(--studio-projects-background);background:var(--note-stage-background);min-height:0;padding:0}.note-stage-stack{background:var(--note-stage-background);width:100%;height:100%;min-height:0;position:relative}.note-webgl-host{background:var(--note-stage-background);width:100%;min-width:0;height:100%;min-height:0;position:absolute;inset:0;overflow:hidden}.note-webgl-host>.editor-kit-startup-screen{background:var(--note-stage-background)}.note-webgl-canvas{background:var(--note-stage-background);touch-action:none;outline:none;width:100%;height:100%;display:block}.note-webgl-input-bridge{opacity:0;pointer-events:none;border:0;outline:0;width:1px;height:1px;padding:0;position:fixed;top:0;left:0;overflow:hidden}.note-webgl-file-bridge{display:none}.note-workspace>.note-format-bar{flex-flow:row;align-items:center;display:flex}.note-format-bar>:is(.toolbar-overflow-medium,.toolbar-overflow-secondary){flex:none;align-items:center;gap:2px;display:inline-flex}.note-format-bar{scrollbar-width:none}.studio-workspace>.stage-shell.note-workspace>.note-format-bar{overflow:auto hidden}.note-format-bar::-webkit-scrollbar{display:none}.note-block-style-group{align-items:center;gap:1px;display:flex}.note-scroll{background:var(--note-stage-background);grid-area:1/1;min-width:0;min-height:0;overflow:auto}.note-page{box-sizing:border-box;background:var(--ff-surface-raised);width:min(720px,100% - clamp(64px,16vw,192px));min-height:100%;margin:0 auto;padding:74px 64px 180px;position:relative}.note-blocks{margin-top:0}.note-block{--note-add-top:4px;align-items:flex-start;min-height:30px;padding:2px 0;display:flex;position:relative}.note-block-handle{z-index:8;top:var(--note-add-top);opacity:0;align-items:center;width:52px;height:24px;display:flex;position:absolute;left:-54px}.note-add-block,.note-drag-block{width:24px;height:24px;color:var(--ff-neutral-38);border-radius:var(--ff-radius-xs);background:0 0;border:0;place-items:center;padding:0;display:grid}.note-add-block{opacity:1;position:static}.note-drag-block{cursor:move}.note-drag-block:active{cursor:grabbing}.note-block:hover>.note-block-handle,.note-block:focus-within>.note-block-handle,.note-block.selected>.note-block-handle{opacity:1}.note-add-block:hover,.note-drag-block:hover,.note-drag-block[aria-expanded=true]{color:var(--ff-neutral-86);background:var(--ff-neutral-7)}.note-block-menu{z-index:40;border-radius:var(--ff-radius-md);background:var(--ff-surface-raised);width:220px;box-shadow:0 10px 32px color-mix(in srgb, var(--ff-neutral-100) 16%, transparent), 0 1px 4px color-mix(in srgb, var(--ff-neutral-100) 10%, transparent);padding:6px;position:absolute;top:27px;left:24px}.note-block-menu button{border-radius:var(--ff-radius-xs);width:100%;color:var(--ff-neutral-86);font:var(--ff-weight-medium) var(--ff-text-md)/1.2 "Aptos", sans-serif;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:8px;display:flex}.note-block-menu button:hover{background:var(--ff-neutral-7)}.note-block-menu button.danger{color:var(--ff-danger)}.note-block-menu span{flex:1}.note-block.dragging{opacity:.35}.note-block.drop-before:before,.note-block.drop-after:after{z-index:7;background:var(--ff-primary);content:"";pointer-events:none;border-radius:2px;height:2px;position:absolute;left:0;right:0}.note-block.drop-before:before{top:-2px}.note-block.drop-after:after{bottom:-2px}.note-block :is(textarea,.note-rich-text),.note-lexical-editor>.note-block{resize:none;field-sizing:content;width:100%;min-height:28px;color:var(--ff-neutral-86);caret-color:auto;caret-animation:auto;font:var(--ff-weight-regular) var(--ff-text-lg)/1.55 "PT Serif", Georgia, serif;letter-spacing:0;white-space:pre-wrap;box-sizing:border-box;background:0 0;border:0;outline:none;padding:3px 2px;overflow:hidden}.note-lexical-editor,.note-lexical-editor *{caret-color:currentColor;caret-animation:auto}.note-lexical-editor{outline:none;min-height:520px}.note-lexical-editor>.note-block{margin:0;display:block;overflow:visible}.note-lexical-editor>.note-block[data-note-block-type=table],.note-lexical-editor>.note-block[data-note-block-type=image],.note-lexical-editor>.note-block[data-note-block-type=divider]{display:flex}.note-lexical-editor>.note-block::selection{color:inherit;background:var(--ff-neutral-14)}.note-lexical-editor>.note-block ::selection{color:inherit;background:var(--ff-neutral-14)}.note-lexical-editor>.note-block:empty:before{color:var(--ff-neutral-38);content:attr(data-placeholder);pointer-events:none}.note-lexical-placeholder{color:var(--ff-neutral-38);pointer-events:none;margin:3px 2px;position:absolute}.note-lexical-block-controls{z-index:12;width:52px;height:30px;position:absolute;left:10px}.note-lexical-block-controls .note-block-handle{opacity:1;top:2px;left:0}.note-rich-text{position:relative}.note-rich-text::selection{color:inherit;background:var(--ff-neutral-14)}.note-rich-text ::selection{color:inherit;background:var(--ff-neutral-14)}.note-rich-text :is(b,strong){font-weight:var(--ff-weight-semibold);font-synthesis:weight}.note-block textarea::placeholder,.note-rich-text:empty:before{color:var(--ff-neutral-38);content:attr(data-placeholder);pointer-events:none}.note-rich-text:has(>br:only-child):before{color:var(--ff-neutral-38);content:attr(data-placeholder);pointer-events:none}.note-block.type-heading-1 :is(textarea,.note-rich-text),.note-lexical-editor>.note-block.type-heading-1{min-height:47px;font:var(--ff-weight-bold) 31px/1.25 "Young Serif", Georgia, serif;padding-top:9px}.note-block.type-heading-2 :is(textarea,.note-rich-text),.note-lexical-editor>.note-block.type-heading-2{min-height:41px;font:var(--ff-weight-bold) var(--ff-text-2xl)/1.3 "Young Serif", Georgia, serif;padding-top:8px}.note-block.type-heading-3 :is(textarea,.note-rich-text),.note-lexical-editor>.note-block.type-heading-3{min-height:36px;font:var(--ff-weight-bold) var(--ff-text-xl)/1.35 "Young Serif", Georgia, serif;padding-top:7px}.note-block.type-quote{border-left:3px solid var(--ff-neutral-86);margin:5px 0;padding-left:13px}.note-block.type-quote :is(textarea,.note-rich-text),.note-lexical-editor>.note-block.type-quote{font-style:italic}.note-block.type-code{--note-add-top:11px}.note-block.type-code :is(textarea,.note-rich-text),.note-lexical-editor>.note-block.type-code{border-radius:var(--ff-radius-xs);min-height:64px;color:var(--ff-neutral-86);background:var(--ff-neutral-4);font:var(--ff-weight-regular) var(--ff-text-md)/1.6 "JetBrains Mono", monospace;padding:13px 15px}.note-lexical-editor{counter-reset:note-list}.note-lexical-editor>.type-bulleted-list:before{content:"•";text-align:center;flex:none;width:23px}.note-lexical-editor>.type-numbered-list{counter-increment:note-list}.note-lexical-editor>.type-numbered-list:before{content:counter(note-list) ".";text-align:center;flex:none;width:23px}.note-lexical-editor>:not(.type-numbered-list){counter-reset:note-list}.note-lexical-editor>:is(.type-bulleted-list,.type-numbered-list){padding-left:27px;position:relative}.note-lexical-editor>:is(.type-bulleted-list,.type-numbered-list):before{position:absolute;left:0}.note-list-marker{min-width:23px;color:var(--ff-neutral-74);font:var(--ff-weight-medium) var(--ff-text-lg)/1.5 "PT Serif", Georgia, serif;text-align:center;padding-top:5px}.note-divider{background:linear-gradient(transparent 13px, var(--ff-neutral-20) 13px, var(--ff-neutral-20) 14px, transparent 14px);border:0;outline:none;width:100%;height:27px;padding:0}.note-command-menu{z-index:30;border-radius:var(--ff-radius-md);background:var(--ff-surface-raised);width:290px;max-height:360px;box-shadow:0 10px 32px color-mix(in srgb, var(--ff-neutral-100) 16%, transparent), 0 1px 4px color-mix(in srgb, var(--ff-neutral-100) 10%, transparent);animation:note-menu-in var(--ff-duration-fast) ease-out;border:0;padding:7px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto}.note-lexical-command-menu{position:fixed}@keyframes note-menu-in{0%{opacity:0;transform:translateY(-4px)}}.note-command-label{color:var(--ff-neutral-50);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;padding:7px 8px 5px}.note-command-menu>button{width:100%;color:var(--ff-neutral-86);border-radius:var(--ff-radius-xs);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:7px;display:flex}.note-command-menu>button.active,.note-command-menu>button:hover{background:var(--ff-neutral-7)}.note-command-menu>button>span{border:1px solid var(--ff-neutral-14);border-radius:var(--ff-radius-xs);background:var(--ff-surface-raised);flex:none;place-items:center;width:34px;height:34px;display:grid}.note-command-menu>button div{gap:2px;min-width:0;display:grid}.note-command-menu strong{font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold)}.note-command-menu small{color:var(--ff-neutral-50);font-size:var(--ff-text-2xs)}.note-command-empty{color:var(--ff-neutral-50);font-size:var(--ff-text-sm);padding:18px 8px}.note-table-wrap{box-sizing:border-box;width:calc(100% + 24px);margin:7px -12px 12px;padding:12px 14px;overflow:auto}.note-table-wrap table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:430px;color:var(--ff-neutral-86);font:var(--ff-weight-regular) var(--ff-text-lg)/1.55 "PT Serif", Georgia, serif}.note-table-wrap td{border:1px solid var(--ff-neutral-20);height:34px;padding:0;position:relative}.note-table-wrap tr:first-child td{background:var(--ff-neutral-7)}.note-block.selected>.note-table-wrap:not(.has-axis-selection) table{outline:2px solid var(--ff-neutral-28);outline-offset:1px}.note-table-wrap.has-axis-selection td.note-table-axis-selected{box-shadow:inset 0 0 0 2px var(--ff-neutral-28)}.note-table-wrap input{box-sizing:border-box;width:100%;height:100%;color:inherit;caret-color:auto;caret-animation:auto;font:inherit;text-align:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;background:0 0;border:0;outline:none;padding:6px 9px}.note-table-wrap input::selection{color:inherit;background:var(--ff-neutral-14)}.note-table-axis-selector{z-index:3;background:0 0;border:0;outline:none;padding:0;position:absolute}.note-table-column-selector{cursor:default;width:100%;height:12px;top:-12px;left:0}.note-table-row-selector{cursor:default;width:14px;height:100%;top:0;left:-14px}.note-table-axis-insert,.note-table-axis-resize{z-index:4;visibility:hidden;opacity:0;color:var(--ff-muted);background:var(--ff-surface-raised);border:0;outline:none;place-items:center;padding:0;display:grid;position:absolute}:is(.note-table-column-header:has(>:is(.note-table-column-selector,.note-table-column-insert,.note-table-column-resize):hover)>:is(.note-table-column-insert,.note-table-column-resize),.note-table-row-header:has(>:is(.note-table-row-selector,.note-table-row-insert,.note-table-row-resize):hover)>:is(.note-table-row-insert,.note-table-row-resize),.note-table-axis-resize:active){visibility:visible;opacity:1}.note-table-axis-insert{border-radius:var(--ff-radius-sm);width:20px;height:20px;box-shadow:var(--ff-shadow-sm)}.note-table-axis-insert:hover{color:var(--ff-on-accent);background:var(--ff-ink)}.note-table-column-insert{top:-11px;right:-11px}.note-table-row-insert{bottom:-11px;left:-11px}.note-table-axis-resize{border-radius:var(--ff-radius-sm);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-sm);touch-action:none}.note-table-axis-resize>svg{width:14px;max-width:none;height:14px;max-height:none;display:block}.note-table-column-resize{cursor:col-resize;width:18px;height:22px;top:calc(50% - 11px);right:-9px}.note-table-row-resize{cursor:row-resize;width:22px;height:18px;bottom:-9px;left:calc(50% - 11px)}.note-image-resize-frame{align-items:flex-start;width:100%;display:flex}.note-image-block{border-radius:var(--ff-radius-sm);background:var(--ff-neutral-4);min-width:20%;max-width:100%;min-height:120px;margin:7px 0 12px;position:relative;overflow:hidden}.note-image-block img{object-fit:contain;background:var(--ff-neutral-7);width:100%;height:auto;max-height:70vh;display:block}.note-image-resize{visibility:hidden;width:24px;height:24px;color:var(--ff-on-accent);border:1px solid color-mix(in srgb, var(--ff-neutral-0) 60%, transparent);border-radius:var(--ff-radius-xs);background:color-mix(in srgb, var(--ff-neutral-100) 80%, transparent);cursor:nwse-resize;touch-action:none;place-items:center;padding:0;display:grid;position:absolute;bottom:5px;right:5px}.note-image-block:hover .note-image-resize,.note-image-block:focus-within .note-image-resize,.note-image-resize:active{visibility:visible}.note-image-block label{min-height:120px;color:var(--ff-neutral-62);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.note-image-block label:hover{color:var(--ff-neutral-86);background:var(--ff-neutral-7)}.note-image-block label strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold)}.note-image-block label span{font-size:var(--ff-text-2xs)}.note-image-block input{display:none}.project-note-preview{box-sizing:border-box;color:var(--ff-neutral-86);background:var(--ff-neutral-4);padding:10% 11%;font-family:PT Serif,Georgia,serif;position:absolute;inset:0;overflow:hidden}.project-note-cover{object-fit:cover;width:100%;height:24%;margin:-12% 0 8%;display:block}.project-note-content{gap:4px;display:grid}.project-note-block{gap:4px;min-width:0;font-size:clamp(5px,.72vw,9px);line-height:1.25;display:flex}.project-note-block>i{flex:none;font-style:normal}.project-note-block>b{font-weight:var(--ff-weight-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-note-block.type-heading-1>b,.project-note-block.type-heading-2>b,.project-note-block.type-heading-3>b{font-family:Young Serif,Georgia,serif;font-weight:var(--ff-weight-bold)}.project-note-block.type-heading-1{font-size:clamp(7px,1vw,13px)}.project-note-block.type-heading-2{font-size:clamp(6px,.88vw,11px)}.project-note-block.type-quote{border-left:2px solid var(--ff-neutral-62);padding-left:5px;font-style:italic}.project-note-block.type-code{background:var(--ff-neutral-10);border-radius:2px;padding:3px;font-family:JetBrains Mono,monospace}.project-note-divider{background:var(--ff-neutral-20);height:1px;display:block}.project-note-image{object-fit:cover;width:100%;max-height:42px;display:block}.project-note-table{grid-template-columns:repeat(3,1fr);display:grid}.project-note-table>i{border:1px solid var(--ff-neutral-20);min-width:0;font:var(--ff-weight-regular) 5px/1.1 "Aptos", sans-serif;text-overflow:ellipsis;white-space:nowrap;padding:2px;overflow:hidden}@media (width<=760px){.studio-workspace>.note-workspace,.studio-workspace.panel-open>.note-workspace{grid-column:1}.note-format-bar{max-width:calc(100% - 14px)}.note-scroll{grid-column:1}.note-page{width:calc(100% - 48px);padding:46px 37px 180px}.note-command-menu{width:min(290px,100vw - 34px);left:-8px}}.canvas-view .studio-workspace{grid-template-rows:minmax(0,1fr)}.projects-view.canvas-view>.studio-workspace>.projects-content{background:var(--studio-projects-background);width:100%;overflow:hidden}.canvas-view .studio-workspace>.projects-content{min-height:0;padding:0}.canvas-view .studio-workspace>.projects-content>.stage-viewport{background:var(--studio-projects-background);overflow:hidden}.canvas-view .workspace-stage-stack{position:absolute;inset:0}.infinite-canvas-content{isolation:isolate;color:var(--ff-neutral-100);background:var(--studio-projects-background);-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.infinite-canvas-surface-region{width:100%;min-width:0;height:100%;min-height:0;position:absolute;inset:0;overflow:hidden}.infinite-canvas-chrome-top{z-index:20;background:0 0;justify-content:center;min-width:0;display:flex;position:absolute;top:8px;left:64px;right:64px;overflow:visible}.infinite-canvas-chrome-side{z-index:20;background:0 0;flex-direction:column;gap:8px;width:max-content;min-width:52px;max-width:min(380px,42vw);height:auto;padding:0 8px;display:flex;position:absolute;top:50%;right:8px;overflow:visible;transform:translateY(-50%)}.editor-kit-zoom-overlay{z-index:60;position:absolute;bottom:8px;right:8px}.infinite-canvas-native-transport{pointer-events:none;width:1px;height:1px;position:fixed;left:-10000px;overflow:hidden}.studio-workspace>.stage-shell .infinite-canvas-chrome-top>.format-bar,.studio-workspace>.stage-shell .infinite-canvas-chrome-top .format-bar{max-width:100%;animation:none;position:relative;top:auto;left:auto;right:auto;overflow:visible;transform:none}.infinite-canvas-chrome-top .format-bar:before,.infinite-canvas-chrome-top .format-bar:after{display:none}.studio-workspace>.stage-shell.editor-kit-tool-rail-layout{display:flex}.editor-kit-stage-chrome-top{z-index:20;pointer-events:none;background:0 0;justify-content:center;min-width:0;display:flex;position:absolute;top:8px;left:0;right:0;overflow:visible}.stage-shell.editor-kit-tool-rail-layout>.stage-viewport{min-width:0;min-height:0}.studio-workspace>.stage-shell>.editor-kit-stage-chrome-top .format-bar{pointer-events:auto;max-width:100%;animation:none;position:relative;top:auto;left:auto;transform:none}html.editor-route-transition::view-transition-group(root){animation-duration:var(--ff-duration-base);animation-timing-function:cubic-bezier(.22,.8,.24,1)}html.editor-route-transition::view-transition-old(root){animation:editor-route-old var(--ff-duration-base) cubic-bezier(.22, .8, .24, 1) both;mix-blend-mode:normal}html.editor-route-transition::view-transition-new(root){animation:editor-route-new var(--ff-duration-base) cubic-bezier(.22, .8, .24, 1) both;mix-blend-mode:normal}html.editor-route-transition::view-transition-group(editor-project-surface){z-index:1000;animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.82,.2,1);overflow:clip}html.editor-route-transition::view-transition-old(editor-project-surface){mix-blend-mode:normal;animation:.42s cubic-bezier(.2,.82,.2,1) both editor-surface-old}html.editor-route-transition::view-transition-new(editor-project-surface){mix-blend-mode:normal;animation:.42s cubic-bezier(.2,.82,.2,1) both editor-surface-new}html.editor-route-shared-surface::view-transition-group(editor-project-surface){width:var(--editor-route-source-width);height:var(--editor-route-source-height);transform-origin:0 0;animation-name:editor-surface-position}html.editor-route-shared-surface::view-transition-image-pair(editor-project-surface){overflow:clip}html.editor-route-shared-surface::view-transition-old(editor-project-surface){width:var(--editor-route-source-host-width);height:var(--editor-route-source-host-height);object-fit:fill;max-width:none;max-height:none;transform:translate(calc(-1 * var(--editor-route-source-offset-x)), calc(-1 * var(--editor-route-source-offset-y)));transform-origin:0 0;inset:0 auto auto 0}html.editor-route-shared-surface::view-transition-new(editor-project-surface){width:var(--editor-route-destination-width);height:var(--editor-route-destination-height);object-fit:fill}@keyframes editor-surface-position{0%{width:var(--editor-route-source-width);height:var(--editor-route-source-height);transform:translate(var(--editor-route-source-left), var(--editor-route-source-top)) scale(1)}to{width:var(--editor-route-destination-width);height:var(--editor-route-destination-height);transform:translate(var(--editor-route-destination-left), var(--editor-route-destination-top)) scale(var(--editor-route-destination-scale))}}@keyframes editor-route-old{0%,38%{opacity:1}to{opacity:0}}@keyframes editor-route-new{0%,38%{opacity:0}to{opacity:1}}@keyframes editor-surface-old{0%,72%{opacity:1}to{opacity:0}}@keyframes editor-surface-new{0%,64%{opacity:0}to{opacity:1}}.infinite-canvas-content[data-opening-project] .infinite-canvas-chrome-top,.infinite-canvas-content[data-opening-project] .infinite-canvas-chrome-side,.infinite-canvas-content[data-opening-project] .infinite-canvas-chrome-zoom,.infinite-canvas-content[data-opening-project] .canvas-agent-debug-panel{opacity:0;pointer-events:none;transition:opacity var(--ff-duration-base) ease-out}.infinite-canvas-content[data-opening-project] .infinite-canvas-host{pointer-events:none}.infinite-canvas-host{z-index:0;cursor:default;touch-action:none;position:absolute;inset:0}.infinite-canvas-format-bar{z-index:10}.canvas-view .stage-shell .infinite-canvas-mode-bar,.stage-shell .editor-kit-tool-rail .editor-kit-tool-bar{border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);width:48px;max-width:none;min-height:0;box-shadow:var(--ff-shadow-float);border:0;flex-direction:column;padding:4px;animation:none;position:static;transform:none}.canvas-view .stage-shell .infinite-canvas-mode-bar:before,.canvas-view .stage-shell .infinite-canvas-mode-bar:after,.stage-shell .editor-kit-tool-rail .editor-kit-tool-bar:before,.stage-shell .editor-kit-tool-rail .editor-kit-tool-bar:after{display:none}.infinite-canvas-mode-bar button{border-radius:var(--ff-radius-md);width:40px;min-width:40px;height:40px;color:var(--ff-neutral-86);cursor:pointer;transition:background var(--ff-duration-fast), color var(--ff-duration-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.editor-kit-tool-group{flex-direction:column;gap:2px;display:flex}.editor-kit-tool-primitives{border-top:1px solid var(--ff-line);margin-top:5px;padding-top:5px}.editor-kit-shape-tool{width:40px;height:40px;display:flex}.infinite-canvas-mode-bar .editor-kit-shape-tool .editor-kit-shape-main{border-radius:var(--ff-radius-md) 3px 3px var(--ff-radius-md);width:30px;min-width:30px}.infinite-canvas-mode-bar .editor-kit-shape-tool .editor-kit-shape-menu-trigger{border-radius:3px var(--ff-radius-md) var(--ff-radius-md) 3px;width:10px;min-width:10px}.infinite-canvas-mode-bar .editor-kit-shape-tool .editor-kit-shape-menu-trigger svg{width:8px;height:8px;color:var(--ff-neutral-50)}.editor-kit-tool-rail{z-index:60;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.infinite-canvas-host.is-panning,.infinite-canvas-host.space-pan{cursor:grabbing}.infinite-canvas-host.is-drop-target{cursor:copy}.infinite-canvas-surface{width:100%;height:100%;box-shadow:none;border:0;outline:none;display:block}.infinite-canvas-surface:focus,.infinite-canvas-surface:focus-visible{box-shadow:none;border:0;outline:none}.infinite-canvas-text-editor{z-index:9;box-sizing:border-box;resize:none;color:var(--ff-neutral-100);letter-spacing:0;transform-origin:0 0;background:0 0;border:0;outline:none;padding:0;line-height:1.15;position:absolute;overflow:hidden}.infinite-canvas-toolbar{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;height:42px;display:flex;position:absolute;top:12px;left:12px;right:12px}.infinite-canvas-title,.infinite-canvas-actions button{background:color-mix(in srgb, var(--ff-neutral-0) 94%, transparent);box-shadow:var(--ff-shadow-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:0}.infinite-canvas-title{border-radius:var(--ff-radius-sm);align-items:center;gap:8px;height:38px;padding:0 12px;display:flex}.infinite-canvas-title strong{font-size:var(--ff-text-base)}.infinite-canvas-title span{color:var(--ff-neutral-62);font-size:var(--ff-text-xs);text-transform:uppercase}.infinite-canvas-actions{pointer-events:auto;gap:6px;display:flex}.infinite-canvas-actions button{border-radius:var(--ff-radius-sm);height:36px;color:var(--ff-on-accent);background:var(--ff-neutral-100);pointer-events:auto;align-items:center;gap:6px;padding:0 12px;display:flex}.infinite-canvas-actions button:hover{background:var(--ff-neutral-86)}.editor-kit-zoom-controls{box-sizing:border-box;height:44px;color:var(--ff-neutral-86);border-radius:var(--ff-radius-xl);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-float);-webkit-backdrop-filter:var(--ff-blur);backdrop-filter:var(--ff-blur);font:var(--ff-weight-semibold) var(--ff-text-md)/1 var(--ff-font-sans);border:0;align-items:center;gap:2px;padding:4px;display:flex;overflow:hidden}.editor-kit-zoom-controls button{border-radius:var(--ff-radius-md);width:36px;height:36px;color:inherit;transition:color var(--ff-duration-fast) ease;background:0 0;border:0;place-items:center;padding:0;display:grid}.editor-kit-zoom-controls button>svg{stroke-width:2px;width:18px;height:18px}.editor-kit-zoom-controls button:hover{color:var(--ff-accent);background:0 0}.editor-kit-zoom-controls output{width:44px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center}@media (width<=1000px){.canvas-editor .studio-workspace.panel-open .infinite-canvas-title>span{display:none}.canvas-editor .studio-workspace.panel-open .infinite-canvas-actions button{justify-content:center;gap:0;width:38px;padding:0;font-size:0;overflow:hidden}}@media (height<=700px){.editor-kit-zoom-overlay{right:max(6px, env(safe-area-inset-right));bottom:max(6px, env(safe-area-inset-bottom))}}.canvas-editor .studio-panel .media-grid,.canvas-editor .studio-panel .shared-template-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.project-embed-panel-list{gap:7px;display:grid}.project-embed-panel-list>button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface-solid);text-align:left;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;min-width:0;height:64px;padding:5px;display:grid}.project-embed-panel-list>button:hover{border-color:var(--ff-selection);background:var(--ff-surface-hover)}.project-embed-panel-list-preview{border-radius:var(--ff-radius-xs);background:var(--ff-surface-subtle);width:82px;height:52px;position:relative;overflow:hidden}.project-embed-panel-list-preview>img{object-fit:cover;width:100%;height:100%;display:block}.project-embed-panel-list>button>span{gap:4px;min-width:0;display:grid}.project-embed-panel-list strong,.project-embed-panel-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-embed-panel-list strong{color:var(--ff-ink);font-size:var(--ff-text-md)}.project-embed-panel-list small{color:var(--ff-muted);font-size:var(--ff-text-xs)}.canvas-agent-model{margin-bottom:10px}.canvas-agent-capabilities{flex-direction:column;flex:1;min-height:0;display:flex}.canvas-agent-capability-tabs{border-bottom:1px solid var(--ff-line);grid-template-columns:repeat(3,minmax(0,1fr));margin:-4px 0 14px;display:grid}.canvas-agent-capability-tabs button{height:38px;color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);background:0 0;border:0;border-radius:0;padding:0 5px}.canvas-agent-capability-tabs button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.canvas-agent-capability-tabs button.active{color:var(--ff-ink);box-shadow:inset 0 -2px 0 var(--ff-ink)}.canvas-agent-capability-view{flex:1;min-height:0;overflow-y:auto}.canvas-agent-capability-list{gap:8px;display:grid}.canvas-agent-capability-card{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);gap:8px;min-width:0;padding:11px;display:grid}.canvas-agent-capability-card>header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.canvas-agent-capability-card>header strong{min-width:0;color:var(--ff-ink);font-size:var(--ff-text-sm)}.canvas-agent-capability-card>header code{color:var(--ff-muted);font-size:var(--ff-text-3xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-agent-capability-card>p{color:var(--ff-muted);font-size:var(--ff-text-2xs);margin:0;line-height:1.45}.canvas-agent-skill-instructions{border-radius:var(--ff-radius-xs);color:var(--ff-neutral-74);background:var(--ff-surface-hover);font-size:var(--ff-text-3xs);padding:7px;line-height:1.45}.canvas-agent-capability-status{border-radius:var(--ff-radius-pill);color:var(--ff-success-strong);background:var(--ff-success-soft);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;flex:none;padding:3px 6px}.canvas-agent-mcp-command{border-radius:var(--ff-radius-xs);color:var(--ff-neutral-86);background:var(--ff-surface-hover);font:var(--ff-text-3xs)/1.4 "Roboto Mono", monospace;text-overflow:ellipsis;white-space:nowrap;padding:7px;overflow:hidden}.canvas-agent-capability-tags{flex-wrap:wrap;gap:4px;display:flex}.canvas-agent-capability-tags span{border:1px solid var(--ff-line);border-radius:var(--ff-radius-pill);color:var(--ff-muted);background:var(--ff-surface-hover);font-size:var(--ff-text-3xs);padding:3px 6px}.canvas-agent-parameter-groups{gap:18px;display:grid}.canvas-agent-parameter-groups>section{gap:8px;display:grid}.canvas-agent-parameter-groups h3{color:var(--ff-ink);font-size:var(--ff-text-xs);text-transform:uppercase;justify-content:space-between;align-items:center;margin:0;display:flex}.canvas-agent-parameter-groups h3 span{border-radius:var(--ff-radius-pill);min-width:22px;color:var(--ff-muted);background:var(--ff-surface-hover);font-size:var(--ff-text-3xs);text-align:center;padding:2px 6px}.infinite-canvas-content.has-agent-debug{--canvas-agent-debug-panel-width:clamp(300px, 36vw, 360px)}.infinite-canvas-content.has-agent-debug .infinite-canvas-surface-region{right:var(--canvas-agent-debug-panel-width);width:auto}.infinite-canvas-content.has-agent-debug .infinite-canvas-chrome-top{right:calc(var(--canvas-agent-debug-panel-width) + 64px)}.infinite-canvas-content.has-agent-debug .infinite-canvas-chrome-side,.infinite-canvas-content.has-agent-debug .infinite-canvas-chrome-zoom{right:calc(var(--canvas-agent-debug-panel-width) + 8px)}.canvas-agent-debug-panel{z-index:30;width:var(--canvas-agent-debug-panel-width,clamp(300px, 36vw, 360px));box-sizing:border-box;border:0;border-left:1px solid var(--ff-line);background:var(--ff-surface-solid);min-width:0;min-height:0;box-shadow:-10px 0 28px color-mix(in srgb, var(--ff-neutral-100) 8%, transparent);-webkit-user-select:text;user-select:text;border-radius:0;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.canvas-agent-debug-panel>.panel-close{z-index:2;border-radius:var(--ff-radius-md);width:32px;height:32px;color:var(--ff-muted);background:var(--ff-surface-hover);border:0;place-items:center;padding:0;display:grid;position:absolute;top:18px;right:14px}.canvas-agent-debug-panel>.panel-close:hover{color:var(--ff-ink);background:var(--ff-surface-solid)}.agent-debug-header{border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 58px 12px 14px;display:flex}.agent-debug-title-row{align-items:center;gap:10px;min-width:0;display:flex}.agent-debug-title-row h2{color:var(--ff-ink);font-size:var(--ff-text-lg);margin:0}.agent-debug-title-row span{color:var(--ff-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-bold)}.agent-debug-icon{border-radius:var(--ff-radius-sm);width:34px;height:34px;color:var(--ff-on-accent);flex:none;place-items:center;display:grid}.agent-debug-connection{color:var(--ff-warning);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-bold);align-items:center;gap:5px;display:inline-flex}.agent-debug-connection.is-live{color:var(--ff-success-strong)}.agent-debug-connection.is-offline{color:var(--ff-danger)}.agent-debug-tabs{border-bottom:1px solid var(--ff-line);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.agent-debug-tabs button{height:38px;color:var(--ff-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-bold);background:0 0;border:0;border-radius:0;padding:0 8px}.agent-debug-tabs button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.agent-debug-tabs button.active{color:var(--ff-ink);box-shadow:inset 0 -2px 0 var(--ff-ink)}.agent-debug-scroll{flex:1;min-height:0;overflow:auto}.agent-debug-scroll.is-params{padding:14px}.agent-debug-section{border-bottom:1px solid var(--ff-line);padding:14px}.agent-debug-section-title{color:var(--ff-ink);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-heavy);text-transform:uppercase}.agent-debug-section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.agent-debug-heading-actions{align-items:center;gap:6px;display:flex}.agent-debug-icon-action{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);width:28px;height:28px;color:var(--ff-muted);background:var(--ff-surface-solid);place-items:center;padding:0;display:grid}.agent-debug-icon-action:hover:not(:disabled){color:var(--ff-ink);background:var(--ff-surface-hover)}.agent-debug-icon-action:disabled{opacity:.4}.agent-debug-count{border-radius:var(--ff-radius-pill);min-width:22px;color:var(--ff-muted);background:var(--ff-surface-hover);font-size:var(--ff-text-xs);text-align:center;padding:2px 6px}.agent-debug-workflow-shell{margin-top:10px}.agent-debug-workflow-legend{flex-wrap:wrap;gap:10px;margin-bottom:9px;display:flex}.agent-debug-workflow-legend span{color:var(--ff-neutral-74);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);text-transform:uppercase;align-items:center;gap:5px;display:inline-flex}.agent-debug-workflow-legend span:before{content:"";border:2px solid;border-radius:2px;width:10px;height:10px}.agent-debug-workflow-legend .is-llm:before{border-color:var(--ff-ai-strong);background:var(--ff-ai-soft)}.agent-debug-workflow-legend .is-tool:before{border-color:var(--ff-selection-strong);background:var(--ff-selection-soft)}.agent-debug-workflow-legend .is-function:before{border-color:var(--ff-success-strong);background:var(--ff-success-soft)}.agent-debug-workflow-legend .is-boundary:before{border-color:var(--ff-neutral-74);background:var(--ff-neutral-7)}.agent-debug-history{gap:5px;margin-top:9px;display:grid}.agent-debug-event{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface-solid);overflow:hidden}.agent-debug-event.is-error{border-color:var(--ff-danger-line)}.agent-debug-event.is-output{border-color:var(--ff-success-line)}.agent-debug-event>summary{min-height:32px;color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-bold);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:6px 8px;list-style:none;display:grid}.agent-debug-event>summary::-webkit-details-marker{display:none}.agent-debug-summary-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-debug-summary-images{align-items:center;gap:4px;min-width:0;max-width:116px;display:flex;overflow:hidden}.agent-debug-summary-image-group{align-items:center;gap:2px;min-width:0;display:flex;overflow:hidden}.agent-debug-summary-image-group img{border:1px solid var(--ff-neutral-28);background:var(--ff-surface-raised);object-fit:cover;border-radius:3px;flex:0 0 18px;width:18px;height:18px;display:block}.agent-debug-summary-image-group.is-output img{border-color:var(--ff-success)}.agent-debug-summary-image-divider{background:var(--ff-line);flex:0 0 1px;width:1px;height:16px}.agent-debug-event time{color:var(--ff-muted);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-medium)}.agent-debug-human{border-top:1px solid var(--ff-line);color:var(--ff-neutral-86);background:var(--ff-neutral-2);font-size:var(--ff-text-xs);gap:8px;padding:9px;line-height:1.45;display:grid}.agent-debug-purpose{color:var(--ff-muted);margin:0}.agent-debug-field{gap:3px;display:grid}.agent-debug-field>strong{color:var(--ff-neutral-86);font-size:var(--ff-text-3xs);text-transform:uppercase}.agent-debug-field>div{white-space:pre-wrap;overflow-wrap:anywhere}.agent-debug-field ol{gap:6px;margin:2px 0 0;padding-left:18px;display:grid}.agent-debug-text-disclosure{border:1px solid var(--ff-line);border-radius:var(--ff-radius-xs);background:var(--ff-surface-raised)}.agent-debug-text-disclosure>summary{color:var(--ff-neutral-74);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);cursor:pointer;padding:6px 7px}.agent-debug-text-disclosure>div{border-top:1px solid var(--ff-line);white-space:pre-wrap;max-height:180px;padding:8px;overflow:auto}.agent-debug-error-message{border-left:3px solid var(--ff-danger);color:var(--ff-danger);background:var(--ff-danger-soft);font-weight:var(--ff-weight-semibold);overflow-wrap:anywhere;border-radius:3px;padding:8px}.agent-debug-artifacts{border-top:1px solid var(--ff-line);background:var(--ff-neutral-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:grid}.agent-debug-artifacts figure{min-width:0;margin:0}.agent-debug-artifacts figure.is-primary{grid-column:1/-1}.agent-debug-artifacts img{aspect-ratio:4/3;border:1px solid var(--ff-neutral-14);border-radius:var(--ff-radius-xs);background:var(--ff-surface-raised);object-fit:contain;width:100%;display:block}.agent-debug-artifacts figcaption{min-width:0;color:var(--ff-muted);font-size:var(--ff-text-3xs);white-space:nowrap;align-items:center;gap:4px;margin-top:3px;display:flex;overflow:hidden}.agent-debug-artifacts figcaption strong{color:var(--ff-ink);font-size:var(--ff-text-3xs);text-transform:uppercase;flex:none}.agent-debug-artifacts figcaption span{text-overflow:ellipsis;overflow:hidden}.agent-debug-raw{border-top:1px solid var(--ff-line);background:var(--ff-neutral-2)}.agent-debug-raw>summary{color:var(--ff-muted);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-bold);cursor:pointer;text-transform:uppercase;padding:7px 9px}.agent-debug-payload{border-top:1px solid var(--ff-line);max-height:180px;color:var(--ff-neutral-86);background:var(--ff-neutral-2);font:var(--ff-text-2xs)/1.45 "Roboto Mono", monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:8px;overflow:auto}.agent-debug-empty{color:var(--ff-muted);font-size:var(--ff-text-xs);text-align:center;margin:0;padding:12px 0}.agent-debug-workflow{box-sizing:border-box;border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);background:var(--ff-surface-raised);width:100%;padding:8px 0;overflow:visible}.agent-debug-workflow svg{width:74%;max-width:none;height:auto;margin:0 auto;display:block}.agent-debug-workflow.is-interactive .node{cursor:pointer;outline:none}.agent-debug-workflow.is-interactive .node:hover .label-container{filter:brightness(.97);stroke-width:4px!important}.agent-debug-workflow.is-interactive .node:focus-visible .label-container,.agent-debug-workflow.is-interactive .node.is-selected .label-container{filter:drop-shadow(0 3px 5px #67370c2e);stroke:var(--ff-warning)!important;stroke-width:5px!important}.workflow-inspector-backdrop{z-index:120;background:color-mix(in srgb, var(--ff-neutral-100) 62%, transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);place-items:center;padding:22px;display:grid;position:fixed;inset:0}.workflow-inspector-modal{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 66%, transparent);border-radius:var(--ff-radius-lg);background:var(--ff-surface-solid);width:min(1280px,96vw);height:min(820px,100vh - 44px);min-height:0;box-shadow:var(--ff-shadow-modal);outline:none;flex-direction:column;display:flex;overflow:hidden}.workflow-inspector-modal>header{border-bottom:1px solid var(--ff-line);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.workflow-inspector-modal>header span{color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-bold);text-transform:uppercase}.workflow-inspector-modal>header h2{color:var(--ff-ink);font-size:var(--ff-text-xl);margin:2px 0 0}.workflow-inspector-icon,.workflow-inspector-tools button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);color:var(--ff-muted);background:var(--ff-surface-solid);cursor:pointer;place-items:center;padding:0;display:grid}.workflow-inspector-icon{width:32px;height:32px}.workflow-inspector-icon:hover,.workflow-inspector-tools button:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.workflow-inspector-layout{flex:1;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);min-height:0;display:grid}.workflow-inspector-graph{background:var(--ff-neutral-2);min-width:0;min-height:0;padding:14px 18px 24px;overflow:auto}.workflow-inspector-tools{z-index:2;border-bottom:1px solid var(--ff-line);background:color-mix(in srgb, var(--ff-neutral-2) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:space-between;align-items:center;gap:12px;margin:-14px -18px 8px;padding:10px 18px;display:flex;position:sticky;top:-14px}.workflow-inspector-tools>span{color:var(--ff-muted);font-size:var(--ff-text-xs)}.workflow-inspector-tools>div{align-items:center;gap:5px;display:flex}.workflow-inspector-tools button{width:28px;height:28px}.workflow-inspector-tools output{min-width:38px;color:var(--ff-muted);font-size:var(--ff-text-2xs);text-align:right}.workflow-inspector-graph .agent-debug-workflow-shell{margin-top:0}.workflow-inspector-graph .agent-debug-workflow{min-width:560px;padding:18px;overflow:visible}.workflow-inspector-graph .agent-debug-workflow svg{width:var(--workflow-scale,100%)}.workflow-inspector-context{border-left:1px solid var(--ff-line);background:var(--ff-surface-raised);min-width:0;min-height:0;padding:22px;overflow:auto}.workflow-inspector-node-kind{border-radius:var(--ff-radius-xs);font-size:var(--ff-text-3xs);font-weight:var(--ff-weight-heavy);text-transform:uppercase;border:1px solid;padding:4px 7px;display:inline-flex}.workflow-inspector-node-kind.is-llm{color:var(--ff-ai-strong);border-color:var(--ff-ai-line);background:var(--ff-ai-soft)}.workflow-inspector-node-kind.is-tool{color:var(--ff-selection-strong);border-color:var(--ff-selection-line);background:var(--ff-selection-soft)}.workflow-inspector-node-kind.is-function{color:var(--ff-success-strong);border-color:var(--ff-success-line);background:var(--ff-success-soft)}.workflow-inspector-node-kind.is-boundary{color:var(--ff-neutral-86);border-color:var(--ff-neutral-28);background:var(--ff-neutral-7)}.workflow-inspector-context h3{color:var(--ff-ink);font-size:var(--ff-text-xl);margin:10px 0 4px}.workflow-inspector-context>p{color:var(--ff-muted);font-size:var(--ff-text-sm);margin:0;line-height:1.5}.workflow-inspector-context-title{border-bottom:1px solid var(--ff-line);color:var(--ff-ink);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-heavy);text-transform:uppercase;margin-top:22px;padding-bottom:8px}.workflow-inspector-context article{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);margin-top:10px;overflow:hidden}.workflow-inspector-context article header{background:var(--ff-neutral-2);justify-content:space-between;gap:8px;padding:8px 9px;display:flex}.workflow-inspector-context article strong{font-size:var(--ff-text-2xs);text-transform:capitalize}.workflow-inspector-context article time{color:var(--ff-muted);font-size:var(--ff-text-3xs)}.workflow-inspector-context pre{max-height:340px;color:var(--ff-neutral-86);font:var(--ff-text-2xs)/1.5 "Roboto Mono", monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px;overflow:auto}.workflow-inspector-no-context{color:var(--ff-muted);border:1px dashed var(--ff-line);border-radius:var(--ff-radius-sm);font-size:var(--ff-text-xs);text-align:center;margin-top:10px;padding:18px 12px}@media (width<=760px){.infinite-canvas-content.has-agent-debug{--canvas-agent-debug-panel-width:clamp(260px, 42vw, 320px)}.workflow-inspector-backdrop{padding:0}.workflow-inspector-modal{border:0;border-radius:0;width:100%;height:100%}.workflow-inspector-layout{flex-direction:column;display:flex;overflow:auto}.workflow-inspector-graph{flex:0 0 58vh;overflow:auto}.workflow-inspector-context{border-top:1px solid var(--ff-line);border-left:0;flex:1 0 42vh;overflow:visible}}.account-settings-backdrop{z-index:130;background:var(--ff-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:22px;display:grid;position:fixed;inset:0}.account-settings-modal{border:1px solid color-mix(in srgb, var(--ff-neutral-0) 66%, transparent);border-radius:var(--ff-radius-xl);width:min(620px,96vw);height:min(440px,100vh - 44px);color:var(--ff-ink);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-modal);outline:none;grid-template-columns:180px minmax(0,1fr);display:grid;overflow:hidden}.account-settings-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 12px;display:flex}.account-settings-header h2{font-size:var(--ff-text-xl);margin:0}.account-settings-avatar{border-radius:var(--ff-radius-round);width:44px;height:44px;color:var(--ff-muted);background:var(--ff-surface-hover);flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.account-settings-avatar svg{width:22px;height:22px}.account-settings-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.account-settings-close{border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);width:32px;height:32px;color:var(--ff-muted);background:var(--ff-surface-raised);cursor:pointer;place-items:center;padding:0;display:grid}.account-settings-close:hover{color:var(--ff-ink);background:var(--ff-surface-hover)}.account-settings-body{flex:1;min-height:0;padding:0 20px 16px;overflow:auto}.account-settings-section{padding:4px 0}.account-settings-muted{color:var(--ff-muted);font-size:var(--ff-text-md);margin:8px 0 0}.account-settings-error{color:var(--ff-danger);font-size:var(--ff-text-md);margin:0}.account-token-summary{align-items:baseline;gap:8px;display:flex}.account-token-summary strong{font-size:var(--ff-text-2xl);font-variant-numeric:tabular-nums}.account-token-summary span{color:var(--ff-muted);font-size:var(--ff-text-md)}.account-token-meter{border-radius:var(--ff-radius-pill);background:var(--ff-surface-hover);height:8px;margin:10px 0 6px;overflow:hidden}.account-token-meter>span{border-radius:inherit;background:var(--ff-accent);height:100%;transition:width var(--ff-duration-base) ease;display:block}.account-token-meter.is-high>span{background:var(--ff-warning)}.account-token-meter.is-exhausted>span{background:var(--ff-danger)}.account-token-meta{color:var(--ff-muted);font-size:var(--ff-text-sm);justify-content:space-between;gap:12px;display:flex}.account-token-features{gap:2px;margin:12px 0 0;padding:0;list-style:none;display:grid}.account-token-features li{border-radius:var(--ff-radius-sm);font-size:var(--ff-text-base);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;display:flex}.account-token-features li:nth-child(odd){background:var(--ff-surface-hover)}.account-token-features small{color:var(--ff-muted);font-size:var(--ff-text-sm);margin-left:8px}.account-token-features strong{font-variant-numeric:tabular-nums}.account-setting-row{align-items:center;gap:12px;padding:8px 0;display:flex}.account-setting-icon{border-radius:var(--ff-radius-md);width:34px;height:34px;color:var(--ff-muted);background:var(--ff-surface-hover);flex:none;place-items:center;display:grid}.account-setting-copy{flex:1;gap:1px;min-width:0;display:grid}.account-setting-copy strong{font-size:var(--ff-text-base)}.account-setting-copy span{color:var(--ff-muted);font-size:var(--ff-text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-setting-actions{flex:none}.account-settings-modal button:not(.account-settings-close){border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);height:30px;color:var(--ff-ink);background:var(--ff-surface-raised);font:inherit;font-size:var(--ff-text-md);font-weight:var(--ff-weight-semibold);cursor:pointer;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.account-settings-modal button:not(.account-settings-close):hover:not(:disabled){background:var(--ff-surface-hover)}.account-settings-modal button:disabled{opacity:.45;cursor:default}.account-settings-modal button.is-primary{color:var(--ff-on-accent);background:var(--ff-accent);border-color:#0000}.account-settings-modal button.is-primary:hover:not(:disabled){background:var(--ff-accent);filter:brightness(.94)}.account-settings-modal button.is-danger{color:var(--ff-danger)}.account-settings-sidebar{border-right:1px solid var(--ff-line);background:var(--ff-surface-solid);flex-direction:column;gap:14px;min-height:0;padding:16px 12px 12px;display:flex}.account-profile-card{align-items:center;gap:14px;min-width:0;padding:4px 0;display:flex}.account-profile-card>div{gap:2px;min-width:0;display:grid}.account-profile-card span,.account-profile-card small{color:var(--ff-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-profile-card small{font-size:var(--ff-text-sm)}.account-profile-card .account-settings-avatar{width:64px;height:64px}.account-profile-card strong{font-size:var(--ff-text-lg)}.account-profile-card span{font-size:var(--ff-text-md)}.account-settings-tabs{flex:1;align-content:start;gap:2px;display:grid}.account-settings-modal .account-settings-tabs button{width:100%;height:34px;color:var(--ff-muted);font-weight:var(--ff-weight-semibold);background:0 0;border-color:#0000;justify-content:flex-start}.account-settings-modal .account-settings-tabs button:hover:not(:disabled){color:var(--ff-ink);background:color-mix(in srgb, var(--ff-neutral-100) 5%, transparent)}.account-settings-modal .account-settings-tabs button.is-active{color:var(--ff-ink);background:var(--ff-surface-raised);box-shadow:var(--ff-shadow-sm)}.account-settings-modal .account-settings-tabs button:focus-visible{outline:2px solid var(--ff-accent);outline-offset:-2px}.account-settings-modal .account-settings-signout{justify-content:center;width:100%;height:34px}.account-settings-content{flex-direction:column;min-width:0;min-height:0;display:flex}@media (width<=620px){.account-settings-modal{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:calc(100vh - 44px)}.account-settings-sidebar{border-right:0;border-bottom:1px solid var(--ff-line)}.account-settings-tabs{grid-auto-flow:column;overflow-x:auto}}.account-plan{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);background:var(--ff-surface-solid);align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;display:flex}.account-plan.is-pro{border-color:color-mix(in srgb, var(--ff-accent) 45%, var(--ff-line));background:color-mix(in srgb, var(--ff-accent) 7%, var(--ff-surface-raised))}.account-plan-copy{flex:1;gap:2px;min-width:0;display:grid}.account-plan-copy strong{font-size:var(--ff-text-base)}.account-plan-copy span{color:var(--ff-muted);font-size:var(--ff-text-sm);line-height:1.35}.account-settings-modal .account-plan button{flex:none}.account-agent-prompt{gap:10px;display:grid}.account-agent-prompt label{gap:2px;display:grid}.account-agent-prompt label strong{font-size:var(--ff-text-base)}.account-agent-prompt label span{color:var(--ff-muted);font-size:var(--ff-text-md);line-height:1.35}.account-agent-prompt textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);width:100%;min-height:180px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;font-size:var(--ff-text-base);outline:none;padding:10px 12px;line-height:1.45}.account-agent-prompt textarea:focus{border-color:var(--ff-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-accent) 18%, transparent)}.account-agent-prompt-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-agent-prompt-footer .account-settings-muted{font-variant-numeric:tabular-nums;margin:0}.studio-rail .rail-footer .topbar-account .account-pro-badge{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#7c5cff,#e14fd0);border-radius:6px;width:auto;height:auto;padding:1px 4px;font-size:8px;font-weight:700;line-height:1.3;position:absolute;bottom:-2px;right:-4px;overflow:visible}.spaces-sidebar{font-size:var(--ff-text-sm);flex-direction:column;gap:2px;display:flex}.spaces-sidebar-item{border-radius:var(--ff-radius-md);min-width:0;height:34px;color:var(--ff-neutral-74);font:inherit;font-weight:var(--ff-weight-medium);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.spaces-sidebar-item>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.spaces-sidebar-item:hover{color:var(--ff-neutral-100);background:var(--ff-neutral-7)}.spaces-sidebar-item.is-active,.spaces-sidebar-space.is-active>.spaces-sidebar-item{color:var(--ff-neutral-100);background:var(--ff-neutral-10);font-weight:var(--ff-weight-semibold)}.spaces-sidebar-heading{border-radius:var(--ff-radius-md);color:var(--ff-muted);font-size:var(--ff-text-2xs);font-weight:var(--ff-weight-semibold);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:18px 0 4px;padding:4px 6px 4px 10px;display:flex}.spaces-sidebar-heading button{border-radius:var(--ff-radius-sm);width:24px;height:24px;color:var(--ff-neutral-74);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.spaces-sidebar-heading button:hover{color:var(--ff-neutral-100);background:var(--ff-neutral-7)}.spaces-sidebar-heading.is-drop-target,.spaces-sidebar-section-header.is-drop-target,.spaces-sidebar-space.is-drop-target{background:var(--ff-accent-soft,var(--ff-neutral-10));box-shadow:inset 0 0 0 1.5px var(--ff-accent)}.spaces-sidebar-space{border-radius:var(--ff-radius-md);align-items:center;display:flex;position:relative}.spaces-sidebar-space[draggable=true]{cursor:grab}.spaces-sidebar-space>.spaces-sidebar-item{flex:1;padding-right:34px}.spaces-sidebar-space .spaces-sidebar-more{border-radius:var(--ff-radius-sm);width:26px;height:26px;color:var(--ff-neutral-74);opacity:0;cursor:pointer;transition:opacity var(--ff-duration-fast) ease;background:0 0;border:0;place-items:center;display:grid;position:absolute;right:4px}.spaces-sidebar-space:hover .spaces-sidebar-more,.spaces-sidebar-space:focus-within .spaces-sidebar-more,.spaces-sidebar-more[aria-expanded=true]{opacity:1}.spaces-sidebar-more:hover{color:var(--ff-neutral-100);background:var(--ff-neutral-14)}.spaces-sidebar-section{flex-direction:column;gap:2px;margin-top:6px;display:flex}.spaces-sidebar-section-header{border-radius:var(--ff-radius-md);height:28px;color:var(--ff-neutral-74);font:inherit;font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px 0 8px;display:flex}.spaces-sidebar-section-header>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.spaces-sidebar-section-header>small{color:var(--ff-muted);font-size:var(--ff-text-3xs);font-variant-numeric:tabular-nums}.spaces-sidebar-section-header>svg{transition:transform var(--ff-duration-fast) ease;flex:none}.spaces-sidebar-section-header[aria-expanded=false]>svg{transform:rotate(-90deg)}.spaces-sidebar-section-header:hover{color:var(--ff-neutral-100);background:var(--ff-neutral-7)}.spaces-sidebar-section-items{border-left:1px solid var(--ff-neutral-14);flex-direction:column;gap:2px;margin-left:12px;padding-left:6px;display:flex}.spaces-sidebar-input{padding:2px 0;display:flex}.spaces-sidebar-input input{border:1px solid var(--ff-accent);border-radius:var(--ff-radius-md);min-width:0;height:32px;color:var(--ff-ink);background:var(--ff-surface-solid);font:inherit;outline:0;flex:1;padding:0 10px}.spaces-sidebar-create{color:var(--ff-muted);margin-top:2px}.spaces-sidebar-create.is-locked{cursor:default}.spaces-sidebar-hint{color:var(--ff-muted);font-size:var(--ff-text-3xs);margin:10px 10px 0;line-height:1.4}.space-badge{--space-color:var(--ff-neutral-50);color:#fff;background:var(--space-color);width:20px;height:20px;font-size:11px;font-style:normal;font-weight:var(--ff-weight-bold);border-radius:6px;flex:none;place-items:center;line-height:1;display:inline-grid}.space-badge.is-personal{color:var(--ff-neutral-74);background:var(--ff-neutral-10)}.space-color-choices{grid-template-columns:repeat(6,1fr);gap:8px;padding:10px;display:grid}.space-color-choices button{background:var(--space-color);cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px}.space-color-choices button[aria-pressed=true]{border-color:var(--ff-surface-solid);box-shadow:0 0 0 2px var(--ff-neutral-100)}.project-card>.project-card-star{z-index:3;width:28px;height:28px;color:var(--ff-ink);background:color-mix(in srgb, var(--ff-surface-solid) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;cursor:pointer;border:0;border-radius:9px;place-items:center;transition:opacity .45s;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0f172a24}.project-card:hover>.project-card-star,.project-card:focus-within>.project-card-star,.project-card>.project-card-star.is-starred{opacity:1}.project-card>.project-card-star.is-starred{color:#f5b301}.project-card>.project-card-star.is-starred svg{fill:currentColor}.layout-list .project-card>.project-card-star{color:var(--ff-neutral-50);background:0 0;flex:none;order:3;position:relative;top:auto;left:auto}.layout-list .project-card>.project-card-star.is-starred{color:#f5b301}.project-browser-grid .project-card.is-selected,.project-browser-grid .project-card.is-selected:hover{border-color:var(--ff-accent,#2563eb);box-shadow:0 0 0 2px var(--ff-accent,#2563eb)}.project-card>.project-card-actions{padding:0}.project-card>.project-card-actions>*{width:100%;height:100%}.project-card>.project-card-actions button{width:100%;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.layout-list .project-card>.project-card-actions{order:4}.project-card-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.project-space-chip,.project-tag-chip{max-width:100%;height:20px;color:var(--ff-neutral-74);background:var(--ff-neutral-7);font-size:11px;font-weight:var(--ff-weight-semibold);text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:4px;padding:0 7px;line-height:1;display:inline-flex;overflow:hidden}.project-tag-chip:before{content:"#";opacity:.55}.project-tag-chip.is-removable,.project-tag-chip.is-suggestion{cursor:pointer}.project-tag-chip.is-removable:after{content:"×";opacity:.6;margin-left:2px}.project-tag-chip.is-removable:hover{color:var(--ff-danger);background:var(--ff-danger-soft)}.project-tag-chip.is-suggestion{border:1px dashed var(--ff-neutral-20);background:0 0}.project-tag-chip.is-suggestion:hover{color:var(--ff-neutral-100);border-color:var(--ff-neutral-50)}.project-tag-editor{flex-direction:column;gap:8px;padding:10px;display:flex}.project-tag-editor input{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);height:32px;font:inherit;font-size:var(--ff-text-sm);outline:0;padding:0 10px}.project-tag-editor input:focus{border-color:var(--ff-accent)}.project-tag-list{flex-wrap:wrap;gap:4px;display:flex}.project-menu-choices{flex-direction:column;gap:2px;padding:6px;display:flex}.project-menu-choice{border-radius:var(--ff-radius-sm);height:32px;color:var(--ff-ink);font:inherit;font-size:var(--ff-text-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 10px;display:flex}.project-menu-choice:hover{background:var(--ff-neutral-7)}.project-menu-choice.is-active{font-weight:var(--ff-weight-semibold);background:var(--ff-neutral-10)}.project-organization-filters{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 16px;display:flex}.project-filter-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.project-filter-group button{border:1px solid var(--ff-line);height:28px;color:var(--ff-neutral-74);font:inherit;font-size:var(--ff-text-xs);font-weight:var(--ff-weight-medium);cursor:pointer;background:0 0;border-radius:999px;padding:0 10px}.project-filter-group button:hover{color:var(--ff-neutral-100);border-color:var(--ff-neutral-50)}.project-filter-group button[aria-pressed=true]{color:var(--ff-on-accent);border-color:var(--ff-neutral-100);background:var(--ff-neutral-100)}.project-filter-group.is-tags button:before{content:"#";opacity:.55;margin-right:2px}.projects-heading h1 span{color:inherit;font:inherit;letter-spacing:inherit;text-transform:none}.projects-heading>div:first-child{flex:auto;min-width:0}.projects-heading-actions{align-items:center;gap:10px;display:flex}.space-members{padding-left:6px;display:flex}.space-members>*{border:2px solid var(--ff-surface-solid);width:28px;height:28px;color:var(--ff-neutral-74);background:var(--ff-neutral-10);font-size:11px;font-weight:var(--ff-weight-bold);border-radius:50%;place-items:center;margin-left:-6px;display:grid;overflow:hidden}.space-members img{object-fit:cover;width:100%;height:100%}.space-invite-button{border:1px solid var(--ff-line);border-radius:var(--ff-radius-md);height:36px;color:var(--ff-ink);background:var(--ff-surface-solid);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);cursor:pointer;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.space-invite-button:hover{border-color:var(--ff-neutral-50)}.home-projects .home-recent-heading h2,.workspace-files .home-recent-heading h2{font-family:inherit;font-size:var(--ff-text-xl);font-weight:var(--ff-weight-semibold)}.home-files-heading{margin-top:40px}.home-project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px 28px;display:grid}.home-project-tile{border:1px solid var(--ff-card-border);color:var(--ff-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;padding:6px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 1px 2px #0f172a0d}.home-project-tile:hover{border-color:color-mix(in srgb, var(--ff-ink) 14%, transparent);transform:translateY(-2px);box-shadow:0 14px 30px -14px #0f172a47}.home-project-tile.is-new{justify-content:center;min-height:150px}.home-project-grid-previews{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.home-project-grid-preview{aspect-ratio:16/10;background:color-mix(in srgb, var(--ff-ink) 3%, var(--ff-surface-solid));border-radius:10px;width:100%;min-width:0;height:auto;overflow:hidden}.home-project-grid-preview>img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.home-project-tile:hover .home-project-grid-preview>img{transform:scale(1.04)}.home-project-grid-empty{aspect-ratio:16/9;color:color-mix(in srgb, var(--ff-muted) 60%, transparent);background:color-mix(in srgb, var(--ff-ink) 3%, var(--ff-surface-solid));border-radius:10px;grid-column:1/-1;place-items:center;display:grid}.home-project-meta{flex-direction:column;gap:2px;min-width:0;margin-top:auto;padding:10px 6px 4px;display:flex}.home-project-name{align-items:center;gap:7px;min-width:0;display:flex}.home-project-name>svg{color:var(--ff-muted);flex:none}.home-project-name strong{font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.home-project-meta small{color:var(--ff-muted);font-size:var(--ff-text-2xs)}.home-project-name-input{width:100%}.spaces-sidebar-item small{color:var(--ff-muted);font-size:var(--ff-text-2xs);margin-left:auto}.map-workspace,.map-stage{width:100%;min-width:0;height:100%;min-height:0}.studio-shell.map-editor{width:100vw;height:100vh;min-height:0;overflow:hidden}.map-editor .studio-workspace{grid-template-rows:minmax(0,1fr);width:100%;height:100%}.map-workspace>.map-stage{border-radius:0;grid-row:1;margin:0;padding:0;overflow:hidden}.map-stage .stage-viewport,.map-stage .stage-stack,.map-stage .editor-kit-flat-surface{width:100%;min-width:0;height:100%;min-height:0;padding:0}.map-stage .editor-kit-flat-surface{position:absolute;inset:0}.map-stage .editor-kit-flat-surface canvas{width:100%;height:100%;display:block}.map-editor .editor-kit-zoom-overlay{display:none}.map-location-control{align-items:center;gap:6px;min-width:360px;display:flex}.map-location-control input{border:1px solid var(--ff-neutral-14);border-radius:var(--ff-radius-md);background:var(--ff-surface-raised);width:min(34vw,420px);height:34px;color:var(--ff-neutral-100);padding:0 10px}.map-location-control button{border-radius:var(--ff-radius-md);background:var(--ff-selection-strong);color:#fff;height:34px;font-weight:var(--ff-weight-bold);border:0;padding:0 14px}.map-location-control span{color:var(--ff-danger);font-size:var(--ff-text-md)}.soundtrack-popover{gap:10px;padding:12px;display:grid}.soundtrack-popover label{gap:4px;font-size:12px;font-weight:600;display:grid}.soundtrack-popover label small{opacity:.65;font-weight:400}.soundtrack-popover textarea{font:inherit;border:1px solid var(--border,#d8d8de);color:inherit;resize:vertical;background:0 0;border-radius:6px;padding:6px 8px;font-weight:400}.soundtrack-popover .soundtrack-check{align-items:center;gap:6px;font-weight:400;display:flex}.soundtrack-popover p{color:#c0392b;margin:0;font-size:12px}body:has(.legal-page){background:var(--ff-canvas);overflow:hidden auto}.legal-page{min-height:100vh;color:var(--ff-text);background:linear-gradient(180deg, var(--ff-palette-secondary) 0, var(--ff-canvas) 360px)}.legal-header{border-bottom:1px solid var(--ff-line);justify-content:space-between;align-items:center;height:64px;padding:0 clamp(20px,5vw,72px);display:flex}.legal-brand{color:var(--ff-text);align-items:center;gap:10px;text-decoration:none;display:flex}.legal-brand .handwritten-wordmark{--ink-width:2.4;--ink-duration:1.4s;width:80px;height:auto}.legal-header nav{align-items:center;gap:22px;display:flex}.legal-header nav a,.legal-footer a{color:var(--ff-text-muted);font-size:var(--ff-text-sm);font-weight:var(--ff-weight-semibold);text-decoration:none}.legal-header nav a:hover,.legal-footer a:hover,.legal-header nav a[aria-current=page]{color:var(--ff-text)}.legal-document{width:min(960px,100% - 40px);margin:0 auto;padding:76px 0 96px}.legal-intro{border-bottom:1px solid var(--ff-line);max-width:690px;padding-bottom:50px}.legal-intro>span{color:var(--ff-text-muted);font-size:var(--ff-text-xs);font-weight:var(--ff-weight-semibold);text-transform:uppercase}.legal-intro h1{font-size:48px;font-weight:var(--ff-weight-semibold);margin:15px 0 18px;line-height:1}.legal-intro p{color:var(--ff-text-muted);font-size:var(--ff-text-lg);margin:0 0 18px;line-height:1.6}.legal-intro small{color:var(--ff-text-muted);font-size:var(--ff-text-xs)}.legal-sections{gap:0;display:grid}.legal-sections section{border-bottom:1px solid var(--ff-line);grid-template-columns:250px minmax(0,1fr);column-gap:48px;padding:38px 0;display:grid}.legal-sections h2{font-size:var(--ff-text-lg);font-weight:var(--ff-weight-semibold);grid-row:1/span 4;margin:0}.legal-sections p{color:var(--ff-text-muted);font-size:var(--ff-text-base);grid-column:2;margin:0 0 12px;line-height:1.7}.legal-sections ul{color:var(--ff-text-muted);font-size:var(--ff-text-base);grid-column:2;gap:8px;margin:2px 0 0;padding-left:18px;line-height:1.6;display:grid}.legal-footer{min-height:72px;color:var(--ff-text-muted);border-top:1px solid var(--ff-line);font-size:var(--ff-text-xs);justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,72px);display:flex}@media (width<=700px){.legal-header nav{gap:12px}.legal-header nav a{font-size:var(--ff-text-2xs)}.legal-document{padding-top:50px}.legal-intro h1{font-size:38px}.legal-sections section{grid-template-columns:1fr;gap:14px}.legal-sections h2,.legal-sections p,.legal-sections ul{grid-area:auto/1}.legal-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:5px}}
