:root{--bg:#f5f3ee;--surface:#fffefb;--surface-2:#f2efe8;--surface-3:#e9e5dc;--text:#1f1e1b;--text-2:#57534b;--muted:#8a857b;--border:#e4dfd4;--border-strong:#cdc6b7;--accent:#d97757;--accent-strong:#b85a3b;--accent-ink:#fff;--accent-soft:#f7e3da;--checker-a:#fff;--checker-b:#ebe7de;--toast-bg:#1f1e1b;--toast-text:#f5f3ee;--pixel:"Fusion Pixel 12px Proportional Simplified Chinese", "Clawd Unifont", ui-monospace, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151412;--surface:#1d1c19;--surface-2:#26241f;--surface-3:#302d27;--text:#f0ece4;--text-2:#c4beb2;--muted:#8f897d;--border:#2f2c27;--border-strong:#46413a;--accent:#e08a6c;--accent-strong:#f0a487;--accent-ink:#1a1310;--accent-soft:#3a2820;--checker-a:#24221e;--checker-b:#1a1916;--toast-bg:#f0ece4;--toast-text:#151412;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#151412;--surface:#1d1c19;--surface-2:#26241f;--surface-3:#302d27;--text:#f0ece4;--text-2:#c4beb2;--muted:#8f897d;--border:#2f2c27;--border-strong:#46413a;--accent:#e08a6c;--accent-strong:#f0a487;--accent-ink:#1a1310;--accent-soft:#3a2820;--checker-a:#24221e;--checker-b:#1a1916;--toast-bg:#f0ece4;--toast-text:#151412;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-text-size-adjust:100%;margin:0;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit}.app{max-width:1320px;margin:0 auto;padding:0 24px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 0 18px;display:flex}.brand{align-items:center;gap:14px;min-width:0;display:flex}.brand h1{font-family:var(--pixel);letter-spacing:.02em;margin:0;font-size:24px;font-weight:400;line-height:1.1}.brand p{color:var(--muted);margin:4px 0 0;font-size:13px}.top-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.top-actions .segmented{grid-template-columns:repeat(3,36px)}.top-actions .seg{padding:7px 0}.layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:24px;display:grid}.preview{gap:12px;min-width:0;display:grid;position:sticky;top:16px}.stage{background:var(--surface);border:2px solid var(--border);border-radius:14px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;min-height:380px;padding:28px;display:grid;overflow:auto}.stage-checker{background-color:var(--checker-a);background-image:conic-gradient(var(--checker-b) 25%, transparent 0 50%, var(--checker-b) 0 75%, transparent 0);background-size:16px 16px}.stage-sign{max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;width:auto!important}.preview-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.zoom{white-space:nowrap;align-items:center;gap:10px;display:flex}.zoom input{width:160px}.dims,.zoom output,.slider output{font-family:var(--pixel);font-variant-numeric:tabular-nums;font-size:12px}.toggle-compact{color:var(--text-2);background:0 0;padding:5px 9px}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions-spacer{flex:1}.btn{border:2px solid var(--border-strong);background:var(--surface);box-shadow:0 2px 0 var(--border-strong);white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:8px 13px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background-color .12s,transform 60ms,box-shadow 60ms;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--border-strong);transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent-strong);box-shadow:0 2px 0 var(--accent-strong);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent);filter:brightness(1.05)}.btn-ghost{box-shadow:none;color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-ghost:active:not(:disabled){transform:none}.btn-small{border-radius:7px;padding:4px 9px;font-size:12px}.icon-btn{width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn:disabled{opacity:.3;cursor:default}.lang-short{display:none}.link{color:var(--accent-strong);margin-top:4px;font-size:13px;display:inline-block}.panel{min-width:0}.controls{gap:12px;display:grid}.section{background:var(--surface);border:2px solid var(--border);border-radius:14px}.section-head{font:inherit;margin:0;padding:14px 16px 12px;line-height:1.2}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:12px;font-weight:600}.section-body{gap:14px;padding:0 16px 16px;display:grid}.field{gap:6px;min-width:0;display:grid}.field-label{color:var(--text-2);font-size:13px;font-weight:500}.field-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted);font-size:13px}.thumb{object-fit:cover;border:2px solid var(--border);border-radius:6px;width:44px;height:32px}.text-input,.text-field,.hex,.select select{border:2px solid var(--border-strong);background:var(--surface-2);border-radius:9px;width:100%;transition:border-color .12s,background-color .12s}.text-input:focus,.text-field:focus,.hex:focus,.select select:focus{border-color:var(--accent);background:var(--surface);outline:none}.text-input{resize:vertical;min-height:64px;padding:10px 12px;font-size:16px;line-height:1.5;display:block}.text-field{flex:1;min-width:120px;padding:7px 10px;font-size:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1.5px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:13px}.chip:hover{background:var(--surface-2)}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.select{position:relative}.select select{appearance:none;cursor:pointer;padding:8px 34px 8px 11px;font-size:14px}.select svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--surface-3);border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:var(--surface-3);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--accent-strong);background:var(--accent);border-radius:2px;width:14px;height:14px;margin-top:-5px}input[type=range]::-moz-range-thumb{border:2px solid var(--accent-strong);background:var(--accent);border-radius:2px;width:10px;height:10px}.slider{align-items:center;gap:12px;display:flex}.slider output{text-align:right;min-width:34px;color:var(--text-2)}.toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.toggle{border:2px solid var(--border);background:var(--surface-2);text-align:left;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.toggle-track{border:2px solid var(--border-strong);background:var(--surface-3);border-radius:4px;flex:none;width:30px;height:18px;transition:background-color .12s,border-color .12s;position:relative}.toggle-thumb{background:var(--muted);border-radius:1px;width:10px;height:10px;transition:transform .12s steps(3,end),background-color .12s;position:absolute;top:2px;left:2px}.toggle[aria-checked=true] .toggle-track{background:var(--accent);border-color:var(--accent-strong)}.toggle[aria-checked=true] .toggle-thumb{background:var(--accent-ink);transform:translate(12px)}.segmented{border:2px solid var(--border);background:var(--surface-2);border-radius:10px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:2px;display:grid}.segmented[style]{grid-auto-flow:row}.seg{min-width:0;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:inline-flex;overflow:hidden}.seg:hover{color:var(--text);background:var(--surface-3)}.seg[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 2px var(--accent) inset}.color-input{align-items:center;gap:6px;display:flex}.swatch{border:2px solid var(--border-strong);border-radius:8px;flex:none;width:34px;height:34px;position:relative;overflow:hidden}.swatch input{opacity:0;cursor:pointer;width:calc(100% + 16px);height:calc(100% + 16px);position:absolute;inset:-8px}.hex{min-width:0;font-family:var(--mono);text-transform:lowercase;padding:6px 8px;font-size:13px}.presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.preset{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;justify-items:center;gap:6px;padding:8px 6px;display:grid}.preset:hover{background:var(--surface-2)}.preset[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.preset-swatch{border-radius:6px;width:100%;max-width:76px;height:36px;display:block;position:relative;box-shadow:inset 0 0 0 1px #00000014}.preset-swatch span{border:2px solid;height:13px;position:absolute;top:6px;left:18%;right:18%}.preset-swatch i{height:9px;position:absolute;top:21px;left:38%;right:38%}.preset-name{color:var(--text-2);font-size:12px}.code{gap:6px;display:grid}.code-head{color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.code pre{border:2px solid var(--border);background:var(--surface-2);max-height:220px;font-family:var(--mono);white-space:pre-wrap;word-break:break-all;border-radius:9px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.footer-repo{max-width:100%;color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.footer-repo a{text-overflow:ellipsis;min-width:0;color:var(--accent-strong);font-family:var(--mono);overflow:hidden}.footer{color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:36px 0 28px;font-size:12px;display:flex}.toast-region{z-index:50;pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--toast-bg);max-width:calc(100vw - 32px);color:var(--toast-text);border-radius:10px;padding:10px 16px;font-size:14px;animation:.18s steps(3,end) both toast-in;box-shadow:0 4px #0000002e}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}html.is-embed,html.is-embed body{background:0 0;height:100%;overflow:hidden}html.is-embed #root,.embed{width:100%;height:100%}.embed{place-items:center;display:grid}.scroll-row{--fade-bg:var(--bg);min-width:0;position:relative}.scroll-row:before,.scroll-row:after{content:"";z-index:1;pointer-events:none;opacity:0;width:44px;transition:opacity .15s;position:absolute;top:0;bottom:0}.scroll-row:before{background:linear-gradient(to right, var(--fade-bg) 30%, transparent);left:0}.scroll-row:after{background:linear-gradient(to left, var(--fade-bg) 30%, transparent);right:0}.scroll-row.more-left:before,.scroll-row.more-right:after{opacity:1}.scroll-hint{z-index:2;border:2px solid var(--border-strong);background:var(--surface);width:26px;height:26px;color:var(--text);box-shadow:0 2px 0 var(--border-strong);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.scroll-hint-left{left:2px}.scroll-hint-right{right:2px}.scroll-hint-left svg{transform:rotate(90deg)}.scroll-hint-right svg{transform:rotate(-90deg)}.controls-tabs{background:var(--surface);border:2px solid var(--border);border-radius:14px;flex-direction:column;gap:0;min-height:0;display:flex;overflow:hidden}.controls-tabs>.scroll-row{--fade-bg:var(--surface-2);border-bottom:2px solid var(--border)}.tabs{background:var(--surface-2);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:6px;display:grid}.tab{min-width:0;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 0;font-size:12.5px;font-weight:500;overflow:hidden}.tab:hover{color:var(--text);background:var(--surface-3)}.tab[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 2px var(--accent) inset}.controls-tabs .tab-panel{flex:1;align-content:start;min-height:0;padding:16px;overflow:auto}@media (width>=961px){.app{flex-direction:column;max-width:1680px;height:100dvh;min-height:640px;display:flex}.topbar{flex:none;padding:14px 0 12px}.layout{flex:1;grid-template-columns:minmax(0,1fr) clamp(380px,28vw,460px);align-items:stretch;gap:20px;min-height:0}.workspace{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.preview{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;position:static}.stage{flex:1;min-height:180px;padding:20px}.quick{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quick .controls,.quick .section{height:100%}.quick .section-body{gap:10px}.quick .text-input{min-height:0}.quick .chips{max-height:100px;overflow-y:auto}.quick .presets{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}.quick .preset{padding:6px 4px}.quick .preset-swatch{height:30px}.quick .preset-swatch span{height:11px;top:4px}.quick .preset-swatch i{height:8px;top:17px}.panel{flex-direction:column;min-height:0;display:flex}.panel .controls-tabs{flex:1}.footer{flex:none;padding:10px 0 12px}}@media (width<=960px){.app{flex-direction:column;height:100dvh;min-height:520px;padding:0 16px;display:flex}.topbar{flex-wrap:nowrap;flex:none;gap:10px;padding:10px 0 8px}.brand{gap:10px}.brand svg{width:34px;height:auto}.brand p{display:none}.top-actions{flex-wrap:nowrap;gap:4px}.top-actions .segmented{grid-template-columns:repeat(3,32px)}.top-actions .btn{padding:7px 9px}.lang-long,.repo-link{display:none}.lang-short{display:inline}.layout{flex-direction:column;flex:1;align-items:stretch;gap:10px;min-height:0;display:flex}.workspace,.preview{flex-direction:column;flex:none;gap:8px;min-width:0;display:flex}.stage{border-radius:12px;height:clamp(130px,27dvh,360px);min-height:0;padding:10px}.preview-bar{display:none}.toolbar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.tool{border:2px solid var(--border);background:var(--surface);min-width:0;color:var(--text-2);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:7px 2px 6px;font-size:11px;font-weight:500;line-height:1.1;display:flex}.tool span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tool:active:not(:disabled){transform:translateY(1px)}.tool:disabled{opacity:.5}.tool-primary{border-color:var(--accent-strong);background:var(--accent);color:var(--accent-ink)}.tool[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.panel .controls-tabs{flex:1}.tabs{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));grid-auto-flow:row}.tab{padding:7px 2px;font-size:13px}.controls-tabs .tab-panel{gap:12px;padding:14px}.field-slider{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:2px 10px}.field-slider .field-hint{grid-column:2}.presets{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.footer{flex:none;padding:6px 0 8px;font-size:11px}.footer>span:not(.footer-repo){display:none}.hex,.text-field,.select select{font-size:16px}}@media (width<=600px){.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=340px){.tool{letter-spacing:-.02em;font-size:10px}.tab{font-size:12px}}@media (width<=420px){.footer .footer-label{display:none}}@media (width<=380px){.brand h1{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
