@font-face{font-family:'Space Grotesk';src:url('/assets/fonts/space-grotesk-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/ibm-plex-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
:root{--paper:#E7F0EA;--ink:#10201C;--brand:#0F6C5B;--on-brand:#E7F0EA;--reward:#E4A31A;--card:#F5FBF7;--foot:#10201C;--foot-ink:#E7F0EA;--display:"Space Grotesk",sans-serif;--text:"IBM Plex Sans",sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
[data-theme=dark],@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0E1714;--ink:#E7F0EA;--brand:#3DCFB2;--on-brand:#0E1714;--card:#15211D;--foot:#07100E;--foot-ink:#E7F0EA}}
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 var(--text);text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--brand);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--reward);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:20}
.skip:focus{left:8px;top:8px}
.wrap{width:min(1120px,calc(100% - 32px));margin-inline:auto}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 10px}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:1.15rem}
.nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nav a,.theme-toggle,.btn{min-height:44px;min-width:44px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none;border-radius:12px;font-weight:600}
.theme-toggle{background:transparent}
.btn{box-shadow:0 4px 0 var(--ink);transition:transform .12s, box-shadow .12s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.btn-primary{background:var(--brand);color:var(--on-brand);border-color:var(--ink)}
.btn-ghost{box-shadow:none}
.hero h1{font-family:var(--display);font-weight:800;line-height:.92;letter-spacing:-.045em;font-size:clamp(48px,7vw,100px);margin:12px 0 12px}
.lede{font-size:1.15rem;max-width:38rem}
.price-chip{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:baseline;background:var(--reward);color:var(--ink);padding:8px 12px;border-radius:999px;font-weight:700;border:1.5px solid var(--ink)}
.tool{margin:28px 0 48px}
.panel{background:var(--card);border:1.5px solid var(--ink);border-radius:18px}
.hero-panel{box-shadow:0 6px 0 var(--ink)}
label{display:block;font-weight:600;margin:0 0 6px}
input[type=text],input[type=number],input[type=email],input[type=url],input[type=date],input[type=search],select,textarea{
  width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--ink);border-radius:12px;background:var(--paper);font-size:16px}
textarea{min-height:140px;resize:vertical}
.row{display:grid;gap:12px}
.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:999px;z-index:40;pointer-events:none;transition:transform .3s,opacity .3s;font-weight:700}
.toast.on{opacity:1;transform:translate(-50%,0)}
.stamp{display:none;font-family:var(--display);border:4px solid var(--brand);color:var(--brand);padding:6px 10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;transform:rotate(-8deg);background:transparent}
.stamp.show{display:inline-block}
@keyframes thump{from{transform:rotate(-8deg) scale(2.4);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}
.stamp.thump{animation:thump .45s cubic-bezier(.34,1.56,.64,1) both}
.js .rv{opacity:0;transform:translateY(22px)}
.js .rv.in{opacity:1;transform:none;transition:opacity .5s,transform .5s}
.site-foot{margin-top:64px;background:var(--foot);color:var(--foot-ink);padding:48px 0 32px;position:relative}
.site-foot a{color:var(--reward)}
.site-foot .wrap{display:grid;gap:18px}
.muted{opacity:.8;font-size:.92rem}
.answers h2,.pricing h2,article h1{font-family:var(--display);letter-spacing:-.04em;line-height:1}
article{max-width:42rem}
article h1{font-size:clamp(40px,6vw,76px)}
.grid-2{display:grid;gap:16px}
@media(min-width:800px){.grid-2{grid-template-columns:1fr 1fr}.row.cols-3{grid-template-columns:repeat(3,1fr)}.row.cols-4{grid-template-columns:repeat(4,1fr)}.row.cols-2{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
}

body{background-image:linear-gradient(to right,rgba(15,108,91,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,108,91,.12) 1px,transparent 1px);background-size:24px 24px}
.edge{background:var(--paper);border-bottom:4px solid var(--brand)}
.tick{width:16px;height:16px;border:2px solid var(--brand);box-shadow:6px 0 0 var(--reward),0 6px 0 var(--brand)}
table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px;background:var(--card)}
th,td{border:1.5px solid var(--ink);padding:6px 8px;text-align:left}
.schema{display:grid;gap:8px}
.schema .row{grid-template-columns:1fr 1fr auto;align-items:end}

/* related-tools strip — added 12 Nov 2026 for the tool network */
nav.related-tools{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid color-mix(in srgb, currentColor 35%, transparent)}
nav.related-tools .related-tools-h{margin:0 0 .55rem;font-weight:650;letter-spacing:.01em}
nav.related-tools ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem 1.35rem}
nav.related-tools li{margin:0}
nav.related-tools a{text-decoration:underline;text-underline-offset:3px}
nav.related-tools .rt-tag{opacity:.8}

