.uc-color-picker{background:var(--lp-surface, #1f2024);border:1px solid var(--lp-border, #3a3b40);border-radius:var(--lp-radius-sm, 4px);padding:var(--lp-space-4, 12px);display:flex;flex-direction:column;gap:var(--lp-space-3, 8px);box-shadow:0 8px 24px #0009;z-index:var(--lp-z-unified-color-picker, 100000);color:var(--lp-text, #e6e6e6);font-size:var(--lp-font-xs, 11px);-webkit-user-select:none;user-select:none}.uc-color-picker-top{display:flex;align-items:stretch;gap:var(--lp-space-3, 8px)}.uc-color-picker-sv{position:relative;cursor:crosshair;touch-action:none;border:1px solid var(--lp-border, #3a3b40);box-sizing:content-box;flex-shrink:0}.uc-color-picker-sv-canvas{display:block;width:100%;height:100%;pointer-events:none}.uc-color-picker-sv-indicator{position:absolute;width:10px;height:10px;margin-left:-5px;margin-top:-5px;border:2px solid #ffffff;border-radius:50%;box-shadow:0 0 0 1px #000000b3;pointer-events:none}.uc-color-picker-hue{position:relative;cursor:ns-resize;touch-action:none;border:1px solid var(--lp-border, #3a3b40);box-sizing:content-box;flex-shrink:0}.uc-color-picker-hue-canvas{display:block;width:100%;height:100%;pointer-events:none}.uc-color-picker-hue-indicator{position:absolute;left:-2px;right:-2px;height:3px;margin-top:-1px;background:#fff;border-top:1px solid rgba(0,0,0,.7);border-bottom:1px solid rgba(0,0,0,.7);pointer-events:none}.uc-color-picker-alpha{position:relative;cursor:ew-resize;touch-action:none;border:1px solid var(--lp-border, #3a3b40);background-image:linear-gradient(45deg,#555 25%,transparent 25%),linear-gradient(-45deg,#555 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#555 75%),linear-gradient(-45deg,transparent 75%,#555 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0}.uc-color-picker-alpha-fill{position:absolute;inset:0;pointer-events:none}.uc-color-picker-alpha-indicator{position:absolute;top:-2px;bottom:-2px;width:3px;margin-left:-1px;background:#fff;border-left:1px solid rgba(0,0,0,.7);border-right:1px solid rgba(0,0,0,.7);pointer-events:none}.uc-color-picker-hex{display:flex;align-items:center;gap:var(--lp-space-3, 8px)}.uc-color-picker-hex-label{color:var(--lp-text-muted, #9a9b9f);text-transform:uppercase;letter-spacing:.5px;font-size:var(--lp-font-xxs, 10px)}.uc-color-picker-hex-input{flex:1;font-family:var(--lp-font-mono, ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace);font-size:var(--lp-font-sm, 12px);color:var(--lp-text, #e6e6e6);background:var(--lp-input-bg, #16171b);border:1px solid var(--lp-border, #3a3b40);border-radius:var(--lp-radius-sm, 4px);padding:4px 6px;outline:none;min-width:0}.uc-color-picker-hex-input:focus{border-color:var(--lp-primary, #ffb300)}.uc-color-picker-eyedropper{flex:0 0 auto;font-size:var(--lp-font-sm, 12px);line-height:1;color:var(--lp-text-muted, #9a9b9f);background:var(--lp-input-bg, #16171b);border:1px solid var(--lp-border, #3a3b40);border-radius:var(--lp-radius-sm, 4px);padding:3px 5px;cursor:pointer}.uc-color-picker-eyedropper:hover{border-color:var(--lp-primary, #ffb300);color:var(--lp-text, #e6e6e6)}.uc-color-picker-alpha-readout{font-family:var(--lp-font-mono, ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", monospace);color:var(--lp-text-muted, #9a9b9f);font-size:var(--lp-font-xs, 11px)}.uc-color-picker-alpha-readout strong{color:var(--lp-text, #e6e6e6);font-weight:400}.uc-color-picker-recents{display:flex;flex-wrap:wrap;gap:var(--lp-space-1, 2px);padding-top:var(--lp-space-2, 6px);border-top:1px solid var(--lp-border, #3a3b40)}.uc-color-picker-recent-swatch{position:relative;padding:0;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:2px;cursor:pointer;overflow:hidden;background-image:linear-gradient(45deg,#555 25%,transparent 25%),linear-gradient(-45deg,#555 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#555 75%),linear-gradient(-45deg,transparent 75%,#555 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0}.uc-color-picker-recent-swatch:hover{border-color:var(--lp-primary, #ffb300)}.uc-color-picker-recent-swatch-fill{position:absolute;inset:0}.uc-color-picker-hint{font-size:10px;color:var(--lp-text-muted, #9a9b9f);padding-top:var(--lp-space-2, 6px);border-top:1px solid var(--lp-border, #3a3b40);text-align:center}.uc-color-swatch{position:relative;display:inline-block;padding:0;border:1px solid var(--lp-border, #3a3b40);border-radius:3px;cursor:pointer;overflow:hidden;background-image:linear-gradient(45deg,#555 25%,transparent 25%),linear-gradient(-45deg,#555 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#555 75%),linear-gradient(-45deg,transparent 75%,#555 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0}.uc-color-swatch:hover{border-color:var(--lp-primary, #ffb300)}.uc-color-swatch:disabled,.uc-color-swatch[aria-disabled=true]{cursor:not-allowed;opacity:.5}.uc-color-swatch-fill{position:absolute;inset:0}.atc-grid-cfg-preview-wrap{display:flex;justify-content:center;align-items:center;background:var(--color-bg-surface);border-radius:4px;padding:4px}.atc-grid-cfg-preview-canvas{image-rendering:pixelated;display:block;max-width:100%;height:auto}.atc-grid-cfg-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.atc-grid-cfg-label{color:var(--color-text-muted);font-size:11px;min-width:84px}.atc-grid-cfg-radio{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--color-text-strong)}.atc-grid-cfg-radio label{display:flex;align-items:center;gap:4px;cursor:pointer}.atc-grid-cfg-input{width:64px;padding:2px 4px;background:var(--color-bg-elevated);color:var(--color-text-strong);border:1px solid var(--color-border-light);border-radius:4px;font-family:inherit;font-size:12px}select.atc-grid-cfg-input{width:auto;min-width:220px}.atc-grid-cfg-unit,.atc-grid-cfg-status{color:var(--color-text-muted);font-size:11px}.atc-grid-cfg-error{color:var(--color-error);font-size:11px}.atc-grid-cfg-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.atc-grid-cfg-chip-row-label{color:var(--color-text-muted);font-size:11px}.atc-import-chip{background:var(--color-bg-elevated);color:var(--color-text-strong);border:1px solid var(--color-border-light);border-radius:4px;padding:2px 8px;font-family:inherit;font-size:11px;cursor:pointer}.atc-import-chip:hover{border-color:var(--color-text-muted)}.atc-import-chip--active{background:var(--primitive-gold);color:var(--color-bg-surface);border-color:var(--primitive-gold)}.atc-import-chip--disabled,.atc-import-chip:disabled{opacity:.4;cursor:not-allowed}.atc-import-chip:disabled:hover{border-color:var(--color-border-light)}.atc-grid-cfg-side-toggle{display:flex;gap:4px;padding-left:2px}.atc-grid-cfg-toggle{background:var(--color-bg-elevated);color:var(--color-text-muted);border:1px solid var(--color-border-light);border-radius:4px;padding:2px 8px;font-family:inherit;font-size:10px;letter-spacing:.5px;cursor:pointer}.atc-grid-cfg-toggle:hover{border-color:var(--color-text-muted)}.atc-grid-cfg-toggle--active{background:var(--primitive-gold);color:var(--color-bg-surface);border-color:var(--primitive-gold)}.atc-grid-cfg-perside{align-items:center;gap:4px}.atc-grid-cfg-perside-group{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap}.atc-grid-cfg-perside-gap{display:inline-block;width:16px;flex:0 0 auto}.atc-grid-cfg-perside-label{color:var(--color-text-muted);font-size:11px;min-width:50px}.atc-grid-cfg-side-input{display:inline-flex;align-items:center;gap:2px}.atc-grid-cfg-side-axis{color:var(--color-text-muted);font-size:10px;min-width:10px;text-align:center}.atc-grid-cfg-input--narrow{width:40px}:root{--lp-z-color-picker: 10001;--lp-z-unified-color-picker: 100000;--lp-z-canvas-badge: 5;--lp-z-context-menu: 10001}.lucuma-pix-root{--lp-bg: var(--color-bg-app);--lp-surface: var(--color-bg-surface);--lp-surface-alt: var(--color-bg-elevated);--lp-inset: var(--lp-bg);--lp-input-bg: var(--color-bg-elevated);--lp-canvas-bg: var(--color-bg-app);--lp-overlay: var(--color-bg-overlay);--lp-border: var(--color-border-light);--lp-border-strong: var(--color-border-medium);--lp-text: var(--color-text-strong);--lp-text-normal: var(--color-text-normal);--lp-text-muted: var(--color-text-muted);--lp-text-faint: var(--color-text-disabled);--lp-on-primary: var(--color-primary-contrast);--lp-primary: var(--color-primary);--lp-primary-hi: var(--color-primary-light);--lp-primary-lo: var(--color-primary-dark);--lp-primary-soft: var(--color-bg-selected);--lp-font-display: var(--font-display);--lp-font-body: var(--font-body);--lp-font-mono: var(--font-mono);--lp-header-height: 48px;--lp-menubar-height: 26px;--lp-header-control-height: 28px;--lp-toolbox-btn-size: 36px;--lp-toolbox-grid-gap: 2px;--lp-toolbox-columns: 3;--lp-toolbox-scrollbar-width: 4px;--lp-toolbox-side-padding: calc(var(--lp-toolbox-scrollbar-width) * 2 + 4px);--lp-toolbox-separator-inset: 6px;--lp-toolbox-width: calc( var(--lp-toolbox-btn-size) * var(--lp-toolbox-columns) + var(--lp-toolbox-grid-gap) * (var(--lp-toolbox-columns) - 1) + var(--lp-toolbox-side-padding) );--lp-toolbox-flyout-min-width: 160px;--lp-toolbox-dim-opacity: .35;--lp-toolbox-dim-transition: .15s;--lp-right-panel-width: 240px;--lp-timeline-height: 200px;--lp-timeline-bar-height: 28px;--lp-timeline-tag-bar-height: 26px;--lp-timeline-cel-size: 50px;--lp-timeline-cel-size-compact: 16px;--lp-timeline-row-height-compact: 22px;--lp-timeline-frame-header-height: 18px;--lp-timeline-label-width: 160px;--lp-timeline-collapsed-height: 22px;--lp-timeline-thumb-bg: var(--lp-bg);--lp-timeline-grid-bg: var(--lp-bg);--lp-font-xxs: 10px;--lp-font-xs: 11px;--lp-font-sm: 12px;--lp-font-md: 13px;--lp-font-lg: 14px;--lp-font-xl: 15px;--lp-font-2xl: 18px;--lp-font-icon: 32px;--lp-space-0: 0;--lp-space-1: 2px;--lp-space-2: 4px;--lp-space-3: 6px;--lp-space-4: 8px;--lp-space-5: 12px;--lp-space-6: 16px;--lp-space-7: 24px;--lp-space-8: 32px;--lp-tree-indent-step: 16px;--lp-radius-sm: 3px;--lp-radius-md: 8px;--lp-shadow-chip: 0 1px 3px rgba(0, 0, 0, .6);--lp-shadow-modal: 0 16px 48px rgba(0, 0, 0, .35);--lp-modal-btn-min-width: 88px;--lp-font-weight-bold: 700;--lp-font-weight-semi: 600;--lp-notice-max-width: 480px;--lp-line-height-relaxed: 1.4;--lp-ref-crop-dim: rgba(0, 0, 0, .4);--lp-ref-crop-border: rgba(255, 180, 50, .9);--lp-ref-crop-handle-fill: rgba(255, 180, 50, .95);--lp-ref-crop-handle-stroke: rgba(0, 0, 0, .7);--lp-gradient-preset-swatch-width: 40px;--lp-gradient-preset-swatch-height: 14px;--lp-gradient-presets-list-max-height: 220px;--lp-border-width: 1px;--lp-border-accent-width: 3px;--lp-input-width: 60px;--lp-label-width: 50px;--lp-repixel-label-width: 92px;--lp-dialog-min-width: 280px;--lp-dialog-max-width: 480px;--lp-dialog-compact-width: 420px;--lp-import-label-width: 64px;--lp-mode-card-width: 200px;--lp-slider-height: 4px;--lp-slider-thumb-size: 14px;--lp-mask-toolbar-slider-width: 120px;--lp-opacity-label-width: 14px;--lp-rename-input-width: 200px;--lp-noise-dialog-min-width: 340px;--lp-noise-dialog-max-width: 480px;--lp-noise-label-width: 80px;--lp-noise-value-width: 30px;--lp-noise-seed-input-width: 90px;--lp-noise-swatch-size: 28px;--lp-noise-dialog-width: min(880px, 95vw);--lp-noise-value-width-wide: 36px;--lp-dialog-value-width-wide: var(--lp-noise-value-width-wide);--lp-dialog-width-wide: var(--lp-noise-dialog-width);--lp-dim-input-width: 45px;--lp-warning: var(--lp-primary);--lp-warning-bg: rgba(255, 179, 0, .18);--lp-import-dialog-min-width: 360px;--lp-import-dialog-max-width: 560px;--lp-import-dialog-max-height: 90vh;--lp-gif-btn-min-width: 36px;--lp-gif-fps-input-width: 56px;--lp-autotile-label-width: 140px;--lp-z-modal: 9999;--lp-z-modal-confirm: 10001;--lp-tab-bar-height: 32px;--lp-tab-max-width: 180px;--lp-tab-name-max-width: 140px;--lp-tab-close-size: 16px;--lp-tab-add-size: 32px;--lp-tab-active-underline-width: 2px;--lp-tab-disabled-opacity: .3;--lp-transition-fast: .15s;--lp-crop-darken: rgba(0, 0, 0, .5);--lp-crop-border: rgba(255, 255, 255, .9);--lp-crop-handle-fill: rgba(255, 255, 255, .95);--lp-crop-handle-stroke: rgba(0, 0, 0, .6);--lp-checker-light-a: #ffffff;--lp-checker-light-b: #e0e0e0;--lp-checker-dark-a: #333333;--lp-checker-dark-b: #1a1a1a;--lp-checker-neutral: #555555;--lp-checker-selected: #2a2a4a;--lp-keyframe-marker: #ff6a3d;--lp-shadow-color-soft: rgba(0, 0, 0, .3);--lp-shadow-color-medium: rgba(0, 0, 0, .45);--lp-shadow-color-strong: rgba(0, 0, 0, .5);--lp-scrim-color-strong: rgba(0, 0, 0, .55);--lp-shadow-color-heavy: rgba(0, 0, 0, .6);--lp-outline-dark: rgba(0, 0, 0, .7);--lp-border-translucent: rgba(255, 255, 255, .25);--lp-outline-light: rgba(255, 255, 255, .85);--lp-bg-black: #000000;--lp-bg-white: #ffffff;--lp-pixel-grid-line: rgba(255, 255, 255, .35);--lp-marching-ants-dark: #000000;--lp-marching-ants-light: #ffffff;--lp-minimap-canvas-bg: rgba(0, 0, 0, .35);--lp-brush-preview-stroke: rgba(255, 255, 255, .85);--lp-brush-preview-fill: rgba(255, 255, 255, .15);--lp-brush-preview-eraser-stroke: rgba(255, 64, 64, .75);--lp-brush-preview-eraser-fill: rgba(255, 64, 64, .15);--lp-symmetry-axis: rgba(0, 200, 255, .7);--lp-rubylith-overlay: rgb(255, 0, 64);--lp-autotile-grid-chunk: rgba(255, 170, 0, .7);--lp-autotile-grid-quadrant: rgba(255, 170, 0, .35);--lp-checker-pattern: repeating-conic-gradient( var(--lp-checker-dark-a) 0% 25%, var(--lp-checker-dark-b) 0% 50% ) 0 0 / 16px 16px;--lp-checker-tile-size: 12px;--lp-repixel-preview-size: 220px;--lp-cursor-info-height: 28px;--lp-cursor-info-bg: rgba(19, 18, 26, .92);--lp-cursor-info-bg: color-mix(in srgb, var(--lp-bg) 92%, transparent);--lp-cursor-info-text: var(--lp-text-normal);--lp-cursor-info-muted: var(--lp-text-muted);--lp-cursor-info-accent: var(--lp-primary);--lp-cursor-info-swatch-size: 14px;--lp-minimap-size: 160px;--lp-minimap-bg: rgba(19, 18, 26, .8);--lp-minimap-bg: color-mix(in srgb, var(--lp-bg) 80%, transparent);--lp-minimap-border: var(--color-border-light);--lp-minimap-viewport-border: var(--lp-text-normal);--lp-ruler-thickness: 20px;--lp-ruler-bg: var(--lp-surface);--lp-ruler-text: var(--lp-text-muted);--lp-ruler-mark: var(--lp-text-muted);--lp-ruler-cursor: var(--lp-primary);--lp-success: #4ade80;--lp-danger: #ef4444;--lp-danger-bg: rgba(239, 68, 68, .12);--lp-strike-halo: rgba(255, 255, 255, .9);--lp-mask-overlay: rgb(217, 70, 239);--lp-dropzone-min-height: 180px;--lp-dropzone-icon-size: 36px;--lp-dropzone-thumb-max-height: 180px;--lp-spinner-size: 28px;--lp-spinner-thickness: 3px;--lp-autotile-preview-min-height: 200px;--lp-autotile-preview-checkerboard-light: #2a2a3e;--lp-autotile-preview-checkerboard-dark: #1e1e30;--lp-autotile-preview-empty-grid: rgba(80, 80, 120, .25);--lp-autotile-preview-cursor-place: rgba(100, 255, 100, .5);--lp-autotile-preview-cursor-remove: rgba(255, 100, 100, .5);font-family:var(--lp-font-body);background:var(--lp-bg);color:var(--lp-text-normal)}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-spinner{width:var(--lp-spinner-size);height:var(--lp-spinner-size);border:var(--lp-spinner-thickness) solid var(--lp-border);border-top-color:var(--lp-primary);border-radius:50%;animation:lp-spin .8s linear infinite}.lp-spinner--inline{display:inline-block;width:12px;height:12px;border-width:2px;vertical-align:middle}.lp-checker-bg{background-color:var(--lp-checker-light-a);background-image:linear-gradient(45deg,var(--lp-checker-light-b) 25%,transparent 25%),linear-gradient(-45deg,var(--lp-checker-light-b) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--lp-checker-light-b) 75%),linear-gradient(-45deg,transparent 75%,var(--lp-checker-light-b) 75%);background-size:var(--lp-checker-tile-size) var(--lp-checker-tile-size);background-position:0 0,0 calc(var(--lp-checker-tile-size) / 2),calc(var(--lp-checker-tile-size) / 2) calc(-1 * var(--lp-checker-tile-size) / 2),calc(-1 * var(--lp-checker-tile-size) / 2) 0}.lp-cursor-info{position:absolute;left:0;right:0;bottom:0;height:var(--lp-cursor-info-height);display:flex;align-items:center;gap:var(--lp-space-5);padding:0 var(--lp-space-5);background:var(--lp-cursor-info-bg);color:var(--lp-cursor-info-text);font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs);letter-spacing:.6px;-webkit-user-select:none;user-select:none;pointer-events:auto;z-index:5;border-top:1px solid var(--lp-border)}.lp-cursor-info-item{display:inline-flex;align-items:center;gap:var(--lp-space-2);white-space:nowrap}.lp-cursor-info-grid-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;padding:0;color:var(--lp-cursor-info-muted);background:transparent;border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);cursor:pointer}.lp-cursor-info-grid-toggle:hover{color:var(--lp-cursor-info-text);background:var(--color-bg-hover)}.lp-cursor-info-grid-toggle.is-active{color:var(--lp-cursor-info-accent);border-color:var(--lp-cursor-info-accent);background:color-mix(in srgb,var(--lp-cursor-info-accent) 12%,transparent)}.lp-cursor-info-grid-toggle:focus-visible{outline:2px solid var(--lp-cursor-info-accent);outline-offset:1px}.lp-cursor-info-swatch{display:inline-block;width:var(--lp-cursor-info-swatch-size);height:var(--lp-cursor-info-swatch-size);border:1px solid var(--color-border-medium);border-radius:2px;background-image:linear-gradient(45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(-45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--lp-checker-neutral) 75%),linear-gradient(-45deg,transparent 75%,var(--lp-checker-neutral) 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0}.lp-cursor-info-alpha{color:var(--lp-cursor-info-muted)}.lp-cursor-info-zoom{position:relative;gap:0}.lp-cursor-info-zoom-input{background:transparent;border:1px solid var(--lp-border);border-right:0;color:var(--lp-cursor-info-text);font:inherit;width:54px;height:20px;padding:1px 5px;border-radius:var(--lp-radius-sm) 0 0 var(--lp-radius-sm);outline:none}.lp-cursor-info-zoom-input:focus{border-color:var(--lp-primary)}.lp-cursor-info-canvas-size{gap:var(--lp-space-1)}.lp-cursor-info-size-input{width:36px;height:20px;padding:1px 4px;background:transparent;border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);color:var(--lp-cursor-info-text);font:inherit;text-align:center;outline:none}.lp-cursor-info-size-input:focus{border-color:var(--lp-primary)}.lp-cursor-info-zoom-toggle{background:transparent;border:1px solid var(--lp-border);color:var(--lp-cursor-info-text);font:inherit;width:20px;height:20px;padding:0;border-radius:0 var(--lp-radius-sm) var(--lp-radius-sm) 0;cursor:pointer}.lp-cursor-info-zoom-toggle:hover{background:var(--color-bg-hover)}.lp-cursor-info-zoom-menu{position:absolute;bottom:calc(var(--lp-cursor-info-height) - 2px);left:0;min-width:72px;margin:0;padding:var(--lp-space-1) 0;list-style:none;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);box-shadow:0 6px 20px var(--lp-shadow-color-strong);max-height:240px;overflow-y:auto;z-index:10}.lp-cursor-info-zoom-menu li{margin:0}.lp-cursor-info-zoom-opt{width:100%;text-align:left;background:transparent;border:0;color:var(--lp-cursor-info-text);font:inherit;padding:3px var(--lp-space-5);cursor:pointer}.lp-cursor-info-zoom-opt:hover{background:var(--color-bg-hover)}.lp-cursor-info-zoom-opt.is-active{color:var(--lp-cursor-info-accent)}.lp-cursor-info-layer{color:var(--lp-cursor-info-muted)}.lp-cursor-info-spacer{flex:1}.lp-cursor-info-palette{font-size:var(--lp-font-sm)}.lp-minimap{position:absolute;right:var(--lp-space-5);bottom:calc(var(--lp-cursor-info-height) + var(--lp-space-5));background:var(--lp-minimap-bg);border:1px solid var(--lp-minimap-border);border-radius:var(--lp-radius-sm);box-shadow:0 4px 14px var(--lp-shadow-color-strong);padding:var(--lp-space-2);z-index:4;-webkit-user-select:none;user-select:none}.lp-minimap-canvas{display:block;image-rendering:pixelated}.lp-minimap-surface{position:relative;cursor:crosshair}.lp-minimap-viewport-rect{position:absolute;border:1px solid var(--lp-minimap-viewport-border);pointer-events:none;box-sizing:border-box}.lp-minimap-close{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:1px solid var(--lp-minimap-border);background:var(--lp-surface);color:var(--lp-cursor-info-text);font-size:11px;line-height:1;cursor:pointer;padding:0}.lp-minimap-close:hover{background:var(--lp-primary)}.lp-toolbox-wrapper{position:relative;display:flex;flex-shrink:0;height:100%;overflow:visible;z-index:20}.lp-toolbox{width:var(--lp-toolbox-width);background:var(--lp-surface);border-right:var(--lp-border-width) solid var(--lp-border);display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:visible}.lp-toolbox-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--lp-border) transparent;display:flex;flex-direction:column;align-items:center;gap:var(--lp-space-4);padding:var(--lp-space-4) 0}.lp-toolbox-scroll::-webkit-scrollbar{width:var(--lp-toolbox-scrollbar-width)}.lp-toolbox-scroll::-webkit-scrollbar-track{background:transparent}.lp-toolbox-scroll::-webkit-scrollbar-thumb{background:var(--lp-border);border-radius:2px}.lp-toolbox-bottom{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--lp-space-4);padding:var(--lp-space-4) 0;border-top:1px solid var(--lp-border)}.lp-toolbox-group{display:grid;grid-template-columns:repeat(var(--lp-toolbox-columns),auto);justify-content:center;align-items:center;gap:var(--lp-toolbox-grid-gap)}.lp-toolbox-btn,.lp-toolbox-toggle-btn,.lp-timeline-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;cursor:pointer;color:var(--lp-text-normal);font-family:inherit;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.lp-toolbox-btn:hover,.lp-toolbox-toggle-btn:hover.lp-toolbox-toggle-btn,.lp-timeline-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--lp-text)}.lp-toolbox-btn.is-active,.lp-toolbox-toggle-btn.is-active.is-active,.lp-timeline-btn.is-active{background:var(--lp-primary-soft);border-color:var(--lp-primary);color:var(--lp-primary-hi)}.lp-toolbox-btn:focus-visible,.lp-toolbox-toggle-btn:focus-visible,.lp-timeline-btn:focus-visible{outline:2px solid var(--lp-primary);outline-offset:2px}.lp-toolbox-btn{width:var(--lp-toolbox-btn-size);height:var(--lp-toolbox-btn-size);border:1px solid transparent;border-radius:var(--lp-radius-md);padding:0}.lp-toolbox-btn svg{width:calc(var(--lp-toolbox-btn-size) / 2);height:calc(var(--lp-toolbox-btn-size) / 2);display:block}.lp-toolbox-btn:disabled,.lp-toolbox-btn.is-disabled{opacity:.35;cursor:not-allowed;background:transparent;color:var(--lp-text-muted)}.lp-toolbox-btn:disabled:hover,.lp-toolbox-btn.is-disabled:hover{background:transparent;color:var(--lp-text-muted)}.lp-toolbox-separator{width:calc(var(--lp-toolbox-width) - var(--lp-toolbox-side-padding) * 2 - var(--lp-toolbox-separator-inset) * 2);height:1px;background:var(--lp-border);margin:var(--lp-space-2) 0;align-self:center;flex-shrink:0}.lp-toolbox-hint{color:var(--lp-text-muted);font-size:var(--lp-font-xxs);line-height:1.3;padding-top:var(--lp-space-1)}.lp-toolbox-sam-status{display:block;width:100%;text-align:left;background:none;border:none;-webkit-appearance:none;appearance:none;padding:var(--lp-space-1) 0 0;margin:0;cursor:pointer;font-family:inherit}.lp-toolbox-sam-status:focus-visible{outline:2px solid var(--lp-primary);outline-offset:2px}.lp-toolbox-flyout{position:absolute;left:var(--lp-toolbox-width);top:var(--lp-space-4);max-height:calc(100% - var(--lp-space-4) * 2);min-width:var(--lp-toolbox-flyout-min-width, 200px);background:var(--lp-surface);border:1px solid var(--lp-border);border-left:none;border-top-right-radius:var(--lp-radius-md);border-bottom-right-radius:var(--lp-radius-md);padding:var(--lp-space-5) var(--lp-space-5);display:flex;flex-direction:column;gap:var(--lp-space-4);box-shadow:6px 6px 20px var(--lp-shadow-color-medium);pointer-events:auto;z-index:1;overflow:hidden}.lp-toolbox-flyout-title{color:var(--lp-text-muted);font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs);text-transform:uppercase;letter-spacing:1.4px;padding-bottom:var(--lp-space-3);border-bottom:1px solid var(--lp-border)}.lp-toolbox-flyout-body{display:flex;flex-direction:column;gap:var(--lp-space-3);overflow-y:auto;min-height:0;flex:1 1 auto}.lp-toolbox-settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--lp-space-3);margin-bottom:var(--lp-space-1)}.lp-toolbox-settings-label{color:var(--lp-text-muted);font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs);text-transform:uppercase;letter-spacing:1.4px;white-space:nowrap}.lp-toolbox-settings-value{color:var(--lp-text);font-size:var(--lp-font-xs);font-family:var(--lp-font-mono);font-variant-numeric:tabular-nums}.lp-native-select option,.lp-toolbox-select option{background:var(--lp-inset);color:var(--lp-text)}.lp-native-select option:checked,.lp-toolbox-select option:checked{background:var(--lp-primary);color:var(--lp-on-primary)}.lp-native-select option:hover,.lp-toolbox-select option:hover{background:var(--lp-primary-soft);color:var(--lp-text)}.lp-native-select optgroup,.lp-toolbox-select optgroup{background:var(--lp-inset);color:var(--lp-text-muted);font-style:italic}.lp-toolbox-select{width:100%;background:var(--lp-inset);color:var(--lp-text);border:1px solid var(--lp-border, var(--lp-bg));border-radius:var(--lp-radius-sm, 4px);padding:4px 8px;font-family:var(--lp-font-mono);font-size:var(--lp-font-xs);cursor:pointer}.lp-toolbox-select:focus{outline:none;border-color:var(--lp-primary)}.lp-gradient-rail{position:relative;width:100%;border-radius:var(--lp-radius-sm, 4px);cursor:copy;background-color:var(--lp-inset);box-shadow:inset 0 0 0 1px var(--lp-bg);overflow:visible;-webkit-user-select:none;user-select:none;touch-action:none}.lp-gradient-chip{position:absolute;top:50%;transform:translateY(-50%);border-radius:50%;border:2px solid var(--lp-text);box-shadow:var(--lp-shadow-chip);cursor:grab;transition:transform .08s ease}.lp-gradient-chip:hover{transform:translateY(-50%) scale(1.15)}.lp-gradient-chip.is-selected{border-color:var(--lp-primary);box-shadow:0 0 0 2px var(--lp-primary-soft),var(--lp-shadow-chip)}.lp-gradient-chip.is-dragging{cursor:grabbing;transform:translateY(-50%) scale(1.25)}.lp-gradient-preset-row{display:flex;align-items:center;gap:8px;width:100%;padding:4px 6px;background:transparent;border:1px solid transparent;color:var(--lp-text);font-family:var(--lp-font-mono);font-size:var(--lp-font-xs);cursor:pointer;text-align:left}.lp-gradient-preset-row:hover{background:var(--lp-primary-soft);border-color:var(--lp-primary-lo)}.lp-gradient-preset-row.is-active{background:var(--lp-primary-soft);border-color:var(--lp-primary)}.lp-gradient-preset-swatch{flex:0 0 auto;width:var(--lp-gradient-preset-swatch-width);height:var(--lp-gradient-preset-swatch-height);border-radius:2px;border:1px solid var(--lp-bg)}.lp-gradient-preset-name{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.lp-gradient-preset-name{background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}.lp-gradient-preset-delete{flex:0 0 auto;background:transparent;border:none;color:var(--lp-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.lp-gradient-preset-delete:hover{color:var(--color-error)}.lp-gradient-presets-list{display:flex;flex-direction:column;gap:1px;max-height:var(--lp-gradient-presets-list-max-height);overflow-y:auto;background:var(--lp-inset);border:1px solid var(--lp-bg);border-radius:var(--lp-radius-sm, 4px);padding:4px}.lp-gradient-presets-section{color:var(--lp-text-muted);font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs);text-transform:uppercase;letter-spacing:1.4px;padding:4px 6px 2px}.lp-gradient-presets-empty{color:var(--lp-text-muted);font-family:var(--lp-font-mono);font-size:var(--lp-font-xs);padding:4px 6px;font-style:italic}.lp-modal-overlay{position:fixed;inset:0;background:var(--lp-scrim-color-strong);display:flex;align-items:center;justify-content:center;z-index:var(--lp-z-modal, 100000)}.lp-modal-box{background:var(--lp-bg);color:var(--lp-text);border:1px solid var(--lp-bg-elev, var(--lp-inset));border-radius:var(--lp-radius-md);padding:var(--lp-space-5, 12px);min-width:280px;max-width:90vw;display:flex;flex-direction:column;gap:var(--lp-space-3, 8px);box-shadow:0 12px 40px var(--lp-shadow-color-heavy)}.lp-modal-title{margin:0;font-family:var(--lp-font-mono);font-size:var(--lp-font-sm);text-transform:uppercase;letter-spacing:1px;color:var(--lp-text)}.lp-modal-message{font-size:var(--lp-font-xs);color:var(--lp-text-normal);line-height:1.4}.lp-modal-field{display:flex;flex-direction:column;gap:var(--lp-space-2, 4px);font-size:var(--lp-font-xs);color:var(--lp-text-muted)}.lp-modal-input{background:var(--lp-inset);color:var(--lp-text);border:1px solid var(--lp-bg);border-radius:var(--lp-radius-sm);padding:6px 8px;font-family:var(--lp-font-mono);font-size:var(--lp-font-xs)}.lp-modal-input:focus{outline:none;border-color:var(--lp-primary)}.lp-modal-row{display:flex;justify-content:flex-end;gap:var(--lp-space-2, 6px)}.lp-modal-btn-primary,.lp-modal-btn-secondary{padding:6px 12px;border-radius:var(--lp-radius-sm);font-family:var(--lp-font-mono);font-size:var(--lp-font-xs);cursor:pointer}.lp-modal-btn-primary{background:var(--lp-primary);color:var(--lp-bg);border:1px solid var(--lp-primary)}.lp-modal-btn-primary:hover{background:var(--lp-primary-hi)}.lp-modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.lp-modal-btn-secondary{background:transparent;color:var(--lp-text);border:1px solid var(--lp-text-muted)}.lp-modal-btn-secondary:hover{background:var(--lp-inset)}.lp-toolbox-button-row{display:flex;gap:4px;margin-top:4px}.lp-toolbox-mini-btn{flex:1 1 0;background:var(--lp-inset);color:var(--lp-text);border:1px solid var(--lp-bg);border-radius:var(--lp-radius-sm, 4px);padding:4px 6px;font-family:var(--lp-font-mono);font-size:var(--lp-font-xs);cursor:pointer}.lp-toolbox-mini-btn:hover{background:var(--lp-primary-soft);border-color:var(--lp-primary-lo)}.lp-toolbox-mini-btn:disabled{opacity:.5;cursor:not-allowed}.lp-toolbox-slider{width:100%;touch-action:none}.lp-toolbox-toggle-row{display:flex;justify-content:center;gap:2px}.lp-toolbox-toggle-btn.lp-toolbox-toggle-btn{flex:1;min-width:0;height:24px;padding:0 var(--lp-space-2);background:var(--lp-surface);border:1px solid var(--lp-border);font-size:var(--lp-font-xxs);font-family:var(--lp-font-mono);letter-spacing:.4px;border-radius:var(--lp-radius-md)}.lp-toolbox-colors{position:relative;width:36px;height:36px;align-self:center}.lp-toolbox-swatch{position:absolute;border-radius:3px;border:1px solid var(--lp-border-translucent);cursor:pointer;padding:0;background-image:linear-gradient(45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(-45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--lp-checker-neutral) 75%),linear-gradient(-45deg,transparent 75%,var(--lp-checker-neutral) 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0}.lp-toolbox-swatch-primary{top:0;left:0;width:24px;height:24px;z-index:2}.lp-toolbox-swatch-secondary{bottom:0;right:0;width:18px;height:18px;z-index:1}.lp-toolbox-swatch-fill{position:absolute;inset:0;border-radius:2px}.lp-toolbox-color-actions{display:flex;justify-content:center;gap:2px;width:100%}.lp-toolbox-color-btn{flex:0 0 auto;width:18px;height:18px;padding:0;background:transparent;border:1px solid var(--lp-border);color:var(--lp-text-muted);cursor:pointer;border-radius:var(--lp-radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1}.lp-toolbox-color-btn:hover{background:var(--lp-surface-alt);color:var(--lp-on-primary)}.lp-toolbox-color-btn svg{width:12px;height:12px}.lp-toolbox-color-preview{display:inline-block;width:18px;height:18px;border-radius:var(--lp-radius-sm);border:var(--lp-border-width) solid var(--lp-border);background-image:linear-gradient(45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(-45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--lp-checker-neutral) 75%),linear-gradient(-45deg,transparent 75%,var(--lp-checker-neutral) 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0}.lp-toolbox-swatch.is-indexed{outline:1px solid var(--lp-primary);outline-offset:-1px}.lp-toolbox-swatch-badge{position:absolute;bottom:1px;right:1px;font-size:8px;line-height:1;padding:1px 2px;background:var(--lp-primary);color:var(--lp-on-primary);border-radius:2px;pointer-events:none;font-weight:700}.lp-toolbox-transform-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--lp-space-1)}.lp-toolbox-transform-btn{background:var(--lp-surface-alt);border:1px solid var(--lp-border);color:var(--lp-text);line-height:1;height:28px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:3px}.lp-toolbox-transform-btn:hover{background:var(--lp-surface);border-color:var(--lp-primary)}.lp-toolbox-transform-btn svg{width:16px;height:16px;display:block}.lp-toolbox-action-btn{width:100%;padding:var(--lp-space-1) var(--lp-space-2);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);background:var(--lp-surface-alt);color:var(--lp-text);font-size:var(--lp-font-xs);cursor:pointer;text-align:center}.lp-toolbox-action-btn:hover{background:var(--lp-surface);border-color:var(--lp-primary)}.lp-toolbox-action-btn--primary{background:var(--lp-primary);color:var(--lp-on-primary);border-color:var(--lp-primary)}.lp-toolbox-action-btn--primary:hover{background:var(--lp-primary-hi)}.lp-toolbox-transform-panel{display:flex;flex-direction:column;gap:var(--lp-space-2)}.lp-toolbox-transform-actions{display:flex;gap:var(--lp-space-1)}.lp-toolbox-transform-actions .lp-toolbox-action-btn{flex:1}.lp-toolbox-transform-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lp-space-1)}.lp-toolbox-transform-size-row{display:flex;align-items:flex-end;gap:var(--lp-space-1)}.lp-toolbox-transform-size-field{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.lp-toolbox-number-input{width:100%;padding:var(--lp-space-1);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);background:var(--lp-inset);color:var(--lp-text);font-size:var(--lp-font-xs);font-family:inherit;text-align:center}.lp-toolbox-number-input:focus{outline:none;border-color:var(--lp-primary)}.lp-toolbox-slider-value-field{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;color:var(--lp-text-muted);font-size:var(--lp-font-xxs)}.lp-toolbox-slider-value-input{width:48px;min-width:0;padding:1px var(--lp-space-1);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);background:var(--lp-inset);color:var(--lp-text);font-size:var(--lp-font-xxs);font-family:inherit;text-align:right}.lp-toolbox-slider-value-input:focus{outline:none;border-color:var(--lp-primary)}.lp-toolbox-lock-btn{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);background:var(--lp-surface-alt);color:var(--lp-text-muted);cursor:pointer;font-size:12px;padding:0}.lp-toolbox-lock-btn.is-active{background:var(--lp-primary-soft);color:var(--lp-primary);border-color:var(--lp-primary)}.lp-layer-row{position:relative;padding:var(--lp-space-3);margin:0 var(--lp-space-3) 4px;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--lp-space-2);transition:background .12s ease,border-color .12s ease}.lp-layer-row.is-active{background:var(--lp-primary-soft);border-color:var(--lp-primary)}.lp-layer-row.is-dragging{opacity:.4}.lp-layer-drop-indicator{position:absolute;left:0;right:0;height:2px;background:var(--lp-primary);pointer-events:none;z-index:5}.lp-layer-drop-indicator.is-top{top:-1px}.lp-layer-drop-indicator.is-bottom{bottom:-1px}.lp-timeline-layer-label>.lp-layer-drop-indicator.is-top{top:0}.lp-timeline-layer-label>.lp-layer-drop-indicator.is-bottom{bottom:0}.lp-palette-grid{display:flex;flex-wrap:wrap}.lp-palette-swatch{position:relative;background-image:linear-gradient(45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(-45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--lp-checker-neutral) 75%),linear-gradient(-45deg,transparent 75%,var(--lp-checker-neutral) 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0}.lp-palette-swatch.is-dragging{opacity:.4}.lp-palette-swatch.is-active{outline:1px solid var(--lp-on-primary);outline-offset:-1px}.lp-palette-swatch-checker,.lp-palette-swatch-fill{position:absolute;inset:0;pointer-events:none}.lp-palette-drop-indicator{position:absolute;top:0;bottom:0;width:2px;background:var(--lp-primary);pointer-events:none;z-index:5}.lp-palette-drop-indicator.is-before{left:-1px}.lp-palette-drop-indicator.is-after{right:-1px}.lp-ruler{background:var(--lp-ruler-bg);color:var(--lp-ruler-text);overflow:hidden;position:relative}.lp-ruler-h{grid-column:2;grid-row:1}.lp-ruler-v{grid-column:1;grid-row:2}.lp-ruler-corner{grid-column:1;grid-row:1;background:var(--lp-ruler-bg);border-right:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border)}.lp-ruler-canvas{display:block;width:100%;height:100%}.lp-transform-handles-overlay{position:absolute;inset:0;pointer-events:none}.lp-transform-bbox{pointer-events:auto;cursor:move;position:absolute;border:1px dashed var(--lp-primary);box-sizing:border-box}.lp-transform-handle{position:absolute;pointer-events:auto;touch-action:none}.lp-transform-handle--scale{background:var(--lp-on-primary);border:1px solid var(--lp-primary);box-sizing:border-box}.lp-transform-handle--rotate{border-radius:50%;background:var(--lp-on-primary);border:1px solid var(--lp-primary);box-sizing:border-box}.lp-transform-rotate-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.lp-transform-rotated-bbox{fill:transparent;stroke:var(--lp-primary);stroke-width:1;stroke-dasharray:3 2;vector-effect:non-scaling-stroke;pointer-events:all;cursor:move}.lp-transform-rotate-line{stroke:var(--lp-primary);stroke-width:1;vector-effect:non-scaling-stroke}.lp-transform-handle--nw,.lp-transform-handle--se{cursor:nwse-resize}.lp-transform-handle--ne,.lp-transform-handle--sw{cursor:nesw-resize}.lp-transform-handle--n,.lp-transform-handle--s{cursor:ns-resize}.lp-transform-handle--e,.lp-transform-handle--w{cursor:ew-resize}.lp-transform-handle--rotate{cursor:grab}.lp-transform-handle--rotate:active{cursor:grabbing}.lp-timeline{background:var(--lp-surface);border-top:var(--lp-border-width) solid var(--lp-border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.lp-timeline.is-collapsed{height:var(--lp-timeline-collapsed-height)}.lp-timeline-bar{display:flex;align-items:center;gap:var(--lp-space-2);padding:var(--lp-space-1) var(--lp-space-3);height:var(--lp-timeline-bar-height);flex-shrink:0;border-bottom:var(--lp-border-width) solid var(--lp-border)}.lp-timeline-bar.is-collapsed{border-bottom:0;height:var(--lp-timeline-collapsed-height)}.lp-timeline-bar-spacer{flex:1}.lp-timeline-bar-counter{color:var(--lp-text-muted);font-size:var(--lp-font-xxs);font-family:var(--lp-font-mono);min-width:86px;text-align:center}.lp-timeline-btn{border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);width:26px;height:22px;padding:0;font-size:var(--lp-font-xs)}.lp-timeline-btn:hover:not(:disabled){border-color:var(--lp-border-strong)}.lp-timeline-btn:disabled{opacity:.3;cursor:default}.lp-timeline-btn.is-wide{width:auto;padding:0 var(--lp-space-3)}.lp-timeline-duration{width:56px;height:22px;background:var(--lp-inset);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);color:var(--lp-text);font-size:var(--lp-font-xs);font-family:var(--lp-font-mono);font-variant-numeric:tabular-nums;text-align:right;padding:0 var(--lp-space-2);outline:none}.lp-timeline-duration:focus{border-color:var(--lp-primary)}.lp-timeline-duration:disabled{opacity:.4}.lp-timeline-bar-unit{font-size:var(--lp-font-xxs);color:var(--lp-text-muted);white-space:nowrap}.lp-timeline-fps-input{width:52px;height:22px;background:var(--lp-inset);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);color:var(--lp-text);font-size:var(--lp-font-xs);font-family:var(--lp-font-mono);font-variant-numeric:tabular-nums;text-align:right;padding:0 var(--lp-space-2);outline:none}.lp-timeline-fps-input:focus{border-color:var(--lp-primary)}.lp-timeline-fps-input:disabled{opacity:.4}.lp-timeline-onion-label{display:flex;align-items:center;gap:var(--lp-space-1);font-size:var(--lp-font-xxs);color:var(--lp-text-muted);white-space:nowrap}.lp-timeline-onion-input{width:36px;padding:2px 4px;border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm);background:var(--lp-inset);color:var(--lp-text);font-size:var(--lp-font-xxs);font-family:var(--lp-font-mono);font-variant-numeric:tabular-nums;text-align:center}.lp-timeline-onion-input:disabled{opacity:.5;cursor:not-allowed}.lp-timeline-body{flex:1;display:grid;grid-template-rows:var(--lp-timeline-tag-bar-height) 1fr;overflow:auto;background:var(--lp-timeline-grid-bg);position:relative}.lp-timeline-frame-header-cell{display:flex;align-items:center;justify-content:center;font-size:var(--lp-font-xxs);font-family:var(--lp-font-mono);color:var(--lp-text-muted);cursor:pointer;border-right:1px solid var(--lp-border);min-height:var(--lp-timeline-tag-bar-height);position:relative;z-index:1;background:transparent;-webkit-user-select:none;user-select:none;min-width:0;overflow:hidden}.lp-timeline-frame-header-cell:hover{color:var(--lp-text);background:var(--color-bg-hover)}.lp-timeline-frame-header-cell.is-phantom{opacity:.4}.lp-timeline-frame-header-cell.is-phantom:hover{opacity:.55;background:transparent}.lp-compact-cel.is-phantom-cel{background:transparent;cursor:pointer;border-right:.5px dotted color-mix(in srgb,var(--lp-border) 50%,transparent)}.lp-compact-cel.is-phantom-cel:hover{background:color-mix(in srgb,var(--lp-primary) 5%,transparent)}.lp-timeline-frame-header-cell.is-active{color:var(--lp-primary);font-weight:600}.lp-timeline-playhead{position:absolute;top:0;bottom:0;pointer-events:none;z-index:3;border-left:2px solid color-mix(in srgb,var(--lp-primary) 30%,transparent);border-right:2px solid color-mix(in srgb,var(--lp-primary) 30%,transparent);background:color-mix(in srgb,var(--lp-primary) 8%,transparent)}.lp-timeline-playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--lp-primary)}.lp-timeline-frameless-notice{position:absolute;top:var(--lp-timeline-tag-bar-height);left:var(--lp-timeline-label-width);right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lp-space-2);padding:var(--lp-space-4);text-align:center;color:var(--lp-text-muted);background:var(--lp-surface);border-left:var(--lp-border-width) solid var(--lp-border);pointer-events:none}.lp-timeline-frameless-notice__title{font-size:var(--lp-font-sm);font-weight:var(--lp-font-weight-semi);color:var(--lp-text)}.lp-timeline-frameless-notice__body{font-size:var(--lp-font-xs);max-width:var(--lp-notice-max-width);line-height:var(--lp-line-height-relaxed)}.lp-timeline-tags-row,.lp-timeline-grid{display:grid;grid-auto-flow:row}.lp-timeline-tags-row{position:sticky;top:0;z-index:4;background:var(--lp-surface-alt);border-bottom:var(--lp-border-width) solid var(--lp-border);height:var(--lp-timeline-tag-bar-height)}.lp-timeline-tag{position:relative;z-index:0;align-self:end;height:4px;font-size:var(--lp-font-xxs);color:var(--lp-on-primary);cursor:pointer;border-radius:2px;margin:0 0 1px;-webkit-user-select:none;user-select:none;grid-row:1}.lp-timeline-tag-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;pointer-events:none}.lp-timeline-grid{grid-auto-rows:minmax(var(--lp-timeline-cel-size),auto);position:relative}.lp-timeline-row-trailing-spacer{background:transparent}.lp-timeline-group-row-spacer{background:repeating-linear-gradient(45deg,transparent,transparent 6px,var(--lp-surface-2) 6px,var(--lp-surface-2) 7px);opacity:.4;border-bottom:1px solid var(--lp-border)}.lp-timeline-drop-preview{position:absolute;inset:0;pointer-events:none;z-index:2}.lp-timeline-drop-preview-cell{position:absolute;border:2px solid var(--lp-primary);background:color-mix(in srgb,var(--lp-primary) 22%,transparent);border-radius:var(--lp-radius-sm);box-sizing:border-box}.lp-timeline-drop-preview-line{position:absolute;width:3px;background:var(--lp-primary)}.lp-timeline-drop-preview-line:before,.lp-timeline-drop-preview-line:after{content:"";position:absolute;left:50%;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;transform:translate(-50%)}.lp-timeline-drop-preview-line:before{top:-2px;border-top:5px solid var(--lp-primary)}.lp-timeline-drop-preview-line:after{bottom:-2px;border-bottom:5px solid var(--lp-primary)}.lp-timeline-layer-label{position:relative;display:flex;flex-direction:column;justify-content:center;padding:var(--lp-space-2) var(--lp-space-3);padding-left:calc(var(--lp-space-3) + var(--lp-depth, 0) * var(--lp-tree-indent-step));border-bottom:1px solid var(--lp-border);border-right:1px solid var(--lp-border);cursor:pointer;overflow:hidden;background:transparent;transition:background .12s ease}.lp-timeline-layer-label:hover{background:var(--color-bg-hover)}.lp-timeline-layer-label.is-dragging{opacity:.4}.lp-timeline-layer-label.lp-timeline-layer-row--group{font-weight:600}.lp-timeline-layer-label.lp-timeline-layer-row--child{background:transparent}.lp-timeline-layer-label.is-selected:not(.is-active),.lp-timeline-layer-label.lp-timeline-layer-row--group.is-selected:not(.is-active),.lp-timeline-layer-label.lp-timeline-layer-row--child.is-selected:not(.is-active){background:color-mix(in srgb,var(--lp-primary) 22%,transparent);box-shadow:inset 3px 0 color-mix(in srgb,var(--lp-primary) 75%,transparent);font-weight:600}.lp-timeline-layer-label.is-active,.lp-timeline-layer-label.lp-timeline-layer-row--group.is-active,.lp-timeline-layer-label.lp-timeline-layer-row--child.is-active{background:color-mix(in srgb,var(--lp-primary) 40%,transparent);box-shadow:inset 4px 0 0 var(--lp-primary);font-weight:600}.lp-timeline-layer-row--drop-target{outline:2px solid var(--lp-primary);outline-offset:-2px;background:color-mix(in srgb,var(--lp-primary) 18%,transparent)}.lp-timeline-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;cursor:pointer;font-size:10px;color:var(--lp-text-muted);flex-shrink:0;-webkit-user-select:none;user-select:none;background:none;border:none;padding:0}.lp-timeline-group-chevron:hover{color:var(--lp-text)}.lp-timeline-layer-type-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;font-size:12px;color:var(--lp-text-muted)}.lp-timeline-layer-controls{display:flex;align-items:center;gap:var(--lp-space-1);width:100%;min-width:0}.lp-timeline-layer-icon-btn{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;flex-shrink:0}.lp-timeline-layer-name{flex:1;font-size:var(--lp-font-xxs);color:var(--lp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.lp-timeline-layer-name-input{flex:1;min-width:0;font-size:var(--lp-font-xxs);font-family:inherit;color:var(--lp-text);background:var(--lp-input-bg);border:1px solid var(--lp-primary);border-radius:var(--lp-radius-sm);padding:0 var(--lp-space-1);outline:none}.lp-timeline-corner-cell{display:flex;align-items:center;justify-content:center;border-bottom:var(--lp-border-width) solid var(--lp-border);border-right:var(--lp-border-width) solid var(--lp-border);position:relative}.lp-timeline-name-resize{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;background:transparent;touch-action:none;z-index:1}.lp-timeline-name-resize:hover,.lp-timeline-name-resize:active{background:var(--lp-primary);opacity:.4}.lp-timeline-layer-props{display:flex;align-items:center;gap:var(--lp-space-2);padding:var(--lp-space-1) 0 0 0;width:100%;min-width:0}.lp-timeline-layer-props span{font-size:var(--lp-font-xxs);color:var(--lp-text-muted);min-width:var(--lp-opacity-label-width);text-align:right;flex-shrink:0}.lp-timeline-layer-props input[type=range]{flex:1;min-width:0}.lucuma-pix-root input[type=range]{-webkit-appearance:none;appearance:none;height:var(--lp-slider-thumb-size);background:transparent;cursor:pointer;--pct: 0%;accent-color:var(--lp-primary)}.lucuma-pix-root input[type=range]:disabled{opacity:.4;cursor:not-allowed}.lucuma-pix-root input[type=range]::-webkit-slider-runnable-track{height:var(--lp-slider-height);border-radius:99px;background:linear-gradient(to right,var(--lp-primary) var(--pct),var(--lp-border-strong) var(--pct))}.lucuma-pix-root input[type=range]::-moz-range-track{height:var(--lp-slider-height);border-radius:99px;background:linear-gradient(to right,var(--lp-primary) var(--pct),var(--lp-border-strong) var(--pct))}.lucuma-pix-root input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--lp-slider-thumb-size);height:var(--lp-slider-thumb-size);border-radius:50%;background:var(--lp-primary);box-shadow:var(--lp-shadow-chip);margin-top:calc((var(--lp-slider-height) - var(--lp-slider-thumb-size)) / 2)}.lucuma-pix-root input[type=range]::-moz-range-thumb{width:var(--lp-slider-thumb-size);height:var(--lp-slider-thumb-size);border:none;border-radius:50%;background:var(--lp-primary);box-shadow:var(--lp-shadow-chip)}.lucuma-pix-root input[type=range]:hover::-webkit-slider-thumb,.lucuma-pix-root input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--lp-primary-soft),var(--lp-shadow-chip)}.lucuma-pix-root input[type=range]:hover::-moz-range-thumb,.lucuma-pix-root input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 6px var(--lp-primary-soft),var(--lp-shadow-chip)}.lucuma-pix-root input[type=range]:focus-visible{outline:none}.lp-editable-value{cursor:text}.lp-editable-value-input{background:var(--lp-input-bg);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);color:var(--lp-text);font-family:inherit;font-variant-numeric:tabular-nums;padding:0 var(--lp-space-1);-moz-appearance:textfield;appearance:textfield}.lp-editable-value-input::-webkit-outer-spin-button,.lp-editable-value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lp-timeline-layer-props select{background:var(--lp-surface);color:var(--lp-text-muted);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);font-size:var(--lp-font-xxs);padding:var(--lp-space-0) var(--lp-space-1);font-family:inherit;min-width:0;max-width:72px}.lp-timeline-cel{border:2px solid var(--lp-border);cursor:pointer;padding:2px;background:var(--lp-timeline-thumb-bg);display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;border-radius:var(--lp-radius-sm);transition:border-color .12s ease,box-shadow .12s ease}.lp-timeline-cel.is-active{border-color:var(--lp-primary);background:var(--lp-bg);box-shadow:0 0 0 2px var(--lp-bg),0 0 16px var(--lp-primary-soft)}.lp-timeline-cel:hover:not(.is-active){border-color:var(--lp-border-strong)}.lp-timeline-cel-canvas{width:100%;height:100%;image-rendering:pixelated;display:block;background-image:linear-gradient(45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(-45deg,var(--lp-checker-neutral) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--lp-checker-neutral) 75%),linear-gradient(-45deg,transparent 75%,var(--lp-checker-neutral) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.lp-timeline-cel-empty{width:100%;height:100%;background-image:linear-gradient(45deg,var(--lp-checker-selected) 25%,transparent 25%),linear-gradient(-45deg,var(--lp-checker-selected) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--lp-checker-selected) 75%),linear-gradient(-45deg,transparent 75%,var(--lp-checker-selected) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.lp-compact-cel{display:flex;align-items:center;justify-content:center;cursor:pointer;border-right:.5px solid var(--lp-border);border-bottom:.5px solid var(--lp-border);position:relative;box-sizing:border-box;min-height:var(--lp-timeline-row-height-compact)}.lp-compact-cel.is-active-frame{background:var(--lp-primary-soft)}.lp-compact-cel.is-keyframe{background:transparent}.lp-compact-cel.is-held,.lp-compact-cel.is-in-chain{background:color-mix(in srgb,var(--lp-primary) 22%,var(--lp-primary-soft))}.lp-compact-cel.is-in-chain.is-empty-chain{background:var(--lp-primary-soft)}.lp-compact-cel.is-chain-mid{border-right-color:transparent}.lp-compact-cel.is-chain-end{border-right:1px solid var(--lp-primary)}.lp-compact-cel-dot{width:8px;height:8px;border-radius:50%;background:var(--lp-primary);flex-shrink:0}.lp-compact-cel-dot.is-hollow{background:transparent;border:1.5px solid var(--lp-primary);box-sizing:border-box}.lp-compact-cel:hover{background:var(--color-bg-hover)}.lp-timeline-cel-keyframe-dot{position:absolute;top:4px;left:4px;width:6px;height:6px;border-radius:50%;background:var(--lp-primary);z-index:1;pointer-events:none}.lp-timeline-cel-keyframe-dot.is-hollow{background:transparent;border:1.5px solid var(--lp-primary);box-sizing:border-box}.lp-timeline-grid.is-compact{grid-auto-rows:var(--lp-timeline-row-height-compact)}.lp-timeline-grid.is-compact .lp-timeline-layer-label{padding-top:2px;padding-right:var(--lp-space-2);padding-bottom:2px;padding-left:calc(var(--lp-space-2) + var(--lp-depth, 0) * var(--lp-tree-indent-step))}.lp-timeline-grid.is-compact .lp-timeline-layer-props{display:none}.lp-timeline-grid.is-compact .lp-timeline-layer-controls{gap:2px}.lp-timeline-grid.is-compact .lp-timeline-layer-name,.lp-timeline-grid.is-compact .lp-timeline-layer-name-input{font-size:10px}.lp-compact-cel.drop-left:before,.lp-timeline-cel.drop-left:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--lp-primary);z-index:2;pointer-events:none}.lp-compact-cel.drop-right:after,.lp-timeline-cel.drop-right:after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:2px;background:var(--lp-primary);z-index:2;pointer-events:none}.lp-compact-cel.is-dragging,.lp-timeline-cel.is-dragging{opacity:.3}.lp-compact-cel.drop-target,.lp-timeline-cel.drop-target{background:var(--lp-primary-soft);outline:2px solid var(--lp-primary);outline-offset:-2px}.lp-compact-cel.drop-replace,.lp-timeline-cel.drop-replace{background:color-mix(in srgb,var(--lp-primary) 25%,transparent);outline:2px solid var(--lp-primary);outline-offset:-2px}@keyframes lp-cel-drop-flash{0%{box-shadow:0 0 0 3px var(--lp-primary)}to{box-shadow:0 0 0 0 transparent}}.lp-compact-cel.just-dropped,.lp-timeline-cel.just-dropped{animation:lp-cel-drop-flash .4s ease-out}.lp-compact-cel.is-keyframe:not(.is-dragging){cursor:grab}.lp-compact-cel.is-keyframe.is-dragging{cursor:grabbing}.lp-cel-drag-ghost{position:fixed;top:-100px;left:-100px;width:24px;height:24px;border-radius:50%;background:var(--lp-primary);opacity:.9;pointer-events:none}.lp-cel-drag-ghost-badge{position:absolute;top:-6px;right:-6px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--lp-primary);color:var(--lp-on-primary);font-size:9px;font-weight:700;line-height:14px;text-align:center;pointer-events:none;z-index:1}.lp-cel-drag-ghost.is-shape{width:auto;height:auto;border-radius:0;background:transparent}.lp-cel-drag-ghost-mini{position:absolute;background:var(--lp-keyframe-marker);border-radius:2px;opacity:1;box-shadow:inset 0 0 0 1px var(--lp-outline-light),0 0 0 1px var(--lp-outline-dark);pointer-events:none}.lp-compact-cel.is-selected,.lp-timeline-cel.is-selected{background:color-mix(in srgb,var(--lp-primary) 15%,transparent)}.lp-compact-cel.is-selected.is-border-top:not(.is-border-right):after,.lp-timeline-cel.is-selected.is-border-top:not(.is-border-right):after{content:"";position:absolute;top:0;left:0;right:-1px;height:2px;background:var(--lp-primary);pointer-events:none;z-index:2}.lp-compact-cel.is-selected.is-border-bottom:not(.is-border-right):before,.lp-timeline-cel.is-selected.is-border-bottom:not(.is-border-right):before{content:"";position:absolute;bottom:0;left:0;right:-1px;height:2px;background:var(--lp-primary);pointer-events:none;z-index:2}.lp-compact-cel.is-selected.is-border-top,.lp-timeline-cel.is-selected.is-border-top{box-shadow:inset 0 2px 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-right,.lp-timeline-cel.is-selected.is-border-right{box-shadow:inset -2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-bottom,.lp-timeline-cel.is-selected.is-border-bottom{box-shadow:inset 0 -2px 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-left,.lp-timeline-cel.is-selected.is-border-left{box-shadow:inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-top.is-border-right,.lp-timeline-cel.is-selected.is-border-top.is-border-right{box-shadow:inset 0 2px 0 0 var(--lp-primary),inset -2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-top.is-border-bottom,.lp-timeline-cel.is-selected.is-border-top.is-border-bottom{box-shadow:inset 0 2px 0 0 var(--lp-primary),inset 0 -2px 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-top.is-border-left,.lp-timeline-cel.is-selected.is-border-top.is-border-left{box-shadow:inset 0 2px 0 0 var(--lp-primary),inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-right.is-border-bottom,.lp-timeline-cel.is-selected.is-border-right.is-border-bottom{box-shadow:inset -2px 0 0 0 var(--lp-primary),inset 0 -2px 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-right.is-border-left,.lp-timeline-cel.is-selected.is-border-right.is-border-left{box-shadow:inset -2px 0 0 0 var(--lp-primary),inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-bottom.is-border-left,.lp-timeline-cel.is-selected.is-border-bottom.is-border-left{box-shadow:inset 0 -2px 0 0 var(--lp-primary),inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-top.is-border-right.is-border-bottom,.lp-timeline-cel.is-selected.is-border-top.is-border-right.is-border-bottom{box-shadow:inset 0 2px 0 0 var(--lp-primary),inset -2px 0 0 0 var(--lp-primary),inset 0 -2px 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-top.is-border-right.is-border-left,.lp-timeline-cel.is-selected.is-border-top.is-border-right.is-border-left{box-shadow:inset 0 2px 0 0 var(--lp-primary),inset -2px 0 0 0 var(--lp-primary),inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-top.is-border-bottom.is-border-left,.lp-timeline-cel.is-selected.is-border-top.is-border-bottom.is-border-left{box-shadow:inset 0 2px 0 0 var(--lp-primary),inset 0 -2px 0 0 var(--lp-primary),inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-right.is-border-bottom.is-border-left,.lp-timeline-cel.is-selected.is-border-right.is-border-bottom.is-border-left{box-shadow:inset -2px 0 0 0 var(--lp-primary),inset 0 -2px 0 0 var(--lp-primary),inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected.is-border-top.is-border-right.is-border-bottom.is-border-left,.lp-timeline-cel.is-selected.is-border-top.is-border-right.is-border-bottom.is-border-left{box-shadow:inset 0 2px 0 0 var(--lp-primary),inset -2px 0 0 0 var(--lp-primary),inset 0 -2px 0 0 var(--lp-primary),inset 2px 0 0 0 var(--lp-primary)}.lp-compact-cel.is-selected[data-on-border=true],.lp-timeline-cel.is-selected[data-on-border=true]{cursor:move}.lp-transient-notice{padding:var(--lp-space-3) var(--lp-space-5);border-radius:var(--lp-radius-md);font-size:var(--lp-font-sm);font-weight:500;color:var(--lp-text);background:var(--lp-surface);border:var(--lp-border-width) solid var(--lp-border);box-shadow:0 4px 12px color-mix(in srgb,var(--lp-shadow, #000) 25%,transparent);cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:all;max-width:480px;text-align:center;animation:lp-notice-in .2s ease-out}.lp-transient-notice.is-error{background:color-mix(in srgb,var(--lp-danger, #d04a3b) 18%,var(--lp-surface));border-color:var(--lp-danger, #d04a3b)}@keyframes lp-notice-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.lp-timeline-frame-header{position:sticky;top:0;z-index:1;height:100%;background:var(--lp-surface-alt);display:flex;align-items:center;justify-content:center;font-size:var(--lp-font-xxs);color:var(--lp-text-muted);border-bottom:var(--lp-border-width) solid var(--lp-border)}.lp-import-dropzone{border:2px dashed var(--lp-border);border-radius:var(--lp-radius-md);padding:var(--lp-space-7);text-align:center;cursor:pointer;transition:border-color .2s;min-height:120px;display:flex;align-items:center;justify-content:center;color:var(--lp-text-muted);font-size:var(--lp-font-sm)}.lp-import-dropzone:hover,.lp-import-dropzone--dragover{border-color:var(--lp-primary);color:var(--lp-text)}.lp-import-preview-wrap{position:relative;display:flex;justify-content:center;background:var(--lp-canvas-bg);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-md);overflow:hidden;min-height:120px;padding:var(--lp-space-3)}.lp-import-preview-canvas{image-rendering:pixelated;display:block;max-width:100%;height:auto}.lp-import-candidates{display:flex;gap:var(--lp-space-3);flex-wrap:wrap;align-items:center;margin:var(--lp-space-2) 0}.lp-import-chip{padding:var(--lp-space-1) var(--lp-space-3);background:var(--lp-surface-alt);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);color:var(--lp-text);font-family:inherit;font-size:var(--lp-font-xs);cursor:pointer}.lp-import-chip:hover{border-color:var(--lp-primary)}.lp-import-chip--active{background:var(--lp-primary-soft);border-color:var(--lp-primary);color:var(--lp-primary)}.lp-import-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--lp-space-5);margin:var(--lp-space-3) 0}.lp-import-frame-count{font-size:var(--lp-font-sm);color:var(--lp-text-muted);margin:var(--lp-space-2) 0 var(--lp-space-3)}.lp-import-error{color:var(--color-error);font-size:var(--lp-font-xs);margin-top:var(--lp-space-1)}.lp-grid-cfg-preview-wrap{position:relative;display:flex;justify-content:center;background:var(--lp-canvas-bg);border-radius:var(--lp-radius-sm);overflow:hidden;min-height:120px;margin-bottom:var(--lp-space-3)}.lp-grid-cfg-preview-canvas{image-rendering:pixelated}.lp-grid-cfg-chips{display:flex;gap:var(--lp-space-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--lp-space-3)}.lp-grid-cfg-row{display:flex;gap:var(--lp-space-3);align-items:center;margin-bottom:var(--lp-space-3);flex-wrap:wrap}.lp-grid-cfg-label{color:var(--lp-text-muted);font-size:var(--lp-font-xs);min-width:80px}.lp-grid-cfg-input{width:64px;padding:var(--lp-space-1) var(--lp-space-2);background:var(--lp-input-bg);color:var(--lp-text);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);font-family:inherit;font-size:var(--lp-font-sm);text-align:center}.lp-grid-cfg-input:focus{border-color:var(--lp-primary);outline:none}.lp-grid-cfg-unit{color:var(--lp-text-muted);font-size:var(--lp-font-xxs)}.lp-grid-cfg-radio{display:flex;gap:var(--lp-space-3);align-items:center}.lp-grid-cfg-radio label{display:flex;align-items:center;gap:var(--lp-space-1);cursor:pointer;font-size:var(--lp-font-sm);color:var(--lp-text)}.lp-grid-cfg-status{font-size:var(--lp-font-sm);color:var(--lp-text-muted);margin-top:var(--lp-space-2)}.lp-grid-cfg-error{font-size:var(--lp-font-sm);color:var(--lp-danger);margin-top:var(--lp-space-2)}.lp-iw-preview{display:flex;align-items:center;justify-content:center;background:var(--lp-canvas-bg);border-radius:var(--lp-radius-sm);padding:var(--lp-space-3);height:200px;overflow:hidden}.lp-iw-preview img,.lp-iw-preview canvas{max-height:180px;max-width:100%;object-fit:contain;image-rendering:pixelated}.lp-iw-select-preview{display:flex;height:var(--lp-iw-select-preview-height, 220px);min-height:0;border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);overflow:hidden}.lp-iw-select-preview--loading{align-items:center;justify-content:center;background:var(--lp-canvas-bg)}.lp-iw-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lp-space-3);color:var(--lp-text-muted);font-size:var(--lp-font-sm)}.lp-iw-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--lp-space-3)}.lp-iw-mode-card{width:100%;padding:var(--lp-space-5) var(--lp-space-4);background:var(--lp-surface-alt);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--lp-space-3);text-align:center;color:var(--lp-text);font-family:inherit;transition:border-color .15s,background .15s}.lp-iw-mode-card:hover:not(:disabled){border-color:var(--lp-primary);background:var(--lp-surface)}.lp-iw-mode-card:disabled{opacity:.5;cursor:not-allowed}.lp-iw-mode-icon{font-size:var(--lp-font-icon)}.lp-iw-mode-label{font-size:var(--lp-font-sm);font-weight:700}.lp-iw-mode-desc{font-size:var(--lp-font-xxs);color:var(--lp-text-muted)}.lp-iw-section-label{font-size:var(--lp-font-sm);color:var(--lp-text-muted);margin:0}.lp-iw-error{color:var(--lp-danger);font-size:var(--lp-font-sm)}.lp-iw-loading{color:var(--lp-text-muted);font-size:var(--lp-font-sm);text-align:center;padding:var(--lp-space-5);flex:1;display:flex;align-items:center;justify-content:center}.lp-iw-crop-canvas{cursor:crosshair;image-rendering:pixelated;display:block;touch-action:none}.lp-gif-preview-canvas{image-rendering:pixelated;display:block}.lp-gif-controls{display:flex;gap:var(--lp-space-3);align-items:center;margin:var(--lp-space-3) 0}.lp-gif-summary{font-size:var(--lp-font-sm);color:var(--lp-text-muted)}.lp-gif-truncation-warning{font-size:var(--lp-font-sm);color:var(--lp-warning, var(--lp-primary));background:var(--lp-surface-alt);border:var(--lp-border-width) solid var(--lp-warning, var(--lp-primary));border-radius:var(--lp-radius-sm);padding:var(--lp-space-2) var(--lp-space-3);text-align:center;font-weight:700}.lp-iw-crop-zoom-hint{color:var(--lp-text-faint);font-size:var(--lp-font-xxs);text-align:center;display:block;margin-top:var(--lp-space-1)}.lp-iw-crop-fields{display:flex;gap:var(--lp-space-3);align-items:center;flex-wrap:wrap}.lp-iw-crop-field-label{color:var(--lp-text-muted);font-size:var(--lp-font-xs);min-width:16px;text-align:right}.lp-iw-crop-status{font-size:var(--lp-font-sm);color:var(--lp-text-muted);margin-top:var(--lp-space-2)}.lp-tab-bar{display:flex;align-items:stretch;gap:0;background:var(--lp-bg);border-bottom:1px solid var(--lp-border);overflow-x:auto;scrollbar-width:none;min-height:var(--lp-tab-bar-height);flex-shrink:0;transition:background var(--lp-transition-fast),box-shadow var(--lp-transition-fast)}.lp-tab-bar::-webkit-scrollbar{display:none}.lp-tab-bar--drag-over{background:var(--color-bg-hover);box-shadow:inset 0 0 0 2px var(--lp-primary)}.lp-tab-bar--loading{cursor:progress}.lp-tab-bar__loading{display:inline-flex;align-items:center;padding:0 var(--lp-space-4);font-size:var(--lp-font-sm);color:var(--lp-primary);font-style:italic;flex-shrink:0}.lp-tab{display:flex;align-items:center;gap:var(--lp-space-3);padding:var(--lp-space-2) var(--lp-space-4) var(--lp-space-2) var(--lp-space-5);font-size:var(--lp-font-sm);color:var(--lp-text-muted);background:transparent;border:none;border-right:1px solid var(--lp-border);cursor:pointer;white-space:nowrap;max-width:var(--lp-tab-max-width);-webkit-user-select:none;user-select:none;transition:background var(--lp-transition-fast),color var(--lp-transition-fast);font-family:inherit}.lp-tab:hover{background:var(--color-bg-hover)}.lp-tab--active{color:var(--lp-text);background:var(--lp-surface);border-bottom:var(--lp-tab-active-underline-width) solid var(--lp-primary)}.lp-tab:focus-visible{outline:2px solid var(--lp-primary);outline-offset:-2px}.lp-tab__name{overflow:hidden;text-overflow:ellipsis;max-width:var(--lp-tab-name-max-width)}.lp-tab__dirty{color:var(--lp-primary);font-size:var(--lp-font-md);line-height:1}.lp-tab__close{display:inline-flex;align-items:center;justify-content:center;width:var(--lp-tab-close-size);height:var(--lp-tab-close-size);border:none;background:transparent;color:var(--lp-text-muted);border-radius:var(--lp-radius-sm);cursor:pointer;font-size:var(--lp-font-lg);line-height:1;padding:0}.lp-tab__close svg{width:100%;height:100%;display:block}.lp-tab__close:hover:not(:disabled){background:var(--lp-danger);color:var(--lp-on-primary)}.lp-tab__close:disabled{opacity:var(--lp-tab-disabled-opacity);cursor:default;pointer-events:none}.lp-tab-bar__add{display:flex;align-items:center;justify-content:center;width:var(--lp-tab-add-size);min-width:var(--lp-tab-add-size);border:none;background:transparent;color:var(--lp-text-muted);cursor:pointer;font-size:var(--lp-font-2xl);flex-shrink:0;font-family:inherit}.lp-tab-bar__add svg{width:60%;height:60%;display:block}.lp-tab-bar__add:hover{color:var(--lp-text);background:var(--color-bg-hover)}.lp-dropdown{position:relative;display:inline-flex}.lp-dropdown__menu{position:absolute;top:100%;right:0;margin-top:var(--lp-space-1);background:var(--lp-surface);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);box-shadow:0 4px 12px var(--lp-shadow-color-soft);z-index:100;min-width:180px;padding:var(--lp-space-1) 0}.lp-dropdown__item{display:flex;align-items:center;gap:var(--lp-space-3);width:100%;padding:var(--lp-space-2) var(--lp-space-4);background:transparent;border:none;color:var(--lp-text);font-size:var(--lp-font-sm);font-family:inherit;cursor:pointer;text-align:left;white-space:nowrap;line-height:1}.lp-dropdown__item>svg{flex-shrink:0;width:14px;height:14px}.lp-dropdown__item:hover{background:var(--lp-surface-alt)}.lp-menubar{display:flex;align-items:stretch;height:var(--lp-menubar-height);flex-shrink:0;background:var(--lp-surface);border-bottom:var(--lp-border-width) solid var(--lp-border);padding:0 var(--lp-space-2)}.lp-menubar__menu{position:relative;display:flex}.lp-menubar__title{background:transparent;border:none;color:var(--lp-text);font-family:inherit;font-size:var(--lp-font-xs);padding:0 var(--lp-space-3);cursor:pointer;white-space:nowrap;line-height:1}.lp-menubar__title:focus,.lp-menubar__title:focus-visible{outline:none}.lp-menubar__title:hover:not(:disabled){background:var(--lp-surface-alt)}.lp-menubar__title.is-open{background:var(--lp-primary-soft);color:var(--lp-primary-hi)}.lp-menubar__title:focus-visible:not(.is-open){background:var(--lp-surface-alt)}.lp-menubar__title:disabled{color:var(--lp-text-faint);cursor:default}.lp-menubar__dropdown{position:absolute;top:100%;left:0;margin-top:var(--lp-border-width);background:var(--lp-surface);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);box-shadow:0 4px 12px var(--lp-shadow-color-soft);z-index:100;min-width:220px;padding:var(--lp-space-1) 0}.lp-menubar__item{display:flex;align-items:center;gap:var(--lp-space-2);width:100%;padding:var(--lp-space-2) var(--lp-space-3);background:transparent;border:none;color:var(--lp-text);font-size:var(--lp-font-sm);font-family:inherit;cursor:pointer;text-align:left;white-space:nowrap;line-height:1}.lp-menubar__item:hover:not(.is-disabled){background:var(--lp-surface-alt)}.lp-menubar__item.is-disabled{color:var(--lp-text-faint);cursor:default}.lp-menubar__item.has-separator{border-top:var(--lp-border-width) solid var(--lp-border);margin-top:var(--lp-space-1);padding-top:calc(var(--lp-space-2) + var(--lp-space-1))}.lp-menubar__check{flex-shrink:0;width:12px;text-align:center;color:var(--lp-primary);font-size:var(--lp-font-xs)}.lp-menubar__label{flex:1}.lp-menubar__shortcut{flex-shrink:0;margin-left:var(--lp-space-5);color:var(--lp-text-muted);font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs)}.lp-menubar__submenu-host{position:relative}.lp-menubar__chevron{flex-shrink:0;margin-left:var(--lp-space-5);color:var(--lp-text-muted);font-size:var(--lp-font-xxs);line-height:1}.lp-menubar__item.has-submenu:hover:not(.is-disabled) .lp-menubar__chevron,.lp-menubar__item.has-submenu[aria-expanded=true] .lp-menubar__chevron{color:var(--lp-text)}.lp-menubar__submenu{position:absolute;top:calc(-1 * var(--lp-space-1) - var(--lp-border-width));left:100%;margin-top:0;margin-left:var(--lp-border-width);z-index:101}.lp-menubar__submenu.lp-menubar__submenu--flip-left{left:auto;right:100%;margin-left:0;margin-right:var(--lp-border-width)}.lp-tileset-preview{display:flex;flex-direction:column;gap:var(--lp-space-2);padding:var(--lp-space-3);background:var(--lp-surface);border-left:var(--lp-border-width) solid var(--lp-border);height:100%;overflow:hidden;box-sizing:border-box;flex-shrink:0}.lp-tileset-preview__title{font-size:var(--lp-font-xxs);letter-spacing:.6px;text-transform:uppercase;color:var(--lp-primary);font-family:var(--lp-font-mono)}.lp-tileset-preview__hint{font-size:var(--lp-font-xs);color:var(--lp-text-muted)}.lp-tileset-preview__viewport-frame{position:relative;overflow:hidden;flex:1 1 0;min-height:80px;width:100%;box-sizing:border-box;background:var(--lp-canvas-checker-a, #2a2a2a);-webkit-user-select:none;user-select:none;touch-action:none;align-self:stretch;border:var(--lp-border-width) solid var(--lp-border)}.lp-tileset-preview__viewport{position:absolute;inset:0 auto auto 0;cursor:crosshair;transform-origin:0 0;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform}.lp-tileset-preview__canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}.lp-tileset-preview__grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--lp-tileset-grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--lp-tileset-grid-line) 1px,transparent 1px);opacity:.5}.lp-tileset-preview__selection{position:absolute;border:2px solid var(--lp-primary);background:color-mix(in srgb,var(--lp-primary) 15%,transparent);pointer-events:none;box-sizing:border-box}.lp-tileset-preview__readout{font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs);color:var(--lp-text-muted);letter-spacing:.5px}.lp-tileset-preview__trimbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:4px 6px;background:color-mix(in srgb,var(--lp-error, #f44336) 18%,transparent);border:1px solid color-mix(in srgb,var(--lp-error, #f44336) 60%,transparent);border-radius:4px;font-size:var(--lp-font-xs)}.lp-tileset-preview__trimbar-hint{color:var(--lp-text-muted);flex:1;min-width:120px}.lp-tileset-preview__trimbar-count{font-family:var(--lp-font-mono);font-weight:600}.lp-tileset-preview__trimbar-count--active{color:var(--lp-error, #f44336)}.lp-tileset-preview__trimbar-warning{color:var(--lp-error, #f44336);font-weight:600;flex:1 1 100%;min-width:0}.lp-tileset-preview__trimbar-btn{font:inherit;padding:2px 8px;border-radius:3px;border:1px solid var(--lp-border, var(--lp-checker-neutral));background:transparent;color:var(--lp-text, #ddd);cursor:pointer}.lp-tileset-preview__trimbar-btn:hover:not(:disabled){background:color-mix(in srgb,var(--lp-text, #ddd) 12%,transparent)}.lp-tileset-preview__trimbar-btn:disabled{opacity:.5;cursor:not-allowed}.lp-tileset-preview__trimbar-btn--danger{background:var(--lp-error, #f44336);border-color:var(--lp-error, #f44336);color:var(--lp-on-primary)}.lp-tileset-preview__trimbar-btn--danger:hover:not(:disabled){filter:brightness(1.1)}.lp-tileset-preview__marked{position:absolute;background:color-mix(in srgb,var(--lp-error, #f44336) 50%,transparent);border:1px solid color-mix(in srgb,var(--lp-error, #f44336) 90%,transparent);color:var(--lp-on-primary);display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}:root{--lp-tileset-grid-line: var(--lp-border-translucent)}.lp-tileset-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lp-space-3);padding:var(--lp-space-7);color:var(--lp-text-muted);text-align:center;font-size:var(--lp-font-sm);height:100%;width:100%}.lp-tileset-empty-state__title{color:var(--lp-text);font-size:var(--lp-font-md);font-weight:600}.lp-tileset-empty-state--overlay{position:absolute;inset:0;background:var(--lp-overlay);pointer-events:auto;z-index:5}.lp-iw-split-tiles{display:flex;flex-direction:column;gap:var(--lp-space-4);flex:1;min-height:0}.lp-iw-split-tiles__controls{flex-shrink:0}:root{--lp-preview-bg: #000}.lp-image-preview-viewport{position:relative;flex:1;min-height:0;background:var(--lp-preview-bg);overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab}.lp-image-preview-viewport:active{cursor:grabbing}.lp-image-preview-viewport__canvas{display:block}.lp-image-preview-viewport__overlay-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.lp-image-preview-viewport__controls{position:absolute;top:var(--lp-space-2);right:var(--lp-space-2);display:flex;gap:var(--lp-space-1);align-items:center;background:var(--lp-overlay);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);padding:var(--lp-space-1) var(--lp-space-2);font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs);pointer-events:auto}.lp-image-preview-viewport__zoom{color:var(--lp-text-muted);letter-spacing:.5px;min-width:3.5em;text-align:right}.lp-image-preview-viewport__btn{background:var(--lp-surface-alt);border:var(--lp-border-width) solid var(--lp-border);color:var(--lp-text);font-family:inherit;font-size:var(--lp-font-xxs);padding:var(--lp-space-1) var(--lp-space-2);border-radius:var(--lp-radius-sm);cursor:pointer;letter-spacing:.5px}.lp-image-preview-viewport__btn:hover{background:var(--lp-surface);border-color:var(--lp-primary)}.lp-image-preview-viewport--drag-over{outline:2px dashed var(--lp-primary);outline-offset:-2px}.lp-image-preview-viewport__drop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--lp-overlay);color:var(--lp-primary);font-family:var(--lp-font-mono);font-size:var(--lp-font-xs);letter-spacing:.5px;text-transform:uppercase;pointer-events:none}.pix-editor-modal__splitter{width:4px;flex-shrink:0;cursor:ew-resize;background:var(--lp-border);transition:background .12s ease}.pix-editor-modal__splitter:hover{background:var(--lp-primary)}.pix-editor-modal__tileset-preview{display:flex;flex-direction:column;min-width:0}.lp-modal-overlay{position:fixed;inset:0;background:var(--lp-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--lp-z-modal);padding:var(--lp-space-6)}.lp-modal-overlay--confirm{z-index:var(--lp-z-modal-confirm)}.lp-modal-dialog{width:min(var(--lp-dialog-compact-width),100%);background:var(--lp-surface);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-md);padding:var(--lp-space-7);color:var(--lp-text);box-shadow:var(--lp-shadow-modal);display:flex;flex-direction:column;gap:var(--lp-space-5);font-family:inherit}.lp-modal-dialog__title{margin:0;font-size:var(--lp-font-lg);color:var(--lp-primary);font-weight:var(--lp-font-weight-bold);text-transform:uppercase}.lp-modal-dialog__body{margin:0;color:var(--lp-text-normal);font-size:var(--lp-font-md);line-height:1.5}.lp-modal-dialog__buttons{display:flex;justify-content:flex-end;gap:var(--lp-space-3)}.lp-modal-btn{min-width:var(--lp-modal-btn-min-width);padding:var(--lp-space-2) var(--lp-space-5);border-radius:var(--lp-radius-sm);cursor:pointer;font-family:inherit;font-size:var(--lp-font-sm)}.lp-modal-btn--cancel{background:var(--lp-surface-alt);border:var(--lp-border-width) solid var(--lp-border);color:var(--lp-text)}.lp-modal-btn--primary{background:var(--lp-primary);border:var(--lp-border-width) solid var(--lp-primary);color:var(--lp-on-primary);font-weight:var(--lp-font-weight-bold)}.lp-modal-btn--secondary{background:transparent;border:var(--lp-border-width) solid var(--lp-border);color:var(--lp-text-muted)}.lp-modal-btn--secondary:hover{background:var(--lp-surface-alt);color:var(--lp-text)}.lp-modal-prompt-label{color:var(--lp-text-normal);font-size:var(--lp-font-sm);display:flex;flex-direction:column;gap:var(--lp-space-2)}.lp-modal-prompt-input{width:100%;padding:var(--lp-space-2) var(--lp-space-3);background:var(--lp-input-bg);color:var(--lp-text);border:var(--lp-border-width) solid var(--lp-border);border-radius:var(--lp-radius-sm);font-family:inherit;font-size:var(--lp-font-md);box-sizing:border-box}.lp-autotile-frame-counter{font-size:var(--lp-font-xs);color:var(--lp-text-muted);font-variant-numeric:tabular-nums;min-width:3ch}.lp-toolbox-flyout--symmetry{position:fixed;z-index:10002;width:240px;max-height:calc(100vh - var(--lp-space-4) * 2);border-left:1px solid var(--lp-border);border-radius:var(--lp-radius-md)}.lp-toolbox-flyout--symmetry .lp-toolbox-flyout-body{gap:var(--lp-space-4)}.lp-symmetry-section{display:flex;flex-direction:column;gap:var(--lp-space-3)}.lp-symmetry-section+.lp-symmetry-section{border-top:1px solid var(--lp-border);padding-top:var(--lp-space-4)}.lp-symmetry-section-title{color:var(--lp-text-muted);font-family:var(--lp-font-mono);font-size:var(--lp-font-xxs);text-transform:uppercase;letter-spacing:1.4px}.lp-symmetry-diagonal{display:flex;flex-direction:column;gap:var(--lp-space-3);padding:var(--lp-space-3);background:var(--lp-inset);border:1px solid var(--lp-border);border-radius:var(--lp-radius-sm)}.lp-symmetry-button-row{display:flex;gap:var(--lp-space-2)}.lp-symmetry-button-row .lp-toolbox-action-btn{flex:1 1 auto}.lp-symmetry-remove-btn{flex:0 0 28px;width:28px}.lp-symmetry-settings-glyph{font-size:var(--lp-font-md);line-height:1}
