.icon{display:inline-block;vertical-align:middle;flex:none;overflow:visible}.sprite-canvas{display:block;image-rendering:pixelated;background:#0a0b10;border:1px solid var(--border-strong);border-radius:var(--r-2);box-shadow:var(--key),inset 0 0 0 1px #ffffff0a;touch-action:none;cursor:crosshair}.viewport{position:relative;overflow:auto;min-height:0;min-width:0;display:grid;place-content:safe center;background-color:#0a0b10;background-image:linear-gradient(45deg,rgba(255,255,255,.018) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.018) 75%),linear-gradient(45deg,rgba(255,255,255,.018) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.018) 75%);background-size:22px 22px;background-position:0 0,11px 11px;box-shadow:inset 0 0 0 1px var(--border),inset 0 10px 24px #00000059}.viewport.pan-ready,.viewport.pan-ready .sprite-canvas{cursor:grab}.viewport.panning,.viewport.panning .sprite-canvas{cursor:grabbing}.viewport-stage{padding:44px;display:grid;place-items:center}.viewport .sprite-canvas{border:1px solid var(--border-strong);border-radius:2px;box-shadow:0 0 0 1px #00000080,0 12px 30px #00000073}.gen-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#0a0b10bd;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:gen-fade .18s ease both}@keyframes gen-fade{0%{opacity:0}to{opacity:1}}.gen-card{display:flex;flex-direction:column;align-items:center;gap:16px}.pixel-loader{display:flex;align-items:flex-end;gap:4px;height:26px}.pixel-loader span{width:8px;height:24px;border-radius:2px;transform-origin:bottom;transform:scaleY(.45);background:var(--border-strong);animation:pixel-wave 1.1s ease-in-out infinite}@keyframes pixel-wave{0%,to{transform:scaleY(.45);background:var(--border-strong);box-shadow:none}50%{transform:scaleY(1);background:var(--accent);box-shadow:0 0 10px #f24b5c99}}.gen-label{font-family:var(--font-pixel);font-size:10px;letter-spacing:.14em;color:var(--cyan)}@media(prefers-reduced-motion:reduce){.pixel-loader span{animation:none;transform:scaleY(.7);background:var(--accent)}.gen-overlay{animation:none}}.tool-rail{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-2);background:var(--surface);border-right:1px solid var(--border);overflow:auto}.tool-rail-tools{display:contents}.rail-group{display:flex;flex-direction:column;gap:6px}.rail-history{margin-top:auto}.rail-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:var(--r-2);cursor:pointer;box-shadow:var(--key-sm);transition:transform 80ms ease,box-shadow 80ms ease,border-color 80ms ease,color 80ms ease}.rail-btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong);transform:translateY(-1px)}.rail-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.rail-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.rail-btn.active{color:var(--accent);background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border-color:var(--accent);box-shadow:inset 0 0 0 1px #f24b5c73,var(--glow-accent)}@media(prefers-reduced-motion:no-preference){.rail-btn.active .icon{animation:tool-pop .24s cubic-bezier(.2,.8,.2,1)}}@media(max-width:860px){.tool-rail{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--border)}.rail-group{flex-direction:row}.rail-history{margin-top:0;margin-left:auto}.rail-btn{width:44px;height:44px}@media(pointer:coarse){.rail-btn{width:46px;height:46px}}}.context-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);height:38px;padding:0 var(--s-3);background:var(--surface);border-bottom:1px solid var(--border)}.ctx-left,.ctx-right,.ctx-selection{display:flex;align-items:center;gap:var(--s-2);min-width:0}.ctx-tool{font-family:var(--font-pixel);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);white-space:nowrap}.ctx-hint{font-size:12px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-btn,.ctx-toggle{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-1);padding:5px 9px;font-size:12px;cursor:pointer;white-space:nowrap}.ctx-btn:hover,.ctx-toggle:hover{border-color:var(--border-strong)}.ctx-toggle.on{color:var(--accent);border-color:var(--accent)}.ctx-dot{width:10px;height:10px;border-radius:2px;border:1px solid var(--border-strong)}.ctx-dot.on{background:var(--accent);border-color:var(--accent)}@media(max-width:860px){.ctx-hint,.ctx-btn-label{display:none}}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);height:30px;padding:0 var(--s-3);background:var(--surface);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.status-left,.status-right{display:flex;align-items:center;gap:var(--s-2)}.status-item.coord{min-width:56px;color:var(--text)}.status-item.sel{color:var(--cyan)}.status-sep{width:1px;height:14px;background:var(--border)}.status-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--r-1);color:var(--muted);cursor:pointer}.status-btn:hover{color:var(--text);background:var(--surface-2)}.status-btn.on{color:var(--cyan);border-color:var(--border-strong)}.zoom-val{min-width:46px;text-align:center;color:var(--text)}.color-picker{display:flex;flex-direction:column;gap:var(--s-3)}.sv-square{position:relative;width:100%;height:132px;border-radius:var(--r-2);cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px #00000059}.sv-handle{position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0009,0 1px 3px #00000080;pointer-events:none}.hue-slider{position:relative;width:100%;height:16px;border-radius:999px;cursor:pointer;touch-action:none;box-shadow:inset 0 0 0 1px #0000004d;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.hue-handle{position:absolute;top:50%;width:6px;height:22px;background:#fff;border:1px solid rgba(0,0,0,.6);border-radius:3px;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000073;pointer-events:none}.picker-fields{display:flex;align-items:center;gap:var(--s-2)}.picker-preview{width:30px;height:30px;border-radius:var(--r-1);border:1px solid var(--border-strong);box-shadow:var(--key-sm);flex:none}.hex-input{flex:1;min-width:0;background:var(--well);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2);padding:7px 9px;font:12px/1 var(--font-mono);text-transform:lowercase}.hex-input:focus{outline:none;border-color:var(--cyan);box-shadow:var(--glow-cyan)}.picker-rgb{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.rgb-field{display:flex;align-items:center;gap:5px;font-family:var(--font-pixel);font-size:8px;color:var(--muted)}.rgb-field input{width:100%;min-width:0;background:var(--well);color:var(--text);border:1px solid var(--border);border-radius:var(--r-1);padding:6px 4px 6px 6px;font:12px/1 var(--font-mono)}.rgb-field input:focus{outline:none;border-color:var(--cyan);box-shadow:var(--glow-cyan)}.picker-actions{display:flex;gap:var(--s-2);margin-top:2px}.picker-add{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:#fff;border:1px solid var(--accent-bright);border-radius:var(--r-2);padding:9px 12px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:var(--key-sm);transition:transform 80ms ease,box-shadow 80ms ease,background 80ms ease}.picker-add:hover{background:var(--accent-bright);transform:translateY(-1px);box-shadow:var(--key-sm),var(--glow-accent)}.picker-add:active{transform:translate(1px,1px);box-shadow:none}.picker-cancel{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-2);padding:9px 12px;font-size:12px;cursor:pointer}.picker-cancel:hover{color:var(--text);border-color:var(--border-strong)}.pal-menu{position:relative;margin-bottom:var(--s-3)}.pal-menu-trigger{width:100%;display:flex;align-items:center;gap:8px;background:var(--well);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-2);padding:7px 9px;cursor:pointer;box-shadow:var(--key-sm);transition:border-color .1s ease,box-shadow .1s ease,transform 80ms ease}.pal-menu-trigger:hover{border-color:var(--cyan);transform:translateY(-1px)}.pal-menu-trigger.open{border-color:var(--cyan);box-shadow:var(--key-sm),var(--glow-cyan)}.pal-menu-name{flex:1;text-align:left;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal-menu-trigger>svg:last-child{color:var(--muted);transform:rotate(90deg);transition:transform .14s ease}.pal-menu-trigger.open>svg:last-child{transform:rotate(-90deg);color:var(--cyan)}.pal-strip{display:inline-flex;flex:0 0 auto;border-radius:3px;overflow:hidden;box-shadow:inset 0 0 0 1px #0006}.pal-chip{width:9px;height:16px}.pal-menu-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--surface-2, var(--surface));border:1px solid var(--border-strong);border-radius:var(--r-2);box-shadow:var(--key),0 10px 30px #00000073;overflow:hidden;animation:pal-pop .13s ease}@keyframes pal-pop{0%{opacity:0;transform:translateY(-6px)}}.pal-menu-list{max-height:232px;overflow-y:auto;padding:5px}.pal-option{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:1px solid transparent;border-radius:var(--r-1);padding:6px 7px;cursor:pointer;color:var(--text);transition:background 90ms ease,border-color 90ms ease}.pal-option:hover{background:#ffffff0a;border-color:var(--border)}.pal-option.active{background:#4fd6c914;border-color:#4fd6c959}.pal-option-check{width:14px;display:inline-flex;justify-content:center;color:var(--cyan)}.pal-option-name{flex:1;text-align:left;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal-create{border-top:1px solid var(--border);padding:9px;background:#0000002e}.pal-create-head{display:flex;align-items:center;gap:6px;font-family:var(--font-pixel);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:7px}.pal-create-row{display:flex;gap:6px}.pal-create-row input{flex:1;min-width:0;background:var(--well);color:var(--text);border:1px solid var(--border);border-radius:var(--r-1);padding:7px 8px;font:12px/1.3 var(--font-ui)}.pal-create-row input:focus{outline:none;border-color:var(--cyan);box-shadow:var(--glow-cyan)}.pal-create-btn{flex:0 0 auto;min-width:58px;display:inline-flex;align-items:center;justify-content:center;background:var(--cyan);color:var(--cyan-ink);border:1px solid var(--cyan-bright);border-radius:var(--r-1);padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:filter 90ms ease}.pal-create-btn:hover:not(:disabled){filter:brightness(1.08)}.pal-create-btn:disabled{opacity:.45;cursor:default}.pal-create-error{margin-top:7px;color:var(--warn);font-size:11.5px;white-space:pre-wrap}.pal-spinner{width:13px;height:13px;border-radius:999px;border:2px solid rgba(0,0,0,.25);border-top-color:var(--cyan-ink);animation:spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.pal-menu-pop{animation:none}.pal-menu-trigger>svg:last-child{transition:none}}.palette{position:relative;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-4);box-shadow:var(--key)}.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.swatch{position:relative;aspect-ratio:1;border:1px solid rgba(0,0,0,.4);border-radius:var(--r-1);cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #ffffff0f;transition:transform 80ms ease,box-shadow 80ms ease}.swatch:hover{transform:translateY(-1px);box-shadow:var(--key-sm),inset 0 0 0 1px #ffffff1f}.swatch.selected{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--accent),var(--glow-accent)}.add-swatch{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:var(--well);border:1px dashed var(--border-strong);box-shadow:none}.add-swatch:hover{color:var(--cyan);border-color:var(--cyan);transform:translateY(-1px);box-shadow:none}.add-swatch.active{color:var(--cyan);border-color:var(--cyan);box-shadow:var(--glow-cyan)}.swatch-index{position:absolute;bottom:1px;right:1px;min-width:9px;padding:0 2px;font-family:var(--font-mono);font-size:8px;line-height:1.5;text-align:center;color:#fff;background:#08090ebd;border-radius:2px}.ramps{margin-top:var(--s-4);display:grid;gap:3px;font-family:var(--font-mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}.ramp{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ramp:first-letter{color:var(--cyan)}.reset-palette{margin-top:var(--s-4);width:100%;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-2);padding:8px;font-size:12px;font-weight:500;cursor:pointer;transition:color 80ms ease,border-color 80ms ease}.reset-palette:hover{color:var(--text);border-color:var(--border-strong)}.color-editor{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--border)}.popover-title{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-pixel);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:var(--s-3)}.popover-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:4px}.popover-close:hover{color:var(--text)}.popover-hint{margin-top:var(--s-3);color:var(--faint);font-size:11px}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-bubble{position:absolute;z-index:80;pointer-events:none;opacity:0;transition:opacity .12s ease;width:max-content;max-width:230px;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-2);padding:8px 10px;font-size:12px;line-height:1.5;font-weight:400;text-transform:none;letter-spacing:normal;box-shadow:var(--key)}.tooltip-wrap:hover .tooltip-bubble,.tooltip-wrap:focus-within .tooltip-bubble{opacity:1}.tip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.tip-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tip-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tip-top,.tip-bottom{max-width:min(230px,70vw)}@media(prefers-reduced-motion:reduce){.tooltip-bubble{transition:none}}.ai-panel{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);padding:var(--s-4);box-shadow:var(--key)}.ai-panel textarea,.rate-label{width:100%;background:var(--well);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2);padding:10px;font:13px/1.5 var(--font-ui)}.ai-panel textarea{resize:vertical;min-height:78px}.ai-panel textarea:disabled{opacity:.6}.prompt-wrap{position:relative}.prompt-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-2);background:#0f1118b8;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);font-family:var(--font-pixel);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}.mini-spinner{width:14px;height:14px;border-radius:999px;border:2px solid var(--border-strong);border-top-color:var(--cyan);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-panel textarea:focus,.rate-label:focus{outline:none;border-color:var(--cyan);box-shadow:var(--glow-cyan)}.ai-panel textarea::placeholder,.rate-label::placeholder{color:var(--muted)}.ai-panel textarea::placeholder{opacity:.45}.use-suggestion{display:inline-flex;align-items:center;gap:6px;margin-top:var(--s-2);background:#4fd6c914;color:var(--cyan-bright);border:1px solid var(--border-strong);border-radius:999px;padding:7px 12px;min-height:32px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background 90ms ease,border-color 90ms ease,transform 80ms ease}.use-suggestion:hover{background:#4fd6c929;border-color:var(--cyan);transform:translateY(-1px)}.use-suggestion .icon{color:var(--cyan)}.ai-toggle{display:flex;align-items:center;gap:8px;margin:var(--s-3) 0;font-size:12.5px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.ai-toggle input{position:absolute;opacity:0;width:0;height:0}.ai-toggle-box{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--r-1);background:var(--well);color:transparent;transition:background .1s ease,border-color .1s ease,color .1s ease}.ai-toggle input:focus-visible+.ai-toggle-box{outline:2px solid var(--cyan);outline-offset:2px}.ai-toggle.on{color:var(--cyan)}.ai-toggle.on .ai-toggle-box{background:var(--cyan);border-color:var(--cyan-bright);color:var(--cyan-ink)}.ai-dims{display:flex;gap:var(--s-3);margin:var(--s-3) 0}.ai-dims label{display:flex;align-items:center;gap:6px;font-family:var(--font-pixel);font-size:9px;letter-spacing:.08em;color:var(--muted)}.ai-dims input{width:58px;background:var(--well);color:var(--text);border:1px solid var(--border);border-radius:var(--r-1);padding:7px 8px;font:13px/1 var(--font-mono);font-variant-numeric:tabular-nums}.ai-dims input:focus{outline:none;border-color:var(--cyan);box-shadow:var(--glow-cyan)}.generate{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:1px solid var(--accent-bright);border-radius:var(--r-2);padding:11px 12px;font-size:13px;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:var(--key-sm);transition:transform 80ms ease,box-shadow 80ms ease,background 80ms ease}.generate.editing{background:var(--cyan);color:var(--cyan-ink);border-color:var(--cyan-bright)}.generate.editing:hover:not(:disabled){background:var(--cyan-bright);box-shadow:var(--key-sm),var(--glow-cyan)}.gen-actions{display:flex;gap:var(--s-2)}.gen-actions .generate{flex:1;width:auto}.enhance-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--cyan);border:1px solid var(--border-strong);border-radius:var(--r-2);padding:11px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:background 80ms ease,border-color 80ms ease,transform 80ms ease}.enhance-btn:hover:not(:disabled){background:#4fd6c914;border-color:var(--cyan);transform:translateY(-1px)}.enhance-btn:disabled{opacity:.45;cursor:default}.generate:hover:not(:disabled){background:var(--accent-bright);transform:translateY(-1px);box-shadow:var(--key-sm),var(--glow-accent)}.generate:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.generate:disabled{opacity:.45;cursor:default;box-shadow:none}.generate.secondary{background:transparent;color:var(--cyan);border-color:var(--border-strong)}.generate.secondary:hover:not(:disabled){background:#4fd6c914;border-color:var(--cyan);box-shadow:var(--key-sm),var(--glow-cyan)}.ai-error{margin-top:var(--s-3);color:var(--warn);font-size:12px;white-space:pre-wrap}.ai-info{margin-top:var(--s-3);color:var(--ok);font-size:12px;display:flex;gap:6px;align-items:baseline}.ai-info:before{content:"▸";color:var(--cyan)}.ai-divider{border:none;border-top:1px solid var(--border);margin:var(--s-4) 0}.info-dot{display:inline-flex;align-items:center;justify-content:center;padding:1px;background:none;border:none;color:var(--faint);cursor:help;border-radius:999px}.info-dot:hover,.info-dot:focus-visible{color:var(--cyan)}.rate-buttons{display:flex;gap:var(--s-2);margin-top:var(--s-3)}.rate-buttons button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2);padding:10px;font-size:13px;cursor:pointer;box-shadow:var(--key-sm);transition:transform 80ms ease,box-shadow 80ms ease,border-color 80ms ease,color 80ms ease}.rate-buttons button:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.rate-up:hover:not(:disabled){color:var(--ok);border-color:var(--ok)}.rate-down:hover:not(:disabled){color:var(--warn);border-color:var(--warn)}.rate-buttons button:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.rate-buttons button:disabled{opacity:.4;cursor:default;box-shadow:none}.cp{display:block}.cp--mobile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--key);overflow:hidden}.cp-toggle{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:44px;padding:10px var(--s-4);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.cp-toggle:hover{background:var(--surface-2)}.cp-title{font-family:var(--font-pixel);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);flex:none}.cp-preview{flex:1;min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden;color:var(--muted);font-size:13px;white-space:nowrap;text-overflow:ellipsis}.cp-chevron{margin-left:auto;flex:none;color:var(--muted);transition:transform .2s ease}.cp--mobile.is-open .cp-chevron{transform:rotate(180deg)}.cp-body>.palette,.cp-body>.ai-panel{border:none;border-radius:0;box-shadow:none;background:transparent;border-top:1px solid var(--border)}.cp--mobile .panel-title:first-child{display:none}.cp-swatch-strip{display:inline-flex;gap:3px}.cp-swatch{width:10px;height:10px;border-radius:2px;box-shadow:inset 0 0 0 1px #00000073}@media(prefers-reduced-motion:reduce){.cp-chevron{transition:none}}.menubar{display:flex;align-items:center;gap:2px}.menu{position:relative}.menu-top{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);font-size:13px;padding:5px 10px;border-radius:var(--r-1);cursor:pointer}.menu-dot{width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 6px #f24b5ca6;flex:none}.menu-top:hover,.menu-top.open{color:var(--text);background:var(--surface-2)}.menu-drop{position:absolute;top:calc(100% + 5px);left:0;min-width:168px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-2);padding:4px;box-shadow:var(--key);z-index:90;transform-origin:top left;opacity:0;visibility:hidden;transform:translateY(-6px) scaleY(.96);transition:opacity .13s ease,transform .14s cubic-bezier(.2,.7,.2,1),visibility .14s;pointer-events:none}.menu-drop.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}@media(prefers-reduced-motion:reduce){.menu-drop{transition:opacity 1ms,visibility 1ms;transform:none}}.menu-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;color:var(--text);font-size:13px;text-align:left;padding:8px 9px;border-radius:var(--r-1);cursor:pointer;position:relative}.menu-label{flex:1}.menu-item:hover:not(.disabled){background:var(--surface-3)}.menu-item.disabled{color:var(--faint);cursor:default;font-style:italic}.menu-item .icon{color:var(--muted)}.menu-item.has-sub .icon:last-child{color:var(--faint)}.submenu{position:absolute;top:-5px;left:calc(100% + 4px);min-width:132px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-2);padding:4px;box-shadow:var(--key);opacity:0;visibility:hidden;transform:translate(-4px);transition:opacity .1s ease,transform .1s ease}.menu-item.has-sub:hover .submenu{opacity:1;visibility:visible;transform:translate(0)}.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.guide-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#06070bbd}.guide-spot{position:absolute;border-radius:var(--r-2);box-shadow:0 0 0 9999px #06070bbd,inset 0 0 0 2px var(--cyan),0 0 16px #4fd6c966;pointer-events:none;transition:left .24s cubic-bezier(.2,.7,.2,1),top .24s cubic-bezier(.2,.7,.2,1),width .24s cubic-bezier(.2,.7,.2,1),height .24s cubic-bezier(.2,.7,.2,1)}.guide-card{position:fixed;width:min(350px,calc(100vw - 32px));left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-3);padding:18px 18px 16px;box-shadow:var(--key),0 22px 55px #0000008c;animation:guide-pop .2s cubic-bezier(.2,.7,.2,1)}.guide-card.at-bottom{bottom:28px}.guide-card.at-top{top:28px}.guide-card.at-center{top:50%;transform:translate(-50%,-50%)}@keyframes guide-pop{0%{opacity:0;transform:translate(-50%) translateY(6px)}}.guide-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--muted);cursor:pointer;padding:2px}.guide-close:hover{color:var(--text)}.guide-step-label{font-family:var(--font-pixel);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}.guide-title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--text)}.guide-body{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--muted)}.guide-dots{display:flex;gap:6px;margin-bottom:14px}.guide-dot{width:6px;height:6px;border-radius:999px;background:var(--border-strong);transition:background .16s ease}.guide-dot.on{background:var(--accent)}.guide-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.guide-nav{display:flex;gap:var(--s-2)}.guide-skip{background:none;border:none;color:var(--faint);font-size:13px;cursor:pointer;padding:6px}.guide-skip:hover{color:var(--muted)}.guide-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-2);padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer}.guide-btn:hover{border-color:var(--border-strong)}.guide-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent-bright);font-weight:700}.guide-btn.primary:hover{background:var(--accent-bright)}.radial-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95}.radial{position:fixed;width:0;height:0;animation:radial-in .15s cubic-bezier(.2,.8,.2,1)}@keyframes radial-in{0%{opacity:0}}.radial-ring{position:absolute;left:0;top:0;width:176px;height:176px;transform:translate(-50%,-50%);border-radius:999px;border:1px solid var(--border);background:radial-gradient(circle,rgba(13,14,20,.55) 60%,transparent 72%);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none}.radial-hub{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:999px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--key),0 8px 24px #00000080;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none}.radial-hub-name{font-family:var(--font-pixel);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan);padding:0 6px;line-height:1.4}.radial-slot{position:absolute;left:0;top:0}.radial-item{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;box-shadow:var(--key-sm);transition:transform .12s cubic-bezier(.2,.8,.2,1),color .1s ease,border-color .1s ease,background .1s ease,box-shadow .1s ease}.radial-item.current{color:var(--accent);border-color:var(--accent)}.radial-item.hover{color:var(--cyan);border-color:var(--cyan);background:var(--surface-3);box-shadow:var(--key-sm),var(--glow-cyan);transform:scale(1.16)}@media(prefers-reduced-motion:reduce){.radial{animation:none}.radial-item{transition:none}}.app{position:relative;z-index:1;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);height:50px;padding:0 var(--s-4);background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:var(--s-3);min-width:0}.brand-mark{width:22px;height:22px;flex:none;border-radius:var(--r-1);background:conic-gradient(from 0deg,var(--accent) 0 25%,var(--cyan) 0 50%,var(--accent) 0 75%,var(--cyan) 0 100%);image-rendering:pixelated;box-shadow:var(--key-sm),inset 0 0 0 1px #ffffff1f}.brand-name{margin:0;font-family:var(--font-pixel);font-size:13px;font-weight:400;letter-spacing:.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-tld{color:var(--accent)}.brand-tag{font-family:var(--font-pixel);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--border-strong);border-radius:999px;padding:3px 7px 2px;flex:none}.doc-dims{font-family:var(--font-pixel);font-size:11px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-2);padding:6px 10px;flex:none;font-variant-numeric:tabular-nums}.doc-dims .dim-x{color:var(--accent);margin:0 2px}.app-bar-left,.app-bar-right{display:flex;align-items:center;gap:var(--s-3);min-width:0}.help-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;background:none;border:1px solid var(--border);border-radius:var(--r-2);color:var(--muted);cursor:pointer;transition:color .1s ease,border-color .1s ease}.help-btn:hover{color:var(--cyan);border-color:var(--cyan)}@media(max-width:640px){.doc-dims,.brand-tag{display:none}}.editor{flex:1;min-height:0;display:flex}.editor-center{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.editor-center .viewport{flex:1;min-height:0}.editor-rail{flex:none;width:308px;overflow:auto;background:var(--bg);border-left:1px solid var(--border);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4)}@media(max-width:860px){.app{height:auto;min-height:100dvh;overflow:visible}.editor{flex-direction:column}.editor-center{min-height:0}.editor-center .viewport{flex:none;height:56vh}.editor-rail{width:auto;overflow:visible;border-left:none;border-top:1px solid var(--border)}}:root{color-scheme:dark;--bg: #0d0e14;--surface: #161922;--surface-2: #1c2029;--surface-3: #232835;--well: #0f1118;--border: #272c39;--border-strong: #3a4252;--hair: rgba(255, 255, 255, .06);--text: #e8ebf4;--muted: #9aa3b8;--faint: #8b94a9;--accent: #f24b5c;--accent-bright: #ff6675;--accent-ink: #2a0a0e;--cyan: #4fd6c9;--cyan-bright: #74f0e4;--cyan-ink: #06211e;--ok: #93d86f;--warn: #ff9270;--font-pixel: "Silkscreen", "Courier New", monospace;--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, monospace;--r-1: 3px;--r-2: 6px;--r-3: 10px;--key: 3px 3px 0 0 rgba(0, 0, 0, .5);--key-sm: 2px 2px 0 0 rgba(0, 0, 0, .45);--glow-accent: 0 0 0 1px rgba(242, 75, 92, .55), 0 0 16px rgba(242, 75, 92, .28);--glow-cyan: 0 0 0 1px rgba(79, 214, 201, .5), 0 0 14px rgba(79, 214, 201, .22);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--pad-page: 16px}@media(min-width:700px){:root{--pad-page: 28px}}@media(max-width:767px){html body{font-size:16px}input,textarea,select{font-size:16px!important}.help-btn{width:44px;height:44px}.menu-top,.menu-item{min-height:44px}.menu-top{min-width:44px}.status-btn{min-width:44px;min-height:44px}.ctx-btn,.ctx-toggle{min-height:44px}}@media(orientation:landscape)and (max-height:560px){.editor-center .viewport{height:78vh}}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}body{min-height:100dvh;background:radial-gradient(1100px 560px at 78% -12%,rgba(79,214,201,.06),transparent 60%),radial-gradient(900px 520px at -8% 112%,rgba(242,75,92,.06),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font:400 14px/1.55 var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(120% 120% at 50% 0%,#000 55%,transparent 100%);mask-image:radial-gradient(120% 120% at 50% 0%,#000 55%,transparent 100%)}button,input,textarea,select{font-family:inherit}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:0;z-index:1000;margin:var(--s-2);padding:10px 16px;background:var(--cyan);color:var(--cyan-ink);border-radius:var(--r-2);font-weight:700;box-shadow:var(--key);transform:translateY(-160%);transition:transform .14s ease}.skip-link:focus{transform:translateY(0);outline:2px solid var(--text);outline-offset:2px}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}.panel-title{font-family:var(--font-pixel);font-weight:400;font-size:9px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 0 var(--s-3);display:flex;align-items:center;gap:var(--s-2)}.panel-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border-strong),transparent)}::selection{background:#4fd6c952;color:#fff}@media(prefers-reduced-motion:no-preference){@keyframes panel-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toolbar,.stage,.palette,.ai-panel{animation:panel-rise .38s cubic-bezier(.2,.7,.2,1) both}.stage{animation-delay:55ms}.palette{animation-delay:.11s}.ai-panel{animation-delay:165ms}@keyframes mark-pulse{0%,to{box-shadow:var(--key-sm),inset 0 0 0 1px #ffffff1f}50%{box-shadow:var(--key-sm),0 0 12px #4fd6c973,inset 0 0 0 1px #ffffff38}}.brand-mark{animation:mark-pulse 3.6s ease-in-out infinite}}
