:root{--color-bg:#fafaf8;--color-surface:#fff;--color-text:#101828;--color-muted:#475467;--color-border:#d8d4ca;--color-accent:#1e3a5f;--color-accent-hover:#2a5080;--color-accent-light:#e8edf3;--radius:14px;--max:640px}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:var(--color-muted);text-underline-offset:3px;text-decoration:none}a:hover,a:focus-visible{color:var(--color-accent);text-decoration:underline}:focus-visible{outline-offset:3px;outline:3px solid #84adff}.skip-link{z-index:20;background:var(--color-text);color:#fff;border-radius:999px;padding:.7rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:10;background:#fafaf8f0;position:sticky;top:0}.header-inner,.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem}.header-inner{align-items:center;min-height:64px;display:flex}.wordmark{color:var(--color-text);font-size:1.25rem;font-weight:800;text-decoration:none}.wordmark:hover,.wordmark:focus-visible{color:var(--color-text);text-decoration:none}main{min-height:60vh}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .75rem;line-height:1.15}h1{max-width:14.5ch;font-size:clamp(2rem,4vw,2.8rem)}h2{font-size:clamp(1.4rem,2.5vw,1.9rem)}h3{font-size:1.1rem}p{margin:0 0 1rem}.lead{color:var(--color-muted);max-width:560px;font-size:clamp(1.02rem,1.5vw,1.14rem)}.section{padding:2rem 0}.hero{padding:3rem 0 1.5rem}.stack{gap:.65rem;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.tool-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.tool-row .tool-name{color:var(--color-accent);font-weight:700;text-decoration:none}.tool-row .tool-name:hover,.tool-row .tool-name:focus-visible{color:var(--color-accent-hover);text-decoration:underline}.tool-row .tool-desc{color:var(--color-muted);flex:1;min-width:200px;margin:0;font-size:.94rem}.roadmap{color:var(--color-muted);margin:.5rem 0 0;font-size:.95rem}.form{gap:.75rem;display:grid}label{font-weight:700}input{border:1px solid var(--color-border);width:100%;min-height:46px;font:inherit;color:var(--color-text);background:#fff;border-radius:12px;padding:.75rem .85rem}.button,button{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;cursor:pointer;min-height:44px;font-weight:750;font:inherit;border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1.05rem;text-decoration:none;display:inline-flex}.button:hover,button:hover{background:var(--color-accent-hover);color:#fff;text-decoration:none}.help{color:var(--color-muted);margin:0;font-size:.93rem}.form-error{color:#b42318;margin:0}.footer{border-top:1px solid var(--color-border);color:var(--color-muted);margin-top:3rem;padding:.8rem 0 1.2rem}.footer-inner{max-width:var(--max);text-align:center;justify-items:center;gap:12px;display:grid}.footer p{margin:0}.footer a{color:var(--color-muted);text-decoration:none}.footer a:hover,.footer a:focus-visible{color:var(--color-accent);text-decoration:underline}.footer-links{gap:0;display:flex}.footer-links a+span:before{content:" · ";color:var(--color-muted)}.breadcrumbs{color:var(--color-muted);margin:.5rem 0 1rem;font-size:.92rem}.breadcrumbs a{color:var(--color-muted)}.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--color-accent);text-decoration:underline}.sr-only,.hp-field{clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=560px){h1{font-size:1.85rem}.hero{padding-top:1.5rem}.button,button{width:100%}.tool-row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
