:root{--bg:#f2f6fd;--surface:#fff;--border:#d7e2f5;--text:#0b1a33;--text-muted:#52678a;--accent:#2563eb;--accent-contrast:#fff;--error-bg:#fdeceb;--error-border:#e5534b;--error-text:#8a1f16;--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:#070f1f;--surface:#0e1b32;--border:#1c3358;--text:#e6edfb;--text-muted:#8ba0c9;--accent:#60a5fa;--accent-contrast:#071427;--error-bg:#3a1c1c;--error-border:#e5534b;--error-text:#ffb4ac;--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:560px;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);border-radius:20px;width:100%;padding:2.5rem 2.25rem;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 .75rem;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}.fields{align-items:flex-end;gap:.75rem;margin-bottom:.5rem;display:flex}.field{text-align:left;flex-direction:column;flex:1;gap:.4rem;min-width:0;display:flex}.field-label{color:var(--text-muted);font-size:.78rem}.field-row{align-items:center;gap:.5rem;display:flex}.field-row input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;width:2.5rem;height:2.5rem;padding:0}.field-row input[type=text]{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--text);font-family:var(--font-mono);border-radius:8px;flex:1;padding:.55rem .6rem;font-size:.9rem}.swap-btn{border:1px solid var(--border);background:var(--bg);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;border-radius:8px;flex-shrink:0;margin-bottom:.05rem;font-size:1.1rem}.swap-btn:hover{border-color:var(--accent);color:var(--accent)}.error{text-align:left;min-height:1.2rem;color:var(--error-text);margin:.5rem 0;font-size:.82rem}.preview{border:1px solid var(--border);text-align:left;border-radius:14px;width:100%;margin:1rem 0 1.5rem;padding:1.5rem}.preview-large{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.preview-normal{margin:0;font-size:.95rem;line-height:1.5}.ratio-row{align-items:baseline;gap:.5rem;margin-bottom:1rem;display:flex}.ratio-value{font-family:var(--font-mono);color:var(--text);font-size:1.6rem;font-weight:700}.ratio-label{color:var(--text-muted);font-size:.85rem}.badges{gap:.6rem;display:flex}.badge-group{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.4rem;padding:.7rem .5rem;display:flex}.badge-group__label{color:var(--text-muted);text-align:center;font-size:.72rem}.badge{font-family:var(--font-mono);border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.badge--pass{color:#15803d;background:#22c55e26}:root[data-theme=dark] .badge--pass{color:#4ade80}.badge--fail{background:var(--error-bg);color:var(--error-text)}@media (width<=480px){.card{padding:2rem 1.4rem}.fields{flex-direction:column;align-items:stretch}.swap-btn{align-self:center}.badges{flex-direction:column}.badge-group{flex-direction:row;justify-content:space-between}}
