/* I Love Free Shit: "Sticker Shock" design. Flat cream, chocolate outlines, hard shadows, category sticker colors.
   Contrast (WCAG): chocolate #2A1A12 on cream 15.6:1, on every sticker fill 9:1 or better; cream on strawberry #C8283A 5.1:1;
   brown #4A2C1D on cream 11.7:1; slime on chocolate 13.8:1. Dark mode: cream on #1C120C 17:1, soft red #FF7D89 on it 7.5:1.
   Strawberry #E8394A (logo heart red) is used only where no text sits on it; text-bearing red is #C8283A. */
@font-face{font-family:"Bricolage";src:url(/static/fonts/Bricolage.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Atkinson";src:url(/static/fonts/Atkinson.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --cream:#FFF6E5;--paper:#FFFCF5;--kraft:#F7E6C4;--ink:#2A1A12;--ink2:#4A2C1D;
  --red:#C8283A;--red-hi:#E8394A;--red-text:#C8283A;
  --mint:#7FE0A8;--sky:#8FD3FF;--gum:#FFA8C5;--mustard:#FFD23F;--lilac:#C9B3FF;--lime:#C6F36B;--slime:#B6FF3B;
  --bg:var(--cream);--fg:var(--ink);--muted:var(--ink2);--line:var(--ink);--card:var(--paper);--shadow:var(--ink);--foot:var(--kraft);
  --display:"Bricolage","Arial Black","Helvetica Neue",system-ui,sans-serif;
  --text:"Atkinson",system-ui,-apple-system,"Segoe UI",sans-serif;
  --b:3px;--sh:5px;--r:20px;
  --gut:clamp(16px,4vw,40px);--max:1240px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#1C120C;--fg:#FFF6E5;--muted:#E9D9C2;--line:#FFF6E5;--card:#2A1A12;--shadow:#FFF6E5;--foot:#241710;--red-text:#FF7D89;
}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 clamp(18px,.12vw + 17.4px,19px)/1.55 var(--text);overflow-wrap:break-word}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--red-hi);outline-offset:3px;border-radius:4px}
@media (prefers-color-scheme:dark){:focus-visible{outline-color:var(--mustard)}}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
mark{background:none;color:inherit}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:var(--s4);top:-80px;background:var(--ink);color:var(--cream);padding:var(--s3) var(--s4);border-radius:12px;z-index:50;font-weight:700}
.skip:focus{top:var(--s3)}
.wrap{width:min(var(--max),100% - 2*var(--gut));margin-inline:auto}
main{display:block;outline:none}
.js-only{display:none}.js .js-only{display:block}
.icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- type ---------- */
.mega,.h1,.h2,.h3,.kicker,.tag,.chip,.btn,.btn-big,.pill,.tile-name,.card-cat,.panel-title,.stamp-sm,.big404,.wanted-w,.mini-h,.catch-h,.note-h,.foot-h,.panel-h,.panel-sub,.tagbar-k,legend{font-family:var(--display);font-weight:800}
.mega{font-size:clamp(46px,3.9vw + 22px,100px);line-height:.95;letter-spacing:-.025em}
.h1{font-size:clamp(38px,2.5vw + 24px,72px);line-height:1;letter-spacing:-.02em}
.h2{font-size:clamp(28px,1.25vw + 22px,44px);line-height:1.05;letter-spacing:-.015em}
.h3{font-size:clamp(21px,.35vw + 19.5px,26px);line-height:1.15;letter-spacing:-.01em}
.h2 a,.h1 a{text-decoration:none}.h2 a:hover{text-decoration:underline}
.kicker{font-size:clamp(14px,.1vw + 13.6px,15px);text-transform:uppercase;letter-spacing:.06em;line-height:1.1;margin-bottom:var(--s3)}
.deck{font-size:clamp(19px,.4vw + 17.5px,23px);line-height:1.45;max-width:40em;margin-top:var(--s4)}
.small{font-size:clamp(15px,.1vw + 14.6px,16px);line-height:1.4}
.soon{color:var(--red-text);font-weight:700}

/* ---------- shared sticker bits ---------- */
.btn,.btn-big,.chip,.pill,.tag-link,.icon-btn{-webkit-tap-highlight-color:transparent}
.btn{display:inline-flex;align-items:center;gap:var(--s2);min-height:48px;padding:10px 22px;border:var(--b) solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);
  font-size:16px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;box-shadow:3px 3px 0 var(--shadow);cursor:pointer;transition:transform 80ms,box-shadow 80ms}
.btn:hover{text-decoration:none;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--shadow)}
.btn:active{transform:translate(3px,3px);box-shadow:none}
.btn-red{background:var(--red);color:var(--cream);border-color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--cream);border-color:var(--ink)}
@media (prefers-color-scheme:dark){.btn-ink{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn-red{border-color:var(--cream)}}
.btn-slime{background:var(--slime);color:var(--ink);border-color:var(--slime);box-shadow:3px 3px 0 var(--cream)}
.btn-big{display:inline-flex;align-items:center;justify-content:center;gap:var(--s3);min-height:64px;padding:14px 36px;border:var(--b) solid var(--ink);border-radius:999px;background:var(--red);color:var(--cream);
  font-size:clamp(22px,.6vw + 19px,28px);text-transform:uppercase;letter-spacing:.03em;text-decoration:none;box-shadow:var(--sh) var(--sh) 0 var(--shadow);transition:transform 80ms,box-shadow 80ms}
.btn-big:hover{text-decoration:none;transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--shadow)}
.btn-big:active{transform:translate(var(--sh),var(--sh));box-shadow:none}
@media (prefers-color-scheme:dark){.btn-big{border-color:var(--cream)}}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s2)}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);
  font-size:15px;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;text-decoration:none;transition:transform 80ms,box-shadow 80ms}
a.chip:hover{box-shadow:3px 3px 0 var(--shadow);transform:translate(-1px,-1px)}
a.chip:active{box-shadow:none;transform:translate(1px,1px)}
.chip-sm{min-height:36px;padding:6px 14px;font-size:14px}
.chip-lg{min-height:52px;padding:10px 20px;font-size:17px}
.chip-free{background:var(--red);color:var(--cream);border-color:var(--ink)}
@media (prefers-color-scheme:dark){.chip-free{border-color:var(--cream)}}
.chip-n{display:inline-block;min-width:1.6em;padding:1px 6px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:12px;text-align:center}
.chip .icon{width:18px;height:18px}

/* sticker fills: dark chocolate text always */
.c-mint{--c:var(--mint)}.c-sky{--c:var(--sky)}.c-gum{--c:var(--gum)}.c-mustard{--c:var(--mustard)}.c-lilac{--c:var(--lilac)}.c-lime{--c:var(--lime)}.c-slime{--c:var(--slime)}.c-cream{--c:var(--paper)}

/* The price tag: clipped point, punched hole. "Nothing at all" is filled strawberry; the rest are cream with a dashed outline. */
.tag{--th:32px;position:relative;display:inline-flex;align-items:center;height:var(--th);margin-left:calc(var(--th)*.36);padding:0 12px 0 14px;
  background:var(--paper);color:var(--ink);border:2px dashed var(--ink);border-left:0;border-radius:0 7px 7px 0;
  font-size:14px;text-transform:uppercase;letter-spacing:.05em;line-height:1;white-space:nowrap;text-decoration:none;isolation:isolate}
.tag::before{content:"";position:absolute;z-index:-1;left:calc(var(--th)*-.353);top:50%;width:calc(var(--th)*.707);height:calc(var(--th)*.707);
  background:inherit;border:inherit;border-width:0 0 2px 2px;border-style:dashed;border-color:inherit;border-radius:0 0 0 5px;transform:translateY(-50%) rotate(45deg)}
.tag::after{content:"";position:absolute;left:-2px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--bg);border:2px solid var(--ink)}
.tag-free{background:var(--red);color:var(--cream);border-style:solid;border-color:var(--ink)}
.tag-free::before{border-style:solid}
@media (prefers-color-scheme:dark){
  .tag{border-color:var(--cream)}.tag::after{border-color:var(--cream)}
  .card .tag,.crow .tag{border-color:var(--ink)}
  .card .tag::after,.crow .tag::after{border-color:var(--ink)}
}
.tag-sm{--th:28px;font-size:13px;padding:0 10px 0 12px}
.tag-lg{--th:60px;gap:var(--s3);padding:0 22px 0 26px;font-size:clamp(18px,.8vw + 15px,24px);border-width:3px;border-radius:0 12px 12px 0}
.tag-lg::before{border-width:0 0 3px 3px;border-radius:0 0 0 8px}
.tag-lg::after{width:14px;height:14px;margin-top:-7px;left:-1px;border-width:3px}
.tag-lg .tag-k{font-size:.62em;letter-spacing:.08em;opacity:1}
.tag-link{transition:transform 80ms}
a.tag-link:hover{transform:translateY(-2px) rotate(-1deg)}
.tag-link.is-current{outline:3px solid var(--fg);outline-offset:4px;border-radius:0 7px 7px 0}

/* Verified stamps (live text) */
.stamp-sm{display:inline-block;padding:3px 7px 2px;border:2px solid var(--ink2);border-radius:8px;color:var(--ink2);font-size:12px;line-height:1.05;letter-spacing:.06em;text-transform:uppercase;text-align:center;transform:rotate(-4deg)}
.stamp{width:108px;height:108px;flex:none;color:var(--red-text);transform:rotate(-4deg)}
.stamp .st-ring{fill:none;stroke:currentColor;stroke-width:3}.stamp .thin{stroke-width:2}
.stamp text{fill:currentColor;font-family:var(--display);font-weight:800}
.stamp .st-rim{font-size:12.5px;letter-spacing:.06em}.stamp .st-d1{font-size:15px}.stamp .st-d2{font-size:15px}
@media (prefers-reduced-motion:no-preference){.stamp{animation:thunk .2s ease-out 1 both}@keyframes thunk{from{transform:rotate(-4deg) scale(1.15)}to{transform:rotate(-4deg) scale(1)}}}

/* ---------- header ---------- */
.hdr{border-bottom:var(--b) solid var(--line);background:var(--bg);position:relative;z-index:20}
.hdr-in{display:flex;align-items:center;gap:var(--s4);min-height:72px;padding-block:var(--s2)}
.logo{display:block;flex:none;border-radius:12px;text-decoration:none}
.logo-img{height:44px;width:auto}
@media (prefers-color-scheme:dark){.needs-backing{background:var(--cream);padding:5px 12px;border-radius:14px;box-sizing:content-box}}
.pill{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);
  font-size:15px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;white-space:nowrap;cursor:pointer}
.pill:hover{box-shadow:3px 3px 0 var(--shadow)}
.pill .icon{width:18px;height:18px}
.hdr-search{flex:1;display:flex;max-width:440px;margin-left:auto;position:relative}
.hdr-search input{width:100%;min-height:46px;padding:8px 52px 8px 18px;border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);font:inherit;font-size:17px}
.hdr-search input::placeholder{color:var(--muted);opacity:1}
.hdr-search button{position:absolute;right:4px;top:4px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--ink);color:var(--cream);cursor:pointer}
@media (prefers-color-scheme:dark){.hdr-search button{background:var(--cream);color:var(--ink)}}
.icon-btn{display:none;width:46px;height:46px;place-items:center;border:2px solid var(--line);border-radius:50%;background:var(--card);color:var(--fg)}
.browse{position:static}
.browse>summary{list-style:none}.browse>summary::-webkit-details-marker{display:none}
.browse[open]>summary{background:var(--fg);color:var(--bg)}
.sm-only{display:none}
.browse-panel{position:absolute;left:0;right:0;top:100%;margin-top:var(--b);background:var(--bg);border-bottom:var(--b) solid var(--line);padding:var(--s6) 0 var(--s7);box-shadow:0 12px 0 rgba(42,26,18,.08)}
.panel-h{font-size:clamp(24px,1vw + 18px,32px);margin-bottom:var(--s4)}
.panel-sub{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s2)}
.panel-cols{display:flex;flex-wrap:wrap;gap:var(--s5) var(--s7);margin-top:var(--s6)}
@media (max-width:1023px){.hdr-search{display:none}.icon-btn{display:grid;margin-left:auto}}
@media (max-width:719px){
  .hdr-in{gap:var(--s2);min-height:64px}
  .logo-img{height:34px}
  .lg-only{display:none}.sm-only{display:inline}
  .state-pill{padding:8px 10px}.state-pill .icon-caret{display:none}
  .pill{font-size:14px}
  .browse-btn{padding:8px 12px}
}
.pill-abbr{display:none}
@media (max-width:520px){
  .hdr-in{gap:6px}
  .logo-img{height:30px}
  .state-pill .pill-name{display:none}.state-pill .pill-abbr{display:inline}
  .icon-btn{width:44px;height:44px}
  .browse-btn{padding:8px 10px;gap:4px}
}
@media (max-width:340px){.logo-img{height:26px}.browse-btn .sm-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}

/* ---------- tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
.tile{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;column-gap:var(--s4);align-content:start;height:100%;min-height:150px;padding:var(--s5);
  background:var(--c);color:var(--ink);border:var(--b) solid var(--ink);border-radius:var(--r);box-shadow:inset 0 0 0 6px var(--paper),var(--sh) var(--sh) 0 var(--shadow);text-decoration:none;transition:transform .15s,box-shadow 80ms}
.tile:hover{transform:translateY(-2px) rotate(-1deg)}
.tile:active{transform:translate(var(--sh),var(--sh));box-shadow:inset 0 0 0 6px var(--paper)}
.sicon{grid-row:1/4;width:56px;height:56px;fill:none;stroke:var(--ink);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.sicon .f{fill:var(--paper)}.sicon .f2{fill:var(--c)}.sicon .f3{fill:var(--ink)}
.tile-name{font-size:clamp(20px,.6vw + 17px,26px);line-height:1.05;letter-spacing:-.01em}
.tile-line{font-size:16px;line-height:1.3;margin-top:4px}
.tile-count{align-self:end;justify-self:start;margin-top:var(--s3);font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--paper)}
.c-slime.tile{background:var(--ink);color:var(--cream);box-shadow:inset 0 0 0 6px var(--slime),var(--sh) var(--sh) 0 var(--shadow)}
.c-slime.tile .sicon{stroke:var(--ink)}.c-slime.tile .sicon .f{fill:var(--slime)}
.c-slime.tile .tile-name{color:var(--slime)}
.c-slime.tile .tile-count{background:var(--slime);color:var(--ink);border-color:var(--slime)}
@media (prefers-color-scheme:dark){.c-slime.tile{border-color:var(--slime)}}
.tiles-panel{gap:var(--s4)}
.tiles-panel .tile{min-height:0;padding:var(--s4) var(--s5);grid-template-rows:auto 1fr}
.tiles-panel .sicon{width:44px;height:44px;grid-row:1/3}
@media (max-width:1023px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}}
@media (max-width:719px){
  .tile{grid-template-columns:1fr;grid-template-rows:auto;padding:var(--s4);min-height:0;row-gap:2px}
  .sicon{grid-row:auto;width:44px;height:44px;margin-bottom:var(--s2)}
  .tile-line{font-size:15px}
  .tiles-panel .tile{grid-template-columns:auto 1fr;padding:var(--s3) var(--s4)}
  .tiles-panel .sicon{width:36px;height:36px;margin:0}
  .tiles-panel .tile-line{display:none}
  .tiles-panel .tile-name{font-size:18px;align-self:center}
}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6) var(--s5)}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;display:flex;flex-direction:column;background:var(--card);border:var(--b) solid var(--line);border-radius:var(--r);box-shadow:var(--sh) var(--sh) 0 var(--shadow);overflow:hidden;transition:transform .15s,box-shadow 80ms}
.card:hover{transform:translateY(-2px) rotate(-1deg)}
.card:active{transform:translate(var(--sh),var(--sh));box-shadow:none}
.card:focus-within{outline:3px solid var(--red-hi);outline-offset:4px}
@media (prefers-color-scheme:dark){.card:focus-within{outline-color:var(--mustard)}}
.card-cat{display:flex;justify-content:space-between;gap:var(--s3);padding:9px var(--s4) 8px;background:var(--c);color:var(--ink);border-bottom:var(--b) solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:.06em;line-height:1.15}
.card-where{text-align:right;flex:none;max-width:45%}
.card-body{display:flex;flex-direction:column;flex:1;padding:var(--s4) var(--s4) var(--s4)}
.card-h{font-family:var(--display);font-weight:800;font-size:clamp(20px,.3vw + 18.5px,23px);line-height:1.12;letter-spacing:-.01em}
.card-h a{text-decoration:none}
.card-h a::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.card-h a:focus-visible{outline:none}
.card:hover .card-h a{text-decoration:underline;text-decoration-thickness:2px}
.card-s{margin-top:var(--s2);font-size:16px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-foot{display:grid;grid-template-columns:1fr auto;grid-template-areas:"t t" "e s";align-items:center;gap:var(--s3) var(--s3);margin-top:auto;padding-top:var(--s4)}
.card-foot .tag{grid-area:t;justify-self:start}.card-foot .ends{grid-area:e}.card-foot .stamp-sm{grid-area:s}
.ends{display:inline-flex;align-items:center;gap:5px;font-size:15px;line-height:1.2;color:var(--muted)}
.ends.soon{color:var(--red-text);font-weight:700}
.ends .icon{width:16px;height:16px}
@media (prefers-color-scheme:dark){.card .stamp-sm{border-color:var(--muted);color:var(--muted)}}
@media (max-width:1180px){.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1023px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:719px){.cards,.cards-4{grid-template-columns:1fr;gap:var(--s5)}}

/* compact rows */
.crows{border-top:2px solid var(--line)}
.crow{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--s2) var(--s5);flex-wrap:wrap;padding:var(--s3) var(--s2) var(--s3) 0;border-bottom:2px dashed color-mix(in srgb,var(--line) 35%,transparent)}
.crow>a{font-weight:700;text-decoration:none;flex:1 1 320px;min-width:0}
.crow>a::after{content:"";position:absolute;inset:0}
.crow:hover>a{text-decoration:underline}
.crow:hover{background:color-mix(in srgb,var(--mustard) 22%,transparent)}
.crow-meta{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}
.crow-where{font-size:15px;color:var(--muted);min-width:0}
.crows-box{background:var(--card);border:var(--b) solid var(--line);border-radius:var(--r);padding:var(--s2) var(--s5) var(--s3);box-shadow:var(--sh) var(--sh) 0 var(--shadow)}
.crows-box .crows{border-top:0}.crows-box .crow:last-child{border-bottom:0}

/* ---------- page sections ---------- */
.band{padding-block:clamp(40px,4vw,72px) 0}
main>.band:last-child,main>section:last-child{padding-bottom:clamp(56px,6vw,96px)}
.band-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--s2) var(--s5);margin-bottom:var(--s5)}
.band-note{font-size:16px;color:var(--muted)}
.band-intro{max-width:44em;margin:calc(var(--s3)*-1) 0 var(--s5);color:var(--muted)}
.more{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}
.more:hover{text-decoration:underline}
.see-all{margin-top:var(--s6);text-align:center}

/* die-cut sticker header */
.page-head{padding-top:var(--s5)}
.sticker{position:relative;background:var(--c,var(--paper));color:var(--ink);border:var(--b) solid var(--ink);border-radius:28px;box-shadow:inset 0 0 0 6px var(--paper),var(--sh) var(--sh) 0 var(--shadow);padding:clamp(24px,3.2vw,48px)}
.page-head .sticker{margin-top:var(--s4)}
.sticker .deck{color:var(--ink)}
.sticker a:not(.chip):not(.tag){color:var(--ink)}
@media (prefers-color-scheme:dark){.sticker{border-color:var(--cream)}.c-cream.sticker,.sticker:not([class*="c-"]){--c:var(--kraft)}}
.head-chips{margin-top:var(--s5)}
.head-chips .chip{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.head-chips .chip-n{background:var(--ink);color:var(--paper)}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.crumbs li{display:flex;align-items:center;gap:var(--s2)}
.crumbs li+li::before{content:"›";font-family:var(--display);font-weight:800;font-size:20px;line-height:1;color:var(--muted)}
.crumbs .is-here{background:transparent;border-style:dashed}
.tagbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3) var(--s4);margin-top:var(--s6)}
.tagbar ul{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s4)}
.tagbar-k{font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.tagbar.in-head{margin-top:var(--s5)}
.tagbar.in-head .tag::after{background:var(--c,var(--paper))}
.sticker .tag{border-color:var(--ink)}.sticker .tag::after{border-color:var(--ink)}
.sticker .tag-link.is-current{outline-color:var(--ink)}

/* ---------- home ---------- */
.hero{padding-block:clamp(28px,4vw,64px) var(--s3)}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-areas:"h m" "f m" "c m";column-gap:clamp(24px,4vw,64px);align-items:start}
.hero .mega{grid-area:h}
.hero-sub{display:block;margin-top:.28em;font-size:.5em;line-height:1.02;letter-spacing:-.015em;color:var(--fg)}
.hero-sub mark{position:relative;white-space:nowrap;background:linear-gradient(transparent 58%,var(--mustard) 58%,var(--mustard) 92%,transparent 92%)}
@media (prefers-color-scheme:dark){.hero-sub mark{background:none;color:var(--mustard)}}
.bigsearch{grid-area:f;position:relative;display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:clamp(24px,2.4vw,36px);max-width:680px}
.bigsearch input[type=search]{flex:1 1 260px;min-width:0;min-height:64px;padding:12px 24px;border:var(--b) solid var(--line);border-radius:999px;background:var(--card);color:var(--fg);font:inherit;font-size:clamp(18px,.4vw + 17px,21px);box-shadow:var(--sh) var(--sh) 0 var(--shadow)}
.bigsearch input::placeholder{color:var(--muted);opacity:1}
.bigsearch .btn{min-height:64px;padding-inline:28px;font-size:18px;box-shadow:var(--sh) var(--sh) 0 var(--shadow)}
.bigsearch .btn:active{transform:translate(var(--sh),var(--sh));box-shadow:none}
.hero-chips{grid-area:c;margin-top:var(--s5);max-width:680px}
.mascot-hero{grid-area:m;align-self:center}
.mascot{position:relative;display:flex;flex-direction:column;align-items:center}
.mascot-disc{position:relative;width:100%;max-width:380px;aspect-ratio:1;border-radius:50%;background:var(--sky);border:var(--b) solid var(--ink);box-shadow:var(--sh) var(--sh) 0 var(--shadow);display:grid;place-items:end center;overflow:hidden}
.mascot-img{width:92%;height:auto;margin-bottom:-2%}
@media (prefers-color-scheme:dark){.mascot-disc{border-color:var(--cream)}}
.bubble{position:relative;z-index:2;align-self:flex-start;margin:0 0 -14px 4%;padding:10px 18px;background:var(--paper);color:var(--ink);border:var(--b) solid var(--ink);border-radius:18px;font-family:var(--display);font-weight:800;font-size:clamp(16px,.4vw + 14.5px,20px);line-height:1.15;max-width:15em;box-shadow:3px 3px 0 var(--ink);text-wrap:balance}
.bubble::after{content:"";position:absolute;left:34px;bottom:-12px;width:18px;height:18px;background:var(--paper);border:solid var(--ink);border-width:0 var(--b) var(--b) 0;transform:rotate(45deg)}
@media (prefers-color-scheme:dark){.bubble{border-color:var(--cream);box-shadow:3px 3px 0 var(--cream)}.bubble::after{border-color:var(--cream)}}
@media (prefers-reduced-motion:no-preference){.mascot-hero .mascot-img{animation:bob .9s ease-in-out .6s 3}@keyframes bob{50%{transform:translateY(-6px) rotate(-1.5deg)}}}
@media (max-width:719px){
  .hero{padding-top:var(--s5)}
  .hero-copy{display:block}
  .mascot-hero{float:right;width:112px;margin:0 0 var(--s2) var(--s3);shape-outside:circle(50%)}
  .mascot-hero .bubble{display:none}
  .mascot-hero .mascot-disc{box-shadow:3px 3px 0 var(--shadow)}
  .hero .mega{font-size:clamp(40px,11.4vw,50px)}
  .hero-sub{font-size:.54em;margin-top:.35em}
  .bigsearch{margin-top:var(--s5);clear:both}
  .bigsearch input[type=search]{min-height:56px;flex-basis:100%;box-shadow:3px 3px 0 var(--shadow)}
  .hero .bigsearch .btn{display:none}
  .hero-chips{margin-top:var(--s4);gap:6px}
  .hero-chips .chip{min-height:40px;padding:7px 12px;font-size:13px}
}
/* Hall of Shame band */
.shame-band{margin-top:clamp(48px,5vw,88px);background:var(--ink);color:var(--cream);padding-block:clamp(40px,5vw,72px);border-block:var(--b) solid var(--ink)}
@media (prefers-color-scheme:dark){.shame-band{background:#2A1A12;border-color:var(--slime)}}
.shame-in{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s7);align-items:center}
.slime{color:var(--slime)}
.shame-band .h2{max-width:22em}
.rap{margin:var(--s4) 0 var(--s5);max-width:40em;font-size:clamp(18px,.3vw + 17px,21px)}
.wanted{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s6) var(--s5);background:var(--cream);color:var(--ink);border:var(--b) solid var(--slime);border-radius:8px;box-shadow:inset 0 0 0 6px var(--cream),inset 0 0 0 9px var(--ink),var(--sh) var(--sh) 0 var(--slime);transform:rotate(2deg);text-align:center}
.wanted-w{font-family:var(--display);font-size:clamp(40px,3vw + 20px,64px);text-transform:uppercase;letter-spacing:.04em;line-height:1}
.wanted-f{font-family:var(--display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.wanted-x{font-size:15px;color:var(--ink2)}
@media (max-width:719px){.shame-in{grid-template-columns:1fr;gap:var(--s5)}.wanted{display:none}}
/* newsletter */
.nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6) var(--s7);align-items:start}
.nl .deck{margin-top:var(--s3)}
.nl-form{display:grid;gap:var(--s4)}
.nl-form .btn{justify-self:start}
@media (max-width:860px){.nl{grid-template-columns:1fr}}

/* ---------- forms ---------- */
.field{display:grid;gap:6px}
.field label,legend{font-weight:700}
legend{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s3)}
.field input,.field select,.field textarea,select{width:100%;min-height:50px;padding:10px 16px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);font:inherit;font-size:18px}
.field textarea{min-height:120px}
.hint{font-weight:400;color:var(--muted);font-size:15px}
.check,.radio{display:flex;gap:var(--s3);align-items:flex-start}
.check input,.radio input{width:24px;height:24px;margin:3px 0 0;accent-color:var(--red);flex:none}
.hp{position:absolute;left:-9999px}
fieldset{border:0}
.filter-field{max-width:520px;margin-bottom:var(--s5)}
.filter-field input{border-color:var(--line);background:var(--card);color:var(--fg)}
.sticker .filter-field{margin:var(--s5) 0 0}
.sticker .filter-field input{border-color:var(--ink);background:var(--paper);color:var(--ink)}
.sticker .hint{color:var(--ink2)}
@media (prefers-color-scheme:dark){.field input,.field select,.field textarea{border-color:var(--cream)}.sticker .field input,.nl .field input,.nl select{border-color:var(--ink)}}

/* ---------- hub ---------- */
.hub-hero{padding-block:clamp(24px,3vw,48px) 0}
.hub-in{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--s7);align-items:center}
.hub-h{margin-top:var(--s5);font-size:clamp(44px,3.6vw + 24px,96px);line-height:.95}
.joke{margin-top:var(--s4);font-family:var(--display);font-weight:800;font-size:clamp(20px,.8vw + 16px,28px);line-height:1.15}
.counts{margin-top:var(--s3);color:var(--muted)}
.jump{margin-top:var(--s5)}
.mascot-hub .mascot-disc{max-width:320px;background:var(--mustard)}
@media (max-width:719px){.hub-in{grid-template-columns:1fr;gap:0}.mascot-hub{display:none}}
.note-box{margin-top:var(--s6);padding:var(--s5);border:2px dashed var(--line);border-radius:var(--r);background:var(--card)}
.note-h{font-size:18px;margin-bottom:var(--s2)}
.note-box ul{display:grid;gap:var(--s2)}
.panels{display:grid;gap:var(--s4)}
.panel{background:var(--card);border:var(--b) solid var(--line);border-radius:var(--r);box-shadow:var(--sh) var(--sh) 0 var(--shadow);overflow:hidden}
.panel>summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"i t n o" "i p n o";align-items:center;column-gap:var(--s4);padding:var(--s3) var(--s5) var(--s3) var(--s3);background:var(--c);color:var(--ink);cursor:pointer}
.panel>summary::-webkit-details-marker{display:none}
.panel .sicon{grid-area:i;width:56px;height:56px;background:var(--paper);border:2px solid var(--ink);border-radius:16px;padding:6px}
.panel-title{grid-area:t;font-size:clamp(20px,.6vw + 17px,26px);line-height:1.1}
.panel-count{grid-area:n;font-family:var(--display);font-weight:800;font-size:15px;min-width:36px;padding:4px 10px;text-align:center;background:var(--ink);color:var(--c);border-radius:999px}
.panel-peek{grid-area:p;font-size:15px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.panel-open{grid-area:o;width:40px;height:40px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--paper);transition:transform .15s}
.panel[open] .panel-open{transform:rotate(180deg)}
.panel[open]>summary{border-bottom:var(--b) solid var(--line)}
.panel-body{padding:var(--s2) var(--s5) var(--s3)}
.panel-body .crows{border-top:0}.panel-body .crow:last-child{border-bottom:0}
@media (max-width:719px){.panel>summary{grid-template-columns:auto 1fr auto;grid-template-areas:"i t o" "i p o";padding-right:var(--s3)}.panel-count{display:none}.panel .sicon{width:44px;height:44px}.panel-body{padding-inline:var(--s4)}}
.more-list{margin-top:var(--s5)}
.more-list>summary{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:2px solid var(--line);border-radius:999px;font-family:var(--display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:var(--card)}
.more-list[open]>summary{margin-bottom:var(--s4)}

/* region list */
.region-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.region-list a{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"a n" "a c";column-gap:var(--s3);align-items:center;padding:10px 14px;border:2px solid var(--line);border-radius:16px;background:var(--card);text-decoration:none;min-height:60px}
.region-list a:hover{box-shadow:3px 3px 0 var(--shadow);transform:translate(-1px,-1px)}
.region-list a.is-current{background:var(--mustard);color:var(--ink);border-color:var(--ink)}
.rl-abbr{grid-area:a;font-family:var(--display);font-weight:800;font-size:15px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--fg);color:var(--bg)}
.is-current .rl-abbr{background:var(--ink);color:var(--mustard)}
.rl-name{grid-area:n;font-weight:700;line-height:1.2}.rl-n{grid-area:c;font-size:14px;color:var(--muted)}
.is-current .rl-n{color:var(--ink2)}
@media (max-width:1023px){.region-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.region-list{grid-template-columns:1fr}}

/* ---------- listing ---------- */
.l-wrap{display:grid;grid-template-columns:minmax(0,760px) minmax(0,1fr);gap:clamp(32px,5vw,96px);padding-top:var(--s5)}
.l-h{margin-top:var(--s4);font-size:clamp(34px,2.4vw + 22px,64px)}
.l-deck{margin-top:var(--s4);font-size:clamp(19px,.4vw + 17.5px,22px);line-height:1.45;max-width:36em}
.l-main .tag-lg{margin-top:var(--s5)}
.l-cost-note{margin-top:var(--s3);font-size:16px;color:var(--muted)}
.l-proof{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s5)}
.l-proof .stamp{width:96px;height:96px}
.l-proof p{font-size:17px;line-height:1.45}
.l-proof .dot{color:var(--muted)}
.l-go{margin-top:var(--s5)}
.l-go .small{margin-top:var(--s3);color:var(--muted)}
.ended{margin-top:var(--s5);padding:var(--s5);border:var(--b) solid var(--line);border-radius:var(--r);background:var(--mustard);color:var(--ink)}
.ended a{color:var(--ink)}
.catch{position:relative;margin-top:var(--s7);padding:var(--s5) var(--s5) var(--s5) var(--s6);background:var(--card);border:2px dashed var(--line);border-radius:14px;transform:rotate(-.4deg)}
.catch-h{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s2)}
.clip{position:absolute;left:14px;top:-22px;width:20px;height:40px;fill:none;stroke:var(--muted);stroke-width:2.6;stroke-linecap:round}
.facts{margin-top:var(--s6);border-top:var(--b) solid var(--line)}
.facts>div{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr);gap:var(--s2) var(--s5);padding:var(--s4) 0;border-bottom:2px solid color-mix(in srgb,var(--line) 25%,transparent)}
.facts dt{font-family:var(--display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.05em;padding-top:3px}
@media (max-width:600px){.facts>div{grid-template-columns:1fr;gap:2px}}
.history{margin-top:var(--s6)}
.mini-h{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s2)}
.history li{font-size:16px;color:var(--muted)}
.report{margin-top:var(--s5);border:2px solid var(--line);border-radius:var(--r);background:var(--card)}
.report>summary{padding:var(--s4) var(--s5);min-height:48px;cursor:pointer;font-weight:700}
.report form{display:grid;gap:var(--s4);padding:0 var(--s5) var(--s5)}
.report fieldset{display:grid;gap:var(--s2)}
.report .btn{justify-self:start}
.l-side{padding-top:clamp(200px,20vw,300px)}
.mascot-side .mascot-disc{max-width:260px;background:var(--c)}
.l-side{padding-top:clamp(240px,24vw,340px)}
@media (max-width:959px){.l-wrap{grid-template-columns:minmax(0,1fr)}.l-side{display:none}}
@media (max-width:400px){.tag-lg{--th:auto;min-height:56px;padding-block:8px;flex-wrap:wrap;white-space:normal;row-gap:2px}.tag-lg::before{height:40px;width:40px;left:-20px}.tag-lg{margin-left:20px}}
@media (max-width:719px){.l-go .btn-big{display:flex;width:100%}.l-proof .stamp{width:78px;height:78px}.l-proof p{font-size:16px}}

/* ---------- Hall of Shame ---------- */
.shame-page{background:var(--ink);color:var(--cream);padding-bottom:clamp(48px,5vw,88px);border-bottom:var(--b) solid var(--ink)}
@media (prefers-color-scheme:dark){.shame-page{background:#2A1A12;border-color:var(--slime)}}
.shame-page a{color:var(--cream)}
.shame-hero{padding-block:var(--s6) var(--s7)}
.shame-hero-in{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--s7);align-items:center}
.shame-hero .crumbs{margin-bottom:var(--s5)}
.shame-page .chip{background:transparent;color:var(--cream);border-color:var(--cream)}
.shame-page .crumbs li+li::before{color:var(--cream)}
.shame-hero .h1{color:var(--slime);font-size:clamp(44px,3.6vw + 24px,96px);line-height:.95}
.shame-hero .deck{max-width:36em}
.shame-hero .small{margin-top:var(--s4)}
.mascot-shame .mascot-disc{max-width:300px;background:var(--slime);border-color:var(--cream);box-shadow:var(--sh) var(--sh) 0 var(--cream)}
.mascot-shame .bubble{border-color:var(--ink)}
@media (max-width:719px){.shame-hero-in{grid-template-columns:1fr}.mascot-shame{display:none}}
.posters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
.poster{background:var(--cream);color:var(--ink);border:var(--b) solid var(--slime);border-radius:10px;padding:var(--s5) var(--s5) var(--s6);box-shadow:inset 0 0 0 6px var(--cream),inset 0 0 0 9px var(--ink),var(--sh) var(--sh) 0 var(--slime)}
.poster:nth-child(odd){transform:rotate(-.6deg)}.poster:nth-child(even){transform:rotate(.6deg)}
.poster a{color:var(--ink)}
.poster-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--s2);padding:var(--s2) var(--s2) var(--s3);border-bottom:2px solid var(--ink)}
.poster .wanted-w{font-size:clamp(28px,1.4vw + 20px,40px)}
.poster-n{font-size:15px;color:var(--ink2)}
.poster-h{margin:var(--s4) var(--s2) var(--s3)}
.poster dl{display:grid;gap:var(--s3);padding-inline:var(--s2)}
.poster dt{font-family:var(--display);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.poster dd{font-size:17px;line-height:1.45}
@media (max-width:860px){.posters{grid-template-columns:1fr}}
.cut-list{display:grid;gap:var(--s3)}
.cut-list li{display:grid;gap:2px;padding:var(--s3) 0;border-bottom:2px dashed color-mix(in srgb,var(--line) 35%,transparent)}
.cut-list a,.cut-t{font-weight:700}
.cut-list .small{color:var(--muted)}

/* ---------- search ---------- */
.cost-filter{flex-basis:100%;margin-top:var(--s4);min-width:0;max-width:100%}
.tag-radios{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s4)}
.tag-radios input{position:absolute;opacity:0;width:1px;height:1px}
.tag-radios label{cursor:pointer}
.tag-radios input:checked+label{outline:3px solid var(--ink);outline-offset:4px;border-radius:0 7px 7px 0}
.tag-radios input:focus-visible+label{outline:3px solid var(--red-hi);outline-offset:4px}
.sticker .bigsearch input[type=search]{border-color:var(--ink);background:var(--paper);color:var(--ink)}
.sticker .bigsearch{max-width:none}
.try{margin-top:var(--s4)}
.search-results .band-head{margin-top:var(--s6)}
.sr-empty{display:flex;align-items:center;gap:var(--s6);margin-top:var(--s6);flex-wrap:wrap}
.sr-empty .mascot{width:200px}
.sr-group{margin-top:var(--s6)}

/* ---------- prose & misc ---------- */
.prose{max-width:44em;padding-block:var(--s7) var(--s8)}
.prose h2{font-family:var(--display);font-weight:800;font-size:clamp(24px,.8vw + 20px,32px);line-height:1.1;margin:var(--s7) 0 var(--s3)}
.prose p,.prose ul,.prose form{margin-top:var(--s4)}
.prose ul{list-style:disc;padding-left:1.3em}.prose li+li{margin-top:var(--s2)}
.prose form{display:grid;gap:var(--s4)}
.prose form .btn{justify-self:start}
.mascot-nl{float:right;width:220px;margin:0 0 var(--s5) var(--s5)}
@media (max-width:600px){.mascot-nl{display:none}}
.nf{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s7);align-items:center}
.nf .deck{margin-bottom:var(--s5)}.nf .chips{margin-top:var(--s5)}
.big404{font-family:var(--display);font-size:clamp(90px,10vw,180px);line-height:.85;color:var(--red-text);letter-spacing:-.04em}
.nf .h1{margin-top:var(--s4)}
@media (max-width:719px){.nf{grid-template-columns:1fr}.mascot-404{display:none}}

/* ---------- footer ---------- */
.foot{margin-top:0;background:var(--foot);border-top:var(--b) solid var(--line);padding-block:var(--s7) var(--s6)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s6) var(--s7)}
.foot-logo{height:48px;width:auto}
@media (min-width:720px){.foot-logo.has-dotcom{height:auto;width:420px}}
.foot-brand p{margin-top:var(--s3);max-width:34em}
.foot-links ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2) var(--s5)}
.foot-links a{font-weight:700;display:inline-block;padding-block:6px}
.foot-regions{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:var(--s6);margin-top:var(--s7);padding-top:var(--s6);border-top:2px dashed color-mix(in srgb,var(--line) 40%,transparent)}
.foot-h{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s3)}
.regions-us{columns:4 150px;column-gap:var(--s5)}
.regions-ca{columns:1}
.foot-regions li{font-size:15px;line-height:1.3;padding-block:5px;break-inside:avoid}
.foot-regions a{text-decoration-thickness:1px}
.foot-help{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s6);padding-top:var(--s5);border-top:2px dashed color-mix(in srgb,var(--line) 40%,transparent)}
.foot-help .small{margin-left:auto;color:var(--muted)}
@media (max-width:860px){.foot-top{grid-template-columns:1fr}.foot-regions{grid-template-columns:1fr}.regions-ca{columns:2 150px}}
@media (max-width:719px){.foot-help .small{margin-left:0;flex-basis:100%}}

/* motion & transitions */
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card:hover,.tile:hover,a.tag-link:hover{transform:none}}
@media print{.hdr,.foot,.l-side,.report,.browse,.more-list>summary{display:none}.card,.tile,.sticker{box-shadow:none}body{background:#fff}}

/* extra tiles & newsletter mascot */
.c-red.tile{background:var(--red);color:var(--cream)}
.c-red.tile .sicon{stroke:var(--ink)}.c-red.tile .sicon .f{fill:var(--paper)}
.c-red.tile .tile-count{color:var(--ink)}
@media (prefers-color-scheme:dark){.c-red.tile{border-color:var(--cream)}}
.nl-copy{display:flex;flex-direction:column;height:100%}
.mascot-nlh{width:190px;margin-top:auto;padding-top:var(--s5)}
.mascot-nlh .mascot-disc{background:var(--sky)}
@media (max-width:860px){.mascot-nlh{display:none}}
.cat-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}
.cat-filter select{font:inherit;min-height:44px;padding:0 var(--s3);border:2px solid var(--ink);border-radius:7px;background:var(--paper);color:var(--ink);max-width:100%}
.sr-close{margin-top:var(--s4);font-weight:700}

/* ---------- round 2: cost tags, dates, filters, calendar, wanted poster, a11y ---------- */
:root{--teal:#8EE6E0;--grey:#5E5650}
@media (prefers-color-scheme:dark){:root{--grey:#D9CFC4}}
.c-teal{--c:var(--teal)}
/* focus: 3px dark brown ring everywhere (mustard in dark mode) */
:focus-visible{outline-color:var(--ink)}
.card:focus-within{outline-color:var(--ink)}
@media (prefers-color-scheme:dark){:focus-visible,.card:focus-within{outline-color:var(--mustard)}}
/* multi-value cost tags */
.costs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4)}
.card-foot .costs{grid-area:t;justify-self:start}
.crow-meta .costs{gap:var(--s2) var(--s3)}
.tag-more{font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}
.l-tags{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin-top:var(--s5)}
.l-main .l-tags .tag-lg{margin-top:0}
.tag-n{margin-left:6px;font-size:.85em;opacity:.8}
/* not yet confirmed stamps: grey, never red */
.stamp-sm.stamp-nyc{border-color:var(--grey);color:var(--grey);border-style:solid}
.stamp-nyc-lg{flex:none;display:grid;place-items:center;width:96px;height:96px;border:3px solid var(--grey);border-radius:50%;color:var(--grey);font-family:var(--display);font-weight:800;font-size:13px;line-height:1.1;text-transform:uppercase;letter-spacing:.05em;text-align:center;transform:rotate(-4deg)}
.stamp-sm{font-size:12px;transform:rotate(-4deg)}
@media (max-width:719px){.stamp-nyc-lg{width:78px;height:78px;font-size:12px}}
/* search filter chips: unselected all alike, selected solid brown with a check */
.fchip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);
  font-family:var(--display);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;white-space:nowrap;cursor:pointer}
.cost-filter:first-of-type .fchip{border-style:dashed}
.fchip-free::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--red);flex:none}
.tag-radios input:checked+.fchip{background:var(--ink2);color:var(--cream);border-style:solid;border-color:var(--ink2);outline:0}
.tag-radios input:checked+.fchip::before{content:"✓";width:auto;height:auto;background:none;border-radius:0;font-size:15px}
.tag-radios input:focus-visible+.fchip{outline:3px solid var(--ink);outline-offset:3px}
@media (prefers-color-scheme:dark){.tag-radios input:focus-visible+.fchip{outline-color:var(--mustard)}}
.cat-filter label{font-weight:700}
@media (max-width:719px){
  .chip-row{flex-wrap:nowrap;overflow-x:auto;padding:4px 24px 8px 2px;margin-right:calc(var(--gut)*-1);scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
  .chip-row .fchip{scroll-snap-align:start}
}
.sr-empty .h2{font-size:clamp(24px,1vw + 20px,34px)}
.sr-loosen{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s4)}
.sr-loosen .btn{text-transform:none;letter-spacing:0;font-size:16px}
.sr-loosen .chip-n{margin-left:4px}
.sr-more{margin-top:var(--s5)}.sr-more p+p{margin-top:var(--s3)}
/* free food calendar */
.cal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s3)}
.cal-m{background:var(--card);border:2px solid var(--line);border-radius:14px;padding:var(--s3);min-height:96px}
.cal-m.is-empty{opacity:.75}
.cal-h{font-family:var(--display);font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.05em}
.cal-h span{font-size:13px;color:var(--muted)}
.cal-m ul{display:grid;gap:var(--s2);margin-top:var(--s2)}
.cal-ev{display:grid;gap:2px;padding:var(--s2);border-radius:10px;background:var(--mustard);color:var(--ink);border:2px solid var(--ink);font-size:15px;line-height:1.25}
.cal-ev a{color:var(--ink);font-weight:700}
.cal-ev.is-nyc{background:var(--paper)}
.cal-when{font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-family:var(--display);font-weight:800}
.is-nyc .cal-when{color:var(--grey)}
@media (prefers-color-scheme:dark){.cal-ev.is-nyc .cal-when{color:#5E5650}}
.cal-ics{font-size:14px}
@media (max-width:1023px){.cal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:719px){.cal{grid-template-columns:repeat(12,minmax(150px,1fr));overflow-x:auto;padding-bottom:var(--s2)}}
/* WANTED poster */
.wanted{position:relative;display:block;width:min(380px,100%);justify-self:center;padding:var(--s6) var(--s5) var(--s5);background:var(--cream);color:var(--ink);border:0;border-radius:0 0 8px 8px;
  box-shadow:var(--sh) var(--sh) 0 var(--slime);transform:rotate(-2deg);text-align:center;
  clip-path:polygon(0 10px,4% 0,8% 9px,12% 1px,16% 8px,20% 0,24% 10px,28% 2px,32% 9px,36% 0,40% 8px,44% 1px,48% 10px,52% 0,56% 9px,60% 2px,64% 8px,68% 0,72% 10px,76% 1px,80% 9px,84% 0,88% 8px,92% 2px,96% 10px,100% 0,100% 100%,0 100%)}
.wanted .wanted-w{display:block}
.wanted-chart{margin:var(--s3) calc(var(--s5)*-1) var(--s4);padding:var(--s5) var(--s5);border-block:2px solid var(--ink);
  background:repeating-linear-gradient(to bottom,transparent 0 23px,rgba(42,26,18,.28) 23px 24px),var(--paper)}
.wanted-name{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;letter-spacing:-.01em;overflow-wrap:anywhere}
.wanted-k{font-family:var(--display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.08em;text-align:left}
.wanted-charges{list-style:decimal;padding-left:1.4em;margin-top:var(--s2);text-align:left;font-size:17px;line-height:1.35}
.wanted-charges li+li{margin-top:4px}
.wanted-reward{margin-top:var(--s4);font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.wanted-x{margin-top:var(--s2);font-size:15px;color:var(--ink2)}
@media (max-width:719px){.shame-in .wanted{display:block;margin-top:var(--s4)}.wanted-name{font-size:32px}}
/* tap targets: footer state links at least 24px tall */
.foot-regions a{display:inline-block;min-height:24px;padding-block:3px}
@media (max-width:719px){.foot-regions li{padding-block:1px}.foot-regions a{padding-block:6px}}
.l-costs-k{margin-top:var(--s5);font-family:var(--display);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.l-costs-k+.l-tags{margin-top:var(--s3)}
/* Newsletter signup box (footer and listing pages) */
.signup{display:grid;gap:var(--s3);margin-top:var(--s5);max-width:36em;padding:clamp(20px,2.4vw,32px)}
.signup .signup-line,.foot-brand .signup p{margin-top:0}
.signup-form{display:grid;gap:var(--s3)}
.signup-form .btn{justify-self:start}
.signup .field input{border-color:var(--ink)}
.signup .small{color:var(--ink)}
.signup-note a{font-weight:700}
@media print{.signup{display:none}}
