@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pixelify-sans-latin-400-normal-DLrIX9QE.woff2) format("woff2"),url(/assets/pixelify-sans-latin-400-normal-JapMNN6Z.woff) format("woff")}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2) format("woff2"),url(/assets/pixelify-sans-latin-600-normal-BNlgYbDL.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff")}:root{--paper: #0d1117;--paper-2: #161b22;--paper-3: #1e2530;--paper-4: #242b36;--ink: #e6e1d4;--ink-2: #c4beae;--ink-3: #8a8580;--ink-4: #5a554e;--rule: #1f242c;--rule-2: #2a3038;--amber: #f0c050;--amber-dim: #b08c30;--amber-glow: rgba(240, 192, 80, .12);--amber-glow-2: rgba(240, 192, 80, .22);--cyan: #6dbcdb;--cyan-glow: rgba(109, 188, 219, .08);--moss: #9bb070;--red: #e05555;--orange: #d4541e;--stone: #a8a298;--bg-0: var(--paper);--bg-1: var(--paper);--bg-2: var(--paper-2);--bg-3: var(--paper-3);--bg-4: var(--paper-4);--border: var(--rule);--border-bright: var(--rule-2);--text-dim: var(--ink-4);--text-muted: var(--ink-3);--text-base: var(--ink-2);--text-bright: var(--ink);--text-white: var(--ink);--accent: var(--amber);--accent-dim: var(--amber-dim);--accent-glow: var(--amber-glow);--ai: var(--amber);--ai-dim: var(--amber-dim);--ai-glow: rgba(240, 192, 80, .1);--green: var(--moss);--font-display: "Pixelify Sans", "VT323", monospace;--font-sans: "Pixelify Sans", "VT323", monospace;--font-mono: "JetBrains Mono", "VT323", monospace;--t-10: 10px;--t-10-5: 10.5px;--t-11: 11px;--t-11-5: 11.5px;--t-12: 12px;--t-12-5: 12.5px;--t-13: 13px;--t-14: 14px;--t-16: 16px;--t-18: 18px;--t-22: 22px;--t-26: 26px;--t-36: 36px;--track-wide: .14em;--track-mid: .06em;--track-tight: -.01em;--s-2: 2px;--s-4: 4px;--s-6: 6px;--s-8: 8px;--s-10: 10px;--s-12: 12px;--s-14: 14px;--s-16: 16px;--s-18: 18px;--s-20: 20px;--s-22: 22px;--s-28: 28px;--s-32: 32px;--radius: 0;--w-pane-left: 260px;--w-pane-right: 360px;--h-topbar: 56px;--h-statusbar: 28px;--h-scriptpane: 280px}*,*:before,*:after{box-sizing:border-box;border-radius:0!important}body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);overflow:hidden;user-select:none;-webkit-user-select:none}h1,.h1{font-family:var(--font-display);font-weight:700;font-size:var(--t-36);line-height:1.05;letter-spacing:var(--track-tight);color:var(--ink);margin:0}h2,.h2{font-family:var(--font-display);font-weight:600;font-size:var(--t-26);line-height:1.1;color:var(--ink);margin:0}h3,.h3{font-family:var(--font-display);font-weight:600;font-size:var(--t-22);line-height:1.2;color:var(--ink);margin:0}h4,.h4{font-family:var(--font-display);font-weight:600;font-size:var(--t-16);line-height:1.3;color:var(--ink);margin:0}p,.body{font-family:var(--font-sans);font-size:var(--t-13);line-height:1.5;color:var(--ink-2);margin:0}.body-sm{font-family:var(--font-sans);font-size:var(--t-12);line-height:1.5;color:var(--ink-3)}.label,.label-caps{font-family:var(--font-display);font-weight:600;font-size:var(--t-10);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--ink-3)}.meta{font-family:var(--font-mono);font-size:var(--t-11);letter-spacing:var(--track-mid);color:var(--ink-4)}.mono,code,kbd,samp{font-family:var(--font-mono);font-size:var(--t-12);color:var(--ink-2)}kbd,.kbd{font-family:var(--font-mono);font-size:var(--t-11);color:var(--ink-4);padding:0 4px;border:1px solid var(--rule-2);background:var(--paper-2)}.wordmark{font-family:var(--font-display);font-weight:700;font-size:var(--t-18);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--ink);line-height:1;display:inline-flex;align-items:center}.wordmark .i{color:var(--amber)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}#root{height:100%}a{color:var(--ink-2)}.app{height:100dvh;display:flex;flex-direction:column}.masthead{flex:none;border-bottom:1px solid var(--rule);padding:12px 20px;display:flex;align-items:center;gap:16px}.masthead h1{font-family:var(--font-display);font-size:16px;font-weight:600;margin:0;letter-spacing:.01em;white-space:nowrap}.masthead .eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin:0;white-space:nowrap}.masthead .tagline{color:var(--ink-4);font-size:12px;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.masthead .spacer{flex:1}.masthead .divider{width:1px;align-self:stretch;background:var(--rule-2);flex:none}.btn{font-family:var(--font-display);font-size:12px;padding:6px 14px;background:transparent;border:1px solid var(--rule-2);color:var(--ink-2);cursor:pointer;text-decoration:none;white-space:nowrap;display:inline-block}.btn:hover{border-color:var(--ink-4);color:var(--ink)}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2);color:var(--paper)}.btn:disabled{opacity:.4;cursor:not-allowed}.label{font-family:var(--font-display);font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}select,input[type=number]{background:var(--paper);border:1px solid var(--rule-2);color:var(--ink);font-family:var(--font-mono);font-size:12px;padding:5px 7px;width:100%}.toggle{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;padding:3px 0;color:var(--ink-2)}.seg{display:flex}.seg>div{flex:1;text-align:center;padding:5px 4px;cursor:pointer;font-family:var(--font-mono);font-size:11px;background:var(--paper);color:var(--ink-3);border:1px solid var(--rule-2);border-left:none}.seg>div:first-child{border-left:1px solid var(--rule-2)}.seg>div.active{background:var(--paper-3);color:var(--ink)}.preset-row{display:flex;gap:6px}.preset-row button{flex:1;font-family:var(--font-mono);font-size:10.5px;padding:5px 4px;background:transparent;border:1px solid var(--rule-2);color:var(--ink-2);cursor:pointer}.preset-row button:hover{border-color:var(--ink-4);color:var(--ink)}.work{flex:1;min-height:0;display:flex}.dropzone{flex:1;margin:20px;border:1px dashed var(--rule-2);background:var(--paper-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;cursor:pointer;color:var(--ink-3);padding:24px}.dropzone.active{border-color:var(--amber);background:var(--paper-3);color:var(--ink-2)}.dropzone .big{font-family:var(--font-display);font-size:18px;color:var(--ink-2)}.dropzone .hint{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);max-width:52ch}.dropzone .error{color:var(--red);font-size:12px}.sidebar{width:216px;flex:none;border-right:1px solid var(--rule);padding:16px;overflow-y:auto}.sidebar>.label:not(:first-child){margin-top:16px}.canvases{flex:1;min-width:0;display:flex;flex-direction:column;padding:16px 20px;gap:12px}.filebar{flex:none;display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.filebar .name{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filebar .replace{color:var(--ink-4);background:none;border:none;font-family:var(--font-mono);font-size:11px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.filebar .replace:hover{color:var(--ink-2)}.panes{flex:1;min-height:0;display:flex;gap:16px}.pane{flex:1;min-width:0;display:flex;flex-direction:column}.pane .caption{flex:none;display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px}.pane .caption .dims{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4)}.frame{flex:1;min-height:0;background:var(--paper-2);border:1px solid var(--rule-2);display:flex;align-items:center;justify-content:center;overflow:hidden;background-image:linear-gradient(45deg,var(--paper-3) 25%,transparent 25%),linear-gradient(-45deg,var(--paper-3) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--paper-3) 75%),linear-gradient(-45deg,transparent 75%,var(--paper-3) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.frame canvas{display:block}.frame canvas.crisp{image-rendering:pixelated}.stats{margin-top:18px;border-top:1px solid var(--rule);padding-top:12px}.stat{display:flex;justify-content:space-between;gap:8px;font-family:var(--font-mono);font-size:11px;padding:2px 0;color:var(--ink-2)}.stat .k{color:var(--ink-4)}.swatches{display:flex;flex-wrap:wrap;gap:3px;margin-top:10px}.swatch{width:14px;height:14px;border:1px solid var(--rule-2)}.statusbar{flex:none;border-top:1px solid var(--rule);padding:10px 20px;display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;color:var(--ink-4)}.statusbar .spacer{flex:1}.statusbar select{width:auto}.statusbar .plug{color:var(--ink-4);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusbar .plug a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid var(--rule-2)}.statusbar .plug a:hover{color:var(--amber);border-bottom-color:var(--amber-dim)}@media (max-width: 820px){body{overflow:auto}.app{height:auto;min-height:100dvh}.masthead{flex-wrap:wrap}.masthead .tagline,.masthead .divider{display:none}.work{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--rule);overflow:visible}.panes{flex-direction:column}.frame{aspect-ratio:1}.dropzone{min-height:60vh}.statusbar{flex-wrap:wrap}}
