:root{--bg: #0c0d11;--surface: rgba(21, 23, 29, .82);--surface-2: rgba(255, 255, 255, .055);--surface-3: rgba(255, 255, 255, .09);--line: rgba(255, 255, 255, .07);--line-bright: rgba(255, 255, 255, .14);--ink: #e7e9ef;--ink-dim: #9aa0ad;--ink-faint: #5c6270;--accent: #82a0ff;--accent-2: #a17dff;--gradient: linear-gradient(135deg, #6ea8ff 0%, #8f8aff 55%, #a97dff 100%);--focus: rgba(130, 160, 255, .45);--amber: #f0b35e;--danger: #f26d6d;--font-brand: "Silkscreen", monospace;--font-ui: "Instrument Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--r-lg: 14px;--r-md: 10px;--r-sm: 7px;--shadow-card: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 12px 40px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .35);--blur: blur(22px) saturate(1.25);--check-a: #15161b;--check-b: #1c1e25;--grid-minor: rgba(255, 255, 255, .05);--grid-major: rgba(255, 255, 255, .1);--canvas-border: rgba(255, 255, 255, .16);--ants: #8ea6ff;--mirror-axis: rgba(240, 179, 94, .65);--brush-ghost: rgba(255, 255, 255, .85)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:12.5px;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button{font-family:inherit;font-size:inherit;background:none;border:none;color:inherit;cursor:pointer;transition:background .13s ease,color .13s ease,border-color .13s ease,box-shadow .13s ease,transform .05s ease}button:active:not(:disabled){transform:scale(.965)}button:disabled{opacity:.35;cursor:default}input{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);padding:4px 7px;outline:none;transition:border-color .13s ease,background .13s ease}input:hover{border-color:var(--line-bright)}input:focus{border-color:var(--focus);background:#ffffff12}input[type=number]{width:62px}input[type=checkbox]{accent-color:var(--accent)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;height:18px;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#ffffff21}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;margin-top:-4.5px;box-shadow:0 1px 5px #00000080;transition:transform .12s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:#ffffff21}input[type=range]::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:#fff;box-shadow:0 1px 5px #00000080}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff38;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}.app{display:flex;flex-direction:column;height:100%}.workspace{position:relative;flex:1;min-height:0}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menubar{position:relative;display:flex;align-items:center;height:44px;background:#0e0f13bf;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--line);padding:0 14px;gap:2px;z-index:50}.wordmark{display:flex;align-items:center;gap:9px;margin-right:16px}.logo-mark{width:19px;height:19px;border-radius:4.5px;flex:none}.wordmark-text{font-family:"Space Grotesk",var(--font-ui);font-size:13.5px;font-weight:600;letter-spacing:.18em;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.beta-tag{font-family:"Space Grotesk",var(--font-ui);font-size:9px;font-weight:700;letter-spacing:.18em;color:#ff5d5d;margin-left:-3px;translate:0 -3px;flex:none}.menu-root{position:relative}.menu-btn{padding:6px 11px;color:var(--ink-dim);font-size:12.5px;font-weight:500;text-transform:capitalize;border-radius:var(--r-sm)}.menu-btn:hover,.menu-btn.open{color:var(--ink);background:var(--surface-2)}.menu-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:232px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-md);box-shadow:var(--shadow-card);z-index:100;padding:5px;animation:rise .16s ease both}.menu-item{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:7px 10px;text-align:left;border-radius:var(--r-sm);font-weight:450}.menu-item:hover:not(:disabled){background:var(--surface-3);color:#fff}.menu-label{white-space:nowrap}.menu-hint{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);white-space:nowrap}.menu-check{display:inline-block;width:15px;color:var(--accent);opacity:0}.menu-check.on{opacity:1}.menu-sep{height:1px;background:var(--line);margin:5px 6px}.menubar-spacer{flex:1}.mode-strip{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px}.mode-strip button{padding:4px 16px;border-radius:999px;color:var(--ink-faint);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mode-strip button:hover{color:var(--ink)}.mode-strip button.active{color:#fff;background:var(--gradient);box-shadow:0 2px 10px #788cff59}@media (max-width: 1160px){.mode-strip{position:static;transform:none;margin-left:10px}}.sync-chip{display:flex;align-items:center;gap:7px;height:26px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);max-width:320px;white-space:nowrap;overflow:hidden}.sync-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--ink-faint)}.sync-chip.ready .sync-dot{background:#57d98a;box-shadow:0 0 7px #57d98ab3}.sync-chip.syncing .sync-dot{background:var(--amber);animation:pulse .6s ease-in-out infinite}.sync-chip.error{color:var(--danger);border-color:#f26d6d59}.sync-chip.error .sync-dot{background:var(--danger)}.sync-ms{color:var(--ink-faint)}.doc-name{background:transparent;border:1px solid transparent;text-align:right;width:170px;color:var(--ink-dim);font-family:var(--font-ui);font-weight:500}.doc-name:hover,.doc-name:focus{border-color:var(--line);color:var(--ink);background:transparent}.autosave-dot{width:7px;height:7px;border-radius:50%;background:var(--gradient);margin-left:10px;box-shadow:0 0 8px #82a0ff99;animation:pulse 3s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.save-badge{margin-left:10px;font-family:var(--mono, "IBM Plex Mono", monospace);font-size:10px;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-dim, rgba(235, 238, 255, .55));white-space:nowrap}.save-badge.quiet{border-color:transparent;animation:pulse 1.6s ease-in-out infinite}button.save-badge.warn{cursor:pointer;color:#ffb36b;border-color:#ffb36b66;background:#ffb36b14}button.save-badge.warn:hover{background:#ffb36b29}.dialog-text{font-size:12px;line-height:1.5;color:var(--ink-dim, rgba(235, 238, 255, .65));margin:0 0 4px;max-width:340px;overflow-wrap:break-word}.dialog-text.warn{color:#ffb36b}.fx-open-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;color:var(--ink-faint, rgba(235, 238, 255, .5));padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer}.fx-open-btn:hover{color:var(--ink, #ebeeff)}.fx-open-btn.on{color:var(--ink, #ebeeff);border-color:#82a0ff73}.fx-open-dot{width:8px;height:8px;border-radius:2px;border:1px solid rgba(255,255,255,.25)}.fx-pop{width:216px;padding:10px;display:flex;flex-direction:column;gap:8px}.fx-pop .palette-pop-grid{max-height:96px;overflow-y:auto}.fx-corner-seg button{flex:1}.convert-drop{width:100%;padding:32px 16px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:#ebeeff99;font:inherit;font-size:12.5px;cursor:pointer}.convert-drop:hover{color:var(--ink, #ebeeff);border-color:#ebeeff59}.convert-preview{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:10px}.convert-preview canvas{image-rendering:pixelated;max-width:100%}.convert-meta{font-family:var(--mono, "IBM Plex Mono", monospace);font-size:10px;color:#ebeeff80}.history-list{display:flex;flex-direction:column;gap:1px;max-height:220px;overflow-y:auto}.history-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border:none;border-radius:6px;background:transparent;color:var(--ink, #ebeeff);font:inherit;font-size:11.5px;text-align:left;cursor:pointer}.history-row:hover{background:#ffffff0d}.history-row.undone{opacity:.38}.history-row.current{background:#788cff24}.history-dot{flex:none;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5}.lib-lospec{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.lib-lospec-featured{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.lib-row.lospec-result{margin-top:6px}.lib-row-credit{font-family:var(--mono, "IBM Plex Mono", monospace);font-size:9.5px;color:#ebeeff73;text-decoration:none;white-space:nowrap}.lib-exp{border:1px solid var(--line);border-radius:5px;background:#ffffff0d;color:#ebeeff99;font-family:var(--mono, "IBM Plex Mono", monospace);font-size:9.5px;padding:2px 6px;cursor:pointer}.lib-exp:hover{color:var(--ink, #ebeeff);border-color:#96a5ff80}.lib-row-credit:hover{color:var(--ink, #ebeeff);text-decoration:underline}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;background:#080a1273;display:flex;justify-content:center;align-items:flex-start;padding-top:14vh}.palette{width:min(560px,calc(100vw - 32px));border-radius:14px;border:1px solid var(--line);background:#101322eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 60px #00000073;overflow:hidden}.palette-input{width:100%;padding:14px 16px;font:inherit;font-size:14px;color:var(--ink, #ebeeff);background:transparent;border:none;border-bottom:1px solid var(--line);outline:none}.palette-list{max-height:46vh;overflow-y:auto;padding:6px}.palette-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:8px;background:transparent;color:var(--ink, #ebeeff);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.palette-row.active{background:#788cff29}.palette-group{flex:none;width:74px;font-family:var(--mono, "IBM Plex Mono", monospace);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:#ebeeff66}.palette-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-keys,.sheet-keys{flex:none;font-family:var(--mono, "IBM Plex Mono", monospace);font-size:10.5px;color:#ebeeff8c;background:#ffffff0f;border:1px solid var(--line);border-radius:5px;padding:1px 6px;white-space:nowrap}.palette-empty{padding:18px;font-size:12px;color:#ebeeff73;text-align:center}.dialog.sheet{max-width:min(860px,calc(100vw - 32px))}.sheet-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 26px;max-height:60vh;overflow-y:auto}.sheet-group{break-inside:avoid;padding:6px 0}.sheet-group-name{font-family:var(--mono, "IBM Plex Mono", monospace);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#ebeeff66;margin-bottom:6px}.sheet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0;font-size:12px}.sheet-label{color:#ebeeffcc}.sheet-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:#ebeeff80}.dialog.welcome{max-width:400px}.welcome-actions{margin-top:4px}.cloud-curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;background:#0a0c1659;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cloud-curtain-chip{font-family:var(--mono, "IBM Plex Mono", monospace);font-size:11px;letter-spacing:.05em;color:var(--ink, #ebeeff);padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#101322d9;animation:pulse 1.6s ease-in-out infinite}.tool-rail{position:absolute;left:14px;top:50%;translate:0 -50%;z-index:20;display:flex;flex-direction:column;gap:3px;padding:7px;max-height:calc(100% - 24px);overflow-y:auto;scrollbar-width:none;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);animation:rise .3s ease both}.tool-btn{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--ink-dim);border-radius:var(--r-md)}.tool-btn:hover{color:var(--ink);background:var(--surface-2)}.tool-btn.active{color:#fff;background:var(--gradient);box-shadow:0 4px 16px #788cff59}.tool-key{position:absolute;right:4px;bottom:3px;font-size:8px;font-weight:600;color:var(--ink-faint)}.tool-btn.active .tool-key{color:#ffffffa6}.tool-slot{position:relative}.tool-corner{position:absolute;left:3px;bottom:3px;width:0;height:0;border-left:5px solid var(--ink-faint);border-top:5px solid transparent;border-bottom-left-radius:2px;opacity:.9}.tool-btn.active .tool-corner{border-left-color:#ffffffb3}.tool-flyout-strip{position:fixed;z-index:80;display:flex;align-items:center;gap:3px;padding:7px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);animation:slide-out-x .16s ease both}@keyframes slide-out-x{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.tool-flyout-strip .tool-btn.current:not(.active){box-shadow:inset 0 0 0 1px var(--line-bright);color:var(--ink)}.options-bar{position:absolute;top:14px;left:50%;translate:-50%;z-index:20;height:40px;max-width:min(880px,calc(100% - 460px));background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-card);animation:rise .3s ease both;white-space:nowrap;transition:width .22s ease;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.options-bar::-webkit-scrollbar{display:none}.ob-inner{display:flex;align-items:center;height:100%;width:max-content;padding:0 10px 0 14px}.ob-content{display:flex;align-items:center;gap:10px;animation:ob-fade .2s ease both}@keyframes ob-fade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.ob-tool{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:11.5px;font-weight:600;letter-spacing:.02em;flex:none}.ob-tool-cycle{padding:3px 8px;margin-left:-8px;border-radius:999px;cursor:pointer}.ob-tool-cycle:hover{background:var(--surface-2)}.ob-sep{width:1px;height:18px;background:var(--line);flex:none}.ob-group{display:flex;align-items:center;gap:7px;flex:none}.ob-label{font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.ob-value{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);min-width:26px}.ob-slider{width:84px}.ob-brush-preview{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 8px 8px;overflow:hidden}.ob-brush-preview>span{background:var(--ink);border-radius:1px}.ob-chip{height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-dim);font-size:11px;font-weight:500;flex:none}.ob-chip:hover{color:var(--ink);border-color:var(--line-bright)}.ob-chip.on{color:#fff;background:var(--gradient);border-color:transparent}.ob-btn{height:26px;padding:0 12px;border-radius:999px;color:var(--ink-dim);font-size:11px;flex:none}.ob-btn:hover:not(:disabled){color:var(--ink);background:var(--surface-3)}.ob-btn:disabled{opacity:.35}.options-bar .ob-seg{gap:2px;padding:2px;border-radius:999px}.options-bar .ob-seg button{flex:none;padding:4px 12px;border-radius:999px;font-size:10px;letter-spacing:.07em}.ob-hint{font-size:11px;color:var(--ink-faint)}.ob-brush-btn{display:flex;align-items:center;gap:3px;height:28px;padding:3px 5px;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--ink-faint);background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 8px 8px}.ob-brush-btn:hover,.ob-brush-btn.open{border-color:var(--line-bright);color:var(--ink)}.ob-stamp-canvas{image-rendering:pixelated}.ob-swatch{display:inline-block;width:20px;height:20px;border-radius:5px;border:1px solid var(--line-bright);flex:none}.ob-swatch-btn:hover{box-shadow:0 0 0 2px #82a0ff66}.ob-swatch-transparent{background:repeating-conic-gradient(#2a2d38,#2a2d38 25%,#191b22 0%,#191b22 50%) 0 0 / 8px 8px}.ob-arrow{color:var(--ink-faint);font-size:12px}.brush-picker{position:fixed;z-index:90;display:flex;flex-direction:column;gap:7px;width:264px;padding:11px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);animation:rise .16s ease both}.brush-picker.gradient-pick{width:232px}.brush-picker-row{display:flex;align-items:center;gap:6px}.brush-picker-row input[type=range]{flex:1}.brush-picker-preview{display:flex;align-items:center;gap:10px;padding:6px;border-radius:var(--r-sm);background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 10px 10px}.brush-picker-preview .props-hint{margin:0}.brush-tile-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.brush-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:var(--r-sm);border:1px solid var(--line);background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 8px 8px;overflow:hidden}.brush-tile:hover{border-color:var(--line-bright)}.brush-tile.active{border-color:transparent;box-shadow:0 0 0 2px var(--accent)}.brush-tile-add{background:transparent;border-style:dashed;color:var(--ink-faint)}.brush-tile-add:hover{color:var(--accent)}.swatch.in-range{box-shadow:inset 0 0 0 1px #00000080,0 0 0 2px #ffd66aa6}.panel-redock,.dock-redock{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border-radius:var(--r-sm);color:var(--accent)}.panel-redock:hover,.dock-redock:hover{background:var(--surface-2)}.panel-redock{margin-left:4px}.cp-alpha-track{position:relative;background:repeating-conic-gradient(#2a2d38,#2a2d38 25%,#191b22 0%,#191b22 50%) 0 0 / 8px 8px!important;overflow:hidden}.cp-alpha-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.lospec-row{display:flex;gap:5px;margin-bottom:7px}.lospec-input{flex:1;min-width:0;padding:4px 7px;font-size:11px}.preview-stage{display:flex;align-items:center;justify-content:center;min-height:60px;max-height:220px;overflow:auto;padding:8px;border-radius:var(--r-sm);background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 10px 10px}.preview-canvas{image-rendering:pixelated}.preview-zoom-seg button{padding:2px 7px;font-size:9px}.dialog-slider-row{display:flex;align-items:center;gap:9px}.dialog-slider-row input[type=range]{flex:1}.dialog-swatches{max-height:96px;overflow-y:auto}.viewport{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 70% at 50% 42%,rgba(120,140,255,.05),transparent 70%),radial-gradient(circle,rgba(255,255,255,.032) 1px,transparent 1px) 0 0 / 26px 26px,var(--bg)}.viewport[data-bg=black]{background:#000}.viewport[data-bg=grey]{background:#7d7f83}.viewport[data-bg=white]{background:#f3f3f4}.app[data-bg=grey]{--shadow-card: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 6px 20px rgba(0, 0, 0, .22), 0 1px 4px rgba(0, 0, 0, .14)}.app[data-bg=white]{--shadow-card: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 5px 16px rgba(0, 0, 0, .14), 0 1px 3px rgba(0, 0, 0, .1)}.app[data-bg=black] .timeline{--tl-solid: #111318}.app[data-bg=grey] .timeline{--tl-solid: #282a2f}.app[data-bg=white] .timeline{--tl-solid: #3d3f44}.viewport-canvas{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair;touch-action:none}.right-panel{position:absolute;top:14px;right:14px;bottom:14px;width:264px;z-index:20;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:2px}.panel{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding-bottom:12px;flex:none;animation:rise .3s ease both}.right-panel .panel:nth-child(2){animation-delay:.05s}.right-panel .panel:nth-child(3){animation-delay:.1s}.panel-header{display:flex;align-items:center;padding:11px 14px 8px 8px;gap:4px;font-size:12.5px;font-weight:600;color:var(--ink)}.panel.collapsed{padding-bottom:0}.panel.collapsed .panel-header{padding-bottom:11px}.panel-collapse{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);border-radius:var(--r-sm);flex:none}.panel-collapse:hover{color:var(--ink);background:var(--surface-3)}.panel-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-header-meta{font-family:var(--font-mono);font-size:10px;font-weight:400;color:var(--ink-faint)}.panel-header-actions{display:flex;gap:3px}.mini-icon-btn{width:24px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--ink-dim);border-radius:var(--r-sm)}.mini-icon-btn:hover{color:var(--ink);background:var(--surface-3)}.mini-icon-btn.danger:hover{color:var(--danger)}.props-body{padding:0 14px;display:flex;flex-direction:column;gap:13px}.props-section{display:flex;flex-direction:column;gap:3px}.props-label{font-size:10px;font-weight:600;color:var(--ink-faint);letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px}.props-row{display:flex;align-items:center;gap:10px}.props-row input[type=range]{flex:1}.props-row-2{display:grid;grid-template-columns:1fr 1fr;gap:4px}.mono-val{font-family:var(--font-mono);color:var(--accent);font-size:11px;min-width:34px;text-align:right}.sw-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 2px;color:var(--ink-dim);text-align:left;border-radius:var(--r-sm);font-weight:450;width:100%}.sw-row:hover,.sw-row.on{color:var(--ink)}.sw-label{flex:1;min-width:0}.sw-track{width:28px;height:16px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line);position:relative;flex:none;transition:background .15s ease,border-color .15s ease}.sw-knob{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--ink-dim);transition:transform .15s ease,background .15s ease}.sw-row.on .sw-track{background:var(--gradient);border-color:transparent;box-shadow:0 2px 8px #788cff4d}.sw-row.on .sw-knob{transform:translate(12px);background:#fff}.seg{display:flex;gap:2px;background:var(--surface-2);border-radius:var(--r-sm);padding:2px}.seg button{flex:1;padding:4px 0;border-radius:5px;color:var(--ink-faint);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.seg button:hover{color:var(--ink)}.seg button.active{color:#fff;background:var(--gradient);box-shadow:0 2px 8px #788cff40}.brush-row{display:flex;align-items:center;gap:9px}.brush-row input[type=range]{flex:1}.brush-preview{width:30px;height:30px;flex:none;border:1px solid var(--line);border-radius:var(--r-sm);background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 10px 10px;display:flex;align-items:center;justify-content:center}.brush-preview span{background:var(--ink);display:block}.brush-preview-round span{border-radius:50%;background:var(--amber)}.light-list{display:flex;flex-direction:column;gap:2px}.light-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer}.light-row:hover{background:var(--surface-2)}.light-row.active{background:var(--surface-2);border-color:var(--line-bright)}.light-dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 2px #00000040 inset;flex:none}.light-name{cursor:default}.light-name{flex:1;min-width:0;font-weight:450;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.light-shape-tag{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);flex:none}.light-colors{display:flex;gap:4px}.light-color-chip{flex:1;height:18px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.14)}.light-color-chip:hover{transform:scale(1.08)}.light-color-chip.active{box-shadow:0 0 0 2px var(--accent)}.normal-swatches{display:grid;grid-template-columns:repeat(9,1fr);gap:3px}.normal-swatch{aspect-ratio:1;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.12);font-size:9px;font-weight:700;color:var(--ink-dim)}.normal-swatch:hover{border-color:#ffffff80}.normal-swatch.active{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.normal-swatch-auto{background:repeating-conic-gradient(#2b2e36,#2b2e36 25%,#191b21 0%,#191b21 50%) 0 0 / 6px 6px}.bevel-row{display:flex;gap:5px}.bevel-row .mini-btn{flex:1;text-align:center;padding:5px 0}.props-label-accent{color:var(--accent);text-transform:none;letter-spacing:.02em;margin-left:3px}.props-hint{font-size:11px;color:var(--ink-faint);line-height:1.5;padding:2px 0}.palette-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:2px 14px 10px}.swatch{aspect-ratio:1;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);position:relative;transition:transform .1s ease,box-shadow .13s ease,border-color .13s ease}.swatch:hover{transform:scale(1.12);border-color:#ffffff73;z-index:1}.swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--accent),0 4px 12px #0006;z-index:2}.swatch-transparent{background:repeating-conic-gradient(#2b2e36,#2b2e36 25%,#191b21 0%,#191b21 50%) 0 0 / 8px 8px}.swatch-add{display:flex;align-items:center;justify-content:center;color:var(--ink-faint);border:1px dashed var(--line-bright);background:transparent}.swatch-add:hover{color:var(--accent);border-color:var(--focus)}.palette-active{display:flex;align-items:center;gap:9px;padding:0 14px}.palette-active-chip{width:20px;height:20px;border:1px solid var(--line-bright);border-radius:6px;background:repeating-conic-gradient(#2b2e36,#2b2e36 25%,#191b21 0%,#191b21 50%) 0 0 / 6px 6px;flex:none}.palette-active-label{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);flex:1}.mini-btn{font-size:11px;font-weight:500;color:var(--ink-dim);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px 10px}.mini-btn:hover{color:var(--ink);border-color:var(--line-bright);background:var(--surface-2)}.hidden-color-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.layer-list{display:flex;flex-direction:column;gap:2px;padding:0 8px}.layer-row{position:relative;display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;overflow:hidden}.layer-row:hover{background:var(--surface-2)}.layer-row.active{background:var(--surface-2);border-color:var(--line-bright)}.layer-row.selected{background:#82a0ff14;border-color:var(--line)}.layer-row.nest-target{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.layer-color-bar{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px 0 0 2px;opacity:.9}.layer-chevron{color:var(--ink-faint);width:16px;height:20px;flex:none;display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.layer-chevron.open{transform:rotate(90deg)}.layer-chevron:hover{color:var(--ink)}.layer-clip-mark{color:var(--ink-faint);width:16px;flex:none;display:flex;align-items:center;justify-content:center}.layer-group-icon{color:var(--ink-dim);display:flex;align-items:center;flex:none}.layer-mini-tag{font-size:9.5px;font-weight:600;font-family:var(--font-mono);color:var(--ink-dim);background:var(--surface-3);border-radius:4px;padding:1px 4px;flex:none}.layer-more{color:var(--ink-faint);width:20px;height:20px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);opacity:0;transition:opacity .12s ease}.layer-row:hover .layer-more,.layer-row.active .layer-more{opacity:1}.layer-more:hover{color:var(--ink);background:var(--surface-3)}.layer-vis{color:var(--ink-dim);width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:var(--r-sm)}.layer-vis.off{color:var(--ink-faint)}.layer-vis:hover{color:var(--ink);background:var(--surface-3)}.layer-name{flex:1;min-width:0;padding:2px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:450;cursor:default}.layer-name-input{flex:1;min-width:0;padding:1px 4px;font-family:var(--font-ui);font-size:12.5px;font-weight:450}.layer-vec-tag{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--amber);background:#f0b35e1f;border-radius:4px;padding:1px 5px;flex:none}.layer-blend-tag{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:#82a0ff1f;border-radius:4px;padding:1px 5px;flex:none}.layer-lock{color:var(--ink-faint);width:18px}.layer-lock.on{color:var(--amber)}.layer-row.dragging{opacity:.45}.layer-drop-line{height:2px;margin:-1px 6px;border-radius:1px;background:var(--accent);box-shadow:0 0 6px #82a0ff99}.layer-controls{display:flex;flex-direction:column;gap:6px;padding:9px 14px 0;border-top:1px solid var(--line);margin-top:8px}.layer-ctl{display:flex;align-items:center;gap:9px;color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.layer-ctl>span:first-child{width:46px;flex:none}.layer-ctl input[type=range]{flex:1}.rasterize-btn{width:100%;text-align:center;padding:5px 0;color:var(--amber);border-color:#f0b35e59}.rasterize-btn:hover{color:var(--amber);background:#f0b35e1a;border-color:#f0b35e8c}.layer-ctl select{flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font-family:var(--font-mono);font-size:11px;padding:3px 5px;outline:none;text-transform:none}.layer-menu{position:fixed;z-index:300;min-width:190px;padding:6px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-md);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1px;animation:rise .14s ease both}.layer-menu-item{display:flex;align-items:center;gap:4px;padding:5px 8px 5px 4px;border-radius:var(--r-sm);color:var(--ink);font-size:12px;text-align:left}.layer-menu-item:hover{background:var(--surface-2)}.layer-menu-item.danger:hover{color:var(--danger);background:#f064641a}.layer-menu-item.disabled{color:var(--ink-faint);cursor:default}.layer-menu-check{width:14px;flex:none;color:var(--accent);font-size:10px;text-align:center}.layer-menu-sep{height:1px;background:var(--line);margin:4px 2px}.layer-menu-swatches{padding:3px 4px}.label-swatches{display:flex;gap:5px;align-items:center}.label-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.18);flex:none;transition:transform .1s ease}.label-swatch:hover{transform:scale(1.18)}.label-swatch.on{box-shadow:0 0 0 2px var(--accent)}.label-swatch.none{background:transparent;border-style:dashed;position:relative}.label-swatch.none:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:linear-gradient(135deg,transparent 44%,var(--danger) 46%,var(--danger) 54%,transparent 56%)}.palette-pop{min-width:0}.palette-pop-grid{display:grid;grid-template-columns:repeat(8,16px);gap:4px;padding:2px}.palette-pop-swatch{width:16px;height:16px;border-radius:4px;border:1px solid rgba(255,255,255,.14)}.palette-pop-swatch.on{box-shadow:0 0 0 2px var(--accent)}.layer-fx-row{gap:6px}.layer-fx-row .sw-row{padding:0;flex:none}.fx-color-chip{width:18px;height:18px;border-radius:var(--r-sm);border:1px solid var(--line-bright);flex:none}.fx-corner-btn{font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 7px}.fx-corner-btn.on,.fx-corner-btn:hover{color:var(--ink);border-color:var(--line-bright)}.timeline{--tl-solid: #13151b;position:absolute;bottom:14px;left:50%;translate:-50%;z-index:20;display:flex;align-items:center;gap:8px;max-width:min(980px,calc(100% - 620px));padding:8px 12px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);animation:rise .3s ease both;animation-delay:.08s;transition:width .2s ease}.tl-play{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient);color:#fff;box-shadow:0 4px 16px #788cff66}.tl-play:hover{filter:brightness(1.12)}.tl-group{display:flex;gap:2px;flex:none}.tl-btn{height:28px;min-width:28px;padding:0 6px;display:flex;align-items:center;justify-content:center;color:var(--ink-dim);border-radius:var(--r-sm)}.tl-btn:hover{color:var(--ink);background:var(--surface-3)}.tl-btn.active{color:var(--accent);background:#82a0ff24}.tl-btn.danger:hover{color:var(--danger)}.tl-btn-text{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.tl-sep{width:1px;height:20px;background:var(--line);flex:none}@media (max-width: 1100px){.timeline{max-width:calc(100% - 28px)}}.tl-grid{position:relative;overflow:auto;flex:1 1 auto;min-width:0;max-height:168px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.tl-grid::-webkit-scrollbar{width:7px;height:7px}.tl-grid::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.tl-grid::-webkit-scrollbar-thumb:hover{background:#ffffff47}.tl-grid::-webkit-scrollbar-track{background:transparent}.tl-grid-inner{display:flex;flex-direction:column;width:max-content;padding:2px}.tl-grid-head{position:sticky;top:0;z-index:5;display:flex;gap:10px;padding-bottom:2px;background:var(--tl-solid)}.tl-corner-col{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.tl-cel-btn,.tl-fold-btn{height:18px;min-width:24px;padding:0 3px}.tl-corner{position:sticky;left:0;z-index:6;flex:none;background:var(--tl-solid);box-shadow:6px 0 0 var(--tl-solid)}.tl-num-lane{display:flex;gap:4px;flex:none}.tl-num-chip{width:32px;height:16px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:4px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-dim)}.tl-num-chip:hover{color:var(--ink);background:var(--surface-3)}.tl-num-chip.tagged{color:var(--chip-tint);background:color-mix(in srgb,var(--chip-tint) 14%,transparent)}.tl-num-chip.active{background:var(--chip-tint, var(--accent));color:#0c0d11}.tl-num-chip.dragging{opacity:.4}.tl-num-chip.drop-before{box-shadow:-3px 0 0 0 var(--accent)}.tl-grid-row{display:flex;gap:10px;margin-top:4px;align-items:stretch}.tl-grid-row.dim{opacity:.45}.tl-label{position:sticky;left:0;z-index:4;flex:none;display:flex;align-items:center;gap:5px;height:32px;padding:0 6px;font-size:10px;color:var(--ink-dim);text-align:left;overflow:hidden;border-radius:4px;background:var(--tl-solid);box-shadow:6px 0 0 var(--tl-solid)}.tl-label:hover{color:var(--ink)}.tl-label.active{color:var(--accent)}.tl-label-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-row-cels{display:flex;gap:4px;flex:none}.cel-cell{position:relative;width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 8px 8px;overflow:hidden}.cel-cell:hover{border-color:var(--line-bright)}.cel-cell.col{border-color:#82a0ff47}.cel-cell.active{border-color:transparent;box-shadow:0 0 0 2px var(--accent)}.cel-cell.dragging{opacity:.35}.cel-cell.drop-target{border-color:transparent;box-shadow:0 0 0 2px var(--accent)}.cel-cell.drop-target.copying{box-shadow:0 0 0 2px var(--amber)}.cel-cell.drop-before{box-shadow:-3px 0 0 0 var(--accent)}.cel-thumb{max-width:28px;max-height:28px;image-rendering:pixelated;object-fit:contain}.cel-cell.link-right:after{content:"";position:absolute;right:-5px;top:50%;width:5px;height:2px;margin-top:-1px;background:var(--accent);z-index:1}.cel-link{position:absolute;left:1px;bottom:1px;width:11px;height:11px;display:flex;align-items:center;justify-content:center;border-radius:3px;background:#0a0c12d9;color:var(--accent)}.tl-span{height:32px;flex:none;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:5px;color:var(--ink-faint)}.tl-span.group{border-style:solid;background:var(--surface-2);opacity:.5}.tl-span.vector:hover{color:var(--ink-dim);border-color:var(--line-bright)}.cel-menu{width:190px}.cel-opacity-row{display:flex;align-items:center;gap:8px;padding:4px 6px 6px}.cel-opacity-row input[type=range]{flex:1;min-width:0}.cel-opacity-value{width:32px;flex:none;text-align:right;font-family:var(--font-mono);font-size:10px;color:var(--ink-dim)}.tl-confirm-pop{width:176px}.tl-confirm-actions{display:flex;gap:6px;justify-content:flex-end}.tl-confirm-msg{font-size:11px;line-height:1.45;color:var(--ink-dim)}.tl-onion{position:relative;display:flex}.tl-onion-caret{min-width:14px;padding:0 1px}.tl-onion-pop{position:absolute;bottom:calc(100% + 10px);left:-8px;z-index:40;width:208px;display:flex;flex-direction:column;gap:7px;padding:10px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);animation:rise .14s ease both}.tl-onion-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--ink-dim)}.tl-onion-row .seg{flex:none}.tag-swatch-pop{padding:8px}.map-layer-label-dot{width:10px;height:10px;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.25)}.map-layer-label-dot.none{background:transparent;border-style:dashed}.map-layer-label-dot:hover{box-shadow:0 0 0 2px #82a0ff66}.swatch.dragging{opacity:.45}.tl-right{display:flex;align-items:center;gap:8px;flex:none}.tl-duration{display:flex;align-items:center;gap:5px;color:var(--ink-faint);font-size:10px;font-weight:600;text-transform:uppercase}.tl-duration input{width:54px;padding:2px 5px}.tool-rail::-webkit-scrollbar{display:none}.statusbar{position:absolute;left:14px;bottom:14px;z-index:20;display:flex;align-items:center;height:30px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-card);padding:0 14px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);max-width:calc(100% - 620px);animation:rise .3s ease both;animation-delay:.12s}.status-cell{padding:0 9px;border-right:1px solid var(--line);white-space:pre}.status-cell:first-child{padding-left:0}.status-coords{color:var(--accent);min-width:68px}.status-tile{color:var(--amber);font-weight:600}.status-hint{padding-left:9px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui)}.reference-panel{position:absolute;left:78px;top:14px;width:300px;z-index:25}.ref-body{padding:0 12px;display:flex;flex-direction:column;gap:8px}.ref-canvas-wrap{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:repeating-conic-gradient(#1e2027,#1e2027 25%,#15171c 0%,#15171c 50%) 0 0 / 12px 12px}.ref-canvas-wrap.empty{border-style:dashed;background:transparent}.ref-canvas{width:100%;height:auto;max-height:340px;object-fit:contain;cursor:crosshair;display:block}.ref-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 12px;color:var(--ink-faint);font-size:11.5px;text-align:center;line-height:1.5}.ref-footer{display:flex;align-items:center;gap:7px}.ref-hover-chip{width:16px;height:16px;border-radius:5px;border:1px solid var(--line-bright);flex:none}.ref-hover-hex{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);white-space:nowrap}.ref-count{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-dim);font-family:var(--font-mono);font-size:11px;padding:2px 4px;outline:none}.drag-handle{cursor:grab}.drag-handle:active{cursor:grabbing}.dock-grip{display:flex;align-items:center;justify-content:center;color:var(--ink-faint);height:14px;margin-bottom:3px;border-radius:var(--r-sm)}.dock-grip:hover{color:var(--ink-dim)}.dock-grip-v{height:auto;align-self:stretch;margin:0 2px 0 -4px;padding:0 2px}.color-body{padding:0 14px;display:flex;flex-direction:column;gap:9px}.color-empty{padding:4px 14px 2px;font-size:11.5px;line-height:1.5;color:var(--ink-faint)}.mini-btn.on{color:var(--accent);border-color:var(--accent-dim);background:#82a0ff1f}.cp-sv{position:relative;height:122px;border-radius:var(--r-md);background-image:linear-gradient(to top,#000,#0000),linear-gradient(to right,#fff,#fff0);cursor:crosshair;touch-action:none}.cp-sv-thumb{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 5px #0009;transform:translate(-50%,-50%);pointer-events:none}.cp-hue{position:relative;height:12px;border-radius:6px;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);cursor:ew-resize;touch-action:none}.cp-hue-thumb{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:#fff3;box-shadow:0 1px 5px #0009;transform:translate(-50%,-50%);pointer-events:none}.cp-tabs{display:flex;align-items:center;gap:3px}.cp-tabs button{padding:5px 12px;border-radius:var(--r-sm);color:var(--ink-dim);font-weight:500;font-size:12px}.cp-tabs button:hover{color:var(--ink);background:var(--surface-2)}.cp-tabs button.active{color:#fff;background:var(--surface-3)}.cp-tabs-spacer{flex:1}.cp-tabs button.cp-live{padding:3px 8px;font-size:9.5px;border-radius:999px}.cp-tabs button.cp-eyedrop{padding:0}.cp-eyedrop{width:28px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--ink-dim);border:1px solid var(--line);border-radius:var(--r-sm)}.cp-eyedrop:hover{color:var(--ink);border-color:var(--line-bright)}.cp-mode{display:flex;gap:2px;background:var(--surface-2);border-radius:var(--r-sm);padding:2px}.cp-mode button{flex:1;padding:3px 0;border-radius:5px;color:var(--ink-faint);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.cp-mode button.active{color:var(--ink);background:var(--surface-3)}.cp-channel{display:flex;align-items:center;gap:8px}.cp-ch-label{width:12px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);text-align:center}.cp-track{position:relative;flex:1;height:14px;border-radius:7px;border:1px solid rgba(255,255,255,.12);cursor:ew-resize;touch-action:none}.cp-track-thumb{position:absolute;top:50%;width:6px;height:18px;border-radius:3px;background:#fff;border:1px solid rgba(0,0,0,.45);box-shadow:0 1px 4px #00000080;transform:translate(-50%,-50%);pointer-events:none}.cp-num{width:52px;padding:3px 5px;font-size:11px;text-align:right}.cp-num::-webkit-outer-spin-button,.cp-num::-webkit-inner-spin-button{-webkit-appearance:none}.cp-harmony{display:flex;gap:3px}.cp-harmony-chip{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:3px 0 2px;border:1px solid transparent;border-radius:var(--r-sm);font-size:8.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.cp-harmony-chip span{width:100%;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.12)}.cp-harmony-chip:hover{color:var(--ink);border-color:var(--line);background:var(--surface-2)}.cp-recents{display:flex;gap:4px;padding-top:2px}.cp-recent{width:18px;height:18px;border-radius:5px;border:1px solid rgba(255,255,255,.12)}.cp-recent:hover{border-color:#ffffff80;transform:scale(1.12)}.cp-ramp-preview{display:flex;height:34px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line-bright)}.cp-ramp-swatch{flex:1}.cp-ramp-swatch:hover{box-shadow:inset 0 0 0 2px #ffffffbf}.cp-ramp-controls{display:flex;flex-direction:column;gap:6px}.cp-ramp-controls label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em}.cp-ramp-controls label>span:first-child{width:56px}.cp-ramp-controls input[type=range]{flex:1}.cp-ramp-controls .mono-val{min-width:30px}.cp-note{font-size:10.5px;color:var(--ink-faint);line-height:1.45}.cp-ramp-add{width:100%;text-align:center}.cp-row{display:flex;align-items:center;gap:8px;padding-top:2px;border-top:1px solid var(--line);margin-top:2px}.cp-compare{display:flex;border:1px solid var(--line-bright);border-radius:var(--r-sm);overflow:hidden;flex:none}.cp-compare span{width:18px;height:22px}.cp-hex{flex:1;min-width:0;text-transform:lowercase}.cp-done{padding:5px 12px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#06070a99;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:16px;box-shadow:var(--shadow-card);padding:18px;min-width:340px;display:flex;flex-direction:column;gap:13px;animation:rise .2s ease both}.dialog-title{font-size:14px;font-weight:600;color:var(--ink);padding-bottom:9px;border-bottom:1px solid var(--line)}.dialog-field{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;flex:1}.dialog-row{display:flex;gap:10px}.dialog-presets{display:flex;gap:4px;flex-wrap:wrap}.preset-btn{border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 11px;color:var(--ink-dim);font-size:11.5px;font-weight:500}.preset-btn:hover{color:var(--ink);border-color:var(--line-bright);background:var(--surface-2)}.preset-btn.active{color:#fff;background:var(--gradient);border-color:transparent}.dialog-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-dim);cursor:pointer;font-weight:450}.dialog-info{font-size:11.5px;color:var(--ink-faint)}.dialog-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:4px}.pen-prompt-actions{flex-direction:column;align-items:stretch}.pen-prompt-actions .btn{text-align:center}.btn{border:1px solid var(--line-bright);border-radius:var(--r-sm);padding:7px 15px;color:var(--ink-dim);font-size:12px;font-weight:500}.btn:hover{color:var(--ink);background:var(--surface-2)}.btn.primary{color:#fff;background:var(--gradient);border-color:transparent;font-weight:600;box-shadow:0 4px 16px #788cff59}.btn.primary:hover{filter:brightness(1.12)}.tab-dock{position:absolute;left:14px;top:14px;z-index:21;display:flex;align-items:center;gap:3px;height:34px;padding:0 6px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-card);max-width:clamp(150px,calc(50% - 460px),40vw);animation:rise .3s ease both}.tab-dock-tabs{display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none}.tab-dock-tabs::-webkit-scrollbar{display:none}.tab-dock-plus-root{position:relative;flex:none}.tab-dock-plus{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:var(--ink-faint)}.tab-dock-plus:hover,.tab-dock-plus.open{color:var(--ink);background:var(--surface-2)}.tab-dock-menu{top:calc(100% + 12px);left:-6px;min-width:188px}.ws-tab{display:flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:999px;border:1px solid transparent;color:var(--ink-faint);font-size:11.5px;font-weight:500;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;flex:none}.ws-tab:hover{color:var(--ink);background:var(--surface-2)}.ws-tab.active{color:var(--ink);background:var(--surface-2);border-color:var(--line-bright)}.ws-tab-close{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;color:var(--ink-faint);margin-right:-4px}.ws-tab-close:hover{color:var(--ink);background:var(--surface-3)}.tile-actions{display:flex;gap:6px}.tile-actions .mini-btn{flex:1}.mini-btn.accent{background:var(--gradient);border-color:transparent;color:#fff}.mini-btn.accent:hover:not(:disabled){filter:brightness(1.12)}.mini-btn:disabled{opacity:.4;cursor:default}.autotile-dot{width:9px;height:9px;border-radius:3px;flex:none;box-shadow:0 0 0 1px #0006}.tile-thumb{image-rendering:pixelated;border-radius:3px;background:repeating-conic-gradient(rgba(255,255,255,.07) 0% 25%,transparent 0% 50%) 0 0 / 8px 8px}.source-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.source-slot{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 3px;border-radius:var(--r-sm);border:1px dashed var(--line-bright);color:var(--ink-faint)}.source-slot.filled{border-style:solid}.source-slot:hover{border-color:var(--ink-faint);color:var(--ink)}.source-slot.armed{border-color:var(--amber, #f0b35e);border-style:solid;box-shadow:0 0 8px #f0b35e59}.source-slot-auto{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.08em;color:var(--ink-faint)}.source-slot-label{font-size:9px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-faint)}.sw-row.static{cursor:default;justify-content:space-between;display:flex;align-items:center}.map-layer-list{max-height:132px;overflow-y:auto}.map-size-row{display:flex;align-items:center;gap:6px}.map-size-row input[type=number]{width:52px}.map-size-x{color:var(--ink-faint);font-size:11px}.paint-source-row{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);margin-bottom:7px}.paint-source-name{font-size:11.5px;color:var(--ink);flex:1}.paint-source-name.empty{color:var(--ink-faint)}.mini-sheet{display:block;image-rendering:pixelated;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;max-width:100%}.variant-row{display:flex;flex-wrap:wrap;gap:4px}.variant-chip{padding:3px;border:1px solid var(--line-bright);border-radius:var(--r-sm);line-height:0}.variant-chip:hover{border-color:var(--danger, #f26d6d)}.landing,.projects-page{height:100%;overflow-y:auto;background:radial-gradient(1100px 500px at 75% -100px,rgba(120,130,255,.13),transparent 70%),radial-gradient(900px 500px at 10% 40%,rgba(169,125,255,.07),transparent 70%),var(--bg);color:var(--ink)}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,6vw,72px);position:sticky;top:0;z-index:10;background:#0c0d11b8;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--line)}.landing-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}.landing-nav-links{display:flex;align-items:center;gap:22px}.landing-nav-links a{color:var(--ink-dim);text-decoration:none;font-size:13px;font-weight:500}.landing-nav-links a:hover{color:var(--ink)}.landing-cta{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:999px;background:var(--gradient);color:#fff!important;font-weight:600;font-size:13.5px;text-decoration:none;box-shadow:0 4px 22px #788cff59;transition:filter .15s ease,transform .08s ease}.landing-cta:hover{filter:brightness(1.12)}.landing-cta:active{transform:scale(.97)}.landing-cta.small{padding:8px 16px;font-size:12.5px}.landing-ghost{display:inline-flex;align-items:center;padding:11px 20px;border-radius:999px;border:1px solid var(--line-bright);color:var(--ink-dim);font-size:13px;font-weight:500;text-decoration:none;background:none}.landing-ghost:hover:not(:disabled){color:var(--ink);border-color:var(--ink-faint)}.landing-signin{font-weight:600}.landing-hero{display:flex;align-items:center;justify-content:center;gap:clamp(28px,5vw,80px);flex-wrap:wrap;padding:clamp(48px,9vh,110px) clamp(20px,6vw,72px) 40px}.landing-hero-copy{max-width:520px}.landing-hero-copy h1{font-size:clamp(34px,4.6vw,54px);line-height:1.06;letter-spacing:-.02em;font-weight:700;margin-bottom:20px}.landing-grad{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero-copy p{font-size:15.5px;line-height:1.65;color:var(--ink-dim);margin-bottom:12px}.landing-sub{font-size:13px!important;color:var(--ink-faint)!important}.landing-hero-actions{display:flex;gap:14px;margin-top:26px;align-items:center}.demo-card{width:fit-content;max-width:100%;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:14px;animation:rise .35s ease both}.demo-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.demo-title{font-size:12px;font-weight:600;color:var(--ink)}.demo-meta{font-size:11px;color:var(--ink-faint);font-family:var(--font-mono)}.demo-foot{margin-top:10px;max-width:420px;line-height:1.5}.demo-canvas{display:block;margin:0 auto;border-radius:var(--r-sm);cursor:crosshair;touch-action:none;max-width:100%}.demo-tools{display:flex;gap:2px;background:var(--surface-2);border-radius:999px;padding:2px}.demo-tool{padding:3px 11px;border-radius:999px;font-size:11px;color:var(--ink-faint)}.demo-tool.active{background:var(--gradient);color:#fff}.demo-swatches{display:flex;gap:4px;margin-top:10px;flex-wrap:wrap;justify-content:center}.demo-swatch{width:20px;height:20px;border-radius:5px;border:1px solid rgba(0,0,0,.4)}.demo-swatch.active{outline:2px solid #fff;outline-offset:1px}.landing-section{padding:clamp(40px,7vh,80px) clamp(20px,6vw,72px);max-width:1180px;margin:0 auto}.landing-section h2{font-size:clamp(22px,2.6vw,30px);font-weight:700;letter-spacing:-.01em;margin-bottom:10px}.landing-section-sub{color:var(--ink-dim);margin-bottom:28px;font-size:14px}.landing-demos{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:26px}.landing-feature{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:20px}.landing-feature h3{font-size:14.5px;font-weight:600;margin-bottom:8px}.landing-feature p{font-size:13px;line-height:1.6;color:var(--ink-dim)}.landing-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:26px;max-width:760px}.landing-plan{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.landing-plan.pro{border-image:linear-gradient(135deg,#6ea8ff,#a97dff) 1;border-radius:var(--r-lg)}.landing-plan h3{font-size:17px;font-weight:700}.landing-price{font-family:var(--font-mono);font-size:13px;color:var(--ink-dim)}.landing-plan p{font-size:13px;line-height:1.6;color:var(--ink-dim);flex:1}.landing-soon{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:6px}.landing-feature h3 .landing-soon,.demo-head .landing-soon{margin-left:8px}.landing-demo-lead{margin-top:28px}.landing-compare{overflow-x:auto;margin-top:8px}.landing-compare table{border-collapse:collapse;min-width:640px;width:100%;font-size:13px}.landing-compare th,.landing-compare td{text-align:left;padding:9px 14px;border-bottom:1px solid rgba(235,238,255,.08);color:#ebeeffb8;font-weight:400;white-space:nowrap}.landing-compare thead th{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#ebeeff73;padding-bottom:12px}.landing-compare tbody th{color:#ebeeff8c}.landing-compare .compare-us{color:var(--ink, #ebeeff);background:#788cff12}.landing-compare thead .compare-us{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-pledge{text-align:center}.landing-pledge h2{color:#ff5d5d}.landing-pledge p{max-width:520px;margin:0 auto;color:#ebeeffb8;font-size:14.5px;line-height:1.65}.landing-footer{display:flex;align-items:center;justify-content:space-between;padding:26px clamp(20px,6vw,72px) 40px;border-top:1px solid var(--line);color:var(--ink-faint);font-size:12px}.projects-empty{max-width:520px;margin:14vh auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding:0 24px}.projects-empty h1{font-size:28px;font-weight:700}.projects-empty p{color:var(--ink-dim);line-height:1.65;font-size:14px}.landing-nav-link{color:var(--ink-dim);font-size:13px;font-weight:600}.dash{max-width:1100px;margin:0 auto;padding:clamp(28px,5vh,56px) clamp(20px,5vw,48px) 80px}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.dash-head h1{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:-.01em}.dash-sub{color:var(--ink-faint);font-size:13px;margin-top:6px}.dash-actions{display:flex;align-items:center;gap:12px}.plan-chip{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 11px;border-radius:999px;border:1px solid var(--line-bright);color:var(--ink-dim)}.plan-chip.pro{background:var(--gradient);color:#fff;border-color:transparent}.dash-create{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:12px 14px;margin-bottom:26px}.dash-create input{width:180px;font-size:13px;padding:7px 10px}.dash-section{margin-bottom:34px}.dash-section-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dash-section-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.dash-rename{font-size:13px;width:170px}.dash-x{width:20px;height:20px;border-radius:50%;color:var(--ink-faint);font-size:14px;line-height:1}.dash-x.armed{width:auto;padding:0 8px;font-size:10px;font-family:var(--mono, "IBM Plex Mono", monospace);letter-spacing:.04em;color:#ff8a8a;border-color:#ff8a8a73;background:#ff8a8a1a}.dash-x:hover{color:var(--danger);background:var(--surface-2)}.dash-empty{color:var(--ink-faint);font-size:13px;padding:6px 0 2px}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.art-card{background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;cursor:pointer;transition:border-color .15s ease,transform .12s ease}.art-card:hover{border-color:var(--line-bright);transform:translateY(-2px)}.art-thumb{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(rgba(255,255,255,.05) 0% 25%,transparent 0% 50%) 0 0 / 18px 18px,#101116}.art-thumb img{width:78%;height:78%;object-fit:contain;image-rendering:pixelated}.art-thumb-blank{width:40%;height:40%;border:1px dashed var(--line-bright);border-radius:var(--r-sm)}.art-meta{display:flex;flex-direction:column;gap:3px;padding:10px 12px 4px}.art-name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.art-dims{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint)}.art-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px 10px}.art-actions select{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-dim);font-size:11px;padding:3px 6px;max-width:120px}.auth-page{min-height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 20px;background:radial-gradient(900px 460px at 50% -80px,rgba(120,130,255,.14),transparent 70%),var(--bg)}.auth-brand{text-decoration:none}.auth-back{color:var(--ink-faint);font-size:12.5px;text-decoration:none}.auth-back:hover{color:var(--ink)}.landing-ghost.small{padding:8px 16px;font-size:12.5px}.dash-create-label{font-size:12px;color:var(--ink-dim);font-weight:600}.cp-wheel{display:block;margin:0 auto 4px;cursor:crosshair;touch-action:none}.cp-style-seg{display:flex;gap:1px;background:var(--surface-2);border-radius:999px;padding:2px;margin-right:4px;flex:none}.cp-style-seg button{width:22px;height:18px;border-radius:999px;font-size:11px;line-height:1;color:var(--ink-faint);display:flex;align-items:center;justify-content:center}.cp-style-seg button.active{background:var(--surface-3);color:var(--ink)}.cp-diverged{display:flex;align-items:center;gap:6px;padding:6px 2px 0}.cp-div-swatch{width:13px;height:13px;border-radius:4px;flex:none;box-shadow:0 0 0 1px #0006}.cp-div-arrow{color:var(--ink-faint);font-size:11px}.cp-div-label{flex:1;font-size:10.5px;color:var(--amber);opacity:.85}.cp-diverged .mini-btn{padding:2px 9px;font-size:10.5px}.cp-hex-head{width:78px;height:21px;font-size:11px;padding:2px 6px;text-align:center}.cp-head-chip{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;box-shadow:0 0 0 1px #0006}.cp-live{padding:2px 7px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line);margin-right:0;flex:none}.cp-live:hover{color:var(--ink)}.cp-live.active,.cp-tabs button.cp-live.active{background:#ff5a6424;border-color:#ff5a648c;color:#ff5a64}.tags-empty{padding:2px 14px 10px}.tag-row .layer-name{cursor:pointer}.tag-range{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-dim);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:1px 6px;flex:none}.tag-range:hover{color:var(--ink);border-color:var(--line-bright)}.tag-retime{display:flex;align-items:center;gap:3px;color:var(--ink-dim);font-size:11px;flex:none}.tag-retime input{width:40px;padding:1px 4px;font-family:var(--font-mono);font-size:10.5px}.tag-loop-btn{width:20px;flex:none;font-size:12px;color:var(--ink-dim);border-radius:var(--r-sm)}.tag-loop-btn:hover{color:var(--ink);background:var(--surface-3)}.tag-filter-on{color:var(--accent)!important;background:#82a0ff24}.tl-filter-chip{gap:4px;max-width:110px}.tl-filter-chip .tl-btn-text{overflow:hidden;text-overflow:ellipsis;text-transform:none;letter-spacing:.02em}.tag-dialog{width:210px;gap:8px;padding:10px}.tag-dialog-name{width:100%;padding:4px 7px;font-family:var(--font-ui);font-size:12.5px}.tag-dialog-row{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.tag-dialog-row>span:first-child{width:44px;flex:none}.tag-dialog-row input{width:46px;padding:2px 5px;font-family:var(--font-mono);font-size:11px}.tag-dialog-dash{color:var(--ink-faint)}.tag-dialog-seg button{font-size:12px;min-width:26px}.tag-dialog-add{width:100%}.tag-apply-menu{min-width:180px}.tag-apply-dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.25);flex:none}.tag-apply-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-apply-range{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);flex:none}.lib-popover{position:fixed;width:300px;z-index:200;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:8px;animation:rise .16s ease both}.lib-popover-head{display:flex;align-items:center;gap:8px;padding:2px 4px 8px}.lib-popover-head .panel-header-meta{margin-right:auto}.lib-save-row{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:7px 10px;border-radius:var(--r-sm);border:1px dashed var(--line-bright);color:var(--ink-dim);font-size:12px;font-weight:500}.lib-save-row:hover{color:var(--ink);background:var(--surface-2)}.lib-save-row.saved{color:#7bd8a0;border-color:#7bd8a066}.lib-list{max-height:264px;overflow-y:auto;margin:6px 0;display:flex;flex-direction:column;gap:2px}.lib-row{display:flex;align-items:center;gap:9px;padding:6px;border-radius:var(--r-sm);cursor:pointer}.lib-row:hover{background:var(--surface-3)}.lib-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--ink)}.lib-row-fav{color:#ffcd75;display:flex}.lib-row-copy{opacity:0}.lib-row:hover .lib-row-copy{opacity:1}.lib-strip{display:flex;width:74px;height:16px;border-radius:4px;overflow:hidden;flex:none;border:1px solid var(--line)}.lib-strip>span{flex:1}.lib-strip-more{flex:none!important;display:flex;align-items:center;padding:0 3px;font-size:8px;font-family:var(--font-mono);color:var(--ink-dim);background:var(--surface-2)}.lib-import{display:flex;gap:6px;align-items:center}.lib-import input{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 9px;font-size:11.5px;color:var(--ink);font-family:var(--font-mono)}.lib-import input:focus{outline:none;border-color:var(--accent)}.lib-empty,.lib-error,.lib-foot{padding:4px 6px}.lib-error{color:#f09595}.lib-foot{margin-top:6px;border-top:1px solid var(--line);padding-top:8px}.lib-foot a{color:var(--accent)}.dash-tabs{display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;margin-right:6px}.dash-tab{padding:6px 16px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--ink-dim)}.dash-tab:hover{color:var(--ink)}.dash-tab.active{background:var(--gradient);color:#fff}.lib-studio-import{display:flex;gap:8px;align-items:center;flex:1;max-width:460px;margin-left:auto}.lib-studio-import input{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:12px;color:var(--ink);font-family:var(--font-mono)}.lib-studio-import input:focus{outline:none;border-color:var(--accent)}.lib-studio-error{color:#f09595;font-size:12px;margin:-6px 0 10px}.lib-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.lib-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .15s ease}.lib-card:hover{border-color:var(--line-bright)}.lib-card-strip{display:flex;height:56px}.lib-card-strip>span{flex:1}a.lib-card-strip{cursor:pointer}.lib-card-meta{display:flex;flex-direction:column;gap:2px;padding:9px 12px 4px}.lib-card-name{font-size:13px;font-weight:550;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card-dims{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint)}.lib-card-actions{display:flex;align-items:center;gap:3px;padding:4px 9px 9px}.lib-card-actions .mini-icon-btn.on{color:#ffcd75}.lib-card-actions .landing-ghost.small{padding:5px 12px;font-size:11.5px}.dash-palette-pick{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dash-palette-chip{display:flex;align-items:center;padding:4px 6px;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--ink-dim);font-size:11.5px}.dash-palette-chip:hover{border-color:var(--line-bright);color:var(--ink)}.dash-palette-chip.active{border-color:var(--accent);color:var(--ink)}.dash-x.share{display:inline-flex;align-items:center;justify-content:center}.dash-x.share:hover,.dash-x.share.published{color:var(--accent)}.share-page .share-loading{text-align:center;color:var(--ink-faint);padding:120px 0}.share-body{max-width:720px;margin:48px auto 96px;padding:0 24px;text-align:center}.share-kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.share-title{font-size:clamp(28px,5vw,44px);font-weight:650;letter-spacing:-.02em;margin:0 0 6px}.share-byline{color:var(--ink-dim);font-size:14px;margin-bottom:32px}.share-sub{font-size:16px;font-weight:600;margin:44px 0 18px}.share-art{display:flex;justify-content:center;margin:8px 0 12px}.share-art img{image-rendering:pixelated;width:min(440px,80vw);height:auto;border-radius:var(--r-md);border:1px solid var(--line-bright);background:conic-gradient(rgba(255,255,255,.06) 25%,transparent 0 50%,rgba(255,255,255,.06) 0 75%,transparent 0) 0 0 / 20px 20px}.share-swatches{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:28px}.share-swatch{width:64px;height:64px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.12);position:relative;cursor:pointer}.share-swatch span{position:absolute;inset:auto 0 4px;font-family:var(--font-mono);font-size:9px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);opacity:0}.share-swatch:hover span{opacity:1}.share-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.share-hint{color:var(--ink-faint);font-size:12px;margin-top:14px}.landing-nav-link{color:var(--ink-dim);font-size:13px;font-weight:500;text-decoration:none;padding:8px 10px;border-radius:var(--r-sm)}.landing-nav-link:hover{color:var(--ink)}.landing-nav-avatar{display:flex;border-radius:6px;overflow:hidden;border:1px solid var(--line-bright)}.px-avatar{display:block;border-radius:5px;image-rendering:pixelated}.dash-tabs{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;margin:0 0 22px;width:fit-content}.dash-quiet{display:flex;flex-direction:column;align-items:center;gap:14px;padding:72px 0;color:var(--ink-faint);font-size:14px}.dash-quiet p{margin:0}.wall{columns:4 200px;column-gap:14px}.post-card{break-inside:avoid;margin-bottom:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.post-card:hover{border-color:var(--line-bright)}.post-card-mat{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 12px;background:repeating-conic-gradient(rgba(255,255,255,.028) 0% 25%,transparent 0% 50%) 0 0 / 16px 16px,#00000052}.post-card-mat img{image-rendering:pixelated;max-width:100%;height:auto;display:block}.post-card-frames{position:absolute;top:8px;right:8px;font-family:var(--font-mono);font-size:10px;color:var(--ink-dim);background:#0a0b10b8;border-radius:999px;padding:2px 8px}.post-card-palette{display:flex;flex-wrap:wrap;height:64px}.post-card-palette>span{flex:1 0 12.5%}.post-card-meta{padding:10px 12px 11px;display:flex;flex-direction:column;gap:5px}.post-card-titlerow{display:flex;align-items:baseline;gap:10px}.post-card-title{font-size:13px;font-weight:550;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.post-card-dims{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);flex:none}.post-card-author{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-dim);text-decoration:none;width:fit-content}.post-card-author:hover{color:var(--ink)}.post-card-footer{display:flex;align-items:center;gap:5px;min-height:20px}.post-card-counts{margin-left:auto;display:flex;gap:10px;color:var(--ink-faint);font-size:11.5px;font-family:var(--font-mono)}.post-card-counts>span{display:inline-flex;align-items:center;gap:4px}.tag-chip{font-size:10.5px;padding:2px 9px;border-radius:999px;text-decoration:none;line-height:1.6}.tag-chip:hover{filter:brightness(1.25)}.browse-page .browse-body{max-width:1100px;margin:24px auto 96px;padding:0 24px}.omnibox{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 14px;color:var(--ink-faint);margin-bottom:12px}.omnibox:focus-within{border-color:var(--accent)}.omnibox input{flex:1;background:none;border:none;outline:none;color:var(--ink);font-size:13.5px;font-family:var(--font-mono)}.omnibox input::placeholder{color:var(--ink-faint)}.omnibox-color{width:18px;height:18px;border-radius:5px;border:1px solid var(--line-bright)}.browse-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:22px}.browse-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:5px 13px;border-radius:999px;border:1px solid var(--line);color:var(--ink-dim)}.browse-chip:hover{color:var(--ink);border-color:var(--line-bright)}.browse-chip.active{background:var(--surface-3);border-color:var(--line-bright);color:var(--ink)}.browse-sep{width:1px;height:16px;background:var(--line);margin:0 4px}.browse-blank{min-height:320px}.browse-empty{text-align:center;color:var(--ink-faint);padding:96px 0;font-size:14px}.post-byline{display:flex;align-items:center;justify-content:center;gap:14px;margin:2px 0 30px;flex-wrap:wrap}.post-byline-author{display:inline-flex;align-items:center;gap:8px;color:var(--ink-dim);font-size:13.5px;text-decoration:none}.post-byline-author:hover{color:var(--ink)}.post-byline-dims{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.post-byline-remix{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--accent);text-decoration:none}.post-plate{display:flex;justify-content:center;padding:36px 16px;margin:0 0 22px;border-radius:var(--r-lg);border:1px solid var(--line);background:repeating-conic-gradient(rgba(255,255,255,.028) 0% 25%,transparent 0% 50%) 0 0 / 20px 20px,#00000052}.post-plate img{image-rendering:pixelated;max-width:100%;height:auto}.post-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:22px}.post-tags .tag-chip{font-size:12px;padding:3px 12px}.post-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.post-actions .landing-ghost.small,.post-actions .landing-cta.small{display:inline-flex;align-items:center;gap:7px}.post-report,.post-report-done{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);padding:8px 6px}.post-report:hover{color:var(--ink-dim)}.post-report-picker{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.post-report-picker .browse-chip{font-family:var(--font-mono);font-size:11px;padding:4px 10px}.post-report-note{width:150px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:11px}.post-report-note:focus{border-color:var(--line-bright);outline:none}.wall-more{display:flex;justify-content:center;padding:18px 0 30px}.post-like{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-bright);color:var(--ink-dim);font-size:12.5px;font-family:var(--font-mono)}.post-like:hover{color:var(--ink);border-color:var(--ink-faint)}.post-like.liked{color:#ff7d9c;border-color:#ff7d9c73}.post-like.burst svg{animation:heartburst .45s steps(3) both}@keyframes heartburst{0%{transform:scale(1)}40%{transform:scale(1.6)}to{transform:scale(1)}}.share-swatches.compact .share-swatch{width:44px;height:44px}.save-anchor{position:relative}.save-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:230px;background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:6px;z-index:120;animation:rise .16s ease both;text-align:left}.save-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border-radius:var(--r-sm);color:var(--ink);font-size:12.5px}.save-row:hover{background:var(--surface-3)}.save-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.save-row-meta{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint)}.save-new input{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;font-size:12px;color:var(--ink);margin-top:4px}.save-new input:focus{outline:none;border-color:var(--accent)}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#08090d9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:300;animation:fadein .15s ease both}@keyframes fadein{0%{opacity:0}}.share-sheet{width:min(420px,calc(100vw - 32px));background:var(--surface);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line-bright);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:16px;animation:rise .18s ease both}.share-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.share-sheet-title{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;font-size:14px;font-weight:550;color:var(--ink);margin-bottom:10px}.share-sheet-title:focus{outline:none;border-color:var(--accent)}.share-sheet-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;min-height:38px}.share-sheet-tags:focus-within{border-color:var(--accent)}.share-sheet-tags input{flex:1;min-width:80px;background:none;border:none;outline:none;color:var(--ink);font-size:12.5px;font-family:var(--font-mono)}.share-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-family:var(--font-mono);color:var(--ink);background:var(--surface-3);border-radius:999px;padding:3px 10px}.share-tag:hover{color:#f09595}.share-tag-suggest{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.share-tag-suggest button{font-size:11px;font-family:var(--font-mono);color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.share-tag-suggest button:hover{color:var(--ink);border-color:var(--line-bright)}.share-sheet-opts{display:flex;align-items:center;gap:10px;margin:12px 0 16px;flex-wrap:wrap}.share-opt{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;padding:7px 13px;border-radius:999px;border:1px solid var(--line);color:var(--ink-faint)}.share-opt.on{color:var(--ink);border-color:var(--accent)}.share-sheet-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.share-sheet-link{font-family:var(--font-mono);font-size:11.5px;color:var(--accent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.landing-ghost.small.danger:hover{color:#f09595;border-color:#f0959566}.profile-body{max-width:1100px;margin:32px auto 96px;padding:0 24px}.profile-head{display:flex;align-items:center;gap:18px;margin-bottom:32px;flex-wrap:wrap}.profile-head .px-avatar{border-radius:10px;border:1px solid var(--line-bright)}.profile-id{flex:1;min-width:0}.profile-id h1{font-size:26px;font-weight:650;letter-spacing:-.01em;margin:0}.profile-sub{color:var(--ink-dim);font-size:13.5px;margin:3px 0 0}.profile-counts{color:var(--ink-faint);font-size:12px;font-family:var(--font-mono);margin:6px 0 0}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.board-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.board-card:hover{border-color:var(--line-bright)}.board-cover{display:grid;grid-template-columns:1fr 1fr;gap:2px;height:110px;padding:2px;background:#0000004d}.board-cover-cell{border-radius:3px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(rgba(255,255,255,.03) 0% 25%,transparent 0% 50%) 0 0 / 12px 12px,#00000040}.board-cover-cell img{image-rendering:pixelated;max-width:90%;max-height:90%}.board-cover-palette{display:flex}.board-cover-palette>span{flex:1;height:100%}.board-cover-blank{grid-column:span 2}.app-nav{gap:20px}.app-nav-rooms{display:flex;align-items:center;gap:4px;flex:1}.app-nav-room{color:var(--ink-dim);font-size:13px;font-weight:500;text-decoration:none;padding:7px 13px;border-radius:999px}.app-nav-room:hover{color:var(--ink);background:var(--surface-2)}.app-nav-room.active{color:var(--ink);background:var(--surface-3)}.home-id{display:flex;align-items:center;gap:16px;margin-bottom:24px}.home-id .px-avatar{border-radius:10px;border:1px solid var(--line-bright);flex:none}.home-id-text h1{font-size:clamp(24px,3.4vw,34px);font-weight:650;letter-spacing:-.02em;margin:0}.home-id-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 0}.home-handle{font-family:var(--font-mono);font-size:13px;color:var(--ink);cursor:default}.home-handle-input{font-family:var(--font-mono);font-size:13px;width:160px}.home-id-counts{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-faint)}.home-id-public{font-size:12px;color:var(--accent);text-decoration:none}.home-id-public:hover{text-decoration:underline}.home-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:32px;align-items:start}@media (max-width: 980px){.home-cols{grid-template-columns:1fr}}.home-work-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.home-work-head .dash-section-title{margin:0}.home-work-actions{display:flex;gap:8px}.home-feed{position:sticky;top:24px;border-left:1px solid var(--line);padding-left:28px;min-height:300px}@media (max-width: 980px){.home-feed{position:static;border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:24px}}.home-feed-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.home-feed-head .dash-section-title{margin:0}.home-feed-list{display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 160px);overflow-y:auto;padding-right:4px}.post-card-like{display:inline-flex;align-items:center;gap:4px;color:var(--ink-faint);font-family:var(--font-mono);font-size:11.5px;padding:2px 6px;margin:-2px -6px;border-radius:999px}.post-card-like:hover{color:#ff7d9c;background:#ff7d9c14}.post-card-like.liked{color:#ff7d9c}.post-card-like.liked svg{fill:currentColor}.share-sheet-preview{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:12px;padding:14px;background:repeating-conic-gradient(rgba(255,255,255,.028) 0% 25%,transparent 0% 50%) 0 0 / 14px 14px,#00000052}.share-sheet-preview img{image-rendering:pixelated;max-height:96px;max-width:100%;width:auto}.share-sheet-strip{display:flex;width:100%;height:40px;border-radius:6px;overflow:hidden}.share-sheet-strip>span{flex:1}.share-sheet-strip.blank{background:var(--surface-2)}
