/* WeirdThingsToBuy redesign: one stylesheet, system fonts, no framework. */
:root{
  --bg:#f7f6f2;--surface:#fff;--surface-2:#efede7;--ink:#17161b;--muted:#5b5866;--line:#e2dfd7;
  --accent:#6b3fe0;--accent-ink:#fff;--accent-soft:#ece6ff;--amz:#ffb703;--amz-ink:#1b1400;--ok:#0f766e;
  --radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgba(0,0,0,.06),0 6px 20px rgba(0,0,0,.06);
  --max:1180px;--hdr:58px;--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --safe-b:env(safe-area-inset-bottom,0px);color-scheme:light dark
}
@media (prefers-color-scheme:dark){:root{
  --bg:#111014;--surface:#1b1a20;--surface-2:#24232b;--ink:#f1eff6;--muted:#aaa6b6;--line:#2f2d37;
  --accent:#a68bff;--accent-ink:#120c26;--accent-soft:#2a2340;--amz:#ffc53d;--amz-ink:#1b1400;--ok:#5eead4;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35)}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 12px)}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font);padding-bottom:calc(64px + var(--safe-b))}
@media (min-width:860px){body{padding-bottom:0}}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.5rem 1rem;z-index:99}
.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
/* disclosure strip */
.disc{background:var(--surface-2);color:var(--muted);font-size:.8rem;line-height:1.35;text-align:center;padding:.4rem 12px}
.disc a{color:inherit}
/* header */
.hdr{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:12px;height:var(--hdr)}
.brand{display:flex;align-items:center;gap:.45rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);text-decoration:none;font-size:1.08rem;white-space:nowrap}
.brand b{color:var(--accent)}
.brand__mark{font-size:1.35rem}
.hsearch{flex:1;max-width:460px;margin-left:auto;position:relative}
.hsearch input{width:100%;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 14px 0 38px;font:inherit;font-size:.95rem}
.hsearch:before{content:"🔍";position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:.85rem;opacity:.7}
.hnav{display:none;gap:4px}
.hnav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;padding:.45rem .7rem;border-radius:999px}
.hnav a:hover,.hnav a[aria-current]{background:var(--surface-2)}
@media (min-width:860px){.hnav{display:flex}}
@media (max-width:859px){.hsearch{display:none}.hdr .surprise-mini{margin-left:auto}}
.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);height:40px;min-width:40px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;padding:0 12px}
@media (min-width:860px){.surprise-mini{display:none}}
/* bottom nav (mobile) */
.bnav{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--safe-b)}
.bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;border:0;background:none;color:var(--muted);font:600 .72rem var(--font);text-decoration:none;cursor:pointer}
.bnav span{font-size:1.25rem;line-height:1}
.bnav [aria-current]{color:var(--accent)}
@media (min-width:860px){.bnav{display:none}}
/* hero + search */
.hero{padding:28px 0 8px}
.hero h1{font-size:clamp(1.9rem,5.5vw,3.1rem);line-height:1.06;letter-spacing:-.035em;margin:0 0 .4rem}
.hero p{color:var(--muted);margin:0 0 1rem;max-width:60ch}
.bigsearch{position:relative;display:flex;gap:8px}
.bigsearch input{flex:1;min-width:0;height:56px;border-radius:16px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:1.06rem;padding:0 16px 0 46px;box-shadow:var(--shadow)}
.bigsearch input:focus{border-color:var(--accent);outline:none}
.bigsearch:before{content:"🔍";position:absolute;left:17px;top:50%;transform:translateY(-50%);opacity:.75}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;background:var(--accent);color:var(--accent-ink);font:700 .95rem var(--font);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn--ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn--amz{background:var(--amz);color:var(--amz-ink)}
.btn--sm{min-height:38px;padding:0 12px;font-size:.86rem;border-radius:10px}
.btn--lg{min-height:52px;font-size:1.02rem;padding:0 22px}
.btn--surprise{height:56px;border-radius:16px}
@media (max-width:520px){.btn--surprise .lbl{display:none}}
.paid{font-size:.75rem;color:var(--muted);white-space:nowrap}
.chips{display:flex;gap:8px;overflow-x:auto;padding:12px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .88rem var(--font);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.chip[aria-pressed=true],.chip.is-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip small{color:inherit;opacity:.65;font-weight:500}
/* sections */
.sec{padding:22px 0}
.sec__hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.sec__hd h2{font-size:1.3rem;letter-spacing:-.02em;margin:0}
.sec__hd a{font-weight:600;font-size:.9rem;white-space:nowrap}
.note{color:var(--muted);font-size:.85rem;margin:.2rem 0 0}
/* cards */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:640px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:960px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(160px,42%);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
@media (min-width:640px){.strip{grid-auto-columns:minmax(180px,23%)}}
@media (min-width:960px){.strip{grid-auto-columns:calc((100% - 5*12px)/6)}}
.strip>*{scroll-snap-align:start}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}
.card__media{position:relative;aspect-ratio:1;background:#fff;display:block;border:0;padding:0;cursor:zoom-in;width:100%}
.card__media img{width:100%;height:100%;object-fit:contain;padding:8px}
.emoji-tile{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3.4rem;background:var(--accent-soft)}
.card__body{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px;flex:1}
.card__cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.card__t{font-size:.95rem;line-height:1.3;margin:0;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__t a{color:var(--ink);text-decoration:none}
.card__t a:after{content:"";position:absolute;inset:0;z-index:1}
.card__media{z-index:2}
.card__ft{margin-top:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;position:relative;z-index:2}
.card__ft .btn{flex:1;min-height:38px;font-size:.84rem;padding:0 10px}
.card__new{position:absolute;top:8px;left:8px;z-index:3;background:var(--ink);color:var(--bg);font:700 .68rem var(--font);padding:3px 7px;border-radius:999px}
/* category tiles */
.cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:640px){.cats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:960px){.cats{grid-template-columns:repeat(6,minmax(0,1fr))}}
.cat{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:650;min-height:56px}
.cat span{font-size:1.4rem}
.cat small{display:block;color:var(--muted);font-weight:500;font-size:.78rem}
.cat:hover{border-color:var(--accent)}
/* guides list */
.guides{display:grid;gap:10px}
@media (min-width:760px){.guides{grid-template-columns:repeat(3,1fr)}}
.guide{display:block;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none}
.guide b{display:block;line-height:1.3}
.guide small{color:var(--muted)}
.guide:hover{border-color:var(--accent)}
/* results */
.results-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;color:var(--muted);font-size:.9rem}
.empty{padding:28px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius)}
.more{display:flex;justify-content:center;padding:18px 0}
select.sort{height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.88rem;padding:0 8px}
/* breadcrumbs */
.crumbs{font-size:.85rem;color:var(--muted);padding:14px 0 4px;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--muted)}
/* product page */
.pd{display:grid;gap:20px;padding:6px 0 10px}
@media (min-width:860px){.pd{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:36px;align-items:start}.pd__media{position:sticky;top:calc(var(--hdr) + 16px)}}
.pd__img{background:#fff;border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pd__img img{width:100%;height:100%;object-fit:contain;padding:12px}
.pd__img .emoji-tile{font-size:6rem}
@media (max-width:859px){.pd__img{aspect-ratio:auto;height:min(78vw,340px)}.pd__img--emoji{height:170px}.pd__img--emoji .emoji-tile{font-size:4.5rem}}
.pd h1{font-size:clamp(1.55rem,4vw,2.3rem);line-height:1.12;letter-spacing:-.03em;margin:.3rem 0 .5rem}
.lead{font-size:1.1rem;color:var(--muted);margin:0 0 1rem}
.buy{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 .5rem}
.buy__note{font-size:.82rem;color:var(--muted);margin:0 0 1rem}
.glance{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 16px;margin:0 0 1rem}
.glance div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.glance div:last-child{border-bottom:0}
.glance dt{color:var(--muted);font-weight:600}
.glance dd{margin:0}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 1rem}
.share__l{font-size:.85rem;color:var(--muted);font-weight:600}
.prose{max-width:72ch}
.prose h2{font-size:1.3rem;letter-spacing:-.02em;margin:1.6rem 0 .5rem}
.prose h3{font-size:1.05rem;margin:1.2rem 0 .4rem}
.prose p,.prose li{color:var(--ink)}
.prose ul{padding-left:1.2rem}
.prose .pros li::marker{content:"✓  ";color:var(--ok)}
.prose .cons li::marker{content:"✗  ";color:#c2410c}
.faq-item{border-top:1px solid var(--line);padding:.2rem 0}
.callout{background:var(--surface-2);border-radius:var(--radius-sm);padding:12px 14px;font-size:.88rem;color:var(--muted);margin:1rem 0}
.amz-cta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:.4rem 0}
.amz-cta .btn{background:var(--amz);color:var(--amz-ink)}
.paid-link{font-size:.75rem;color:var(--muted)}
.price-note{font-size:.85rem;color:var(--muted)}
/* legacy content blocks used by roundups / finds */
.page-hero{padding:16px 0 4px}
.page-hero h1{font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1.1;letter-spacing:-.03em;margin:.2rem 0 .6rem}
.kicker{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.post-date{color:var(--muted);font-size:.88rem}
.item{display:grid;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin:14px 0}
@media (min-width:700px){.item{grid-template-columns:140px 1fr}}
@media (max-width:699px){.item{grid-template-columns:88px 1fr;align-items:start}.item .media .emoji-tile{font-size:2.2rem}}
.item__rank{font-weight:800;color:var(--accent);font-size:.85rem}
.item h2,.item h3{margin:.1rem 0 .4rem;font-size:1.15rem;line-height:1.3}
.item .media{text-decoration:none;background:#fff;border-radius:var(--radius-sm);aspect-ratio:1;overflow:hidden;display:flex;align-items:center;justify-content:center}
.item .media img{width:100%;height:100%;object-fit:contain;padding:6px}
.item .media .emoji-tile{font-size:3rem}
.commentary__block h2,.commentary__block h3{font-size:.95rem;margin:.8rem 0 .2rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.find-product{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:14px 0}
.find-product h3{margin:.2rem 0}
/* sticky mobile buy bar (product pages) */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:46;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + var(--safe-b));background:var(--surface);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .2s}
.buybar.on{transform:none}
.buybar__t{flex:1;min-width:0;font-weight:650;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar .btn{flex:0 0 auto}
@media (min-width:860px){.buybar{display:none}}
body.has-buybar .bnav{display:none}
/* quick view */
dialog.qv{border:0;padding:0;border-radius:18px;background:var(--surface);color:var(--ink);width:min(560px,94vw);max-height:90vh;box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog.qv::backdrop{background:rgba(10,8,20,.55)}
.qv__in{display:grid;gap:12px;padding:16px}
@media (min-width:560px){.qv__in{grid-template-columns:200px 1fr}}
.qv__img{background:#fff;border-radius:12px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.qv__img img{width:100%;height:100%;object-fit:contain;padding:8px}
.qv h2{font-size:1.15rem;line-height:1.3;margin:.2rem 0 .4rem}
.qv p{margin:0 0 .8rem;color:var(--muted)}
.qv__x{position:absolute;top:8px;right:8px;z-index:2}
.qv__acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* footer */
.ftr{margin-top:36px;border-top:1px solid var(--line);background:var(--surface);padding:28px 0 32px;font-size:.88rem;color:var(--muted)}
.ftr nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin:.6rem 0 1rem}
.ftr nav a{color:var(--ink);text-decoration:none;font-weight:600}
.ftr p{max-width:80ch}
.toast{position:fixed;left:50%;bottom:calc(84px + var(--safe-b));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:.88rem;z-index:60;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.on{opacity:1}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:640px){.crumbs>span:last-child{display:none}.crumbs>span[aria-hidden]:nth-last-child(2){display:none}}

.pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:20px 0 4px}
.pager__gap{color:var(--muted)}
.new-pill{background:var(--ink);color:var(--bg);border-radius:999px;padding:1px 7px;font-size:.68rem}
.page-hero .lead{max-width:70ch}
.page-hero h1 small{display:inline-block}
/* 2026-10-18: sub-tag chips under the grouped category chips (taxo.js) */
.chips--sub{padding-top:0;gap:6px}.chips--sub[hidden]{display:none}
.chips--sub .chip{font-size:.8rem;padding:4px 10px;border-style:dashed}.chips--sub .chip[aria-pressed="true"]{border-style:solid}
