/* whizra.com. The home page as approved in the previews (website/design/hero, 2026-11-02):
   "Whiz it." hero, the one demo (sandbox/bar.js), "Same job. Two ways." race, the four promise tiles.
   Rules: docs/website/lessons/glass-design.md and context-reader-site.md; colours docs/brand/icon-brief.md §14.
   The race and tile styles are scoped under .pain and .promises so their short class names can't leak. */
@font-face{font-family:"Archivo";src:url(/fonts/archivo-latin-800.woff2) format("woff2");font-weight:800;font-display:swap}
:root{
  --bg:#FFF7F0; --fg:#1B1410; --mute:#6E655D; --line:rgba(27,20,16,.12); --soft:rgba(27,20,16,.045); --card:#FFFFFF;
  --ember:#C2410C; --on-ember:#FFFFFF; --head:rgba(255,247,240,.93);
  --brand:"Archivo","Helvetica Neue",Arial,sans-serif;
  --ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",system-ui,sans-serif;
  --s5:5px; --s8:8px; --s13:13px; --s21:21px; --s34:34px; --s55:55px; --s89:89px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#110C09; --fg:#FFF7F0; --mute:#B5ADA6; --line:rgba(255,247,240,.13); --soft:rgba(255,247,240,.06); --card:#1B1410;
  --ember:#FF9330; --on-ember:#1B1410; --head:rgba(17,12,9,.9); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#110C09; --fg:#FFF7F0; --mute:#B5ADA6; --line:rgba(255,247,240,.13); --soft:rgba(255,247,240,.06); --card:#1B1410;
  --ember:#FF9330; --on-ember:#1B1410; --head:rgba(17,12,9,.9); color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:17px/1.618 var(--ui);-webkit-font-smoothing:antialiased}
a{color:var(--ember)}
:focus-visible{outline:2px solid #FF9330;outline-offset:3px;border-radius:4px}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1120px;margin:0 auto}
.site-h{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--head);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--line)}
.site-h .wrap{display:flex;align-items:center;gap:var(--s21);padding-block:var(--s13)}
.logo{display:flex;align-items:center;gap:var(--s8);text-decoration:none;color:var(--fg);margin-right:auto}
.logo svg{width:28px;height:28px;flex:none}
.logo span{font:800 21px var(--brand);letter-spacing:-.03em}
.site-h nav{display:flex;gap:var(--s21);align-items:center}
.site-h nav a,.site-h summary{color:var(--mute);text-decoration:none;font-size:15px;cursor:pointer}
.site-h nav a:hover,.site-h summary:hover{color:var(--fg)}
.site-h summary{list-style:none}
.site-h summary::-webkit-details-marker{display:none}
.tools summary::after{content:" ▾";font-size:11px}
.tools{position:static}
/* opens over our own page, so opaque (glass-design.md) */
.mega{position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 21px 34px -21px rgba(27,20,16,.35);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s21);padding:var(--s21) max(16px,calc((100vw - 1120px)/2))}
@media (min-width:1100px){.mega{grid-template-columns:repeat(7,minmax(0,1fr))}}
.mega div{display:grid;gap:var(--s5);align-content:start}
.mega a{font-size:14px;color:var(--mute);text-decoration:none}
.mega a.g{font-weight:700;color:var(--fg);font-size:15px}
.mega a:hover{color:var(--ember)}
.menu{display:none}
.sheet{position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--line);display:grid;gap:var(--s8);padding:var(--s13) max(16px,env(safe-area-inset-left,0px))}
.sheet a{color:var(--fg);text-decoration:none}
.sheet hr{border:0;border-top:1px solid var(--line);margin:0}
.btn{display:inline-flex;align-items:center;gap:var(--s8);background:var(--ember);color:var(--on-ember);font:700 16px var(--ui);text-decoration:none;padding:var(--s13) var(--s21);border-radius:var(--s13);white-space:nowrap}
.btn .p{font-weight:600;opacity:.85}
.btn.small{padding:var(--s8) var(--s13);font-size:14px;border-radius:var(--s8)}
.btn.ghost{background:none;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--line)}
@font-face{font-family:"Caveat";src:url(/fonts/caveat-note.woff2) format("woff2");font-weight:600;font-display:swap}
.hero{padding-block:var(--s89) var(--s55);display:grid;gap:var(--s21);justify-items:center;text-align:center}
.h1wrap{position:relative;display:inline-block}
.hero h1{font-size:clamp(72px,14vw,168px);line-height:.9;letter-spacing:-.05em}
/* one hand-written note (DataFast-style): it defines the word, so "whiz" never stands alone */
.hand{position:absolute;right:100%;top:50%;margin:0 .1em 0 0;display:flex;align-items:center;transform:translateY(-62%) rotate(-6deg);
  font:600 clamp(22px,2.4vw,30px)/1.05 "Caveat","Bradley Hand","Segoe Print","Comic Sans MS",cursive;color:var(--ember);pointer-events:none;text-align:right}
.hand span{width:7.2em}
.hand .arrow{flex:none;height:auto}
.hand .arrow path{fill:none;stroke:var(--ember);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.hand .arr-d{width:clamp(56px,6vw,84px);margin-left:.15em}
.hand .arr-m{display:none}
.trylink{font-weight:600;text-decoration:none}
.trylink:hover{text-decoration:underline}
@media (max-width:1100px){
  .hand{position:static;transform:rotate(-3deg);justify-content:center;flex-direction:row-reverse;margin-top:.2em;text-align:left}
  .hand span{width:auto}
  .hand .arr-d{display:none}
  .hand .arr-m{display:block;width:64px;transform:scaleX(-1) rotate(200deg);margin:0 .2em 0 0}
}
.goal{font:600 15px var(--ui);color:var(--mute);margin:0}
h1{font:800 clamp(44px,7vw,84px)/.96 var(--brand);letter-spacing:-.045em;margin:0;text-wrap:balance}
.lead{font-size:clamp(18px,2vw,21px);color:var(--mute);max-width:44ch;margin:0;text-wrap:pretty}
.cta{display:flex;flex-wrap:wrap;gap:var(--s13);align-items:center;justify-content:center}
.fineprint{font-size:14px;color:var(--mute);margin:0}
.demo{max-width:900px;margin:0 auto;padding-bottom:var(--s21)}
.more a{font-weight:600}
.more span{color:var(--mute)}
.sbx{display:grid;gap:var(--s21);padding-block:var(--s55);max-width:900px;margin:0 auto}
.sbx h1{font-size:clamp(36px,5vw,56px)}
.sbx .lead{margin:0}
.pain .scr{margin:0;display:grid;gap:var(--s8);min-width:0}
.pain{max-width:1000px;margin:0 auto;padding-block:var(--s55);display:grid;gap:var(--s21)}
.pain .race-h{display:flex;flex-wrap:wrap;gap:var(--s13);align-items:center;justify-content:center}
.pain .race-h h2{font:800 clamp(28px,3.6vw,40px)/1.1 var(--brand);letter-spacing:-.03em;margin:0}
.pain .brand-lbl{display:inline-flex;align-items:center;gap:6px;text-transform:none!important;letter-spacing:0!important;font:600 15px var(--ui)!important;color:var(--fg)}
.pain .brand-lbl svg{width:26px;height:26px}
.pain .brand-lbl span{font:800 22px/1 var(--brand);letter-spacing:-.03em}
.pain .brand-th{white-space:nowrap}
.pain .brand-th svg{width:16px;height:16px;vertical-align:-3px;margin:0 3px}
.pain .brand-th span{font:800 13px var(--brand);letter-spacing:-.02em;text-transform:none;color:var(--fg)}
.pain .race-go{font:700 14px var(--ui);color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 16px;cursor:pointer}
.pain .duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--s21)}
.pain .scr figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s13);font-size:14px;color:var(--mute)}
.pain .scr figcaption b{font:700 13px var(--ui);text-transform:uppercase;letter-spacing:.07em}
.pain .cnt{display:flex;gap:var(--s13);align-items:baseline;font-variant-numeric:tabular-nums}
.pain .clk{font:800 28px/1 var(--brand);letter-spacing:-.03em;color:var(--fg);min-width:4.6ch;text-align:right}
.pain .web .clk{color:var(--mute)}
.pain .wz .clk{color:var(--ember)}
.pain .went{margin:0;font-size:14px;font-weight:600;opacity:0;transition:opacity .382s}
.pain .went.bad{color:var(--mute)}
.pain .went.good{color:var(--ember)}
.pain .web.go .f6 .fly{animation:fly .9s ease-in forwards;left:12%;bottom:22%;transform:none;opacity:1}
.pain .score{border-collapse:collapse;width:min(100%,560px);margin:0 auto;font-size:15px;font-variant-numeric:tabular-nums;transition:opacity .382s}
.pain .score th,.pain .score td{padding:var(--s8) var(--s13);border-bottom:1px solid var(--line);text-align:center}
.pain .score th[scope=row]{text-align:left;color:var(--mute);font-weight:600}
.pain .score thead th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
.pain .score td:last-child{font-weight:700;color:var(--ember)}
.pain.racing .score td{opacity:0}   /* the table stays (no empty band); only its values wait for the finish */
.pain .score td{transition:opacity .382s}
.pain .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pain>.fineprint{text-align:center;max-width:72ch;margin-inline:auto}
@media (max-width:760px){.pain .duo{grid-template-columns:minmax(0,1fr)}}
.maker{display:flex;gap:var(--s13);align-items:center;justify-content:center;margin:0 auto var(--s55);font-size:15px;color:var(--mute);max-width:760px;text-align:left}
.maker b{color:var(--fg)}
.maker .ph{width:44px;height:44px;border-radius:50%;border:1px dashed var(--mute);display:grid;place-items:center;font-size:10px;flex:none}
/* the four promises: line drawings in ink; the only orange is Whiz's tick. Base styles = the finished frame
   (no JS, reduced motion); .play runs each tile once from its start state. */
.promises{list-style:none;margin:0 auto;padding:var(--s34) 0 var(--s55);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s21);max-width:1000px}
@media (max-width:900px){.promises{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.promises{grid-template-columns:minmax(0,1fr)}}
.promises .tile{display:grid;grid-template-rows:auto auto 1fr;gap:var(--s5);padding:var(--s13) var(--s13) var(--s21);border:1px solid var(--line);border-radius:var(--s21);background:var(--card);text-align:left;outline-offset:3px}
.promises .tile svg{width:100%;height:auto;display:block;margin-bottom:var(--s8)}
.promises .tile h3{font:700 16px/1.3 var(--ui);margin:0}
.promises .tile p{margin:0;font-size:14px;color:var(--mute)}
.promises .tile .ln{fill:none;stroke:var(--fg);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.promises .tile .mu{stroke:var(--mute);opacity:.7}
.promises .tile .f{fill:var(--mute);stroke:none}
.promises .tile .doc{fill:var(--card)}
.promises .tile text{font:600 10px var(--ui);fill:var(--mute);text-anchor:middle}
.promises .tile .tk{fill:url(#wzb-og)}
.promises .t1 .glass{fill:var(--card);stroke:var(--fg);stroke-width:1.6;filter:drop-shadow(0 4px 6px rgba(27,20,16,.18))}
.promises .t1 .key{fill:var(--card);stroke:var(--fg);stroke-width:1.6}
.promises .t1 text{font-size:12px;fill:var(--fg)}
.promises .t2 .wifi{opacity:.3}
.promises .t2 .slash{stroke-dasharray:1;stroke-dashoffset:0}
.promises .t2 .track,.promises .t2 .prog{fill:none;stroke-width:6;stroke-linecap:round}
.promises .t2 .track{stroke:var(--line)}
.promises .t2 .prog{stroke:var(--fg);stroke-dasharray:1;stroke-dashoffset:0}
.promises .t3 .newf{opacity:0;transform:translate(70px,40px) scale(.35);transform-box:fill-box;transform-origin:center}
.promises .t3 .undo{stroke-dasharray:1;stroke-dashoffset:0}
.promises .t4 .cloud{opacity:.35;stroke-dasharray:3 3}
.promises .t4 .dots{stroke-dasharray:.04 .04;stroke:var(--mute)}
.promises .tile.play .k{animation:tap .5s ease 2 both}
.promises .tile.play .k2{animation-delay:.25s}
@keyframes tap{50%{transform:translateY(3px)}}
.promises .tile.play .bar{animation:drop .5s cubic-bezier(.2,1.2,.4,1) .9s both}
@keyframes drop{from{transform:translateY(-34px);opacity:0}}
.promises .tile.play .wifi{animation:fadeout .6s ease both}
@keyframes fadeout{from{opacity:1}}
.promises .tile.play .slash{animation:draw .5s ease .4s both}
@keyframes draw{from{stroke-dashoffset:1}}
.promises .tile.play .prog{animation:draw 1s ease .9s both}
.promises .tile.play .tk{animation:wzb-land .618s cubic-bezier(.2,1.4,.4,1) 1.9s both}
.promises .t3.play .newf{animation:make .5s ease .2s both,sweep .6s ease-in 1.9s forwards}
@keyframes make{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
@keyframes sweep{to{opacity:0;transform:translate(70px,40px) scale(.35)}}
.promises .t3.play .tk{animation-delay:.6s}
.promises .t3.play .undo{animation:draw .5s ease 1.4s both}
.promises .t4.play .dots{animation:draw .8s ease both}
.promises .t4.play .nope{animation:pop .3s ease .8s both}
@keyframes pop{from{opacity:0;transform:scale(.4)}}
.promises .t4 .nope{transform-box:fill-box;transform-origin:center}
.promises .t4.play .cloud{animation:dim .6s ease 1.1s both}
@keyframes dim{from{opacity:1;stroke-dasharray:none}}
.promises .t4.play .file{animation:nudge .8s ease .1s both}
@keyframes nudge{40%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.promises .tile.play *{animation:none!important}}
@media (max-width:760px){.site-h nav{display:none}.menu{display:block}.menu summary{border:1px solid var(--line);border-radius:8px;padding:3px 10px;color:var(--fg)}}

[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,svg,video{max-width:100%}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--card);padding:var(--s8) var(--s13);z-index:99}
:root{--s3:3px;--lh:1.618}
h2{font:800 clamp(26px,3.4vw,36px)/1.1 var(--brand);letter-spacing:-.03em;margin:0;text-wrap:balance}
h3{font:700 17px/1.3 var(--ui);margin:0}
.sec{padding-block:var(--s55);display:grid;gap:var(--s21);grid-template-columns:minmax(0,1fr)}
.sec>h2{text-align:center}
.sec-lead{margin:0 auto;color:var(--mute);max-width:56ch;text-align:center}
.demobuy{display:flex;flex-wrap:wrap;gap:var(--s8) var(--s21);align-items:center;justify-content:center;margin-top:var(--s21)}
.sbxlink{font-weight:600}
/* everything it does: one card per group (the Tools menu links here until group pages exist) */
.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--s13)}
.group{scroll-margin-top:90px;border:1px solid var(--line);border-radius:var(--s21);background:var(--card);padding:var(--s21);display:grid;gap:var(--s8);align-content:start}
.group h3{font:800 20px/1.2 var(--brand);letter-spacing:-.02em}
.group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.group li{font-size:13px;line-height:1;padding:6px 10px;border-radius:999px;border:1px solid rgba(27,20,16,.28);color:var(--fg)}
@media (prefers-color-scheme:dark){.group li{border-color:rgba(255,247,240,.3)}}
.group .say{margin:0;font-size:14px;color:var(--mute)}
.group .say::before{content:"› ";color:var(--ember);font-weight:800}
.limits{margin:0;padding:var(--s13) var(--s21);border:1px dashed var(--line);border-radius:var(--s13);font-size:14px;color:var(--mute)}
.limits summary{cursor:pointer;font-weight:600;color:var(--fg)}
.limits ul{margin:var(--s8) 0 0;padding-left:1.1em;display:grid;gap:var(--s3)}
/* privacy, exactly what stays and what goes */
.priv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--s13);max-width:900px;margin:0 auto;width:100%}
.priv>div{border:1px solid var(--line);border-radius:var(--s21);padding:var(--s21);background:var(--card)}
.priv h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute);margin-bottom:var(--s8)}
.priv ul{margin:0;padding-left:1.1em;display:grid;gap:var(--s5)}
/* price */
.pricebox{display:flex;flex-wrap:wrap;gap:var(--s21) var(--s55);align-items:center;justify-content:center;border:1px solid var(--line);background:var(--card);border-radius:var(--s21);padding:var(--s34);max-width:900px;margin:0 auto;width:100%}
.pricebox h2{text-align:left}
.tiers{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3);font-size:15px;color:var(--mute);font-variant-numeric:tabular-nums}
.tiers b{color:var(--fg)}
/* FAQ */
.faq{max-width:760px;margin:0 auto;width:100%;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding-block:var(--s13)}
.faq summary{cursor:pointer;font-weight:700}
.faq p{margin:var(--s8) 0 0;color:var(--mute);max-width:66ch}
.final{justify-items:center;text-align:center}
.maker{display:flex;gap:var(--s13);align-items:center;justify-content:center;margin:0 auto;font-size:15px;color:var(--mute);max-width:760px;text-align:left}
.maker b{color:var(--fg)}
/* plain pages (pricing, legal, contact, thanks, sandbox): one readable column */
main.page .wrap{max-width:760px}
main.page .wrap>*+*{margin-top:var(--s21)}
main.page h1{font-size:clamp(34px,5.4vw,56px);line-height:1.02;margin-top:var(--s34)}
main.page h2{font-size:24px;margin-top:var(--s34)}
main.page li+li{margin-top:var(--s5)}
main.page .wrap.wide{max-width:1000px}
.muted{font-size:15px;color:var(--mute)}
.buy{display:inline-flex;align-items:center;gap:var(--s8);background:var(--ember);color:var(--on-ember);font:700 16px var(--ui);text-decoration:none;padding:var(--s13) var(--s21);border-radius:var(--s13);border:0;cursor:pointer}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--s21);padding:var(--s21)}
.price{font:800 44px/1 var(--brand);letter-spacing:-.04em}
.price s{font:500 22px var(--ui);color:var(--mute);margin-left:var(--s8)}
ul.tiers li{padding:var(--s5) 0}
/* footer */
.site-f{border-top:1px solid var(--line);margin-top:var(--s34)}
.site-f .wrap{padding-block:var(--s34) var(--s55);display:grid;gap:var(--s21);font-size:14px;color:var(--mute)}
.site-f .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s21)}
.site-f .cols div{display:grid;gap:var(--s5);align-content:start}
.site-f a{color:var(--mute);text-decoration:none}.site-f a:hover{color:var(--fg)}
.site-f .cols b{color:var(--fg);font-size:13px}
.site-f .legal{display:flex;flex-wrap:wrap;gap:var(--s8) var(--s21);border-top:1px solid var(--line);padding-top:var(--s21)}
.site-f .legal span{margin-right:auto}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* group pages (generated by groups.py) */
.group h3 a{color:inherit;text-decoration:none}.group h3 a:hover{color:var(--ember)}
.group .see{font-size:14px;font-weight:600;text-decoration:none;margin-top:var(--s5)}
.crumbs{font-size:14px;color:var(--mute);margin-top:var(--s21)}.crumbs a{color:var(--mute)}
.toc{display:flex;flex-wrap:wrap;gap:var(--s8)}
.toc a{font-size:14px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--fg);background:var(--card)}
.toc a:hover{border-color:var(--fg)}
.gdemo{display:grid;gap:var(--s8);padding-block:var(--s21)}
.job{scroll-margin-top:90px;display:grid;gap:var(--s13);padding-block:var(--s34);border-top:1px solid var(--line)}
.job h2{font-size:clamp(24px,3vw,30px);margin:0!important}
.job h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute);margin:0 0 var(--s5)}
.job p{margin:0 0 var(--s5)}
.job.small{gap:var(--s8)}
.job .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--s21)}
.job .cols ul{margin:0;padding-left:1.1em}
.job ul.says{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.job ul.says li{margin:0!important;font-size:14px;padding:5px 10px;border-radius:var(--s8);background:var(--soft);border:1px solid var(--line)}
.job ul.says li::before{content:"› ";color:var(--ember);font-weight:800}
.job .fine{font-size:14px;color:var(--mute)}
.clip{margin:0}
.poster{aspect-ratio:16/9;max-height:260px;border-radius:var(--s13);border:1px dashed var(--line);background:var(--soft);display:grid;place-content:center;justify-items:center;gap:var(--s5);text-align:center;padding:var(--s21)}
.poster span{font:700 12px var(--ui);text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.poster b{font:800 clamp(20px,3vw,28px)/1.2 var(--brand);letter-spacing:-.02em}
.poster small{color:var(--mute);font-size:13px}
.others{display:flex;flex-wrap:wrap;gap:var(--s8)}
.others a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--fg);font-weight:600;background:var(--card)}
q{quotes:"“" "”" "‘" "’"}
/* job pages */
.rec{margin:0;font-size:14px;color:var(--mute);max-width:72ch}.rec b{color:var(--fg)}
.steps-list{margin:0;padding-left:1.3em;display:grid;gap:var(--s5)}
.jcard h2 a{color:inherit;text-decoration:none}.jcard h2 a:hover{color:var(--ember)}
.more-link{font-weight:600;text-decoration:none}.more-link:hover{text-decoration:underline}
.more-groups h3{font-size:15px;color:var(--mute);margin-top:var(--s13)}
/* alternatives */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--s13);background:var(--card)}
table.cmp{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
table.cmp th,table.cmp td{padding:var(--s8) var(--s13);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.cmp thead th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
table.cmp th[scope=row]{font-weight:600}
table.cmp th[scope=row] a{color:var(--fg)}
.say-plain{margin:0;font-size:14px;color:var(--mute)}
/* free browser tool on a job page */
.tool{display:grid;gap:var(--s13);padding-block:var(--s21)}
.tool h2{font-size:clamp(24px,3vw,30px)}
.tool p{margin:0}
.tool-notes{margin:0;padding-left:1.1em;font-size:14px;color:var(--mute);display:grid;gap:var(--s3)}
/* Never a sideways page scroll on phones (owner saw one in Safari at 390 px that Chrome doesn't show).
   clip, not hidden: it doesn't make a scroll container, so the sticky header keeps working. */
html,body{overflow-x:clip;max-width:100%}
.pain .url,.wzb-meta,.wzb-chip span,.job p,.group li{overflow-wrap:anywhere}

/* ---- "Same job. Two ways." (owner 2026-11-02): a real-looking generic browser vs Whizra on a Mac desktop ---- */
.pain .duo{align-items:start}
.pain .bw{border-radius:12px;overflow:hidden;background:#fff;color:#2B2F36;box-shadow:0 0 0 1px rgba(27,20,16,.16),0 21px 34px -21px rgba(27,20,16,.5);font:12px/1.35 -apple-system,BlinkMacSystemFont,"Helvetica Neue",system-ui,sans-serif}
.pain .bw-top{display:flex;align-items:flex-end;gap:4px;padding:8px 10px 0;background:#E3E5E9}
.pain .bw-dots{display:flex;gap:6px;margin:0 8px 9px 0}.pain .bw-dots i{width:11px;height:11px;border-radius:50%;background:#FF5F57}.pain .bw-dots i:nth-child(2){background:#FEBC2E}.pain .bw-dots i:nth-child(3){background:#28C840}
.pain .bw-tab{display:flex;align-items:center;gap:6px;max-width:44%;padding:7px 12px;border-radius:8px 8px 0 0;color:#5A6170;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pain .bw-tab.on{background:#fff;color:#2B2F36}
.pain .bw-tab .fav{flex:none;width:12px;height:12px;border-radius:3px;background:#8A94A3}.pain .bw-tab .fav.g{background:#C5C9D0}
.pain .bw-plus{padding:0 6px 8px;color:#5A6170}
.pain .bw-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid #E6E8EC}
.pain .bw-nav{color:#8A94A3;letter-spacing:4px;font-size:14px;flex:none}
.pain .bw-url{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:#F1F3F5;border-radius:999px;padding:4px 12px;color:#4A5160;overflow:hidden;white-space:nowrap}
.pain .bw-url svg{flex:none;width:10px;height:12px;fill:none;stroke:#5A6170;stroke-width:1.4}
.pain .bw-url span{overflow:hidden;text-overflow:ellipsis}
.pain .bw-dl{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:6px}
.pain .bw-dl svg{width:14px;height:14px;fill:none;stroke:#5A6170;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pain .web[data-step="8"] .bw-dl{background:#E8EEF8}.pain .web.playing[data-step="8"] .bw-dl{animation:bwbounce .5s ease 2}
@keyframes bwbounce{50%{transform:translateY(-4px)}}
.pain .bw-marks{display:flex;gap:8px;padding:4px 12px;border-bottom:1px solid #EEF0F2}.pain .bw-marks i{width:46px;height:7px;border-radius:4px;background:#E6E8EC}
.pain .bw-view{position:relative;aspect-ratio:16/11;background:#FAFBFC;overflow:hidden}
.pain .bv{position:absolute;inset:0;padding:7%;display:grid;align-content:start;gap:10px;opacity:0;transition:opacity .2s}
.pain .web[data-step="1"] .s1,.pain .web[data-step="2"] .s2,.pain .web[data-step="3"] .s3,.pain .web[data-step="4"] .s4,.pain .web[data-step="5"] .s5,.pain .web[data-step="6"] .s6,.pain .web[data-step="7"] .s7,.pain .web[data-step="8"] .s8{opacity:1}
.pain .s1{justify-items:center;align-content:center}
.pain .sx-logo{font:700 26px/1 Georgia,serif;color:#8A94A3;letter-spacing:-.02em}
.pain .sx-box{width:80%;border:1px solid #D5D8DD;border-radius:999px;padding:7px 14px;background:#fff;min-height:30px}.pain .sx-box.small{width:70%}
.pain .sx-btn{background:#EEF0F2;border-radius:6px;padding:5px 12px}
.pain .rs{display:grid;gap:2px;padding:6px 8px;border-radius:6px}.pain .rs b{color:#3A4A8C;font-weight:600}.pain .rs span{color:#5A6170;font-size:11px}
.pain .web[data-step="2"] .rs.first{background:#EEF2FB}
.pain .site h4{margin:0;font:700 18px/1.2 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#2B2F36}
.pain .up-btn{justify-self:start;background:#8A94A3;color:#fff;border-radius:8px;padding:8px 14px;font-weight:600}
.pain .up-btn.dl{background:#5A6170}
.pain .cookie{position:absolute;left:0;right:0;bottom:0;background:#2B2F36;color:#fff;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 14px}
.pain .cookie u,.pain .sheet u{text-decoration:none;background:#fff;color:#2B2F36;border-radius:6px;padding:4px 10px;font-weight:600;white-space:nowrap}
.pain .adbox{position:absolute;inset:18% 14%;background:repeating-linear-gradient(45deg,#ECEEF1 0 10px,#E3E5E9 10px 20px);border:1px solid #D5D8DD;border-radius:8px;display:grid;place-content:center;gap:6px;box-shadow:0 10px 30px -10px rgba(0,0,0,.3)}
.pain .adbox em{position:absolute;left:8px;top:6px;font-style:normal;font-size:10px;border:1px solid #9AA3AF;border-radius:3px;padding:0 4px;color:#6B7280}
.pain .adbox .x{position:absolute;right:8px;top:4px;font-size:16px;color:#6B7280}
.pain .adbox i{display:block;width:120px;height:8px;border-radius:4px;background:#D1D5DB}
.pain .sheet{position:absolute;left:18%;right:18%;top:12%;background:#fff;border-radius:10px;padding:10px;display:grid;gap:4px;box-shadow:0 14px 34px -10px rgba(0,0,0,.4)}
.pain .sheet span{padding:3px 8px;border-radius:5px}.pain .sheet .pick{background:#DCE6FA}.pain .sheet u{justify-self:end;background:#3A6FD8;color:#fff}
.pain .upl{display:grid;justify-items:center;gap:6px;border:2px dashed #C5C9D0;border-radius:10px;padding:14px;background:#fff}
.pain .upl .pg{width:80%;height:8px;border-radius:4px;background:#E4E6EA;overflow:hidden}.pain .upl .pg i{display:block;height:100%;width:64%;background:#8A94A3}
.pain .web.playing[data-step="6"] .upl .pg i{animation:bwfill .8s ease-out both}@keyframes bwfill{from{width:8%}}
.pain .doc{display:inline-grid;place-items:center;width:26px;height:32px;border:1.5px solid #9AA3AF;border-radius:3px;background:#fff;font:700 7px var(--ui);color:#6B7280}
.pain .cl{position:absolute;right:9%;top:9%;width:64px;fill:#EEF0F2;stroke:#C5C9D0;stroke-width:1.5}
.pain .queue{display:grid;justify-items:center;gap:6px;padding:24px}
.pain .spin{width:22px;height:22px;border-radius:50%;border:3px solid #E4E6EA;border-top-color:#8A94A3;animation:bwspin .8s linear infinite}@keyframes bwspin{to{transform:rotate(360deg)}}
.pain .dls{position:absolute;right:4%;top:3%;background:#fff;border-radius:8px;padding:8px 10px;display:grid;gap:3px;box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}
.pain .dls span{color:#2B2F36}
.pain .cur{position:absolute;width:15px;height:21px;left:86%;top:88%;z-index:5;transition:left .45s cubic-bezier(.4,0,.2,1),top .45s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.pain .cur path{fill:#fff;stroke:#111;stroke-width:1.2;stroke-linejoin:round}
.pain .cur.click{animation:bwclick .3s ease}@keyframes bwclick{50%{transform:scale(.8)}}
.pain .web:not(.playing) .cur{opacity:0}
/* the eight steps, listed (real text: shows the chores even with motion off) */
.pain .steps8{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 6px;font-size:12px;counter-reset:s}
.pain .steps8 li{counter-increment:s;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--mute);transition:all .2s}
.pain .steps8 li::before{content:counter(s) ". "}
.pain .steps8 li.on{border-color:var(--fg);color:var(--fg);font-weight:700}
.pain .steps8 li.past{color:var(--fg)}
/* Whizra side: the same Mac desktop as the demo */
.pain .mac{position:relative;aspect-ratio:16/13.4;border-radius:12px;overflow:hidden;background:linear-gradient(155deg,#FFDCC0 0%,#F5B49A 38%,#D9A3C4 72%,#B8A4D9 100%);
  box-shadow:0 0 0 1px rgba(27,20,16,.18),0 0 0 5px #1B1410,0 21px 34px -21px rgba(27,20,16,.5);margin:5px;display:grid;align-content:start;justify-items:center;gap:12px;padding:40px 7% 0}
.pain .mac-menu{position:absolute;inset:0 0 auto;height:22px;display:flex;align-items:center;gap:12px;padding:0 10px;font-size:11px;color:#1B1410;background:rgba(255,255,255,.5)}
.pain .mac-menu .mg{width:19px;height:11px}.pain .mac-menu .sp{flex:1}
.pain .mini{width:100%;background:rgba(255,252,249,.9);border:1px solid rgba(255,255,255,.8);border-radius:14px;box-shadow:0 21px 34px -21px rgba(27,20,16,.45);color:#1B1410;overflow:hidden;transition:transform .382s cubic-bezier(.2,1.2,.4,1),opacity .236s}
.pain .wz[data-step="0"] .mini{transform:translateY(-22px);opacity:0}
.pain .fld{display:flex;align-items:center;gap:6px;padding:9px 12px;font-size:clamp(13px,1.6vw,17px);flex-wrap:wrap}
.pain .fld .chev{font:800 1.1em var(--brand);color:#C2410C}
.pain .fld .chip{font-size:11px;font-weight:600;background:rgba(27,20,16,.05);border:1px solid rgba(27,20,16,.12);border-radius:6px;padding:1px 6px}
.pain .out{border-top:1px solid rgba(27,20,16,.12);padding:9px 12px;display:flex;gap:10px;align-items:center;font-variant-numeric:tabular-nums}
.pain .out .tk{width:26px;height:24px;flex:none}.pain .out b{display:block;font:800 clamp(15px,1.9vw,20px)/1.1 var(--brand);letter-spacing:-.02em}.pain .out small{color:#6E655D;font-size:11px}
.pain .wz[data-step="0"] .out,.pain .wz[data-step="1"] .out{visibility:hidden}
.pain .wz.land .out .tk{animation:wzb-land .618s cubic-bezier(.2,1.4,.4,1)}
.pain .fwin{justify-self:start;width:78%;background:#FBF8F5;border-radius:9px;overflow:hidden;box-shadow:0 0 0 1px rgba(27,20,16,.1),0 14px 24px -14px rgba(27,20,16,.5);color:#1B1410;font-size:11px}
.pain .fwin-tb{display:flex;gap:5px;align-items:center;padding:6px 8px;background:#F1ECE6}.pain .fwin-tb i{width:9px;height:9px;border-radius:50%;background:#FF5F57}.pain .fwin-tb i:nth-child(2){background:#FEBC2E}.pain .fwin-tb i:nth-child(3){background:#28C840}.pain .fwin-tb b{margin-left:8px;font-weight:600}
.pain .fwin-files{display:flex;gap:14px;padding:10px 12px}
.pain .fi{width:84px;display:grid;justify-items:center;gap:3px;text-align:center;line-height:1.2}
.pain .fi.sel{color:#fff}.pain .fi.sel>.doc+*{}
.pain .fi.sel{background:none}.pain .fi.sel{color:#1B1410}
.pain .fi.made{font-weight:700}
.pain .wz[data-step="0"] .fi.made,.pain .wz[data-step="1"] .fi.made{visibility:hidden}
.pain .wz.land .fi.made{animation:wzb-pop .382s cubic-bezier(.2,1.3,.4,1)}
.pain .keys{position:absolute;right:6%;bottom:6%;display:flex;gap:5px;opacity:0;transition:opacity .2s}
.pain .keys kbd{font:600 15px/1 var(--ui);background:#fff;color:#1B1410;border-radius:6px;padding:6px 9px;box-shadow:0 3px 0 rgba(27,20,16,.35),0 0 0 1px rgba(27,20,16,.15)}
.pain .wz.keys-on .keys{opacity:1}.pain .wz.keys-on .keys kbd{animation:wzb-press .26s ease 2}
@keyframes wzb-press{50%{transform:translateY(3px);box-shadow:0 0 0 rgba(27,20,16,.35),0 0 0 1px rgba(27,20,16,.15)}}
.pain .already{position:absolute;bottom:5%;left:6%;right:6%;text-align:center;font-size:13px;font-weight:700;color:#C2410C;background:#fff;border-radius:999px;padding:5px 12px;transition:opacity .382s}
.pain .wz.wait .already{opacity:0}
@media (max-width:760px){.pain .duo{grid-template-columns:minmax(0,1fr)}}
.hero .formac{font-weight:600;color:var(--fg)}
/* "Same job. Two ways." as one captioned film (2026-11-03). The stage holds both scenes; without JS or with reduced
   motion it shows the end card, and the steps list sits under it. */
.pain>h2{font:800 clamp(28px,3.6vw,40px)/1.1 var(--brand);letter-spacing:-.03em;margin:0;text-align:center}
.pain .film{margin:0;display:grid;gap:var(--s13)}
.pain .stage{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:#1B1410;box-shadow:0 0 0 1px var(--line),0 34px 55px -34px rgba(27,20,16,.55);isolation:isolate}
.pain .scene{position:absolute;inset:0;opacity:0}
.pain .scene .bw{height:100%;display:flex;flex-direction:column;border-radius:0;box-shadow:none}
.pain .scene .bw-view{flex:1;aspect-ratio:auto}
.pain .scene .mac{height:100%;aspect-ratio:auto;margin:0;border-radius:0;box-shadow:none;padding:12% 18% 0;gap:16px}
.pain .scene .mini{max-width:560px}
.pain .scene .fwin{justify-self:center;width:70%}
.pain .film.anim[data-act="web"] .web{opacity:1}
.pain .film.anim[data-act="mac"] .web{opacity:1}
.pain .film.anim[data-act="mac"] .wz{opacity:1;clip-path:inset(0);transition:clip-path .62s cubic-bezier(.6,0,.2,1)}
.pain .film.anim .wz{clip-path:inset(0 0 0 100%)}
.pain .web.find .dls{outline:3px solid #FF9330;outline-offset:2px}
.pain .stage::after{content:"";position:absolute;inset:0;z-index:5;background:radial-gradient(ellipse 75% 55% at 50% 66%,rgba(27,20,16,.38),transparent 75%);opacity:0;transition:opacity .3s;pointer-events:none}
.pain .film.anim:not([data-act="end"]) .stage::after{opacity:1}
.pain .cap{position:absolute;left:50%;top:66%;z-index:6;transform:translate(-50%,-50%);margin:0;width:max-content;max-width:90%;display:grid;justify-items:center;gap:8px;text-align:center;
  background:rgba(27,20,16,.92);color:#FFF7F0;border-radius:22px;padding:18px 30px 20px;box-shadow:0 21px 55px -13px rgba(0,0,0,.55);opacity:0}
.pain .cap .big{font:800 clamp(30px,5.6vw,68px)/1.04 var(--brand);letter-spacing:-.035em;text-wrap:balance}
.pain .cap small{font:600 clamp(15px,1.9vw,22px)/1.3 var(--ui);color:#FFB27A}
.pain .cap small:empty,.pain .hud [data-ws]:empty,.pain .hud [data-wc]:empty{display:none}
.pain .hud{display:flex;gap:12px;align-items:baseline;justify-content:center;font:600 clamp(13px,1.4vw,16px) var(--ui);color:#D8CFC7;font-variant-numeric:tabular-nums}
.pain .hud b{color:#FFF7F0}.pain .hud b span{font:800 1.1em var(--brand);letter-spacing:-.02em}
.pain .hud .clk{font:800 1.25em/1 var(--brand);color:#FF9330;min-width:0;text-align:left}
.pain .cap.show{animation:capin .32s cubic-bezier(.2,1.2,.4,1) both}
@keyframes capin{from{opacity:0;transform:translate(-50%,-44%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%)}}
.pain .endc{position:absolute;inset:0;z-index:7;display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:var(--s21);padding:6% 7%;background:var(--card);color:var(--fg)}
.pain .film.anim:not([data-act="end"]) .endc{opacity:0;visibility:hidden}
.pain .film.anim[data-act="end"] .endc{animation:capfade .5s ease both}
@keyframes capfade{from{opacity:0}to{opacity:1}}
.pain .endc .col{display:grid;gap:6px;align-content:start;padding:var(--s21);border-radius:16px;border:1px solid var(--line)}
.pain .endc .col.me{border:2px solid var(--ember)}
.pain .endc .lab{font:700 13px var(--ui);text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
.pain .endc .lab.brand-lbl{text-transform:none;letter-spacing:0}
.pain .endc strong{font:800 clamp(34px,6vw,72px)/1 var(--brand);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.pain .endc .me strong{color:var(--ember)}
.pain .endc span{font-size:16px;color:var(--fg)}
.pain .endc .replay{grid-column:1/-1;justify-self:center;font:700 15px var(--ui);color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 18px;cursor:pointer}
.pain .steps-list{margin:0;padding-left:1.4em;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:2px var(--s21);color:var(--mute);font-size:15px}
.pain .film.anim .steps-list{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pain .film>.fineprint{text-align:center;max-width:72ch;margin-inline:auto}
@media (max-width:640px){.pain .stage{aspect-ratio:4/5}.pain .scene .mac{padding:22% 6% 0}.pain .scene .fwin{width:92%}
  .pain .endc{grid-template-columns:minmax(0,1fr);padding:6%;gap:var(--s13)}.pain .endc .col{padding:var(--s13)}.pain .cap{padding:14px 18px 16px;top:64%}}
.pain .film:not(.anim) .stage{aspect-ratio:auto}.pain .film:not(.anim) .endc{position:relative;inset:auto;padding:var(--s21)}
.pain .film>.fineprint .how{display:inline}.pain .film>.fineprint .how[open] p{display:block}
.pain .film>.fineprint .how summary{cursor:pointer;color:var(--fg);font-weight:600;display:inline-block}
.pain .film>.fineprint .how p{margin:6px auto 0;max-width:72ch}
/* "I want it for Windows": small and secondary, Windows visitors only */
.winwant{margin:var(--s8) 0 0;font-size:14px;color:var(--mute);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.hero .winwant{justify-content:center}
.winwant button{font:600 14px var(--ui);color:var(--fg);background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer}
.winwant button:hover:not([disabled]){border-color:var(--fg)}
.winwant button[disabled]{cursor:default;border-style:dashed;color:var(--mute)}
/* Guides and docs (2026-11-03) */
.pagelist{list-style:none;margin:var(--s21) 0;padding:0;display:grid;gap:var(--s13)}
.pagelist li{display:grid;gap:2px;padding:var(--s13) var(--s21);border:1px solid var(--line);border-radius:14px;background:var(--card)}
.pagelist a{font-weight:700;font-size:18px;color:var(--fg);text-decoration:none}
.pagelist a:hover{color:var(--ember);text-decoration:underline}
.pagelist span{color:var(--mute);font-size:15px}
table.facts{border-collapse:collapse;width:100%;font-size:15px;margin:var(--s13) 0}
table.facts th,table.facts td{text-align:left;vertical-align:top;padding:var(--s8) var(--s13) var(--s8) 0;border-bottom:1px solid var(--line)}
table.facts thead th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
@media (max-width:560px){table.facts{display:block;overflow-x:auto}}
.job pre{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:var(--s13) var(--s21);overflow-x:auto;font-size:14px}
.job code{font:14px ui-monospace,SFMono-Regular,Menlo,monospace}
/* /for/<who> audience pages (2026-11-03) */
.aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--s13);margin-top:var(--s13)}
.aud-card{display:grid;gap:var(--s8);align-content:start;padding:var(--s21);border:1px solid var(--line);border-radius:16px;background:var(--card)}
.aud-card p{margin:0}
.aud-card .say{font:700 18px/1.3 var(--ui);color:var(--fg)}
.aud-card .say q{quotes:"“" "”"}
.aud-card .rec{font-size:14px;color:var(--mute);border-top:1px solid var(--line);padding-top:var(--s8)}
.aud-card .rec b{color:var(--fg)}
.aud-card .see a{color:var(--ember);font-weight:700;text-decoration:none}
.aud-card .see a:hover{text-decoration:underline}
/* /changelog */
.changelog{list-style:none;margin:var(--s21) 0;padding:0;display:grid;gap:0;border-left:2px solid var(--line)}
.changelog li{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:var(--s13);padding:var(--s13) 0 var(--s13) var(--s21);position:relative}
.changelog li::before{content:"";position:absolute;left:-6px;top:calc(var(--s13) + 7px);width:10px;height:10px;border-radius:50%;background:var(--ember)}
.changelog time{font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.changelog p{margin:0}
.changelog kbd{font:600 13px var(--ui);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px}
@media (max-width:560px){.changelog li{grid-template-columns:minmax(0,1fr);gap:2px}}

/* Scroll-driven film: the reel is the scroll length, the stage stays pinned under the header. */
.pain .film.anim .reel{height:calc(100vh * 2.8)}
.pain .film.anim .stage{position:sticky;top:max(76px, calc(50vh - min(31.25vw, 312px)))}
@media (max-width:640px){.pain .film.anim .stage{top:max(70px, calc(50vh - 62vw))}}
.pain .cur{transition:left .35s cubic-bezier(.4,0,.2,1),top .35s cubic-bezier(.4,0,.2,1),opacity .2s}
.pain .hint{position:absolute;left:50%;bottom:4%;z-index:8;transform:translateX(-50%);margin:0;font:600 14px var(--ui);color:#FFF7F0;background:rgba(27,20,16,.72);padding:6px 14px;border-radius:999px;opacity:0;transition:opacity .3s;pointer-events:none}
.pain .film.anim.first .hint{opacity:1}
.pain .film:not(.anim) .hint{display:none}
/* What it adds up to */
.pain .adds{display:grid;gap:var(--s13);max-width:760px;width:100%;margin:0 auto;padding:var(--s21);border:1px solid var(--line);border-radius:16px;background:var(--card)}
.pain .adds h3{margin:0;font:800 clamp(20px,2.4vw,26px)/1.15 var(--brand);letter-spacing:-.02em}
.pain .adds-n{display:grid;gap:6px;font-size:15px}
.pain .adds-n input{width:100%;accent-color:var(--ember)}
.pain .adds-rows{display:grid;gap:var(--s8)}
.pain .adds-row{display:grid;grid-template-columns:5.5em minmax(0,1fr) 9.5em;gap:var(--s13);align-items:center;font-variant-numeric:tabular-nums}
.pain .adds-row .who{font-weight:700;font-size:14px}
.pain .adds-row>b{font-size:15px;text-align:right}
.pain .adds-row.me>b{color:var(--ember)}
.pain .track{height:22px;border-radius:6px;background:var(--line);overflow:hidden}
.pain .track .b{display:block;height:100%;border-radius:6px;transition:width .3s}
.pain .track .b.web{background:var(--mute)}
.pain .track .b.wz{background:var(--ember)}
.pain .adds-up{margin:0;font-size:15px}
.pain .adds-up .zero{color:var(--ember)}
.pain .adds .fineprint{margin:0}
@media (max-width:520px){.pain .adds-row{grid-template-columns:minmax(0,1fr) auto}.pain .adds-row .track{grid-column:1/-1;grid-row:2}}
