@font-face{font-family:'Oswald';src:url('/assets/fonts/oswald-600.woff2') format('woff2');font-weight:600;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 Sans';src:url('/assets/fonts/ibm-plex-sans-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--paper:#141414;--ink:#F6F0E0;--brand:#E10600;--on-brand:#fff;--reward:#FFBF00;--card:#1C1C1C;--foot:#000;--foot-ink:#F6F0E0;--display:"Oswald",Impact,sans-serif;--text:"IBM Plex Sans",sans-serif}
[data-theme=light]{--paper:#F6F0E0;--ink:#141414;--card:#fff;--foot:#141414;--foot-ink:#F6F0E0}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--paper:#F6F0E0;--ink:#141414;--card:#fff;--foot:#141414;--foot-ink:#F6F0E0}}
*,*::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}
}

.edge{background:var(--paper);box-shadow:inset 0 8px 0 var(--brand)}
.rec{width:14px;height:14px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px #3a0000}
.stage{background:#050505;color:#FFBF00;border-radius:18px;border:1.5px solid var(--ink);min-height:360px;overflow:hidden;position:relative;box-shadow:0 6px 0 var(--ink)}
.scroll{padding:40vh 8vw;font-size:var(--psize,42px);line-height:1.35;font-family:var(--display);white-space:pre-wrap;margin:0}
.stage.mirror .scroll{transform:scaleX(-1)}
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}
input[type=range]{width:min(240px,100%);min-height:44px}
.endcard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.8);background:var(--reward);color:#111;padding:16px 22px;border:4px solid #111;font-family:var(--display);font-size:2rem;display:none}
.endcard.on{display:block;animation:thump .45s cubic-bezier(.34,1.56,.64,1) both}

/* 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}

