:root{--bg:#f0f8fa;--surface:#fff;--border:#cde6ea;--text:#0a2b30;--text-muted:#4f7a82;--accent:#0e7490;--accent-contrast:#fff;--error-bg:#fdece8;--error-border:#e5534b;--error-text:#8a2416;--success-bg:#e7f7ee;--success-border:#34a366;--success-text:#1a6b3f;--font-display:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--font-sans:"Inter", system-ui, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#06181c;--surface:#0b262c;--border:#164752;--text:#e2f4f6;--text-muted:#82b3ba;--accent:#67e8f9;--accent-contrast:#04232a;--error-bg:#3a1f1a;--error-border:#e5534b;--error-text:#ffb4ac;--success-bg:#123322;--success-border:#34a366;--success-text:#8ce0af;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0}#root{min-height:100svh}.page{justify-content:center;min-height:100%;padding:3rem 1.25rem;display:flex}.shell{flex-direction:column;gap:.75rem;width:100%;max-width:640px;display:flex}.site-header{align-items:center;gap:10px;padding:0 .25rem;display:flex}.site-header__brand{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);white-space:nowrap;font-size:.8rem;font-weight:700;text-decoration:none}.site-header__brand:hover{text-decoration:underline}.site-header__divider{color:var(--text-muted);font-weight:400}.site-header__title{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:.8rem;font-weight:500}.toolbar-spacer{flex:1}.toggle-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.35rem .55rem;line-height:1}.toggle-btn:hover{border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:20px;width:100%;padding:2.25rem 2rem;box-shadow:0 30px 60px -35px #00000059}.eyebrow{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 .75rem;font-size:.75rem}h1{font-family:var(--font-display);color:var(--text);margin:0 0 .5rem;font-size:clamp(1.4rem,4vw,1.9rem);font-weight:600;line-height:1.25}.subhead{color:var(--text-muted);margin:0 0 1.5rem;font-size:.9rem;line-height:1.5}.field{text-align:left;flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field__label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.field input[type=text],.field input[type=number]{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:10px;padding:.6rem .7rem;font-size:1rem}.controls-row{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.fill-picker{text-align:left;flex-direction:column;flex:1;gap:.4rem;min-width:200px;display:flex}.fill-chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{background:var(--bg);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;border-radius:10px;min-width:2.4rem;padding:.4rem .7rem;font-size:.95rem;font-weight:700}.chip:hover{border-color:var(--accent)}.chip--active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.fill-custom{text-align:center;background:var(--bg);border:1px solid var(--border);width:2.6rem;color:var(--text);font-family:var(--font-mono);border-radius:10px;padding:.4rem .3rem;font-size:.95rem}.field--spacing{width:120px;margin-bottom:0}.output-wrap{border:1px solid var(--border);background:var(--bg);border-radius:14px;justify-content:center;align-items:center;min-height:9rem;margin-bottom:1.1rem;padding:1.25rem;display:flex;overflow-x:auto}.ascii-output{font-family:var(--font-mono);color:var(--accent);text-align:left;white-space:pre;margin:0;font-size:.85rem;line-height:1.15}.empty-note{color:var(--text-muted);margin:0;font-size:.85rem}.btn{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);font-family:var(--font-sans);cursor:pointer;border-radius:10px;padding:.7rem 1.2rem;font-size:.95rem;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--accent{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}@media (width<=480px){.card{padding:1.75rem 1.25rem}.ascii-output{font-size:.62rem}}
