@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2")}@font-face{font-family:Oxanium;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/oxanium-latin-wght-normal-BwpvAp5U.woff2)format("woff2-variations")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Press Start 2P", "Courier New", monospace;--font-body:"Oxanium", "Segoe UI", system-ui, sans-serif;--font-mono:"VT323", ui-monospace, "Courier New", monospace;--px:4px;--wrap:1200px;--gutter:16px;--bg:#3ad7eb;--bg-dots:#0b0a1417;--panel:#f6feff;--panel-2:#fff;--panel-3:#d4f6fb;--ink:#0b0a14;--muted:#2f3d4c;--edge:#0b0a14;--edge-soft:#0b0a14;--magenta:#e0007f;--magenta-ink:#fff;--magenta-text:#8c004f;--cyan:#00c8e0;--cyan-ink:#0b0a14;--cyan-text:#00596a;--coin:#ffd23f;--coin-ink:#0b0a14;--link:#8c004f;--link-hover:#0b0a14;--focus:#8c004f;--shadow:#0b0a14;--drop:var(--px) calc(var(--px) * 2) 0 0 var(--shadow), calc(var(--px) * 2) var(--px) 0 0 var(--shadow);--glow-m:0 0 0 transparent;--glow-c:0 0 0 transparent;--stripe-a:#0b0a14;--stripe-b:#e0007f;--stripe-c:#f6feff;--danger:#b3001b;--ok:#006b3c;--input-bg:#fff;--chip:#0b0a14;--chip-ink:#fff;--marquee:#0b0a14;--marquee-ink:#f4f1ff;--marquee-muted:#c9c3ee;--screen:#07060d;--screen-ink:#f4f1ff;--screen-muted:#b9b3dd;--check-a:#1a1728;--check-b:#231f36}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0a14;--bg-dots:#ffffff06;--panel:#15122a;--panel-2:#1c1836;--panel-3:#231e44;--ink:#f4f1ff;--muted:#b8b2dc;--edge:#6a5fc0;--edge-soft:#2e2858;--magenta:#ff3bd8;--magenta-ink:#14001a;--magenta-text:#ff7ae6;--cyan:#3eeaff;--cyan-ink:#001419;--cyan-text:#7ff2ff;--coin-ink:#14100a;--link:#7ff2ff;--link-hover:#fff;--focus:#ffd23f;--shadow:#000;--drop:0 0 0 0 transparent;--glow-m:0 0 14px #ff3bd88c;--glow-c:0 0 14px #3eeaff73;--stripe-a:#ff3bd8;--stripe-b:#3eeaff;--stripe-c:#0b0a14;--danger:#ff6b7d;--ok:#7dff9b;--input-bg:#0f0d1f;--chip:#3eeaff;--chip-ink:#001419}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0a14;--bg-dots:#ffffff06;--panel:#15122a;--panel-2:#1c1836;--panel-3:#231e44;--ink:#f4f1ff;--muted:#b8b2dc;--edge:#6a5fc0;--edge-soft:#2e2858;--magenta:#ff3bd8;--magenta-ink:#14001a;--magenta-text:#ff7ae6;--cyan:#3eeaff;--cyan-ink:#001419;--cyan-text:#7ff2ff;--coin-ink:#14100a;--link:#7ff2ff;--link-hover:#fff;--focus:#ffd23f;--shadow:#000;--drop:0 0 0 0 transparent;--glow-m:0 0 14px #ff3bd88c;--glow-c:0 0 14px #3eeaff73;--stripe-a:#ff3bd8;--stripe-b:#3eeaff;--stripe-c:#0b0a14;--danger:#ff6b7d;--ok:#7dff9b;--input-bg:#0f0d1f;--chip:#3eeaff;--chip-ink:#001419}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}body{background-color:var(--bg);background-image:radial-gradient(var(--bg-dots) 1.2px, transparent 1.6px);min-height:100vh;color:var(--ink);font-family:var(--font-body);background-size:12px 12px;margin:0;font-size:1.0625rem;font-weight:450;line-height:1.6;overflow-x:hidden}:root[data-theme=dark] body{background-image:repeating-linear-gradient(#0000 0 2px,#00000059 2px 3px),radial-gradient(at 15% -10%,#ff3bd81f,#0000 45%),radial-gradient(at 90% 0,#3eeaff1a,#0000 40%);background-size:auto;background-attachment:fixed}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body{background-image:repeating-linear-gradient(#0000 0 2px,#00000059 2px 3px),radial-gradient(at 15% -10%,#ff3bd81f,#0000 45%),radial-gradient(at 90% 0,#3eeaff1a,#0000 40%);background-size:auto;background-attachment:fixed}}img,svg,canvas{max-width:100%;display:block}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--link-hover)}:focus-visible{outline:3px solid var(--focus);outline-offset:6px}h1,h2,h3{margin:0 0 .6em;font-weight:400;line-height:1.45}h1,h2{font-family:var(--font-display);letter-spacing:0}h1{text-shadow:3px 3px 0 var(--magenta), var(--glow-m);font-size:clamp(1.15rem,1rem + 1.4vw,1.9rem)}h2{font-size:clamp(.95rem,.85rem + .6vw,1.2rem)}h3{font-size:1.15rem;font-weight:700}p{margin:0 0 1em}code,kbd,.mono{font-family:var(--font-mono);font-size:1.2em;line-height:1}kbd{text-align:center;background:var(--panel-3);min-width:1.6em;color:var(--ink);box-shadow:0 -2px 0 0 var(--edge), 0 2px 0 0 var(--edge), -2px 0 0 0 var(--edge), 2px 0 0 0 var(--edge), inset 0 -3px 0 0 #0003;margin:0 3px;padding:.1em .35em .15em;display:inline-block}.icon{fill:currentColor;shape-rendering:crispedges;flex:none;width:24px;height:24px}.icon-sm{width:18px;height:18px}.sprite{width:0;height:0;position:absolute;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--coin);color:var(--coin-ink);padding:10px 14px;font-weight:700;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.wrap{width:100%;max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}@media (width>=720px){:root{--gutter:28px}}[hidden]{display:none!important}.px{--e:var(--edge);box-shadow:0 calc(var(--px) * -1) 0 0 var(--e), 0 var(--px) 0 0 var(--e), calc(var(--px) * -1) 0 0 0 var(--e), var(--px) 0 0 0 var(--e)}.stripes{background:repeating-linear-gradient(-45deg, var(--stripe-a) 0 10px, var(--stripe-b) 10px 20px, var(--stripe-c) 20px 30px);height:14px}.marquee{background:var(--marquee);color:var(--marquee-ink);position:relative}.marquee__bar{flex-wrap:wrap;align-items:center;gap:14px 20px;min-height:84px;padding-top:12px;padding-bottom:12px;display:flex}.brand{color:var(--marquee-ink);align-items:center;gap:12px;min-height:48px;text-decoration:none;display:inline-flex}.brand:hover{color:var(--marquee-ink)}.brand__mark{width:42px;height:42px;image-rendering:pixelated}.brand__name{font-family:var(--font-display);color:#ff3bd8;text-shadow:2px 2px #3eeaff,0 0 16px #ff3bd899;letter-spacing:.02em;font-size:1.05rem;line-height:1.35}.brand__name b{color:#3eeaff;text-shadow:2px 2px #ff3bd8,0 0 16px #3eeaff80;font-weight:400;display:block}.marquee__tag{font-family:var(--font-mono);color:var(--marquee-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:1.35rem;line-height:1.1}.marquee__tag:before{content:"▸ ";color:#ffd23f}.theme-toggle{color:#f4f1ff;min-height:44px;font:600 .85rem/1 var(--font-body);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:#1c1836;border:0;align-items:center;gap:8px;margin-left:auto;padding:0 12px;display:inline-flex;box-shadow:0 -3px #6a5fc0,0 3px #6a5fc0,-3px 0 #6a5fc0,3px 0 #6a5fc0}.theme-toggle:hover{background:#2a2450}.theme-toggle .slot{background:#000;width:6px;height:20px;box-shadow:0 0 0 2px #ffd23f}.tt{align-items:center;gap:6px;display:none}:root:not([data-theme]) .tt--system,:root[data-theme=light] .tt--light,:root[data-theme=dark] .tt--dark{display:inline-flex}@media (width<=719px){.marquee__tag{flex-basis:100%;order:3;font-size:1.15rem}.marquee__bar{min-height:0}.brand__name{font-size:.85rem}.brand__mark{width:36px;height:36px}}.site-nav{background:var(--panel);box-shadow:0 var(--px) 0 0 var(--edge);z-index:2;position:relative}.site-nav ul{scrollbar-width:thin;gap:10px;margin:0;padding:10px 0;list-style:none;display:flex;overflow-x:auto}.site-nav li{flex:none;padding:4px}.site-nav a{min-height:40px;color:var(--ink);white-space:nowrap;background:var(--panel-2);box-shadow:0 -3px 0 0 var(--edge-soft), 0 3px 0 0 var(--edge-soft), -3px 0 0 0 var(--edge-soft), 3px 0 0 0 var(--edge-soft);align-items:center;gap:8px;padding:0 12px;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-flex}.site-nav a:hover{background:var(--panel-3)}.site-nav a .num{font-family:var(--font-mono);color:var(--magenta-text);font-size:1.2rem;line-height:1}.site-nav a[aria-current=page]{background:var(--magenta);color:var(--magenta-ink);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge), var(--glow-m)}.site-nav a[aria-current=page] .num{color:inherit}.hero,.page-head{padding-top:30px;padding-bottom:10px}.hero{align-items:center;gap:18px 32px;display:grid}@media (width>=900px){.hero{grid-template-columns:1fr auto}}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--cyan-text);margin:0 0 10px;font-size:1.35rem;line-height:1}.eyebrow b{color:var(--magenta-text);font-weight:400}.lede{max-width:68ch;color:var(--muted);margin-bottom:0;font-size:1.12rem}.local-note{color:var(--ink);align-items:center;gap:8px;margin:14px 0 0;font-size:.95rem;font-weight:600;display:inline-flex}.coin-door{color:#f4f1ff;box-shadow:0 -4px 0 0 #0b0a14, 0 4px 0 0 #0b0a14, -4px 0 0 0 #0b0a14, 4px 0 0 0 #0b0a14, var(--drop);background:linear-gradient(#2a2640,#17142a);grid-template-columns:auto auto;justify-self:start;gap:10px 14px;margin:4px;padding:14px 16px 12px;display:inline-grid}.coin-slot{background:#0b0a14;align-items:center;gap:10px;padding:8px 10px;display:flex;box-shadow:inset 0 0 0 2px #463e86}.coin-slot .slot{background:#000;width:8px;height:30px;box-shadow:0 0 0 3px #ff4b4b,0 0 14px #ff4b4bcc}.coin-slot .price{font-family:var(--font-display);color:#ffd23f;font-size:.65rem;line-height:1.6}.free-play{text-align:center;font-family:var(--font-mono);letter-spacing:.12em;color:#3eeaff;text-shadow:0 0 10px #3eeaffb3;grid-column:1/-1;margin:0;font-size:1.4rem;line-height:1}.panel{background:var(--panel);margin:var(--px);box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge), var(--drop);padding:18px}.panel-title{font-family:var(--font-display);text-transform:uppercase;color:var(--magenta-text);margin:0 0 14px;font-size:.72rem;line-height:1.5}.field{gap:6px;margin-bottom:14px;display:grid}.field:last-child{margin-bottom:0}.field>label,.field-label,fieldset>legend{font-size:.95rem;font-weight:700}.field-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.field-row output{font-family:var(--font-mono);color:var(--magenta-text);font-size:1.3rem;line-height:1}.hint{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}fieldset{border:0;min-width:0;margin:0 0 14px;padding:0}legend{margin-bottom:6px;padding:0}input[type=text],input[type=number],select,textarea{background:var(--input-bg);width:100%;min-height:40px;color:var(--ink);font:500 1rem/1.3 var(--font-body);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);border:0;border-radius:0;width:calc(100% - 6px);margin:3px;padding:6px 10px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(-45deg, transparent 50%, var(--ink) 50%);background-position:calc(100% - 17px),calc(100% - 11px);background-repeat:no-repeat;background-size:6px 6px;padding-right:34px}textarea{resize:vertical;min-height:150px;font-family:var(--font-mono);font-size:1.15rem;line-height:1.2}input[type=number]{font-family:var(--font-mono);font-size:1.3rem;line-height:1}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:5px}input[type=color]{background:var(--input-bg);width:48px;height:40px;box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);cursor:pointer;border:0;margin:3px;padding:2px}input[type=range]{width:100%;height:32px;accent-color:var(--magenta);cursor:pointer;background:0 0;margin:0}.check{cursor:pointer;align-items:flex-start;gap:10px;min-height:40px;padding:6px 0;font-size:.97rem;font-weight:600;line-height:1.4;display:flex}.check input{width:20px;height:20px;accent-color:var(--magenta);flex:none;margin:2px 0 0}.check small{color:var(--muted);font-size:.86rem;font-weight:450;display:block}.inline-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-bottom:14px;display:grid}.inline-fields .field{margin-bottom:0}.seg{flex-wrap:wrap;gap:8px;padding:3px;display:flex}.seg label{flex:auto;position:relative}.seg input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.seg span{background:var(--panel-2);text-align:center;min-height:40px;box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.93rem;font-weight:650;display:flex}.seg input:checked+span{background:var(--cyan);color:var(--cyan-ink);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge), var(--glow-c)}.seg input:focus-visible+span{outline:3px solid var(--focus);outline-offset:6px}.btn{--b:var(--edge);--bg-btn:var(--panel-2);--fg-btn:var(--ink);background:var(--bg-btn);min-height:42px;color:var(--fg-btn);font:700 .95rem/1.15 var(--font-body);letter-spacing:.02em;cursor:pointer;box-shadow:0 -3px 0 0 var(--b), 0 3px 0 0 var(--b), -3px 0 0 0 var(--b), 3px 0 0 0 var(--b), inset 0 -4px 0 0 #00000038, inset 0 3px 0 0 #ffffff40;white-space:nowrap;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;margin:3px;padding:0 14px 3px;text-decoration:none;transition:transform 50ms;display:inline-flex}.btn:hover{filter:brightness(1.08);color:var(--fg-btn)}.btn:active:not(:disabled){box-shadow:0 -3px 0 0 var(--b), 0 3px 0 0 var(--b), -3px 0 0 0 var(--b), 3px 0 0 0 var(--b), inset 0 -1px 0 0 #00000038;transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{--bg-btn:var(--magenta);--fg-btn:var(--magenta-ink);--b:var(--edge)}.btn--cyan{--bg-btn:var(--cyan);--fg-btn:var(--cyan-ink)}.btn--coin{--bg-btn:var(--coin);--fg-btn:var(--coin-ink)}.btn--sm{min-height:40px;padding:0 10px 2px;font-size:.88rem}.btn--icon{width:42px;padding:0 0 3px}.btn--icon.btn--sm{width:40px}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn .icon{width:20px;height:20px}.tool{padding-top:18px;padding-bottom:24px}.tool-layout{align-items:start;gap:22px;display:grid}@media (width>=960px){.tool-layout{grid-template-columns:minmax(0,1fr) 340px}.tool-layout--wide-side{grid-template-columns:minmax(0,1fr) 380px}}.tool-main{gap:18px;min-width:0;display:grid}.screen{background:var(--screen);color:var(--screen-ink);margin:var(--px);box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge), var(--drop), inset 0 0 0 4px #1e1a33, inset 0 0 60px #000c;padding:14px;position:relative}.screen:after{content:"";pointer-events:none;z-index:3;background:repeating-linear-gradient(#0000 0 2px,#00000038 2px 3px);position:absolute;inset:4px}.screen-label{z-index:4;font-family:var(--font-mono);color:var(--screen-muted);pointer-events:none;margin:0;font-size:1.05rem;line-height:1;position:absolute;top:6px;right:10px}.checker{background-color:var(--check-a);background-image:conic-gradient(var(--check-b) 25%, transparent 0 50%, var(--check-b) 0 75%, transparent 0);background-size:16px 16px}.drop{text-align:center;background:var(--panel);min-height:300px;margin:var(--px);box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge), var(--drop);background-image:repeating-linear-gradient(90deg, var(--edge-soft) 0 8px, transparent 8px 16px), repeating-linear-gradient(90deg, var(--edge-soft) 0 8px, transparent 8px 16px), repeating-linear-gradient(0deg, var(--edge-soft) 0 8px, transparent 8px 16px), repeating-linear-gradient(0deg, var(--edge-soft) 0 8px, transparent 8px 16px);background-position:0 12px,0 calc(100% - 12px),12px 0,calc(100% - 12px) 0;background-repeat:no-repeat;background-size:100% 3px,100% 3px,3px 100%,3px 100%;place-items:center;padding:28px 18px;display:grid;position:relative}.drop.is-over{background-color:var(--panel-3)}.drop-art{width:72px;height:72px;color:var(--magenta);filter:drop-shadow(4px 4px 0 var(--cyan));margin:0 auto 14px}.drop-title{font-family:var(--font-display);margin:0 0 8px;font-size:.85rem;line-height:1.6}.drop-sub{color:var(--muted);max-width:46ch;margin:0 0 16px}.drop .btn-row{justify-content:center}.status-line{min-height:1.6em;color:var(--muted);margin:0;font-weight:600}.status-line.is-error{color:var(--danger)}.error-box{background:var(--panel);color:var(--danger);box-shadow:inset 4px 0 0 0 var(--danger);margin:0;padding:10px 12px;font-weight:700}.readout{font-family:var(--font-mono);color:var(--ink);font-size:1.3rem;line-height:1.1}.readout b{color:var(--magenta-text);font-weight:400}.editor{grid-template-columns:minmax(0,1fr);grid-template-areas:"tools""stage""side";gap:18px;display:grid}@media (width>=1000px){.editor{grid-template-columns:auto minmax(0,1fr) 300px;grid-template-areas:"tools stage side";align-items:start}}.ed-tools{flex-wrap:wrap;grid-area:tools;align-items:center;gap:8px;padding:10px;display:flex}@media (width>=1000px){.ed-tools{flex-flow:column;width:76px;padding:12px 8px}}.ed-tools .sep{background:var(--edge-soft);width:3px;height:34px;margin:0 2px}@media (width>=1000px){.ed-tools .sep{width:40px;height:3px;margin:4px 0}}.tool-btn{background:var(--panel-2);width:46px;height:46px;color:var(--ink);cursor:pointer;box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge), inset 0 -4px 0 0 #0000002e;border:0;place-items:center;margin:3px;padding:0;display:grid;position:relative}.tool-btn:hover{background:var(--panel-3)}.tool-btn[aria-pressed=true]{background:var(--magenta);color:var(--magenta-ink);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge), inset 0 3px 0 0 #00000040, var(--glow-m)}.tool-btn.is-toggle[aria-pressed=true]{background:var(--cyan);color:var(--cyan-ink);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge), inset 0 3px 0 0 #00000040, var(--glow-c)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.tool-btn kbd{min-width:0;box-shadow:0 0 0 2px var(--edge);pointer-events:none;margin:0;padding:0 3px;font-size:.95rem;position:absolute;bottom:-6px;right:-5px}.tool-btn .icon{width:24px;height:24px}.ed-stage{grid-area:stage;gap:10px;min-width:0;display:grid}.ed-screen{padding:0}.ed-viewport{z-index:1;overscroll-behavior:contain;place-items:center;height:min(68vh,620px);min-height:300px;display:grid;position:relative;overflow:auto}@media (width<=719px){.ed-viewport{height:min(92vw,60vh);min-height:260px}}.ed-canvas-wrap{margin:16px;position:relative;box-shadow:0 0 0 2px #463e86,0 0 30px #3eeaff1f}.ed-canvas-wrap canvas{width:100%;max-width:none;height:100%;position:absolute;inset:0}#art{image-rendering:pixelated;image-rendering:crisp-edges}#overlay{cursor:crosshair;touch-action:none;z-index:2}#overlay:focus-visible{outline-offset:4px;outline:3px solid #ffd23f}.ed-bar{flex-wrap:wrap;align-items:center;gap:6px 14px;padding:4px 2px;display:flex}.ed-bar .readout{min-width:9ch}.ed-bar .hover-swatch{vertical-align:-2px;width:16px;height:16px;box-shadow:0 0 0 2px var(--edge);margin-right:6px;display:inline-block}.ed-zoom{align-items:center;gap:4px;margin-left:auto;display:flex}.ed-zoom output{text-align:center;min-width:4ch}.ed-side{grid-area:side;gap:18px;min-width:0;display:grid}@media (width>=640px) and (width<=999px){.ed-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.ed-side .panel{padding:14px}.colors{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.color-pair{flex:none;width:72px;height:62px;position:relative}.color-pair button{cursor:pointer;width:42px;height:42px;box-shadow:0 0 0 3px var(--edge), 0 0 0 6px var(--panel);border:0;padding:0;position:absolute}.color-pair .primary{z-index:2;top:3px;left:3px}.color-pair .secondary{bottom:3px;right:3px}.color-pair .is-transparent{background-color:#fff;background-image:conic-gradient(#c9c6d8 25%, transparent 0 50%, #c9c6d8 0 75%, transparent 0);background-size:12px 12px}.color-fields{flex:140px;gap:6px;min-width:0;display:grid}.color-fields .row{align-items:center;gap:6px;display:flex}.color-fields input[type=text]{font-family:var(--font-mono);text-transform:lowercase;min-width:0;font-size:1.3rem}.swatches{grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:4px;min-height:64px;margin-top:10px;padding:3px;display:grid}.swatch{aspect-ratio:1;cursor:pointer;min-width:0;min-height:26px;box-shadow:0 0 0 2px var(--edge);border:0;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--edge), 0 0 0 4px var(--panel), 0 0 0 6px var(--magenta);z-index:1;position:relative}.swatch:focus-visible{outline-offset:4px;z-index:2;position:relative}.empty-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:.9rem}.size-row{grid-template-columns:1fr auto 1fr;align-items:end;gap:6px;display:grid}.size-row .field{margin-bottom:0}.size-row{margin-bottom:4px}.size-row .times{font-family:var(--font-mono);padding-bottom:10px;font-size:1.4rem}.ed-side .btn-row>.btn{flex:40%}.presets{flex-wrap:wrap;gap:4px;margin:6px 0 12px;display:flex}.presets .btn{min-height:40px;font-family:var(--font-mono);padding:0 8px 2px;font-size:1.2rem;font-weight:400}.section{padding-top:40px;padding-bottom:12px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-bottom:18px;display:flex}.section-head h2{margin:0}.section-head p{color:var(--muted);margin:0}.prose{max-width:76ch}.prose h2{margin-top:1.6em}.prose h2:first-child{margin-top:0}.prose h3{margin-top:1.3em;margin-bottom:.3em}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:.4em}.prose li::marker{color:var(--magenta-text)}.content-card{background:var(--panel);margin:var(--px);box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge), var(--drop);padding:22px 22px 8px}@media (width>=720px){.content-card{padding:30px 34px 14px}}.two-col{gap:8px 40px;display:grid}@media (width>=900px){.two-col{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}table{border-collapse:collapse;width:100%;margin:0 0 1em;font-size:.97rem}th,td{text-align:left;border-bottom:2px solid var(--edge-soft);vertical-align:top;padding:7px 10px}th{font-weight:700}.table-scroll{overflow-x:auto}.callout{background:var(--panel-3);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);grid-template-columns:auto 1fr;align-items:start;gap:12px;margin:22px 4px 18px;padding:14px 16px;display:grid}.callout .icon{color:var(--magenta-text);margin-top:2px}.callout p{margin:0;font-size:.98rem}.carts{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.carts--6{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.carts a{height:100%;color:inherit;outline-offset:4px;text-decoration:none;display:block}.cart{--c:var(--magenta);background:var(--c);clip-path:polygon(0 12px,12px 12px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 12px,100% 12px,100% 100%,0 100%);height:100%;padding:26px 14px 14px;transition:transform .12s;position:relative}.cart:before{content:"";background:repeating-linear-gradient(90deg,#00000052 0 4px,#0000 4px 8px);height:12px;position:absolute;top:6px;left:22px;right:22px}.carts li:nth-child(4n+2) .cart{--c:var(--cyan)}.carts li:nth-child(4n+3) .cart{--c:var(--coin)}.carts li:nth-child(4n+4) .cart{--c:#9a7cff}.cart__label{background:var(--panel);height:100%;color:var(--ink);box-shadow:inset 0 0 0 3px var(--edge);grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;gap:6px 12px;padding:14px;display:grid}.cart__icon{background:var(--screen);width:48px;height:48px;color:var(--c);grid-row:span 2;place-items:center;display:grid;box-shadow:inset 0 0 0 3px #463e86}.cart__icon .icon{width:24px;height:24px}.cart h3{font-family:var(--font-display);margin:2px 0 0;font-size:.72rem;font-weight:400;line-height:1.6}.cart h3 .num{font-family:var(--font-mono);color:var(--muted);margin-bottom:4px;font-size:1.1rem;line-height:1;display:block}.cart p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.45}.carts a:hover .cart{transform:translateY(-3px)}.carts a:hover .cart h3{color:var(--magenta-text)}.recs{gap:26px;display:grid}@media (width>=860px){.recs{grid-template-columns:repeat(2,minmax(0,1fr))}}.rec{margin:var(--px);background:var(--panel);box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge), var(--drop);border-top:10px solid var(--magenta);flex-direction:column;gap:4px;padding:22px;display:flex}.rec:nth-child(2){border-top-color:var(--cyan)}.rec__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--cyan-text);font-size:1.2rem;line-height:1.1}.rec h3{font-family:var(--font-display);margin:6px 0 8px;font-size:.9rem;font-weight:400;line-height:1.6}.rec p{color:var(--muted)}.rec .btn{align-self:flex-start;margin-top:auto}.faq{gap:14px;max-width:900px;display:grid}.faq details{background:var(--panel);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);margin:3px}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:10px 16px;font-size:1.03rem;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{width:20px;height:20px;color:var(--magenta-text);transition:transform .15s}.faq details[open] summary .icon{transform:rotate(180deg)}.faq details>div{color:var(--muted);padding:0 16px 6px}.faq details>div p{margin-bottom:12px}.sources ul{color:var(--muted);padding-left:1.2em;font-size:.95rem}.sources li{margin-bottom:.5em}.site-footer{background:var(--marquee);color:var(--marquee-ink);margin-top:64px}.deck{flex-wrap:wrap;align-items:center;gap:18px;padding-top:22px;padding-bottom:6px;display:flex}.deck__stick{width:56px;height:56px}.deck__buttons{gap:10px;display:flex}.deck__buttons .icon{filter:drop-shadow(0 3px #0009);width:30px;height:30px}.deck__buttons .b1{color:#ff3bd8}.deck__buttons .b2{color:#3eeaff}.deck__buttons .b3{color:#ffd23f}.deck__buttons .b4{color:#f4f1ff}.deck__text{font-family:var(--font-mono);color:#c9c3ee;margin:0;font-size:1.3rem;line-height:1.1}.footer-grid{gap:28px 40px;padding-top:22px;padding-bottom:26px;display:grid}@media (width>=720px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.footer-grid{grid-template-columns:1.3fr 1fr 1.2fr 1.2fr}}.site-footer h2{color:#ffd23f;text-shadow:none;margin:0 0 14px;font-size:.7rem;line-height:1.6}.site-footer ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.site-footer li{line-height:1.35}.site-footer a{color:#7ff2ff;align-items:center;min-height:28px;font-weight:650;display:inline-flex}.site-footer a:hover{color:#fff}.site-footer .desc{color:#c9c3ee;font-size:.88rem;display:block}.footer-about p{color:#c9c3ee;font-size:.95rem}.footer-about .brand{margin-bottom:10px}.footer-bottom{color:#c9c3ee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding-top:14px;padding-bottom:26px;font-size:.92rem;display:flex;position:relative}.footer-bottom:before{content:"";top:0;left:var(--gutter);right:var(--gutter);border-top:3px dashed #2e2858;position:absolute}.footer-bottom p{margin:0}.footer-bottom ul{gap:18px;display:flex}.site-footer :focus-visible{outline-color:#ffd23f}.toast-region{z-index:90;pointer-events:none;width:max-content;max-width:calc(100vw - 32px);position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{color:#f4f1ff;font-family:var(--font-mono);opacity:0;background:#0b0a14;padding:10px 16px;font-size:1.35rem;line-height:1.1;transition:opacity .15s,transform .15s;transform:translateY(8px);box-shadow:0 -3px #ff3bd8,0 3px #ff3bd8,-3px 0 #ff3bd8,3px 0 #ff3bd8,0 0 18px #ff3bd880}.toast:before{content:"▸ ";color:#ffd23f}.toast.is-visible{opacity:1;transform:none}.game-over{text-align:center;padding-top:40px}.game-over .screen{max-width:760px;margin:0 auto 30px;padding:44px 20px 36px}.game-over h1{color:#ff3bd8;text-shadow:3px 3px #3eeaff,0 0 18px #ff3bd899;z-index:4;font-size:clamp(1.4rem,1rem + 3vw,2.6rem);position:relative}.game-over .continue{z-index:4;font-family:var(--font-mono);color:#ffd23f;margin:0 0 12px;font-size:1.7rem;position:relative}.game-over .screen p{z-index:4;color:#d6d1f5;position:relative}.game-over .screen a{color:#7ff2ff}.compare{gap:14px;display:grid}.result-canvas{z-index:1;place-items:center;min-height:260px;display:grid;position:relative;overflow:auto}.result-canvas canvas{image-rendering:pixelated;max-width:100%;height:auto}.thumbs{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px;margin:0;padding:4px;list-style:none;display:grid}.thumb{background:var(--panel-2);box-shadow:0 -3px 0 0 var(--edge-soft), 0 3px 0 0 var(--edge-soft), -3px 0 0 0 var(--edge-soft), 3px 0 0 0 var(--edge-soft);font-family:var(--font-mono);text-align:center;gap:6px;min-width:0;padding:8px;font-size:1.1rem;line-height:1;display:grid}.thumb.is-blank{opacity:.45}.thumb .frame-img{place-items:center;height:64px;display:grid}.thumb canvas{image-rendering:pixelated;width:auto;max-width:100%;height:auto;max-height:64px}.thumb .btn-row{justify-content:center;gap:2px}.thumb .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.output-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:3px;display:flex}.output-tabs [role=tab]{background:var(--panel-2);min-height:40px;color:var(--ink);font:700 .9rem/1 var(--font-body);cursor:pointer;box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);border:0;padding:0 12px}.output-tabs [role=tab][aria-selected=true]{background:var(--cyan);color:var(--cyan-ink)}.pal-tabs{flex-wrap:wrap;gap:10px;margin-bottom:18px;padding:4px;display:flex}.pal-tabs [role=tab]{background:var(--panel-2);min-height:44px;color:var(--ink);font:700 .95rem/1 var(--font-body);cursor:pointer;box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge);border:0;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.pal-tabs [role=tab] .mini{display:inline-flex}.pal-tabs [role=tab] .mini i{width:8px;height:16px}.pal-tabs [role=tab][aria-selected=true]{background:var(--magenta);color:var(--magenta-ink);box-shadow:0 -3px 0 0 var(--edge), 0 3px 0 0 var(--edge), -3px 0 0 0 var(--edge), 3px 0 0 0 var(--edge), var(--glow-m)}.pal-block{margin-bottom:26px}.pal-block h3{font-family:var(--font-display);margin:0 0 4px;font-size:.78rem;font-weight:400;line-height:1.6}.pal-block .count{font-family:var(--font-mono);color:var(--muted);margin:0 0 12px;font-size:1.2rem}.pal-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:0 0 14px;padding:3px;list-style:none;display:grid}.pal-grid--nes{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))}@media (width>=1000px){.pal-grid--nes{grid-template-columns:repeat(16,minmax(0,1fr))}}.chip.is-dup{opacity:.55}.pal-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pal-actions .label{margin-right:4px;font-weight:700}.mini-strip{max-width:420px;height:18px;box-shadow:0 0 0 3px var(--edge);margin:6px 0 14px;display:flex}.mini-strip i{flex:1}.frames{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:0;padding:4px;list-style:none;display:grid}.frame-card{background:var(--panel-2);box-shadow:0 -3px 0 0 var(--edge-soft), 0 3px 0 0 var(--edge-soft), -3px 0 0 0 var(--edge-soft), 3px 0 0 0 var(--edge-soft);gap:8px;min-width:0;padding:10px;display:grid}.frame-card.is-current{box-shadow:0 -3px 0 0 var(--magenta), 0 3px 0 0 var(--magenta), -3px 0 0 0 var(--magenta), 3px 0 0 0 var(--magenta)}.frame-card .frame-img{place-items:center;height:96px;display:grid}.frame-card canvas{image-rendering:pixelated;width:auto;max-width:100%;height:auto;max-height:96px}.frame-card .frame-head{font-family:var(--font-mono);justify-content:space-between;align-items:baseline;gap:6px;font-size:1.2rem;line-height:1;display:flex}.frame-card .frame-head span:last-child{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frame-card .field{gap:2px;margin:0}.frame-card label{font-size:.82rem;font-weight:700}.frame-card .btn-row{justify-content:space-between;gap:6px;padding:0 3px}.frame-card .btn{margin:3px 0}.gif-out img{image-rendering:pixelated;max-width:100%;height:auto;margin:0 auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.marquee,.site-nav,.site-footer,.stripes{display:none}}.chip{background:var(--panel-2);min-height:84px;box-shadow:0 0 0 3px var(--edge);flex-direction:column;display:flex;position:relative}.chip .sw{flex:none;height:44px;display:block}.chip .hex{font-family:var(--font-mono);text-transform:lowercase;padding:5px 6px 0;font-size:1.2rem;line-height:1;display:block}.chip .nm{color:var(--muted);overflow-wrap:anywhere;padding:2px 6px 6px;font-size:.78rem;line-height:1.25;display:block}.chip-copy{cursor:copy;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.chip-copy:focus-visible{outline-offset:4px}.chip:hover .hex{color:var(--magenta-text)}.pal-intro{max-width:80ch;color:var(--muted)}.pal-panel{margin-bottom:22px}.pal-options{max-width:420px}.mini .m1{background:#f83800}.mini .m2{background:#0078f8}.mini .m3{background:#00b800}.mini .g1{background:#0f380f}.mini .g2{background:#306230}.mini .g3{background:#9bbc0f}.mini .p1{background:#ff004d}.mini .p2{background:#29adff}.mini .p3{background:#ffec27}.mini .c1{background:#5ff}.mini .c2{background:#f5f}.mini .c3{background:#fff}.mini .k1{background:#6c5eb5}.mini .k2{background:#9ad284}.mini .k3{background:#b8c76f}.pal-grid--nes .chip{min-height:70px}.pal-grid--nes .chip .sw{height:30px}.pal-grid--nes .chip .hex{padding:4px 4px 0;font-size:1.05rem}.pal-grid--nes .chip .nm{padding:1px 4px 5px}@media (width<=899px){.hero .coin-door{display:none}}@media (width<=999px){.ed-tools .sep{display:none}}@media (pointer:coarse){.tool-btn kbd{display:none}}@media (width<=999px){.ed-tools{gap:4px;padding:8px}.tool-btn{width:42px;height:42px}}@media (width<=600px){.frames{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.frame-card{padding:8px}.frame-card .frame-img{height:64px}.frame-card canvas{max-height:64px}.frame-card .frame-head span:last-child{display:none}.frame-card .btn-row{justify-content:center}}
