:root{--bg:#fbfaf6;--surface:#fff;--ink:#1c2541;--muted:#5a6275;--line:#e2dfd5;--line-strong:#c9c5b8;--primary:#2453d8;--primary-ink:#fff;--primary-soft:#e9eefc;--red:#e5484d;--yellow:#f5b82e;--blue:#2f6fe4;--green:#1f9e6e;--purple:#7b5cd6;--orange:#f07c35;--radius:12px;--font:ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--font);margin:0}a{color:var(--primary)}a:hover{text-decoration-thickness:2px}:where(button,a,input,select,[tabindex]):focus-visible{outline:3px solid var(--yellow);outline-offset:2px;border-radius:6px}img,svg{max-width:100%}.wrap{max-width:1080px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:20px;padding-block:12px;display:flex}.brand{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:10px;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:34px;height:34px}.brand b{color:var(--primary);font-weight:800}.site-nav{flex-wrap:wrap;gap:4px 16px;font-size:.95rem;display:flex}.site-nav a{color:var(--muted);padding:4px 2px;font-weight:600;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}main{padding-block:28px 56px}h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 10px;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15}h2{text-wrap:balance;margin:0 0 10px;font-size:1.35rem;line-height:1.25}h3{margin:0 0 6px;font-size:1.05rem}.lede{color:var(--muted);max-width:62ch;margin:0;font-size:1.12rem}.prose{max-width:68ch}.prose p,.prose li{margin:0 0 10px}.prose ul,.prose ol{margin:0 0 12px;padding-left:1.3em}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin:0 0 6px;font-size:.8rem;font-weight:700}section+section{margin-top:40px}.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:22px;overflow:hidden}.tool:fullscreen{background:var(--surface);border-radius:0;flex-direction:column;display:flex;overflow:auto}.tool:fullscreen .stage{flex:1;place-items:center;display:grid}.controls{border-bottom:1px solid var(--line);background:#fdfcf9;flex-wrap:wrap;align-items:end;gap:10px 14px;padding:14px 16px;display:flex}.controls label{color:var(--muted);letter-spacing:.02em;gap:3px;font-size:.78rem;font-weight:700;display:grid}.controls input[type=number],.controls input[type=text],.controls select{font:600 1rem var(--font);color:var(--ink);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:8px;width:7.5rem;min-height:40px;padding:7px 9px}.controls input.wide{width:13rem}.controls select{width:auto}.controls .check{color:var(--ink);letter-spacing:0;align-items:center;gap:7px;min-height:40px;font-size:.92rem;font-weight:600;display:inline-flex}.controls .check input{width:20px;height:20px;accent-color:var(--primary)}.controls .spacer{flex:auto}.btn{font:700 .95rem var(--font);border:1.5px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn.primary:hover{background:#1b43b5}.btn[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.swatches{gap:6px;display:flex}.swatch{border:3px solid var(--surface);width:34px;height:34px;box-shadow:0 0 0 1.5px var(--line-strong);cursor:pointer;border-radius:50%;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.stage{padding:22px 16px;overflow-x:auto}.hint{color:var(--muted);margin:0;padding:0 16px 14px;font-size:.9rem}.readout{font:700 1.1rem var(--font)}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin-top:18px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);gap:6px;padding:18px;text-decoration:none;display:grid}.tool-card:hover{border-color:var(--primary)}.tool-card .name{color:var(--primary);font-size:1.12rem;font-weight:800}.tool-card .grades{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.tool-card p{color:var(--muted);margin:0;font-size:.95rem}.faq dt{margin-top:14px;font-weight:700}.faq dd{color:var(--ink);margin:4px 0 0}.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);padding:16px 18px;font-size:.92rem}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.site-footer .wrap{color:var(--muted);gap:14px;padding-block:28px;font-size:.92rem;display:grid}.site-footer nav{flex-wrap:wrap;gap:6px 16px;display:flex}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--ink)}@media print{@page{margin:12mm}body{background:#fff;font-size:12pt}.site-header,.site-footer,.controls,.hint,.no-print,.after-tool{display:none!important}main{padding:0}.tool{border:0;margin:0}.stage{padding:0;overflow:visible}.lede{display:none}}
