@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/EBGaramond-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/EBGaramond-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Pacifico';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Pacifico-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Silkscreen';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Silkscreen-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* tokens and base */
:root{color-scheme:light;--cream:#f1ebdd;--paper:#faf6ec;--box:#e6dfcd;--box2:#d6cdb8;--ink:#1d1b17;--mute:#5f5a4e;--faint:#6b6556;--line:#cfc6b1;--night:#14140f;--screen:#f4f5f0;
--r:#e8483f;--o:#f08a2c;--y:#f3c63f;--g:#4fb06a;--b:#3e8fd6;--v:#8a5bb8;--accent:#1d1b17;--err:#b3261e;--tick:#2f8a4a;
--stripes:linear-gradient(90deg,var(--g) 0 16.66%,var(--y) 16.66% 33.33%,var(--o) 33.33% 50%,var(--r) 50% 66.66%,var(--v) 66.66% 83.33%,var(--b) 83.33%);
--serif:"EB Garamond","Apple Garamond",Garamond,Georgia,serif;--sans:Geneva,Verdana,"DejaVu Sans",sans-serif;--pixel:Silkscreen,Monaco,monospace;--bevel:inset 1px 1px 0 #fffdf6,inset -1px -1px 0 var(--box2),0 1px 0 rgba(40,34,20,.35);
--ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);--focus:0 0 0 3px rgba(62,143,214,.35)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;overflow-wrap:anywhere}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}.narrow{max-width:720px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hp{position:absolute;left:-9999px}
.pb{padding-bottom:70px}.pbm{margin-bottom:70px}.flush{margin-top:0!important}.center{text-align:center}.ul{text-decoration:underline;text-underline-offset:2px}.wideall{grid-column:1/-1}
.phoneonly{display:none!important}
:focus-visible{outline:2px solid var(--b);outline-offset:2px}[tabindex="-1"]:focus{outline:0}
[id]{scroll-margin-top:84px}
.skip{position:fixed;left:12px;top:-60px;z-index:60;padding:10px 14px;background:var(--ink);color:var(--paper);border-radius:7px;font-size:13.5px}.skip:focus{top:10px}

/* header */
.top{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--ink)}
.top:after{content:"";display:block;height:4px;background:var(--stripes)}
.topin{display:flex;align-items:center;height:56px;gap:28px}
.logo{display:flex;align-items:center;gap:9px;font:500 24px/1 var(--serif)}
.pipmark{width:26px;height:29px;shape-rendering:crispEdges;flex:none}
nav{display:flex;gap:22px;flex:1}nav a{color:var(--mute);font-size:13.5px;transition:color .2s}nav a:hover,nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.menu{position:relative}.menu summary{cursor:pointer;color:var(--mute);font-size:13.5px;list-style:none;transition:color .2s}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:" \25BE";font-size:10px}.menu[open] summary,.menu summary:hover{color:var(--ink)}
.menubox{position:absolute;top:calc(100% + 16px);left:-14px;width:272px;background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;box-shadow:4px 4px 0 var(--box2);padding:6px;z-index:20;animation:rise .25s var(--ease) both}.menubox a{display:block;padding:9px 10px;border-radius:6px;transition:background .15s}.menubox a:hover{background:var(--box);text-decoration:none}.menubox strong{display:block;font:500 18px var(--serif);color:var(--ink)}.menubox span{font-size:12px;color:var(--mute)}
.topsearch{position:relative;width:170px}.topsearch input{width:100%;height:34px;padding:0 38px 0 11px;border:1.500px solid var(--ink);border-radius:7px;background:var(--paper);color:var(--ink);font:13px var(--sans);transition:box-shadow .2s}.topsearch input:focus{outline:0;box-shadow:var(--focus)}.topsearch kbd{position:absolute;right:8px;top:9px;font:10px var(--pixel);color:var(--faint);pointer-events:none}.topsearch input:focus+kbd{visibility:hidden}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1.500px solid var(--ink);border-radius:9px;background:var(--box);color:var(--ink);font:13.5px/1 var(--sans);cursor:pointer;box-shadow:var(--bevel)}.btn:hover{background:var(--paper)}.btn:active{background:var(--ink);color:var(--paper);box-shadow:none}
.btn.small{min-height:34px;padding:0 14px;font-size:13px}.btn.wide{width:100%}.btn.ghost{background:var(--paper)}.btn[disabled]{opacity:.55;cursor:default}
.btn,.vote,.pill{transition:transform .22s var(--ease),background .2s,color .2s,box-shadow .2s}
.btn:active,.vote:active,.pill:active{transform:translateY(1px) scale(.98)}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(90% 90% at 50% 30%,#2a2a22,var(--night));color:var(--paper);text-align:center;padding:50px 24px 0;min-height:640px}
.hi{display:table;margin:0 auto;font:400 clamp(44px,7vw,74px)/1.1 Pacifico,cursive;background:linear-gradient(90deg,var(--b),var(--g),var(--y),var(--o),var(--r),var(--v),var(--b));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .8s var(--ease) both,flow 9s linear infinite}
.hero h1{font-size:clamp(68px,14.500vw,172px);line-height:.95;letter-spacing:-.025em;color:#a8a396;margin-top:2px;animation:rise .9s .08s var(--ease) both}
.mac{position:relative;z-index:2;width:236px;margin:-22px auto 0;background:linear-gradient(90deg,#efe9d9,#e4dcc9);border-radius:12px 12px 6px 6px;padding:22px 24px 16px;box-shadow:12px 0 0 -2px #cbc2ac,0 40px 60px rgba(0,0,0,.55);animation:macin 1.1s .16s var(--ease) both}
.scr{background:var(--screen);border:9px solid #d3cab5;outline:3px solid #2b2a24;outline-offset:-4px;border-radius:10px;height:138px;display:flex;align-items:center;justify-content:center}
.scr svg.pipscr{width:112px;height:92px;fill:#26251f;shape-rendering:crispEdges}
.slot{display:flex;justify-content:flex-end;align-items:center;margin-top:20px}.slot i{width:82px;height:7px;background:#3a382f;border-radius:2px;box-shadow:0 1px 0 #fff}
.road{position:absolute;left:-10%;right:-10%;bottom:0;height:150px;background:var(--stripes);transform:skewX(-34deg);opacity:.95;animation:roadin 1.2s .25s var(--ease) both}
.herostrip{position:relative;z-index:3;padding:24px 0 34px}.herostrip p{display:inline-block;background:var(--paper);color:var(--ink);border:1.500px solid var(--ink);border-radius:9px;padding:11px 18px;max-width:560px;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.3);animation:rise .8s .5s var(--ease) both}
.shelf{text-align:center;padding-top:30px}.iconrow{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-bottom:16px}.iconrow .icon{transition:transform .3s var(--spring)}.shelfbtns{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

/* lists */
.dayhead{display:flex;align-items:baseline;justify-content:space-between;padding:44px 0 14px}.dayhead h2{font-size:36px;line-height:1}.dayhead span{font:11px var(--pixel);color:var(--mute)}
.list{list-style:none;margin:0;padding:0;background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;box-shadow:3px 3px 0 var(--box2)}
.row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--line);transition:background .25s var(--ease)}.row:first-child{border-top:0;border-radius:7.500px 7.500px 0 0}.row:last-child{border-radius:0 0 7.500px 7.500px}.row:only-child{border-radius:7.500px}
.rank{width:18px;flex:none;font:12px var(--pixel);color:var(--faint);text-align:center}
.rowlink{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.rowtext{display:flex;flex-direction:column;min-width:0}.rowtext strong{font:500 22px/1.15 var(--serif);overflow-wrap:anywhere}
.tag{color:var(--mute);font-size:13.5px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--faint);font-size:11.5px;margin-top:3px}.meta i{width:3px;height:3px;background:var(--faint)}.mi{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.icon{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:14%;border:1.500px solid var(--ink);box-shadow:inset 1px 1px 0 rgba(255,255,255,.35);transition:transform .35s var(--spring)}
.icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.icon.letter{background:var(--box);font:500 26px var(--serif);color:var(--ink)}
.vote{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:50px;height:54px;border:1.500px solid var(--ink);border-radius:9px;background:var(--box);color:var(--ink);font:11px var(--pixel);cursor:pointer;box-shadow:var(--bevel)}
.vote svg{width:11px;height:11px;fill:var(--ink)}.vote.on{background:var(--ink);color:var(--paper);box-shadow:none;animation:pop .35s var(--spring)}.vote.on svg{fill:var(--paper)}
.sponsored{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 12px;background:var(--box);border:1.500px solid var(--ink);border-radius:9px;margin-bottom:16px;padding:0 14px 12px;overflow:hidden;animation:rise .7s var(--ease) both}
.sp-label,.report h2{margin:0 -14px;padding:5px 12px;text-align:center;background:var(--ink);color:var(--paper);font:11px var(--pixel)}
.sp-label{grid-column:1/-1}
.sp-why{color:var(--mute);font-size:11.5px;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.sp-why:hover{color:var(--ink)}
.note{color:var(--mute);font-size:12.5px;padding:14px 2px}.note.tight{padding:8px 0 0}
.cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px auto 72px;background:var(--night);color:var(--paper);border-radius:9px;padding:28px;max-width:672px;position:relative;overflow:hidden;animation:rise .7s var(--ease) both}.cta:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--stripes)}
.cta h2{font-size:32px;line-height:1.1}.cta p{color:#c9c3b2;font-size:13.5px;margin-top:5px;max-width:380px}.cta .btn{flex:none}
.emptybox{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;box-shadow:3px 3px 0 var(--box2);padding:34px 24px;text-align:center}.emptybox h3{font-size:30px;line-height:1.1;margin-bottom:6px}.emptybox p{color:var(--mute);margin-bottom:16px}
.subhead{font-size:28px;margin:34px 0 12px}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sechead a{font-size:12.5px;color:var(--mute);text-decoration:underline;text-underline-offset:2px}
.seeall{text-align:center;padding-top:18px}.seeall.left{text-align:left}
.faq{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;box-shadow:3px 3px 0 var(--box2);overflow:hidden}
.faq details{border-top:1px solid var(--line)}.faq details:first-child{border-top:0}
.faq summary{cursor:pointer;padding:14px 16px;font:500 20px var(--serif);list-style:none;display:flex;justify-content:space-between;gap:12px;transition:background .2s}.faq summary:hover{background:#fffdf6}.faq summary:focus-visible{outline-offset:-3px}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font:13px var(--pixel);transition:transform .3s var(--ease)}.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 16px 16px;color:var(--mute);font-size:14px;animation:rise .35s var(--ease) both}

/* page heads, browse, filters */
.pagehead{padding-top:50px;padding-bottom:28px}.pagehead h1{font-size:clamp(40px,6vw,66px);line-height:1.02;letter-spacing:-.015em}.pagehead p{color:var(--mute);margin-top:12px}.pagehead.pb{padding-bottom:90px}
.crumb{display:block;font:11px var(--pixel);color:var(--mute);margin-bottom:10px}
.noresult{color:var(--mute);padding-bottom:20px}
.filters{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 16px;scrollbar-width:none}.filters+.filters{margin-top:-8px;flex-wrap:wrap}
.pill{flex:none;height:32px;padding:0 13px;border:1.500px solid var(--ink);border-radius:7px;background:var(--paper);color:var(--ink);font:12.5px var(--sans);cursor:pointer}.pill.on{background:var(--ink);color:var(--paper)}
.chip{flex:none;height:30px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--mute);font:12px var(--sans);cursor:pointer;transition:background .2s,color .2s}.chip:hover{color:var(--ink)}.chip.on{background:var(--box);color:var(--ink);border-color:var(--ink)}
.empty{color:var(--mute);padding:28px 0;text-align:center}#catlist{margin-bottom:64px}
.search{display:block;margin-bottom:12px}.search input{width:100%;height:46px;padding:0 14px;border:1.500px solid var(--ink);border-radius:9px;background:var(--paper);color:var(--ink);font:16px var(--sans);box-shadow:inset 1px 1px 0 var(--box);transition:box-shadow .2s}.search input:focus{outline:0;box-shadow:var(--focus)}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding-bottom:70px}.catgrid a{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:14px 16px;font:500 21px/1.2 var(--serif);box-shadow:3px 3px 0 var(--box2);transition:transform .25s var(--ease)}.catgrid small{display:block;font:12px var(--sans);color:var(--mute);margin-top:2px}
.catgrid:has(+ .narrow){padding-bottom:30px}
.minis{display:flex;gap:4px;margin-top:9px}.minis .icon{border-width:1px}.minis .icon.letter{font-size:13px}
.appgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.appgrid.three{grid-template-columns:repeat(3,1fr)}
.appcard{position:relative;display:flex;flex-direction:column;gap:3px;background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:14px;box-shadow:3px 3px 0 var(--box2);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.appcard strong{font:500 22px/1.15 var(--serif);margin-top:8px;overflow-wrap:anywhere}.appcard .tag{font-size:13px;flex:1}
.cardgo{position:absolute;top:12px;right:14px;opacity:0;transform:translate(-3px,3px);transition:opacity .2s,transform .28s var(--ease);color:var(--b)}

/* verified and deals */
.stamp{display:inline-flex;align-items:center;gap:3px;color:var(--mute)}.stamp .tick{width:12px;height:12px;margin:0}
.verified{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:6px;vertical-align:2px;background:var(--b);border:1.500px solid var(--ink);border-radius:4px}.verified .tick{width:11px;height:11px;margin:0;stroke:#fff}
.verified:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);z-index:9;white-space:nowrap;background:var(--ink);color:var(--paper);font:11.5px var(--sans);padding:5px 9px;border-radius:5px;animation:rise .2s var(--ease) both}
.deal{display:inline-flex;align-self:flex-start;width:max-content;margin-top:7px;padding:2px 8px;background:#e3f3e6;color:#1d6b35;border:1.500px solid #1d6b35;border-radius:5px;font:10px/1.5 var(--pixel)}
.dealbox{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:13px;color:var(--mute)}.dealbox .deal{margin:0}.dealbox .code{font-size:11px}
.code{border:1.500px dashed var(--ink);border-radius:5px;background:var(--paper);color:var(--ink);font:11px var(--pixel);padding:3px 8px;cursor:pointer;transition:background .2s}.code:hover{background:var(--box)}.code.wide{width:100%;padding:9px;font-size:12px}
.dealgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.dealcard{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:16px;box-shadow:3px 3px 0 var(--box2);display:flex;flex-direction:column;gap:12px}.dealtop{display:flex;gap:12px;flex:1}.dealtop strong{font:500 22px/1.15 var(--serif)}.dealrow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.dealrow .deal{margin:0}.dealrow small,.dealbox small{color:var(--mute);font-size:12px}

/* app page */
.apphead{display:flex;gap:24px;align-items:center;padding-top:50px;padding-bottom:32px}.apptitle{min-width:0}.apptitle h1{font-size:clamp(44px,6vw,66px);line-height:1}.apptitle p{color:var(--mute);margin-top:6px}
.actions{display:flex;align-items:center;gap:10px;margin-top:16px}.actions .vote{flex-direction:row;width:auto;height:44px;padding:0 14px;gap:7px}
.shotgrid{display:flex;gap:14px;overflow-x:auto;margin-bottom:40px;padding:2px 2px 6px}.shotgrid img{flex:none;height:300px;width:auto;max-width:none;border:1.500px solid var(--ink);border-radius:7px;box-shadow:3px 3px 0 var(--box2);background:var(--paper)}
.twocol{display:grid;grid-template-columns:3fr 2fr;gap:44px;align-items:start;padding-bottom:80px}.twocol h2{font-size:28px;margin-bottom:8px}.mt{margin-top:30px}.body{color:var(--mute);margin-bottom:12px;overflow-wrap:anywhere}
.appask{margin-top:-50px;padding-bottom:40px}
.clamp.long{max-height:260px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}.more{background:none;border:0;padding:0;color:var(--ink);font:13px var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.facts{margin:0}.facts div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}.facts dt{color:var(--mute)}.facts dd{margin:0;text-align:right}.facts a{text-decoration:underline}
.report{background:var(--paper);border:1.500px solid var(--ink);border-radius:7px;padding:0 14px 14px;box-shadow:3px 3px 0 var(--box2)}.report h2{font:11px var(--pixel);margin-bottom:12px;border-radius:5px 5px 0 0}.rdate{color:var(--mute);font-size:12px;margin-bottom:8px}
.report ul,.plan ul{list-style:none;margin:0;padding:0}.report li{display:flex;gap:10px;padding:8px 0;font-size:13px}.report li>span{display:flex;flex-direction:column}.report strong{font-weight:400}.report li span span{color:var(--mute);font-size:12px}
.tick{width:15px;height:15px;flex:none;margin-top:2px;fill:none;stroke:var(--tick);stroke-width:2.500;stroke-linecap:square}.rnote{color:var(--mute);font-size:12px;margin-top:6px}

/* forms */
.form{max-width:500px;padding-top:44px;padding-bottom:90px}
.steps{display:flex;gap:6px;list-style:none;margin:0 0 36px;padding:0}.steps li{flex:1;padding-top:8px;border-top:5px solid var(--box2);color:var(--faint);font:11px var(--pixel);transition:color .3s,border-color .4s var(--ease)}.steps li.on{color:var(--ink)}.steps li.on:nth-child(1){border-color:var(--g)}.steps li.on:nth-child(2){border-color:var(--o)}.steps li.on:nth-child(3){border-color:var(--v)}
.step h1{font-size:44px;line-height:1.05}.step>p{color:var(--mute);margin:8px 0 24px}
.thanks{font-size:44px;line-height:1.05}.thankssub{color:var(--mute);margin:8px 0 22px}
.field{display:block;margin-bottom:16px}.field span{display:block;font-size:12.5px;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;border:1.500px solid var(--ink);border-radius:5px;background:var(--paper);color:var(--ink);transition:box-shadow .2s}
.field input,.field select{height:44px;padding:0 12px;font:16px var(--sans)}
.field textarea{display:block;min-height:96px;padding:10px 12px;font:16px/1.45 var(--sans);resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;box-shadow:var(--focus)}
.field small{display:block;color:var(--mute);font-size:12px;margin-top:4px}
.err{color:var(--err);font-size:13px;margin:-8px 0 14px!important}.fine{color:var(--mute);font-size:12.5px;margin-top:16px!important;text-align:center}.fine a{text-decoration:underline;overflow-wrap:anywhere}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-btns{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:8px}
.done{text-align:center}.donepip{display:block;margin-bottom:16px}.pipdone{width:68px;height:76px;shape-rendering:crispEdges}
.next{list-style:none;margin:0;padding:0;text-align:left}.next li{padding:13px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.next strong{font:500 20px var(--serif)}.next span{color:var(--mute);font-size:13.5px}

/* boot and swoosh */
.boot{position:fixed;inset:0;z-index:40;background:var(--night);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;animation:fadein .25s var(--ease)}
.boot[hidden]{display:none}
.bootpip{width:112px;height:125px;shape-rendering:crispEdges;animation:bob 1.400s ease-in-out infinite}
.boottext{color:#c9c3b2;font:11px var(--pixel);min-height:18px}
.bootbar{width:210px;height:12px;border:1.500px solid #c9c3b2;border-radius:3px;padding:2px}
.bootbar i{display:block;height:100%;width:0;background:var(--stripes);background-size:203px 100%;transition:width .3s var(--ease)}
.swoosh{position:fixed;inset:0;z-index:50;pointer-events:none;display:flex;flex-direction:column;visibility:hidden;overflow:hidden}
.swoosh i{flex:1;margin:0 -60px;transform:translateX(-115%) skewX(-18deg)}
.swoosh i:nth-child(1){background:var(--g)}.swoosh i:nth-child(2){background:var(--y);animation-delay:.03s}.swoosh i:nth-child(3){background:var(--o);animation-delay:.06s}.swoosh i:nth-child(4){background:var(--r);animation-delay:.09s}.swoosh i:nth-child(5){background:var(--v);animation-delay:.12s}.swoosh i:nth-child(6){background:var(--b);animation-delay:.15s}
.swoosh.sweeping{visibility:visible}.swoosh.sweeping i{animation-name:sweep;animation-duration:1.100s;animation-timing-function:cubic-bezier(.7,0,.3,1);animation-fill-mode:both}

/* sponsor and rules */
.spotpreview{position:relative;background:var(--box);border:1.500px solid var(--ink);border-radius:12px;padding:30px 18px 16px;margin-bottom:26px}.spottag{position:absolute;top:8px;left:18px;font:11px var(--pixel)}.spotpreview .sponsored{margin-bottom:10px;background:var(--paper)}.spotpreview .sp-why{display:none}.fakerows{display:grid;gap:7px}.fakerows i{height:44px;background:var(--paper);border:1px solid var(--line);border-radius:7px;opacity:.7}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-bottom:60px}
.plan{display:flex;flex-direction:column;background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:20px;box-shadow:3px 3px 0 var(--box2);position:relative;overflow:hidden;animation:rise .6s var(--ease) both;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.plan:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--c,var(--g))}.plan:nth-child(2){--c:var(--o);animation-delay:.06s}.plan:nth-child(3){--c:var(--v);animation-delay:.12s}.plan:nth-child(4){--c:var(--b);animation-delay:.18s}
.plan h2{font-size:22px}.price{font:500 52px/1 var(--serif);margin:8px 0 14px}.price span{display:block;margin:6px 0 0;font:12px var(--sans);color:var(--mute)}
.plan ul{flex:1;margin-bottom:18px}.plan li{display:flex;gap:8px;padding:5px 0;font-size:13px;color:var(--mute)}
.promise{padding-bottom:80px;animation:rise .7s var(--ease) both}.promise>h2{font-size:40px;margin-bottom:18px;text-align:center}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pgrid div{background:var(--box);border:1.500px solid var(--ink);border-radius:9px;padding:16px;box-shadow:var(--bevel)}.pgrid h3{font-size:23px;margin-bottom:3px}.pgrid p{color:var(--mute);font-size:13px}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}.statgrid div{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:16px}.statgrid b{display:block;font:500 42px/1.05 var(--serif)}.statgrid span{color:var(--mute);font-size:12.5px}
.prose{padding-bottom:80px}.prose h2{font-size:28px;margin:26px 0 6px}.prose p,.prose li{color:var(--mute)}
.addons{list-style:none;margin:0;padding:0;background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;overflow:hidden}.addons li{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}.addons li:first-child{border-top:0}.addons li>span{flex:1;display:flex;flex-direction:column}.addons strong{color:var(--ink);font-weight:400}.addons span span{font-size:12.5px}
.snippet{white-space:pre-wrap;word-break:break-all;background:var(--night);color:var(--paper);padding:14px;border-radius:7px;font-size:12.5px}

/* footer */
footer{background:var(--night);color:#c9c3b2;font-size:12.5px}footer:before{content:"";display:block;height:6px;background:var(--stripes)}
.foot{display:flex;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px;flex-wrap:wrap}
.news{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:34px;padding-bottom:28px;border-bottom:1px solid #3a382f}.news h2{font-size:30px;color:var(--paper)}.news p{font-size:13px}.news form{display:flex;flex-wrap:wrap;gap:8px;flex:1;max-width:420px}.news input[type=email]{flex:1 1 180px;min-width:0;height:44px;padding:0 12px;border:1.500px solid #c9c3b2;border-radius:7px;background:#1f1f19;color:var(--paper);font:16px var(--sans)}.newserr{flex-basis:100%;color:#f5b1ab}.newserr[hidden]{display:none}
.footcols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:28px;padding-bottom:22px}.footcols div{display:flex;flex-direction:column;gap:7px}.footcols strong{color:var(--paper);font:500 19px var(--serif)}.footcols a{color:inherit;font-size:12.5px}.footcols a:hover{color:#fff;text-decoration:none}
.askai{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;padding-bottom:18px}.askai span{font:11px var(--pixel);opacity:.85;margin-right:4px}.askai a{padding:3px 9px;border:1px solid currentColor;border-radius:6px;opacity:.8;transition:opacity .2s,transform .2s var(--ease)}.askai a:hover{opacity:1}


/* hover, only where a pointer can really hover, so taps don't leave things lifted */
@media (hover:hover){
.btn:hover,.vote:hover,.pill:hover,.askai a:hover{transform:translateY(-1px)}
.row:hover{background:#fffdf6}.rowlink:hover strong{text-decoration:underline;text-underline-offset:3px}.rowlink:hover .icon,.appcard:hover .icon{transform:scale(1.06) rotate(-2deg)}
.plan:hover,.appcard:hover{transform:translateY(-3px);box-shadow:5px 7px 0 var(--box2)}
.catgrid a:hover{transform:translateY(-2px)}.iconrow a:hover .icon{transform:translateY(-4px) rotate(-3deg)}
.appcard:hover .cardgo{opacity:1;transform:none}
}

/* motion */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes macin{from{opacity:0;transform:translateY(36px) scale(.96)}to{opacity:1;transform:none}}
@keyframes roadin{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes flow{to{background-position:200% 0}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes bob{50%{transform:translateY(-5px)}}
/* Each stripe arrives by 418ms and leaves at 682ms. With the .15s stagger, all six cover the screen from 568ms to 682ms, and app.js swaps the page at 620ms. */
@keyframes sweep{0%{transform:translateX(-115%) skewX(-18deg)}38%,62%{transform:translateX(0) skewX(-18deg)}100%{transform:translateX(115%) skewX(-18deg)}}
.pagehead,.apphead,.dayhead,.twocol{animation:rise .7s var(--ease) both}
.row,.step:not([hidden]){animation:rise .6s var(--ease) both}
.row:nth-child(2){animation-delay:.05s}.row:nth-child(3){animation-delay:.1s}.row:nth-child(4){animation-delay:.15s}.row:nth-child(5){animation-delay:.2s}.row:nth-child(6){animation-delay:.25s}
@media (prefers-reduced-motion:reduce){*,*:before,*:after,::view-transition-old(root),::view-transition-new(root){animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* small screens */
@media (max-width:960px){.topsearch{display:none}}
@media (max-width:880px){.plans{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
.wrap{padding-left:16px;padding-right:16px}.topin{gap:12px}nav{gap:12px}nav a{font-size:12.5px}.menu summary{font-size:12.5px}.logo{font-size:20px}
nav>a[href="/alternatives"],nav>a[href="/deals"]{display:none}.phoneonly{display:block!important}
.menubox{left:auto;right:-90px;max-height:calc(100vh - 90px);overflow-y:auto}
.hero{padding:34px 16px 0;min-height:520px}.hero h1{font-size:19vw;line-height:1}.mac{width:190px;margin-top:6px;padding:16px 18px 12px}.scr{height:108px;border-width:7px}.scr svg.pipscr{width:84px;height:69px}.road{height:120px}
.row{gap:10px;padding:12px}.rank{display:none}.rowlink{gap:11px}.row .icon{width:46px!important;height:46px!important}.tag{font-size:13px}
.meta{gap:2px 10px}.meta i{display:none}
.sponsored{grid-template-columns:1fr}
.cta{flex-direction:column;align-items:stretch;margin-left:16px;margin-right:16px}
.apphead{gap:16px;padding-top:30px;align-items:flex-start}.apphead .icon{width:72px!important;height:72px!important}
.shotgrid img{height:210px}.twocol{grid-template-columns:1fr;gap:26px;padding-bottom:56px}.appask{margin-top:-30px}
.plans,.pgrid{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:0}.step h1{font-size:36px}
.pill{height:36px}.chip{height:34px}.code{padding:6px 10px}.filters+.filters{flex-wrap:nowrap}
.catgrid{grid-template-columns:1fr 1fr}.catgrid a{padding:12px;font-size:18px}
.appgrid.three{grid-template-columns:1fr}.appgrid{grid-template-columns:1fr 1fr}.appcard strong{font-size:19px}
.footcols{grid-template-columns:1fr 1fr}.footcols a{padding:3px 0}.foot{font-size:12px}.news form{max-width:none;flex-basis:100%}
}
@media (max-width:350px){.top .btn{display:none}.topin{gap:10px}nav{gap:10px;justify-content:flex-end}.menubox{right:0}.appgrid{grid-template-columns:1fr}}

/* desk cards */
.admincard{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:18px;margin-bottom:16px}.admincard .split{margin-top:10px}.admincard label.c{display:block;font-size:13px;margin:4px 0}
/* desk */
.adwrap{padding-top:34px;padding-bottom:70px}.adwrap h1{font-size:48px;line-height:1}
.adtabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 20px;flex:none}.adtabs a{padding:7px 13px;border:1.500px solid var(--ink);border-radius:7px;background:var(--paper);font-size:13px;color:var(--ink);transition:transform .2s var(--ease)}.adtabs a:hover{transform:translateY(-1px);text-decoration:none}.adtabs a[aria-current]{background:var(--ink);color:var(--paper)}
.adstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.adstat{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:14px;box-shadow:3px 3px 0 var(--box2);transition:transform .25s var(--ease)}.adstat:hover{transform:translateY(-2px)}.adstat b{display:block;font:500 38px/1.05 var(--serif)}.adstat span{font-size:12px;color:var(--mute)}
.adpanel,.adwrap .admincard{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;padding:18px;margin-bottom:14px}.adpanel h2{font-size:26px;margin-bottom:8px}
.adtodo{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.adtodo:hover span{transform:translateX(3px)}.adtodo span{transition:transform .2s}
.adchart{display:flex;align-items:flex-end;gap:5px;height:130px}.adchart div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.adchart i{display:block;width:100%;background:var(--b);border:1px solid var(--ink);border-radius:2px;transition:height .5s var(--ease)}.adchart span{font:9px var(--pixel);color:var(--mute)}
.adauto{margin:0;padding-left:18px;color:var(--mute);font-size:13.5px;line-height:1.8}
.adrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.adgrow{flex:1;min-width:0;display:flex;flex-direction:column}.adrow form{display:flex;gap:5px;flex-wrap:wrap}.adrow strong{font:500 19px var(--serif)}
.adok,.adwait{font:10px var(--pixel);padding:2px 7px;border-radius:5px;vertical-align:middle;border:1px solid}.adok{color:#1d6b35;background:#e3f3e6}.adwait{color:#8a5b12;background:#fbf0d9}
@media (max-width:640px){.adstats{grid-template-columns:1fr 1fr}.adrow{flex-wrap:wrap}}
.admore{margin-bottom:14px}.admore summary{cursor:pointer;font-size:13px;color:var(--mute);padding:4px 0 10px}
/* desk shell */
.deskbar{background:var(--night);color:var(--paper)}.deskbar:after{content:"";display:block;height:4px;background:var(--stripes)}.deskbar .logo small{font:10px var(--pixel);opacity:.7;margin-left:2px}.deskbar .pipmark{background:var(--paper)}
.deskright{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:13px}.deskright a:hover,.linkbtn:hover{color:#fff}.deskright form{margin:0}.linkbtn{background:none;border:0;padding:0;color:inherit;font:13px var(--sans);cursor:pointer}
.deskin{padding-top:90px}.deskin h1{font-size:50px;line-height:1;margin-bottom:22px}
.adwrap{padding-top:22px}
.stamp.pending{color:var(--faint)}
.adchecked{display:inline-block;width:max-content;margin-top:4px}.adrow{scroll-margin-top:30vh}.adrow:target{background:var(--tint,#eef5f1);border-radius:6px}
/* the home stage */
.stage{position:relative;overflow:hidden;background:var(--cream);border-bottom:1.500px solid var(--ink)}
.bands{position:absolute;top:-2px;bottom:-2px;right:-12%;width:60%;display:flex;transform:translateX(var(--px,0)) skewX(-24deg);will-change:transform}
.bands i{flex:1}.bands i:nth-child(1){background:var(--g)}.bands i:nth-child(2){background:var(--y)}.bands i:nth-child(3){background:var(--o)}.bands i:nth-child(4){background:var(--r)}.bands i:nth-child(5){background:var(--v)}.bands i:nth-child(6){background:var(--b)}
.stagein{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:48px;align-items:start;padding-top:44px;padding-bottom:48px;min-height:min(760px,calc(100vh - 60px))}
.pitch{display:flex;flex-direction:column;align-items:flex-start}
.pitch .hi{margin:0;font-size:clamp(38px,4vw,52px)}
.pitch h1{font-size:clamp(46px,5.600vw,74px);line-height:1;letter-spacing:-.015em;margin:4px 0 14px}.pitch h1 span{display:block}
.pitch p{color:var(--mute);font-size:15.500px;line-height:1.55;max-width:440px}
.btns{display:flex;gap:10px;margin:20px 0 30px}
.stage .mac{display:block;width:196px;margin:0;border:0;padding:17px 19px 13px;font:inherit;cursor:pointer;background:linear-gradient(90deg,#efe9d9,#e4dcc9);border-radius:11px 11px 6px 6px;box-shadow:9px 0 0 -2px #cbc2ac,0 22px 34px rgba(40,30,10,.28);transform:perspective(600px) rotateX(var(--rx,0)) rotateY(var(--ry,0));will-change:transform;animation:none;transition:box-shadow .3s}
.stage .mac:hover{box-shadow:9px 0 0 -2px #cbc2ac,0 28px 40px rgba(40,30,10,.34)}
.stage .scr{position:relative;display:flex;overflow:hidden;height:116px;border-width:8px}.stage .slot{display:flex;margin-top:15px}.stage .scr svg.pipscr{width:96px;height:78px}
.todaywin{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;box-shadow:6px 7px 0 rgba(29,27,23,.82);overflow:hidden}
.wbar{position:relative;height:30px;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(180deg,var(--ink) 0 1px,var(--paper) 1px 3px);border-bottom:1.500px solid var(--ink)}
.wbar h2{background:var(--paper);padding:0 10px;font:11px var(--pixel);line-height:1.6}
.wclose{position:absolute;left:10px;top:7px;width:14px;height:14px;background:var(--paper);border:1.500px solid var(--ink);box-shadow:0 0 0 2px var(--paper)}
.todaywin .list{border:0;border-radius:0;box-shadow:none}.todaywin .row{position:relative;padding:9px 14px;gap:11px}.todaywin .row .icon{width:42px!important;height:42px!important}.todaywin .rowtext strong{font-size:20px}.todaywin .tag{font-size:12.500px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todaywin .rowtext{flex:1}.todaywin .rowlink{min-width:0}.todaywin .meta{margin-top:1px;font-size:11px}.todaywin .vote{width:42px;height:46px;font-size:10px}
.todaywin .row:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--stripes);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.todaywin .row:hover:after{transform:scaleX(1)}
.todaywin .row:hover .rowlink .icon{transform:scale(1.07) rotate(-3deg)}
.todaywin .row.more{display:none}.todaywin .list.open .row.more{display:flex;animation:rise .45s var(--ease) both}
.todaywin .sponsored{border:0;border-bottom:1.500px solid var(--ink);border-radius:0;margin:0}
.wfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid var(--line);font-size:11.500px;color:var(--mute)}
.linkmore{flex:none;background:none;border:0;padding:0;font:12px var(--sans);color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.wempty{padding:44px 26px;text-align:center}.wempty h3{font-size:30px;line-height:1.1;margin-bottom:6px}.wempty p{color:var(--mute);margin-bottom:16px}
.belowstage{padding-top:12px}.belowstage .subhead:first-child{margin-top:34px}
.zoomrect{position:fixed;z-index:30;border:1.500px solid var(--ink);border-radius:6px;pointer-events:none;transform-origin:0 0}
.pixelbit{position:fixed;z-index:30;width:6px;height:6px;pointer-events:none}
/* first visit: the boot */
.boot .bands i{animation:bandup .9s var(--ease) both}.boot .bands i:nth-child(2){animation-delay:.05s}.boot .bands i:nth-child(3){animation-delay:.1s}.boot .bands i:nth-child(4){animation-delay:.15s}.boot .bands i:nth-child(5){animation-delay:.2s}.boot .bands i:nth-child(6){animation-delay:.25s}
@keyframes bandup{from{transform:translateY(102%)}to{transform:none}}
.boot .pitch .hi{animation:writein .9s .05s cubic-bezier(.5,0,.2,1) both,flow 9s linear infinite}
@keyframes writein{from{clip-path:inset(-10% 100% -10% 0)}to{clip-path:inset(-10% -5% -10% 0)}}
.boot .pitch h1 span{animation:rise .7s var(--ease) both}.boot .pitch h1 span:nth-child(1){animation-delay:.15s}.boot .pitch h1 span:nth-child(2){animation-delay:.25s}
.boot .pitch p{animation:rise .7s .35s var(--ease) both}.boot .btns{animation:rise .7s .45s var(--ease) both}
.boot .mac{animation:macin .8s .3s var(--ease) both}
.boot .scr{background:#17170f;animation:crtbg .01s .78s forwards}.boot .scr svg.pipscr{opacity:0;animation:fadein .2s .95s forwards}
.boot .scr:after{content:"";position:absolute;left:0;right:0;top:50%;height:100%;margin-top:-50%;background:#fff;transform:scale(.02,.01);opacity:0;animation:crton .4s .55s cubic-bezier(.3,.7,.2,1) forwards}
@keyframes crtbg{to{background:var(--screen)}}
@keyframes crton{0%{opacity:1;transform:scale(.02,.01)}45%{opacity:1;transform:scale(1,.012)}85%{opacity:1;transform:scale(1,1)}100%{opacity:0;transform:scale(1,1)}}
.boot .todaywin{animation:winin .28s 1.32s var(--ease) both}
@keyframes winin{from{opacity:0}to{opacity:1}}
.boot .todaywin .row{animation:rise .5s var(--ease) both}.boot .todaywin .row:nth-child(1){animation-delay:1.4s}.boot .todaywin .row:nth-child(2){animation-delay:1.45s}.boot .todaywin .row:nth-child(3){animation-delay:1.5s}.boot .todaywin .row:nth-child(4){animation-delay:1.55s}.boot .todaywin .row:nth-child(5){animation-delay:1.6s}.boot .todaywin .row:nth-child(6){animation-delay:1.65s}.boot .todaywin .row:nth-child(7){animation-delay:1.7s}
.quick .stagein{animation:fadein .3s both}.quick .todaywin .row,.still .todaywin .row{animation:none}
.still *{animation:none!important}
@media (max-width:900px){
.bands{top:auto;height:300px;bottom:0;width:150%;right:-25%}
.stagein{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:26px;padding-bottom:30px;min-height:0}
.pitch{position:relative}.pitch .hi{font-size:34px}.pitch h1{font-size:clamp(40px,11.500vw,62px)}.pitch p{font-size:14.500px}.btns{margin:16px 0 0}
.stage .mac{position:absolute;right:0;top:-4px;width:92px;padding:8px 9px 7px;border-radius:7px 7px 4px 4px;box-shadow:4px 0 0 -1px #cbc2ac,0 10px 16px rgba(40,30,10,.25)}.stage .scr{height:54px;border-width:4px;outline-width:2px;border-radius:5px}.stage .scr svg.pipscr{width:44px;height:36px}.stage .slot{margin-top:6px}.stage .slot i{height:3px;width:36%}
.boot .todaywin{animation-delay:.9s}.boot .todaywin .row:nth-child(n){animation-delay:.95s}
.pitch h1{padding-right:0}.pitch .hi{padding-right:100px}
.todaywin .tag{white-space:normal}.wfoot{font-size:11px}}
.pitch h1{font-size:clamp(44px,4.700vw,62px)}
.madeby{display:flex;align-items:center;gap:26px;padding-top:6px;padding-bottom:26px}.madeby p{flex:1;max-width:520px;font:400 21px/1.3 var(--serif);color:var(--paper)}.madeby p a{text-decoration:underline;text-underline-offset:3px}
.maker{flex:none;display:flex;align-items:center;gap:13px;background:var(--paper);color:var(--ink);border:1.500px solid var(--ink);border-radius:9px;padding:9px 16px 9px 9px;box-shadow:4px 4px 0 var(--r),8px 8px 0 var(--b);transition:transform .3s var(--spring),box-shadow .3s var(--ease)}
.maker:hover{transform:translate(-2px,-3px) rotate(-1deg);box-shadow:6px 7px 0 var(--r),12px 13px 0 var(--b)}.maker img{width:64px;height:64px;border-radius:6px;border:1.500px solid var(--ink);object-fit:cover}.maker span{display:flex;flex-direction:column}.maker small{font:9px var(--pixel);color:var(--mute)}.maker strong{font:500 26px/1.1 var(--serif)}.maker em{font:normal 12px var(--sans);color:var(--mute)}
@media (max-width:640px){.madeby{flex-direction:column;align-items:flex-start;gap:18px}}
@media (max-width:900px){.pitch h1{font-size:clamp(40px,11.500vw,62px)}}
/* footer rainbow */
.footend{position:relative;height:210px;overflow:hidden;margin-top:6px}
.fbands{position:absolute;left:-8%;right:-8%;bottom:0;height:120px;display:flex;transform:skewX(-24deg)}
.fbands i{flex:1;transition:transform .8s var(--ease)}.fbands i:nth-child(1){background:var(--g)}.fbands i:nth-child(2){background:var(--y);transition-delay:.05s}.fbands i:nth-child(3){background:var(--o);transition-delay:.1s}.fbands i:nth-child(4){background:var(--r);transition-delay:.15s}.fbands i:nth-child(5){background:var(--v);transition-delay:.2s}.fbands i:nth-child(6){background:var(--b);transition-delay:.25s}
.footmac{position:absolute;left:50%;bottom:26px;width:150px;margin-left:-75px;padding:13px 15px 10px;background:linear-gradient(90deg,#efe9d9,#e4dcc9);border-radius:9px 9px 5px 5px;box-shadow:7px 0 0 -2px #cbc2ac,0 16px 26px rgba(0,0,0,.45);transition:transform .8s .25s var(--spring)}
.footmac .scr{position:relative;display:flex;height:90px;border-width:6px;outline-offset:-3px}.footmac .scr svg.pipscr{width:72px;height:58px;animation:none}.footmac .slot{display:flex;margin-top:11px}.footmac .slot i{width:38%;height:5px}
.footbye{position:absolute;left:calc(50% + 96px);bottom:150px;font:10px var(--pixel);color:#c9c3b2;white-space:nowrap;transition:opacity .4s .9s}
.footend.waiting .fbands i{transform:translateY(102%)}.footend.waiting .footmac{transform:translateY(200px)}.footend.waiting .footbye{opacity:0}
@media (prefers-reduced-motion:reduce){.footend.waiting .fbands i,.footend.waiting .footmac{transform:none}.footend.waiting .footbye{opacity:1}}
@media (max-width:640px){.footend{height:180px}.fbands{height:90px}.footmac{width:120px;margin-left:-60px;bottom:18px;padding:10px 12px 8px}.footmac .scr{height:70px}.footmac .scr svg.pipscr{width:56px;height:46px}.footbye{left:auto;right:12px;bottom:158px}}
/* the rainbow loops in place: a belt of two rainbows slides inside its own diagonal window */
.bands,.fbands{overflow:hidden}
.belt{display:flex;width:200%;height:100%;animation:belt 16s linear infinite;will-change:transform}.belt i{flex:1;display:block}
.belt i:nth-child(6n+1){background:var(--g)}.belt i:nth-child(6n+2){background:var(--y)}.belt i:nth-child(6n+3){background:var(--o)}.belt i:nth-child(6n+4){background:var(--r)}.belt i:nth-child(6n+5){background:var(--v)}.belt i:nth-child(6n){background:var(--b)}
@keyframes belt{to{transform:translateX(-50%)}}
.boot .belt i{animation:none}.boot .bands{animation:bandup .9s var(--ease) both}.footend.waiting .belt i{transform:none}
.footend .fbands{transition:transform .8s var(--ease)}.footend.waiting .fbands{transform:skewX(-24deg) translateY(102%)}
@keyframes bandup{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@media (prefers-reduced-motion:reduce){.belt{animation:none}.footend.waiting .fbands{transform:skewX(-24deg)}}
.stage .mac{transform:translate(var(--mx,0),var(--my,0)) perspective(500px) rotateX(var(--rx,0)) rotateY(var(--ry,0))}
.bands .belt,.fbands .belt{flex:none;width:200%}
