.dialog-overlay{background:color-mix(in srgb, var(--background) 28%, #000000a3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-5);z-index:1200;justify-content:center;align-items:center;animation:.14s dialog-fade;display:flex;position:fixed;inset:0}.dialog{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);color:var(--foreground);gap:var(--space-3);max-width:26rem;padding:var(--space-6);flex-direction:column;width:100%;animation:.16s dialog-appear;display:flex;box-shadow:0 18px 56px #00000038}.dialog-title{font-size:var(--font-size-300);font-weight:var(--font-semibold);margin:0;line-height:1.3}.dialog-description{color:var(--sidebar-label);font-size:var(--font-size-200);margin:0;line-height:1.55}.dialog:focus{outline:none}.dialog-body{gap:var(--space-4);margin-top:var(--space-2);flex-direction:column;display:flex}.dialog-footer{align-items:center;gap:var(--space-4);margin-top:var(--space-3);justify-content:flex-end;display:flex}.dialog-footer-start{flex:1;min-width:0}.dialog-actions{gap:var(--space-2);display:flex}.dialog-button{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-150);letter-spacing:.04em;padding:var(--space-2) var(--space-3);white-space:nowrap;border:1px solid #0000;transition:border-color .16s,background-color .16s,color .16s}.dialog-button:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:2px}.dialog-button-ghost{color:var(--sidebar-muted);background:0 0}.dialog-button-ghost:hover{color:var(--foreground)}.dialog-button-secondary{border-color:var(--button-border);color:var(--button-fg);background:0 0}.dialog-button-secondary:hover{background:var(--surface-hover);border-color:var(--button-border-hover)}.dialog-button-primary{background:var(--button-active-bg);border-color:var(--button-active-bg);color:var(--button-active-fg);font-weight:var(--font-semibold)}.dialog-button-primary:hover{filter:brightness(1.06)}.dialog-button:disabled{cursor:default;filter:none;opacity:.45}@keyframes dialog-fade{0%{opacity:0}}@keyframes dialog-appear{0%{opacity:0;transform:translateY(4px)scale(.98)}}@media (prefers-reduced-motion:reduce){.dialog-overlay,.dialog{animation:none}}
.analytics-consent{background:var(--sidebar-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);bottom:var(--space-4);box-shadow:var(--canvas-shadow);color:var(--foreground);gap:var(--space-2);left:var(--space-4);padding:var(--space-4);width:calc(var(--editor-sidebar-width) - var(--space-4) * 2);z-index:1100;flex-direction:column;display:flex;position:fixed}.analytics-consent-title{font-size:var(--font-size-200);font-weight:var(--font-semibold);margin:0}.analytics-consent-text{color:var(--sidebar-label);font-size:var(--font-size-150);margin:0;line-height:1.5}.analytics-consent-actions{gap:var(--space-2);margin-top:var(--space-1);justify-content:flex-end;display:flex}
.inspector-sidebar{border-left:1px solid var(--sidebar-border);right:0}.inspector-sidebar-scroll{overflow-y:auto}.inspector-stack{padding-bottom:var(--space-6);flex-direction:column;display:flex}.model-select{width:100%}.upload-card{background:color-mix(in srgb, var(--button-bg) 75%, transparent);border-radius:var(--radius-sm);color:var(--button-fg);cursor:pointer;font-size:var(--font-size-150);letter-spacing:.08em;align-items:center;gap:var(--space-1);padding:var(--space-4);flex-direction:column;justify-content:center;transition:transform .16s,background-color .16s,color .16s;display:flex;position:relative}.upload-card:before{background:repeating-linear-gradient(90deg, var(--input-border) 0 8px, transparent 8px 11px) top / calc(100% - .35rem) 1px no-repeat, repeating-linear-gradient(90deg, var(--input-border) 0 8px, transparent 8px 11px) bottom / calc(100% - .35rem) 1px no-repeat, repeating-linear-gradient(0deg, var(--input-border) 0 8px, transparent 8px 11px) left / 1px calc(100% - .35rem) no-repeat, repeating-linear-gradient(0deg, var(--input-border) 0 8px, transparent 8px 11px) right / 1px calc(100% - .35rem) no-repeat;border-radius:inherit;content:"";pointer-events:none;transition:background .16s;position:absolute;inset:0}.upload-card-label{margin-top:var(--space-1)}.upload-card-meta{color:var(--sidebar-muted);font-variant-numeric:tabular-nums}.upload-card:hover{background:var(--surface-hover);transform:translateY(-1px)}.upload-card:hover:before{background:repeating-linear-gradient(90deg, var(--input-border-hover) 0 8px, transparent 8px 11px) top / calc(100% - .35rem) 1px no-repeat, repeating-linear-gradient(90deg, var(--input-border-hover) 0 8px, transparent 8px 11px) bottom / calc(100% - .35rem) 1px no-repeat, repeating-linear-gradient(0deg, var(--input-border-hover) 0 8px, transparent 8px 11px) left / 1px calc(100% - .35rem) no-repeat, repeating-linear-gradient(0deg, var(--input-border-hover) 0 8px, transparent 8px 11px) right / 1px calc(100% - .35rem) no-repeat}.theme-card{border-radius:var(--radius-sm);border:1px solid var(--button-border);align-items:center;gap:var(--space-2);min-height:4.5rem;padding:var(--space-3) var(--space-1);flex-direction:column;transition:transform .16s,border-color .16s,background-color .16s,color .16s;display:flex}.theme-card-active{background:var(--surface-active);border-color:var(--button-border-hover);color:var(--button-fg)}.theme-card-inactive{color:var(--button-fg);background:0 0}.theme-card-inactive:hover{border-color:var(--button-border-hover);background:var(--surface-hover);transform:translateY(-1px)}.theme-card-label{font-size:var(--font-size-100);text-align:center;line-height:1.2}.theme-grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.theme-preview{border-radius:var(--radius-full);border:1px solid #0000001a;width:2rem;height:2rem;box-shadow:inset 0 1px 2px #0000001f}.inspector-meta-note{font-size:var(--font-size-150);margin-top:var(--space-2);text-align:right;line-height:1.5}.inspector-error-note{color:#f87171;font-size:var(--font-size-150);margin-top:var(--space-2)}.debug-panel{gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex}.custom-theme-panel{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.transform-section{padding:var(--space-6)}.transform-reset-label{color:var(--sidebar-muted);font-size:var(--font-size-150);font-weight:var(--font-regular);line-height:1.2}.transform-groups{flex-direction:column;display:flex}.transform-group{gap:var(--space-3);flex-direction:column;display:flex}.transform-group-offset{margin-top:var(--space-8)}.transform-align-row{gap:var(--space-2);display:flex}.transform-align-group{flex:1;margin-bottom:0}.debug-toggle-button{border-radius:var(--radius-lg);font-size:var(--font-size-200);font-weight:var(--font-medium);padding:var(--space-2);width:100%;transition:border-color .16s,background-color .16s,color .16s}.debug-toggle-button-on{color:#fde047;background:#eab30826;border:1px solid #eab308}.debug-toggle-button-off{border:1px solid var(--button-border)}.motion-empty-hint{font-size:var(--font-size-150);padding:var(--space-2) 0}.screen-file-row{background:var(--surface-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-150);align-items:center;gap:var(--space-2);padding:var(--space-3);display:flex}.screen-file-icon{color:var(--sidebar-muted);flex-shrink:0;display:inline-flex}.screen-file-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.screen-file-meta{color:var(--sidebar-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.side-popover-footer{border-top:1px solid var(--panel-border);padding-top:var(--space-2);justify-content:flex-end;display:flex}.inspector-subpanel-actions{margin-bottom:calc(var(--space-1) * -1);justify-content:flex-end;display:flex}
.color-row{align-items:center;gap:var(--space-2);display:flex}.color-row-compact{justify-content:flex-end}.color-row-label{color:var(--sidebar-muted);font-size:var(--font-size-100);letter-spacing:.16em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;flex:2;overflow:hidden}.color-row-swatch{border:1px solid var(--input-border);cursor:pointer;flex-shrink:0;transition:border-color .16s;position:relative;overflow:hidden}.color-row-swatch:hover{border-color:var(--input-border-hover)}.color-row-swatch-compact{border-radius:var(--radius-xs);width:1.5rem;height:1.5rem}.color-row-swatch-default{border-radius:var(--radius-full);width:1.625rem;height:1.625rem}.color-row-swatch-input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.color-row-swatch-fill{width:100%;height:100%}.color-row-input{border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-150)}.color-row-input-compact{padding:var(--space-2) var(--space-2);width:4.75rem}.color-row-input-default{padding:var(--space-2) calc(var(--space-2) + .125rem);width:5.125rem}.color-row-input-dark::selection{background:#fff3}.color-row-input-light::selection{background:#0000001a}.color-row-input-error{transition:border-color .12s;border-color:var(--input-border-error)!important}
.transform-control{flex-direction:column;gap:.25rem;display:flex}.transform-control-label{color:var(--sidebar-muted);font-size:.525rem;font-weight:var(--font-semibold);letter-spacing:.18em;text-transform:uppercase}.transform-control-row{align-items:center;gap:.75rem;display:flex}.transform-value-input{background:var(--control-input-bg);border-color:var(--control-input-border);border-radius:var(--radius-xs);font-size:.875rem;font-weight:var(--font-regular)}.editor-range{appearance:none;background:linear-gradient(to right, var(--control-strong) 0, var(--control-strong) var(--range-progress), var(--control-track) var(--range-progress), var(--control-track) 100%);border-radius:var(--radius-full);outline:none;flex:3;height:.2rem}.editor-range::-webkit-slider-runnable-track{appearance:none;background:0 0;height:.25rem}.editor-range::-webkit-slider-thumb{appearance:none;background:var(--control-strong);border-radius:var(--radius-full);cursor:pointer;border:0;width:1rem;height:1rem;margin-top:-.35rem}.editor-range::-moz-range-track{background:var(--control-track);border-radius:var(--radius-full);border:0;height:.25rem}.editor-range::-moz-range-progress{background:var(--control-strong);border-radius:var(--radius-full);height:.25rem}.editor-range::-moz-range-thumb{background:var(--control-strong);border-radius:var(--radius-full);cursor:pointer;border:0;width:1.25rem;height:1.25rem}.editor-range:focus,.transform-value-input:focus{outline:none}.editor-range:focus-visible,.transform-value-input:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 24%, transparent);outline-offset:2px}
.custom-select{width:100%;position:relative}.custom-select-trigger{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;font-size:var(--font-size-300);align-items:center;gap:var(--space-3);min-height:calc(var(--input-min-height) + var(--space-3));padding:var(--space-3);text-align:left;justify-content:space-between;width:100%;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.custom-select-trigger:hover,.custom-select-trigger[data-open=true]{background:var(--surface-hover);border-color:var(--button-border-hover)}.custom-select-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 24%, transparent);outline-offset:2px}.custom-select-trigger-labels{flex:1;min-width:0;display:flex}.custom-select-trigger-value{color:var(--foreground);font-size:var(--font-size-300);font-weight:var(--font-regular);align-items:center;gap:var(--space-2);line-height:1.2;display:inline-flex}.custom-select-trigger-icon{color:var(--icon-fg);flex-shrink:0;transition:transform .14s}.custom-select-trigger[data-open=true] .custom-select-trigger-icon{transform:rotate(180deg)}.custom-select-panel{background:var(--sidebar-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--canvas-shadow);z-index:9999;padding:.25rem;animation:.12s custom-select-appear;position:fixed;overflow:hidden}.custom-select-list{flex-direction:column;gap:.125rem;max-height:min(18rem,50vh);display:flex;overflow-y:auto}.custom-select-option{border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;align-items:center;gap:var(--space-2);text-align:left;background:0 0;border:none;justify-content:space-between;width:100%;padding:.55rem .6rem;transition:background-color .1s,color .1s;display:flex}.custom-select-option:hover,.custom-select-option[data-highlighted=true]{background:var(--surface-hover)}[data-theme=dark] .custom-select-option:hover,[data-theme=dark] .custom-select-option[data-highlighted=true]{background:color-mix(in srgb, var(--foreground) 12%, var(--sidebar-bg))}.custom-select-option[data-selected=true]{background:var(--surface-active)}[data-theme=dark] .custom-select-option[data-selected=true]{background:color-mix(in srgb, var(--foreground) 18%, var(--sidebar-bg))}.custom-select-option-copy{align-items:center;gap:var(--space-2);flex:1;justify-content:space-between;min-width:0;display:flex}.custom-select-option-label{color:inherit;font-size:var(--font-size-200);font-weight:var(--font-regular);align-items:center;gap:var(--space-2);min-width:0;line-height:1.2;display:inline-flex}.custom-select-option-badge{background:color-mix(in srgb, var(--foreground) 10%, transparent);border:1px solid var(--panel-border);border-radius:var(--radius-full);color:var(--sidebar-muted);font-size:.65rem;font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;padding:.18rem .5rem}.custom-select-option-icon{color:var(--icon-fg);flex-shrink:0;align-items:center;display:inline-flex}.custom-select-option-check{color:var(--foreground);flex-shrink:0}.custom-select-option[data-disabled=true]{color:var(--button-muted-fg);cursor:default}.custom-select-option[data-disabled=true]:hover,.custom-select-option[data-disabled=true][data-highlighted=true]{background:0 0}.custom-select-option[data-disabled=true] .custom-select-option-icon,.custom-select-option[data-disabled=true] .custom-select-option-check{color:currentColor}@keyframes custom-select-appear{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
.editor-sidebar{background:var(--sidebar-bg);color:var(--foreground)}.editor-sidebar-label{color:var(--sidebar-label);font-size:var(--font-size-100);font-weight:var(--font-bold);letter-spacing:.18em;text-transform:uppercase}.editor-sidebar-muted{color:var(--sidebar-muted)}.editor-link-button{color:var(--sidebar-muted);font-size:var(--font-size-150);transition:color .16s}.editor-link-button:hover{color:var(--foreground)}.editor-button{background:var(--button-bg);border:1px solid var(--button-border);border-radius:var(--radius-md);color:var(--button-fg);transition:transform .16s,border-color .16s,background-color .16s,color .16s}.editor-button:hover{border-color:var(--button-border-hover);transform:translateY(-1px)}.editor-button-compact{letter-spacing:.08em;text-transform:uppercase}.editor-button-muted{color:var(--button-muted-fg)}.editor-toggle{border-radius:var(--radius-full);font-size:var(--font-size-100);font-weight:var(--font-bold);letter-spacing:.16em;text-transform:uppercase;padding:.625rem .875rem;transition:border-color .16s,background-color .16s,color .16s}.editor-toggle-active{background:var(--button-active-bg);border:1px solid var(--button-active-bg);color:var(--button-active-fg)}.editor-toggle-inactive{background:var(--button-bg);border:1px solid var(--button-border);color:var(--button-muted-fg)}.editor-toggle-inactive:hover{border-color:var(--button-border-hover)}.editor-fab{background:color-mix(in srgb, var(--surface-raised) 82%, transparent);border:1px solid var(--button-border);border-radius:var(--radius-full);color:var(--icon-fg);cursor:pointer;height:var(--canvas-fab-size);width:var(--canvas-fab-size);justify-content:center;align-items:center;transition:transform .16s,border-color .16s,background-color .16s;display:inline-flex}.editor-fab:hover{background:var(--surface-hover);border-color:var(--button-border-hover);transform:translateY(-1px)}.editor-icon-button{color:var(--icon-fg);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:1.5rem;height:1rem;transition:transform .16s,border-color .16s,color .16s,background-color .16s;display:inline-flex}.editor-icon-button:hover{background:color-mix(in srgb, var(--surface-hover) 72%, transparent);border-color:var(--button-border-hover);color:var(--icon-fg);cursor:pointer;transform:translateY(-1px)}.editor-reset-button{border-radius:var(--radius-xs)}.editor-reset-button-normal{width:1.5rem;height:1.5rem}.editor-reset-button:disabled{cursor:default;opacity:.35}.editor-reset-button:disabled:hover{background:0 0;transform:none}.editor-icon-button-no-hover-bg:hover{color:var(--icon-fg);background:0 0;border-color:#0000;transform:none}.editor-icon-button-active{background:var(--surface-active);border-color:var(--button-border-hover);color:var(--icon-fg)}.editor-icon-button.context-menu-trigger-quiet:hover,.editor-icon-button.context-menu-trigger-quiet.editor-icon-button-active{color:var(--icon-fg);background:0 0;border-color:#0000;transform:none}.editor-section-action{color:var(--icon-fg);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;display:inline-flex}.editor-section-action:hover{color:var(--icon-fg)}.editor-input{background:var(--input-bg);border:1px solid var(--input-border);color:var(--input-fg);min-height:var(--input-min-height);padding:var(--space-1) var(--space-2);flex:1;transition:border-color .16s,background-color .16s}.editor-input:focus{border-color:var(--input-border-hover)}.panel-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg)}.panel-header{border-bottom:1px solid var(--sidebar-border);padding:var(--space-6) var(--space-4) var(--space-4)}.panel-header-inspector{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.panel-eyebrow{color:var(--foreground);font-size:var(--font-size-100);font-weight:var(--font-bold);letter-spacing:.32em;text-transform:uppercase}.panel-title{color:var(--foreground);font-size:var(--font-size-700);font-weight:var(--font-semibold);line-height:1.05}.panel-title-brand{color:var(--foreground);font-family:var(--font-brand), serif;font-size:var(--font-size-800);font-weight:800}.panel-title-object{color:var(--sidebar-muted);font-size:var(--font-size-200);margin:0;line-height:1.2}.panel-subtitle{color:var(--sidebar-muted);font-size:var(--font-size-200)}.panel-section{padding:var(--space-4)}.--without-border-bottom{border-bottom:none}.panel-section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.editor-sidebar-shell{height:100vh;width:var(--editor-sidebar-width);z-index:40;flex-shrink:0;position:absolute;top:0}.editor-button-outline{border:1px solid var(--button-border);border-radius:var(--radius-sm);color:var(--button-fg);cursor:pointer;font-size:var(--font-size-150);align-items:center;gap:var(--space-2);letter-spacing:.08em;padding:var(--space-3);background:0 0;justify-content:center;width:100%;transition:border-color .16s,background-color .16s,color .16s;display:flex}.editor-button-outline:hover{background:var(--surface-hover);border-color:var(--button-border-hover)}[data-theme=dark] .editor-button-outline:hover{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.panel-section-collapse{transition:height .22s;position:relative;overflow:hidden}.panel-section-collapse-inner{position:absolute;top:0;left:0;right:0}.panel-section-collapse-body{visibility:hidden;transition:visibility 0s linear .22s}.panel-section-collapse-body.is-open{visibility:visible;transition:visibility}@media (prefers-reduced-motion:reduce){.panel-section-collapse{transition:none}}.panel-section-toggle{cursor:pointer;text-align:left;background:0 0;border:none;width:100%}.panel-section-chevron{color:var(--sidebar-muted);flex-shrink:0;transition:transform .16s}.panel-section-chevron.is-open{transform:rotate(180deg)}.editor-subtabs{gap:var(--space-1);margin:var(--space-3) 0;justify-content:flex-end;display:flex}.editor-subtab{background:var(--surface-subtle);border-radius:var(--radius-sm);color:var(--sidebar-muted);cursor:pointer;font-size:var(--font-size-150);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;justify-content:center;transition:background-color .14s,color .14s;display:flex}.editor-subtab:hover{color:var(--foreground)}.editor-subtab.is-active{background:var(--surface-raised);color:var(--foreground)}.editor-subtab:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:1px}.editor-subtab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-subtab-icon{flex-shrink:0;display:inline-flex}.editor-subtab-panel{gap:var(--space-2);flex-direction:column;display:flex}.editor-switch-row{color:var(--sidebar-muted);cursor:pointer;font-size:var(--font-size-150);align-items:center;gap:var(--space-2);margin-top:var(--space-2);justify-content:flex-end;line-height:1.5;display:flex}.editor-switch-label{text-align:right}.editor-switch{background:var(--switch-track-off);border-radius:var(--radius-full);cursor:pointer;border:none;flex-shrink:0;width:1.75rem;height:1rem;padding:2px;transition:background-color .14s;position:relative}.editor-switch.is-checked{background:var(--button-active-bg)}.editor-switch-thumb{background:var(--button-active-fg);border-radius:var(--radius-full);width:.75rem;height:.75rem;transition:transform .14s;display:block}.editor-switch.is-checked .editor-switch-thumb{transform:translate(.75rem)}.editor-switch:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.editor-switch,.editor-switch-thumb{transition:none}}.editor-segmented{background:var(--segmented-track);border-radius:var(--radius-full);margin-bottom:var(--space-3);--segmented-padding:2px;padding:var(--segmented-padding);gap:2px;display:flex;position:relative}.editor-segmented-thumb{background:var(--surface-raised);border-radius:var(--radius-full);bottom:var(--segmented-padding);left:var(--segmented-padding);pointer-events:none;top:var(--segmented-padding);transform:translateX(calc(var(--segmented-index) * (100% + 2px)));width:calc((100% - var(--segmented-padding) * 2 - 2px * (var(--segmented-count) - 1)) / var(--segmented-count));transition:transform .24s cubic-bezier(.22,1,.36,1);position:absolute}.editor-segmented-tab{border-radius:var(--radius-full);color:var(--sidebar-muted);cursor:pointer;font-size:var(--font-size-150);align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);background:0 0;border:none;flex:1;justify-content:center;transition:background-color .14s,color .14s;display:flex;position:relative}.editor-segmented-tab:hover{color:var(--foreground)}@media (prefers-reduced-motion:reduce){.editor-segmented-thumb{transition:none}}.editor-segmented-tab.is-active{color:var(--foreground)}.editor-segmented-tab:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:1px}.editor-segmented-icon{flex-shrink:0;display:inline-flex}.editor-callout{background:var(--surface-subtle);border-radius:var(--radius-sm);color:var(--sidebar-label);align-items:flex-start;gap:var(--space-2);padding:var(--space-3);display:flex}.editor-callout-icon{flex-shrink:0;margin-top:1px}.editor-callout-body{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.editor-callout-text{font-size:var(--font-size-150);margin:0;line-height:1.5}.editor-callout-action{color:var(--foreground);cursor:pointer;font-size:var(--font-size-150);font-weight:var(--font-medium);align-items:center;gap:var(--space-1);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline;display:inline-flex}.editor-callout-action:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:2px}.editor-checkbox-row{color:var(--foreground);cursor:pointer;font-size:var(--font-size-200);align-items:center;gap:var(--space-2);display:flex}.editor-checkbox{accent-color:var(--foreground);cursor:pointer;flex-shrink:0;width:.875rem;height:.875rem;margin:0}.editor-checkbox:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:2px}.editor-segmented-icon:empty{display:none}.side-popover{background:var(--sidebar-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);box-shadow:var(--canvas-shadow);color:var(--foreground);gap:var(--space-3);max-height:calc(100vh - var(--space-6));padding:var(--space-4);z-index:60;flex-direction:column;width:17rem;animation:.14s side-popover-appear;display:flex;position:fixed;overflow-y:auto}.side-popover:focus{outline:none}.side-popover-header{justify-content:space-between;align-items:center;display:flex}@keyframes side-popover-appear{0%{opacity:0;transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.side-popover{animation:none}}.editor-button-danger{border-radius:var(--radius-sm);color:var(--danger-fg);cursor:pointer;font-size:var(--font-size-150);align-items:center;gap:var(--space-2);padding:var(--space-2);background:0 0;border:none;transition:background-color .14s;display:flex}.editor-button-danger:hover{background:color-mix(in srgb, var(--danger-fg) 12%, transparent)}.editor-button-danger:focus-visible{outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:1px}:where(.editor-tooltip-trigger){position:relative}.editor-tooltip{background:var(--button-active-bg);border-radius:var(--radius-sm);color:var(--button-active-fg);font-size:var(--font-size-150);font-weight:var(--font-medium);opacity:0;padding:var(--space-1) var(--space-2);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:20;line-height:1.2;transition:opacity .16s,transform .16s;position:absolute;left:50%}.editor-tooltip:after{background:inherit;content:"";border-radius:2px;width:.5rem;height:.5rem;position:absolute;left:50%}.editor-tooltip-top{bottom:calc(100% + var(--space-2));transform:translate(-50%,25%)}.editor-tooltip-top:after{bottom:1px;transform:translate(-50%,50%)rotate(45deg)}.editor-tooltip-bottom{top:calc(100% + var(--space-2));transform:translate(-50%,-25%)}.editor-tooltip-bottom:after{top:1px;transform:translate(-50%,-50%)rotate(45deg)}.editor-tooltip-trigger:hover>.editor-tooltip,.editor-tooltip-trigger:focus-visible>.editor-tooltip{opacity:1;transition-delay:.3s;transform:translate(-50%)}.editor-tooltip-trigger:active>.editor-tooltip,.editor-tooltip-trigger.is-dragging>.editor-tooltip{opacity:0;transition-delay:0s}@media (prefers-reduced-motion:reduce){.editor-tooltip{transition:opacity .16s}.editor-tooltip-top,.editor-tooltip-bottom{transform:translate(-50%)}}
.layers-sidebar{border-right:1px solid var(--sidebar-border);left:0}.section-objects{flex:1}.layers-shell{flex-direction:column;height:100%;display:flex}.layers-body{flex-direction:column;flex:1;justify-content:space-between;display:flex;overflow:hidden}.layers-body-top{flex:1;min-height:0;overflow-y:auto}.layers-stack{gap:var(--space-2);flex-direction:column;display:flex}.layer-title-row{align-items:center;gap:var(--space-1);min-width:0;display:flex}.layer-card{border-radius:var(--radius-xs);align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-0) var(--space-1) var(--space-2);justify-content:space-between;width:100%;transition:transform .16s,border-color .16s,background-color .16s,color .16s;display:flex}.layer-card-main{flex:1;min-width:0}.layer-card-active{background:var(--surface-active);border-color:var(--button-border);color:var(--foreground)}.layer-card-inactive{color:var(--button-fg);background:0 0}.layer-card-inactive:hover{background:var(--surface-hover);border-color:var(--button-border);transform:translateY(-1px)}.layer-card-title{font-size:var(--font-size-200);font-weight:var(--font-regular);text-overflow:ellipsis;white-space:nowrap;flex:1;line-height:1.1;overflow:hidden}.layer-status-icon{color:var(--sidebar-muted);flex:none}.layer-actions{align-items:center;gap:var(--space-1);margin-left:var(--space-2);flex:none;display:inline-flex}.layer-card-name-input{border-radius:var(--radius-sm);font-size:var(--font-size-200);font-weight:var(--font-semibold);max-width:8rem;padding:var(--space-1) var(--space-2);line-height:1.1}.layer-badge{background:color-mix(in srgb, var(--surface-raised) 90%, transparent);border:1px solid var(--button-border);border-radius:var(--radius-full);color:var(--sidebar-muted);font-size:var(--font-size-050);font-weight:var(--font-bold);letter-spacing:.08em;padding:var(--space-1) calc(var(--space-1) + .125rem);text-transform:uppercase}.layer-inline-action{width:1.5rem;height:1.5rem}.layer-menu-trigger{opacity:.8}.sidebar-footer-row{align-items:center;gap:var(--space-1);display:flex}.sidebar-footer-separator{color:color-mix(in srgb, var(--sidebar-muted) 72%, transparent)}.sidebar-footer-link{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.sidebar-footer-icon-link{color:inherit;opacity:.82;justify-content:center;align-items:center;transition:color .16s,opacity .16s,transform .16s;display:inline-flex}.sidebar-footer-icon-link:hover{color:var(--foreground);opacity:1;transform:translateY(-1px)}.device-card{border-radius:var(--radius-md);border:1px solid var(--button-border);padding:var(--space-3);text-align:left;justify-content:space-between;align-items:center;transition:border-color .16s,background-color .16s,color .16s;display:flex}.device-card-active{background:var(--button-active-bg);border-color:var(--button-active-bg);color:var(--button-active-fg)}.device-card-inactive{background:var(--button-bg);color:var(--button-fg)}.device-card-inactive:hover{border-color:var(--button-border-hover)}.sidebar-footer{border-top:1px solid var(--sidebar-border);color:var(--sidebar-muted);font-size:var(--font-size-100);letter-spacing:.02em;padding:var(--space-3) var(--space-4) var(--space-4);text-transform:uppercase;line-height:1.6}.templates-empty-hint{margin:0 0 var(--space-2);line-height:1.4}.layers-templates-dock{border-top:1px solid var(--sidebar-border);flex-shrink:0}.templates-dock-body{gap:var(--space-3);padding:var(--space-6) 0;flex-direction:column;display:flex}.templates-dock-body .templates-empty-hint{text-align:center}.layers-templates-dock .layers-stack{max-height:40vh;overflow-y:auto}
.context-menu-root{display:inline-block;position:relative}.context-menu-panel{background:var(--sidebar-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--canvas-shadow);z-index:9999;width:9.5rem;padding:.25rem;animation:.12s context-menu-appear;position:fixed}.context-submenu-panel{background:var(--sidebar-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--canvas-shadow);width:8.5rem;padding:.25rem;animation:.1s context-submenu-appear;position:absolute;left:calc(100% + 4px)}.context-menu-header{border-bottom:1px solid var(--panel-border);margin-bottom:.25rem;padding:.15rem .1rem .4rem}.context-menu-row{border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;font-size:.75rem;font-weight:var(--font-regular);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.4rem .5rem;transition:background .1s;display:flex}.context-menu-row-icon{color:currentColor;flex-shrink:0;align-items:center;display:inline-flex}.context-menu-row-meta{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}.context-menu-row:hover,.context-menu-row-active{background:var(--surface-hover)}[data-theme=dark] .context-menu-row:hover,[data-theme=dark] .context-menu-row-active{background:color-mix(in srgb, var(--foreground) 12%, var(--sidebar-bg))}.context-menu-row:disabled{opacity:1}.context-menu-row-danger{color:var(--danger-fg)}.context-menu-row-danger:hover{background:color-mix(in srgb, var(--danger-fg) 12%, transparent)}.context-menu-row-chevron{color:var(--sidebar-muted);flex-shrink:0}.context-menu-check{color:var(--foreground);flex-shrink:0}.context-menu-row-disabled{color:var(--button-muted-fg);cursor:default}.context-menu-row-disabled:hover{background:0 0}.context-menu-row-badge{background:color-mix(in srgb, var(--foreground) 10%, transparent);border:1px solid var(--panel-border);border-radius:var(--radius-full);color:var(--sidebar-muted);font-size:.65rem;font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;padding:.18rem .5rem}@keyframes context-menu-appear{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes context-submenu-appear{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}
.credits-modal-overlay{background:color-mix(in srgb, var(--background) 28%, #000000a3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-5);z-index:1200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.credits-modal{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);color:var(--foreground);flex-direction:column;width:min(100%,40rem);max-width:40rem;max-height:min(42rem,100vh - 2.5rem);display:flex;overflow:hidden;box-shadow:0 18px 56px #00000038}.credits-modal-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);display:flex}.credits-modal-eyebrow{color:var(--sidebar-muted);font-size:var(--font-size-050);letter-spacing:.14em;margin:0 0 var(--space-1);text-transform:uppercase}.credits-modal-title{font-size:var(--font-size-400);font-weight:var(--font-medium);margin:0;line-height:1.1}.credits-modal-close{border-radius:var(--radius-full);color:var(--sidebar-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:2rem;height:2rem;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:inline-flex}.credits-modal-close:hover{background:color-mix(in srgb, var(--surface-hover) 60%, transparent);border-color:var(--panel-border);color:var(--foreground)}.credits-modal-body{gap:var(--space-4);min-height:0;padding:var(--space-4) var(--space-5) var(--space-8);flex-direction:column;flex:1;display:flex;overflow-y:auto}.credits-modal-intro,.credits-modal-footer p{color:var(--sidebar-label);font-size:var(--font-size-200);margin:0;line-height:1.6}.credits-modal-list{flex-direction:column;gap:0;display:flex}.credits-card{border-top:1px solid var(--panel-border);padding:var(--space-4) 0}.credits-card:first-child{border-top:0;padding-top:0}.credits-card-title{font-size:var(--font-size-250);font-weight:var(--font-medium);margin:0 0 var(--space-2);line-height:1.35}.credits-card-line{color:var(--sidebar-label);font-size:var(--font-size-150);margin:0;line-height:1.7}.credits-card-line span{color:var(--foreground);font-weight:var(--font-regular)}.credits-link{color:inherit;text-underline-offset:.16em;align-items:center;gap:.35rem;text-decoration:underline;display:inline-flex}.credits-card-warning{border-left:1px solid var(--panel-border);color:var(--sidebar-label);font-size:var(--font-size-150);margin:var(--space-3) 0 0;padding-left:var(--space-3);line-height:1.6}.credits-modal-footer{border-top:1px solid var(--panel-border);gap:var(--space-2);padding-top:var(--space-4);flex-direction:column;display:flex}.credits-modal-footer p{color:var(--sidebar-muted);font-size:var(--font-size-150)}@media (max-width:640px){.credits-modal-overlay{padding:var(--space-3);align-items:flex-end}.credits-modal{max-height:calc(100vh - 1.5rem)}.credits-modal-header,.credits-modal-body{padding-left:var(--space-4);padding-right:var(--space-4)}}
.motion-timeline{background:var(--sidebar-bg);border-top:1px solid var(--sidebar-border);gap:var(--space-2);height:var(--motion-timeline-height);bottom:0;left:var(--editor-sidebar-width);padding:var(--space-3) var(--space-4);pointer-events:auto;right:var(--editor-sidebar-width);z-index:3;flex-direction:column;display:flex;position:absolute}.timeline-resize-handle{bottom:calc(var(--motion-timeline-height) - 3px);cursor:row-resize;height:7px;left:var(--editor-sidebar-width);pointer-events:auto;right:var(--editor-sidebar-width);touch-action:none;z-index:4;position:absolute}.timeline-resize-handle:after{content:"";background:0 0;height:2px;transition:background-color .12s;position:absolute;top:2px;left:0;right:0}.timeline-resize-handle:hover:after,.timeline-resize-handle:focus-visible:after{background:color-mix(in srgb, var(--foreground) 40%, transparent)}.timeline-resize-handle:focus-visible{outline:none}.motion-timeline-header{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.motion-timeline-clock{color:var(--sidebar-muted);font-size:var(--font-size-150);font-variant-numeric:tabular-nums;letter-spacing:.04em}.motion-frame-trigger{border:1px solid var(--button-border);border-radius:var(--radius-sm);color:var(--button-fg);cursor:pointer;font-size:var(--font-size-150);font-variant-numeric:tabular-nums;align-items:center;gap:var(--space-2);min-height:var(--input-min-height);padding:0 var(--space-2);background:0 0;transition:border-color .16s,background-color .16s;display:inline-flex}.motion-timeline-zoom{gap:2px;margin-left:auto;display:flex}.motion-timeline-zoom-button{border:1px solid var(--button-border);border-radius:var(--radius-sm);color:var(--button-fg);cursor:pointer;min-height:var(--input-min-height);width:var(--input-min-height);background:0 0;justify-content:center;align-items:center;transition:border-color .16s,background-color .16s;display:inline-flex}.motion-timeline-zoom-button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--button-border-hover)}.motion-timeline-zoom-button:disabled{cursor:default;opacity:.4}.motion-frame-trigger:hover,.motion-frame-trigger[aria-expanded=true]{background:var(--surface-hover);border-color:var(--button-border-hover)}.motion-frame-preset-size{color:var(--sidebar-muted);font-variant-numeric:tabular-nums}.motion-frame-check-space{width:12px;display:inline-block}.motion-frame-fields{border-top:1px solid var(--panel-border);align-items:flex-end;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-3);display:flex}.motion-frame-field{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.motion-frame-field .editor-input{border-radius:var(--radius-sm);font-size:var(--font-size-200);font-variant-numeric:tabular-nums;width:100%}.motion-frame-field-label,.motion-frame-ratio{color:var(--sidebar-muted);font-size:var(--font-size-100)}.motion-frame-ratio{margin:var(--space-2) 0 0}.motion-timeline-empty{text-align:center;flex:1;justify-content:center;align-items:center;display:flex}.motion-timeline-body{gap:var(--space-3);flex:1;min-height:0;display:flex;overflow-y:auto}.motion-timeline-labels{gap:var(--space-1);flex-direction:column;flex-shrink:0;width:8rem;display:flex}.motion-timeline-ruler-spacer{flex-shrink:0;height:1rem}.motion-timeline-label{border-radius:var(--radius-xs);align-items:center;gap:var(--space-1);flex-shrink:0;height:1.5rem;display:flex}.motion-timeline-label-name{color:var(--sidebar-muted);cursor:pointer;font-size:var(--font-size-150);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;min-width:0;padding:0;overflow:hidden}.motion-timeline-label.is-active .motion-timeline-label-name,.motion-timeline-label-name:hover{color:var(--foreground)}.motion-timeline-add{border:1px solid var(--button-border);border-radius:var(--radius-xs);color:var(--sidebar-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;display:flex}.motion-timeline-add:hover:not(:disabled),.motion-timeline-add.is-on-keyframe{color:var(--foreground)}.motion-timeline-add.is-on-keyframe svg{fill:currentColor}.motion-timeline-add:disabled{cursor:default;opacity:.4}.motion-timeline-viewport{min-width:0;padding-inline:var(--space-3);flex:1;overflow:auto hidden}.motion-timeline-lanes{cursor:col-resize;gap:var(--space-1);touch-action:none;flex-direction:column;min-width:100%;display:flex;position:relative}.motion-timeline-ruler{flex-shrink:0;height:1rem;position:relative}.motion-timeline-tick{border-left:1px solid var(--panel-border);color:var(--sidebar-muted);font-size:var(--font-size-100);font-variant-numeric:tabular-nums;pointer-events:none;height:100%;padding-left:3px;line-height:1;position:absolute;top:0}.motion-timeline-lane{background:color-mix(in srgb, var(--foreground) 5%, transparent);border-radius:var(--radius-xs);flex-shrink:0;height:1.5rem;position:relative}.motion-timeline-lane.is-active{background:color-mix(in srgb, var(--foreground) 9%, transparent)}.motion-timeline-lane-video{background:color-mix(in srgb, var(--foreground) 3%, transparent)}.motion-timeline-clip{background:color-mix(in srgb, var(--foreground) 16%, transparent);border:1px solid color-mix(in srgb, var(--foreground) 22%, transparent);border-radius:var(--radius-xs);color:var(--sidebar-muted);cursor:grab;font-size:var(--font-size-100);align-items:center;gap:var(--space-1);min-width:2px;padding:0 var(--space-2);display:flex;position:absolute;top:2px;bottom:2px;overflow:hidden}.motion-timeline-clip:active{cursor:grabbing}.motion-timeline-clip-trim{cursor:ew-resize;touch-action:none;z-index:1;width:6px;transition:background-color .12s;position:absolute;top:0;bottom:0}.motion-timeline-clip-trim.is-start{left:0}.motion-timeline-clip-trim.is-end{right:0}.motion-timeline-clip-trim:hover,.motion-timeline-clip-trim:active{background:color-mix(in srgb, var(--foreground) 40%, transparent)}.motion-timeline-lane-video.is-active .motion-timeline-clip{background:color-mix(in srgb, var(--foreground) 26%, transparent);color:var(--foreground)}.motion-timeline-clip svg{flex-shrink:0}.motion-timeline-clip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.motion-timeline-label-video{color:var(--sidebar-muted);font-size:var(--font-size-100);gap:var(--space-1);padding-left:var(--space-3)}.motion-timeline-label-video.is-active{color:var(--foreground)}.motion-timeline-segment{background:color-mix(in srgb, var(--foreground) 18%, transparent);cursor:grab;justify-content:center;align-items:center;height:100%;display:flex;position:absolute;top:0;overflow:hidden}.motion-timeline-segment:active{cursor:grabbing}.motion-timeline-lane.is-active .motion-timeline-segment{background:color-mix(in srgb, var(--foreground) 28%, transparent)}.motion-timeline-segment-label{color:var(--sidebar-muted);font-size:var(--font-size-100);padding:0 var(--space-3);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.motion-timeline-marker{background:var(--foreground);border:1px solid var(--sidebar-bg);cursor:ew-resize;opacity:.6;z-index:2;width:.6rem;height:.6rem;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.motion-timeline-marker:hover,.motion-timeline-marker:focus-visible{opacity:1}.motion-timeline-marker.is-active{opacity:1;outline:2px solid color-mix(in srgb, var(--foreground) 45%, transparent);outline-offset:1px}.motion-timeline-menu-title{color:var(--sidebar-muted);font-size:var(--font-size-100);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .25rem}.motion-timeline-playhead{background:var(--foreground);pointer-events:none;z-index:4;width:1px;position:absolute;top:0;bottom:0}.motion-timeline-playhead:before{background:var(--foreground);content:"";border-radius:1px;width:.4rem;height:.3rem;position:absolute;top:0;left:-.15rem}.motion-timeline-menu.is-bezier,.motion-timeline-menu.is-panel{padding:var(--space-3);width:15rem}.bezier-editor{gap:var(--space-3);flex-direction:column;display:flex}.bezier-editor-graph{touch-action:none;width:100%;display:block;overflow:visible}.bezier-editor-unit{fill:color-mix(in srgb, var(--foreground) 5%, transparent);stroke:var(--panel-border);stroke-width:1px}.bezier-editor-linear{stroke:var(--panel-border);stroke-dasharray:3 3;stroke-width:1px}.bezier-editor-arm{stroke:var(--sidebar-muted);stroke-width:1px}.bezier-editor-curve{fill:none;stroke:var(--foreground);stroke-linecap:round;stroke-width:2px}.bezier-editor-handle{cursor:grab;fill:var(--sidebar-bg);stroke:var(--foreground);stroke-width:2px}.bezier-editor-handle:active{cursor:grabbing}.bezier-editor-values{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bezier-editor-field{align-items:center;gap:var(--space-2);display:flex}.bezier-editor-field span{color:var(--sidebar-muted);font-size:var(--font-size-100);letter-spacing:.04em;flex-shrink:0}.bezier-editor-input{font-size:var(--font-size-150);min-width:0;padding:var(--space-1);text-align:center;width:100%}.bezier-editor-actions{gap:var(--space-2);display:flex}.bezier-editor-actions .editor-button-outline{padding:var(--space-2);white-space:nowrap}.motion-frame-lock{height:var(--input-min-height)}
.mockup-stage{touch-action:none;transition:background .16s;position:relative;overflow:hidden}.mockup-stage-dark{background:radial-gradient(circle at top,#ffffff14,#0000 38%),linear-gradient(160deg,#3d3936 0%,#2c2a28 52%,#252422 100%)}.mockup-stage-light{background:radial-gradient(circle at top,#fff9,#0000 34%),radial-gradient(circle at 100% 100%,#d5c4b047,#0000 34%),linear-gradient(155deg,#fbf7f2 0%,#f2ebdf 52%,#ece2d5 100%)}.mockup-stage canvas{background:0 0}.canvas-viewport{position:absolute;inset:0}.canvas-frame{width:100%;height:100%}.canvas-viewport.is-framed{bottom:calc(var(--motion-timeline-height) + var(--space-4) + var(--canvas-fab-size) + var(--space-4));left:calc(var(--editor-sidebar-width) + var(--space-6));right:calc(var(--editor-sidebar-width) + var(--space-6));top:calc(var(--canvas-mode-toggle-top) + var(--canvas-mode-toggle-height) + var(--space-4));justify-content:center;align-items:center;display:flex;container-type:size}.canvas-align-area{bottom:calc(var(--space-6) + var(--canvas-fab-size) + var(--space-4));left:var(--editor-sidebar-width);pointer-events:none;right:var(--editor-sidebar-width);top:calc(var(--canvas-mode-toggle-top) + var(--canvas-mode-toggle-height) + var(--space-4));visibility:hidden;position:absolute}.canvas-viewport.is-framed.is-ui-hidden{inset:var(--space-6)}.canvas-viewport.is-framed .canvas-frame{aspect-ratio:var(--canvas-frame-ratio);box-shadow:var(--canvas-shadow);outline:1px solid var(--button-border);height:auto;width:min(100cqw, 100cqh * var(--canvas-frame-ratio))}.canvas-stage-overlay{pointer-events:none;z-index:10;position:absolute;inset:0}.canvas-blocking-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:color-mix(in srgb, var(--background) 55%, transparent);cursor:progress;pointer-events:auto;z-index:20;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-stage-hint{background:var(--canvas-overlay);border:1px solid color-mix(in srgb, var(--panel-border) 60%, transparent);border-radius:var(--radius-lg);box-shadow:var(--canvas-shadow);pointer-events:none;text-align:center;max-width:14rem;padding:1rem 1.25rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-stage-hint-title{color:var(--foreground);font-size:var(--font-size-300);font-weight:var(--font-semibold)}.canvas-stage-hint-text{color:var(--sidebar-muted);font-size:var(--font-size-200);margin-top:var(--space-2);line-height:1.5}.editor-segmented.canvas-mode-toggle{--segmented-padding:3px;background:color-mix(in srgb, var(--surface-raised) 88%, transparent);border:1px solid var(--button-border);box-shadow:var(--canvas-shadow);height:var(--canvas-mode-toggle-height);pointer-events:auto;left:50%;top:var(--canvas-mode-toggle-top);z-index:3;grid-auto-columns:1fr;grid-auto-flow:column;margin-bottom:0;display:grid;position:absolute;transform:translate(-50%)}.canvas-mode-toggle .editor-segmented-thumb{background:var(--button-active-bg)}.canvas-mode-toggle .editor-segmented-tab{padding:0 var(--space-4);white-space:nowrap}.canvas-mode-toggle .editor-segmented-tab.is-active{color:var(--button-active-fg)}.canvas-stage-overlay.with-timeline .canvas-floating-toolbar{bottom:calc(var(--motion-timeline-height) + var(--space-4))}
.canvas-floating-toolbar{bottom:var(--space-6);align-items:center;gap:var(--space-3);pointer-events:auto;right:calc(var(--editor-sidebar-width) + var(--space-6));display:flex;position:absolute}.canvas-floating-cluster{align-items:center;gap:var(--space-2);display:flex}.canvas-color-control{margin-left:var(--space-4);margin-right:var(--space-4);position:relative}.canvas-color-swatch{border-radius:var(--radius-xs);width:1rem;height:1rem}.canvas-color-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.canvas-capture-button{background:var(--button-active-bg);border:1px solid var(--button-border);border-radius:var(--radius-full);box-shadow:var(--canvas-shadow);color:var(--button-active-fg);cursor:pointer;font-size:var(--font-size-300);align-items:center;gap:var(--space-2);height:2.5rem;padding:0 var(--space-4);transition:border-color .16s,transform .16s,background-color .16s;display:inline-flex}.canvas-capture-button:hover{background:color-mix(in srgb, var(--button-active-bg) 88%, var(--foreground));border-color:var(--button-border-hover);transform:translateY(-1px)}.canvas-capture-button:disabled{cursor:default;opacity:.6;transform:none}.export-dialog{max-width:30rem}.export-dialog-field{align-items:start;gap:var(--space-4);grid-template-columns:7rem minmax(0,1fr);display:grid}.export-dialog-label{color:var(--sidebar-label);font-size:var(--font-size-200);line-height:calc(var(--input-min-height) + var(--space-3))}.export-dialog-control{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.export-dialog-note{color:var(--sidebar-muted);font-size:var(--font-size-150);font-variant-numeric:tabular-nums;margin:0;line-height:1.4}.export-dialog-warning{color:var(--danger-fg)}.export-progress-dialog{max-width:26rem}.export-progress{gap:var(--space-2);flex-direction:column;display:flex}.export-progress-track{background:var(--surface-subtle);border-radius:var(--radius-full);height:.375rem;overflow:hidden}.export-progress-fill{background:var(--button-active-bg);border-radius:inherit;height:100%}.export-progress-row{color:var(--sidebar-muted);font-size:var(--font-size-150);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.export-progress-copy{gap:var(--space-1);flex-direction:column;display:flex}.export-progress-status{color:var(--foreground);font-size:var(--font-size-200);margin:0}.export-swatch{border-radius:var(--radius-xs);flex-shrink:0;width:.95rem;height:.95rem}.export-swatch-transparent{border:1px solid var(--panel-border);background-color:#fff;background-image:linear-gradient(45deg,#b8b8b8 25%,#0000 25%),linear-gradient(-45deg,#b8b8b8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#b8b8b8 75%),linear-gradient(-45deg,#0000 75%,#b8b8b8 75%);background-position:0 0,0 3px,3px -3px,-3px 0;background-size:6px 6px}.canvas-hide-ui-fab{pointer-events:auto;touch-action:none;cursor:grab;z-index:2;position:absolute}.canvas-hide-ui-fab.corner-top-left{left:var(--space-6);top:var(--space-6)}.canvas-hide-ui-fab.corner-top-right{right:var(--space-6);top:var(--space-6)}.canvas-hide-ui-fab.corner-bottom-left{bottom:var(--space-6);left:var(--space-6)}.canvas-hide-ui-fab.corner-bottom-right{bottom:var(--space-6);right:var(--space-6)}.canvas-hide-ui-fab.is-dragging{cursor:grabbing;opacity:.9;position:fixed;bottom:auto;right:auto;transform:translate(-50%,-50%)}
.activity-notice{color:var(--foreground)}.activity-notice-centered{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.activity-notice-inline{left:50%;top:var(--canvas-notice-top);z-index:3;animation:.16s activity-notice-appear;position:absolute;transform:translate(-50%)}.activity-notice-surface{color:var(--foreground);align-items:center;display:flex}.activity-notice-surface-centered{gap:var(--space-2);text-align:center;flex-direction:column}.activity-notice-surface-inline{background:var(--panel-bg);border:1px solid var(--button-border);border-radius:var(--radius-full);box-shadow:var(--canvas-shadow);font-size:var(--font-size-200);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.activity-notice-spinner{border:2px solid color-mix(in srgb, var(--foreground) 16%, transparent);border-radius:var(--radius-full);border-top-color:var(--foreground);width:1.125rem;height:1.125rem;animation:.9s linear infinite activity-notice-spin}.activity-notice-spinner-inline{width:.875rem;height:.875rem}.activity-notice-label{margin:0}.activity-notice-label-centered{font-size:var(--font-size-300);font-weight:var(--font-semibold)}.activity-notice-label-inline{font-size:var(--font-size-200)}@keyframes activity-notice-appear{0%{opacity:0;transform:translate(-50%,-4px)}}@media (prefers-reduced-motion:reduce){.activity-notice-inline{animation:none}}@keyframes activity-notice-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.snackbar-root{bottom:var(--space-5);pointer-events:none;z-index:120;position:fixed;left:50%;transform:translate(-50%)}.snackbar{background:color-mix(in srgb, var(--surface-raised) 96%, transparent);border:1px solid var(--button-border);border-radius:var(--radius-full);box-shadow:var(--canvas-shadow);color:var(--foreground);align-items:center;gap:var(--space-3);max-width:min(34rem,100vw - 2rem);min-height:2.75rem;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);pointer-events:auto;display:inline-flex}.snackbar-tone-success{border-color:color-mix(in srgb, var(--button-border) 72%, var(--black-800))}.snackbar-tone-error{border-color:color-mix(in srgb, var(--button-border) 64%, #c04040)}.snackbar-message{font-size:var(--font-size-300);flex:1;line-height:1.4}.snackbar-close{border-radius:var(--radius-full);color:var(--sidebar-muted);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:1.875rem;height:1.875rem;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}.snackbar-close:hover{background:color-mix(in srgb, var(--surface-hover) 72%, transparent);color:var(--foreground);transform:translateY(-1px)}@media (max-width:767px){.snackbar-root{bottom:var(--space-4);left:var(--space-4);right:var(--space-4);transform:none}.snackbar{width:100%;max-width:none}}
