@layer base,components,layout,features;@layer base{@font-face{font-family:Enpixelment;src:url(data:font/woff2;base64,d09GMk9UVE8AAALwAAkAAAAABYQAAAKrAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYRqBmAAYgE2AiQDKAQGBYIKByAb3QTIngPuriI/wfnrUIMFOaUtGiMWJc+D+thP914YFCp0MeJHRwHJKAlkI7nVNaq64xE9yP7PuPxHNFJDAtH3FgrbxcGJaosrYUYVLocRwYnq16/p3iUbBEcWUEVFmBhVJ+kVjK5sLaA7pzuz+/u2Q8dMlylwvoENxzOqCrGiiAIdWET6vth/dNvvTRH1SGZME263SNnQGXkOvM8+gn+LaAGhbJdDXArmKsdclzbelIGJNlJDpwDbGI8eExMAfA9JFGWted1kdzhdbo/X53/lNB70pqEVQppgPN7M/zSWL6aas7kqgISaBE2EGx9Nc5751lJnXWdPKd6xz45/IHWPfQcKOjW8sDmJHUcUKHyIghZDTYrzxLgkA25dJ6m8KY3HiIzyxAW3i/e/Ww1jPGs/iWxMl7pLrJ3kGA1j/+tMD6OTDuproI4hm3hRY2EecvcgBC9giOEUjS1W7+8o8Cia37KNIP/ejo089CUYE0b931LSQOdk7zSnOsZccVObsz9lDRgy2a5kmK2pIw9Cdik0OMUe49sghpCbCHd825wiNF7z243pfWT9OL5RG/7uZluEKat2D0N0FC5XNTz4EGuB0O2Gx3/9h+rjfr4Ya3EgbjtyPHnrNLd0xGVH/cLAlvmLYO2Nogcal4tiFtAuPQQJNa8hBa7Pao1NEo4SYeZnXAgI46YNiKNDASUxKXlFVc0FUNkjfW9d8H/aWfsTG4Mohw//sLMF51fnjxex0w++tIiht6ffhaezpyKHC1uQgiWnjW3sA0DQnoV6gDmAbYSdCa7BLsH8nbA20tPC+3z0oZC7LmBcREBkrQMjyhK4qGsDbsrcwEOWVOJl/xnAMWJMvzndhgzrNmJKWbde04a0m1DXbcKkfqNGCBnpmXAqIe+FkLtRbCK55pWjUAA=) format("woff2");font-weight:800;font-display:swap}}@layer base{:root{--brand-primary: #00aaff;--brand-primary-hover: #33bbff;--brand-primary-glow: rgba(0, 170, 255, .4);--brand-secondary: #00ff88;--brand-secondary-glow: rgba(0, 255, 136, .4);--brand-warning: #ffaa00;--brand-error: #ff4466;--color-success: #00cc66;--color-success-bg: rgba(0, 200, 100, .1);--color-warning: #ffaa00;--color-warning-bg: rgba(255, 170, 0, .1);--color-error: #ff4466;--color-error-hover: #ff5577;--color-error-bg: rgba(255, 68, 102, .1);--color-info: #6fa8dc;--color-info-bg: rgba(100, 100, 255, .1);--color-value: #8899aa;--color-fps-good: #0f0;--color-fps-warn: #ff0;--color-fps-bad: #f80;--color-accent: #4ecdc4;--color-accent-hover: #5dd9d0;--color-accent-dim: rgba(78, 205, 196, .15);--accent: var(--color-accent);--accent-hover: var(--color-accent-hover);--accent-dim: var(--color-accent-dim);--clr-primary: var(--brand-primary);--clr-primary-rgb: 0, 170, 255;--danger: var(--color-error);--color-white: #ffffff;--color-black: #000000;--bg-deepest: #08080c;--bg-base: #0a0a0f;--bg-app: #0d0d12;--bg-panel: #14141a;--bg-surface: #12121a;--bg-section: #1a1a22;--bg-elevated: #1a1a2e;--bg-overlay: #222235;--bg-hover: #22222c;--bg-selected: #2a2a3a;--bg-input: rgba(255, 255, 255, .06);--bg-input-hover: rgba(255, 255, 255, .1);--bg-input-focus: rgba(0, 170, 255, .15);--bg-dark: rgba(0, 0, 0, .3);--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .12);--border-section: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--border-focus: var(--brand-primary);--text-primary: #e8e8e8;--text-secondary: #b0b0b0;--text-tertiary: #888888;--text-muted: #666666;--text-disabled: #444444;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--brand-primary-glow);--shadow-popup: 0 4px 12px rgba(0, 0, 0, .5);--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-full: 50%;--font-brand: "Enpixelment", var(--font-sans);--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Consolas", "Monaco", monospace;--font-family: var(--font-sans);--font-size-2xs: 9px;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-base: 12px;--font-size-md: 13px;--font-size-lg: 14px;--font-size-xl: 16px;--font-size-2xl: 20px;--font-size-3xl: 24px;--transition-fast: .12s ease;--transition-normal: .15s ease;--transition-slow: .25s ease;--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--topbar-height: 44px;--panel-width-left: 310px;--panel-width-right: 300px;--left-panel-width: var(--panel-width-left);--row-height: 28px;--row-height-sm: 24px;--section-header-height: 28px;--panel-header-height: 32px;--bottom-panel-height: 180px;--zoom-bar-height: 32px;--label-width: 60px;--param-label-width: 115px;--param-kf-width: 52px;--param-reset-width: 16px;--param-control-offset: 5px;--checkbox-size: 12px;--slider-track-height: 4px;--slider-height: 16px;--slider-thumb-size: 12px;--btn-height: 22px;--btn-height-sm: 18px;--input-height: 22px;--ui-height: 22px;--ui-height-sm: 18px;--ui-padding-x: 6px;--ui-padding-y: 4px;--ui-gap: 4px;--ui-radius: 0;--ui-bg: var(--bg-section);--ui-bg-hover: var(--bg-hover);--ui-bg-active: var(--bg-selected);--ui-bg-popup: var(--bg-panel);--ui-border: transparent;--ui-border-hover: var(--border-section);--ui-border-focus: var(--color-accent);--ui-text: var(--text-primary);--ui-text-placeholder: var(--text-muted);--ui-text-disabled: var(--text-muted);--ui-transition: .12s ease;--icon-size-xs: 12px;--icon-size-sm: 14px;--icon-size-md: 16px;--icon-size-lg: 20px;--checker-color: #333333;--checker-size: 8px;--bg-viewport: #0a0a12;--checker-viewport-transparent-a: #2b2b33;--checker-viewport-transparent-b: #3d3d49;--checker-viewport-size: 16px;--z-base: 1;--z-above: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 500;--z-modal: 600;--z-popover: 700;--z-tooltip: 800;--z-topbar: 900;--z-max: 1000}}@layer base{*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-base);min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);display:flex;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}.ui-input,.ui-select,.ui-slider,.ui-radio-group,.ui-checkbox,.ui-button{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--ui-text);line-height:1}}@layer base{.u-checkerboard{--_c: var(--checker-color);--_s: var(--checker-size);background-image:linear-gradient(45deg,var(--_c) 25%,transparent 25%),linear-gradient(-45deg,var(--_c) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--_c) 75%),linear-gradient(-45deg,transparent 75%,var(--_c) 75%);background-size:var(--_s) var(--_s);background-position:0 0,0 calc(var(--_s) / 2),calc(var(--_s) / 2) calc(var(--_s) / -2),calc(var(--_s) / -2) 0}}@layer layout{.top-bar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);display:flex;align-items:center;padding:0 16px;gap:16px;z-index:var(--z-topbar)}.top-bar .ui-btn,.top-bar .ui-dropdown-trigger{background:transparent;border-color:transparent;color:var(--text-secondary)}.top-bar .ui-btn:hover,.top-bar .ui-dropdown-trigger:hover,.top-bar .ui-dropdown.is-open .ui-dropdown-trigger{background:var(--ui-bg-hover);border-color:transparent;color:var(--text-primary)}.top-bar-divider{width:1px;height:20px;background:var(--bg-input-hover)}.top-bar-brand{display:flex;flex-direction:column;line-height:1.2;width:calc(var(--left-panel-width) - 32px);flex-shrink:0}.brand-title{font-family:var(--font-brand);font-size:13px;font-weight:800;color:var(--brand-primary);letter-spacing:2px}.brand-beta{font-style:italic;font-weight:400;font-size:10px;color:var(--color-accent);letter-spacing:0;margin-left:4px}.brand-subtitle{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}.brand-author{color:var(--text-disabled)}.top-bar-spacer{flex:1}.top-bar-section{display:flex;align-items:center;gap:10px;position:relative}.top-bar-section select{font-size:var(--font-size-xs);padding:4px 8px}.top-bar-section select optgroup{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.alignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:8px;background:var(--bg-elevated);border-radius:var(--radius-md)}.align-btn{width:32px;height:32px;border:none;background:var(--bg-surface);color:var(--text-muted);font-size:14px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.align-btn:hover{background:var(--brand-primary);color:#fff}.align-btn[data-align=center]{font-size:20px;font-weight:700}.msaa-toggle{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:3px;transition:background .15s}.msaa-toggle:hover{background:var(--bg-input)}.msaa-toggle input{width:12px;height:12px;cursor:pointer}.renderer-badge{display:flex;align-items:center;gap:6px;background:#00ff881a;border:1px solid rgba(0,255,136,.3);padding:4px 10px;border-radius:var(--radius-sm)}.renderer-badge .renderer-dot{width:6px;height:6px}.renderer-badge .renderer-name{font-size:10px;font-weight:600;color:var(--brand-secondary);text-transform:uppercase;letter-spacing:.05em}.renderer-badge.webgl{background:#00aaff1a;border-color:#00aaff4d}.renderer-badge.webgl .renderer-name{color:var(--brand-primary)}.renderer-badge.canvas{background:#ffaa001a;border-color:#ffaa004d}.renderer-badge.canvas .renderer-name{color:var(--brand-warning)}.top-bar-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-muted);width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.top-bar-btn:hover{background:var(--bg-input);color:var(--text-secondary)}.top-bar-btn.active{background:var(--bg-input-hover);color:var(--text-secondary);border-color:var(--border-strong)}.top-bar-export-btn{display:flex;align-items:center;background:#ff646426;border:1px solid rgba(255,100,100,.4);color:var(--color-error);padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:600;transition:all var(--transition-fast)}.top-bar-export-btn:hover{background:#ff646440;border-color:#ff646499}.top-bar #previewFps{width:60px}.top-bar #rendererSelect{width:75px}.top-bar #bbToggleBtn.active{color:var(--brand-primary)}.top-bar #bbToggleBtn:not(.active){opacity:.4}}@layer layout{.sidebar{width:320px;height:calc(100vh - var(--topbar-height));background:var(--border-subtle);border-right:1px solid var(--border-subtle);padding:20px 20px 40px;overflow-y:auto;overflow-x:visible;flex-shrink:0;position:fixed;left:0;top:var(--topbar-height)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:var(--border-subtle)}.sidebar::-webkit-scrollbar-thumb{background:var(--bg-input-hover);border-radius:3px}.sidebar h1{font-size:1.1rem;font-weight:400;margin-bottom:5px;color:var(--brand-primary)}.sidebar .subtitle{font-size:var(--font-size-xs);color:var(--text-disabled);margin-bottom:15px}.version-badge{display:inline-block;background:#00c86433;border:1px solid rgba(0,200,100,.4);color:var(--color-success);font-size:.6rem;padding:2px 6px;border-radius:var(--radius-sm);margin-left:8px}.renderer-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:15px;font-size:var(--font-size-xs)}.renderer-indicator .dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.renderer-indicator .dot.webgpu{background:var(--brand-secondary);box-shadow:0 0 8px var(--brand-secondary)}.renderer-indicator .dot.webgl{background:var(--brand-primary);box-shadow:0 0 8px var(--brand-primary)}.renderer-indicator .dot.canvas{background:var(--brand-warning)}.renderer-indicator .label{color:var(--text-muted)}.renderer-indicator .value{color:var(--text-primary);font-weight:500}.renderer-indicator select{margin-left:auto;font-size:.65rem;padding:4px 8px}.tabs{display:flex;gap:5px;margin-bottom:15px}.tab{flex:1;padding:10px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;font-size:var(--font-size-sm);text-align:center;transition:all var(--transition-fast)}.tab:hover{background:var(--bg-input)}.tab.active{background:#00aaff26;border-color:#0af6;color:var(--brand-primary)}.input-section{display:none;margin-bottom:15px}.input-section.active{display:block}.text-input{width:100%;padding:12px;font-size:1.4rem;text-align:center;background:var(--bg-input);border:2px solid rgba(0,170,255,.3);border-radius:var(--radius-lg);color:var(--text-primary);outline:none;margin-bottom:10px;letter-spacing:.05em}.text-input:focus{border-color:#0afc}.font-select-row{display:flex;gap:6px;margin-bottom:8px}.font-dropdown,.weight-dropdown{padding:8px 10px;font-size:var(--font-size-sm);border-radius:var(--radius-md)}.font-dropdown{flex:2}.weight-dropdown{flex:1}.load-cdn-btn{width:100%;padding:10px 14px;background:#0af3;border:1px solid rgba(0,170,255,.4);border-radius:var(--radius-md);color:var(--brand-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;margin-bottom:10px}.load-cdn-btn:hover{background:#00aaff4d}.load-cdn-btn:disabled{opacity:.5;cursor:wait}.separator-text{text-align:center;font-size:var(--font-size-xs);color:var(--text-disabled);margin:10px 0}.font-upload-area{border:2px dashed var(--border-default);border-radius:var(--radius-lg);padding:15px;text-align:center;margin-bottom:10px;transition:all var(--transition-fast);cursor:pointer}.font-upload-area:hover{border-color:#00aaff80;background:#00aaff0d}.font-upload-area.dragover{border-color:var(--brand-primary);background:#00aaff1a}.font-upload-area input{display:none}.font-upload-icon{font-size:1.5rem;margin-bottom:5px}.font-upload-text{font-size:var(--font-size-sm);color:var(--text-muted)}.font-upload-text strong{color:var(--brand-primary)}.current-font{background:#00c8641a;border:1px solid rgba(0,200,100,.3);border-radius:var(--radius-md);padding:8px 12px;font-size:var(--font-size-sm);color:var(--color-success);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.current-font .font-name{font-weight:600}.current-font .font-info{color:var(--text-muted);font-size:.65rem}.status-box{background:#6464ff1a;border:1px solid rgba(100,100,255,.3);border-radius:var(--radius-md);padding:8px 10px;font-size:var(--font-size-xs);color:#aaf;margin-bottom:10px}.info-box{background:#00aaff14;border:1px solid rgba(0,170,255,.2);border-radius:var(--radius-md);padding:8px 10px;font-size:var(--font-size-xs);color:#8cf;margin-top:12px}.left-panel{width:var(--left-panel-width);background:var(--bg-panel);border-right:1px solid var(--border-section);display:flex;flex-direction:column;overflow:hidden;position:fixed;top:var(--topbar-height);left:0;height:calc(100vh - var(--topbar-height) - var(--zoom-bar-height));z-index:var(--z-above)}.panel-section{display:flex;flex-direction:column;overflow:hidden}.properties-section{flex:1;display:flex;flex-direction:row;overflow:hidden}.properties-color-bar{width:3px;background:var(--layer-color, #ff6b6b);flex-shrink:0}.properties-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.properties-section.is-hidden .properties-content{opacity:.5}.properties-section.is-hidden .properties-color-bar{opacity:.4}.selected-layer-header{height:var(--panel-header-height);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-section) 100%,white 8%),var(--bg-section));border-bottom:1px solid var(--border-section);flex-shrink:0}.selected-layer-name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layers-section{flex:none;height:var(--bottom-panel-height)}.layers-header{height:calc(var(--row-height) + 20px);display:flex;align-items:stretch;gap:var(--spacing-xs);padding:0 var(--spacing-sm);padding-left:0;background:var(--bg-section);border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);flex-shrink:0}.layers-header-bar{width:3px;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-hover) 100%,white 15%),var(--bg-hover));flex-shrink:0;margin-right:var(--spacing-xs)}.layers-header>*:not(.layers-header-bar){align-self:center}.layers-icon{font-size:12px;color:var(--text-secondary);width:16px}.layers-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.layers-count{font-size:var(--font-size-xs);color:var(--text-muted);flex:1}.layers-add-btn{width:22px;height:22px;border-radius:0}.layers-add-btn ui-icon{font-size:12px}.section-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.section-scroll::-webkit-scrollbar{width:6px}.section-scroll::-webkit-scrollbar-track{background:transparent}.section-scroll::-webkit-scrollbar-thumb{background:var(--border-section);border-radius:3px}.section-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.panel-splitter{height:6px;flex-shrink:0;background:transparent;cursor:row-resize;display:flex;align-items:center;justify-content:center;z-index:var(--z-above);position:relative}.panel-splitter:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--layer-color, #666)}.splitter-handle{width:40px;height:2px;background:var(--border-section);border-radius:1px;margin-top:11px}.panel-splitter:hover .splitter-handle{background:var(--accent)}}@layer layout{.main{flex:1;display:flex;flex-direction:column;position:fixed;left:var(--left-panel-width);top:var(--topbar-height);right:0;bottom:var(--zoom-bar-height)}.viewport{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background-color:var(--checker-viewport-transparent-a);--_c: var(--checker-viewport-transparent-b);--_s: var(--checker-viewport-size)}.viewport canvas{transform-origin:center center;transition:transform .15s ease-out;box-shadow:0 0 40px #00000080}.selection-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;align-items:center;justify-content:center}.selection-box{position:absolute;border:1px solid var(--brand-primary);pointer-events:auto;cursor:move}.selection-box:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand-primary);opacity:.05}.control-point{position:absolute;width:8px;height:8px;background:#fff;border:1px solid var(--brand-primary);border-radius:1px;pointer-events:auto}.control-point.corner{cursor:nwse-resize}.control-point.top-left{top:-4px;left:-4px;cursor:nwse-resize}.control-point.top-right{top:-4px;right:-4px;cursor:nesw-resize}.control-point.bottom-left{bottom:-4px;left:-4px;cursor:nesw-resize}.control-point.bottom-right{bottom:-4px;right:-4px;cursor:nwse-resize}.control-point.edge{width:6px;height:6px}.control-point.top-center{top:-3px;left:50%;transform:translate(-50%);cursor:ns-resize}.control-point.bottom-center{bottom:-3px;left:50%;transform:translate(-50%);cursor:ns-resize}.control-point.middle-left{top:50%;left:-3px;transform:translateY(-50%);cursor:ew-resize}.control-point.middle-right{top:50%;right:-3px;transform:translateY(-50%);cursor:ew-resize}.rotation-handle{position:absolute;top:-30px;left:50%;transform:translate(-50%);width:10px;height:10px;background:#fff;border:1px solid var(--brand-primary);border-radius:50%;cursor:grab;pointer-events:auto}.rotation-handle:active{cursor:grabbing}.rotation-line{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:1px;height:20px;background:var(--brand-primary);pointer-events:none}.effect-control-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.effect-position-point{position:absolute;width:14px;height:14px;margin-left:-7px;margin-top:-7px;border-radius:50%;background:radial-gradient(circle,#ffd76e,#e6a020);border:2px solid white;box-shadow:0 0 8px #ffc83c99,0 0 2px #0006;cursor:grab;pointer-events:auto;z-index:10}.effect-position-point:hover{transform:scale(1.2);box-shadow:0 0 12px #ffc83ccc,0 0 3px #00000080}.effect-position-point:active{cursor:grabbing}.effect-position-point.is-selected{width:18px;height:18px;margin-left:-9px;margin-top:-9px;background:radial-gradient(circle,#fff4c0,#ffc040);border:2.5px solid white;box-shadow:0 0 14px #ffc83ce6,0 0 4px #00000080}.effect-radius-point{position:absolute;width:10px;height:10px;margin-left:-5px;margin-top:-5px;border-radius:50%;background:radial-gradient(circle,#6eb8ff,#2080e6);border:2px solid white;box-shadow:0 0 8px #3c96ff99,0 0 2px #0006;cursor:grab;pointer-events:auto;z-index:10}.effect-radius-point:hover{transform:scale(1.2)}.effect-radius-point:active{cursor:grabbing}.effect-force-line{position:absolute;height:1px;background:#ffd76e66;transform-origin:0 50%;pointer-events:none;z-index:9}.effect-force-diamond{position:absolute;width:10px;height:10px;margin-left:-5px;margin-top:-5px;background:radial-gradient(circle,#ffd76e,#e6a020);border:1.5px solid white;transform:rotate(45deg);box-shadow:0 0 6px #ffc83c80;cursor:grab;pointer-events:auto;z-index:10}.effect-force-diamond:hover{transform:rotate(45deg) scale(1.2)}.effect-force-diamond:active{cursor:grabbing}.effect-influence-circle{position:absolute;border-radius:50%;border:1px dashed rgba(255,215,110,.5);pointer-events:none;z-index:9}}@layer layout{.zoom-bar{height:var(--zoom-bar-height);background:var(--bg-elevated);border-top:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-above)}.zoom-btn{width:24px;height:24px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.zoom-btn:hover{background:var(--border-default);color:var(--text-primary)}.zoom-info{font-size:var(--font-size-sm);color:var(--text-muted)}.zoom-spacer{flex:1}.export-btn{padding:5px 12px;background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.export-btn:hover{box-shadow:0 2px 10px #ee5a2466}.zoom-bar .ui-select .ui-select-trigger{border:1px solid var(--border-subtle);background:transparent}.zoom-bar .ui-select .ui-select-trigger:hover{border-color:var(--border-default);background:var(--bg-hover)}.zoom-bar .ui-select.is-open .ui-select-trigger{border-color:var(--accent)}.ui-select[data-dropdown-up] .ui-select-arrow{transform:rotate(180deg)}.ui-select[data-dropdown-up].is-open .ui-select-arrow{transform:rotate(0)}.zoom-bar-left{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.zoom-bar-center{display:flex;align-items:center;gap:8px;position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-sm)}.zoom-bar-right{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm)}.footer-status{color:var(--accent)}.footer-divider{color:var(--text-muted)}.footer-info{color:var(--text-secondary)}}@layer components{.btn-primary,.btn-secondary{padding:10px 24px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary{background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-input-hover);border-color:var(--border-strong);color:var(--text-primary)}.btn-primary{background:linear-gradient(135deg,var(--brand-primary),#0066cc);border:none;color:var(--text-primary);box-shadow:0 2px 8px var(--brand-primary-glow)}.btn-primary:hover{box-shadow:0 4px 16px var(--brand-primary-glow)}.btn-primary:disabled{background:var(--text-disabled);box-shadow:none;cursor:not-allowed;opacity:.6}.btn-small{padding:6px 12px;font-size:var(--font-size-xs);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-small:hover{background:var(--bg-input-hover);border-color:var(--border-strong);color:var(--text-primary)}.btn-group{display:flex;gap:0}.btn-toggle{padding:6px 14px;font-size:var(--font-size-xs);background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.btn-toggle:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.btn-toggle:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.btn-toggle:not(:first-child){border-left:none}.btn-toggle:hover{background:var(--bg-input-hover);color:var(--text-secondary)}.btn-toggle.active{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--color-white)}.ui-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.ui-icon-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.ui-icon-btn.active{color:var(--accent)}.ui-icon-btn ui-icon{font-size:16px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:22px;padding:0 10px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:0;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}.ui-btn:hover{background:var(--ui-bg-hover);border-color:var(--ui-border-hover)}.ui-btn:active{background:var(--ui-bg-active)}.ui-btn:focus{outline:none;border-color:var(--ui-border-focus)}ui-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1}ui-icon svg{display:block}.ui-btn ui-icon{font-size:12px}.ui-btn--primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--color-white);font-weight:600}.ui-btn--primary:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.ui-btn--ghost{background:transparent;border-color:transparent}.ui-btn--ghost:hover{background:var(--ui-bg-hover);border-color:transparent;color:var(--text-primary)}.ui-btn--outline{background:transparent;border-color:var(--border-section);color:var(--text-secondary)}.ui-btn--outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ui-btn--danger{background:var(--brand-error);border-color:var(--brand-error);color:var(--color-white)}.ui-btn--danger:hover{background:var(--color-error-hover);border-color:var(--color-error-hover)}.ui-btn--danger.ui-btn--ghost{background:transparent;border-color:transparent;color:var(--brand-error)}.ui-btn--danger.ui-btn--ghost:hover{background:#ff446626;color:var(--color-error-hover)}.ui-btn:disabled,.ui-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.ui-btn--icon{width:22px;height:22px;padding:0}.ui-btn--caret:after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--text-muted);margin-left:4px}.ui-split-btn{display:inline-flex;align-items:stretch}.ui-split-btn-main{padding:0 7px}.ui-split-btn-caret{padding:0 5px;border-left-width:0}.ui-split-btn-caret.ui-btn--caret:after{margin-left:0}}@layer components{.input-label{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:8px}.ui-input{position:relative;display:inline-flex;align-items:center;height:var(--ui-height);background:var(--ui-bg);border:1px solid var(--ui-border);transition:border-color var(--ui-transition),background var(--ui-transition)}.ui-input:hover{border-color:var(--ui-border-hover)}.ui-input:focus-within{border-color:var(--ui-border-focus)}.ui-input input{flex:1;min-width:0;height:100%;padding:0 var(--ui-padding-x);background:transparent;border:none;outline:none;font:inherit;color:inherit}.ui-input input::placeholder{color:var(--ui-text-placeholder)}.ui-input input[type=number]::-webkit-outer-spin-button,.ui-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-input input[type=number]{-moz-appearance:textfield}.ui-input-label{padding:0 6px;width:22px;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500;border-right:1px solid var(--border-subtle);height:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ui-input-spinner{display:flex;flex-direction:column;height:100%;flex-shrink:0;border-left:1px solid var(--border-subtle)}.ui-input-spin-btn{display:flex;align-items:center;justify-content:center;flex:1;width:14px;padding:0;margin:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;line-height:1}.ui-input-spin-btn ui-icon{font-size:7px;width:7px;height:7px}.ui-input-spin-btn:hover{background:var(--ui-bg-hover);color:var(--text-primary)}.ui-input-spin-btn:active{background:var(--ui-bg-active)}.ui-input.is-scrubbing{border-color:var(--accent)}.ui-input.is-scrubbing input{color:var(--accent)}body.is-scrubbing,body.is-scrubbing *{cursor:ew-resize!important;-webkit-user-select:none;user-select:none}.ui-input.ui-input--sm{height:var(--ui-height-sm)}.ui-input.ui-input--flex{flex:1}.ui-input.ui-input--w60{width:60px}.ui-input.ui-input--w64{width:64px}.ui-input.ui-input--w80{width:80px}.ui-input.ui-input--w100{width:100px}.ui-input--textarea{height:auto;align-items:stretch}.ui-input--textarea textarea{flex:1;min-width:0;padding:var(--ui-padding-y) var(--ui-padding-x);background:transparent;border:none;outline:none;font:inherit;color:inherit;resize:none;min-height:calc(var(--ui-height) * 2);max-height:calc(var(--ui-height) * 5);overflow-y:auto;line-height:1.4}.ui-input--textarea textarea::placeholder{color:var(--ui-text-placeholder)}.ui-input--textarea textarea::-webkit-scrollbar{width:6px}.ui-input--textarea textarea::-webkit-scrollbar-track{background:transparent}.ui-input--textarea textarea::-webkit-scrollbar-thumb{background:var(--border-section);border-radius:3px}.ui-input--textarea textarea::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}}@layer components{select{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}select:hover{background:var(--border-default);border-color:var(--border-strong)}select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-primary-glow)}select option{background:var(--bg-elevated);color:var(--text-primary)}select optgroup{background:var(--bg-surface);color:var(--text-muted);font-style:normal;font-weight:600}.select-standard,select{font-size:var(--font-size-sm);padding:6px 10px}.select-compact{font-size:var(--font-size-xs);padding:4px 8px}.ui-select{position:relative;display:inline-flex;height:var(--ui-height)}.ui-select.ui-select--flex{flex:1}.ui-select-trigger{display:flex;align-items:center;width:100%;height:100%;padding:0 var(--ui-padding-x);background:var(--ui-bg);border:1px solid var(--ui-border);cursor:pointer;transition:border-color var(--ui-transition);gap:var(--ui-gap);font-family:inherit;font-size:inherit;color:inherit}.ui-select-trigger:hover{border-color:var(--ui-border-hover)}.ui-select.is-open .ui-select-trigger,.ui-select-trigger:focus{border-color:var(--ui-border-focus);outline:none}.ui-select-value{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-select-arrow{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--text-muted);transition:transform var(--ui-transition),border-color var(--ui-transition)}.ui-select:hover .ui-select-arrow{border-top-color:var(--text-secondary)}.ui-select.is-open .ui-select-arrow{transform:rotate(180deg);border-top-color:var(--accent)}.ui-select-dropdown{position:fixed;min-width:100%;max-height:200px;overflow-y:auto;background:var(--ui-bg-popup);border:1px solid var(--border-section);box-shadow:var(--shadow-md);z-index:var(--z-max);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--ui-transition),transform var(--ui-transition),visibility var(--ui-transition)}.ui-select.is-open .ui-select-dropdown,.ui-select-dropdown.is-open{opacity:1;visibility:visible;transform:translateY(0)}.ui-select-option{display:flex;align-items:center;padding:6px var(--ui-padding-x);cursor:pointer;transition:background var(--ui-transition)}.ui-select-option:hover{background:var(--ui-bg-hover)}.ui-select-option.is-selected{background:var(--accent-dim);color:var(--accent)}.ui-select-option.disabled{opacity:.4;cursor:not-allowed;pointer-events:none;color:var(--text-muted)}.ui-select-option.disabled:hover{background:transparent}.ui-select-group{padding:6px var(--ui-padding-x) 4px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;pointer-events:none}.ui-select-group:not(:first-child){margin-top:4px}.ui-select-divider{height:1px;background:var(--border-subtle);margin:4px 0}.ui-select-dropdown::-webkit-scrollbar{width:6px}.ui-select-dropdown::-webkit-scrollbar-track{background:transparent}.ui-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-section);border-radius:3px}.ui-dropdown{position:relative;display:inline-flex}.ui-dropdown-trigger{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-section);color:var(--text-secondary);cursor:pointer;transition:all var(--ui-transition)}.ui-dropdown-trigger:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ui-dropdown.is-open .ui-dropdown-trigger{border-color:var(--accent);color:var(--accent)}.ui-dropdown-menu{position:fixed;min-width:120px;padding:4px 0;background:var(--ui-bg-popup);border:1px solid var(--border-section);box-shadow:var(--shadow-md);z-index:var(--z-max);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--ui-transition),transform var(--ui-transition),visibility var(--ui-transition)}.ui-dropdown.is-open .ui-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.ui-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-primary);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--ui-transition)}.ui-dropdown-item:hover{background:var(--ui-bg-hover)}.ui-dropdown-item:disabled{opacity:.4;cursor:not-allowed}.ui-dropdown-item:disabled:hover{background:none}.ui-dropdown-shortcut{margin-left:auto;font-size:var(--font-size-xs);color:var(--text-tertiary);opacity:.7}.ui-dropdown-divider{height:1px;margin:4px 0;background:var(--border-subtle)}.ui-dropdown-item.has-submenu{position:relative}.ui-dropdown-item.has-submenu .submenu-arrow{margin-left:auto;font-size:10px;color:var(--text-muted)}.context-submenu{position:absolute;left:100%;top:0;min-width:160px;padding:4px 0;background:var(--ui-bg-popup);border:1px solid var(--border-section);box-shadow:var(--shadow-md);z-index:calc(var(--z-max) + 1);opacity:0;visibility:hidden;transform:translate(-8px);transition:opacity var(--ui-transition),transform var(--ui-transition),visibility var(--ui-transition);pointer-events:none}.ui-dropdown-item.has-submenu:hover>.context-submenu{opacity:1;visibility:visible;transform:translate(0);pointer-events:auto}.context-submenu .submenu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-primary);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--ui-transition)}.context-submenu .submenu-item:hover{background:var(--ui-bg-hover)}.context-submenu .submenu-group{padding:6px 10px 4px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;pointer-events:none}.context-submenu .submenu-group:not(:first-child){margin-top:4px;border-top:1px solid var(--border-subtle);padding-top:8px}.add-effect-select{position:relative;display:block;height:auto;margin:var(--spacing-sm) var(--spacing-sm) 0}.add-effect-select .add-effect-btn{width:100%;margin:0}.add-effect-select .ui-select-dropdown{position:absolute;bottom:100%;left:0;width:200%;margin-bottom:4px;max-height:200px;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border-section);box-shadow:0 -4px 12px #00000080;z-index:var(--z-max);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--ui-transition),transform var(--ui-transition),visibility var(--ui-transition)}.add-effect-select.is-open .ui-select-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.add-effect-select .ui-select-option{display:flex;align-items:center;padding:6px 10px;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);transition:background var(--ui-transition)}.add-effect-select .ui-select-option:hover{background:var(--bg-hover)}.add-effect-select .ui-select-option:active{background:var(--accent-dim)}}@layer components{.ui-slider{position:relative;display:flex;align-items:center;height:var(--slider-height);flex:1;cursor:ew-resize}.ui-slider-track{position:relative;width:100%;height:100%;background:var(--ui-bg);border:1px solid var(--border-subtle);overflow:hidden}.ui-slider-fill{position:absolute;left:0;top:0;height:100%;background:var(--accent);pointer-events:none}.ui-slider-thumb{position:absolute;top:0;width:3px;height:100%;background:var(--text-primary);transform:translate(-50%);transition:background var(--ui-transition);pointer-events:none}.ui-slider:hover .ui-slider-thumb,.ui-slider.is-active .ui-slider-thumb{background:var(--color-white)}.ui-slider-value{width:28px;text-align:right;font-size:var(--font-size-xs);color:var(--accent);margin-left:var(--ui-gap);flex-shrink:0}}@layer components{.checkbox-label{display:flex;align-items:center;gap:10px;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast)}.checkbox-label:hover{color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--brand-primary)}.ui-checkbox{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.ui-checkbox input[type=checkbox]{display:none}.ui-checkbox-box{width:var(--checkbox-size);height:var(--checkbox-size);background:var(--ui-bg);border:1px solid var(--border-section);display:flex;align-items:center;justify-content:center;transition:background var(--ui-transition),border-color var(--ui-transition)}.ui-checkbox:hover .ui-checkbox-box{border-color:var(--accent)}.ui-checkbox input:checked+.ui-checkbox-box{background:var(--accent);border-color:var(--accent)}.ui-checkbox input:checked+.ui-checkbox-box:after{content:"";width:10px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba(0,0,0,0.7)'%3E%3Cpath d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.ui-checkbox-label{font-size:var(--font-size-sm);color:var(--text-primary)}.msaa-label{cursor:pointer}.msaa-label:hover{color:var(--accent)}}@layer components{.ui-radio-group{display:inline-flex;height:var(--ui-height);border:1px solid var(--border-subtle);overflow:hidden}.ui-radio-group.ui-radio-group--flex{flex:1}.ui-radio-option{display:flex;align-items:center;justify-content:center;padding:0 8px;background:var(--ui-bg);border:none;border-right:1px solid var(--border-subtle);color:var(--text-secondary);font:inherit;font-size:var(--font-size-xs);cursor:pointer;transition:background var(--ui-transition),color var(--ui-transition);flex:1}.ui-radio-option:last-child{border-right:none}.ui-radio-option:hover{background:var(--ui-bg-hover);color:var(--text-primary)}.ui-radio-option.is-selected{background:var(--accent-dim);color:var(--accent)}}@layer components{.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-topbar);align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-default);min-width:400px;max-width:90vw;box-shadow:var(--shadow-lg)}.export-resolution{font-size:var(--font-size-sm);font-weight:500;color:var(--color-value);background:var(--bg-input);padding:4px 10px;border-radius:var(--radius-sm);margin-left:auto;font-variant-numeric:tabular-nums}.resolution-info{font-size:var(--font-size-sm);color:var(--text-muted);cursor:help;margin-left:0;margin-right:12px;opacity:.6;transition:opacity var(--transition-fast)}.resolution-info:hover{opacity:1;color:var(--brand-warning)}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.modal-row{display:flex;align-items:center;gap:10px;margin-bottom:15px}.modal-row>label:first-child{width:70px;font-size:var(--font-size-sm);color:var(--text-muted)}.modal-row span{font-size:var(--font-size-xs);color:var(--text-muted)}.modal-row select{padding:8px 12px;font-size:var(--font-size-sm)}.custom-size-inline{display:flex;align-items:center;gap:8px}.custom-size-inline .size-unit{color:var(--text-muted);font-size:var(--font-size-sm)}.alignment-warning{color:var(--warning, #e8a838);font-size:var(--font-size-xs)}.scene-backdrop-inline{display:flex;align-items:center;gap:12px;flex:1}.modal-row select optgroup{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.modal-row input[type=range]{flex:1;height:6px;background:var(--bg-input);border-radius:3px;outline:none;cursor:pointer;-webkit-appearance:none}.modal-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--brand-primary);border-radius:50%;cursor:pointer;box-shadow:0 0 8px var(--brand-primary-glow);transition:transform var(--transition-fast)}.modal-row input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.modal-row input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--brand-primary);border-radius:50%;cursor:pointer;border:none}#exportQualityValue{min-width:45px;text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums}.modal-progress{margin-top:15px;display:flex;flex-direction:column;align-items:stretch;gap:6px}.progress-bar{height:8px;background:var(--bg-input);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));width:0%;transition:width .15s ease-out}.progress-text{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal-lg{min-width:500px;max-width:600px}.export-dialog-header{display:flex;align-items:center;gap:8px}.export-resolution-warning{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-warning);background:var(--color-warning-bg);border-left:2px solid var(--color-warning);line-height:1.4}.export-file-size-estimate{padding:var(--spacing-xs) 0;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:right;font-variant-numeric:tabular-nums}.export-bitrate-display{font-size:var(--font-size-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.gradient-dialog{--width: 420px}.gradient-dialog .gradient-section-card:has(.gradient-type-row){min-height:155px}.audio-duration-modal{width:380px}.audio-duration-modal__message{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.ols-dialog{width:360px;max-width:90vw}.ols-dialog__message{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.ols-dialog__message+.ols-dialog__input{margin-top:12px}.ols-dialog__input{width:100%}.about-modal .ui-modal-body{text-align:center;padding:24px 32px 32px}.about-brand{margin-bottom:16px}.about-title{display:block;font-family:var(--font-brand);font-size:24px;font-weight:800;letter-spacing:2px;color:var(--text-primary);margin-bottom:4px}.about-version{display:inline-block;font-size:11px;font-weight:500;color:var(--accent);background:var(--accent-dim);padding:2px 8px;border-radius:10px}.about-updated{display:block;font-size:11px;color:var(--text-muted);margin-top:6px}.about-description{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:0 0 20px}.about-author{font-size:12px;color:var(--text-muted);margin-bottom:16px}.about-author strong{color:var(--text-primary)}.about-author a{color:var(--accent);text-decoration:none}.about-author a:hover{text-decoration:underline}.about-links{margin-bottom:20px}.about-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent);text-decoration:none;padding:6px 12px;border-radius:var(--radius-sm);transition:background .15s}.about-link:hover{background:var(--accent-dim)}.about-link ui-icon{font-size:14px}.about-copyright{font-size:10px;color:var(--text-muted);opacity:.6}.shortcuts-modal{width:620px}.shortcuts-modal .ui-modal-body{columns:2;column-gap:24px;padding:16px 20px}.shortcuts-category{break-inside:avoid;margin-bottom:16px}.shortcuts-category__title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-bottom:var(--spacing-xs);margin-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-subtle)}.shortcuts-row{display:flex;align-items:center;justify-content:space-between;padding:3px 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.shortcuts-row kbd{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1px 6px;min-width:20px;text-align:center;white-space:nowrap}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.ui-modal-overlay.is-open{opacity:1;visibility:visible}.ui-modal{background:var(--bg-panel);border:1px solid var(--border-section);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;transform:translateY(20px) scale(.95);transition:transform .2s}.ui-modal-overlay.is-open .ui-modal{transform:translateY(0) scale(1)}.ui-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.ui-modal-title{font-size:14px;font-weight:600;color:var(--text-primary)}.ui-modal-close{width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ui-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ui-modal-body{flex:1;overflow-y:auto;padding:20px}.ui-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-subtle);flex-shrink:0}.ui-modal-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;overflow-x:auto}.ui-modal-tab{padding:10px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ui-modal-tab:hover{color:var(--text-primary)}.ui-modal-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.ui-tab-content{display:none}.ui-tab-content.is-active{display:block}.cs-modal{width:730px;max-width:calc(100vw - 48px)}.cs-body{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md) 20px}.cs-picker{display:grid;grid-template-columns:180px 1fr;gap:var(--spacing-md);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.cs-families{display:flex;flex-direction:column;padding:var(--spacing-xs) 0;background:var(--bg-secondary, var(--bg-panel));border-right:1px solid var(--border-subtle)}.cs-family{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);height:var(--row-height);padding:0 var(--spacing-sm) 0 var(--spacing-md);background:none;border:none;border-left:2px solid transparent;color:var(--text-secondary);font-size:var(--font-size-sm);text-align:left;cursor:pointer}.cs-family:hover{background:var(--bg-hover);color:var(--text-primary)}.cs-family.is-active{background:var(--bg-selected);border-left-color:var(--color-accent);color:var(--text-primary)}.cs-family-count{color:var(--text-tertiary, var(--text-secondary));font-variant-numeric:tabular-nums;font-size:var(--font-size-xs)}.cs-detail{display:flex;flex-direction:column;min-width:0;height:330px;padding:var(--spacing-sm);gap:var(--spacing-sm)}.cs-search{height:var(--row-height);padding:0 var(--spacing-sm);background:var(--bg-input, var(--bg-secondary));border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit}.cs-search::placeholder{color:var(--text-tertiary, var(--text-secondary))}.cs-search:focus{outline:none;border-color:var(--color-accent)}.cs-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.cs-toolbar-label{color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.cs-toggles{display:flex;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.cs-toggle{padding:4px var(--spacing-sm);background:none;border:none;border-left:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--font-size-xs);font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer}.cs-toggle:first-child{border-left:none}.cs-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.cs-toggle.is-on{background:var(--color-accent);color:var(--text-on-accent, #fff)}.cs-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.cs-row{display:grid;grid-template-columns:1fr auto 16px;align-items:center;gap:var(--spacing-sm);height:var(--row-height);padding:0 var(--spacing-sm);background:none;border:none;border-left:2px solid transparent;color:var(--text-primary);font-size:var(--font-size-sm);text-align:left;cursor:pointer}.cs-row:hover{background:var(--bg-hover)}.cs-row.is-unavailable{color:var(--text-tertiary, var(--text-secondary));cursor:default;opacity:.55}.cs-row.is-unavailable:hover{background:none}.cs-row.is-selected{background:var(--bg-selected);border-left-color:var(--color-accent)}.cs-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-row-note{margin-left:var(--spacing-sm);color:var(--text-tertiary, var(--text-secondary));font-size:var(--font-size-xs)}.cs-row-meta{color:var(--text-tertiary, var(--text-secondary));font-variant-numeric:tabular-nums;font-size:var(--font-size-xs)}.cs-row-check{color:var(--color-accent);text-align:center}.cs-empty{padding:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm)}.cs-custom{display:none;padding:var(--spacing-sm) 0}.cs-custom .custom-size-inline{display:flex;align-items:center;gap:var(--spacing-sm)}.cs-summary{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.cs-summary-label{color:var(--text-secondary)}.cs-summary-value{color:var(--text-primary);font-weight:600}.cs-scene{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle)}.cs-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.cs-field>label{color:var(--text-secondary);font-size:var(--font-size-xs)}.cs-field .scene-duration{width:120px}.cs-field .scene-framerate{width:180px}}@layer components{[data-tooltip]{position:relative}[data-tooltip]:before,[data-tooltip]:after{position:absolute;z-index:var(--z-modal);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s}[data-tooltip]:after{content:attr(data-tooltip);bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 8px;background:var(--bg-overlay);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:400;white-space:nowrap;border:1px solid var(--border-default);border-radius:3px;box-shadow:0 2px 8px #0000004d}[data-tooltip]:before{content:"";bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--border-default)}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible;transition-delay:.4s}[data-tooltip].is-open:hover:before,[data-tooltip].is-open:hover:after,[data-tooltip].active:hover:before,[data-tooltip].active:hover:after,.is-open>[data-tooltip]:hover:before,.is-open>[data-tooltip]:hover:after{opacity:0;visibility:hidden;transition-delay:0s}[data-tooltip-pos=bottom]:after{bottom:auto;top:calc(100% + 6px)}[data-tooltip-pos=bottom]:before{bottom:auto;top:calc(100% + 2px);border-top-color:transparent;border-bottom-color:var(--border-default)}}@layer components{ols-color-body{display:block}.ui-color-body-top{display:contents}.ui-color-trigger{width:20px;height:20px;border:1px solid var(--border-section);cursor:pointer;flex-shrink:0;transition:border-color var(--ui-transition)}.ui-color-trigger:hover,.ui-color-trigger.is-open{border-color:var(--accent)}.ui-color-popup{position:fixed;width:261px;padding:var(--spacing-md);background:var(--bg-panel);border:1px solid var(--border-section);box-shadow:var(--shadow-popup);z-index:100000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-fast) ease,transform var(--transition-fast) ease,visibility var(--transition-fast)}.ui-color-popup.is-open{opacity:1;visibility:visible;transform:translateY(0)}.ui-color-gradient{position:relative;width:100%;height:140px;margin-bottom:var(--spacing-sm);cursor:crosshair;overflow:hidden;touch-action:none}.ui-color-gradient-hue{position:absolute;top:0;right:0;bottom:0;left:0;background:red}.ui-color-gradient-white{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#fff 0%,transparent 100%)}.ui-color-gradient-black{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,#000 100%)}.ui-color-gradient-cursor{position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0000004d,inset 0 0 0 1px #0000004d;transform:translate(-50%,-50%);pointer-events:none}.ui-color-slider{position:relative;width:100%;height:14px;margin-bottom:var(--spacing-sm);cursor:ew-resize;border:1px solid var(--border-subtle);touch-action:none}.ui-color-slider--hue{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.ui-color-slider--dynamic{position:relative}.ui-color-slider--dynamic-gradient{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.ui-color-slider--alpha-gradient{position:absolute;top:0;right:0;bottom:0;left:0}.ui-color-slider-thumb{position:absolute;top:-2px;width:3px;height:calc(100% + 4px);background:var(--color-white);border:1px solid rgba(0,0,0,.4);transform:translate(-50%);pointer-events:none}.ui-color-preview-bar{display:flex;height:var(--row-height);margin-bottom:var(--spacing-sm);border:1px solid var(--border-subtle);overflow:hidden}.ui-color-preview-new,.ui-color-preview-old{flex:1;position:relative}.ui-color-preview-new:after,.ui-color-preview-old:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--preview-color, #ff0000)}.ui-color-preview-old{cursor:pointer}.ui-color-save-recent{width:var(--row-height);flex-shrink:0;padding:0;background:var(--bg-input);border:none;border-left:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--font-size-base);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background var(--transition-fast)}.ui-color-save-recent:hover{color:var(--text-primary);background:var(--bg-hover)}.ui-color-input{flex:1;min-width:0;height:22px;padding:0 6px;background:var(--ui-bg);border:1px solid transparent;border-radius:var(--ui-radius);color:var(--text-primary);font-family:monospace;font-size:var(--font-size-sm);text-transform:uppercase;transition:border-color var(--ui-transition)}.ui-color-input:focus{outline:none;border-color:var(--accent)}.ui-color-eyedropper{width:28px;min-width:28px;height:22px;padding:0;background:var(--ui-bg);border:1px solid var(--border-subtle);border-radius:var(--ui-radius);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--ui-transition)}.ui-color-eyedropper:hover{border-color:var(--accent);color:var(--text-primary)}.ui-color-swatch{width:18px;height:18px;border:1px solid var(--border-subtle);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.ui-color-swatch:hover{transform:scale(1.15);border-color:var(--text-secondary)}.ui-color-mode-row{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.ui-color-mode-tabs{flex:1}.ui-color-copy{width:28px;min-width:28px;height:22px;padding:0;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.ui-color-copy:hover{border-color:var(--accent);color:var(--text-primary)}.ui-color-inputs-row{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.ui-color-input-group{display:flex;gap:var(--spacing-xs);flex:1;min-width:0}.ui-color-input-group ols-input{flex:1;min-width:0}.ui-color-palette-section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.ui-color-palette-tabs{display:flex;gap:2px;margin-bottom:var(--spacing-xs)}.ui-color-palette-tab{padding:2px 0;flex:1;background:none;border:none;border-bottom:1px solid transparent;color:var(--text-muted);font-size:var(--font-size-xs);font-family:monospace;font-weight:600;cursor:pointer;text-align:center;transition:color var(--transition-fast),border-color var(--transition-fast)}.ui-color-palette-tab:hover{color:var(--text-secondary)}.ui-color-palette-tab.is-active{color:var(--text-primary);border-bottom-color:var(--accent)}.ui-color-palette-grid{display:flex;gap:var(--spacing-xs)}.ui-color-recent-section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.ui-color-recent-label{font-size:var(--font-size-xs);font-family:monospace;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:var(--spacing-xs)}.ui-color-recent-grid{display:flex;flex-wrap:wrap;gap:3px}.ui-color-recent-swatch{width:14px;height:14px}}@layer components{.icon{width:14px;height:14px;vertical-align:middle;margin-right:5px;flex-shrink:0;opacity:.7}}@layer components{.scene-navigator{--nav-bg-opacity: .5;--nav-text-opacity: .8;position:fixed;top:var(--topbar-height);right:0;width:180px;max-height:calc(100vh - var(--topbar-height) - var(--zoom-bar-height));background:rgba(0,0,0,var(--nav-bg-opacity));font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);overflow-y:auto;z-index:var(--z-dropdown);opacity:0;pointer-events:none;transform:translate(10px);transition:opacity .15s ease,transform .15s ease}.scene-navigator.is-visible{opacity:1;pointer-events:auto;transform:translate(0)}.scene-navigator-content{padding:var(--spacing-xs);opacity:var(--nav-text-opacity)}.nav-header{display:flex;align-items:center;gap:4px;padding-bottom:var(--spacing-xs);margin-bottom:var(--spacing-xs);border-bottom:1px solid rgba(255,255,255,.08);font-size:9px;color:var(--text-muted)}.nav-label{opacity:.6}.nav-scrubber{color:var(--text-secondary);cursor:ew-resize;padding:0 2px;min-width:20px;text-align:center;transition:color .1s}.nav-scrubber:hover,.nav-scrubber.is-dragging{color:var(--accent)}.nav-empty{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--spacing-md)}.nav-node{margin-bottom:2px;--layer-color-faded: color-mix(in srgb, var(--layer-color, #888) 85%, transparent)}.nav-node.is-selected>.nav-layer{font-weight:600}.nav-layer{display:flex;align-items:center;gap:4px;padding:3px 4px;cursor:pointer;border-radius:2px;color:var(--layer-color, var(--text-secondary));transition:background .1s}.nav-layer:hover{background:#ffffff1a}.nav-color{width:3px;height:10px;background:var(--layer-color, var(--text-muted));border-radius:1px;flex-shrink:0}.nav-toggle{width:10px;text-align:center;font-size:8px;opacity:.6}.nav-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-children{margin-left:14px;border-left:1px solid var(--layer-color-faded);padding-left:8px}.nav-item{padding:2px 4px;cursor:pointer;border-radius:2px;color:var(--layer-color-faded);transition:background .1s}.nav-item:hover{background:#ffffff1a;color:var(--layer-color, var(--text-primary))}.nav-effect{padding-left:10px;font-size:10px}.nav-effect-pp{padding-left:20px;font-size:9px}.scene-navigator::-webkit-scrollbar{width:4px}.scene-navigator::-webkit-scrollbar-track{background:transparent}.scene-navigator::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.scene-navigator::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}}@layer components{ols-collapsible>.collapsible-body,ols-collapsible>.section-content{display:none}ols-collapsible.is-open>.collapsible-body,ols-collapsible.is-open>.section-content{display:block}ols-collapsible>.collapsible-header,ols-collapsible>.section-header{cursor:pointer}ols-collapsible>.collapsible-header:focus-visible,ols-collapsible>.section-header:focus-visible{outline:2px solid var(--ui-border-focus);outline-offset:-2px}}@layer components{ols-param-group{display:block;border-top:1px solid var(--border-subtle)}ols-param-group>ols-collapsible>.collapsible-header{display:flex;align-items:center;gap:var(--spacing-xs);height:24px;padding:0 var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}ols-param-group>ols-collapsible>.collapsible-header:hover{color:var(--text-primary);background:var(--bg-hover)}ols-param-group>ols-collapsible>.collapsible-header>.section-chevron{order:1;margin-left:auto}ols-param-group .is-group-disabled{opacity:.4;pointer-events:none}}@layer components{ols-gradient-bar{display:flex;flex-direction:column;gap:2px}.gb-header{display:flex;align-items:center;justify-content:space-between;height:var(--row-height);padding:0 var(--spacing-sm)}.gb-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.gb-actions{display:flex;gap:2px}.gb-bar-wrap{position:relative;height:24px;border-radius:0;overflow:hidden;border:1px solid var(--border-strong);margin:0 var(--spacing-sm)}.gb-bar{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:var(--bg-section)}.gb-stops{position:relative;height:16px;margin:0 var(--spacing-sm)}.gb-marker{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-white);cursor:grab;transform:translate(-50%);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast);top:2px}.gb-marker:hover{transform:translate(-50%) scale(1.2)}.gb-marker--selected{box-shadow:0 0 0 2px var(--brand-primary-glow),var(--shadow-sm)}.gb-marker--dragging{cursor:grabbing;transform:translate(-50%) scale(1.2);z-index:1}.gb-marker--deleting{opacity:.3;border-color:var(--color-error);transform:translate(-50%) scale(.8)}.gb-popup{position:fixed;width:261px;padding:var(--spacing-md);background:var(--bg-panel);border:1px solid var(--border-section);box-shadow:var(--shadow-popup);z-index:100000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-fast) ease,transform var(--transition-fast) ease,visibility var(--transition-fast)}.gb-popup.is-open{opacity:1;visibility:visible;transform:translateY(0)}}@layer features{.scene-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.scene-panel-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-disabled)}.scene-panel-actions{display:flex;gap:6px}.scene-tree{display:flex;flex-direction:column;gap:4px}.scene-element{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:visible}.scene-element.disabled{opacity:.5}.scene-element-header{display:flex;align-items:center;padding:8px 10px;gap:6px;cursor:pointer;transition:background .15s}.scene-element-header:hover{background:var(--border-subtle)}.scene-element-header.selected{background:#00aaff26;border-left:2px solid var(--brand-primary);padding-left:8px;position:relative}.collapse-icon{width:14px;font-size:.6rem;color:var(--text-muted);transition:transform .2s}.scene-element.collapsed .collapse-icon{transform:rotate(0)}.element-icon{font-size:.9rem}.element-name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-count{font-size:.65rem;color:var(--text-muted)}.element-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.scene-element-header:hover .element-actions{opacity:1}.action-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:3px;cursor:pointer;font-size:var(--font-size-xs);color:var(--text-muted);transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-input-hover);color:var(--text-primary)}.action-btn.delete-btn:hover{background:#ff646433;color:var(--color-error)}.scene-element-children{padding:4px 10px 8px;border-top:1px solid var(--border-subtle)}.scene-element.collapsed .scene-element-children{display:none}.scene-effect{display:flex;align-items:center;padding:6px 8px;gap:6px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;margin-bottom:2px}.scene-effect:hover{background:var(--border-subtle)}.scene-effect.selected{background:#00aaff1f;border-left:2px solid var(--brand-primary);padding-left:6px}.scene-effect.disabled{opacity:.5}.effect-icon{font-size:.85rem}.scene-effect .effect-name{flex:1;font-size:var(--font-size-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.scene-effect:hover .effect-actions{opacity:1}.scene-container-props{padding:8px 0}.scene-prop-row{margin-bottom:6px}.scene-prop-row label{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text-muted);margin-bottom:2px}.scene-prop-row .prop-value{color:var(--brand-primary)}.fill-gradient-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fill-gradient-controls .fill-gradient-type{margin-left:auto}.fill-angle-dial-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.fill-angle-label{font-size:9px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.fill-angle-dial-row{display:flex;align-items:center;gap:4px}.fill-angle-dial{width:28px;height:28px;border-radius:50%;background:#0000004d;border:1px solid var(--border-default);position:relative;cursor:pointer;flex-shrink:0}.fill-angle-dial:hover{border-color:var(--brand-primary)}.fill-angle-dial-marker{position:absolute;left:50%;top:50%;width:2px;height:10px;background:var(--brand-primary);border-radius:1px;transform-origin:bottom center;pointer-events:none}.fill-angle-value{font-size:10px;color:var(--brand-primary);min-width:28px}.scene-checkbox-row{margin-bottom:6px}.scene-dropdown{background:#00000040;border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:6px;overflow:hidden}.scene-dropdown-header{display:flex;align-items:center;padding:6px 8px;cursor:pointer;transition:background .15s}.scene-dropdown-header:hover{background:var(--border-subtle)}.scene-dropdown-icon{font-size:.55rem;color:var(--text-muted);margin-right:6px;transition:transform .2s;width:8px}.scene-dropdown-title{font-size:.65rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.scene-dropdown-body{padding:6px 8px 8px;border-top:1px solid var(--border-subtle)}.scene-dropdown.collapsed .scene-dropdown-body{display:none}.scene-source-toggle{display:flex;gap:0;margin-bottom:8px;background:#0003;border-radius:var(--radius-sm);padding:2px}.scene-btn-row{display:flex;gap:4px;margin-bottom:6px;align-items:center}.container-load-google-font{width:26px;padding:0}.container-load-font{width:78px}.container-svg-path{width:100%;padding:4px 6px;background:#0000004d;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.65rem;font-family:inherit;resize:vertical;margin-bottom:6px}.props-container-info{padding:20px 15px;text-align:center;color:var(--text-muted)}.props-container-info p{margin:0 0 8px;font-size:var(--font-size-sm)}.props-container-info p:last-child{margin-bottom:0;font-size:var(--font-size-xs);color:var(--text-disabled)}}@layer features{.props-panel-header{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle);margin-bottom:12px}.props-panel-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-disabled)}.props-empty{display:flex;align-items:center;justify-content:center;padding:30px 15px;color:var(--text-disabled);font-size:var(--font-size-sm);text-align:center}.props-content{padding:0}.props-action-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle)}.props-layer-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.props-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#00aaff14;border-bottom:1px solid var(--border-subtle);position:relative}.props-effect-header{padding:8px 12px;background:var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-bottom:8px}.props-effect-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.props-add-effect{width:100%}.fx-effects-list{padding:8px;display:flex;flex-direction:column;gap:6px}.props-empty-effects{padding:20px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.fx-box{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.fx-box-header{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;transition:background .15s}.fx-box-header:hover{background:var(--border-subtle)}.fx-box-collapse{font-size:.6rem;color:var(--text-muted);width:12px}.fx-box-icon{font-size:.9rem;color:var(--text-muted)}.fx-box-name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-box-actions{display:flex;gap:4px;opacity:.5;transition:opacity .15s}.fx-box-header:hover .fx-box-actions{opacity:1}.fx-action{font-size:var(--font-size-xs);cursor:pointer;padding:2px 4px;border-radius:3px;transition:background .15s}.fx-action:hover{background:var(--bg-input-hover)}.fx-action.disabled{opacity:.3;pointer-events:none}.fx-box-body{padding:10px 12px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.fx-box.collapsed .fx-box-body{display:none}.props-icon{font-size:14px;color:var(--text-secondary);width:16px}.props-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.props-breadcrumb{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.props-parent{color:var(--text-muted);font-weight:400}.props-separator{color:var(--text-disabled)}.props-current{color:var(--text-primary);font-weight:500}.props-section{padding:8px 12px;border-bottom:1px solid var(--border-subtle)}.props-section:last-child{border-bottom:none}.props-section-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.props-row{margin-bottom:8px}.props-row:last-child{margin-bottom:0}.props-row label{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:4px}.props-value{color:var(--brand-primary)}.props-checkbox-row{margin-bottom:6px}.props-info{font-size:var(--font-size-xs);color:var(--text-muted);padding:6px 8px;background:var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:8px}.props-btn-row{display:flex;gap:6px;margin-bottom:8px}.props-google-fonts-row{display:flex;gap:6px;align-items:center}.props-google-fonts-row input[type=text]{flex:1;margin-bottom:0}.props-google-fonts-row .props-btn{flex:none;width:32px;padding:6px;font-size:1rem}.props-btn{flex:1;padding:6px 10px;background:linear-gradient(135deg,#00aaff26,#0064c81a);border:1px solid rgba(0,170,255,.3);border-radius:var(--radius-sm);color:var(--brand-primary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.props-btn:hover{background:linear-gradient(135deg,#00aaff40,#0064c833);border-color:#00aaff80}.props-btn:disabled{opacity:.4;cursor:not-allowed}.props-btn:disabled:hover{background:linear-gradient(135deg,#00aaff26,#0064c81a);border-color:#00aaff4d}.props-text,.props-svg-path{width:100%;padding:6px 8px;background:#0000004d;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit}.props-text:focus,.props-svg-path:focus{outline:none;border-color:#00aaff80}.props-svg-path{resize:vertical;min-height:50px}.props-params{max-height:400px;overflow-y:auto}.props-params::-webkit-scrollbar{width:3px}.props-params::-webkit-scrollbar-track{background:var(--border-subtle)}.props-params::-webkit-scrollbar-thumb{background:var(--bg-input-hover);border-radius:2px}.props-source-toggle{display:flex;gap:0;margin-bottom:10px;background:#0003;border-radius:var(--radius-md);padding:3px}.props-source-btn{flex:1;padding:6px 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.props-source-btn:hover{color:var(--text-secondary)}.props-source-btn.active{background:#0af3;color:var(--brand-primary);box-shadow:0 1px 3px #0003}.layer-color-indicator{width:10px;height:10px;border-radius:2px;flex-shrink:0}.props-color-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;margin-left:auto}.props-dropdown{background:#0003;border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:8px;overflow:hidden}.props-dropdown-header{display:flex;align-items:center;padding:8px 10px;cursor:pointer;transition:background .15s}.props-dropdown-header:hover{background:var(--border-subtle)}.props-dropdown-icon{font-size:.6rem;color:var(--text-muted);margin-right:8px;transition:transform .2s;width:10px}.props-dropdown-title{font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.props-dropdown-body{padding:8px 10px;border-top:1px solid var(--border-subtle)}.props-dropdown.collapsed .props-dropdown-body{display:none}.blending-section{border-bottom:1px solid var(--border-subtle)}.properties-section ols-collapsible{border-bottom:1px solid var(--border-subtle)}.section-header{height:var(--section-header-height);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);cursor:pointer;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-section) 100%,white 4%),var(--bg-section))}.section-header:hover{background:var(--bg-hover)}.section-icon{font-size:12px;color:var(--text-secondary);width:16px}.section-title{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.section-badge{font-size:var(--font-size-xs);color:var(--accent);background:var(--accent-dim);padding:1px 5px;border-radius:3px}.section-chevron{font-size:12px;color:var(--text-muted);transition:transform .15s}.section-content{padding:2px 0 var(--spacing-xs) 0}.properties-section .prop-row{display:grid;grid-template-columns:var(--param-label-width) var(--param-kf-width) var(--param-reset-width) 1fr;align-items:center;height:var(--row-height);padding:0 var(--spacing-sm);gap:var(--spacing-xs)}.properties-section .prop-row>label,.properties-section .prop-row>.prop-label{grid-column:1}.properties-section .prop-row>.kf-toggle,.properties-section .prop-row>.kf-toggle-placeholder,.properties-section .prop-row>.kf-nav-group{grid-column:2}.properties-section .prop-row>.reset-btn{grid-column:3}.properties-section .prop-row>ols-input{grid-column:4;margin-left:var(--param-control-offset);min-width:0}.properties-section .prop-row>ols-color{grid-column:4;margin-left:var(--param-control-offset);min-width:0}.properties-section .prop-row>ols-select{grid-column:2 / -1;min-width:0;width:100%}.properties-section .prop-row>.grid-wide{grid-column:2 / -1;min-width:0}.properties-section .prop-row.prop-row--textarea{height:auto;align-items:flex-start;padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.properties-section .prop-row.prop-row--textarea label{padding-top:6px}.prop-row:hover{background:var(--bg-hover)}.prop-row>label,.prop-row>.prop-label{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scale-linked-group{position:relative}.scale-link-btn{position:absolute;left:50%;margin-left:calc(var(--param-label-width) / 2 - 2px);top:var(--row-height);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;cursor:pointer;color:var(--text-disabled);z-index:var(--z-base);transition:color .15s,background .15s}.scale-link-btn:hover{color:var(--text-secondary)}.scale-link-btn.is-linked{color:var(--accent)}.scale-link-btn.is-linked:hover{color:var(--accent-hover)}.scale-link-btn ui-icon{width:10px;height:10px}.flip-buttons{grid-column:4;display:flex;align-items:center;gap:var(--spacing-xs);margin-left:30px}.flip-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:color .15s,background .15s}.flip-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.flip-btn.is-active{color:var(--accent)}.flip-btn.is-active:hover{color:var(--accent-hover)}.flip-btn ui-icon{width:14px;height:14px}.prop-row-controls{display:flex;align-items:center;gap:var(--spacing-xs);flex:1}.prop-row-controls .ui-input{flex:1;min-width:0}.prop-row-controls .ui-btn{flex-shrink:0}.value-display{width:28px;text-align:right;font-size:var(--font-size-xs);color:var(--accent)}.gradient-preview-mini,.stroke-gradient-preview-mini{width:20px;height:20px;border-radius:0;background:linear-gradient(180deg,var(--text-disabled) 0%,var(--text-muted) 100%);border:1px solid var(--border-section);cursor:pointer;flex-shrink:0}.gradient-preview-mini:hover,.stroke-gradient-preview-mini:hover{border-color:var(--accent)}.effect-pp-section{margin-top:12px;padding-top:8px;border-top:1px solid var(--border-color)}.pp-subsection-header{display:flex;align-items:center;gap:6px;padding:0 var(--spacing-sm);margin-bottom:8px;font-size:var(--font-size-sm);color:var(--text-muted)}.pp-subsection-title{font-weight:500}.pp-count{background:var(--accent-dim);color:var(--accent);padding:1px 6px;border-radius:10px;font-size:10px}.list-item{border-bottom:1px solid var(--border-subtle)}.list-item.is-selected{background:var(--accent-dim)}.list-item.is-disabled{opacity:.5}.list-item.is-dragging{opacity:.4}.list-item.drag-over-top{box-shadow:inset 0 2px 0 var(--accent)}.list-item.drag-over-bottom{box-shadow:inset 0 -2px 0 var(--accent)}.list-item-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer}.list-item-name{flex:1;font-size:var(--font-size-sm);font-weight:500}.list-item-remove{background:none;border:none;color:var(--text-muted);padding:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);opacity:0;transition:opacity .15s}.list-item-header:hover .list-item-remove{opacity:1}.list-item-remove:hover{color:var(--error);background:var(--bg-hover)}.list-item-params{padding:0 var(--spacing-sm) var(--spacing-sm)}.list-item-params .prop-row:last-child{margin-bottom:0}.pp-icon{font-size:14px;color:var(--accent)}.add-pp-dropdown{display:block;margin:var(--spacing-sm) var(--spacing-sm) 0;padding-bottom:var(--spacing-sm)}ols-collapsible:has(.add-pp-dropdown){border-bottom:none}.add-pp-dropdown .ui-dropdown-trigger{display:block;border:none;background:none}.add-pp-select{position:relative;margin:var(--spacing-sm) var(--spacing-sm) 0}.add-pp-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:22px;padding:0 var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:0;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.add-pp-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.add-pp-select .ui-select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-top:4px;max-height:200px;overflow-y:auto;z-index:var(--z-dropdown);display:none;box-shadow:var(--shadow-lg)}.add-pp-select.is-open .ui-select-dropdown{display:block}.add-pp-select .ui-select-option{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;font-size:var(--font-size-sm)}.add-pp-select .ui-select-option:hover{background:var(--bg-hover)}.add-pp-select .ui-select-option:active{background:var(--accent-dim)}.pp-select,.pp-layer-select{flex:1}.reset-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin-left:4px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-disabled);vertical-align:middle;transition:color .15s,background .15s}.reset-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.reset-btn:active{color:var(--accent)}.reset-btn ui-icon{width:12px;height:12px}.section-header .reset-btn{margin-left:auto;margin-right:4px}.prop-row-inline{display:flex;align-items:center;gap:var(--spacing-xs);flex:1}.prop-row-inline .ui-input{min-width:0}.prop-row-inline .ui-input.ui-input--flex{flex:1}.kf-nav-group{display:inline-flex;align-items:center;gap:0;flex-shrink:0}.kf-nav{display:inline-flex;align-items:center;justify-content:center;width:10px;height:16px;padding:0;border:none;background:none;color:var(--text-muted);cursor:default;opacity:.4;pointer-events:none;transition:color var(--transition-fast),opacity var(--transition-fast)}.kf-nav ui-icon{font-size:8px;width:8px;height:8px}.kf-nav-group:has(.has-keyframe) .kf-nav{opacity:.4;cursor:pointer;pointer-events:auto}.kf-nav-group:has(.has-keyframe) .kf-nav:hover{color:var(--text-secondary);opacity:.9}.kf-toggle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:none;color:var(--text-muted);font-size:10px;line-height:1;cursor:pointer;opacity:.5;flex-shrink:0;transition:color var(--transition-fast),opacity var(--transition-fast)}.kf-toggle:hover{color:var(--text-secondary);opacity:.8}.kf-toggle.has-keyframe{color:var(--color-accent);opacity:1}}@layer features{.gradient-dialog{width:440px}.ge-ramp-mode .ge-type-group,.ge-ramp-mode .ge-center-crosshair{display:none}.ge-ramp-mode .gradient-preview-wrapper{aspect-ratio:auto;height:48px}.gradient-editor-bar{position:relative;margin-bottom:0}.gradient-preview-wrapper{position:relative;aspect-ratio:1 / 1;border-radius:0;overflow:hidden;border:1px solid var(--text-muted)}.gradient-preview-wrapper.u-checkerboard{background-color:var(--text-muted)}.gradient-preview{position:absolute;top:0;right:0;bottom:0;left:0;cursor:default;box-shadow:inset 0 0 0 1px #ffffff1a,var(--shadow-md)}.ge-center-crosshair{position:absolute;left:50%;top:50%;width:0;height:0;z-index:var(--z-base);cursor:move}.ge-crosshair-h,.ge-crosshair-v{position:absolute;background:#ffffff80;pointer-events:none}.ge-crosshair-h{width:20px;height:1px;left:-10px;top:0}.ge-crosshair-v{width:1px;height:20px;left:0;top:-10px}.ge-crosshair-dot{position:absolute;width:7px;height:7px;border-radius:50%;border:1.5px solid var(--color-white);box-shadow:0 0 3px #0009;transform:translate(-50%,-50%);pointer-events:none}.ge-center-crosshair:before{content:"";position:absolute;width:24px;height:24px;transform:translate(-50%,-50%)}.ge-angle-ring{position:absolute;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;transform-origin:center center;left:-18px;top:-18px;pointer-events:none}.ge-angle-handle{position:absolute;width:8px;height:8px;background:var(--color-white);border:1.5px solid var(--brand-primary);border-radius:50%;box-shadow:var(--shadow-sm);top:-4px;left:50%;transform:translate(-50%);cursor:grab;pointer-events:auto}.ge-angle-handle:hover{background:var(--brand-primary);transform:translate(-50%) scale(1.3)}.ge-angle-handle:active{cursor:grabbing}.ge-angle-label{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;color:var(--color-white);pointer-events:none;white-space:nowrap}.gradient-stops{position:relative;height:20px;margin-top:var(--spacing-xs)}.gradient-stop{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid var(--color-white);cursor:grab;transform:translate(-50%);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}.gradient-stop:hover{transform:translate(-50%) scale(1.15)}.gradient-stop.selected{box-shadow:0 0 0 3px var(--brand-primary-glow),var(--shadow-sm)}.gradient-stop-label{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;color:var(--color-white);pointer-events:none;opacity:0;transition:opacity var(--transition-fast);white-space:nowrap}.gradient-stop:hover .gradient-stop-label,.gradient-stop.is-dragging .gradient-stop-label{opacity:1}.gradient-stop.is-deleting{opacity:.3;border-color:var(--color-error);transform:translate(-50%) scale(.8)}.ge-sliders-row{display:grid;grid-template-columns:28px 1fr;gap:var(--spacing-sm)}.ge-color-preview-strip{display:flex;flex-direction:column;border:1px solid var(--border-subtle);overflow:hidden;align-self:start;height:calc(4 * (14px + var(--spacing-sm)) - var(--spacing-sm))}.ge-eyedropper{width:100%;height:28px;flex-shrink:0;padding:3px 0 0;background:var(--ui-bg);border:none;border-top:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.ge-eyedropper:hover{color:var(--text-primary)}.ge-preview-new,.ge-preview-old{flex:1;position:relative}.ge-preview-new:after,.ge-preview-old:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--preview-color, #ff0000)}.ge-preview-old{border-top:1px solid var(--border-subtle)}.ge-inline-sliders .ui-color-body-top,.ge-inline-sliders .ui-color-mode-row,.ge-inline-sliders .ui-color-inputs-row,.ge-inline-sliders .ui-color-palette-section,.ge-inline-sliders .ui-color-recent-section,.ge-inline-inputs .ui-color-body-top,.ge-inline-inputs .ui-color-slider,.ge-inline-inputs .ui-color-palette-section,.ge-inline-inputs .ui-color-recent-section,.ge-inline-inputs .ui-color-copy,.ge-inline-inputs .ui-color-eyedropper{display:none}.ge-inline-inputs{display:flex;flex-wrap:wrap;align-items:center}.ge-inline-inputs .ui-color-mode-row{flex:0 0 auto;margin:0}.ge-inline-inputs .ui-color-inputs-row{flex:1;min-width:0;margin:0}.ge-inline-inputs .ui-color-mode-tabs{flex:0 0 auto}.gradient-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.gradient-toolbar .gradient-type-buttons{flex:0 0 auto}.gradient-type-buttons .ui-radio-option{width:60px}.ge-modulation{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) 0;border-top:1px solid var(--border-section);margin-top:var(--spacing-sm)}.ge-modulation-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2xs)}.ge-modulation-title{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.ge-mod-row{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:var(--spacing-sm)}.ge-mod-label{font-size:var(--font-size-sm);color:var(--text-secondary)}}@layer features{.effects-tabs{display:flex;gap:4px;margin-bottom:var(--spacing-sm);padding:0 var(--spacing-sm)}.effects-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.effects-tab:hover:not(.disabled){background:var(--bg-hover);border-color:var(--border-color)}.effects-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.effects-tab.disabled{opacity:.4;cursor:not-allowed}.effects-tab .tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#fff3;font-size:10px;font-weight:600}.effects-tab.active .tab-badge{background:#ffffff4d}.effect-item{border-bottom:1px solid var(--border-subtle)}.effect-header{height:var(--row-height);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);cursor:pointer}.effect-header:hover{background:var(--bg-hover)}.effect-name{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.effect-chevron{margin-left:auto;font-size:10px;color:var(--text-muted)}.effect-content{display:none;background:#00000026}.effect-item.is-open .effect-content{display:block}.effect-content .prop-row,.list-item-params .prop-row{grid-template-columns:var(--param-label-width) var(--param-kf-width) var(--param-reset-width) 1fr}.effect-content .prop-row>ols-input,.list-item-params .prop-row>ols-input{margin-left:var(--param-control-offset)}.effect-content .prop-row>ols-checkbox,.list-item-params .prop-row>ols-checkbox{grid-column:4;margin-left:var(--param-control-offset)}.effect-item.is-hidden{opacity:.5}.add-effect-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:22px;padding:0 var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:0;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer}.add-effect-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.effect-item.is-dragging{opacity:.4}.effect-item.drag-over-top{box-shadow:inset 0 2px 0 var(--accent)}.effect-item.drag-over-bottom{box-shadow:inset 0 -2px 0 var(--accent)}.effect-context-menu{position:fixed;min-width:140px;padding:4px 0;background:var(--ui-bg-popup);border:1px solid var(--border-section);box-shadow:var(--shadow-md);z-index:var(--z-max);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--ui-transition),transform var(--ui-transition),visibility var(--ui-transition)}.effect-context-menu.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.effect-context-menu .ui-dropdown-item.danger{color:var(--danger)}.effect-context-menu .ui-dropdown-item.danger:hover{background:#ff446626}.effect-rename-input{background:var(--bg-input);border:1px solid var(--brand-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);padding:2px 6px;flex:1;min-width:0;outline:none}.effect-rename-input:focus{box-shadow:0 0 0 2px var(--brand-primary-glow)}.effects-subsection{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle)}.effects-subsection-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);padding:0 var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.effects-subsection-header ui-icon{color:var(--text-muted)}.effects-subsection-header .section-badge{margin-left:auto}.effects-subsection .effect-item:last-of-type{border-bottom:none}.effects-subsection .add-effect-select{margin:var(--spacing-sm) var(--spacing-sm) 0}.blur-points-section{border-top:1px solid var(--border-subtle);padding-top:var(--spacing-xs)}.blur-points-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.blur-points-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--bg-secondary);font-size:10px;font-weight:600;color:var(--text-muted)}.blur-point-list{display:flex;flex-direction:column;gap:1px;padding:2px 0}.blur-point-item{display:flex;align-items:center;gap:var(--spacing-xs);height:26px;padding:0 var(--spacing-sm);cursor:pointer;border-radius:var(--radius-sm);margin:0 4px;transition:background .1s}.blur-point-item:hover{background:var(--bg-hover)}.blur-point-item.is-selected{background:var(--accent-dim);border-left:2px solid var(--accent)}.blur-point-item.is-disabled{opacity:.45}.blur-point-name{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.blur-point-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);font-size:12px}.blur-point-delete:hover{color:var(--text-primary);background:var(--bg-hover)}.blur-point-delete:hover{color:var(--danger)}.blur-point-add-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:calc(100% - 8px);height:22px;margin:2px 4px;padding:0 var(--spacing-sm);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer}.blur-point-add-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.blur-point-add-btn:disabled{opacity:.3;cursor:not-allowed}.blur-point-selected-label{text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--spacing-xs) 0 2px;letter-spacing:1px}.blur-point-params .prop-row{grid-template-columns:var(--param-label-width) var(--param-kf-width) var(--param-reset-width) 1fr}.blur-point-params .prop-row>ols-input{margin-left:var(--param-control-offset)}.blur-point-params .prop-row>ols-checkbox{grid-column:4;margin-left:var(--param-control-offset)}.effect-content .param-list,.effect-content ols-gradient-bar{grid-column:1 / -1}.param-list{display:flex;flex-direction:column;gap:2px}.param-list-header{display:grid;grid-template-columns:var(--param-label-width) var(--param-kf-width) var(--param-reset-width) 1fr auto;align-items:center;height:var(--row-height);padding:0 var(--spacing-sm);gap:var(--spacing-xs)}.param-list-header label{font-size:var(--font-size-sm);color:var(--text-secondary)}.param-list-items{display:flex;flex-direction:column;gap:2px}.param-list-item{display:grid;grid-template-columns:var(--param-label-width) var(--param-kf-width) var(--param-reset-width) 1fr auto;align-items:center;height:var(--row-height);padding:0 var(--spacing-sm);gap:var(--spacing-xs)}.param-list-item .prop-row{display:contents}.param-list-item .prop-row>label{grid-column:1;font-size:var(--font-size-sm);color:var(--text-muted)}.param-list-item .prop-row>span:empty{grid-column:2}.param-list-item .prop-row>.reset-btn{grid-column:3}.param-list-item .prop-row>ols-color,.param-list-item .prop-row>ols-input,.param-list-item .prop-row>ols-select{grid-column:4;margin-left:var(--param-control-offset);min-width:0}.param-list-remove{grid-column:5;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);font-size:12px;flex-shrink:0}.param-list-remove:hover{color:var(--danger);background:var(--bg-hover)}.param-list-add{grid-column:4;margin-left:var(--param-control-offset);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:none;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;cursor:pointer;flex-shrink:0}.param-list-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}}@layer features{.layer-item{height:var(--row-height-sm);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);padding-left:0;cursor:pointer;border-bottom:1px solid var(--border-subtle)}.layer-item:hover{background:var(--bg-hover)}.layer-item.is-selected{background:var(--bg-selected)}.layer-item.is-hidden{opacity:.5}.layer-item.is-hidden .layer-color{opacity:.4}.drag-handle{display:flex;align-items:center;justify-content:center;width:12px;color:var(--text-muted);cursor:grab;opacity:.5;transition:opacity .15s}.layer-item:hover .drag-handle,.effect-header:hover .drag-handle,.list-item-header:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing}.drag-handle.is-inert{cursor:default;opacity:0;pointer-events:none}.list-item-header:hover .drag-handle.is-inert{opacity:0}.drag-handle ui-icon{font-size:12px}.layer-item.is-dragging{opacity:.4}.layer-item.drag-over-top{box-shadow:inset 0 2px 0 var(--accent)}.layer-item.drag-over-bottom{box-shadow:inset 0 -2px 0 var(--accent)}.layer-context-menu{position:fixed;min-width:140px;padding:4px 0;background:var(--ui-bg-popup);border:1px solid var(--border-section);box-shadow:var(--shadow-md);z-index:var(--z-max);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--ui-transition),transform var(--ui-transition),visibility var(--ui-transition)}.layer-context-menu.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.layer-context-menu .ui-dropdown-item.danger{color:var(--danger)}.layer-context-menu .ui-dropdown-item.danger:hover{background:#ff446626}.layer-context-menu .context-submenu{min-width:180px;max-height:300px;overflow-y:auto}.layer-context-menu .context-submenu::-webkit-scrollbar{width:6px}.layer-context-menu .context-submenu::-webkit-scrollbar-track{background:transparent}.layer-context-menu .context-submenu::-webkit-scrollbar-thumb{background:var(--border-section);border-radius:3px}.layer-name-input{background:var(--bg-input);border:1px solid var(--brand-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);padding:2px 6px;flex:1;min-width:0;outline:none}.layer-name-input:focus{box-shadow:0 0 0 2px var(--brand-primary-glow)}.layer-color{width:3px;height:100%;flex-shrink:0;background:var(--layer-color)}.visibility-toggle{width:12px;height:12px;border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:flex-start}.visibility-dot{width:6px;height:6px;border-radius:50%;border:1.5px solid var(--text-muted);background:transparent;transition:all var(--transition-fast);flex-shrink:0}.visibility-toggle:hover .visibility-dot{border-color:var(--text-primary)}.visibility-toggle.is-visible .visibility-dot{background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--layer-color) 100%,white 40%),var(--layer-color) 60%,color-mix(in srgb,var(--layer-color) 100%,black 30%));border-color:var(--layer-color);box-shadow:inset 0 -1px 2px #0000004d}.visibility-toggle.is-visible:hover .visibility-dot{background:radial-gradient(circle at 30% 30%,var(--color-white),var(--layer-color) 50%,color-mix(in srgb,var(--layer-color) 100%,black 20%));border-color:var(--layer-color);filter:brightness(1.2)}.layer-icon{font-size:14px;width:16px;color:var(--text-secondary)}.layer-name{flex:1;font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-badges{display:flex;gap:2px}.badge{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-section);padding:1px 4px;border-radius:2px}.badge.instance-badge{color:var(--accent);background:rgba(var(--accent-rgb),.15);font-weight:500}.layer-item.is-instance .layer-icon{color:var(--accent)}.solo-btn{width:18px;height:18px;border:none;background:transparent;color:var(--text-muted);font-size:9px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0;transition:all var(--transition-fast);padding:0;font-family:inherit}.solo-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.solo-btn.is-active{background:var(--accent);color:var(--bg-app)}.empty-state{padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}}@layer features{:root{--gen-editor-list-width: 200px;--gen-editor-props-width: 200px;--gen-editor-label-width: 110px;--gen-editor-control-width: 50px;--gen-editor-suffix-width: 20px}.gen-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-app);z-index:calc(var(--z-max) + 100);display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.gen-editor-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.gen-editor-header{display:flex;align-items:center;gap:var(--spacing-lg);height:var(--topbar-height);padding:0 var(--spacing-xl);background:var(--bg-panel);border-bottom:1px solid var(--border-section);flex-shrink:0}.gen-editor-back{gap:var(--spacing-xs);padding-left:5px}.gen-editor-back ui-icon{font-size:14px}.gen-editor-title{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:normal;text-transform:uppercase}.gen-editor-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.gen-editor-actions button{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.gen-editor-actions button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.gen-editor-content{display:flex;flex:1;overflow:hidden}.gen-editor-list-panel{width:var(--gen-editor-list-width);background:var(--bg-panel);border-right:1px solid var(--border-section);display:flex;flex-direction:column;order:0;flex-shrink:0;position:relative}.gen-editor-list-header{height:var(--panel-header-height);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-section) 100%,white 4%),var(--bg-section));border-bottom:1px solid var(--border-section);flex-shrink:0}.gen-editor-list-icon{font-size:12px;color:var(--text-secondary);width:16px}.gen-editor-list-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.gen-editor-list-count{font-size:var(--font-size-xs);color:var(--text-muted);flex:1}.gen-editor-add-btn{width:22px;height:22px;border-radius:0}.gen-editor-add-btn ui-icon{font-size:12px}.gen-editor-add-menu{display:none;position:absolute;top:calc(var(--row-height) + 4px);right:var(--spacing-sm);min-width:160px;padding:4px 0;background:var(--ui-bg-popup);border:1px solid var(--border-section);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:10}.gen-editor-add-menu.is-open{display:block}.gen-editor-list{flex:1;overflow-y:auto}.gen-editor-list .layer-item{--layer-color: var(--accent)}.gen-editor-canvas-area{flex:1;display:flex;align-items:center;justify-content:center;background-color:var(--checker-viewport-transparent-a);--_c: var(--checker-viewport-transparent-b);--_s: var(--checker-viewport-size);position:relative;overflow:hidden;order:2}.gen-editor-canvas-container{position:relative;background:#00000080;box-shadow:var(--shadow-xl)}.gen-editor-canvas{display:block}.gen-editor--flare .gen-editor-canvas{cursor:crosshair}.gen-editor-props{width:var(--gen-editor-props-width);background:var(--bg-panel);border-right:1px solid var(--border-section);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;order:1}.gen-editor-props-content{flex:1;overflow-y:auto;overflow-x:hidden}.gen-editor-props-content::-webkit-scrollbar{width:var(--spacing-xs)}.gen-editor-props-content::-webkit-scrollbar-track{background:transparent}.gen-editor-props-content::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--spacing-2xs)}.gen-editor-props-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.gen-editor-props-header{height:var(--panel-header-height);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-section) 100%,white 4%),var(--bg-section));border-bottom:1px solid var(--border-section);flex-shrink:0}.gen-editor-props-header .layer-icon,.gen-editor-props-header .component-icon{font-size:14px;width:16px;color:var(--text-secondary)}.gen-editor-props-title{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gen-editor-props-empty{color:var(--text-muted)}.gen-editor--hud .gen-editor-props-empty{font-size:var(--font-size-base);font-style:italic}.gen-editor--flare .gen-editor-props-empty{padding:var(--spacing-lg);font-size:var(--font-size-xs);text-align:center}.gen-editor-props-content .collapsible-section{border-bottom:1px solid var(--border-subtle)}.gen-editor-props-content .section-header{height:var(--section-header-height);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);cursor:pointer;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-section) 100%,white 4%),var(--bg-section))}.gen-editor-props-content .section-header:hover{background:var(--bg-hover)}.gen-editor-props-content .section-icon{font-size:12px;color:var(--text-muted)}.gen-editor-props-content .section-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);flex:1}.gen-editor-props-content .section-chevron{font-size:10px;color:var(--text-muted);transition:transform var(--transition-fast)}.gen-editor-props-content .section-content{display:none;padding:2px 0 var(--spacing-xs) 0}.gen-editor-props-content .collapsible-section.is-open .section-content{display:block}.gen-editor-props .prop-row{height:var(--row-height);display:grid;grid-template-columns:var(--gen-editor-label-width) var(--gen-editor-control-width) var( --gen-editor-suffix-width );align-items:center;padding:0 var(--spacing-sm);gap:5px}.gen-editor-props .prop-row:hover{background:var(--bg-hover)}.gen-editor-props .prop-row>label{width:100%;font-size:var(--font-size-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-editor-props .prop-row .ui-input{width:100%}.gen-editor-props .prop-row .ui-checkbox,.gen-editor-props .prop-row .ui-select,.gen-editor-props .prop-row .ui-color-picker{grid-column:2 / 4}.gen-editor-props .prop-suffix{font-size:var(--font-size-xs);color:var(--text-muted);text-align:left}.gen-editor-context-menu{position:fixed;min-width:160px;padding:4px 0;background:var(--ui-bg-popup);border:1px solid var(--border-section);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:calc(var(--z-max) + 200);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--ui-transition),transform var(--ui-transition),visibility var(--ui-transition)}.gen-editor-context-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.gen-editor-context-menu .ui-dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.gen-editor-context-menu .ui-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.gen-editor-context-menu .ui-dropdown-item.danger{color:var(--danger)}.gen-editor-context-menu .ui-dropdown-item.danger:hover{background:#ff446626}.gen-editor-context-menu .ui-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.gen-editor-context-menu .ui-dropdown-item:disabled:hover{background:transparent;color:var(--text-secondary)}@media (max-width: 1200px){.gen-editor-list-panel{width:180px}}}@layer features{:root{--hud-label-width: 110px;--hud-control-width: 50px}.hud-props-grid{display:flex;flex-direction:column}.gen-editor-props .prop-row--seed{grid-template-columns:1fr var(--hud-control-width) auto}.gen-editor-props .prop-row--seed .ui-btn--icon{width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.gen-editor-props .prop-row--seed .ui-btn--icon:hover{background:var(--bg-hover);border-color:var(--border-focus);color:var(--text-primary)}.hud-prop-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.hud-prop-label{width:var(--hud-label-width);font-size:var(--font-size-sm);color:var(--text-muted);flex-shrink:0}.hud-prop-value{flex:1;display:flex;align-items:center;gap:var(--spacing-sm)}.hud-prop-value input[type=number]{width:var(--label-width);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.hud-prop-value input[type=number]:focus{outline:none;border-color:var(--accent)}.hud-prop-value input[type=checkbox]{width:var(--checkbox-size);height:var(--checkbox-size);accent-color:var(--accent)}.hud-prop-color{display:flex;align-items:center;gap:var(--spacing-sm)}.hud-prop-color-swatch{width:var(--spacing-xl);height:var(--spacing-xl);border:1px solid var(--border-section);border-radius:var(--radius-sm);cursor:pointer}.hud-prop-color-input{width:var(--hud-control-width);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-xs)}.hud-globals-section{display:flex;gap:var(--spacing-xl);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-subtle)}.hud-globals-section .hud-prop-label{width:100px}.segments-list{display:flex;flex-direction:column;gap:2px;margin-bottom:6px;padding:0 4px}.segment-item{display:flex;align-items:center;gap:3px;padding:3px 4px;background:rgba(var(--clr-primary-rgb),.05);border:1px solid rgba(var(--clr-primary-rgb),.15);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.segment-item .seg-num{color:var(--text-tertiary);width:12px;font-size:var(--font-size-xs);text-align:center;flex-shrink:0}.segment-item .ui-select{height:18px}.segment-item .ui-select .ui-select-trigger{height:18px;min-height:18px;padding:0 2px;background:#00000080;border:1px solid rgba(var(--clr-primary-rgb),.3);border-radius:var(--radius-xs);font-size:var(--font-size-sm);color:var(--clr-primary);cursor:pointer}.segment-item .ui-select:hover .ui-select-trigger{border-color:rgba(var(--clr-primary-rgb),.5)}.segment-item .ui-select .ui-select-value{color:var(--clr-primary)}.segment-item .ui-select .ui-select-arrow{display:none}.segment-item .segment-type{width:45px}.segment-item .segment-direction{width:32px;text-align:center}.segment-item .ui-input{width:36px;min-width:36px;height:18px}.segment-item .ui-input input{font-size:var(--font-size-sm);padding:0 4px;text-align:center;height:100%}.segment-item .segment-unit{color:var(--text-tertiary);font-size:var(--font-size-xs);width:14px;flex-shrink:0}.segment-item .segment-remove{background:none;border:none;color:#ff646480;cursor:pointer;font-size:12px;padding:0;margin-left:auto;line-height:1;width:14px;text-align:center}.segment-item .segment-remove:hover{color:#f66}.segment-add{width:calc(100% - 8px);margin:0 4px;padding:3px 6px;background:rgba(var(--clr-primary-rgb),.1);border:1px dashed rgba(var(--clr-primary-rgb),.3);color:var(--clr-primary);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),border-color var(--transition-fast)}.segment-add:hover{background:rgba(var(--clr-primary-rgb),.15);border-color:rgba(var(--clr-primary-rgb),.5)}.terminator-group{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.terminator-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.terminator-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:4px;padding-left:var(--spacing-sm);font-weight:500}}@layer features{.playback-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-2xs) var(--spacing-md);background:var(--bg-section);border-bottom:1px solid var(--border-subtle);height:28px;flex-shrink:0}.playback-indicator__play-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--btn-height);height:var(--btn-height);padding:0;border:none;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.playback-indicator__play-btn:hover{background:var(--bg-selected)}.playback-indicator__time,.playback-indicator__duration{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-secondary);flex-shrink:0;min-width:56px;text-align:center}.playback-indicator__duration{color:var(--text-muted)}.playback-indicator__progress{flex:1;height:4px;background:var(--bg-hover);border-radius:2px;cursor:pointer;position:relative;min-width:60px}.playback-indicator__progress-fill{height:100%;background:var(--color-accent);border-radius:2px;width:0%;transition:none;pointer-events:none}.playback-indicator__progress:hover{height:6px;margin-top:-1px;margin-bottom:-1px}}@layer features{.timeline-panel{display:flex;flex-direction:column;height:var(--bottom-panel-height);flex-shrink:0;background:var(--bg-panel);border-top:1px solid var(--border-subtle);position:relative;overflow:hidden}.timeline-panel.is-collapsed{height:auto}.timeline-panel.is-collapsed .timeline-panel__body,.timeline-panel.is-collapsed .timeline-panel__playhead{display:none}.timeline-panel__transport{display:flex;flex-direction:column;background:var(--bg-section);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.timeline-panel__transport-controls{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-sm);height:23px}.timeline-panel__playback-group,.timeline-panel__time-group{display:flex;align-items:center;gap:var(--spacing-2xs);flex-shrink:0}.timeline-panel__play-btn,.timeline-panel__stop-btn,.timeline-panel__skip-start-btn,.timeline-panel__skip-end-btn,.timeline-panel__loop-btn,.timeline-panel__collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:0;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;flex-shrink:0;outline:none;transition:color var(--transition-fast)}.timeline-panel__play-btn:hover,.timeline-panel__stop-btn:hover,.timeline-panel__skip-start-btn:hover,.timeline-panel__skip-end-btn:hover,.timeline-panel__loop-btn:hover,.timeline-panel__collapse-btn:hover{color:var(--text-primary)}.timeline-panel__loop-btn.is-active{color:var(--accent)}.timeline-panel__duration-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;flex-shrink:0;outline:none;transition:color var(--transition-fast)}.timeline-panel__duration-btn:hover{color:var(--text-primary)}.timeline-panel__time-sep{color:var(--text-muted);font-size:var(--font-size-xs);flex-shrink:0}.timeline-panel__timecode{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-secondary);flex-shrink:0;min-width:56px;text-align:center}.timeline-panel__duration{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-muted);flex-shrink:0;min-width:56px;text-align:center}.timeline-panel__frame-counter{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0;margin-left:var(--spacing-sm);min-width:90px}.timeline-panel__frame-current{color:var(--text-secondary)}.timeline-panel__transport-spacer{flex:1}.timeline-panel__body{flex:1;display:flex;overflow:hidden}.timeline-panel__scroll-area{flex:1;overflow-x:scroll;overflow-y:auto;position:relative;background:var(--bg-panel)}.timeline-panel__scroll-area::-webkit-scrollbar{height:10px}.timeline-panel__scroll-area::-webkit-scrollbar-track{background:var(--bg-section);border-top:1px solid var(--border-subtle)}.timeline-panel__scroll-area::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-xs)}.timeline-panel__scroll-area::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.timeline-panel__ruler-row{height:23px;flex-shrink:0;overflow:hidden;background:var(--bg-section);border-top:1px solid var(--border-subtle)}.timeline-panel__ruler-label{position:relative;height:100%;cursor:pointer}.timeline-panel__ruler-tick{position:absolute;top:0;width:1px;background:var(--border-subtle);pointer-events:none}.timeline-panel__ruler-tick--major{height:40%;bottom:0;top:auto;background:var(--border-default)}.timeline-panel__ruler-tick--minor{height:40%;bottom:0;top:auto}.timeline-panel__ruler-text{position:absolute;top:var(--spacing-2xs);font-family:var(--font-mono);font-size:var(--font-size-2xs);color:var(--text-muted);transform:translate(-50%);pointer-events:none;white-space:nowrap}.timeline-panel__tracks{flex:1}.timeline-panel__track-keyframes{position:relative;height:var(--row-height-sm);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0}.timeline-panel__track-keyframes.is-hidden{opacity:.5}.timeline-panel__keyframe{position:absolute;top:50%;width:7px;height:7px;background:var(--color-accent);transform:translate(-50%,-50%) rotate(45deg);cursor:pointer;z-index:var(--z-base);transition:background var(--transition-fast)}.timeline-panel__keyframe:hover{background:var(--color-accent-hover);box-shadow:0 0 6px var(--color-accent-dim)}.timeline-panel__playhead{position:absolute;top:23px;bottom:10px;width:1px;background:var(--color-error);z-index:var(--z-above);pointer-events:none;left:0}.timeline-panel__playhead-cap{position:absolute;top:-5px;left:50%;transform:translate(-50%);width:15px;height:15px;color:var(--color-error);pointer-events:auto;cursor:ew-resize;display:flex;align-items:center;justify-content:center}.timeline-panel__playhead-cap ui-icon{width:15px;height:15px}.timeline-panel__zoom-group{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0;margin-right:30px}.timeline-panel__zoom-label{font-size:var(--font-size-xs);color:var(--text-muted)}.timeline-panel__zoom-slider{width:64px;height:10px}.timeline-panel__zoom-value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);min-width:32px;text-align:right}}@layer features{.timeline-panel__waveform-row{--waveform-color: var(--accent);--waveform-center-line: var(--border-subtle);height:var(--row-height-sm);flex-shrink:0;position:relative;overflow:hidden;border-bottom:1px solid var(--border-subtle);background:var(--bg-section)}.timeline-panel__waveform-row.is-hidden{display:none}.timeline-panel__waveform-row .audio-waveform__canvas{display:block;width:100%;height:100%}.timeline-panel__audio-group{display:flex;align-items:center;gap:var(--spacing-2xs);flex-shrink:0;margin-left:30px}.timeline-panel__audio-group.is-disabled{opacity:.35;pointer-events:none}.timeline-panel__mute-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:0;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;flex-shrink:0;outline:none;transition:color var(--transition-fast)}.timeline-panel__mute-btn:hover{color:var(--text-primary)}.timeline-panel__mute-btn.is-muted{color:var(--color-error, #e74c3c)}.timeline-panel__volume-slider{width:64px;height:10px}.timeline-panel__volume-value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);min-width:32px;text-align:right}.timeline-panel__audio-remove-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-2xs);border-radius:var(--radius-sm);font-size:var(--font-size-sm);flex-shrink:0}.timeline-panel__audio-remove-btn:hover{color:var(--error, #e74c3c);background:var(--bg-hover)}.timeline-panel__audio-remove-btn.is-hidden{display:none}.audio-section__error{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-error)}.audio-section__error.is-hidden{display:none}.timeline-panel__body.is-drag-over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-faint, rgba(100, 180, 255, .05))}}@layer features{.audio-mod-toggle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:var(--spacing-xxs, 2px);padding:0;border:none;background:none;cursor:default;pointer-events:none;font-size:9px;line-height:1;color:var(--text-muted);opacity:.25;transition:color var(--transition-fast),opacity var(--transition-fast);flex-shrink:0}.has-audio .audio-mod-toggle{cursor:pointer;pointer-events:auto;color:var(--text-secondary);opacity:.4}.has-audio .prop-row:hover .audio-mod-toggle,.has-audio .compositing-opacity-row:hover .audio-mod-toggle{opacity:.6}.audio-mod-toggle:hover{opacity:.8;color:var(--text-secondary)}.audio-mod-toggle.is-active{opacity:1;color:var(--color-accent)}.audio-mod-toggle.is-active:hover{opacity:.8}}@layer features{.audio-mod-popup{display:none;flex-direction:column;gap:var(--spacing-sm);position:fixed;z-index:var(--z-popover);min-width:200px;padding:var(--spacing-sm);background:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-popup)}.audio-mod-popup.is-open{display:flex}.audio-mod-popup__row{display:flex;align-items:center;gap:var(--spacing-sm)}.audio-mod-popup__label{flex-shrink:0;width:56px;font-size:var(--font-size-sm);color:var(--text-secondary)}.audio-mod-popup__band,.audio-mod-popup__intensity,.audio-mod-popup__direction{flex:1;min-width:0}.audio-mod-popup__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.audio-mod-popup__disable,.audio-mod-popup__ok{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.audio-mod-popup__disable{color:var(--text-muted)}.audio-mod-popup__disable:hover{color:var(--color-error);background:var(--color-error-bg)}.audio-mod-popup__ok{color:var(--accent)}.audio-mod-popup__ok:hover{background:var(--accent-bg)}}@layer features{.duration-popup{display:none;flex-direction:column;gap:var(--spacing-sm);position:fixed;z-index:var(--z-popover);min-width:153px;padding:var(--spacing-sm);background:var(--bg-overlay);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-popup)}.duration-popup.is-open{display:flex}.duration-popup__row{display:flex;align-items:center;gap:var(--spacing-sm)}.duration-popup__label{flex-shrink:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.duration-popup__input{flex:1;min-width:0}}@layer features{.timeline-panel__wa-bar{position:absolute;top:0;height:100%;background:#00aaff26;border-top:2px solid var(--brand-primary);cursor:grab;z-index:var(--z-base);display:none;transition:opacity var(--transition-normal)}.timeline-panel__wa-bar:active{cursor:grabbing}.timeline-panel__wa-bar.is-active{display:block}.timeline-panel__wa-handle{position:absolute;top:0;width:5px;height:11px;background:var(--brand-primary);cursor:ew-resize;z-index:calc(var(--z-base) + 2);transition:filter var(--transition-fast)}.timeline-panel__wa-handle--start{clip-path:polygon(0 0,100% 0,100% 60%,0 100%)}.timeline-panel__wa-handle--end{clip-path:polygon(0 0,100% 0,100% 100%,0 60%);transform:translate(-100%)}.timeline-panel__wa-handle:before{content:"";position:absolute;top:-2px;bottom:-4px;left:-4px;right:-4px}.timeline-panel__wa-handle:hover{filter:brightness(1.3)}.timeline-panel__wa-handle--idle{opacity:.35}.timeline-panel__wa-handle--idle:hover{opacity:.7}.timeline-panel__wa-dim{position:absolute;top:0;height:100%;background:#0000004d;pointer-events:none;z-index:var(--z-base);display:none;transition:opacity var(--transition-normal)}.timeline-panel__wa-dim.is-active{display:block}.timeline-panel__wa-dim--tracks{position:absolute;z-index:var(--z-base)}}@layer features{.flare-component-item{height:var(--row-height-sm);display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);padding-left:0;cursor:pointer;border-bottom:1px solid var(--border-subtle)}.flare-component-item:hover{background:var(--bg-hover)}.flare-component-item.is-selected{background:var(--bg-selected)}.flare-component-item.is-hidden{opacity:.5}.flare-component-item.is-hidden .layer-color,.flare-component-item.is-dragging{opacity:.4}.flare-component-item.drag-over-top{box-shadow:inset 0 2px 0 var(--accent)}.flare-component-item.drag-over-bottom{box-shadow:inset 0 -2px 0 var(--accent)}.flare-component-item:hover .drag-handle{opacity:1}.flare-component-item .component-name{flex:1;font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flare-aperture-section{flex-shrink:0;border-bottom:1px solid var(--border-section);padding:var(--spacing-sm) 0}.flare-aperture-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.flare-aperture-icon{font-size:14px;color:var(--text-secondary)}}@layer features{.gen-editor--calendar{--gen-editor-list-width: 180px;--gen-editor-props-width: 280px;--gen-editor-label-width: 130px;--gen-editor-control-width: 100px}.calendar-section-item{height:var(--row-height-sm);display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-sm);cursor:pointer;border-bottom:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none}.calendar-section-item:hover{background:var(--bg-hover)}.calendar-section-item.is-selected{background:var(--bg-selected)}.calendar-section-icon{flex:0 0 auto;color:var(--text-secondary)}.calendar-section-item.is-selected .calendar-section-icon{color:var(--accent)}.calendar-section-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-section-count{flex:0 0 auto;color:var(--text-tertiary, var(--text-secondary));font-variant-numeric:tabular-nums;font-size:var(--font-size-xs, .75rem)}}@layer features{.perf-overlay{position:fixed;bottom:calc(var(--zoom-bar-height) + 10px);right:10px;background:#000000d9;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 14px;font-family:Consolas,monospace;font-size:11px;z-index:var(--z-topbar);display:none;min-width:140px}.perf-overlay.visible{display:block}.perf-overlay .row{display:flex;justify-content:space-between;gap:15px;margin-bottom:3px}.perf-overlay .row:last-child{margin-bottom:0}.perf-overlay .label{color:var(--text-muted)}.perf-overlay .fps{color:var(--color-fps-good)}.perf-overlay .ms{color:var(--color-fps-warn)}.perf-overlay .renderer{color:var(--brand-primary)}.perf-overlay .perf-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-default)}.perf-overlay .perf-section:empty{display:none;margin-top:0;padding-top:0;border-top:none}.perf-overlay .section-title{color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.perf-overlay .layer-fps-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:2px;font-size:10px}.perf-overlay .layer-fps-row .layer-name{color:var(--text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-overlay .layer-fps-row .target-fps{color:var(--color-fps-bad)}.perf-overlay .resource-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:2px;font-size:10px}.perf-overlay .resource-label{color:var(--text-muted)}.perf-overlay .resource-count{color:var(--color-fps-good);font-variant-numeric:tabular-nums}.perf-overlay .resource-count.changed{animation:flash-change .3s ease-out}@keyframes flash-change{0%{color:var(--color-white)}to{color:var(--color-fps-good)}}}@layer features{html:not(.app-ready) body>*:not(.app-gate){visibility:hidden}.app-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-max);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--bg-base);background-image:radial-gradient(120% 80% at 50% -10%,var(--brand-primary-glow),transparent 60%);color:var(--text-primary);font-family:var(--font-sans)}.app-gate__card{width:100%;max-width:380px;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.app-gate__brand{margin-bottom:var(--spacing-lg);font-family:var(--font-brand);font-size:var(--font-size-2xl);letter-spacing:.08em;color:var(--brand-primary)}.app-gate__title{margin-bottom:var(--spacing-sm);font-size:var(--font-size-xl);color:var(--text-primary)}.app-gate__msg{margin-bottom:var(--spacing-xl);font-size:var(--font-size-md);line-height:1.5;color:var(--text-secondary)}.app-gate__msg strong{color:var(--text-primary)}.app-gate__btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-md);font-weight:600;color:var(--color-white);background:var(--brand-primary);border:none;border-radius:var(--radius-md);text-decoration:none;cursor:pointer;transition:background var(--transition-fast)}.app-gate__btn:hover{background:var(--brand-primary-hover)}.app-gate__foot{margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-muted)}.app-gate__foot a{color:var(--text-tertiary);cursor:pointer}.app-gate__foot a:hover{color:var(--text-secondary)}.app-gate__spinner{width:22px;height:22px;margin:0 auto;border:2px solid var(--border-strong);border-top-color:var(--brand-primary);border-radius:var(--radius-full);animation:app-gate-spin .8s linear infinite}@keyframes app-gate-spin{to{transform:rotate(360deg)}}}@layer features{.ui-showcase-modal{min-width:400px;max-width:700px}.showcase-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:28px}.showcase-row:last-child{margin-bottom:0}.showcase-label{width:90px;font-size:11px;color:var(--text-secondary);flex-shrink:0}.tokens-section{margin-bottom:20px}.tokens-section:last-child{margin-bottom:0}.tokens-section h4{font-size:11px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.token-row{display:flex;align-items:center;gap:12px;padding:4px 0;font-size:11px}.token-name{font-family:monospace;color:var(--accent);min-width:140px}.token-value{color:var(--text-secondary)}.token-swatch{width:16px;height:16px;border:1px solid var(--border-section);flex-shrink:0}.token-desc{margin-left:auto;color:var(--text-muted);font-size:10px}.token-rule{padding:6px 0;font-size:11px;color:var(--text-secondary);line-height:1.5}.token-rule strong{color:var(--text-primary)}.icons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.icon-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--ui-bg);border-radius:0;font-size:10px;color:var(--text-secondary)}.icon-item ui-icon{font-size:14px;color:var(--text-primary);flex-shrink:0}.color-palette{display:flex;flex-direction:column;gap:8px}.color-palette-item{display:grid;grid-template-columns:32px 140px 70px 1fr;align-items:center;gap:12px;padding:4px 0}.color-palette-swatch{width:32px;height:22px;border-radius:0;flex-shrink:0}.color-palette-name{font-size:11px;font-family:monospace;color:var(--text-primary)}.color-palette-hex{font-size:10px;font-family:monospace;color:var(--text-muted)}.color-palette-use{font-size:10px;color:var(--text-secondary)}.rules-section{margin-bottom:20px}.rules-section:last-child{margin-bottom:0}.rules-section h4{font-size:11px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.rules-list{list-style:none;margin:0;padding:0}.rules-list li{padding:5px 0;font-size:11px;color:var(--text-secondary);line-height:1.5;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rules-list li strong{color:var(--text-primary)}.rules-list li code{background:var(--ui-bg);padding:2px 6px;font-family:monospace;font-size:10px;color:var(--accent)}.rules-list li ui-icon{font-size:14px;color:var(--text-primary)}.color-chip{display:inline-block;width:14px;height:14px;border:1px solid var(--border-section);vertical-align:middle}.rules-note{margin-top:12px;padding:8px 10px;background:#ff44661a;border-left:2px solid var(--brand-error);font-size:10px;color:var(--text-secondary)}.text-sample{margin-left:auto;font-size:11px;font-weight:500}.ui-tab-content[data-tab=selects]{min-height:250px}.showcase-select .ui-select-option{display:flex;align-items:center;gap:8px}.showcase-select .ui-select-option ui-icon{font-size:12px;opacity:.7}.component-desc{font-size:10px;color:var(--text-muted);margin-bottom:12px;line-height:1.4}.component-demo{background:var(--bg-section);border:1px solid var(--border-subtle);padding:12px;margin-bottom:10px}.component-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.component-row:last-child{margin-bottom:0}.component-note{font-size:10px;color:var(--text-muted);margin-left:auto}.component-spec{font-size:10px;color:var(--text-secondary);line-height:1.6;padding:8px 10px;background:var(--ui-bg);border-left:2px solid var(--accent)}.component-spec strong{color:var(--text-primary)}.component-spec code{background:#4ecdc41a;padding:1px 4px;font-family:monospace;font-size:9px;color:var(--accent)}.showcase-drag-handle{opacity:.5}.showcase-prop-demo{background:var(--bg-section);border:1px solid var(--border-subtle);padding:0}.showcase-prop-row,.showcase-prop-row:hover{background:transparent}.showcase-layer{cursor:default}.showcase-layer .drag-handle{cursor:grab}.showcase-collapsible .section-header{cursor:pointer}.showcase-effect{cursor:default}.showcase-effect .effect-header{cursor:pointer}.showcase-color-popup-preview{background:var(--bg-panel);border:1px solid var(--border-section);padding:10px;display:inline-block}}
