.numeric-field{display:flex;align-items:center;gap:7px;background:var(--surface-2, #252924);border:1px solid var(--border, #343a32);border-radius:5px;min-width:0;padding:5px 8px;color:var(--muted, #929a8c);font-size:11px}.numeric-field .scrub-label{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.numeric-field input{width:100%;min-width:0;border:0!important;outline:0;padding:0!important;background:transparent!important;color:var(--text, #e9ece2);font:inherit;text-align:right}.numeric-field input::-webkit-inner-spin-button{display:none}.numeric-field small{font-size:9px}.studio-section{padding:14px 16px;border-bottom:1px solid var(--border, #343a32)}.studio-section h4{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted, #929a8c);margin:0 0 12px}.studio-row{display:flex;align-items:center;gap:9px;margin:8px 0}.studio-row>select{flex:1;min-width:0}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.color-studio{border:0;padding:12px 16px;margin:0;min-width:0}.color-square{height:145px;position:relative;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);border-radius:5px;cursor:crosshair;touch-action:none}.color-square i{position:absolute;width:10px;height:10px;border:2px solid white;box-shadow:0 0 0 1px #000;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.hue-slider{appearance:none;width:100%;height:10px;border-radius:8px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);margin:14px 0}.hue-slider::-webkit-slider-thumb{appearance:none;width:10px;height:17px;background:transparent;border:2px solid white;border-radius:3px}.hex-color{display:flex;align-items:center;gap:10px;font-size:10px}.hex-color span{width:28px;height:28px;border-radius:4px;border:1px solid #555}.hex-color input{min-width:0;flex:1;width:80px}.color-values{margin:12px 0}.color-values>small{font-size:9px;color:var(--muted, #929a8c);display:block;margin-bottom:6px}.color-values>div{display:flex;gap:3px}.color-values .numeric-field{padding:5px 4px;gap:3px;font-size:9px;flex:1}.muted{color:var(--muted, #929a8c);font-size:10px;line-height:1.6}.appearance-settings{display:grid;gap:18px}.blend-controls{padding:10px 14px;display:grid;gap:8px}.blend-controls select{width:100%}.inspector-panel select,.studio-section select{background:var(--surface);color:var(--bright);border:1px solid var(--border);border-radius:5px;padding:6px;font:inherit;font-size:11px}.color-targets{display:flex;gap:8px;padding:10px 16px 0}.color-targets button{flex:1;font-size:11px;padding:7px;border:1px solid var(--border, #343a32);border-radius:4px}.color-targets button.active{color:var(--accent, #d5f487);border-color:var(--accent, #d5f487)}.snap-guide{pointer-events:none}.asset-import{padding:8px 12px}.asset-import button{width:100%}.asset-item{font-size:11px;display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--border, #343a32);border-radius:5px;cursor:grab;margin:8px 0}.asset-item svg{width:38px;height:38px}.asset-item button{margin-left:auto}.tool-palette{max-height:calc(100% - 100px);overflow-y:auto;scrollbar-width:none}.workspace-svg:has(>[data-scene-composite]) [data-layer-id]{opacity:0}.slider-label>.numeric-field{width:100%;background:none;border:0;padding:0}.slider-label .numeric-field input{width:56px;margin-left:auto}.slider-label .scrub-label{text-transform:capitalize}.inspector-panel:has(.typography-panel) .typography-panel{max-height:560px;overflow:auto}.app .topbar,.app .context-rail{background:var(--bg)}.photo-view{position:relative}.photo-view .photo-mask-overlay{position:absolute;pointer-events:none;object-fit:contain;max-width:100%;max-height:100%}.workspace-svg:has(>[data-scene-composite]) svg[data-scope=artboard]>[data-surface-background]{opacity:0}.panel-body{max-height:52vh;overflow:auto;overscroll-behavior:contain}.right-panel:has(.panel-group-tabs) .panel-body{max-height:calc(100vh - 170px)}.floating-panel .panel-body{max-height:55vh}.inspector-panel:has(.typography-panel) .typography-panel{max-height:none;overflow:visible}.settings-categories{display:flex;gap:4px;margin:4px 0 16px;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.settings-categories button{flex:1;padding:6px 10px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:12px}.settings-categories button.active{background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--bright)}.settings-categories button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.window-settings{display:grid;gap:14px}.window-settings>p{margin:0;font-size:12px;line-height:1.5}.module-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.module-toggles label{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;color:var(--bright);cursor:pointer}.brush-panel{padding:14px 16px;min-width:0;font-size:11px}.brush-search{display:flex;align-items:center;gap:7px;border:1px solid var(--line, #343d30);border-radius:5px;padding:8px;color:var(--muted, #87947b)}.brush-search input{min-width:0;width:100%;background:transparent;color:inherit;border:0;outline:0;font-size:11px}.brush-categories{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.brush-categories button{border:1px solid var(--line, #343d30);border-radius:4px;padding:5px 6px;color:var(--muted, #9ba98e);font-size:10px}.brush-categories button[aria-pressed=true]{border-color:var(--accent, #d5f487);color:var(--accent, #d5f487);background:color-mix(in srgb,var(--accent, #d5f487) 8%,transparent)}.brush-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.brush-presets>button{display:flex;flex-direction:column;align-items:stretch;overflow:hidden;min-width:0;padding:7px 8px;background:var(--surface, #242b22);border:1px solid var(--line, #343d30);border-radius:6px;text-align:left}.brush-presets>button.active{border-color:var(--accent, #d5f487);background:color-mix(in srgb,var(--accent, #d5f487) 8%,var(--surface, #242b22))}.brush-presets button>span{display:flex;justify-content:space-between;align-items:center;gap:4px;min-height:25px;font-size:10px;line-height:1.3;color:var(--text, #d7e0cc)}.brush-swatch{display:block;width:100%;height:42px;overflow:visible}.brush-current-preview{border:1px solid var(--line, #343d30);border-radius:6px;padding:12px;margin:16px 0 8px;background:var(--surface, #20261e)}.brush-current-preview .brush-swatch{height:58px}.brush-current-preview>span{display:flex;flex-wrap:wrap;gap:5px;justify-content:space-between;margin-top:7px}.brush-current-preview small{color:var(--muted, #87947b);font-size:9px}.brush-note{color:var(--muted, #89967e);line-height:1.6;margin:10px 0 14px;font-size:10px}.brush-panel>.numeric-field{margin:12px 0}.brush-range{display:block;margin:14px 0}.brush-range>span{display:flex;justify-content:space-between;color:var(--muted, #a2af98);font-size:11px}.brush-range small{font:10px var(--mono)}.brush-range input{display:block;width:100%;margin:9px 0 0;accent-color:var(--accent, #d5f487)}.brush-draw{margin-top:8px;width:100%}.tool-group{position:relative;display:flex;flex:0 0 31px;width:31px;height:31px;align-items:center;justify-content:center}.tool-group .tool-group-trigger{position:relative;-webkit-app-region:no-drag;touch-action:none;-webkit-user-select:none;user-select:none}.tool-group-indicator{position:absolute;right:3px;bottom:3px;width:0;height:0;border-left:4px solid transparent;border-bottom:4px solid currentColor;pointer-events:none}.tool-group-menu{position:fixed;z-index:60;width:156px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;padding:4px;border:1px solid var(--strong-border);border-radius:7px;background:var(--panel);color:var(--text);box-shadow:0 8px 24px #0005,0 2px 6px #0003;scrollbar-color:var(--muted) var(--panel);-webkit-app-region:no-drag;-webkit-user-select:none;user-select:none}.tool-group-menu .tool-group-option{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;min-height:32px;padding:7px 8px;border:0;border-radius:4px;background:transparent;color:var(--text);font-size:11px;line-height:16px;text-align:left;touch-action:manipulation}.tool-group-option>svg{flex:0 0 16px;width:16px;height:16px}.tool-group-option>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-group-option>kbd{flex-shrink:0;margin-left:auto;color:var(--muted);font:9px/16px var(--mono)}.tool-group-menu .tool-group-option:hover:not(:disabled){background:var(--hover);color:var(--bright)}.tool-group-menu .tool-group-option.active,.tool-group-menu .tool-group-option.active:hover:not(:disabled){background:var(--selected);color:var(--accent)}.tool-group-option.active>kbd{color:currentColor}.tool-group-trigger:focus-visible,.tool-group-menu .tool-group-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.toolbar-paints{display:flex;flex-direction:column;gap:5px}.paint-swatch{width:31px;height:29px;padding:3px;border:1px solid transparent;border-radius:4px}.paint-swatch:hover:not(:disabled){border-color:var(--strong-border);background:var(--hover)}.paint-swatch-sample{display:block;width:23px;height:21px;position:relative;border:1px solid var(--toolbar-muted, var(--muted));border-radius:2px;overflow:hidden}.paint-swatch-stroke .paint-swatch-sample:before{content:"";position:absolute;inset:5px;background:var(--panel);border:1px solid var(--border)}.paint-swatch[data-paint-state=none] .paint-swatch-sample{background:#f4f4f4}.paint-swatch[data-paint-state=none] .paint-swatch-sample:after{content:"";position:absolute;width:32px;height:2px;left:-5px;top:9px;background:#d74646;transform:rotate(-43deg)}.paint-swatch[data-paint-state=mixed] .paint-swatch-sample{background:conic-gradient(#aaa 25%,#444 0 50%,#aaa 0 75%,#444 0) 0 0 / 8px 8px}.color-paint-actions{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--muted);font-size:10px}.color-paint-actions>span{flex:1}.color-paint-actions button{border:1px solid var(--border);border-radius:4px;padding:5px 8px;color:var(--text)}.color-paint-actions button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--selected)}.swatches-drawer-control{min-width:0}.swatches-drawer-trigger{display:flex;width:100%;min-height:32px;justify-content:flex-start;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text);font-size:11px;-webkit-app-region:no-drag}.swatches-drawer-trigger>small{margin-left:auto;color:var(--muted);font:9px var(--mono)}.swatches-drawer-trigger[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.swatches-drawer{position:fixed;z-index:60;display:flex;flex-direction:column;width:240px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);box-shadow:0 10px 30px #0006,0 2px 7px #0003;-webkit-app-region:no-drag}.swatches-drawer-heading{display:flex;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:9px 10px 9px 12px;border-bottom:1px solid var(--border)}.swatches-drawer-heading>div{display:flex;flex-direction:column;gap:3px;min-width:0}.swatches-drawer-heading strong{font-size:11px;font-weight:500}.swatches-drawer-heading span{color:var(--muted);font-size:9px;text-transform:capitalize}.swatches-drawer-collapse{width:27px;height:27px;padding:0;border-radius:4px;color:var(--muted)}.swatches-drawer-body{padding:12px;min-height:0;overflow:auto;overscroll-behavior:contain}.swatches-drawer-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.swatches-drawer-swatch{width:100%;aspect-ratio:1;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--text) 25%,transparent);border-radius:4px}.swatches-drawer-swatch:hover:not(:disabled){outline:1px solid var(--text);outline-offset:1px}.swatches-drawer-none{width:100%;justify-content:flex-start;gap:8px;margin-bottom:10px;padding:7px 8px;border:1px solid var(--border);border-radius:4px;font-size:10px;color:var(--text)}.swatches-drawer-trigger:hover:not(:disabled),.swatches-drawer-collapse:hover:not(:disabled),.swatches-drawer-none:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent)}.swatches-drawer-trigger:focus-visible,.swatches-drawer button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swatches-drawer-empty{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.swatches-panel{display:grid;gap:10px;padding:8px 12px 12px}.swatches-panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17px,1fr));gap:3px}.swatches-panel-swatch,.swatches-panel-none{aspect-ratio:1;min-width:0;padding:0;border:1px solid color-mix(in srgb,#fff 8%,transparent);border-radius:3px;cursor:pointer}.swatches-panel-swatch.is-saved{box-shadow:inset 0 -2px color-mix(in srgb,#000 35%,transparent)}.swatches-panel-swatch:hover,.swatches-panel-swatch:focus-visible{outline:2px solid var(--bright);outline-offset:1px;z-index:1}.swatches-panel-none{display:grid;place-items:center;color:var(--muted);background:var(--surface)}.swatches-panel-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.swatches-panel-add{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;color:var(--muted);background:transparent}.swatches-panel-add:hover{color:var(--bright)}.swatches-panel-target{display:flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:5px}.swatches-panel-target button{padding:2px 8px;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:10px}.swatches-panel-target button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--bright)}.swatches-panel-hint{font-size:10px;line-height:1.4;color:var(--muted)}.alignment-panel{padding:12px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}.alignment-panel h4{margin:5px 0 0;color:var(--muted, #929a8c);font-size:10px;text-transform:uppercase;letter-spacing:1.3px}.alignment-panel .alignment-select{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted, #929a8c);font-size:11px}.alignment-panel select{min-width:0;max-width:65%;padding:5px;background:var(--surface-2, #252924);color:var(--text, #e9ece2);border:1px solid var(--border, #343a32);border-radius:4px}.alignment-panel .alignment-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.alignment-panel button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:32px;padding:5px 2px;border:1px solid var(--border, #343a32);border-radius:4px;background:var(--surface-2, #252924);color:var(--text, #e9ece2);cursor:pointer;font-size:11px}.alignment-panel button:hover:not(:disabled){color:var(--accent, #d5f487);border-color:var(--accent, #d5f487)}.alignment-panel button:focus-visible,.alignment-panel select:focus-visible{outline:2px solid var(--accent, #d5f487);outline-offset:2px}.alignment-panel button:disabled{opacity:.35;cursor:default}.alignment-panel .alignment-spacing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.alignment-panel .alignment-note{margin:0;color:var(--muted, #929a8c);font-size:10px;line-height:1.5}.object-blend-panel{display:flex;flex-direction:column;gap:12px;padding:12px 16px;min-width:0}.object-blend-panel p{margin:0;color:var(--muted, #929a8c);font-size:11px;line-height:1.5}.object-blend-panel .object-blend-endpoints{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--text, #e9ece2)}.object-blend-panel .object-blend-endpoints span:not([aria-hidden]){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-blend-panel button{border:1px solid var(--border, #343a32);border-radius:5px;padding:9px 12px;background:var(--surface-2, #252924);color:var(--accent, #d5f487);font:inherit;font-size:12px;cursor:pointer}.object-blend-panel button:disabled{opacity:.45;cursor:default}.object-blend-panel button:focus-visible{outline:2px solid var(--accent, #d5f487);outline-offset:2px}.inspector-reference{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.panel-body>.inspector-reference{padding:10px 14px 8px;border-bottom:1px solid var(--border)}.inspector-reference>.layer-preview,.inspector-reference-preview{width:36px;height:36px;min-width:36px;flex:0 0 36px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--strong-border, var(--border));border-radius:4px;color:var(--muted);background:conic-gradient(#9994 25%,#3333 0 50%,#9994 0 75%,#3333 0) 0 0 / 8px 8px}.inspector-reference-preview img{display:block;width:100%;height:100%;object-fit:contain}.inspector-reference-copy{min-width:0;flex:1}.inspector-reference .inspector-kicker{display:block;font-size:8px;letter-spacing:1.1px;line-height:1.2;color:var(--muted)}.inspector-reference h2{max-width:none;margin:3px 0;font-size:12px;font-weight:500;line-height:1.3;color:var(--bright)}.inspector-reference-subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.3;color:var(--muted)}.texture-library{padding:0 12px 20px;font-size:11px;min-width:0;color:var(--text)}.texture-library button:focus-visible,.texture-library input:focus-visible,.texture-library select:focus-visible,.texture-library summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.texture-target{display:flex;align-items:center;gap:9px;padding:12px 10px;margin:0 0 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.texture-target>svg{color:var(--accent);flex-shrink:0}.texture-target>div{display:grid;gap:5px;min-width:0}.texture-target span{color:var(--muted);font-size:9px}.texture-target strong{font-size:11px;font-weight:500;color:var(--bright);overflow-wrap:anywhere}.texture-library-intro{font-size:10px;line-height:1.65;color:var(--muted);margin:0 2px 15px}.texture-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:5px;padding:9px;margin:0 0 12px}.texture-search>svg{flex-shrink:0}.texture-search input{padding:0;width:100%;min-width:0;border:0;background:transparent;color:var(--bright);font-size:11px}.material-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;border-bottom:1px solid var(--border);padding:0 0 10px}.material-categories button{font-size:9px;padding:6px 2px;color:var(--muted);border-radius:4px;min-width:0}.material-categories button:hover{color:var(--bright);background:var(--hover)}.material-categories button[aria-pressed=true]{color:var(--accent);background:var(--selected)}.texture-caption{font:9px var(--mono);letter-spacing:.9px;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:17px 0 10px;color:var(--muted)}.texture-caption>span{font-family:var(--mono);font-size:9px;letter-spacing:0;text-align:right}.texture-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.texture-card{display:flex;flex-direction:column;align-items:stretch;gap:6px;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:5px;min-width:0;text-align:left;overflow:hidden}.texture-card:not(:disabled):hover{border-color:var(--strong-border);background:var(--hover)}.texture-card svg{width:100%;height:auto;border-radius:3px}.texture-card>span{font-size:10px;line-height:1.4;overflow-wrap:anywhere}.texture-card[aria-pressed=true]{border-color:var(--accent);background:var(--selected)}.material-card{gap:3px;padding:4px 4px 7px}.material-card-image{position:relative;display:block;width:100%;aspect-ratio:1.08;border-radius:3px;overflow:hidden;margin-bottom:5px;background:var(--bg)}.material-card-image>img{display:block;width:100%;height:100%;object-fit:cover}.material-preview-unavailable{display:grid;place-items:center;height:100%;padding:8px;font-size:9px;line-height:1.5;color:var(--muted);text-align:center}.material-card-badge{position:absolute;right:5px;bottom:5px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 5px #0003}.material-card-name{font-size:10px;color:var(--bright);padding:0 3px}.material-card>small{font-size:9px;color:var(--muted);padding:0 3px}.material-card[aria-busy=true]{opacity:.8}.material-spinner{animation:material-spin 1s linear infinite}@keyframes material-spin{to{transform:rotate(360deg)}}.texture-settings{margin:20px 0 12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:15px 0}.texture-settings-title{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px}.texture-settings-title>div{display:grid;gap:6px;min-width:0}.texture-settings-title strong{min-width:0;overflow-wrap:anywhere;font-weight:500;color:var(--bright)}.texture-settings-eyebrow{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.texture-settings-title>button{flex-shrink:0}.material-live-preview{border:1px solid var(--border);border-radius:6px;background:var(--surface);overflow:hidden}.material-live-preview>svg{display:block;width:100%;height:auto}.material-live-preview>span{padding:7px 9px;display:flex;justify-content:space-between;gap:6px;font:8px var(--mono);color:var(--muted)}.material-live-preview>span>span{color:var(--text)}.texture-mapping{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:15px 0;font-size:10px;color:var(--muted)}.texture-mapping select{padding:7px 8px;width:100%;min-width:0;font-size:10px;color:var(--text);background:var(--surface)}.texture-control{margin:12px 0}.texture-control .numeric-field{width:100%;min-width:0;background:var(--surface)}.texture-control .numeric-field .scrub-label{white-space:nowrap}.texture-control>input[type=range]{width:100%;accent-color:var(--accent);margin:7px 0 0}.texture-tint{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:16px 0 4px;color:var(--muted);font-size:10px}.texture-tint>input{padding:2px;width:32px;height:25px;margin-left:auto;border:1px solid var(--strong-border);border-radius:4px;background:var(--surface)}.texture-tint code{color:var(--text);font-size:9px}.texture-mirror{display:flex;align-items:center;gap:8px;margin:14px 0 8px;font-size:10px}.texture-mirror input{accent-color:var(--accent)}.texture-hint{color:var(--muted);font-size:10px;line-height:1.6;margin:10px 0}.texture-error{border:1px solid #87654e;border-radius:5px;padding:9px;background:color-mix(in srgb,var(--panel) 90%,#c56232);color:#edaa90;font-size:10px;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.texture-reset{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:4px;padding:8px;font-size:10px;color:var(--muted)}.texture-reset:not(:disabled):hover{color:var(--bright);background:var(--hover)}.texture-classics,.texture-import{border-top:1px solid var(--border);margin-top:18px;padding-top:9px}.texture-classics>summary,.texture-import>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;padding:6px 0 10px;color:var(--text);font-size:11px}.texture-classics>summary::-webkit-details-marker,.texture-import>summary::-webkit-details-marker{display:none}.texture-classics>summary>span,.texture-import>summary>span{flex:1}.texture-classics>summary>small{font:9px var(--mono);color:var(--muted)}.texture-classics>summary>svg,.texture-import>summary>svg{color:var(--muted)}.texture-classics:not([open])>summary>svg:last-child,.texture-import:not([open])>summary>svg:last-child{transform:rotate(-90deg)}.texture-classics>.texture-hint{margin-top:0}.texture-import-button{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--strong-border);background:var(--surface);color:var(--text);border-radius:5px;padding:12px 4px;font-size:10px}.texture-import-button:not(:disabled):hover{background:var(--hover)}@media(prefers-reduced-motion:reduce){.material-spinner{animation:none}}.curation-panel{padding:0 14px 20px;min-width:0;font-size:11px}.curation-intro,.curation-hint{color:var(--muted);font-size:10px;line-height:1.6}.curation-sources{display:grid;gap:7px;margin:16px 0}.curation-sources button{display:flex;gap:9px;align-items:center;text-align:left;width:100%;padding:12px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.curation-sources button.active{border-color:var(--accent)}.curation-sources span{flex:1;min-width:0}.curation-sources strong{display:block;font-size:11px}.curation-sources small{display:block;font-size:9px;line-height:1.45;color:var(--muted);margin-top:4px}.curation-address{display:grid;gap:8px;margin:20px 0}.curation-address label{display:grid;gap:8px;color:var(--muted)}.curation-panel input,.curation-panel textarea{width:100%;min-width:0;padding:8px;border:1px solid var(--border);border-radius:4px;color:var(--text);background:var(--surface)}.curation-panel .wide-button{width:100%;font-size:10px;margin-top:6px}.curation-error{color:#e8a38b;padding:8px;line-height:1.5;font-size:11px}.curation-collection-title{display:flex;gap:7px;align-items:center;border-top:1px solid var(--border);padding-top:20px;margin:22px 0 12px}.curation-collection-title span{margin-left:auto;color:var(--muted)}.curation-reference-list{display:grid;gap:8px;margin-top:10px}.curation-reference-list article{position:relative;border:1px solid var(--border);border-radius:5px;padding:10px;min-width:0}.curation-reference-link{text-align:left;display:block;width:calc(100% - 18px)}.curation-reference-link strong{display:block;overflow-wrap:anywhere;font-size:11px}.curation-reference-link small{display:block;margin:6px 0;color:var(--muted);font-size:9px;overflow-wrap:anywhere}.curation-reference-list summary{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);cursor:pointer;padding:5px 0}.curation-reference-list textarea{min-height:75px;resize:vertical;font-size:10px}.curation-remove{position:absolute;right:7px;top:8px;color:var(--muted)}.curation-browser{position:fixed;z-index:60;display:flex;flex-direction:column;border:1px solid var(--border);background:var(--panel, #1e241d);border-radius:9px;box-shadow:0 16px 60px #0008;overflow:hidden;color:var(--text);min-width:280px}.curation-browser header{display:flex;align-items:center;gap:10px;flex:0 0 42px;padding:0 12px;border-bottom:1px solid var(--border);touch-action:none;cursor:move}.curation-browser header strong{font-size:11px}.curation-browser header span{margin-left:auto;color:var(--muted);font-size:10px;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curation-browser button,.curation-browser a{display:inline-flex;gap:5px;align-items:center;padding:5px;border-radius:3px;color:inherit;font-size:10px}.curation-browser button:hover,.curation-browser a:hover{background:var(--surface)}.curation-browser button:disabled{opacity:.4}.curation-browser-toolbar{display:flex;gap:4px;align-items:center;flex:0 0 36px;padding:0 8px}.curation-browser-toolbar>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted)}.curation-browser-viewport{position:relative;flex:1;min-height:0;background:#f3f3ed;overflow:hidden}.curation-browser-viewport iframe{border:0;width:100%;height:100%;background:#f3f3ed}.curation-browser.is-manipulating iframe{pointer-events:none}.curation-loading{position:absolute;inset:20px;color:#485143;font-size:11px}.curation-web-note{flex-shrink:0;font-size:10px;line-height:1.4;padding:6px 12px;margin:0;color:var(--muted)}.curation-web-note a{padding:0;color:var(--accent)}.curation-browser footer{display:flex;align-items:center;justify-content:space-between;flex:0 0 24px;padding:0 8px;color:var(--muted);font-size:9px}.curation-browser footer button{cursor:nwse-resize;touch-action:none}.curation-source-unavailable{display:grid;place-items:center;background:var(--panel, #1e241d);padding:24px}.curation-source-unavailable>div{max-width:330px;text-align:center}.curation-source-unavailable svg{color:var(--muted)}.curation-source-unavailable h3{margin:14px 0 8px;font-size:16px;font-weight:500}.curation-source-unavailable p{color:var(--muted);font-size:11px;line-height:1.65}.curation-source-unavailable a{margin:10px 0 14px;padding:8px 12px;border:1px solid var(--border);color:var(--accent)}.curation-source-unavailable small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}.app .right-panel,.app .inspector-panel{--text: var(--bright);--surface-2: color-mix(in srgb, var(--panel) 90%, white);--inspector-muted: color-mix(in srgb, var(--bright) 60%, var(--panel));background:var(--panel);color:var(--bright)}.app .inspector-heading{min-height:66px;padding:12px 14px}.app .inspector-kicker{font-size:8px;color:var(--muted);letter-spacing:1.1px}.app .inspector-heading h2{margin-top:5px;font-size:12px}.app .inspector-panel{border-top:1px solid var(--border)}.app .panel-header{height:38px;padding:0 12px 0 8px;gap:6px}.app .panel-title{gap:7px;font-size:11px;font-weight:550;color:var(--bright);min-width:0}.app .panel-title>svg{color:var(--inspector-muted);width:13px;height:13px}.app .panel-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .panel-header .drag-dots{opacity:.22;width:9px}.app .panel-header:hover .drag-dots{opacity:.8}.app .panel-header .icon-button{width:22px;height:24px;padding:3px;color:var(--inspector-muted);border-radius:4px}.app .panel-header .icon-button:hover{color:var(--bright);background:var(--surface-2)}.app .is-collapsed .panel-title{color:var(--inspector-muted)}.app .floating-panel{border:1px solid color-mix(in srgb,var(--border) 70%,white);border-radius:9px;box-shadow:0 12px 36px #0006,0 1px 5px #0004}.app .floating-panel .panel-header{background:color-mix(in srgb,var(--panel) 95%,white);border-radius:8px 8px 0 0}.app .panel-body{scrollbar-gutter:stable}.app .panel-body>.empty-note{font-size:11px;line-height:1.5;margin:0;padding:8px 14px 16px;color:var(--inspector-muted)}.app .inspector-panel[data-inspector-panel=layers] .layer-meta{align-items:center;gap:8px;padding:8px 12px;color:var(--inspector-muted)}.app .inspector-panel[data-inspector-panel=layers] .layer-meta>.icon-button{flex-shrink:0;color:var(--inspector-muted)}.app .inspector-panel[data-inspector-panel=layers] .layer-meta>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .inspector-panel[data-inspector-panel=layers] .layer-meta>span:last-child{flex-shrink:0;white-space:nowrap;color:var(--inspector-muted)}.app .inspector-panel .numeric-field{min-height:29px;padding:5px 7px;border-radius:5px;border-color:transparent;background:var(--surface-2);gap:5px}.app .inspector-panel .numeric-field:hover{border-color:color-mix(in srgb,var(--border) 70%,white)}.app .inspector-panel .numeric-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.app .inspector-panel .numeric-field .scrub-label{color:var(--inspector-muted);font-size:10px;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .inspector-panel .numeric-field input{color:var(--bright);font-variant-numeric:tabular-nums;min-width:3ch}.app .inspector-panel .numeric-field small{font-size:9px;color:var(--inspector-muted)}.app .inspector-panel select{min-height:29px;padding:5px 7px;border-color:transparent;border-radius:5px;background:var(--surface-2);color:var(--bright)}.app .inspector-panel select:hover{border-color:var(--border)}.app .inspector-panel input[type=checkbox],.app .inspector-panel input[type=range]{accent-color:var(--accent)}.app .inspector-panel .wide-button{margin:8px 0 0;min-height:29px;border-color:var(--border)}.app .inspector-panel .studio-section,.app .inspector-panel .stroke-panel,.app .inspector-panel .typography-panel,.app .inspector-panel .color-studio{padding:7px 12px 14px}.app .inspector-panel .studio-section{border-bottom:0}.app .inspector-panel .studio-grid,.app .inspector-panel .type-numbers,.app .inspector-panel .number-grid{gap:6px}.app .inspector-panel .type-label{margin:7px 0;font-size:10px;color:var(--inspector-muted)}.app .inspector-panel .type-label select{margin:4px 0 0}.app .inspector-panel .type-section{margin-top:10px;padding-top:8px;border-color:var(--border)}.app .inspector-panel .type-section>summary{font-size:10px;color:var(--inspector-muted)}.app .inspector-panel .type-buttons{margin:7px 0;gap:3px}.app .inspector-panel .type-buttons button{border-color:transparent;background:var(--surface-2);padding:6px}.app .inspector-panel .type-buttons button[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.app .stroke-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.app .stroke-panel>*{grid-column:1 / -1}.app .stroke-panel>.stroke-select{grid-column:auto;flex-direction:column;align-items:stretch;gap:4px}.app .stroke-panel>.stroke-select select{width:100%;max-width:none}.app .stroke-panel>.stroke-select:has([aria-label="Stroke paint"]){grid-column:1 / -1;flex-direction:row;align-items:center}.app .stroke-panel>.stroke-select:has([aria-label="Stroke paint"]) select{width:auto}.app .stroke-enable{min-height:28px}.app .stroke-select{font-size:10px}.app .stroke-panel h4{font-size:10px;text-transform:none;letter-spacing:0;font-weight:500;border-top:1px solid var(--border);padding-top:10px}.app .stroke-edges{gap:6px}.app .inspector-panel .mini-tabs{padding:2px 12px 8px;gap:3px}.app .mini-tabs>button.active{background:var(--surface-2);color:var(--bright)}.app .inspector-panel .transform-panel,.app .inspector-panel .adjustments{padding:4px 12px 14px}.app .inspector-panel .section-caption{letter-spacing:.8px;font-size:9px;color:var(--inspector-muted)}.app .inspector-panel .slider-label{font-size:10px}.app .inspector-panel .filter-affected-image{height:104px}.app .inspector-panel .filter-affected{margin-bottom:10px}.app .inspector-panel .effect-card{border-radius:5px;background:transparent}.app .inspector-panel .effect-card summary{padding:6px;gap:6px}.app .inspector-panel .effect-card summary .filter-preview{width:26px;height:26px}.app .inspector-panel .effect-actions{padding:2px 5px}.app .inspector-panel .effect-controls{padding:8px 8px 3px}.app .inspector-panel .effect-option{margin-bottom:8px}.app .inspector-panel .effect-controls .photo-slider{margin-bottom:9px}.app .panel-group-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 10px 9px;gap:2px;border-color:var(--border)}.app .panel-group-tabs button{min-width:0;padding:6px 2px;font-size:9px}.app .panel-group-tabs .active{background:var(--surface-2);color:var(--accent)}.app .inspector-footer{min-height:36px;padding:10px 12px;font-size:9px;border-color:var(--border);color:var(--inspector-muted)}.app .texture-background-target{margin:0 12px 12px;padding:7px 10px;border:1px solid var(--border);border-radius:5px;font-size:10px}.app .context-rail .rail-items{min-height:0;overflow-y:auto;padding-bottom:6px}.app .context-rail .rail-button{flex-shrink:0}.app .context-rail .rail-bottom{flex-shrink:0;padding-top:8px}.app .inspector-panel[data-inspector-panel=layers] .layer-blend-row{grid-template-columns:minmax(0,1fr) minmax(0,104px);align-items:end;padding:10px 12px 6px;border:0;margin:0}.app .inspector-panel[data-inspector-panel=layers] .layer-lock-row{display:flex;align-items:center;gap:6px;padding:0 12px 8px;font-size:10px;color:var(--inspector-muted)}.app .inspector-panel[data-inspector-panel=layers] .layer-lock-row .icon-button{width:24px;height:24px;padding:4px}.app .inspector-panel[data-inspector-panel=layers] .layer-lock-row .icon-button[aria-pressed=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.app .inspector-panel .layers-caption{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 4px;border-top:1px solid var(--border);font-size:9px;letter-spacing:1.1px;color:var(--inspector-muted)}.app .inspector-panel .layers-caption .icon-button{width:22px;height:22px;padding:3px}.app .inspector-panel .board-list{padding:0 6px 8px}.app .inspector-panel .board-list button{padding:7px 8px}.app .inspector-panel[data-inspector-panel=layers] .layer-meta{border-top:1px solid var(--border)}.app .inspector-panel[data-inspector-panel=layers] .layer-shape-blend{padding-bottom:8px}.app .inspector-panel[data-inspector-panel=artboards] .layers-caption{border-top:0}.app .panel-dock-columns,.app .panel-dock-group,.app .panel-dock-placeholder,.app .panel-drag-preview{--dock-highlight: #a78bfa}.app .panel-dock-columns{display:flex;flex:0 1 auto;align-items:stretch;min-width:0;min-height:0;max-width:60vw;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border) var(--panel);background:var(--panel)}.app .panel-dock-columns.closed{display:none}.app .panel-divider.right{width:5px}.app .right-panel.panel-dock-column{position:relative;flex:0 0 auto;min-width:0;min-height:0;max-width:none;overflow-x:hidden;overflow-y:auto;border-inline:2px solid transparent;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.app .right-panel.panel-dock-column+.panel-dock-column{border-left-color:var(--border)}.app .panel-dock-column>.panel-dock-group:not(.is-expanded)>.panel-body{overscroll-behavior-y:auto}.app .right-panel.panel-dock-column.is-compact{width:44px;min-width:44px;max-width:44px}.app .panel-column-resizer{position:relative;z-index:13;align-self:stretch;flex:0 0 5px;width:5px;padding:0;border:0;background:var(--border);cursor:col-resize;touch-action:none}.app .panel-dock-column.is-secondary .inspector-heading{min-height:34px;padding:3px 9px;justify-content:flex-end}.app .panel-column-resizer:hover,.app .panel-column-resizer:focus-visible{background:var(--accent)}.app .panel-column-resizer:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.app .right-panel.panel-dock-column.is-drop-column-before{border-left-color:var(--dock-highlight)}.app .right-panel.panel-dock-column.is-drop-column-after{border-right-color:var(--dock-highlight)}.app .panel-dock-toolbar{position:sticky;top:0;z-index:6;display:flex;justify-content:flex-end;flex-shrink:0;min-height:28px;padding:0 7px;border-bottom:1px solid var(--border);background:var(--panel)}.app .panel-dock-toolbar .icon-button{height:27px}.app .library-panel-toggle{align-self:center;height:27px}.app .context-rail .rail-items{flex:1;min-height:0;overflow-y:auto;padding-bottom:12px;scrollbar-width:none}.app .context-rail .rail-items>*{flex-shrink:0}.app .context-rail .rail-bottom{flex-shrink:0;padding-top:12px}.app .right-panel.is-compact{align-items:stretch}.app .right-panel.is-compact .panel-dock-toolbar{padding:0;justify-content:center;flex-direction:column;align-items:center}.app .panel-icon-group{display:flex;flex-direction:column;align-items:center;padding:3px 0;gap:3px}.app .panel-dock-group.panel-icon-group{border-top:0}.app .panel-dock-group.panel-icon-group+.panel-icon-group{margin-top:5px;padding-top:9px;background-image:linear-gradient(var(--border),var(--border));background-position:center top;background-size:calc(100% - 14px) 1px;background-repeat:no-repeat}.app .panel-icon-group.is-tab-group .panel-module-icon{background:color-mix(in srgb,var(--hover) 45%,transparent)}.app .panel-icon-group.is-tab-group .panel-module-icon:hover{background:var(--hover)}.app .panel-module-icon{width:34px;height:34px;padding:0;border-radius:5px;color:var(--muted);cursor:grab;touch-action:none}.app .panel-module-icon:hover{background:var(--hover);color:var(--bright)}.app .panel-module-icon:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app .panel-icon-group .panel-module-icon.is-flyout-active,.app .panel-icon-group .panel-module-icon.is-flyout-active:hover{background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.app .right-panel.closed>*{visibility:hidden}.app .panel-module-flyout.inspector-panel{position:fixed;z-index:60;display:flex;flex-direction:column;box-sizing:border-box;min-width:0;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 70%,white);border-radius:9px;box-shadow:0 12px 36px #0006,0 1px 5px #0004}.app .panel-flyout-header{display:flex;flex:0 0 auto;align-items:center;gap:8px;min-width:0;min-height:38px;padding:0 8px 0 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 95%,white)}.app .panel-flyout-title{flex:1;min-width:0;margin:0;overflow:hidden;color:var(--bright);font-size:11px;font-weight:550;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.app .panel-flyout-header .icon-button{width:24px;height:24px;padding:3px;color:var(--inspector-muted)}.app .panel-flyout-header .icon-button:focus-visible,.app .panel-flyout-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app .panel-module-flyout>.panel-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.app .panel-dock-group{--text: var(--bright);--surface-2: color-mix(in srgb, var(--panel) 90%, white);--inspector-muted: color-mix(in srgb, var(--bright) 60%, var(--panel));position:relative;flex-shrink:0;min-width:0;border-top:1px solid var(--border);background:var(--panel);color:var(--bright)}.app .panel-dock-group>.panel-header{flex-shrink:0;min-width:0}.app .panel-dock-group>.inspector-panel{min-width:0;border-top:0}.app .panel-dock-group .panel-header>.icon-button{flex-shrink:0}.app .panel-group-grip{flex-shrink:0;cursor:grab;touch-action:none}.app .panel-group-grip:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.app .panel-dock-group>.panel-header>.panel-group-tabs{display:flex;flex:1;min-width:0;align-items:center;gap:3px;margin:0;padding:3px 1px;border:0;border-radius:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.app .panel-dock-group .panel-group-tabs>.panel-tab{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;max-width:170px;min-width:0;min-height:26px;padding:4px 7px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--inspector-muted);font-size:11px;font-weight:500;white-space:nowrap;cursor:grab;touch-action:none}.app .panel-dock-group .panel-tab>span{overflow:hidden;text-overflow:ellipsis}.app .panel-dock-group .panel-tab>svg{flex-shrink:0;width:13px;height:13px}.app .panel-dock-group .panel-group-tabs>.panel-tab:hover,.app .panel-dock-group .panel-group-tabs>.panel-tab.active{background:var(--surface-2);color:var(--bright)}.app .panel-dock-group .panel-group-tabs>.panel-tab.active{border-color:var(--border)}.app .panel-dock-group .panel-header button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app .panel-dock-group.floating-panel,.app .panel-dock-group.is-expanded{display:flex;flex-direction:column;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:hidden}.app .panel-dock-group.floating-panel:not(.is-expanded){z-index:40}.app .panel-dock-group.is-expanded{position:fixed;z-index:80;border:1px solid var(--border);border-radius:9px;box-shadow:0 12px 36px #0006,0 1px 5px #0004}.app .panel-dock-group.floating-panel>.inspector-panel,.app .panel-dock-group.is-expanded>.inspector-panel,.app .panel-dock-group.floating-panel>.panel-body,.app .panel-dock-group.is-expanded>.panel-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.app .panel-dock-group.is-drag-source{opacity:.65}.app .panel-dock-group.is-drop-before:before,.app .panel-dock-group.is-drop-after:before{content:"";position:absolute;z-index:5;left:4px;right:4px;height:3px;border-radius:2px;background:var(--dock-highlight);box-shadow:0 0 0 1px color-mix(in srgb,var(--dock-highlight) 25%,transparent);pointer-events:none}.app .panel-dock-group.is-drop-before:before{top:0}.app .panel-dock-group.is-drop-after:before{bottom:0}.app .panel-dock-group.is-drop-tab:after{content:"";position:absolute;z-index:5;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--dock-highlight) 20%,transparent);box-shadow:inset 0 0 0 2px var(--dock-highlight);pointer-events:none}.app .panel-dock-placeholder{flex:1 0 40px;min-height:40px;margin:4px;border:1px dashed transparent;border-radius:5px;color:var(--muted);font-size:11px}.app.panels-dragging .panel-dock-placeholder{border-color:var(--border)}.app .panel-dock-placeholder.is-drop-target{border-color:var(--dock-highlight);background:color-mix(in srgb,var(--dock-highlight) 15%,transparent);box-shadow:inset 0 0 0 1px var(--dock-highlight)}.app .panel-dock-placeholder.is-empty{display:flex;align-items:center;justify-content:center;min-height:100px;border-color:var(--border)}.app .panel-dock-placeholder.is-empty.is-drop-target{border-color:var(--dock-highlight)}.app .panel-dock-empty-note{margin:0;padding:12px;text-align:center;line-height:1.5}.app .is-compact .panel-dock-empty-note{padding:8px 2px;font-size:9px;overflow-wrap:anywhere}.app .panel-drag-count{margin-left:6px;padding:1px 5px;border-radius:8px;background:color-mix(in srgb,var(--dock-highlight) 20%,transparent);font-variant-numeric:tabular-nums}.app .panel-drag-preview{position:fixed;z-index:1000;max-width:min(240px,calc(100vw - 24px));padding:7px 10px;overflow:hidden;border:1px solid var(--dock-highlight);border-radius:6px;background:var(--panel);color:var(--bright);box-shadow:0 4px 16px #0004;font-size:11px;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.app.panels-dragging,.app.panels-dragging *{cursor:grabbing!important;user-select:none;-webkit-user-select:none}@media(prefers-reduced-motion:reduce){.app .panel-dock-columns,.app .panel-dock-column,.app .panel-dock-group,.app .panel-drag-preview,.app .panel-dock-placeholder{transition:none}}@media(max-width:760px){.app .panel-dock-columns{position:absolute;top:0;right:0;bottom:0;z-index:15;max-width:calc(100% - 56px);box-shadow:-8px 0 30px #0005}.app .panel-dock-columns>.right-panel.panel-dock-column{position:relative;inset:auto;z-index:auto;max-width:calc(100vw - 56px);box-shadow:none}.app .panel-dock-columns>.right-panel.panel-dock-column.is-compact{max-width:44px}}.app .panel-dock-toolbar-spacer{flex:1}.app .panel-dock-column>.panel-dock-group.is-column-foot:not(.is-expanded){position:sticky;bottom:0;z-index:4;margin-top:auto;background:var(--panel);box-shadow:0 -10px 18px -14px #000c}.app .panel-dock-column>.panel-dock-group.is-column-foot:not(.is-expanded):not(.is-collapsed){display:flex;flex:1 1 0px;flex-direction:column;min-height:260px}.app .panel-dock-column>.panel-dock-group.is-column-foot:not(.is-expanded):not(.is-collapsed)>.panel-body{display:flex;flex:1 1 0px;flex-direction:column;min-height:0;max-height:none;overflow:hidden}.app .panel-dock-column>.is-column-foot:not(.is-expanded):not(.is-collapsed)>.panel-body>:is(.layer-list,.board-list){flex:1 1 auto;min-height:48px;overflow-y:auto}.app .panel-dock-column>.is-column-foot:not(.is-expanded):not(.is-collapsed)>.panel-body>*{flex-shrink:0}.app .panel-dock-column>.is-column-foot:not(.is-expanded):not(.is-collapsed)>.panel-body>.layer-actions{margin-top:auto}.app .panel-dock-column:has(>.is-column-foot:not(.is-expanded):not(.is-collapsed))>.panel-dock-placeholder{flex-grow:0;min-height:8px}.app .right-panel.panel-dock-column{scroll-padding-bottom:var(--column-foot-stack, 0px)}.app .right-panel.panel-dock-column{scroll-padding-top:30px}.app .panel-dock-column>.panel-dock-group.is-column-foot-lead:not(.is-expanded){position:sticky;bottom:var(--column-foot-height, 0px);z-index:4;margin-top:auto;background:var(--panel);box-shadow:0 -10px 18px -14px #000c}.app .panel-dock-column>.panel-dock-group.is-column-foot-lead:not(.is-expanded)>.panel-body{max-height:18vh;overflow-y:auto}.app .panel-dock-column>.panel-dock-group.is-column-foot-lead+.panel-dock-group.is-column-foot{margin-top:0;box-shadow:none}.app .panel-dock-column>.panel-dock-group.is-column-foot-lead+.panel-dock-group.is-column-foot:not(.is-expanded)>.panel-body{max-height:36vh}.app .panel-dock-column>.panel-dock-group.is-column-foot-lead,.app .panel-dock-column>.panel-dock-group.is-column-foot{order:1}.navigator-panel{display:grid;gap:12px;padding:4px 12px 14px}.navigator-thumbnail{position:relative;overflow:hidden;width:100%;border:1px solid var(--border);border-radius:6px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.navigator-thumbnail.is-dragging{cursor:grabbing}.navigator-thumbnail img{position:absolute;display:block;pointer-events:none}.navigator-view{position:absolute;box-sizing:border-box;border:1.5px solid var(--accent);border-radius:2px;box-shadow:0 0 0 9999px color-mix(in srgb,#000 22%,transparent);pointer-events:none}.navigator-presets{position:absolute;left:50%;bottom:8px;display:flex;gap:1px;padding:3px;transform:translate(-50%);border:1px solid color-mix(in srgb,#fff 12%,transparent);border-radius:999px;background:color-mix(in srgb,#2b2b2e 88%,transparent);box-shadow:0 6px 22px color-mix(in srgb,#000 38%,transparent);cursor:default}.navigator-presets button{padding:3px 8px;border:0;border-radius:999px;color:color-mix(in srgb,#fff 55%,transparent);background:transparent;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap}.navigator-presets button:hover,.navigator-presets button[aria-pressed=true]{color:#fff;background:color-mix(in srgb,#fff 14%,transparent)}.navigator-presets button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.navigator-zoom{display:grid;gap:8px;color:var(--muted);font-size:11px}.navigator-zoom input[type=range]{width:100%;height:16px;margin:0;background:transparent;appearance:none;cursor:pointer}.navigator-zoom input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--bright) 55%,transparent) var(--range-fill),color-mix(in srgb,var(--bright) 12%,transparent) var(--range-fill))}.navigator-zoom input[type=range]::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 4px color-mix(in srgb,#000 45%,transparent);appearance:none}.navigator-zoom input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.board-item{display:flex;align-items:center;min-width:0;border-radius:5px}.board-item.active{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.board-list .board-item>.board-select{flex:1;min-width:0;background:transparent}.board-select>span:not(.board-count){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-list .board-item>.board-remove{padding:4px;margin-right:4px;width:24px;height:26px;flex-shrink:0;color:var(--muted);opacity:.55}.board-item:hover .board-remove,.board-item:focus-within .board-remove{opacity:1}.board-list .board-remove:hover{color:#f0a99e;background:#a2332226}.layer-preview-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 12px 9px;color:var(--muted);font-size:10px}.layer-preview-controls select{width:96px}.layer-list.compact .layer-select{gap:9px}.layer-preview{width:var(--layer-preview-size, 42px);height:var(--layer-preview-size, 42px);flex-shrink:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:3px;overflow:hidden;background:conic-gradient(#9994 25%,#3333 0 50%,#9994 0 75%,#3333 0) 0 0 / 8px 8px}.layer-preview img{width:100%;height:100%;display:block;object-fit:contain}.layer-preview-placeholder{font-size:17px;color:var(--muted)}.layer-list.compact .layer-row{min-height:calc(var(--layer-preview-size, 42px) + 12px)}.layer-list.compact .layer-select>span:last-child{overflow:hidden;text-overflow:ellipsis}.layer-list.compact .layer-select{min-width:0}.app .canvas-area{background:var(--canvas-panel, #292b27)}.canvas-area .canvas-topline,.canvas-area .canvas-view-actions{background:var(--canvas-panel, #252723);border-color:var(--canvas-border, #32372e)}.canvas-area .canvas-crumb,.canvas-area .canvas-view-actions select{color:var(--canvas-text, #a0aa94)}.canvas-area .canvas-crumb>span:last-child,.canvas-area .canvas-view-actions>button,.canvas-area .canvas-bottom-left{color:var(--canvas-muted, #717e66)}.canvas-area .ruler-x{background:var(--canvas-ruler, #272a24);border-color:var(--canvas-border, #34392e);color:var(--canvas-muted, #626f55)}.canvas-area .ruler-x span{border-color:var(--canvas-border, #46513a);background-image:repeating-linear-gradient(90deg,transparent 0,transparent 11px,var(--canvas-border, #39432f) 12px,transparent 13px)}.canvas-area .canvas-view-actions .vertical-rule{background:var(--canvas-border, #3d4733)}.canvas-area .free-workspace{background-image:radial-gradient(var(--canvas-dot, #7c8c6540) .6px,transparent .6px)}.canvas-color-note{margin:8px 0 16px;font-size:11px;line-height:1.5;color:var(--muted)}.canvas-hue-link{display:flex;align-items:center;gap:8px;margin:0 0 15px;color:var(--text);cursor:pointer}.canvas-hue-link input{accent-color:var(--accent);margin:0}.local-ai-setup{display:flex;flex-direction:column;gap:11px;padding:12px;min-width:0;border:1px solid var(--border);border-radius:6px;font-size:11px}.local-ai-title{display:flex;align-items:center;gap:7px}.local-ai-title strong{flex:1;font-size:12px;font-weight:500}.local-ai-title>span{color:var(--accent);font-size:10px}.local-ai-setup p{margin:0;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.local-ai-setup p.local-ai-model{color:var(--bright);font-size:12px}.local-ai-setup button{border:1px solid var(--border);border-radius:4px;padding:8px;width:100%;font:inherit}.local-ai-setup button.local-ai-primary{border-color:var(--accent);color:var(--accent)}.local-ai-actions{display:flex;gap:7px}.local-ai-progress{display:flex;flex-direction:column;gap:9px;line-height:1.5}.local-ai-progress progress{width:100%;height:5px;accent-color:var(--accent)}.local-ai-progress small{color:var(--muted);font-size:10px}.local-ai-setup summary{cursor:pointer;display:flex;justify-content:space-between;gap:7px;list-style:none;color:var(--muted);font-size:10px}.local-ai-setup summary::-webkit-details-marker{display:none}.local-ai-setup details[open] summary{margin-bottom:9px}.local-ai-setup details p{margin-top:7px;font-size:10px}.local-ai-setup .local-ai-storage{font-size:9px}.local-ai-setup .local-ai-error{color:#efb49f}.design-assistant{position:absolute;z-index:35;right:18px;bottom:76px;width:416px;max-width:calc(100% - 28px);max-height:calc(100% - 44px);display:flex;flex-direction:column;color:var(--text, #dfe3d6);background:var(--panel, #1d211c);border:1px solid var(--line, #3c4432);border-radius:13px;box-shadow:0 14px 42px #0006;overflow:hidden;font-size:12px;text-align:left}.design-assistant button{min-height:28px;border:1px solid var(--line, #3c4432);border-radius:6px;background:transparent;color:inherit;padding:5px 8px}.design-assistant button:hover:not(:disabled){background:#ffffff0b}.design-assistant button:disabled{opacity:.42}.design-assistant button:focus-visible,.design-assistant select:focus-visible,.design-assistant textarea:focus-visible{outline:2px solid var(--accent, #8fc4f4);outline-offset:2px}.design-assistant-heading{display:flex;align-items:center;gap:8px;padding:10px 12px;flex-shrink:0;cursor:grab;touch-action:none;border-bottom:1px solid var(--line, #3c4432)}.design-assistant-heading:active{cursor:grabbing}.design-assistant-heading strong{font-size:12px;font-weight:600;white-space:nowrap}.design-assistant-heading>button{display:grid;place-items:center;border:0;padding:4px;min-width:24px;min-height:24px}.assistant-grip{color:var(--muted, #8a967c)}.assistant-local{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent, #8fc4f4);margin-right:auto}.design-assistant-body{min-height:0;overflow-y:auto;padding:12px}.assistant-connection{display:flex;align-items:flex-end;gap:7px}.assistant-connection label{display:grid;gap:5px;min-width:0;flex:1}.assistant-connection label>span{color:var(--muted, #929d86);font-size:10px}.assistant-connection select{font:inherit;background:#ffffff05;border:1px solid var(--line, #3c4432);color:inherit;border-radius:6px;padding:6px 7px;min-width:0;width:100%;height:31px}.assistant-connection>button{height:31px;width:31px;display:grid;place-items:center}.assistant-context{display:flex;justify-content:space-between;gap:9px;color:var(--muted, #929d86);font-size:10px;margin:11px 0 3px}.assistant-context>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-context>span:last-child{flex-shrink:0}.assistant-conversation{max-height:214px;overflow-y:auto;overscroll-behavior:contain;padding:7px 1px 4px}.assistant-welcome{padding:12px 8px 13px}.assistant-eyebrow{display:block;color:var(--accent, #8fc4f4);text-transform:uppercase;font-size:9px;letter-spacing:.13em}.assistant-welcome p{font-size:18px;line-height:1.35;letter-spacing:-.02em;margin:7px 0 12px;max-width:300px}.assistant-examples{padding-left:10px;border-left:2px solid var(--line, #3c4432);line-height:1.9;font-size:11px}.assistant-welcome small{display:block;line-height:1.55;color:var(--muted, #929d86);font-size:10px;margin-top:13px}.assistant-message{border-radius:7px;padding:8px 10px;margin-bottom:7px;background:#ffffff04}.assistant-message.is-user{background:#8fc4f40c;margin-left:22px}.assistant-message small{color:var(--muted, #929d86);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.assistant-message p{margin:5px 0 1px;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-thinking{color:var(--muted, #929d86);font-size:11px;padding:0 10px}.assistant-proposal{border:1px solid var(--line, #3c4432);background:#ffffff03;border-radius:7px;padding:10px;margin:6px 0 10px}.assistant-proposal-heading{display:flex;justify-content:space-between;font-size:11px}.assistant-proposal-heading>span{color:var(--accent, #8fc4f4)}.assistant-proposal ol{max-height:110px;overflow-y:auto;margin:8px 0;padding-left:18px;font-size:11px;line-height:1.5}.assistant-proposal li{margin:0 0 5px;overflow-wrap:anywhere}.assistant-proposal-actions{display:flex;justify-content:flex-end;gap:7px}.assistant-proposal-actions button{font-size:11px}.assistant-proposal-actions .assistant-apply{background:var(--accent, #8fc4f4);color:#15222b;border-color:transparent;display:flex;gap:5px;align-items:center}.assistant-proposal-actions .assistant-apply:hover:not(:disabled){filter:brightness(1.06);background:var(--accent, #8fc4f4)}.assistant-notice,.assistant-error{font-size:11px;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.assistant-notice{color:var(--muted, #929d86)}.assistant-error{color:#e9ad9a}.assistant-composer{border-top:1px solid var(--line, #3c4432);padding-top:9px}.assistant-composer textarea{resize:vertical;font:inherit;font-size:12px;line-height:1.45;color:inherit;background:#0000000f;border:1px solid var(--line, #3c4432);border-radius:7px;padding:9px;min-height:58px;max-height:150px;width:100%;box-sizing:border-box}.assistant-composer>div{display:flex;gap:7px;align-items:center;margin-top:6px}.assistant-composer>div>span{margin-left:auto;color:var(--muted, #929d86);font-size:9px}.assistant-composer .assistant-clear{border:0;padding:0;font-size:10px;color:var(--muted, #929d86)}.assistant-composer button[aria-label]{display:grid;place-items:center;min-width:31px}.design-assistant.is-minimized{width:272px}.design-assistant.is-minimized .design-assistant-heading{border-bottom:0}.assistant-spinner{animation:assistant-spin 1s linear infinite}@keyframes assistant-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.assistant-spinner{animation:none}}@media(max-width:1100px){.design-assistant{right:10px;bottom:68px}.assistant-context{flex-wrap:wrap;gap:3px}.assistant-composer>div>span{display:none}.assistant-composer>div>button:last-child{margin-left:auto}}.nodes-workspace{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:180px minmax(0,1fr) 240px;grid-template-rows:48px minmax(0,1fr);color:var(--text);background:var(--bg);overflow:hidden}.nodes-workspace button,.nodes-workspace input,.nodes-workspace select,.nodes-workspace textarea{-webkit-app-region:no-drag}.nodes-workspace button{cursor:pointer}.nodes-workspace button:disabled{cursor:default;opacity:.4}.nodes-workspace button:focus-visible,.nodes-workspace input:focus-visible,.nodes-workspace select:focus-visible,.nodes-workspace textarea:focus-visible,.nw-wire-hit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nw-workspace-bar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--border);min-width:0}.nw-workspace-mark{width:148px;display:flex;gap:9px;align-items:center;flex-shrink:0;color:var(--bright);font-size:13px}.nw-workspace-mark svg{color:var(--accent)}.nw-graph-selector{position:relative;width:176px;min-width:105px}.nw-graph-selector .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.nw-graph-selector select{width:100%;padding:6px 25px 6px 9px;appearance:none;font-size:11px}.nw-graph-selector>svg{position:absolute;right:8px;top:9px;pointer-events:none;color:var(--muted)}.nw-graph-name{flex:1;min-width:70px;max-width:340px;padding:6px 7px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:12px;color:var(--bright)}.nw-graph-name:hover,.nw-graph-name:focus{border-color:var(--border);background:var(--surface)}.nw-bar-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.nw-icon-button{width:28px;height:28px;padding:4px;border-radius:4px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.nw-icon-button:not(:disabled):hover{background:var(--hover);color:var(--bright)}.nw-bar-divider{width:1px;height:19px;background:var(--border);margin:0 5px}.nw-library{min-width:0;min-height:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column}.nw-library-tabs{display:flex;padding:13px 10px 9px;gap:4px}.nw-library-tabs button{flex:1;padding:7px 4px;border-radius:4px;font-size:11px;color:var(--muted)}.nw-library-tabs button.active{color:var(--accent);background:var(--selected)}.nw-library-scroll{overflow:auto;min-height:0;flex:1;padding:0 10px 14px}.nw-search{display:flex;gap:7px;align-items:center;border:1px solid var(--border);border-radius:5px;color:var(--muted);padding:7px 8px;margin:4px 0 17px}.nw-search input{background:transparent;min-width:0;width:100%;border:0;color:var(--text);font-size:10px;padding:0}.nw-catalog-section{margin-top:17px}.nw-catalog-section h2{margin:0 6px 7px;color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:1.2px}.nw-category-sources{--node-category: color-mix(in srgb, var(--accent) 45%, #78bfc5)}.nw-category-arrange{--node-category: color-mix(in srgb, var(--accent) 30%, #cfac74)}.nw-category-style{--node-category: color-mix(in srgb, var(--accent) 30%, #b299d8)}.nw-category-output{--node-category: var(--accent)}.nw-add-node{width:100%;display:flex;gap:9px;align-items:center;padding:9px 7px;border-radius:5px;text-align:left}.nw-add-node:hover{background:var(--hover)}.nw-add-node>svg:first-child{color:var(--node-category);flex-shrink:0}.nw-add-node>svg:last-child{color:var(--muted);margin-left:auto;flex-shrink:0}.nw-add-node>span{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:11px;color:var(--text)}.nw-add-node small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.nw-library-footer{border-top:1px solid var(--border);padding:12px 10px;display:flex;flex-direction:column;gap:9px}.nw-library-footer>span{font:9px var(--mono);color:var(--muted)}.nw-button{padding:8px 10px;min-height:32px;border-radius:5px;background:var(--surface);border:1px solid var(--strong-border);color:var(--text);display:inline-flex;gap:7px;justify-content:center;align-items:center;font-size:10px}.nw-button:not(:disabled):hover{background:var(--hover);color:var(--bright)}.nw-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.nw-primary:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 87%,white);color:var(--accent-ink)}.nw-template{display:flex;width:100%;flex-direction:column;gap:6px;padding:8px;margin-top:10px;text-align:left;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.nw-template:hover{border-color:var(--strong-border);background:var(--hover)}.nw-template-art{width:100%;height:97px;display:flex;justify-content:center;background:var(--bg);border-radius:3px;overflow:hidden;margin-bottom:2px}.nw-template strong{font-size:11px;font-weight:500}.nw-template small{font-size:9px;line-height:1.5;color:var(--muted)}.nw-main{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(230px,1fr) minmax(200px,.85fr) 27px;background:var(--bg)}.nw-editor,.nw-preview{min-width:0;min-height:0;display:flex;flex-direction:column}.nw-section-bar{height:36px;min-height:36px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--panel);gap:8px;font-size:10px}.nw-section-bar>span{display:flex;align-items:center;gap:7px;white-space:nowrap}.nw-section-bar small{font:9px var(--mono);color:var(--muted);margin-left:3px}.nw-section-bar>div{display:flex;align-items:center;gap:2px}.nw-section-bar output{font:9px var(--mono);min-width:33px;text-align:center;color:var(--muted)}.nw-graph-canvas{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none;outline:none;background-color:var(--bg);background-image:radial-gradient(var(--strong-border) .7px,transparent .7px);cursor:grab}.nw-graph-canvas.is-panning{cursor:grabbing}.nw-graph-canvas.is-connecting{cursor:crosshair}.nw-node-plane{position:absolute;width:0;height:0;left:0;top:0;transform-origin:0 0}.nw-node{position:absolute;background:var(--panel);border:1px solid var(--strong-border);border-radius:6px;box-shadow:0 4px 12px #0003;cursor:default}.nw-node.selected{border-color:var(--accent);outline:1px solid var(--accent);box-shadow:0 5px 20px #0004}.nw-node-title{width:100%;height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;border-top:3px solid var(--node-category);background:var(--surface);border-radius:5px 5px 0 0;cursor:grab!important;touch-action:none}.nw-node-title>svg{color:var(--node-category)}.nw-node-title strong{font-size:11px;font-weight:500;color:var(--bright)}.nw-node-title small{margin-left:auto;font:8px var(--mono);color:var(--muted)}.nw-node-summary{padding:6px 10px 0;color:var(--muted);font:9px var(--mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nw-port{position:absolute;width:13px;height:13px;border:2px solid var(--node-category);background:var(--panel);border-radius:50%;transform:translateY(-50%);padding:0;z-index:2;touch-action:none}.nw-port:hover,.nw-port:focus-visible,.nw-port.connected,.nw-port.connecting{background:var(--node-category)}.nw-input-port{left:-7px}.nw-output-port{right:-7px}.nw-input-label,.nw-output-label{position:absolute;font-size:9px;color:var(--muted);transform:translateY(-50%);pointer-events:none}.nw-input-label{left:11px}.nw-output-label{right:11px}.nw-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.nw-wire{fill:none;stroke:var(--muted);stroke-width:1.7;opacity:.8;pointer-events:none}.nw-wire.selected{stroke:var(--accent);stroke-width:2.5;opacity:1}.nw-wire.pending{stroke:var(--accent);stroke-dasharray:5 4}.nw-wire-hit{fill:none;stroke:transparent;stroke-width:15;pointer-events:stroke;cursor:pointer}.nw-wire-hit:focus-visible{stroke:color-mix(in srgb,var(--accent) 25%,transparent)}.nw-canvas-hint{position:absolute;bottom:18px;left:20px;color:var(--muted);display:flex;flex-direction:column;gap:5px;font-size:10px;pointer-events:none}.nw-canvas-hint span{font:9px var(--mono);opacity:.75}.nw-cancel-wire{position:absolute;bottom:10px;left:50%;transform:translate(-50%);border:1px solid var(--strong-border);background:var(--panel);padding:6px 10px;border-radius:5px;color:var(--accent);font-size:10px;gap:5px;white-space:nowrap}.nw-preview{border-top:1px solid var(--border)}.nw-live-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.nw-live-dot.has-error{background:#dca979}.nw-preview-size{color:var(--muted);font:9px var(--mono)}.nw-preview-stage{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:18px;background:var(--surface);overflow:hidden;position:relative}.nw-artwork{display:block;width:100%;height:100%;max-width:100%;max-height:100%;flex-shrink:1;overflow:hidden;filter:drop-shadow(0 3px 8px #0003)}.nw-preview-empty{position:absolute;inset:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:var(--muted);background:var(--surface);font-size:10px;padding:18px}.nw-preview-empty strong{color:var(--text);font-size:12px;font-weight:500}.nw-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 13px;border-top:1px solid var(--border);background:var(--panel)}.nw-preview-footer>span{font-size:9px;color:var(--muted)}.nw-status{padding:6px 12px;border-top:1px solid var(--border);font:9px var(--mono);color:var(--muted);display:flex;justify-content:space-between;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nw-status.has-error{color:#e3b481}.nw-inspector{min-height:0;min-width:0;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column}.nw-inspector-heading{padding:19px 17px 16px;border-bottom:1px solid var(--border)}.nw-eyebrow{font:9px var(--mono);color:var(--muted);letter-spacing:1.4px}.nw-inspector-heading h2{font-size:18px;font-weight:500;color:var(--bright);margin:10px 0 7px}.nw-inspector-heading p{font-size:10px;line-height:1.6;margin:0;color:var(--muted)}.nw-inspector-scroll{overflow:auto;min-height:0;flex:1}.nw-inspector-section{padding:16px;border-bottom:1px solid var(--border)}.nw-inspector-section h3{font-size:10px;font-weight:500;color:var(--muted);margin:0 0 16px}.nw-field{display:block;margin-bottom:15px;color:var(--muted);font-size:10px}.nw-field:last-child{margin-bottom:0}.nw-field>span{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:7px}.nw-field input:not([type=range]):not([type=color]),.nw-field select,.nw-field textarea{width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:11px;min-width:0}.nw-field textarea{resize:vertical;min-height:54px;max-height:160px;line-height:1.5}.nw-number>span>input{width:82px!important;text-align:right;font:10px var(--mono)!important}.nw-field input[type=range]{width:100%;margin:0;accent-color:var(--accent);height:13px;cursor:ew-resize}.nw-color-field{display:flex;gap:9px;align-items:center}.nw-color-field input{width:39px;height:29px;padding:2px;border:1px solid var(--strong-border);border-radius:4px;cursor:pointer;background:var(--surface)}.nw-color-field code{font:10px var(--mono);color:var(--text)}.nw-check{display:flex;align-items:center;gap:8px;color:var(--text);font-size:11px;margin-bottom:14px}.nw-check input{accent-color:var(--accent)}.nw-hint{font-size:10px;line-height:1.6;margin:8px 2px 13px;color:var(--muted)}.nw-graph-settings>summary{padding:15px 16px;font-size:10px;color:var(--text);border-bottom:1px solid var(--border);cursor:pointer}.nw-graph-settings>.nw-inspector-section{background:color-mix(in srgb,var(--surface) 50%,transparent)}.nw-confirm{display:grid;gap:8px}.nw-confirm p{font-size:10px;line-height:1.5;margin:0 0 3px}.nw-connection-summary{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:11px;margin-bottom:19px}.nw-connection-summary svg{color:var(--muted)}.nw-diagnostics p{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0}.nw-diagnostics .nw-error{color:#e3b481}.nw-assistant-slot{border-top:1px solid var(--border)}.nw-inspector-footer{display:flex;gap:7px;align-items:center;padding:13px 16px;color:var(--muted);border-top:1px solid var(--border);font:9px var(--mono)}@media(min-width:1450px){.nw-main{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);grid-template-rows:minmax(0,1fr) 27px}.nw-editor{grid-column:1;grid-row:1}.nw-preview{grid-column:2;grid-row:1;border-top:0;border-left:1px solid var(--border)}.nw-status{grid-column:1 / -1}.nw-preview-footer>span{display:none}.nw-preview-footer .nw-primary{width:100%}}@media(max-width:1050px){.nodes-workspace{grid-template-columns:170px minmax(0,1fr) 225px}.nw-workspace-mark{width:138px}.nw-workspace-bar{gap:8px;padding-right:10px}.nw-graph-selector{width:160px}.nw-section-bar{padding:0 9px}.nw-section-bar small{display:none}.nw-preview-footer>span{max-width:110px;line-height:1.5}.nw-inspector-section{padding:14px}}@media(max-height:760px)and (max-width:1449px){.nw-main{grid-template-rows:minmax(195px,1fr) minmax(175px,.8fr) 25px}}.node-assistant{min-width:0;font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.node-assistant button{min-height:29px;padding:5px 8px;border:1px solid var(--border);border-radius:5px;font-size:11px}.node-assistant button:not(:disabled):hover{background:var(--hover)}.node-assistant-heading{display:flex;align-items:center;gap:7px;padding:10px 11px;border-bottom:1px solid var(--border)}.node-assistant-heading strong{font-size:12px;color:var(--bright)}.node-assistant-heading>span{margin-right:auto;color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.node-assistant-heading>button{border:0;padding:3px;min-height:22px}.node-assistant-body{padding:11px}.node-assistant-connection{display:flex;gap:6px;align-items:flex-end}.node-assistant-connection label{display:grid;gap:5px;min-width:0;flex:1;color:var(--muted);font-size:10px}.node-assistant-connection select{width:100%;min-width:0;height:30px;padding:4px 6px;color:var(--text);background:var(--surface)}.node-assistant-connection>button{width:30px;height:30px;padding:5px}.node-assistant-context{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;margin:11px 0 5px;color:var(--muted);font-size:9px}.node-assistant-context>span:first-child{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-assistant-conversation{max-height:180px;overflow:auto;overscroll-behavior:contain}.node-assistant-welcome{padding:5px 0 12px}.node-assistant-welcome p{margin:5px 0;color:var(--bright);font-size:14px}.node-assistant-welcome small{color:var(--muted);font-size:10px;line-height:1.5;display:block}.node-assistant-message{margin:6px 0;border-radius:5px;padding:7px 8px;background:var(--surface)}.node-assistant-message.is-user{margin-left:13px;background:var(--selected)}.node-assistant-message small{color:var(--muted);font-size:9px}.node-assistant-message p{margin:4px 0 0;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.node-assistant-proposal{margin:8px 0;border:1px solid var(--strong-border);border-radius:6px;padding:9px}.node-assistant-proposal-heading{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.node-assistant-proposal-heading>span{color:var(--accent)}.node-assistant-proposal ol{margin:9px 0;padding-left:18px;max-height:145px;overflow:auto}.node-assistant-proposal li{margin-bottom:5px;font-size:10px;line-height:1.45;overflow-wrap:anywhere}.node-assistant-preview svg{display:block;width:100%;height:135px;background:var(--bg);border:1px solid var(--border);border-radius:4px}.node-assistant-preview>span{display:block;color:var(--muted);font-size:9px;margin-top:5px}.node-assistant-proposal-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.node-assistant-notice,.node-assistant-error{font-size:10px;line-height:1.5;overflow-wrap:anywhere;margin:8px 0}.node-assistant-notice{color:var(--muted)}.node-assistant-error{color:#efb19e}.node-assistant-composer{border-top:1px solid var(--border);padding-top:9px}.node-assistant-composer textarea{display:block;width:100%;min-height:64px;max-height:140px;resize:vertical;border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--bg);font-size:11px;line-height:1.5}.node-assistant-composer>div{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px}.node-assistant .node-assistant-clear{color:var(--muted);border:0;padding-left:0;font-size:9px}.node-assistant .node-assistant-primary,.node-assistant .node-assistant-primary:not(:disabled):hover{background:var(--accent);color:var(--accent-ink);border-color:transparent}.node-assistant-spinner{animation:node-assistant-spin 1s linear infinite}@keyframes node-assistant-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.node-assistant-spinner{animation:none}}.font-editor-section{border-top:1px solid var(--border, #343c31);margin:6px 14px 20px;font-size:11px;min-width:0}.font-editor-section>summary{display:flex;align-items:center;gap:8px;list-style:none;padding:14px 0;color:var(--text, #d5dfcb);font-weight:600;cursor:pointer}.font-editor-section>summary::-webkit-details-marker{display:none}.font-editor-section>summary:focus-visible{outline:1px solid var(--accent, #d5f487);outline-offset:3px}.font-editor-chevron{margin-left:auto;transform:rotate(-90deg)}.font-editor-section[open] .font-editor-chevron{transform:none}.font-editor-body{display:grid;gap:10px;padding-bottom:12px}.font-editor-body p{margin:0}.font-editor-label{display:grid;gap:7px;color:var(--muted, #89967e)}.font-editor-label select{width:100%;min-width:0;padding:8px;color:var(--text, #d5dfcb);background:var(--panel, #252c23);border:1px solid var(--border, #414c39);border-radius:4px}.font-editor-body .wide-button{width:100%;margin:0}.font-editor-ai-note{border-top:1px solid var(--border, #343c31);padding-top:10px}.font-library-v2 .font-editor-section{margin:0 0 16px;border-top:0;border-bottom:1px solid var(--border, #343c31)}.font-library,.typography-panel{font-size:11px;min-width:0}.font-library{padding:14px}.font-library>input,.font-library>select,.type-label select,.typography-panel>select{width:100%;background:#252c23;color:#d5dfcb;border:1px solid #414c39;padding:8px;border-radius:4px;margin-bottom:8px}.font-import{flex-wrap:wrap}.font-import small,.type-hint{color:#89967e;font-size:10px;line-height:1.6}.type-error{color:#edaa90;line-height:1.5}.type-caption{font:9px var(--mono);letter-spacing:1.2px;color:#8fa17d;margin:20px 0 10px}.font-library-row{width:100%;justify-content:flex-start;text-align:left;padding:12px 4px;border-bottom:1px solid #333d2d}.font-library-row>span:first-child{font-size:30px;width:52px}.font-library-row small{display:block;color:#849477;font-size:9px;margin-top:5px}.font-library-row.active{background:#35442b;color:#d5f487}.typography-panel{border:0;padding:12px 16px;margin:0}.typography-panel legend{color:#c4d7b0}.type-label{display:block;color:#a9b59f;margin:10px 0}.type-label select{display:block;margin-top:6px}.type-numbers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:10px 0}.type-buttons{display:flex;gap:4px;margin:10px 0;flex-wrap:wrap}.type-buttons button{padding:6px;border:1px solid #46563b;border-radius:3px;font-size:10px}.type-buttons button[aria-pressed=true]{background:#485e33;color:#def7b7}.type-buttons input[type=color]{width:28px;height:26px}.type-check{display:flex;gap:8px;align-items:center;margin:10px 0}.character-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));max-height:220px;overflow:auto;border:1px solid #394630;margin:8px 0}.character-grid button{font-size:18px;min-height:28px;border:1px solid #303b28}.typography-panel .wide-button{margin-top:8px}.glyph-studio{position:fixed;inset:4vh 4vw;z-index:100;background:#1c211c;border:1px solid #566648;box-shadow:0 25px 100px #000b;border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) 300px;overflow:hidden;color:#d6dfcd}.glyph-main{min-width:0;display:flex;flex-direction:column}.glyph-toolbar{padding:14px;display:flex;gap:10px;align-items:center;border-bottom:1px solid #3c4933;flex-wrap:wrap}.glyph-toolbar strong{margin-right:auto}.glyph-toolbar button,.glyph-side button{border:1px solid #506342;padding:7px 10px;border-radius:4px;background:#2e3a28}.glyph-toolbar input{width:50px;background:#293125;padding:7px;font-size:18px}.glyph-canvas{flex:1;min-height:300px;width:100%;background:#131914;touch-action:none}.glyph-side{padding:18px;overflow:auto;border-left:1px solid #3c4933}.glyph-side label{display:block;margin:12px 0}.glyph-side input:not([type=checkbox]),.glyph-side select,.glyph-side textarea{display:block;width:100%;background:#293125;border:1px solid #49593d;padding:8px;border-radius:4px;margin-top:6px;color:#d9e7ce}.glyph-side textarea{min-height:100px;resize:vertical}.glyph-side p{font-size:11px;line-height:1.6;color:#93a685}.glyph-side button{margin:5px 4px 5px 0}.glyph-preview-note{color:#e8bd75!important}.glyph-measure{font:10px var(--mono);fill:#b6cba2;pointer-events:none}.typography-panel .type-face-label{margin-top:0}.type-alignment{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.type-alignment .type-buttons{gap:2px;margin:2px 0}.type-alignment button{display:flex;align-items:center;justify-content:center;min-width:25px}.type-formatting{padding-bottom:8px}.type-variable-weight{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted, #89967e)}.type-variable-weight span{margin-left:auto;font-family:var(--mono)}.type-variable-weight input{width:100%;accent-color:var(--accent, #d5f487)}.type-section{border-top:1px solid var(--line, #333d2d);padding:10px 0}.type-section summary{cursor:pointer;color:var(--text, #d5dfcb);font-size:11px;-webkit-user-select:none;user-select:none}.type-section summary::marker{color:var(--muted, #89967e)}.type-characters>select,.type-characters>input{width:100%;background:var(--surface, #252c23);border:1px solid var(--line, #414c39);color:inherit;padding:8px;border-radius:4px;margin:4px 0}.type-character-pages{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px}.type-character-pages button{padding:6px 2px}.font-library-v2{padding:0 12px 18px;color:var(--text, #d5dfcb)}.font-library-v2 button{color:inherit}.font-library-v2 .font-library-import{border-bottom:1px solid var(--border, #333d2d);margin-bottom:16px}.font-section-heading{display:flex;width:100%;align-items:center;gap:8px;min-height:42px;text-align:left;font-weight:550}.font-section-heading span{flex:1}.font-section-heading>svg:last-child{transition:transform .15s}.font-section-heading[aria-expanded=false]>svg:last-child{transform:rotate(-90deg)}.font-import-content{padding-bottom:10px}.font-library-v2 .font-import{margin:0;gap:4px;min-height:56px}.font-library-v2 .font-import small{flex-basis:100%}.font-library-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.font-library-title>span{color:var(--muted, #89967e);font:9px var(--mono)}.font-library-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px;border:1px solid var(--border, #333d2d);border-radius:6px;padding:3px;gap:2px}.font-library-tabs button{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;border-radius:3px;padding:7px 1px;font-size:9px}.font-library-tabs button[aria-selected=true]{color:var(--accent, #d5f487);background:var(--active-bg, #2d3828)}.font-library-v2 input:not([type=file]):not([type=range]),.font-library-v2 select,.font-library-v2 textarea{box-sizing:border-box;max-width:100%;background:var(--input-bg, #252c23);color:inherit;border:1px solid var(--border, #414c39);padding:8px;border-radius:4px;font:inherit}.font-library-v2 [role=tabpanel]>input,.font-library-v2 [role=tabpanel]>select{width:100%;margin:0 0 8px}.font-library-v2 .font-library-row{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-bottom-color:var(--border, #333d2d);border-radius:4px;padding:10px 4px;min-width:0}.font-library-v2 .font-library-row>span:first-child{width:38px;flex-shrink:0;font-size:26px}.font-library-v2 .font-library-row>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.font-library-v2 .font-library-row.active{border-color:var(--accent, #d5f487);background:var(--active-bg, #2d3828);color:inherit}.font-library-v2 .font-library-row small{color:var(--muted, #89967e);font-size:9px;line-height:1.4}.font-family-group{margin:6px 0}.font-face-list{margin:5px 0 10px 8px;border-left:1px solid var(--border, #333d2d);padding-left:6px}.font-face-list button{width:100%;display:flex;align-items:center;gap:8px;padding:7px 5px;text-align:left;border:1px solid transparent;border-radius:3px}.font-face-list button[aria-pressed=true]{background:var(--active-bg, #2d3828);border-color:var(--border, #414c39)}.font-face-list button>span:first-child{font-size:20px;min-width:27px}.font-face-list small{display:block;font-size:9px;color:var(--muted, #89967e);margin-top:3px}.font-library-playground{margin-top:16px}.font-specimen{margin:0 0 8px;border:1px solid var(--border, #414c39);border-radius:6px;overflow:hidden;min-width:0}.font-specimen figcaption{border-bottom:1px solid var(--border, #333d2d);padding:9px;color:var(--muted, #89967e);font-size:9px}.font-specimen figcaption strong{display:block;color:var(--text, #d5dfcb);font-size:11px;margin:4px 0;overflow-wrap:anywhere}.font-specimen figcaption small{font-size:9px}.font-specimen-text{padding:14px 10px;min-height:100px;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface, #191e18)}.font-library-v2 .wide-button{width:100%;min-width:0;white-space:normal;margin-left:0;margin-right:0}.font-comparison{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.font-field{display:block;color:var(--muted, #a9b59f);font-size:10px;margin:10px 0}.font-field select,.font-field textarea{display:block;width:100%;margin-top:6px}.font-field textarea{resize:vertical;line-height:1.5!important;min-height:65px}.font-preview-controls{border-top:1px solid var(--border, #333d2d);padding-top:13px;margin-top:16px}.font-preview-controls summary{cursor:pointer;font-weight:550}.font-preview-numbers{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.font-library-v2 .numeric-field{margin:0;min-width:0}.font-library-v2 .numeric-field input{padding:5px 2px!important;border:0!important;background:transparent!important}.font-library-v2 .numeric-field .scrub-label{white-space:nowrap}.font-preview-axes>label{display:block;margin:10px 0}.font-preview-axes>label>span{display:flex;justify-content:space-between;font-size:10px}.font-preview-axes input{width:100%;margin:8px 0 0;accent-color:var(--accent, #d5f487)}.font-preview-axes output{color:var(--muted, #89967e);font-family:var(--mono)}.font-coverage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--border, #333d2d);border-radius:4px;overflow:hidden;max-height:290px;overflow-y:auto}.font-coverage-grid button{min-width:0;height:40px;padding:3px;border:1px solid var(--border, #333d2d);overflow:hidden}.font-coverage-grid button:hover{background:var(--active-bg, #2d3828);color:var(--accent, #d5f487)}.font-character-pages{display:flex;justify-content:space-between;align-items:center;gap:4px;margin:8px 0;font-size:9px}.font-character-pages button{padding:5px;border:1px solid var(--border, #333d2d);border-radius:3px}.font-feature-list{display:flex;flex-direction:column;gap:5px}.font-feature-list button{border:1px solid var(--border, #414c39);border-radius:4px;text-align:left;padding:8px;display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px}.font-feature-list button[aria-pressed=true]{background:var(--active-bg, #2d3828);border-color:var(--accent, #d5f487)}.font-feature-list small{color:var(--muted, #89967e);font:9px var(--mono)}.font-library-v2 .type-caption{margin-top:18px;line-height:1.4}.font-library-v2 .type-hint{color:var(--muted, #89967e)}.font-library-v2 button:disabled{opacity:.45;cursor:default}.font-external-catalog{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.font-external-catalog summary{font-weight:550;cursor:pointer}.font-external-catalog summary small{display:block;color:var(--muted);font-size:9px;font-weight:400;margin:5px 0 0 12px}.font-catalog-styles{display:grid;gap:4px}.font-catalog-styles button{justify-content:space-between;text-align:left;font-size:10px;border:1px solid var(--border);border-radius:4px;padding:8px}.font-source-links a{display:flex;justify-content:space-between;align-items:center;color:inherit;padding:9px 0;text-decoration:none;border-bottom:1px solid var(--border)}.font-source-links a:hover{color:var(--accent)}.fonts-workspace{--fonts-sidebar-width: 226px;flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:var(--fonts-sidebar-width) minmax(0,1fr);color:var(--text);background:var(--bg);overflow:hidden}.fonts-workspace button,.fonts-workspace input{-webkit-app-region:no-drag}.fonts-workspace button:focus-visible,.fonts-workspace input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fonts-workspace .fw-nav:focus-visible{outline-offset:-2px}.fw-spin{animation:fw-spin 1s linear infinite}@keyframes fw-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.fw-spin{animation:none}}.fw-sidebar{min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:8px 8px 10px;background:var(--panel);border-right:1px solid var(--border)}.fw-group{display:flex;flex-direction:column;min-width:0}.fw-group-label{padding:4px 8px 3px;color:var(--muted);font:9px var(--mono);letter-spacing:1.2px;text-transform:uppercase}.fw-nav{width:100%;height:28px;flex-shrink:0;justify-content:flex-start;gap:8px;padding:0 8px;border-radius:4px;color:var(--text);font-size:11px;text-align:left}.fw-nav>span:not(.fw-style-glyph){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fw-nav>svg{flex-shrink:0;color:var(--muted)}.fw-nav small{flex-shrink:0;color:var(--muted);font:9px var(--mono)}.fw-nav:not(:disabled):hover{background:var(--hover);color:var(--bright)}.fw-nav[aria-pressed=true],.fw-nav[aria-pressed=true]:not(:disabled):hover{background:var(--selected);color:var(--accent)}.fw-nav[aria-pressed=true]>svg,.fw-nav[aria-pressed=true] small{color:var(--accent)}.fw-style-glyph{width:13px;flex-shrink:0;font-size:11px;line-height:1;text-align:center;color:var(--muted)}.fw-nav[aria-pressed=true] .fw-style-glyph{color:var(--accent)}.fw-status{margin:0 8px 0 29px;color:var(--muted);font-size:9px;line-height:1.5}.fw-status:not(:empty){padding:2px 0 4px}.fw-system-button{height:26px;margin:2px 8px 0 29px;padding:0 8px;border:1px solid var(--strong-border);border-radius:4px;color:var(--accent);background:var(--hover);font-size:10px}.fw-foundries{flex:1 0 120px;min-height:120px}.fw-foundry-list{flex:1;min-height:0;overflow:auto}.fw-note{margin:2px 8px;color:var(--muted);font-size:9px;line-height:1.5}.fw-main{min-width:0;min-height:0;display:flex;flex-direction:column}.fw-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-height:40px;padding:6px 14px;background:var(--panel);border-bottom:1px solid var(--border);color:var(--muted);font-size:10px}.fonts-count{color:var(--bright);font:10px var(--mono);white-space:nowrap}.fw-sample{flex:1 1 110px;max-width:220px;height:26px;padding:0 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:11px}.fw-range{display:flex;align-items:center;gap:7px;white-space:nowrap}.fw-range input{width:84px;height:13px;margin:0;accent-color:var(--accent);cursor:ew-resize}.fw-range output{min-width:36px;color:var(--bright);font:10px var(--mono)}.fw-swatches{display:flex;gap:5px}.fw-swatch{width:18px;height:18px;padding:0;border:1px solid var(--strong-border);border-radius:50%}.fw-swatch-dark{background:var(--bg)}.fw-swatch-light{background:var(--bright)}.fw-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--accent)}.fw-search{display:flex;align-items:center;gap:6px;flex:0 1 180px;min-width:110px;height:26px;margin-left:auto;padding:0 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.fw-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}.fw-search input{width:100%;padding:0;color:var(--text);font-size:11px}.fonts-workspace .fw-search input:focus-visible{outline:none}.fw-list{--fw-ink: var(--bright);--fw-paper: var(--bg);--fw-muted: var(--muted);--fw-line: var(--border);flex:1;min-height:0;overflow:auto;background:var(--fw-paper);color:var(--fw-ink)}.fw-list.is-light{--fw-ink: var(--accent-ink);--fw-paper: var(--bright);--fw-muted: color-mix(in srgb, var(--accent-ink) 58%, var(--bright));--fw-line: color-mix(in srgb, var(--accent-ink) 14%, var(--bright))}.fonts-workspace .fw-list.is-light :focus-visible{outline-color:var(--accent-ink)}.font-rows{margin:0;padding:0;list-style:none}.font-row{padding:4px 14px 5px;border-bottom:1px solid var(--fw-line);content-visibility:auto;contain-intrinsic-size:auto 76px}.font-row-head{display:flex;align-items:center;gap:8px;min-width:0;min-height:22px}.font-row h3{min-width:0;margin:0;overflow:hidden;color:var(--fw-ink);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.font-row-badge{flex-shrink:0;padding:1px 4px;border:1px solid var(--fw-line);border-radius:3px;color:var(--fw-muted);font:8px var(--mono);letter-spacing:.6px;text-transform:uppercase}.font-row-badge.is-project{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.fonts-workspace .font-row-meta{flex-shrink:0;gap:3px;padding:2px 4px;border-radius:3px;color:var(--fw-muted);font:9px var(--mono)}.fonts-workspace .font-row-meta:not(:disabled):hover{color:var(--fw-ink);background:color-mix(in srgb,var(--fw-ink) 8%,transparent)}.font-row-meta>svg{transition:transform .12s}.font-row-meta[aria-expanded=true]>svg{transform:rotate(90deg)}.font-row-foundry{min-width:0;overflow:hidden;color:var(--fw-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.font-row-actions{display:flex;flex-shrink:0;gap:4px;margin-left:auto;opacity:0;transition:opacity .12s}.font-row:hover .font-row-actions,.font-row:focus-within .font-row-actions,.font-row[aria-busy=true] .font-row-actions{opacity:1}.fonts-workspace .font-row-actions button{height:22px;gap:4px;padding:0 8px;border:1px solid var(--fw-line);border-radius:4px;background:var(--fw-paper);color:var(--fw-ink);font-size:10px}.fonts-workspace .font-row-actions button:disabled{opacity:.6;cursor:default}.fonts-workspace .font-row-actions button:not(:disabled):hover{border-color:var(--strong-border);color:var(--fw-ink)}.fonts-workspace .font-row-actions .is-primary,.fonts-workspace .font-row-actions .is-primary:not(:disabled):hover{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.font-row-preview{overflow:hidden;color:var(--fw-ink);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.font-row-faces{display:grid;margin:3px 0 2px 5px;padding-left:10px;border-left:1px solid var(--fw-line)}.font-row-face{display:grid;grid-template-columns:minmax(70px,130px) minmax(0,1fr);align-items:baseline;gap:10px;min-width:0}.font-row-face>span:first-child{overflow:hidden;color:var(--fw-muted);font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.font-row-face>span:last-child{overflow:hidden;color:var(--fw-ink);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.font-row-error{margin:2px 0 0;color:#edaa90;font-size:10px;line-height:1.5}.fw-list.is-light .font-row-error{color:color-mix(in srgb,#edaa90 45%,var(--accent-ink))}.fw-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;color:var(--fw-muted);font-size:11px;text-align:center}.fw-empty strong{color:var(--fw-ink);font-size:12px;font-weight:500}.fw-empty p{margin:0}.fw-button{min-height:26px;padding:5px 10px;border:1px solid var(--strong-border);border-radius:4px;background:var(--surface);color:var(--text);font-size:10px}.fw-button:not(:disabled):hover{background:var(--hover)}@media(hover:none){.font-row-actions{opacity:1}}@media(max-width:1000px){.fonts-workspace{--fonts-sidebar-width: 190px}}@media(max-width:720px){.fonts-workspace{--fonts-sidebar-width: 150px}.fw-range>span,.font-row-foundry{display:none}.fw-toolbar{gap:6px 10px;padding:6px 10px}.font-row{padding:4px 10px 5px}}.photo-tools{color:var(--text);font-size:11px}.photo-tools.disabled{opacity:.55}.photo-section{border-top:1px solid var(--border)}.photo-section summary{display:flex;align-items:center;gap:7px;cursor:pointer;padding:12px 0;font-size:11px;font-weight:650;list-style:none}.photo-section summary:before{content:"›";font-size:16px;line-height:10px;color:var(--muted);transition:transform .15s}.photo-section[open]>summary:before{transform:rotate(90deg)}.photo-section summary small{margin-left:auto;color:var(--muted);font-weight:400}.photo-section-body{padding:0 0 14px}.photo-slider{margin:0 0 11px}.photo-slider .numeric-field{width:100%;margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}.photo-slider .numeric-field .scrub-label{flex:1;font-size:10px;letter-spacing:.01em}.photo-slider .numeric-field input{width:49px;text-align:right;font-size:10px;height:20px}.photo-slider .numeric-field small{font-size:9px;margin-left:3px}.photo-range{--range-fill: 50%;appearance:none;-webkit-appearance:none;display:block;cursor:ew-resize;width:100%;height:12px;margin:0;border:0;border-radius:2px;outline-offset:3px;background:repeating-linear-gradient(90deg,transparent 0,transparent 5px,var(--panel) 5px,var(--panel) 8px),linear-gradient(90deg,var(--accent) 0 var(--range-fill),var(--strong-border) var(--range-fill) 100%)}.photo-range::-webkit-slider-thumb{appearance:none;width:3px;height:17px;background:var(--accent);border-radius:1px;box-shadow:0 0 0 2px var(--panel)}.photo-range::-moz-range-thumb{width:3px;height:17px;border:0;background:var(--accent);border-radius:1px}.photo-range:disabled{cursor:default}.grade-wheels{display:flex;gap:10px;justify-content:space-between;margin-bottom:14px}.grade-wheel-group{flex:1;min-width:0;text-align:center}.grade-wheel-group>span{font-size:9px;display:block;margin-bottom:8px;color:var(--muted)}.grade-wheel-group.selected>span{color:var(--accent);font-weight:650}.grade-wheel{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff,#fff0 69%),conic-gradient(from 90deg,#f16060,#f0d95e,#72c765,#60cdcf,#718bed,#c572d2,#f16060);box-shadow:inset 0 0 0 1px var(--strong-border);cursor:crosshair;touch-action:none;outline-offset:3px}.grade-wheel-group.selected .grade-wheel{outline:1px solid var(--accent);outline-offset:3px}.grade-wheel i{position:absolute;pointer-events:none;width:7px;height:7px;border:1.5px solid white;box-shadow:0 0 0 1px #202020;border-radius:50%;transform:translate(-50%,-50%)}.photo-mini-heading{display:flex;justify-content:space-between;align-items:center;margin:13px 0 10px;font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.photo-tools button,.effect-tools button,.photo-presets button{font:inherit;border:0;color:inherit;background:transparent;cursor:pointer}.photo-tools button:disabled,.effect-tools button:disabled,.photo-presets button:disabled{opacity:.4;cursor:default}.photo-mini-heading button{display:grid;place-items:center;padding:3px}.mask-add{display:flex;gap:6px}.mask-add select{flex:1;min-width:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px;font:inherit;padding:7px}.mask-add>button{border:1px solid var(--border);border-radius:5px;width:30px;display:grid;place-items:center;background:var(--selected);color:var(--accent)}.photo-hint{font-size:10px;line-height:1.5;color:var(--muted);margin:8px 0 10px}.mask-list{display:grid;gap:3px}.mask-row{display:flex;align-items:center;padding:4px 5px;border-radius:5px;border:1px solid transparent}.mask-row.active{background:var(--selected);border-color:var(--strong-border);color:var(--accent)}.mask-row button{padding:4px;display:grid;place-items:center}.mask-row .mask-name{flex:1;display:block;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-check{display:flex;align-items:center;gap:4px;text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.photo-check input{accent-color:var(--accent);width:12px;height:12px;margin:0}.mask-color{display:flex;gap:6px;align-items:center;justify-content:space-between;font-size:10px;margin:8px 0 13px}.mask-color span{flex:1}.mask-color input{width:29px;height:24px;padding:0;border:1px solid var(--strong-border);border-radius:3px;background:none}.mask-color button{display:grid;place-items:center}.mask-settings{padding-top:2px}.photo-tools input:focus-visible,.photo-tools button:focus-visible,.photo-tools select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-presets{font-size:11px;color:var(--text);border-top:1px solid var(--border);padding-top:1px}.preset-list{display:grid;gap:5px}.preset-row{display:flex;align-items:center;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:var(--surface)}.preset-row.active{border-color:var(--accent);background:var(--selected)}.preset-apply{display:flex;align-items:center;gap:8px;min-width:0;flex:1;text-align:left;padding:7px!important;cursor:grab!important}.preset-apply>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.preset-apply>svg{color:var(--muted)}.preset-swatch{width:31px;height:24px;border-radius:3px;flex-shrink:0;background:linear-gradient(140deg,#d9e5cf 0 30%,#9fab8c 30% 50%,#6b816a 50% 68%,#c7d6ad 68%)}.preset-1{filter:sepia(.4) saturate(.8);background:linear-gradient(140deg,#ded0ad,#818a6c)}.preset-2{filter:grayscale(1) contrast(1.4)}.preset-3{background:linear-gradient(135deg,#d6af7c,#607e80 45%,#354b5a)}.preset-delete{padding:5px!important;margin-right:4px;color:var(--muted)!important}.preset-save{display:flex;align-items:center;gap:3px;margin:0 0 9px}.preset-save input{flex:1;min-width:0;padding:7px;border:1px solid var(--strong-border);border-radius:4px;background:var(--surface);color:var(--text);font:inherit;font-size:10px}.preset-save button{display:grid;place-items:center;padding:5px}.mask-preview-toggle{margin:12px 0 6px;padding:8px;border:1px solid var(--strong-border);border-radius:4px;color:var(--accent);background:var(--selected)}.mask-preview-toggle input{accent-color:var(--accent)}.photo-workspace{position:relative}.photo-drop-active{outline:2px dashed var(--accent);outline-offset:-5px}.photo-drop-hint{display:flex;align-items:center;gap:10px;margin:0 18px 16px;padding:12px;border:1px dashed var(--border);border-radius:6px;color:var(--text);font-size:11px;line-height:1.65}.photo-drop-hint small{font-size:9px;color:var(--muted)}.photo-drop-overlay{position:absolute;inset:8px;z-index:20;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:var(--accent);background:color-mix(in srgb,var(--panel) 94%,transparent);border-radius:6px;pointer-events:none}.photo-drop-overlay strong{font-size:20px}.photo-drop-overlay span{color:var(--text);font-size:12px}.photo-import-status{position:fixed;z-index:150;bottom:42px;left:50%;transform:translate(-50%);width:min(560px,calc(100vw - 36px));max-height:min(320px,50vh);overflow-y:auto;padding:14px 16px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 28px #0005;font-size:12px}.photo-import-status-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.photo-import-status-heading span{overflow-wrap:anywhere}.photo-import-status button{flex-shrink:0;padding:5px 8px;border:1px solid var(--border);border-radius:4px;color:var(--accent);background:transparent;cursor:pointer}.photo-import-status ul{margin:12px 0 0;padding-left:18px;display:grid;gap:7px;overflow-wrap:anywhere;line-height:1.5}.photo-import-errors{color:#f0bd8a}.photo-import-status details{margin-top:12px;color:var(--text)}.photo-import-status summary{cursor:pointer}.photo-empty .photo-empty-formats{margin-top:-8px;font-size:11px;color:var(--muted)}.photo-library-actions{display:flex;align-items:center;gap:9px}.photo-library-actions .icon-button{width:28px;height:28px}.photo-controls{flex-wrap:wrap}.photo-controls>span:first-child{flex:1 1 90px;min-width:0}.photo-controls .stars,.photo-controls .photo-remove-button{flex-shrink:0}.photo-remove-button:hover:not(:disabled),.photo-library-actions .icon-button:hover:not(:disabled){color:#f0bd8a}.new-effect-controls{display:flex;flex-direction:column;gap:8px;min-width:0}.new-effect-controls .effect-option{min-width:0}.new-effect-controls .effect-option select{min-width:0;max-width:65%}.ditherland-swatches{display:flex;gap:8px}.ditherland-swatches label{display:flex;flex:1;align-items:center;gap:4px;min-width:0;color:var(--muted);font-size:11px}.ditherland-swatches input[type=color]{width:100%;min-width:24px;height:28px;padding:2px;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer}.effect-tools{font-size:11px;color:var(--bright);min-width:0}.filter-library{padding:0 14px 18px}.effect-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.effect-catalog>button{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;padding:6px 3px;border:1px solid var(--border);border-radius:6px;background:var(--surface);text-align:left;cursor:grab;transition:border-color .15s}.effect-catalog>button:active{cursor:grabbing}.effect-catalog>button:hover{border-color:var(--strong-border)}.effect-catalog>button.active{border-color:var(--accent);background:var(--selected)}.effect-catalog>button>span:last-child{font-size:10px;line-height:1.3;white-space:normal;overflow-wrap:normal}.effect-catalog-caption{grid-column:1 / -1;margin:9px 0 1px;font-size:9px;letter-spacing:1.2px;text-transform:uppercase}.filter-preview{display:block;position:relative;overflow:hidden;background:var(--bg);border-radius:3px;min-width:0}.filter-preview img{display:block;width:100%;height:100%;object-fit:cover}.effect-catalog .filter-preview{width:100%;aspect-ratio:1.15}.filter-preview-status{position:absolute;inset:auto 0 0;background:color-mix(in srgb,var(--panel) 85%,transparent);padding:3px 2px;font-size:8px;line-height:1.2;text-align:center;font-weight:400;color:var(--bright)}.filter-preview-status.error{color:#efc491}.filter-description{min-height:28px;margin:10px 0 7px}.effect-tools .effect-add{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--strong-border);color:var(--bright);background:var(--selected);border-radius:5px;padding:8px;font-size:11px}.filter-guidance,.filter-default-note{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0}.filter-default-note{color:var(--accent);font-size:9px}.effect-tools .filter-open-stack{width:100%;margin-top:4px;padding:9px 5px;border:1px solid var(--border);border-radius:5px;font-size:11px}.filter-affected{margin-bottom:13px}.filter-affected-title{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:11px}.filter-affected-title>span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filter-affected-title small{color:var(--muted);font:9px var(--mono, monospace);white-space:nowrap}.filter-affected-image{width:100%;height:128px;border:1px solid var(--border);border-radius:5px}.filter-affected-image img{object-fit:contain}.filter-affected-image .filter-preview-status{padding:5px;font-size:10px}.filter-compare{display:flex;gap:4px;padding:5px 0 0}.filter-compare button{flex:1;padding:6px;font-size:10px;color:var(--muted);border:1px solid transparent;border-radius:4px}.filter-compare button.active{color:var(--bright);background:var(--selected);border-color:var(--strong-border)}.filter-stack-direction{color:var(--muted);font-size:9px;margin:0 0 8px}.effect-stack{display:grid;gap:8px}.effect-card{border:1px solid var(--border);border-radius:6px;background:var(--panel);overflow:hidden}.effect-card summary{display:flex;align-items:center;gap:7px;padding:8px;cursor:pointer;list-style:none;font-weight:500;font-size:11px}.effect-card summary::-webkit-details-marker{display:none}.effect-card summary:after{content:"›";color:var(--muted);font-size:15px}.effect-card[open] summary:after{transform:rotate(90deg)}.filter-layer-number{font:8px var(--mono, monospace);color:var(--muted)}.effect-card summary .filter-preview{width:35px;height:35px;flex-shrink:0}.effect-card summary .filter-preview-status{font-size:6px;padding:2px 0}.effect-card summary small{font-size:9px;font-weight:400;color:var(--muted);margin-left:auto;white-space:nowrap}.effect-card.bypassed summary>span:not(.filter-preview):not(.filter-layer-number){text-decoration:line-through;color:var(--muted)}.effect-card.bypassed .effect-controls{opacity:.6}.effect-actions{display:flex;align-items:center;gap:4px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px 7px}.effect-actions>span{flex:1}.effect-actions button{display:grid;place-items:center;min-width:25px;min-height:25px;padding:4px;border-radius:3px;color:var(--text)}.effect-actions button:hover{background:var(--hover)}.effect-controls{padding:12px 10px 5px}.effect-controls .photo-slider{margin-bottom:12px}.effect-option{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:10px;margin:0 0 13px}.effect-option select{font:inherit;min-width:0;max-width:132px;background:var(--surface);border:1px solid var(--border);padding:5px;border-radius:4px}.effect-option input[type=color]{width:34px;height:23px;border:1px solid var(--strong-border);padding:2px;border-radius:3px}.effect-generator-section{border-top:1px solid var(--border);padding-top:10px;margin-top:2px}.effect-section-caption{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 10px}.effect-reroll{display:flex;align-items:center;gap:6px;padding:4px 0;margin:8px 0;font-size:10px;color:var(--text)}.filter-default-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px;border-top:1px solid var(--border);padding:9px 0 5px;margin-top:8px}.filter-default-actions button{padding:3px 2px;gap:4px;font-size:9px;color:var(--muted)}.filter-default-status{font-size:10px;line-height:1.5;color:var(--text);margin:10px 0 0}.filter-default-status:empty{display:none}.filter-stack-panel{padding:0 12px 12px}[data-inspector-panel=filters].floating-panel{display:flex;flex-direction:column;overflow:hidden}[data-inspector-panel=filters].floating-panel>.panel-header{flex-shrink:0}[data-inspector-panel=filters].floating-panel>.panel-body{min-height:0;max-height:none;overflow:auto}.vector-tools-settings{display:grid;gap:12px;padding:14px;border-bottom:1px solid #353e33;color:#aeb8a7;font-size:11px}.vector-tools-title{display:flex;align-items:center;gap:8px;color:#d7e2cc;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.vector-preset{display:grid;gap:6px}.vector-preset select{height:31px;width:100%;background:#20261f;border:1px solid #3d4837;color:#dce6d1;border-radius:5px;padding:4px 8px}.vector-snapping{display:flex;gap:7px;align-items:center}.vector-snapping span{flex:1}.vector-snapping input{accent-color:#d5f487}.vector-tools-settings p{font-size:10px;line-height:1.55;color:#7f8c75;margin:0}.vector-asset-library{padding:12px}.vector-asset-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.vector-asset-actions button{display:flex;align-items:center;gap:5px;border:1px solid #3b4634;border-radius:5px;padding:7px 9px;font-size:10px;color:#c5d4b8}.vector-asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vector-asset-card{position:relative;min-width:0;background:#252d22;border:1px solid #36412f;border-radius:7px;overflow:hidden}.vector-asset-card>button:first-child{width:100%;display:grid;padding:8px;gap:7px;text-align:left;font-size:10px}.vector-asset-card svg{width:100%;height:78px;background:#b9c5af;border-radius:4px}.vector-asset-card span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#b6c5a9;padding-right:10px}.vector-asset-remove{position:absolute;right:5px;bottom:5px;padding:4px;color:#77846d}.vector-library-empty{padding:26px 14px;border:1px dashed #45523b;border-radius:8px;color:#819074;font-size:11px;line-height:1.65;text-align:center}.color-workspace{display:grid;grid-template-columns:146px minmax(0,1fr) 264px;flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--bg);color:var(--text)}.color-workspace button,.color-workspace input,.color-workspace select{-webkit-app-region:no-drag}.cw-eyebrow{color:var(--muted);font:10px var(--mono);letter-spacing:1.6px}.cw-rail{padding:27px 10px 15px;display:flex;flex-direction:column;gap:7px;background:var(--panel);border-right:1px solid var(--border)}.cw-rail-heading{margin:0 12px 19px}.cw-rail>button{justify-content:flex-start;gap:11px;padding:14px 12px;color:var(--muted);font-size:12px;border-radius:6px;white-space:nowrap}.cw-rail>button.active{background:var(--selected);color:var(--accent)}.cw-rail>button:hover{background:var(--hover);color:var(--bright)}.cw-rail>button.active:hover{background:var(--selected);color:var(--accent)}.cw-rail-note{margin-top:auto;color:var(--muted);font:9px/1.8 var(--mono);padding:14px 12px 0}.cw-rail-dot{display:inline-block;height:5px;width:5px;margin-right:7px;background:var(--accent);border-radius:50%}.cw-main{min-width:0;min-height:0;display:flex;flex-direction:column}.cw-heading{padding:27px 32px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:15px;align-items:flex-start;background:var(--panel)}.cw-heading h1{margin:8px 0 5px;font-weight:500;font-size:31px;letter-spacing:-1px;line-height:1.15;color:var(--bright)}.cw-heading p,.cw-section-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.cw-space-badge{font:9px var(--mono);color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:6px 8px;margin-top:4px;white-space:nowrap}.cw-canvas{padding:24px 32px;overflow:auto;min-height:0;flex:1;background-image:radial-gradient(var(--border) .6px,transparent .6px);background-size:16px 16px}.cw-canvas>*{max-width:940px;margin-left:auto;margin-right:auto}.cw-section{padding:24px 0;border-bottom:1px solid var(--border)}.cw-section:last-child{border-bottom:0;padding-bottom:6px}.cw-section h2{margin:0 0 7px;font-size:14px;font-weight:500;color:var(--bright)}.cw-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px}.cw-section-heading select{max-width:165px;min-width:0}.color-workspace select{padding:7px;color:var(--text);background:var(--surface);font-size:11px}.cw-button{padding:8px 10px;min-height:30px;border:1px solid var(--strong-border);border-radius:5px;background:var(--surface);color:var(--text);font-size:11px;white-space:nowrap}.cw-button:not(:disabled):hover{background:var(--hover);color:var(--bright);border-color:var(--strong-border)}.cw-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cw-primary:not(:disabled):hover{color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 85%,white);border-color:var(--accent)}.cw-explore-board{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(125px,1fr);gap:16px}.cw-gamut-area{background:var(--surface);border:1px solid var(--strong-border);border-radius:7px;padding:15px 16px}.cw-card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--text);font-size:11px;margin-bottom:12px}.cw-card-heading small{font:9px var(--mono);color:var(--muted)}.cw-disc{width:min(100%,320px);aspect-ratio:1;position:relative;margin:0 auto;cursor:crosshair;touch-action:none;border-radius:50%}.cw-disc canvas{width:100%;height:100%;display:block}.cw-disc i{position:absolute;width:13px;height:13px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #202020,0 1px 8px #0006;transform:translate(-50%,-50%);pointer-events:none}.cw-disc-axis{position:absolute;pointer-events:none;opacity:.22}.cw-disc-axis-x{left:1%;right:1%;top:50%;height:1px;background:var(--muted)}.cw-disc-axis-y{top:1%;bottom:1%;left:50%;width:1px;background:var(--muted)}.cw-gamut-caption{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:9px;justify-content:center}.cw-gamut-key{width:9px;height:9px;border:1px solid #4d5644;background:repeating-linear-gradient(45deg,#242923,#242923 2px,#394231 2px 3px)}.cw-color-card{border-radius:7px;min-height:235px;display:flex;flex-direction:column;justify-content:space-between;padding:20px}.cw-color-card>span{font:9px/1.65 var(--mono);letter-spacing:.5px}.cw-color-card>div{display:flex;flex-direction:column;gap:10px}.cw-color-card b{font-size:clamp(45px,6vw,92px);font-weight:500;letter-spacing:-7px;line-height:1}.cw-color-card code{font:14px var(--mono)}.cw-palette-strip{display:flex;overflow:hidden;border-radius:6px;min-height:124px}.cw-palette-strip>button{display:flex;flex:1;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:24px;min-width:0;padding:12px;position:relative;border-bottom:3px solid transparent}.cw-palette-strip>button[aria-pressed=true]{border-bottom-color:currentColor}.cw-palette-strip>button:not(:disabled):hover{color:inherit;transform:translateY(-3px)}.cw-palette-strip span{font:9px var(--mono);opacity:.65}.cw-palette-strip code{font:10px var(--mono);writing-mode:vertical-rl;transform:rotate(180deg)}.cw-save-row{display:flex;gap:8px;margin-top:12px}.cw-save-row input{border:1px solid var(--border);background:var(--surface);border-radius:5px;padding:8px 10px;flex:1;width:100%;font-size:11px}.cw-mix-bar{height:29px;border-radius:5px;position:relative;margin-bottom:15px}.cw-mix-bar i{position:absolute;top:-3px;bottom:-3px;width:4px;border:1px solid white;border-radius:3px;transform:translate(-50%);box-shadow:0 0 0 1px #0007}.cw-range{display:block;margin:14px 0;color:var(--muted);font-size:11px}.cw-range>span{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:9px}.cw-range output{font:10px var(--mono);color:var(--bright)}.cw-range input{display:block;width:100%;accent-color:var(--accent);height:14px;margin:0;cursor:ew-resize}.cw-inline-actions{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap}.cw-inline-actions code{font:11px var(--mono);color:var(--text)}.cw-footer{border-top:1px solid var(--border);display:flex;min-height:36px;align-items:center;gap:12px;justify-content:space-between;padding:8px 17px;color:var(--muted);background:var(--panel);font-size:10px}.cw-footer button{color:var(--text)}.cw-inspector{min-height:0;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column}.cw-inspector-heading{padding:27px 20px 24px;border-bottom:1px solid var(--border)}.cw-inspector-heading h2{font-size:17px;margin:10px 0 0;font-weight:500;color:var(--bright)}.cw-inspector-scroll{overflow:auto;min-height:0}.cw-inspector-section{padding:18px;border-bottom:1px solid var(--border)}.cw-inspector-section h3{font-size:11px;margin:0 0 16px;color:var(--text);font-weight:500}.cw-card-heading h3{margin:0}.cw-gamut-status{font-size:10px;color:#b2ce91;border:1px solid #3b4c2c;border-radius:4px;padding:10px;background:#26311f;display:flex;flex-direction:column;gap:5px;margin-top:17px}.cw-gamut-status small{font:9px var(--mono);opacity:.8}.cw-gamut-status.mapped{color:#dcc489;background:#302d1e;border-color:#4e462b}.cw-link-button{padding:9px 0 0;font-size:10px;text-decoration:underline;text-underline-offset:3px;color:var(--text)}.cw-rgb-details{border-bottom:1px solid var(--border)}.cw-rgb-details summary{padding:16px 18px;font-size:10px;color:var(--muted);cursor:pointer}.cw-rgb-details .color-studio{padding-top:0}.cw-rgb-details .numeric-field{background:var(--surface)}.cw-rgb-details .hex-color span{border-color:var(--strong-border)}.cw-active-swatch{height:55px;padding:12px;border-radius:5px;display:flex;justify-content:space-between;align-items:center;font:11px var(--mono)}.cw-active-swatch button:not(:disabled):hover{color:inherit}.cw-apply{width:100%;margin-top:16px}.cw-field{display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted);margin-bottom:13px}.cw-field input:not([type=color]),.cw-field select{padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;width:100%;font-size:11px}.cw-field-inline{flex-direction:row;justify-content:space-between;align-items:center}.cw-hex-entry{flex-direction:row;align-items:center;margin:12px 0 0}.cw-hex-entry input{min-width:0}.color-workspace input[type=color]{width:32px;height:28px;border:1px solid var(--strong-border);padding:2px;border-radius:4px;cursor:pointer;flex-shrink:0}.color-workspace input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-workspace input[type=color]::-webkit-color-swatch{border:0;border-radius:2px}.cw-type-options{display:flex;gap:4px;margin:16px 0}.cw-type-options button{flex:1;font-size:10px;padding:8px 3px;border:1px solid var(--border);border-radius:4px;text-transform:capitalize}.cw-type-options button.active{color:var(--accent);background:var(--selected);border-color:var(--accent)}.cw-stop-color{display:flex;gap:8px;align-items:center}.cw-stop-color code{flex:1;font:11px var(--mono)}.cw-check{display:flex;gap:9px;font-size:11px;align-items:center;color:var(--text)}.cw-check input{accent-color:var(--accent)}.cw-check+.cw-field{margin-top:17px}.cw-export-actions{display:grid;gap:8px}.cw-gradient-preview{aspect-ratio:1.5;border-radius:7px;position:relative;min-height:225px;overflow:hidden;padding:25px;color:#fff}.cw-gradient-watermark{font-size:clamp(32px,5vw,86px);line-height:.95;letter-spacing:-3px;color:#fff;mix-blend-mode:soft-light;font-weight:500}.cw-gradient-watermark em{font-weight:400;font-family:Georgia,serif}.cw-gradient-preview>span{position:absolute;bottom:20px;left:25px;font:9px var(--mono);letter-spacing:1px;text-shadow:0 1px 3px #0008}.cw-stop-track{position:relative;height:35px;margin:12px 10px 0;border-radius:4px}.cw-stop-track button{position:absolute;top:22px;height:23px;width:14px;border:2px solid var(--text);border-radius:3px;transform:translate(-50%);cursor:ew-resize;box-shadow:0 1px 5px #0009;touch-action:none;padding:0}.cw-stop-track button.active{border-color:#fff;outline:2px solid var(--accent);z-index:1}.cw-stop-labels{display:flex;justify-content:space-between;color:var(--muted);font:9px var(--mono);margin:19px 6px 23px}.cw-gradient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px}.cw-gradient-grid>div{position:relative}.cw-gradient-tile{display:flex;flex-direction:column;gap:7px;align-items:flex-start;width:100%;padding:0}.cw-gradient-tile>span{aspect-ratio:1.7;width:100%;border-radius:5px}.cw-gradient-tile b{font-size:10px;font-weight:400;color:var(--text);padding:0 3px}.cw-remove-gradient{position:absolute;right:4px;top:4px;background:color-mix(in srgb,var(--panel) 85%,transparent);color:var(--text);border-radius:3px;padding:3px}.cw-count{font:10px var(--mono);color:var(--muted)}.cw-upload{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;border:1px dashed var(--strong-border);background:color-mix(in srgb,var(--surface) 75%,transparent);border-radius:7px;color:var(--text);padding:24px}.cw-upload strong{font-size:20px;font-weight:400;color:var(--bright)}.cw-upload>span:not(.cw-button){font-size:11px}.cw-upload .cw-button{margin-top:9px;padding:10px 18px}.cw-image-board{padding:15px;border-radius:6px;border:1px solid var(--border);background:var(--surface)}.cw-image-preview{text-align:center;background:repeating-conic-gradient(var(--surface) 0 25%,var(--bg) 0 50%) 50% / 16px 16px;border-radius:3px;padding:6px}.cw-image-preview img{max-width:100%;max-height:370px;height:auto;width:auto;vertical-align:middle;cursor:crosshair}.cw-hint{color:var(--muted);font-size:10px;line-height:1.6;margin:12px 0 0}.cw-error{border:1px solid #756144;padding:12px;color:#e6bc8a;background:#352c20;font-size:11px;border-radius:5px;line-height:1.6}.cw-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px;margin-top:17px}.cw-photo-grid button{padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.cw-photo-grid img{width:100%;aspect-ratio:1.3;object-fit:cover;border:1px solid var(--border);border-radius:4px}.cw-photo-grid span{font-size:10px;color:var(--text);overflow:hidden;text-overflow:ellipsis;width:100%;white-space:nowrap}.cw-contrast-preview{border-radius:7px;padding:30px;min-height:315px}.cw-contrast-preview>span:first-child{font:9px var(--mono);letter-spacing:1.5px}.cw-contrast-preview h2{font-size:clamp(38px,5.5vw,82px);margin:35px 0 20px;line-height:.95;letter-spacing:-2.5px;font-weight:500}.cw-contrast-preview p{font-size:13px;line-height:1.6;margin-bottom:24px}.cw-contrast-preview-chip{display:inline-flex;padding:8px 10px;border:1px solid;border-radius:4px;font-size:11px}.cw-contrast-score{display:flex;justify-content:space-between;align-items:center;gap:15px}.cw-contrast-score>div{display:flex;flex-direction:column;gap:7px}.cw-contrast-score strong{color:var(--bright);font-size:43px;letter-spacing:-2px;font-weight:400}.cw-contrast-score strong small{font-size:20px;margin-left:5px;color:var(--muted)}.cw-contrast-score>div>span{font-size:10px;color:var(--muted)}.cw-contrast-tests{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.cw-contrast-tests>div{padding:13px;background:var(--surface);border:1px solid var(--border);border-radius:4px;display:flex;justify-content:space-between;align-items:center;gap:10px}.cw-contrast-tests>div>span{display:flex;flex-direction:column;gap:6px;font-size:10px}.cw-contrast-tests small{font:9px var(--mono);color:var(--muted)}.cw-contrast-tests b{font-size:10px;font-weight:500;display:flex;align-items:center;gap:4px}.cw-contrast-tests .pass{color:#c4e79d}.cw-contrast-tests .fail{color:#e8b386}.cw-contrast-tests~.cw-button{margin-top:17px}.cw-light-board{height:390px;position:relative;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:radial-gradient(ellipse at 50% 43%,var(--surface),var(--bg) 75%);display:grid;place-items:center;cursor:crosshair;touch-action:none}.cw-light-sphere{width:min(70%,290px);height:auto;filter:drop-shadow(10px 26px 13px #0007);pointer-events:none;position:relative}.cw-light-orbit{position:absolute;width:75%;height:75%;border-radius:50%;border:1px solid color-mix(in srgb,var(--strong-border) 45%,transparent)}.cw-light-marker{position:absolute;width:29px;height:29px;border-radius:50%;color:#202020;display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 0 20px #f5eab266;pointer-events:none}.cw-light-board>span{position:absolute;bottom:17px;color:var(--muted);font:9px var(--mono);pointer-events:none}.cw-swatches{display:flex;flex-wrap:wrap;gap:8px}.cw-swatches>div{position:relative}.cw-swatches>div>button:first-child{width:31px;height:31px;border-radius:4px;border:1px solid color-mix(in srgb,var(--text) 18%,transparent)}.cw-swatches>div>button.active{outline:2px solid var(--accent);outline-offset:2px}.cw-swatch-delete{position:absolute;right:-5px;top:-5px;padding:2px;background:var(--selected);border-radius:50%;color:var(--bright);opacity:0}.cw-swatches>div:hover .cw-swatch-delete,.cw-swatches>div:focus-within .cw-swatch-delete{opacity:1}.cw-saved-palettes{margin-top:20px}.cw-saved-palettes summary{color:var(--text);font-size:11px;cursor:pointer;padding:7px 0}.cw-saved-palettes summary>span{color:var(--muted);margin-left:7px}.cw-saved-palette{padding:12px 0;border-bottom:1px solid var(--border)}.cw-saved-palette>div:first-child{display:flex;gap:8px;align-items:center;margin-bottom:8px}.cw-saved-palette strong{flex:1;color:var(--text);font-size:10px;font-weight:400}.cw-saved-palette>div:last-child{display:flex;height:23px;border-radius:3px;overflow:hidden}.cw-saved-palette>div:last-child button{flex:1;padding:0}@media(min-width:1550px){.color-workspace{grid-template-columns:165px minmax(0,1fr) 290px}.cw-canvas{padding:32px 50px}}@media(max-width:1100px){.color-workspace{grid-template-columns:60px minmax(0,1fr) 236px}.cw-rail{padding:20px 6px 12px}.cw-rail-heading,.cw-rail>button>span,.cw-rail-note{display:none}.cw-rail>button{padding:13px 0;justify-content:center}.cw-heading{padding:23px}.cw-canvas{padding:20px 23px}.cw-space-badge{display:none}.cw-explore-board{grid-template-columns:minmax(0,1.5fr) minmax(90px,.9fr);gap:10px}.cw-color-card{padding:15px;min-height:180px}.cw-color-card>span{font-size:8px}.cw-color-card code{font-size:11px}.cw-gamut-area{padding:12px}.cw-card-heading small{display:none}}@media(max-width:820px){.color-workspace{grid-template-columns:50px minmax(0,1fr) 218px}.cw-heading{padding:18px}.cw-heading h1{font-size:27px}.cw-canvas{padding:16px}.cw-heading p{font-size:10px}.cw-inspector-heading{padding:22px 14px}.cw-inspector-section{padding:15px 13px}.cw-explore-board{grid-template-columns:minmax(0,1fr)}.cw-color-card{min-height:100px;padding:14px;flex-direction:row;align-items:center;gap:12px}.cw-color-card>span:first-child{display:none}.cw-color-card b{font-size:43px;letter-spacing:-3px}.cw-color-card>span:last-child{max-width:90px;line-height:1.7}.cw-section-heading{flex-wrap:wrap;gap:11px}.cw-palette-strip{min-height:104px}.cw-palette-strip>button{padding:10px 6px}.cw-save-row{flex-wrap:wrap}.cw-save-row input{width:100%;flex-basis:100%}.cw-save-row .cw-button{margin-left:auto}.cw-contrast-tests{grid-template-columns:1fr}.cw-contrast-preview{padding:22px}.cw-contrast-score{flex-wrap:wrap}.cw-light-board{height:290px}.cw-upload{min-height:260px}.cw-upload strong{font-size:17px;text-align:center}.cw-gradient-preview{min-height:230px}}@media(max-width:570px){.color-workspace{grid-template-columns:44px minmax(0,1fr);overflow:auto}.cw-rail{grid-row:1 / 3;position:sticky;top:0}.cw-main,.cw-canvas{overflow:visible}.cw-inspector{grid-column:2;overflow:visible;border-left:0;border-top:1px solid var(--border)}.cw-inspector-scroll{overflow:visible}.cw-inspector-heading{display:none}.cw-main,.cw-inspector{flex:none}.cw-disc{max-width:260px}.cw-color-card{flex-direction:row}}.stroke-panel{border:0;margin:0;min-width:0;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.stroke-panel h4{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted, #929a8c);margin:9px 0 0}.stroke-panel .studio-row{margin:0}.stroke-enable{justify-content:space-between;font-size:11px}.stroke-enable>span{font:10px monospace;color:var(--muted, #929a8c)}.stroke-panel input[type=color]{width:28px;height:25px;padding:2px;flex:none;border:1px solid var(--border, #343a32);background:transparent;border-radius:3px;cursor:pointer}.stroke-select{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:11px;color:var(--muted, #929a8c)}.stroke-select select{background:var(--surface-2, #252924);color:var(--text, #e9ece2);padding:5px;border:1px solid var(--border, #343a32);border-radius:4px;min-width:0;max-width:160px}.stroke-panel .studio-grid .stroke-select{align-items:stretch;flex-direction:column;gap:4px}.stroke-note{font-size:10px;color:var(--muted, #929a8c);line-height:1.5;margin:0}.stroke-gradient{display:flex;flex-direction:column;gap:8px}.stroke-stop{display:flex;align-items:center;gap:6px;min-width:0}.stroke-stop .numeric-field{flex:1}.stroke-stop button{font-size:16px;background:transparent;color:var(--muted, #929a8c);border:0;padding:3px 5px}.stroke-add{border:1px solid var(--border, #343a32);padding:6px;border-radius:4px;background:var(--surface-2, #252924);color:var(--text, #e9ece2);font-size:11px}.stroke-edges{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;font-size:11px;text-transform:capitalize;color:var(--muted, #929a8c)}.stroke-edges label{display:flex;align-items:center;gap:5px}.color-stroke-settings{margin:10px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.color-stroke-settings>.empty-note{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.advanced-photo-tools{color:var(--text);min-width:0}.advanced-photo-tools .photo-section{border-color:var(--border)}.advanced-photo-tools .photo-section summary{color:inherit;gap:6px}.advanced-photo-tools .photo-section summary small{font-size:9px;text-align:right;color:var(--muted)}.advanced-photo-tools .photo-hint{color:var(--muted);line-height:1.6}.advanced-photo-tabs{display:flex;gap:3px;margin:0 0 12px;padding:3px;border:1px solid var(--border);border-radius:5px;background:var(--bg)}.advanced-photo-tabs button{flex:1;min-width:0;padding:7px 2px;font-size:9px;border-radius:3px}.advanced-photo-tabs button[aria-pressed=true]{background:var(--selected);color:var(--accent)}.advanced-photo-row{display:flex;align-items:center;gap:8px;margin:10px 0;min-width:0}.advanced-photo-row>span{flex:1;font-size:10px;color:var(--muted)}.advanced-photo-row>button{display:flex;gap:4px;align-items:center;font-size:9px;padding:4px;flex-shrink:0}.advanced-photo-tools select,.advanced-photo-field input{background:var(--surface);color:var(--bright);border:1px solid var(--border);font:inherit;border-radius:4px;min-width:0;padding:8px}.advanced-photo-row>select{flex:1;font-size:10px;width:100%}.advanced-photo-action{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;font-size:10px!important;padding:9px!important;border:1px solid var(--border)!important;border-radius:4px;background:var(--bg)!important}.advanced-photo-action:hover:not(:disabled){border-color:var(--strong-border)!important}.advanced-photo-action.primary,.advanced-photo-action.primary:hover:not(:disabled){color:var(--accent-ink);background:var(--accent)!important;font-weight:600}.advanced-photo-look-actions{display:grid;gap:7px}.advanced-cdl-enable{margin-bottom:12px}.advanced-cdl-actions{margin-top:12px}.advanced-photo-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:8px;color:var(--muted);margin:7px 0}.photo-curve-editor{width:100%;height:168px;display:block;overflow:visible;background:var(--bg);border:1px solid var(--border);cursor:crosshair;touch-action:none}.photo-curve-grid{stroke:var(--border);stroke-width:1}.photo-curve-diagonal{stroke:var(--strong-border);stroke-width:1;stroke-dasharray:3 5}.photo-curve-editor circle:focus{outline:none;stroke:var(--bright);stroke-width:2.5}.photo-chroma-map{width:min(100%,190px);margin:14px auto;aspect-ratio:1;border-radius:50%;cursor:crosshair;touch-action:none;border:1px solid var(--strong-border);background:radial-gradient(circle,#d5d8cd,#d5d8cd00 70%),conic-gradient(from 90deg,#d96d91,#8582e8,#42b5ab,#bea541,#d96d91)}.photo-chroma-map svg{width:100%;height:100%;display:block}.photo-chroma-map[aria-disabled=true]{cursor:default}.advanced-photo-swatches{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.advanced-photo-swatches button{flex-shrink:0;width:20px;height:20px;border:1px solid var(--strong-border);border-radius:3px}.photo-color-volume{width:100%;height:auto;aspect-ratio:260 / 212;display:block;background:var(--bg);border:1px solid var(--border);border-radius:4px;touch-action:none;cursor:grab}.photo-color-volume:active{cursor:grabbing}.photo-color-volume:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.photo-reference-preview{display:block;width:100%;height:120px;object-fit:contain;background:var(--bg);border:1px solid var(--border);border-radius:4px;margin-bottom:10px}.advanced-photo-reference-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advanced-photo-field{display:flex;flex-direction:column;font-size:10px;gap:6px;margin-bottom:12px;color:var(--muted)}.advanced-photo-warning{padding:8px;border-left:2px solid #c3b478;background:#c3b4780b;color:#c3b478!important}.advanced-photo-error{font-size:10px;line-height:1.5;color:#f0a09a;padding:8px 0}.advanced-photo-tools .photo-slider .numeric-field{color:var(--bright)}.advanced-photo-tools .photo-slider .numeric-field input{color:var(--bright);background:var(--bg);border:1px solid var(--border)}.advanced-photo-tools .photo-range{background:repeating-linear-gradient(90deg,transparent 0 5px,var(--panel) 5px 8px),linear-gradient(90deg,var(--accent) 0 var(--range-fill),var(--strong-border) var(--range-fill) 100%)}.advanced-photo-tools .photo-range::-webkit-slider-thumb{background:var(--accent);box-shadow:0 0 0 2px var(--panel)}.advanced-photo-tools .photo-range::-moz-range-thumb{background:var(--accent)}.vector-inspector{min-width:0;margin:0 18px 20px;padding:14px 0 0;border:0;border-top:1px solid #38452e}.vector-inspector legend{display:inline-flex;align-items:center;gap:6px;padding:0 8px 0 0;color:#c5d6b0;font-size:11px}.vector-inspector-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 14px;color:#849275;font-size:9px}.vector-inspector .vector-edit-button,.vector-contour-row button{gap:5px;min-height:26px;padding:4px 8px;border:1px solid #445235;border-radius:4px;background:#293121;color:#c5d6b0;font-size:10px}.vector-inspector button:not(:disabled):hover{border-color:#718b54;background:#36452b}.vector-stroke-controls{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px}.vector-stroke-controls label>span:first-child{display:block;margin-bottom:6px;color:#99a88a;font-size:10px}.vector-color-value,.vector-width-value{display:flex;align-items:center;gap:6px;height:32px;padding:4px 6px;border:1px solid #38452e;border-radius:4px;background:#293121;font-family:var(--mono);font-size:9px;color:#c5d6b0}.vector-color-value input[type=color]{width:19px;height:21px;padding:0;border:0;flex-shrink:0;background:none;cursor:pointer}.vector-color-value input[type=color]::-webkit-color-swatch-wrapper{padding:1px 0}.vector-color-value input[type=color]::-webkit-color-swatch{border:1px solid #ffffff26;border-radius:2px}.vector-width-value input{width:100%;padding:0;font-family:var(--mono);font-size:10px;color:#c5d6b0}.vector-width-value>span{color:#80976b}.vector-fill-control{display:flex;align-items:center;gap:7px;margin:14px 0;color:#aebf9a;font-size:10px;cursor:pointer}.vector-fill-control input{width:14px;height:14px;margin:0 0 0 auto;accent-color:var(--accent)}.vector-contours{display:grid;gap:6px;max-height:190px;overflow-y:auto}.vector-contour-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #2e3926;color:#aebf9a;font-size:10px}.vector-contour-row small{display:block;margin-top:4px;color:#788b65;font-size:9px}.vector-contour-row button{min-width:46px}.vector-locked-hint{margin:8px 0 0;color:#8f9b83;font-size:10px}.vector-inspector:disabled input,.vector-inspector:disabled label{cursor:default;opacity:.6}.text-editor-overlay{overflow:hidden;cursor:text}.canvas-text-editor{display:block;width:100%;height:100%;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;outline:none;box-shadow:none;resize:none;overflow:auto;scrollbar-width:none;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;letter-spacing:0;tab-size:4;cursor:text;user-select:text;-webkit-user-select:text}.canvas-text-editor::-webkit-scrollbar{display:none}.canvas-text-editor::selection{color:#242722;background:#d5f487b8}.drawing-overlay{touch-action:none}.app.is-rotating,.app.is-rotating *{cursor:var(--rotation-cursor)!important;-webkit-user-select:none!important;user-select:none!important}.rotation-readout{position:fixed;z-index:1000;pointer-events:none;display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--accent);box-shadow:0 3px 12px #0003;font-size:12px;font-variant-numeric:tabular-nums}.rotation-readout span{font-size:10px;color:#aaa}.vector-context{position:absolute;z-index:12;top:58px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #4c5d47;border-radius:8px;background:#263329f5;color:#dce7d5;box-shadow:0 6px 24px #0003;max-width:calc(100% - 155px);font-size:11px;white-space:nowrap}.vector-context button{background:#d5f487;color:#263329;border:0;padding:5px 9px;border-radius:4px;font-size:11px;cursor:pointer}.vector-context small{color:#a9b8a1;overflow:hidden;text-overflow:ellipsis}.floating-tools{max-height:calc(100% - 70px);overflow-y:auto;scrollbar-width:thin}.tool-hint{color:#a9b8a1}.point-text-editor-overlay{overflow:visible}.point-text-editor-overlay .canvas-text-editor{white-space:pre;overflow-wrap:normal;word-break:normal;overflow:hidden}[data-text-area-draft=true]{stroke-dasharray:4 3;stroke-width:1;vector-effect:non-scaling-stroke}.grids-panel{margin:0;padding:0 14px 22px;border:0;min-width:0;display:flex;flex-direction:column;gap:0}.grids-section{display:flex;flex-direction:column;gap:9px;padding:15px 0;border-bottom:1px solid var(--border, #30332f);min-width:0}.grids-section:last-child{border-bottom:0}.grids-visibility{padding-top:0}.grids-scope-name{margin:0 0 2px;color:var(--bright, #e5e9df);font-size:11px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.grids-section-heading{display:flex;align-items:center;justify-content:space-between;min-height:16px;gap:6px}.grids-section-heading h3{margin:0;font:10px var(--mono, monospace);text-transform:uppercase;letter-spacing:1px;color:#97a18e}.grids-section-heading>span{font-size:9px;color:var(--muted, #777f77);text-align:right}.grids-checkbox{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.45;min-width:0;cursor:pointer}.grids-checkbox input{accent-color:var(--accent, #d5f487);width:12px;height:12px;margin:0;flex-shrink:0}.grids-checkbox span{flex:1}.grids-checkbox kbd{color:var(--muted, #777f77);font:10px var(--mono, monospace);white-space:nowrap}.grids-hint{color:var(--muted, #777f77);font-size:10px;line-height:1.5;margin:0}.grids-warning{color:#d2b37d}.grids-cell-size{font-family:var(--mono, monospace);font-size:9px}.grid-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.grid-template{padding:6px;display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;border:1px solid var(--border, #30332f);border-radius:5px;color:#8b9682;background:#20231f}.grid-template.active{border-color:var(--accent, #d5f487);color:var(--accent, #d5f487);background:#272e21}.grid-template span{font-size:10px;text-align:left;color:#b9c0b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-template.active span{color:var(--bright, #e5e9df)}.grid-template-icon{width:100%;height:auto;max-height:75px}.grid-template-paper{fill:#181b18;stroke:#3b4336;stroke-width:.7}.grids-number-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.grids-panel .numeric-field{min-height:29px;padding:5px 6px;font-size:10px;gap:4px}.grids-panel .numeric-field small{font-size:8px}.grids-panel .grids-number-pair .numeric-field{position:relative;flex-wrap:wrap;column-gap:3px;row-gap:3px}.grids-panel .grids-number-pair .scrub-label{width:100%;color:var(--muted, #777f77);font-size:9px}.grids-panel .grids-number-pair .numeric-field input{flex:1;width:0;min-width:0;text-align:left;font-size:11px}.grids-link{padding:3px;border-radius:3px;color:var(--muted, #777f77)}.grids-link.active{color:var(--accent, #d5f487);background:#2a3223}.grids-color{display:flex;align-items:center;gap:7px;font-size:11px}.grids-color-value{margin-left:auto;color:var(--muted, #777f77);font:9px var(--mono, monospace)}.grids-color input[type=color]{width:28px;height:25px;padding:2px;flex:none;border:1px solid var(--border, #30332f);background:transparent;border-radius:3px;cursor:pointer}.layout-grid-overlay{pointer-events:none}.grids-scope-select{margin:0 14px 14px;display:flex;flex-direction:column;gap:6px;font-size:10px;color:var(--muted, #777f77)}.grids-scope-select select{width:100%;min-width:0;font-size:11px;padding:6px;color:var(--bright, #e5e9df)}.grid-edit-actions{display:flex;gap:6px;padding:0 14px 10px}.grid-edit-actions button{flex:1;min-width:0;border:1px solid #3b4433;border-radius:5px;padding:8px 5px;font-size:10px}.grid-edit-actions button.active{background:#303c26;color:#d5f487;border-color:#778a58}.grid-edit-hint{padding:0 14px}.document-grid-list{display:grid;gap:4px;padding:0 14px 12px}.document-grid-list button{display:flex;text-align:left;gap:6px;padding:7px;border:1px solid transparent;border-radius:4px;font-size:10px}.document-grid-list button.active{background:#2b3325;border-color:#4f603d}.document-grid-list span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-grid-list small{color:#889778;font-size:8px}:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#c2c6c1;background:#161717;font-size:13px;font-synthesis:none;--bg: #191b1a;--panel: #1d1f1c;--border: #30332f;--muted: #777f77;--bright: #e5e9df;--accent: #d5f487;--text: #c2c6c1;--surface: #292c26;--surface-2: var(--surface);--hover: color-mix(in srgb, var(--accent) 8%, var(--panel));--selected: color-mix(in srgb, var(--accent) 12%, var(--panel));--strong-border: color-mix(in srgb, var(--accent) 25%, var(--border));--accent-ink: #20231a;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{color:inherit;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:disabled{opacity:.3;cursor:not-allowed}button:not(:disabled):hover{color:var(--bright)}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,textarea{color:var(--bright);background:none;border:0;min-width:0}input:focus,textarea:focus{outline:none}select{color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:4px;cursor:pointer}svg{flex-shrink:0}::-webkit-scrollbar{height:6px;width:5px}::-webkit-scrollbar-thumb{background:var(--strong-border);border-radius:4px}::-webkit-scrollbar-track{background:transparent}.app{color:var(--text);height:100dvh;min-height:560px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:59px;flex-shrink:0;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;padding:0 19px 0 22px;-webkit-app-region:drag}.topbar button,.topbar input,.topbar select{-webkit-app-region:no-drag}.brand{color:var(--bright);font-size:28px;font-weight:650;letter-spacing:-1.7px;display:flex;gap:5px;align-items:baseline;line-height:1}.brand-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.top-divider{height:22px;width:1px;background:var(--border);margin:0 11px 0 20px}.project-breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px;white-space:nowrap}.project-breadcrumb>span:first-child{color:var(--muted)}.project-breadcrumb input{width:180px;font-weight:500;color:var(--text)}.project-dot{height:5px;width:5px;background:var(--muted);border-radius:50%}.top-spacer{flex:1}.view-switch{display:flex;position:absolute;left:50%;transform:translate(-50%);padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:7px;gap:2px}.view-switch button{padding:7px 17px;border-radius:4px;color:color-mix(in srgb,var(--accent) 16%,#909090);font-size:12px}.view-switch button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 8%,var(--panel));color:var(--accent)}.view-switch .active,.view-switch .active:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);box-shadow:0 1px 3px #0005}.export-button{background:var(--accent);color:var(--accent-ink)!important;border-radius:5px;font-weight:600;padding:9px 13px;margin-left:9px;font-size:12px}.export-button:hover{background:color-mix(in srgb,var(--accent) 85%,white)}.icon-button{width:29px;height:29px;flex-shrink:0;border-radius:4px;padding:0;color:var(--muted)}.icon-button:hover:not(:disabled){background:var(--hover);color:var(--bright)}.icon-button.active{background:var(--selected);color:var(--accent)}.workspace{flex:1;min-height:0;display:flex;position:relative}.context-rail{width:68px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;padding-top:13px;z-index:5}.rail-items{display:flex;flex-direction:column;gap:11px}.rail-button{width:54px;height:53px;border-radius:6px;flex-direction:column;gap:6px;margin:0 auto;color:var(--muted);position:relative}.rail-button span{font-size:10px;letter-spacing:.1px}.rail-button.active{background:var(--selected);color:var(--accent)}.rail-button.active:before{content:"";position:absolute;left:-7px;width:2px;height:20px;background:var(--accent);border-radius:0 3px 3px 0}.rail-bottom{display:flex;align-items:center;flex-direction:column;gap:14px;padding-bottom:16px}.left-panel{flex-shrink:0;background:var(--panel);display:flex;flex-direction:column;min-width:0;overflow:auto;position:relative}.left-panel.closed,.right-panel.closed{overflow:hidden;border:0}.left-panel.closed>*{visibility:hidden}.sidebar-heading{height:61px;display:flex;align-items:center;justify-content:space-between;padding:0 13px 0 18px;flex-shrink:0;white-space:nowrap}.sidebar-heading h2{font-size:13px;color:var(--bright);font-weight:550;margin:0}.sidebar-search{margin:0 15px 18px;height:32px;border:1px solid var(--border);border-radius:5px;display:flex;align-items:center;gap:8px;padding:0 9px;color:var(--muted);flex-shrink:0}.sidebar-search input{font-size:11px;width:100%}.sidebar-search input::placeholder{color:var(--muted)}.sidebar-search kbd{font-size:13px;color:var(--muted)}.section-caption{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:1.2px;font-weight:500}.sidebar-caption{padding:0 18px;height:28px;margin-bottom:5px;flex-shrink:0}.board-list{padding:0 9px;display:flex;flex-direction:column;gap:3px}.board-list button{padding:10px 9px;text-align:left;justify-content:flex-start;border-radius:5px;gap:10px;font-size:11px;white-space:nowrap;color:var(--text)}.board-list button.active{background:var(--selected);color:var(--bright)}.board-list button span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.board-count{font-family:var(--mono);margin-left:auto;font-size:10px;color:var(--muted)}.sidebar-divider{height:1px;background:var(--border);margin:21px 16px 16px;flex-shrink:0}.layer-list{display:flex;flex-direction:column;gap:2px;padding:0 9px}.layer-row{height:37px;display:flex;align-items:center;gap:0;border:1px solid transparent;border-radius:4px;flex-shrink:0}.layer-row.selected{border-color:var(--strong-border);background:var(--selected)}.layer-select{padding:0 7px;flex:1;min-width:0;justify-content:flex-start;gap:9px;height:100%;font-size:11px;text-align:left}.layer-select>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-thumb{width:22px;height:25px;border:1px solid #ffffff14;object-fit:cover;border-radius:2px;flex-shrink:0}.layer-thumb.glyph{display:flex;justify-content:center;align-items:center;color:var(--text);background:var(--surface)}.layer-row>.icon-button{width:21px;opacity:0;color:var(--muted)}.layer-row:hover>.icon-button,.layer-row.selected>.icon-button{opacity:1}.add-layer-button{align-self:flex-start;font-size:11px;margin:11px 0 20px 16px;color:var(--muted)}.sidebar-footer{display:flex;align-items:center;gap:7px;margin-top:auto;padding:20px 17px 18px;font-size:10px;white-space:nowrap;color:var(--muted)}.sidebar-footer>span:last-child{margin-left:auto;font-family:var(--mono);font-size:9px}.local-status,.status-dot{height:5px;width:5px;background:var(--accent);border-radius:50%}.panel-divider{width:1px;background:var(--border);position:relative;cursor:ew-resize;z-index:12;flex-shrink:0;touch-action:none}.panel-divider:before{content:"";position:absolute;left:-4px;top:0;bottom:0;width:9px}.panel-divider:hover:before{background:color-mix(in srgb,var(--accent) 12%,transparent)}.panel-divider button{position:absolute;top:48%;width:19px;height:30px;border-radius:4px;background:var(--surface);border:1px solid var(--strong-border);color:var(--text);padding:0;opacity:0;transition:opacity .15s}.panel-divider.left button{left:-9px}.panel-divider.right button{right:-9px}.panel-divider:hover button,.panel-divider.is-closed button{opacity:1}.panel-divider.is-closed{width:7px;background:var(--panel)}.panel-divider.is-closed:before{width:14px}.canvas-area{min-width:0;flex:1;position:relative;background:#292b27;overflow:hidden}.canvas-topline{position:absolute;inset:0 0 auto;z-index:3;background:#252723;height:40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #32372e;padding:0 16px;font-size:10px}.canvas-crumb{display:flex;align-items:center;gap:8px;color:#a0aa94;min-width:0;white-space:nowrap}.canvas-crumb>span:last-child{color:#717e66;overflow:hidden;text-overflow:ellipsis}.tiny-dot{width:4px;height:4px;background:var(--muted);border-radius:50%;display:inline-block;flex-shrink:0}.canvas-view-actions{display:flex;align-items:center;gap:5px;padding-left:10px;background:#252723}.canvas-view-actions .icon-button{height:25px;width:24px}.canvas-view-actions>button{color:#89967b;padding:4px}.vertical-rule{height:16px;width:1px;background:var(--border);margin:0 5px}.canvas-view-actions select{border:0;background:none;font-family:var(--mono);font-size:10px;color:#a9b49b;padding:3px 0}.ruler-x{position:absolute;top:40px;left:0;right:0;display:flex;height:19px;overflow:hidden;border-bottom:1px solid #34392e;background:#272a24;color:#626f55;font-family:var(--mono);font-size:8px;z-index:2;pointer-events:none}.ruler-x span{width:62px;padding-left:6px;padding-top:3px;flex-shrink:0;border-left:1px solid #46513a;background:repeating-linear-gradient(90deg,transparent 0,transparent 11px,#39432f 12px,transparent 13px) bottom/100% 3px no-repeat}.stage{position:absolute;inset:59px 0 0;overflow:auto;padding:50px 65px 205px 93px;background-image:radial-gradient(var(--canvas-dot) .7px,transparent .7px);background-size:14px 14px;scrollbar-width:thin;scrollbar-color:var(--strong-border) var(--bg)}.stage::-webkit-scrollbar-thumb{background:var(--strong-border)}.stage::-webkit-scrollbar-track,.stage::-webkit-scrollbar-corner{background:var(--bg)}.artboards{display:flex;align-items:flex-start;width:max-content;min-width:100%;padding-right:80px}.artboard-wrap{flex-shrink:0;scroll-margin-left:85px}.artboard-label{display:flex;justify-content:flex-start;width:100%;font-size:10px;color:var(--canvas-text);height:29px;padding:0 0 9px;gap:6px;white-space:nowrap}.artboard-label small{font-family:var(--mono);font-size:8px;margin-left:auto;color:var(--canvas-muted)}.artboard-wrap.current .artboard-label{color:var(--canvas-text)}.artboard-bound{box-shadow:0 7px 24px #0003;overflow:hidden}.artboard-svg{display:block;-webkit-user-select:none;user-select:none}.artboard-wrap.current .artboard-bound{outline:1px solid var(--canvas-border)}.canvas-add-board{width:60px;height:110px;border:1px dashed var(--canvas-border);color:var(--canvas-text);align-self:center;margin-left:10px;border-radius:5px}.floating-tools,.quick-tools{--toolbar-text: color-mix(in srgb, var(--accent) 18%, #c2c2c2);--toolbar-muted: color-mix(in srgb, var(--accent) 16%, #747474);--toolbar-hover: color-mix(in srgb, var(--accent) 10%, var(--panel));color:var(--toolbar-text);scrollbar-color:var(--toolbar-muted) var(--panel)}.floating-tools{position:absolute;z-index:5;width:41px;background:var(--panel);border:1px solid var(--border);border-radius:7px;box-shadow:0 5px 15px #0003;display:flex;flex-direction:column;align-items:center;padding:0 4px 9px;gap:4px}.floating-tools .icon-button{width:31px;height:31px;color:var(--toolbar-muted)}.floating-tools::-webkit-scrollbar-thumb{background:var(--toolbar-muted)}.floating-tools .icon-button:hover:not(:disabled),.quick-tools button:hover:not(:disabled){color:var(--accent);background:var(--toolbar-hover)}.floating-tools .icon-button.active,.floating-tools .icon-button.active:hover:not(:disabled){background:var(--accent);color:color-mix(in srgb,var(--accent) 12%,#171717)}.toolbar-grip{cursor:grab;color:var(--toolbar-muted, var(--muted));display:flex;align-items:center;justify-content:center;height:20px;width:100%;touch-action:none}.tool-rule{height:1px;background:var(--border);width:21px;margin:4px auto 7px}.tool-color{border:0;width:25px;height:25px;padding:0;background:none;cursor:pointer}.tool-color::-webkit-color-swatch-wrapper{padding:2px}.tool-color::-webkit-color-swatch{border-radius:3px;border:1px solid var(--toolbar-muted, var(--border))}.quick-tools{position:absolute;bottom:109px;left:50%;display:flex;align-items:center;background:var(--panel);border:1px solid var(--border);box-shadow:0 5px 20px #0003;border-radius:8px;height:42px;padding:0 8px;gap:3px;white-space:nowrap;z-index:6}.quick-tools button{font-size:11px;color:var(--toolbar-text);padding:7px}.quick-tools .quick-active,.quick-tools .icon-button.active{color:var(--accent);background:var(--toolbar-hover);border-radius:4px}.quick-tools .vertical-rule{background:var(--border)}.movable-grip{cursor:grab;color:var(--toolbar-muted, var(--muted));margin:0 3px;touch-action:none}.looks-dock{position:absolute;bottom:34px;left:50%;display:flex;align-items:center;gap:11px;background:#1c2118ef;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #424f34;box-shadow:0 7px 25px #0003;border-radius:9px;padding:9px 9px 8px 6px;z-index:5}.dock-grip{cursor:grab;display:flex;color:#4f6340;touch-action:none}.dock-label{display:flex;flex-direction:column;gap:7px;align-items:center;color:#82956a;margin-right:5px}.dock-label span{font-family:var(--mono);font-size:8px;letter-spacing:1px}.look-swatch{padding:0;display:flex;flex-direction:column;gap:5px;width:49px}.look-swatch img{width:44px;height:35px;object-fit:cover;border:1px solid #5d6950;border-radius:4px;transition:transform .15s}.look-swatch:hover img{transform:translateY(-3px);border-color:var(--accent)}.look-swatch span{font-size:8px;white-space:nowrap;color:#8b9c7b}.canvas-bottom-left{position:absolute;bottom:12px;left:18px;display:flex;align-items:center;gap:7px;font-size:9px;color:#788a65;pointer-events:none}.canvas-bottom-left>span:not(.tiny-dot){margin:0 3px;color:#4b5e38}.restore-docks{position:absolute;bottom:7px;right:15px;display:flex;gap:4px}.right-panel{flex-shrink:0;background:#1d1f1c;overflow:auto;display:flex;flex-direction:column}.inspector-heading{padding:18px 16px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:83px}.inspector-kicker{font-family:var(--mono);font-size:9px;letter-spacing:1.3px;color:#6d7c5f}.inspector-heading h2{font-size:13px;font-weight:500;max-width:215px;margin:8px 0 0;color:var(--bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector-panel{border-top:1px solid #303929;background:#1d1f1c;flex-shrink:0}.panel-header{height:43px;display:flex;align-items:center;padding:0 13px;gap:5px;cursor:grab;touch-action:none}.panel-title{justify-content:flex-start;padding:0;flex:1;text-align:left;gap:9px;font-size:11px;font-weight:500;color:#a8b79a}.panel-title>svg{color:#788b65}.drag-dots{color:var(--muted);opacity:.5;flex-shrink:0;cursor:grab}.panel-header:hover .drag-dots{opacity:1}.floating-panel{border:1px solid #61704f;border-radius:7px;box-shadow:0 15px 45px #0008;max-height:80vh;overflow:auto}.mini-tabs{display:flex;align-items:center;padding:0 16px 10px;gap:4px}.mini-tabs>button:not(.icon-button){border-radius:4px;height:27px;flex:1;font-size:10px;color:var(--muted)}.mini-tabs>button.active{background:var(--selected);color:var(--accent)}.mini-tabs>.icon-button{margin-left:6px;width:24px}.adjustments{padding:6px 20px 20px}.adjustments .section-caption{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin:4px 0 18px}.adjustments .section-caption:not(:first-child){padding-top:16px;border-top:1px solid var(--border);margin-top:18px}.slider-control{margin:0 0 20px}.slider-control:last-child{margin-bottom:0}.slider-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-family:var(--mono);font-size:9px;color:var(--text);letter-spacing:.9px;text-transform:uppercase}.slider-label>span{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.slider-label input{font-family:var(--mono);font-size:10px;color:var(--bright);padding:0;text-align:right;width:42px;appearance:textfield;-moz-appearance:textfield}.slider-label input::-webkit-inner-spin-button{appearance:none}.segment-slider{height:12px;display:flex;gap:2px;cursor:ew-resize;touch-action:none}.segment-slider i{background:var(--strong-border);height:10px;flex:1;transition:background .15s}.segment-slider .filled{background:color-mix(in srgb,var(--accent) 80%,var(--muted))}.segment-slider:hover .filled{background:var(--accent)}.transform-panel{padding:6px 17px 20px}.number-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:20px}.number-grid label{display:flex;align-items:center;gap:10px;padding:7px 9px;background:var(--surface);border:1px solid var(--border);border-radius:3px;color:var(--muted);font-size:10px}.number-grid input{width:100%;font-family:var(--mono);font-size:10px}.swatches{padding:7px 18px 19px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.swatches button{height:30px;border:1px solid #ffffff17;border-radius:3px}.swatches button:hover{outline:1px solid var(--accent);outline-offset:2px}.custom-color{padding:0 20px 18px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.custom-color input{width:60px;height:26px;padding:0;background:none;cursor:pointer}.layer-meta{display:flex;justify-content:space-between;padding:0 18px 10px;color:#7b8d69;font-size:9px}.layer-meta>span:last-child{color:#7c8d6d}.compact{padding:0 9px}.compact .layer-row{height:39px}.compact .layer-thumb{height:27px;width:25px}.compact .layer-select{gap:9px;font-size:10px}.compact .layer-row>.icon-button{opacity:.7;margin-right:6px}.layer-actions{height:43px;margin:8px 0 0;padding:0 15px;border-top:1px solid #2a3522;display:flex;align-items:center;gap:8px}.layer-actions>span{flex:1}.inspector-footer{padding:17px;display:flex;align-items:center;gap:6px;justify-content:center;margin-top:auto;border-top:1px solid #2a3522;font-size:9px;color:#758568}.statusbar{height:27px;flex-shrink:0;background:var(--bg);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 15px 0 20px;font-size:9px;color:color-mix(in srgb,var(--accent) 16%,#8c8c8c);letter-spacing:.2px}.statusbar>div{display:flex;align-items:center;gap:6px}.statusbar .status-dot{background:var(--accent)}.status-tip{color:inherit;font-size:9px}.statusbar>span:last-child{font-family:var(--mono);font-size:8px;letter-spacing:1.2px;color:color-mix(in srgb,var(--accent) 22%,#aaaaaa)}.status-slash{color:color-mix(in srgb,var(--accent) 35%,var(--border));margin:0 8px}.sidebar-hint{color:var(--muted);font-size:11px;line-height:1.7;margin:16px 18px}.library-title{padding:0 17px 14px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.library-title button{font-size:10px;color:var(--accent)}.photo-grid,.look-grid,.texture-grid,.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px}.photo-grid>button,.look-grid>button{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:4px;border:1px solid transparent;border-radius:5px;overflow:hidden;text-align:left;min-width:0}.photo-grid>button.selected{border-color:var(--accent);background:var(--selected)}.photo-grid img,.look-grid img{height:85px;width:100%;object-fit:cover;border-radius:2px}.photo-grid>button>span,.look-grid>button>span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.photo-grid .photo-rating{color:var(--accent);height:9px;font-size:8px;letter-spacing:1px}.look-grid>button{padding:0;margin-bottom:5px;gap:8px}.look-grid img{height:90px}.wide-button{padding:9px 12px;border:1px solid var(--strong-border);border-radius:5px;margin:18px 17px 0;font-size:11px;color:var(--accent);background:var(--hover)}.texture-grid button{flex-direction:column;padding:0;gap:9px;font-size:10px}.texture-sample{height:78px;width:100%;border:1px solid #61704f;border-radius:3px;background-color:#a0aa8c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.4' filter='url(%23n)'/%3E%3C/svg%3E")}.texture-1{background-color:#414c37;background-size:55px 55px}.texture-2{background-color:#dfddc8;opacity:.8}.texture-3{background-color:#bfcbd3;filter:blur(.8px)}.font-list{display:flex;flex-direction:column;padding:0 15px}.font-list button{border-bottom:1px solid #313c28;justify-content:flex-start;padding:17px 0;gap:12px}.font-list button>span{font-size:27px;color:#b9c9a8;width:43px}.font-list button>div{font-size:12px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.font-list small{font-family:DM Sans,sans-serif;font-size:9px;color:#6c7e5c}.font-list button>svg{margin-left:auto;color:#748c5e}.resource-grid{gap:12px}.resource-grid>button{height:110px;background:#242d1d;border:1px solid #3c4b2e;border-radius:5px;flex-direction:column;gap:13px;color:#aac590;font-size:10px}.photo-workspace{height:100%;padding:62px 28px 0;display:flex;flex-direction:column;background:var(--panel);overflow:hidden}.photo-view{position:relative;flex:1;min-height:0;display:flex;justify-content:center;align-items:center;overflow:auto;padding:15px;background:var(--bg)}.photo-view img{max-width:100%;max-height:100%;object-fit:contain;transition:filter .1s}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;padding:18px 0;color:var(--muted)}.photo-controls>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-controls>button{font-size:10px;white-space:nowrap;color:var(--text)}.photo-controls>button.active{color:var(--accent)}.stars{display:flex;gap:4px}.stars button{padding:0}.filmstrip{display:flex;gap:12px;height:124px;flex-shrink:0;padding:13px 0 18px;border-top:1px solid var(--border);overflow:auto}.filmstrip>button{width:99px;min-width:99px;padding:5px;border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:6px;overflow:hidden;align-items:flex-start}.filmstrip>button.selected{border-color:var(--accent);background:var(--selected)}.filmstrip img{width:87px;height:56px;object-fit:cover}.filmstrip span{font-size:8px;white-space:nowrap;color:var(--text)}.filmstrip .filmstrip-add{align-items:center;justify-content:center;border-style:dashed;color:var(--muted)}.original-label{position:absolute;top:15px;left:15px;background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--strong-border);padding:6px 9px;border-radius:3px;font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--bright)}.photo-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;color:var(--muted)}.photo-empty h2{color:var(--bright);font-size:25px;font-weight:450;letter-spacing:-.8px}.photo-empty p{margin:0 0 20px;font-size:13px;color:var(--muted)}.empty-note{font-size:11px;color:var(--muted);line-height:1.8;padding:6px 20px 20px}.toast{position:fixed;left:50%;bottom:49px;transform:translate(-50%);z-index:100;background:var(--selected);border:1px solid var(--strong-border);color:var(--bright);box-shadow:0 8px 30px #0005;display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:6px;font-size:12px;animation:toast-in .2s ease-out}.modal-backdrop{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,var(--bg) 67%,transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center}.dialog{position:relative;width:400px;max-width:95vw;background:var(--panel);border:1px solid var(--strong-border);border-radius:12px;padding:35px;box-shadow:0 30px 100px #0007;max-height:90vh;overflow:auto}.dialog-close{position:absolute;right:15px;top:15px}.dialog-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:1.8px;color:var(--muted)}.dialog h2{font-size:25px;color:var(--bright);font-weight:450;letter-spacing:-.8px;margin:15px 0 10px}.dialog p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:25px}.field-label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted);margin-bottom:19px}.field-label input,.field-label textarea,.field-label select{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:10px;width:100%;color:var(--text);font-size:12px}.field-label textarea{resize:vertical;min-height:80px}.primary-button{height:42px;background:var(--accent);color:var(--accent-ink)!important;border-radius:5px;width:100%;font-size:12px;font-weight:600;gap:10px}.dialog .wide-button{margin:0 0 12px;width:100%}.shortcut-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #384d2a;font-size:12px;color:#a4c18c}.shortcut-row kbd{font-family:var(--mono);font-size:11px;color:#d5edc1}.dialog button:disabled{opacity:.5}@keyframes toast-in{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@media(min-width:1600px){.stage{padding-left:110px;padding-top:65px}.looks-dock{gap:16px}.look-swatch{width:58px}.look-swatch img{width:52px;height:40px}.look-swatch span{font-size:9px}.canvas-topline{padding:0 22px}.topbar{height:64px}.inspector-heading{min-height:88px}}@media(max-width:1200px){.project-breadcrumb>span:first-child,.project-breadcrumb>svg{display:none}.view-switch{position:static;transform:none;margin-left:auto}.top-spacer{flex:0}.stage{padding-left:76px;padding-right:35px}.looks-dock{gap:7px}.dock-label{display:none}.look-swatch{width:43px}.look-swatch img{width:37px}.look-swatch span{font-size:7px}.quick-tools{bottom:105px}.photo-controls{flex-wrap:wrap}.status-tip{display:none}}@media(max-width:1000px){.left-panel{max-width:190px}.right-panel{max-width:250px}.context-rail{width:56px}.rail-button{width:47px}.rail-button span{font-size:9px}.rail-button.active:before{left:-4px}.sidebar-heading{padding-left:13px}.sidebar-heading h2{font-size:11px}.layer-row>.icon-button{display:none}.compact .layer-row>.icon-button{display:flex}.topbar{padding-left:16px}.project-breadcrumb input{width:155px}.top-divider{margin-right:5px;margin-left:11px}.adjustments{padding-left:16px;padding-right:16px}.looks-dock .look-swatch:nth-of-type(n+5){display:none}.canvas-crumb>span:last-child{display:none}.quick-tools{gap:0}.quick-tools .vertical-rule{margin:0 2px}}@media(max-width:760px){.right-panel{position:absolute;right:0;top:0;bottom:0;z-index:15;box-shadow:-8px 0 30px #0005}.panel-divider.right{position:absolute;right:0;top:0;bottom:0;z-index:18}.right-panel.closed{width:0!important}.left-panel{position:absolute;left:56px;top:0;bottom:0;z-index:14;box-shadow:8px 0 30px #0004;max-width:226px}.panel-divider.left{position:absolute;left:56px;top:0;bottom:0;z-index:17}.topbar{height:55px;gap:7px}.brand{font-size:24px}.project-breadcrumb{display:none}.top-divider{margin-left:4px}.view-switch button{padding:6px 10px}.topbar>.icon-button{width:24px}.export-button{padding:8px;margin-left:0}.stage{padding-left:70px;padding-top:40px}.statusbar{padding:0 8px;font-size:8px}.statusbar>span:last-child{display:none}.photo-workspace{padding-left:15px;padding-right:15px}.dialog{padding:28px}.looks-dock{bottom:40px}.quick-tools{bottom:111px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.native-desktop .topbar{padding-left:97px}.native-desktop .view-switch{position:static;transform:none;margin-left:auto}.native-desktop .top-spacer{flex:0}.panel-group-tabs{display:flex;margin:0 13px 12px;border:1px solid #3d4933;border-radius:5px;padding:3px;gap:3px}.panel-group-tabs button{flex:1;padding:8px 4px;font-size:11px;color:var(--muted);border-radius:3px}.panel-group-tabs .active{color:#d5e6bd;background:#35422a}.panel-header{position:relative}.inspector-heading{gap:4px}.inspector-heading>div{flex:1;min-width:0}.inspector-heading h2{max-width:175px}@media(max-width:760px){.panel-divider.left{left:calc(56px + var(--panel-width))}.panel-divider.right{right:var(--panel-width)}}.histogram{margin:0 17px 17px}.histogram-label,.histogram-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:8px;color:var(--text);letter-spacing:.7px}.histogram-label{margin-bottom:9px}.histogram svg{display:block;width:100%;height:65px;background:var(--bg);border:1px solid var(--border)}.histogram-meta{margin-top:7px;font-size:7px;color:var(--muted);letter-spacing:0}.stage.free-workspace{padding:0;overflow-anchor:none;background-color:#252923}.world-surface{position:relative;flex:none}.workspace-svg{position:absolute;inset:0;max-width:none;touch-action:none}.workspace-svg>[data-surface-background]{pointer-events:all}.workspace-svg .artboard-label{cursor:grab;overflow:hidden;width:100%}.workspace-svg .artboard-label:active{cursor:grabbing}.workspace-svg .artboard-label span{overflow:hidden;text-overflow:ellipsis}.workspace-svg .artboard-label small{flex-shrink:0}.workspace-note{margin:18px;color:var(--text);font-size:11px;line-height:1.7}.workspace-note strong{color:var(--bright);font-weight:500}.workspace-note span{color:var(--muted);font-size:10px}.color-mode-shell{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.color-mode-toolbar{min-height:42px;flex-shrink:0;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--panel);font-size:11px;color:var(--text)}.color-mode-toolbar>span,.color-mode-toolbar>div{display:flex;align-items:center;gap:8px}.color-mode-toolbar .muted{color:var(--muted)}.color-library-link{display:flex;gap:6px;align-items:center;width:100%;margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:5px;color:var(--accent);background:transparent;font-size:11px}.color-library-link.font-workspace-link{width:auto;flex-shrink:0;margin:0 12px 12px}.photo-layer-badge{font-size:10px;color:var(--accent);border:1px solid var(--border);border-radius:4px;padding:5px 7px}@media(max-width:800px){.color-mode-toolbar .muted{display:none}.view-switch button{padding:7px 9px}}.quick-tools{bottom:38px}
