/* 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:linear-gradient(to top,rgba(27,20,16,.12),rgba(27,20,16,0) 30%);opacity:0;transition:opacity .3s;pointer-events:none}
.pain .film.anim:not([data-act="end"]) .stage::after{opacity:1}
/* The caption: a small glass lower-third, so the screen it explains stays in view. */
.pain .cap{position:absolute;left:50%;bottom:4.5%;z-index:6;transform:translateX(-50%);margin:0;width:max-content;max-width:min(88%,620px);display:grid;justify-items:center;gap:5px;text-align:center;
  background:rgba(24,17,13,.74);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);color:#FFF7F0;border-radius:16px;padding:11px 22px 13px;
  box-shadow:0 0 0 1px rgba(255,247,240,.10) inset,0 1px 0 rgba(255,247,240,.08) inset,0 18px 40px -14px rgba(0,0,0,.6);opacity:0}
.pain .cap .big{font:800 clamp(19px,2.9vw,33px)/1.1 var(--brand);letter-spacing:-.025em;text-wrap:balance}
.pain .cap small{font:500 clamp(13px,1.45vw,16px)/1.35 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:10px;align-items:center;justify-content:center;font:600 clamp(11px,1.1vw,13px) var(--ui);color:#CFC4BA;font-variant-numeric:tabular-nums}
.pain .hud b{font-weight:600;color:#E9DFD6;letter-spacing:.01em}.pain .hud b span{font:800 1.08em var(--brand);letter-spacing:-.02em;color:#FFF7F0}
.pain .hud [data-ws]{display:inline-flex;align-items:center;gap:3px}
.pain .hud [data-ws] i{width:14px;height:3px;border-radius:2px;background:rgba(255,247,240,.18)}
.pain .hud [data-ws] i.on{background:rgba(255,178,122,.75)}.pain .hud [data-ws] i.now{background:#FF9330;width:20px}
.pain .hud [data-ws] em{font-style:normal;margin-left:5px;color:#CFC4BA}
.pain .hud .clk{font:800 1.3em/1 var(--brand);color:#FF9330;min-width:0;text-align:left}
.pain .cap.show{animation:capin .38s cubic-bezier(.2,.9,.3,1) both}
@keyframes capin{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translateX(-50%)}}
/* The next thing to click shakes a little and glows, so the eye finds it before the cursor does. */
.pain .web .next{animation:nextnudge 1.7s ease-in-out .4s infinite;border-radius:8px}
.pain .web :where(span,u,b,i).next{display:inline-block}
.pain .tw pre .next{border-radius:4px;background:rgba(255,147,48,.16);padding:0 3px;margin:0 -3px}
.pain .tw.next{border-radius:10px}
@keyframes nextnudge{0%,26%,100%{transform:none;box-shadow:0 0 0 0 rgba(255,147,48,0)}
  3%{transform:translateX(-2px) rotate(-1.2deg);box-shadow:0 0 0 0 rgba(255,147,48,.6)}6%{transform:translateX(2px) rotate(1.2deg)}
  9%{transform:translateX(-1.5px) rotate(-.6deg)}12%{transform:translateX(1px)}15%{transform:none}24%{box-shadow:0 0 0 9px rgba(255,147,48,0)}}
.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:9px 14px 11px;bottom:3%;max-width:92%}}
.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:calc(4.5% + 92px);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;font-variant-numeric:tabular-nums}
.pain .adds.running .adds-row>b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}
.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}
/* The year playing: a playhead runs over the months while both clocks count. */
.pain .year{display:grid;gap:6px}
.pain .year-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s13);font-variant-numeric:tabular-nums}
.pain .year-top b{font:800 15px var(--brand);letter-spacing:-.01em}
.pain .year-play{font:600 13px var(--ui);color:var(--ember);background:none;border:0;padding:4px 0;cursor:pointer}
.pain .year-play::before{content:"▶ ";font-size:.8em}
.pain .adds.running .year-play{visibility:hidden}
.pain .months{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));font-size:12px;color:var(--mute);border-top:1px solid var(--line);padding-top:6px}
.pain .months span{text-align:center}
.pain .months .head{position:absolute;top:-5px;left:0;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px color-mix(in srgb,var(--ember) 22%,transparent)}
.pain .months::before{content:"";position:absolute;top:-1px;left:0;height:2px;width:var(--yr,0);background:var(--ember)}
.pain .adds .b{transition:none}
.pain .adds.running .adds-row:not(.me)>b::after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:currentColor;vertical-align:1px;animation:bwcaret 1s steps(1) infinite}
.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}.pain .months{font-size:10px}}

/* The film's stories (2026-11-03): a Terminal over the guide, a desktop slides app, a daily-limit wall, sign-up fields. */
.pain .bw-title{display:none}
.pain .bw.app .bw-tab,.pain .bw.app .bw-plus,.pain .bw.app .bw-bar,.pain .bw.app .bw-marks{display:none}
.pain .bw.app .bw-top{padding-bottom:8px;align-items:center}.pain .bw.app .bw-dots{margin-bottom:0}
.pain .bw.app .bw-title{display:block;flex:1;text-align:center;margin-right:60px;font-weight:600;color:#2B2F36;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pain .gp{margin:0;color:#4A5160}
.pain .gc{justify-self:start;font:12px/1.4 ui-monospace,Menlo,monospace;background:#F1F3F5;border:1px solid #E1E4E8;border-radius:6px;padding:6px 10px;color:#2B2F36}
.pain .tmv{padding:0}
.pain .tw{position:absolute;inset:9% 7% 11% 10%;background:#1E1E1E;border-radius:9px;overflow:hidden;box-shadow:0 20px 40px -14px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4)}
.pain .tw-tb{display:flex;gap:5px;align-items:center;padding:6px 8px;background:#2D2D2D;color:#B8B8B8;font-size:11px}
.pain .tw-tb i{width:9px;height:9px;border-radius:50%;background:#FF5F57}.pain .tw-tb i:nth-child(2){background:#FEBC2E}.pain .tw-tb i:nth-child(3){background:#28C840}.pain .tw-tb b{flex:1;text-align:center;font-weight:600;margin-right:30px}
.pain .tw pre{margin:0;padding:10px 12px;font:clamp(9px,1.25vw,13px)/1.5 ui-monospace,Menlo,monospace;color:#E6E6E6;white-space:pre-wrap;overflow-wrap:anywhere}
.pain .tw pre em{font-style:normal;color:#7FD47F}
.pain .caret{display:inline-block;width:.6em;height:1.1em;vertical-align:-.2em;background:#E6E6E6;animation:bwcaret 1s steps(1) infinite}@keyframes bwcaret{50%{opacity:0}}
.pain .note{position:absolute;left:14%;right:14%;bottom:5%;z-index:4;background:#FFF4D6;color:#5A3E00;border:1px solid #E8C468;border-radius:8px;padding:8px 12px;font-weight:600;text-align:center;opacity:0;transition:opacity .2s}
.pain .web.noted .note{opacity:1}
.pain .fx{display:grid;gap:3px;width:70%}.pain .fx span{font-size:11px;color:#5A6170}.pain .fx i{font-style:normal;border:1px solid #D5D8DD;border-radius:6px;padding:5px 10px;background:#fff;color:#2B2F36}
.pain .lim{position:absolute;inset:20% 14%;background:#fff;border-radius:10px;padding:16px;display:grid;gap:8px;align-content:center;justify-items:center;text-align:center;box-shadow:0 14px 34px -10px rgba(0,0,0,.4)}
.pain .lim b{font-size:15px;color:#2B2F36}.pain .lim span{color:#5A6170}.pain .lim u{text-decoration:none;background:#3A6FD8;color:#fff;border-radius:6px;padding:6px 14px;font-weight:600}
.pain .sl{padding:0;display:grid;grid-template-columns:18% 1fr;align-content:stretch;background:#ECEEF1}
.pain .sl-th{display:grid;align-content:start;gap:8px;padding:10px 8px;background:#E3E5E9}
.pain .sl-th i{font-style:normal;aspect-ratio:16/10;border-radius:4px;background:#fff;border:2px solid transparent;font-size:9px;color:#8A94A3;padding:2px 4px}
.pain .sl-th i.on{border-color:#3A6FD8}
.pain .sl-main{display:grid;place-items:center;padding:6%}
.pain .sl-slide{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,#FFF 0%,#FFF3E8 100%);border-radius:4px;box-shadow:0 4px 14px -6px rgba(0,0,0,.3);padding:7% 8%;display:grid;align-content:start;gap:8px}
.pain .sl-slide b{justify-self:start;font:700 clamp(14px,2.2vw,24px)/1.2 Georgia,serif;color:#2B2F36;padding:2px 4px;border:1.5px solid transparent}
.pain .sl-slide b.picked{border-color:#3A6FD8;background:rgba(58,111,216,.12)}
.pain .sl-slide i{display:block;height:8px;width:70%;border-radius:4px;background:#E1D5CA}.pain .sl-slide i.s{width:45%}
.pain .mn{position:absolute;left:20%;top:3%;background:#fff;border-radius:8px;padding:5px;display:grid;min-width:34%;box-shadow:0 12px 28px -10px rgba(0,0,0,.4)}
.pain .mn span{padding:4px 10px;border-radius:5px}.pain .mn .hl{background:#3A6FD8;color:#fff}
.pain .dg{position:absolute;left:24%;right:14%;top:14%;background:#fff;border-radius:10px;padding:12px 14px;display:grid;gap:6px;box-shadow:0 14px 34px -10px rgba(0,0,0,.4)}
.pain .dg i{font-style:normal;border:1px solid #D5D8DD;border-radius:5px;padding:1px 8px}.pain .dg u{justify-self:end;text-decoration:none;background:#3A6FD8;color:#fff;border-radius:6px;padding:4px 12px;font-weight:600}
.pain .kb{position:absolute;right:8%;bottom:8%;display:flex;gap:4px;align-items:center}
.pain .kb kbd{font:600 13px/1 var(--ui);background:#fff;color:#1B1410;border-radius:5px;padding:5px 7px;box-shadow:0 2px 0 rgba(27,20,16,.35),0 0 0 1px rgba(27,20,16,.15)}
.pain .nw{position:absolute;right:5%;top:8%;width:42%;background:#FFFDF5;border-radius:8px;overflow:hidden;box-shadow:0 14px 30px -10px rgba(0,0,0,.4)}
.pain .nw .tw-tb{background:#EFEBDD;color:#5A5040}.pain .nw p{margin:0;padding:10px 12px;color:#2B2F36;line-height:1.6}
.pain .doc.dir{border-color:#7FA7E0;background:#DCE8FA;color:#3A5F9C}
.pain .bv.sl.s1{justify-items:stretch;align-content:stretch}
.pain .lim{inset:12% 14% auto}

/* Icons beside words (2026-11-04): line icons from the sprite in build.py; the words always stay. */
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.priv ul.il{list-style:none;padding:0;gap:var(--s13)}
.il li{display:flex;gap:var(--s13);align-items:flex-start}
.il li>.ic{width:34px;height:34px;padding:7px;border-radius:10px;box-sizing:border-box;margin-top:-5px}
.priv .stay .il .ic{color:var(--ember);background:color-mix(in srgb,var(--ember) 11%,transparent)}
.priv .out .il .ic{color:var(--mute);background:color-mix(in srgb,var(--mute) 12%,transparent)}
.priv h3{display:flex;align-items:center;gap:var(--s8)}
.priv h3 .ic{width:18px;height:18px}
.priv .stay{border-color:color-mix(in srgb,var(--ember) 45%,var(--line))}
.pricebox .chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s8);max-width:30em}
.chips li{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 9px;background:var(--bg)}
.chips .ic{width:17px;height:17px;color:var(--ember)}
ol.steps3{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
ol.steps3 li{display:grid;grid-template-columns:18px auto minmax(0,1fr);column-gap:var(--s8);align-items:center;padding:var(--s5) 0;position:relative;color:var(--mute)}
ol.steps3 li::before{content:"";position:absolute;left:8px;top:50%;height:100%;width:2px;background:var(--line)}
ol.steps3 li:last-child::before{display:none}
ol.steps3 .dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--line);background:var(--card);justify-self:center;z-index:1}
ol.steps3 b{color:var(--fg);font-size:16px}
ol.steps3 .past{opacity:.55}ol.steps3 .past b{text-decoration:line-through}
ol.steps3 .past .dot{background:var(--mute);border-color:var(--mute)}
ol.steps3 .now .dot{background:var(--ember);border-color:var(--ember);box-shadow:0 0 0 4px color-mix(in srgb,var(--ember) 22%,transparent)}
ol.steps3 .now span::after{content:" · now";color:var(--ember);font-weight:700}
ol.steps3 .fill{grid-column:2/-1;display:block;height:5px;border-radius:3px;background:var(--line);margin-top:5px;overflow:hidden}
ol.steps3 .fill i{display:block;height:100%;background:var(--ember)}
ol.steps3 .fill[hidden]{display:none}
.pain .endc .pips{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 6px}
.pain .endc .pips i{width:12px;height:12px;border-radius:50%;background:var(--mute);opacity:.55}
.pain .endc .pips.one i{background:var(--ember);opacity:1;width:14px;height:14px}
.pain .film.anim[data-act="end"] .endc .pips i{animation:pip .3s ease both}
.pain .endc .pips i:nth-child(2){animation-delay:.05s}.pain .endc .pips i:nth-child(3){animation-delay:.1s}.pain .endc .pips i:nth-child(4){animation-delay:.15s}
.pain .endc .pips i:nth-child(5){animation-delay:.2s}.pain .endc .pips i:nth-child(6){animation-delay:.25s}.pain .endc .pips i:nth-child(7){animation-delay:.3s}.pain .endc .pips i:nth-child(8){animation-delay:.35s}
@keyframes pip{from{transform:scale(0)}}
.pain .adds-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:var(--s8)}
.pain .adds-up>span{display:flex;gap:var(--s8);align-items:center;padding:var(--s8) var(--s13);border-radius:12px;border:1px solid var(--line);font-size:14px}
.pain .adds-up>span>.ic{width:26px;height:26px}
.pain .adds-up .up-web>.ic{color:var(--mute)}
.pain .adds-up .up-me{border-color:color-mix(in srgb,var(--ember) 45%,var(--line))}
.pain .adds-up .up-me>.ic{color:var(--ember)}
.pain .adds-up b{font-size:17px}
.pain .adds.running .up-web>.ic{animation:upfly 1s ease-in-out infinite}
@keyframes upfly{50%{transform:translateY(-3px)}}
.faq summary{display:flex;align-items:center;gap:var(--s8)}
.faq summary .ic{color:var(--ember);width:19px;height:19px}
.faq summary::-webkit-details-marker{display:none}
@media (prefers-reduced-motion: reduce){.pain .adds.running .up-web>.ic,.pain .film.anim[data-act="end"] .endc .pips i{animation:none}}

/* Job pages (2026-11-04): a picture by the title, trust chips, icons on the section heads, numbered steps. */
h1.jh{display:flex;align-items:center;gap:clamp(12px,2vw,21px)}
h1.jh .jic{flex:none;width:clamp(48px,7vw,76px);height:clamp(48px,7vw,76px);padding:clamp(10px,1.4vw,16px);box-sizing:border-box;border-radius:clamp(14px,2vw,22px);
  fill:none;stroke:var(--ember);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;background:color-mix(in srgb,var(--ember) 11%,var(--card));box-shadow:0 0 0 1px color-mix(in srgb,var(--ember) 25%,transparent) inset}
.chips.trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s8)}
.chips.trust .ic{width:17px;height:17px;color:var(--ember)}
.job h3{display:flex;align-items:center;gap:6px}
.job h3 .ic{width:17px;height:17px;color:var(--ember)}
.job ol.numbered{list-style:none;padding:0;counter-reset:st;display:grid;gap:var(--s8);grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:560px){.job ol.numbered{grid-template-columns:minmax(0,1fr)}}
.job ol.numbered li{counter-increment:st;display:grid;grid-template-columns:30px minmax(0,1fr);gap:var(--s8);align-items:start;padding:var(--s13);border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--fg)}
.job ol.numbered li::before{content:counter(st);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 14px var(--brand);color:var(--on-ember);background:var(--ember)}
/* "What it adds up to": bigger on desktop (owner 2026-11-04: tiny and hard to see). */
@media (min-width:900px){
  .pain .adds{max-width:1040px;padding:var(--s34) var(--s55);gap:var(--s21)}
  .pain .adds h3{font-size:clamp(28px,3vw,40px)}
  .pain .adds-n{font-size:19px}
  .pain .adds-n b{font-size:24px;color:var(--ember)}
  .pain .adds-n input{height:28px}
  .pain .year-top b{font-size:22px}
  .pain .year-play{font-size:16px}
  .pain .months{font-size:15px;padding-top:10px}
  .pain .months .head{width:13px;height:13px;margin-left:-6.5px;top:-7px}
  .pain .months::before{height:3px;top:-2px}
  .pain .adds-rows{gap:var(--s13)}
  .pain .adds-row{grid-template-columns:7em minmax(0,1fr) 12.5em;gap:var(--s21)}
  .pain .adds-row .who{font-size:18px}
  .pain .adds-row .track{height:30px}
  .pain .adds-row>b{font:800 clamp(20px,1.9vw,26px)/1.1 var(--brand);letter-spacing:-.02em;white-space:nowrap}
  .pain .adds.running .adds-row>b{font:700 24px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0}
  .pain .adds-up>span{font-size:17px;padding:var(--s13) var(--s21)}
  .pain .adds-up>span>.ic{width:34px;height:34px}
  .pain .adds-up b{font:800 28px var(--brand)}
  .pain .adds .fineprint{font-size:15px}
}

/* Hero (owner 2026-11-04: the question and the call to action must stand out). */
.hero .goal{display:inline-flex;align-items:center;gap:10px;font:700 clamp(15px,1.6vw,18px)/1.3 var(--ui);color:var(--fg);
  padding:6px 18px 6px 6px;border-radius:999px;background:var(--card);border:1px solid color-mix(in srgb,var(--ember) 35%,var(--line));
  box-shadow:0 8px 24px -14px color-mix(in srgb,var(--ember) 60%,transparent);text-wrap:balance;text-align:left}
.hero .goal-ic{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--ember) 13%,transparent);color:var(--ember)}
.hero .goal-ic .ic{width:18px;height:18px}
.hero .goal em{font-style:normal;color:var(--ember);background:linear-gradient(transparent 62%,color-mix(in srgb,var(--ember) 22%,transparent) 62%)}
.hero .lead{color:var(--fg);font:500 clamp(20px,2.2vw,27px)/1.38 var(--ui);letter-spacing:-.01em;max-width:32ch;text-wrap:balance}
.hero .cta{gap:var(--s13)}
.hero .cta .btn{font-size:clamp(17px,1.6vw,19px);padding:17px 28px;border-radius:16px;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 14px 30px -12px color-mix(in srgb,var(--ember) 75%,transparent);transition:transform .2s,box-shadow .2s}
.hero .cta .btn:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 20px 36px -12px color-mix(in srgb,var(--ember) 85%,transparent)}
.hero .trylink{display:inline-flex;align-items:center;gap:8px;font:700 clamp(16px,1.5vw,18px) var(--ui);color:var(--fg);padding:15px 22px;border-radius:16px;border:1.5px solid var(--line);background:var(--card);transition:border-color .2s}
.hero .trylink:hover{border-color:var(--fg);text-decoration:none}
.hero .trylink .ic{color:var(--ember)}
.herochips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s8)}
.herochips li{background:transparent}
@media (prefers-reduced-motion: reduce){.hero .cta .btn{transition:none}.hero .cta .btn:hover{transform:none}}

/* Hero: the three steps as keys, so nobody has to read a sentence to get it. */
.hero .how3{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--s13) var(--s34);counter-reset:h3}
.hero .how3 li{display:grid;justify-items:center;gap:8px;font:600 15px var(--ui);color:var(--fg);position:relative}
.hero .how3 li+li::before{content:"→";position:absolute;left:calc(-1 * var(--s34) / 2 - 7px);top:9px;color:var(--mute);font-weight:700}
.hero .how3 .keys{display:flex;gap:5px}
.hero .how3 kbd{min-width:42px;height:42px;box-sizing:border-box;display:grid;place-items:center;padding:0 10px;border-radius:10px;
  font:700 19px var(--ui);color:var(--fg);background:var(--card);border:1px solid var(--line);border-bottom-width:3px;white-space:nowrap}
.hero .how3 kbd.wide{font:600 16px var(--ui);color:var(--ember)}
@keyframes keytap{0%,12%,100%{transform:none;border-bottom-width:3px}6%{transform:translateY(2px);border-bottom-width:1px}}
@media (max-width:520px){.hero .how3{flex-wrap:nowrap;gap:18px}.hero .how3 li+li::before{left:-14px;top:7px;font-size:12px}.hero .how3 li{font-size:12px;gap:6px}.hero .how3 .keys{gap:3px}.hero .how3 kbd{min-width:30px;height:32px;font-size:14px;padding:0 6px;border-radius:8px}.hero .how3 kbd.wide{font-size:12.5px}}
@media (prefers-reduced-motion: reduce){.hero .how3 kbd{animation:none!important}}
/* Hero, tighter (owner 2026-11-04): the demo's top shows in the first screen, so people scroll on. */
.hero{padding-block:var(--s34) var(--s13);gap:var(--s13)}
.hero h1{font-size:clamp(64px,10.5vw,136px)}
.hero .lead{font:500 clamp(19px,1.9vw,23px)/1.4 var(--ui);max-width:42ch;margin-top:var(--s5)}
.hero .how3{margin-block:var(--s5)}
.hero .how3 kbd{min-width:38px;height:38px;font-size:17px}
.hero .how3 kbd.wide{font-size:15px}
.hero .how3 li{font-size:14px}
.hero .cta .btn{padding:15px 26px}
.hero .trylink{padding:13px 20px}
.herochips li{font-size:13px;padding:4px 11px 4px 8px}
.herochips .ic{width:15px;height:15px}

/* Hero, lighter (owner: too stacked): three groups with air between them; facts as one quiet line. */
.hero{gap:var(--s8)}
.hero .lead{margin-bottom:var(--s13)}
.hero .how3{margin-block:0 var(--s21)}
.hero .herofacts{margin:2px 0 0;font-size:13px}
/* The job key: each job its own colour, typed in; ↵ presses; a tick lands. */
:root{--j-merge:#1D4ED8;--j-zip:#7C3AED;--j-about:#0F766E;--j-compress:#C2410C;--j-convert:#15803D;--j-images:#BE185D;--j-slides:#A16207}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--j-merge:#93C5FD;--j-zip:#C4B5FD;--j-about:#5EEAD4;--j-compress:#FF9330;--j-convert:#86EFAC;--j-images:#F9A8D4;--j-slides:#FCD34D}}
:root[data-theme="dark"]{--j-merge:#93C5FD;--j-zip:#C4B5FD;--j-about:#5EEAD4;--j-compress:#FF9330;--j-convert:#86EFAC;--j-images:#F9A8D4;--j-slides:#FCD34D}
.hero .how3 kbd.wide{--jc:var(--ember);color:var(--jc);background:color-mix(in srgb,var(--jc) 9%,var(--card));border-color:color-mix(in srgb,var(--jc) 35%,var(--line));
  transition:background-color .3s,border-color .3s,color .3s;width:11.2em;justify-content:start;display:flex;align-items:center;gap:0;overflow:hidden}
.hero .how3 kbd.wide b{margin-right:.35em}
.hero .how3 kbd.wide[data-job="merge"]{--jc:var(--j-merge)}.hero .how3 kbd.wide[data-job="zip"]{--jc:var(--j-zip)}.hero .how3 kbd.wide[data-job="about"]{--jc:var(--j-about)}
.hero .how3 kbd.wide[data-job="compress"]{--jc:var(--j-compress)}.hero .how3 kbd.wide[data-job="convert"]{--jc:var(--j-convert)}.hero .how3 kbd.wide[data-job="images"]{--jc:var(--j-images)}.hero .how3 kbd.wide[data-job="slides"]{--jc:var(--j-slides)}
.hero .how3 .caret{display:none;width:2px;height:1.05em;margin-left:2px;background:currentColor;animation:bwcaret 1s steps(1) infinite}
.hero .how3 kbd.typing .caret{display:inline-block}
.hero .how3 kbd{transition:transform .08s,border-bottom-width .08s}
.hero .how3 kbd.tap{transform:translateY(2px);border-bottom-width:1px}
.hero .how3 .keys{position:relative}
.hero .how3 .done{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.4);opacity:0;font:800 20px var(--ui);color:var(--ember);transition:transform .3s cubic-bezier(.2,1.6,.4,1),opacity .2s}
.hero .how3 .done.on{opacity:1;transform:translateY(-50%) scale(1)}
@media (max-width:520px){.hero .how3 kbd.wide{width:10.4em}.hero .how3 .done{font-size:15px;left:calc(100% + 4px)}}

.hero .how3 .sh{display:none}
.hero .how3 li>span:last-child{white-space:nowrap}
@media (max-width:520px){.hero .how3 .lg{display:none}.hero .how3 .sh{display:inline}}
@media (max-width:520px){.hero .how3{gap:12px}.hero .how3 li+li::before{left:-10px;font-size:10px}.hero .how3 li{font-size:11.5px}
  .hero .how3 kbd{min-width:28px;height:30px;font-size:13px;padding:0 5px}.hero .how3 kbd.wide{width:9.6em;font-size:11.5px}}
/* Hero with room to breathe (owner: "too stacked" = give it space; the demo can sit lower). */
.hero{padding-block:var(--s55) var(--s34);gap:var(--s13)}
.hero h1{font-size:clamp(72px,12.5vw,164px)}
.hero .goal{margin-bottom:var(--s13)}
.hero .lead{font-size:clamp(20px,2.1vw,26px);margin-block:var(--s13) var(--s21)}
.hero .how3{margin-block:0 var(--s34)}
.hero .how3 kbd{min-width:44px;height:44px;font-size:19px}
.hero .how3 kbd.wide{font-size:17px}
.hero .how3 li{font-size:15px}
.hero .cta .btn{padding:18px 30px}
.hero .trylink{padding:16px 24px}
.hero .herofacts{margin-top:var(--s8);font-size:14px}
@media (max-width:520px){.hero{padding-block:var(--s34) var(--s21)}.hero .how3 kbd{min-width:28px;height:30px;font-size:13px}.hero .how3 kbd.wide{font-size:11.5px}.hero .how3 li{font-size:11.5px}.hero .how3{margin-bottom:var(--s21)}}

/* Hero facts: icons beside quiet words, no boxes, so the line stays light. */
.hero .herofacts{list-style:none;margin:var(--s8) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px var(--s21);font-size:14px;color:var(--mute)}
.hero .herofacts li{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.hero .herofacts .ic{width:16px;height:16px;color:var(--ember)}
@media (max-width:520px){.hero .herofacts{gap:6px var(--s13);font-size:13px}}

/* The caption follows the action (2026-11-04): placed by script next to the thing the frame is about. */
.pain .cap{bottom:auto;top:auto;transition:left .35s cubic-bezier(.4,0,.2,1),top .35s cubic-bezier(.4,0,.2,1)}
.pain .film.anim .stage::after{display:none}
/* "Now with Whizra": the logo lands in the middle with the name. */
.pain .brandup{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:10px;opacity:0;pointer-events:none;
  background:radial-gradient(ellipse 75% 65% at 50% 48%,rgba(255,247,240,.97),rgba(255,247,240,.8) 55%,rgba(255,247,240,.35) 85%)}
.pain .brandup svg{width:clamp(72px,11vw,132px);height:clamp(72px,11vw,132px);filter:drop-shadow(0 18px 30px rgba(224,78,20,.45))}
.pain .brandup b{font:800 clamp(40px,6.5vw,84px)/1 var(--brand);letter-spacing:-.04em;color:#1B1410}
.pain .brandup span{font:600 clamp(14px,1.5vw,18px) var(--ui);color:#6E655D}
.pain .film.reveal .brandup{opacity:1;transition:opacity .3s}
.pain .film.reveal .brandup svg{animation:brandin .7s cubic-bezier(.2,1.5,.4,1) both}
.pain .film.reveal .brandup b{animation:brandup .6s .15s cubic-bezier(.2,1,.3,1) both}
.pain .film.reveal .brandup span{animation:brandup .6s .3s ease both}
.pain .film.reveal .mini,.pain .film.reveal .fwin{opacity:.15}
@keyframes brandin{0%{transform:scale(.4) rotate(-12deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes brandup{from{transform:translateY(14px);opacity:0}}
@media (prefers-reduced-motion: reduce){.pain .film.reveal .brandup *{animation:none}}

/* Year box, Apple-style (owner 2026-11-04): two big numbers, lots of air, few words. */
.pain .adds{max-width:1040px;text-align:center;justify-items:center;padding:clamp(28px,5vw,64px) clamp(18px,5vw,64px);gap:clamp(18px,2.6vw,30px);border:0;background:var(--card);box-shadow:0 30px 60px -40px rgba(27,20,16,.35)}
.pain .adds h3{font-size:clamp(26px,3.6vw,44px);letter-spacing:-.03em}
.pain .adds-n{justify-items:center;width:min(520px,100%);font-size:17px}
.pain .adds .year{width:min(760px,100%)}
.pain .adds .year-top{justify-content:center;gap:var(--s21)}
.pain .adds .year-top b{font-size:15px;color:var(--mute);font-weight:700;font-family:var(--ui)}
.pain .adds .months{font-size:12px}
.pain .vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,4vw,56px);width:100%;margin-top:var(--s8)}
.pain .vs .side{display:grid;gap:12px;justify-items:center;align-content:start}
.pain .vs .who{display:inline-flex;align-items:center;gap:8px;font:700 15px var(--ui);color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.pain .vs .who .ic{width:18px;height:18px}
.pain .vs .me .who{color:var(--ember)}
.pain .vs .num{font:800 clamp(36px,5vw,70px)/1 var(--brand);letter-spacing:-.045em;color:var(--fg);white-space:nowrap;font-variant-numeric:tabular-nums}
.pain .vs .num small{display:block;font:600 clamp(13px,1.3vw,16px) var(--ui);letter-spacing:0;color:var(--mute);margin-bottom:6px}
.pain .vs .me .num{background:linear-gradient(180deg,#FF9330,#E04E14);-webkit-background-clip:text;background-clip:text;color:transparent}
.pain .adds.running .vs .num small{visibility:hidden}
.pain .adds.running .vs .num span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:-.02em;font-size:.82em}
.pain .vs .track{width:100%;height:8px;border-radius:99px}
.pain .vs .track .b{border-radius:99px}
.pain .vs .up{font-size:15px;color:var(--mute);max-width:24ch}
.pain .vs .up b{font:800 20px var(--brand);color:var(--fg)}
.pain .vs .me .up b{color:var(--ember)}
.pain .adds .fineprint{max-width:70ch;font-size:13px}
@media (max-width:560px){.pain .vs{grid-template-columns:minmax(0,1fr);gap:var(--s34)}}
/* Privacy, Apple-style: four tiles for what stays, a quiet list for the little that goes online. */
#privacy-sum{text-align:center;justify-items:center}
#privacy-sum h2{font-size:clamp(32px,5vw,60px);letter-spacing:-.04em}
.priv-lead{max-width:44ch;font-size:clamp(17px,1.8vw,21px);color:var(--fg)}
.priv-stay{list-style:none;margin:var(--s21) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s21);width:min(1040px,100%)}
.priv-stay li{display:grid;justify-items:center;gap:10px;padding:var(--s34) var(--s21);border-radius:22px;background:var(--card);box-shadow:0 20px 44px -34px rgba(27,20,16,.4)}
.priv-stay .pic{width:64px;height:64px;padding:16px;box-sizing:border-box;border-radius:18px;fill:none;stroke:var(--ember);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  background:color-mix(in srgb,var(--ember) 11%,var(--card))}
.priv-stay b{font:800 clamp(18px,1.7vw,21px) var(--brand);letter-spacing:-.02em}
.priv-stay span{font-size:15px;color:var(--mute);max-width:20ch}
.priv-out{width:min(820px,100%);margin-top:var(--s34);text-align:left}
.priv-out h3{text-align:center;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin:0 0 var(--s13)}
.priv-out ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s21)}
.priv-out li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:14px;color:var(--mute)}
.priv-out li .ic{width:20px;height:20px;color:var(--mute);margin-top:2px}
.priv-out li b{display:block;color:var(--fg);font-size:15px;margin-bottom:2px}
@media (max-width:900px){.priv-stay{grid-template-columns:repeat(2,minmax(0,1fr))}.priv-out ul{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.priv-stay{gap:var(--s13)}.priv-stay li{padding:var(--s21) var(--s13)}.priv-stay .pic{width:52px;height:52px;padding:13px}}
@media (max-width:560px){.pain .adds .months span:not(:nth-child(3n+1)){visibility:hidden}}
.faq p a{color:var(--ember);font-weight:600}

/* Pricing, Apple-style (2026-11-04): centred, three big price cards, the Buy button, what's included as icons. */
.pricebox.apple{display:grid;justify-items:center;text-align:center;gap:clamp(16px,2.4vw,28px);max-width:1040px;padding:clamp(28px,5vw,64px) clamp(16px,4vw,56px);border:0;box-shadow:0 30px 60px -40px rgba(27,20,16,.35)}
.pricebox.apple h2{text-align:center;font-size:clamp(32px,5vw,60px);letter-spacing:-.04em}
.pricebox.apple .sec-lead{margin:0;color:var(--fg);font-size:clamp(17px,1.8vw,21px)}
.tiers3{list-style:none;margin:var(--s8) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s13);width:min(760px,100%)}
.tiers3 li{display:grid;gap:6px;justify-items:center;padding:var(--s21) var(--s13);border-radius:20px;border:1.5px solid var(--line);background:var(--bg);position:relative}
.tiers3 .t{font:700 13px var(--ui);text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}
.tiers3 b{font:800 clamp(30px,4vw,48px)/1 var(--brand);letter-spacing:-.04em;color:var(--fg);font-variant-numeric:tabular-nums}
.tiers3 li:first-child b{background:linear-gradient(180deg,#FF9330,#E04E14);-webkit-background-clip:text;background-clip:text;color:transparent}
.tiers3 .now{border-color:var(--ember);box-shadow:0 14px 30px -18px color-mix(in srgb,var(--ember) 70%,transparent)}
.tiers3 .now::before{content:"Now";position:absolute;top:-11px;left:50%;transform:translateX(-50%);font:800 12px var(--ui);color:var(--on-ember);background:var(--ember);padding:3px 10px;border-radius:99px}
.tiers3 .past{opacity:.5}.tiers3 .past b{text-decoration:line-through;text-decoration-thickness:2px}
.tiers3 .fill{display:block;width:80%;height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:4px}
.tiers3 .fill i{display:block;height:100%;background:var(--ember)}
.tiers3 .fill[hidden]{display:none}
.pricebox.apple .buyrow{display:grid;justify-items:center;gap:var(--s8);margin-top:var(--s8)}
.pricebox.apple .buyrow .btn{font-size:clamp(17px,1.6vw,19px);padding:18px 32px;border-radius:16px;box-shadow:0 14px 30px -12px color-mix(in srgb,var(--ember) 75%,transparent)}
.pricebox.apple .buyrow a:not(.btn){color:var(--ember);font-weight:600}
.incl{list-style:none;margin:var(--s21) 0 0;padding:var(--s21) 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s13);width:100%}
.incl li{display:grid;justify-items:center;gap:6px;align-content:start}
.incl .pic{width:44px;height:44px;padding:11px;box-sizing:border-box;border-radius:13px;fill:none;stroke:var(--ember);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;background:color-mix(in srgb,var(--ember) 11%,var(--card))}
.incl b{font-size:15px}
.incl span{font-size:13px;color:var(--mute)}
@media (max-width:700px){.incl{grid-template-columns:repeat(2,minmax(0,1fr))}.incl li:last-child{grid-column:1/-1}}
@media (max-width:480px){.tiers3{grid-template-columns:minmax(0,1fr)}.tiers3 li{grid-template-columns:1fr auto;justify-items:start;align-items:center;text-align:left;padding:var(--s13) var(--s21)}.tiers3 .fill{grid-column:1/-1;width:100%}}

/* Thank-you page download (2026-11-04) */
.dlbox{display:grid;justify-items:start;gap:var(--s8);margin:var(--s21) 0 var(--s34)}
.dlbox .btn.dl{font-size:19px;padding:18px 30px;border-radius:16px;box-shadow:0 14px 30px -12px color-mix(in srgb,var(--ember) 75%,transparent)}
.dlbox .btn.dl .ic{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page ol.numbered,.prose ol.numbered{list-style:none;padding:0;counter-reset:st;display:grid;gap:var(--s8)}
ol.steps-list.numbered:not(.job ol){list-style:none;padding:0;counter-reset:st;display:grid;gap:var(--s8)}
ol.steps-list.numbered li{counter-increment:st;display:grid;grid-template-columns:30px minmax(0,1fr);gap:var(--s8);align-items:start;padding:var(--s13);border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--fg)}
ol.steps-list.numbered li::before{content:counter(st);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 14px var(--brand);color:var(--on-ember);background:var(--ember)}

/* job-page screen recordings */
.clip video.rec{display:block;width:100%;height:auto;aspect-ratio:16/10;border-radius:var(--s13);border:1px solid var(--line);background:var(--soft);box-shadow:0 13px 34px -21px rgb(27 20 16/.35)}
.clip figcaption{margin-top:var(--s8)}

/* terms notice beside Buy buttons */
.buyterms{display:block;flex-basis:100%;margin-top:var(--s5)}
.fineprint a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* job pages: Buy, then "Download free · 3 jobs on us" beside it */
.cta .trylink[data-wz="download-free"]{display:inline-flex;align-items:center;gap:8px;padding:13px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--fg)}
.cta .trylink[data-wz="download-free"]:hover{border-color:var(--fg);text-decoration:none}
.cta .trylink[data-wz="download-free"] .ic{color:var(--ember)}

/* /pricing: the home pricing block, then the details as an icon grid */
.pricedetails{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--s21)}
.pricedetails .pd{background:var(--card);border:1px solid var(--line);border-radius:var(--s13);padding:var(--s21)}
.pricedetails h2{display:flex;align-items:center;gap:10px;font-size:19px;margin:0 0 var(--s8)}
.pricedetails h2 .ic{color:var(--ember);width:22px;height:22px;flex:none}
.pricedetails p{margin:0;color:var(--soft-fg, inherit)}
.pricebox .buyrow .trylink[data-wz="download-free"]{display:inline-flex;align-items:center;gap:8px;padding:13px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--fg)}
.pricebox .buyrow .trylink[data-wz="download-free"] .ic{color:var(--ember)}
main .pricedetails .pd h2{margin:0 0 var(--s8)}
