:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17212b;--muted:#637181;--line:#d8e0e7;--paper:#f6f8fa;--card:#fff;--accent:#317a68;--accent-dark:#235849;--warm:#d89046}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}a{color:inherit}.site-shell{min-height:100vh}.site-footer,.site-header{justify-content:space-between;align-items:center;gap:18px;max-width:1180px;margin:auto;padding:22px 24px;display:flex}.site-header{border-bottom:1px solid var(--line)}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:var(--accent);font-size:22px}.nav-links{color:var(--muted);gap:18px;font-size:14px;display:flex}.nav-links a,.site-footer a{text-decoration:none}.nav-links a:hover,.site-footer a:hover{color:var(--accent)}.page{max-width:1180px;margin:auto;padding:56px 24px 80px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800}h1{letter-spacing:-.055em;max-width:820px;margin:14px 0 18px;font-size:clamp(36px,6vw,68px);line-height:.98}h2{letter-spacing:-.035em;margin:0 0 12px;font-size:30px}h3{margin:0 0 8px}p{color:var(--muted);line-height:1.65}.lede{max-width:720px;font-size:18px}.tool-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start;gap:22px;margin-top:42px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 12px 30px #1a2e3d0f}.controls{position:sticky;top:18px}.field{gap:7px;margin-bottom:17px;display:grid}label{font-size:13px;font-weight:700}button,input,select{font:inherit}input,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:11px 12px}.inline-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.check-row{color:var(--muted);align-items:center;gap:10px;margin:12px 0;font-size:14px;display:flex}.check-row input{width:auto;accent-color:var(--accent)}.button-row{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.button,button{cursor:pointer;border:0;border-radius:10px;padding:11px 15px;font-weight:800;text-decoration:none}.button-primary{color:#fff;background:var(--accent)}.button-primary:hover{background:var(--accent-dark)}.button-secondary{color:var(--ink);background:#edf2f4}.preview-card{overflow:hidden}.preview-top{justify-content:space-between;align-items:start;gap:14px;margin-bottom:16px;display:flex}.stat{color:var(--muted);text-align:right;font-size:13px}.grid-viewport{background:#edf2f2;border-radius:14px;place-items:center;min-height:360px;padding:24px;display:grid;overflow:auto}.block-grid{aspect-ratio:1;background:#a8b9b8;border:1px solid #809996;gap:1px;width:min(100%,620px);display:grid}.block-cell{background:#f6faf8;min-width:0;min-height:0}.block-cell.filled{background:var(--accent)}.block-cell.center{box-shadow:inset 0 0 0 2px var(--warm)}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:13px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.swatch{background:var(--accent);border-radius:3px;width:12px;height:12px}.swatch.center{border:2px solid var(--warm);background:#fff}.error{color:#b54242;background:#fff1f1;border:1px solid #efc9c9;border-radius:9px;margin-top:12px;padding:11px;font-size:13px}.row-plan{border-top:1px solid var(--line);max-height:320px;margin-top:20px;padding-top:13px;overflow:auto}.row-plan code{color:var(--muted);font-size:12px;line-height:1.8;display:block}.content-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px;display:grid}.content-section{max-width:860px;margin-top:72px}.article{max-width:760px}.article h1{font-size:clamp(38px,6vw,60px)}.article h2{margin-top:36px}.site-footer{color:var(--muted);border-top:1px solid var(--line);font-size:13px}.disclaimer{color:var(--muted);margin-top:14px;font-size:12px}@media (width<=820px){.tool-layout{grid-template-columns:1fr}.controls{position:static}.content-grid{grid-template-columns:1fr}.site-header{align-items:flex-start}.nav-links{display:none}.page{padding-top:36px}}
