/* Shared design system: Terracotta and Sage neutrals; the season accent (--lead, --second, --third, --tint) comes from issue.seasonPalette in the page head. */
:root{
  --paper:#F6EFE6;--paper-deep:#EEE4D6;--card:#FFFCF8;--line:#E4D8C8;
  --ink:#2F2620;--muted:#6F625A;--faint:#A39588;
  --terra:#B5533A;--terra-deep:#9A4330;--terra-soft:#F3E2D8;
  --sage:#6E8B6A;--sage-deep:#4C6A48;--sage-soft:#E3EADF;
  --up:#4C6A48;--down:#A8452F;--cloud:#CFC3B4;
  --accent:var(--lead);--accent-fill:color-mix(in srgb,var(--lead) 12%,transparent);
  --display:'Bricolage Grotesque',system-ui,sans-serif;--body:'Source Serif 4',Georgia,serif;
  --r:18px;--r-sm:10px;--pill:999px;
  --shadow:0 1px 2px rgba(47,38,32,.05),0 8px 24px -14px rgba(47,38,32,.22);
  --shadow-lg:0 2px 4px rgba(47,38,32,.05),0 24px 48px -24px rgba(47,38,32,.30);
  --h1:clamp(40px,6vw,72px);--h2:clamp(26px,3vw,34px);--h3:19px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 16px}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin:0 0 16px;color:var(--ink);font-variation-settings:"opsz" 72}
h1{font-size:var(--h1);letter-spacing:-.035em;line-height:1}
h2{font-size:var(--h2)}
h3{font-size:var(--h3);letter-spacing:-.01em;line-height:1.2}
.sub-h{font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted);margin:24px 0 8px}
section{scroll-margin-top:80px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.eyebrow{font:600 13px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.sample{font:600 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--pill);padding:4px 8px}

/* logo */
.logo{display:inline-flex;align-items:flex-end;gap:8px;text-decoration:none;line-height:1}
.logo img{height:28px;width:auto}
.logo span{font:800 34px/.8 var(--display);color:#E8584A;letter-spacing:-.03em;font-variation-settings:"opsz" 96;transform:translateY(1px)}

/* signup */
.signup{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.signup input{flex:1 1 200px;min-width:0;height:52px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;padding:0 16px;font:400 17px var(--body);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
.signup input:focus{border-color:var(--lead);box-shadow:0 0 0 3px color-mix(in srgb,var(--lead) 18%,transparent)}
.signup button{flex:1 0 auto;height:52px;border:0;border-radius:var(--r-sm);background:var(--lead);color:#fff;font:600 17px var(--display);padding:0 24px;cursor:pointer;letter-spacing:-.005em;transition:filter .15s}
.signup button:hover{filter:brightness(.93)}

/* make list (hero) */
.makelist{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mg{--g:var(--lead);background:color-mix(in srgb,var(--g) 7%,var(--card));border:1px solid color-mix(in srgb,var(--g) 18%,var(--line));border-radius:var(--r-sm);padding:16px}
.mg-l{font:600 14px/1.2 var(--display);color:color-mix(in srgb,var(--g) 82%,#000);margin:0 0 8px;display:flex;align-items:center;gap:8px}
.mg-l::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g)}
.mg ul{list-style:none;margin:0;padding:0}
.mg li{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:center;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--g) 14%,var(--line))}
.mg li:first-child{border-top:0}
.mg-d{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.mg-d b{font:800 24px/1 var(--display);color:color-mix(in srgb,var(--g) 88%,#000);letter-spacing:-.03em}
.mg-d small{font:600 11px/1.2 var(--display);color:var(--muted);letter-spacing:.02em}
.mg-t{display:flex;flex-direction:column;min-width:0}
.mg-n{font:600 15px/1.25 var(--display);color:var(--ink)}
.mg-w{font-size:14px;color:var(--muted);line-height:1.3}
.mg-by{font-weight:600;color:var(--ink);white-space:nowrap}

.bullets{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bullets li{position:relative;padding-left:20px}
.bullets li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--terra);transform:rotate(45deg)}
.bullets b{font-weight:600}

/* season */
.bands{display:grid;gap:12px;margin:0 0 24px}
.band-row{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start}
.band-mo{font:600 13px/28px var(--display);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.band-list{display:flex;flex-wrap:wrap;gap:8px}
.band{font:600 13px/1 var(--display);background:var(--sage-soft);color:var(--sage-deep);border-radius:var(--pill);padding:8px 12px}
.band-row:nth-child(2) .band{background:var(--terra-soft);color:var(--terra-deep)}
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.tl-i{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px 8px 8px}
.tl-d{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper-deep);border-radius:8px;height:48px;line-height:1}
.tl-m{font:600 11px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tl-n{font:800 20px/1.05 var(--display);color:var(--ink)}
.tl-t{display:flex;flex-direction:column;min-width:0}
.tl-name{font:600 15px/1.25 var(--display)}
.tl-pb{font-size:14px;color:var(--muted);line-height:1.35}
.tl-pb b{font-weight:600;color:var(--ink)}
.tl-i.past .tl-pb b{color:var(--muted);font-weight:400}
.tl-past{font:600 10px/1 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);border:1px solid var(--line);border-radius:var(--pill);padding:2px 6px;vertical-align:1px}
.tl-i:not(.past) .tl-d{background:color-mix(in srgb,var(--lead) 12%,var(--card))}
.tl-i:not(.past) .tl-n{color:var(--lead-ink)}

/* trend */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin:0 0 24px}
.stat{background:var(--card);padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.stat .k{font:600 12px/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.stat .v{font:800 30px/1.05 var(--display);letter-spacing:-.03em;color:var(--ink)}
.stat .s{font-size:14px;color:var(--muted)}
.stat-spark .spark{width:100%;height:40px;margin-top:4px}
.spark-x{display:flex;justify-content:space-between;font:600 11px/1 var(--display);color:var(--faint)}
.make{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 8px}
.make-i{background:var(--paper);border-radius:var(--r-sm);padding:16px}
.make-i p{margin:0;font-size:16px;line-height:1.5}
.make-k{display:inline-block;font:600 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--terra-deep);margin-bottom:8px}
.titles{margin:0 0 16px;padding:0;list-style:none;counter-reset:t;display:grid;gap:0}
.titles li{counter-increment:t;display:grid;grid-template-columns:32px 1fr;padding:8px 0;border-top:1px solid var(--line);font:600 16px/1.35 var(--display)}
.titles li::before{content:counter(t);color:var(--faint);font-weight:600}
.ipnote{font-size:14px;color:var(--muted);font-style:italic;margin:0}

/* keywords */
.kw-wrap{container-type:inline-size}
.kw{width:100%;border-collapse:collapse;font-size:16px}
.kw th{font:600 12px/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:left;padding:8px 12px;border-bottom:1px solid var(--line)}
.kw td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}
.kw tbody tr:nth-child(odd){background:color-mix(in srgb,var(--paper-deep) 55%,transparent)}
.kw .r{text-align:right}
.kw-k{font:600 17px/1.2 var(--display)}
.kw-v{font:600 16px var(--display);font-variant-numeric:tabular-nums}
.kw-s .spark{width:120px;height:28px}
.phrase{display:inline-block;background:var(--sage-soft);color:var(--sage-deep);font:600 14px/1.2 var(--display);border-radius:var(--pill);padding:6px 12px}
@container (max-width:560px){
  .kw thead{display:none}
  .kw,.kw tbody{display:block}
  .kw tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;border-bottom:1px solid var(--line)}
  .kw td{padding:0;border:0}
  .kw-s{grid-column:1/-1}
  .kw-s .spark{width:100%}
  .kw-p{grid-column:1/-1}
}

/* niches */
.niches{list-style:none;margin:0;padding:0;display:grid;gap:16px;container-type:inline-size}
.niche{display:block;border-top:1px solid var(--line);padding-top:16px}
.niche:first-child{border-top:0;padding-top:0}
.niche.has-thumb{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:start}
.niche-pic{aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--paper-deep)}
.niche-pic img{width:100%;height:100%;object-fit:cover}
.niche h3{display:flex;gap:10px;align-items:baseline;margin-bottom:8px}
.niche-n{font:800 14px/1 var(--display);color:var(--lead-ink);min-width:16px}
.niche .why{font-size:16px;margin-bottom:8px}
.niche-make{font-size:16px;color:var(--muted);margin-bottom:12px}
.src-link{font:600 13px var(--display);color:var(--terra-deep);text-decoration:none;white-space:nowrap}
.src-link:hover{text-decoration:underline}
.ev{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:6px 12px 6px 8px;font:600 13px/1.2 var(--display);max-width:100%}
.ev-k{background:var(--third);color:#fff;border-radius:var(--pill);padding:3px 8px;font-size:11px;letter-spacing:.03em}
.ev-q{color:var(--ink)}
.ev-q::before{content:"\201C"}.ev-q::after{content:"\201D"}
@container (max-width:480px){.niche.has-thumb{grid-template-columns:1fr;gap:12px}.niche-pic{aspect-ratio:16/9}.niche-pic img{object-position:50% 55%}}
/* More on this niche (owner 2026-09-27): story, why now, quote, numbers, signals, angles, Dig in; inside the card width */
.niche-body{min-width:0}
.nm{max-width:100%}
.nm-body{margin:8px 0 0;min-width:0;max-width:100%;overflow-wrap:anywhere;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}
.nm-body>*+*{margin-top:12px}
.nm-k{font:800 11px/1.3 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead);margin:0 6px 0 0}
p.nm-k{margin:0 0 6px}
.nm-story{margin:0}
.nm-sh{margin:0;font:600 15px/1.4 var(--display);color:var(--ink)}
.nm-hl{color:var(--ink)}
/* The source line at the end of a card (src/newspaper/attribution.mjs): the source, what its terms ask, and Original. */
.src-line{margin:6px 0 0;font:600 12px/1.35 var(--display);color:var(--muted);overflow-wrap:anywhere}
.src-line a,.src-foot a{color:var(--muted);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--muted) 45%,transparent);text-underline-offset:2px}
.src-line a:hover,.src-foot a:hover{color:var(--lead-ink)}
.src-foot{margin:10px 0 0;font:600 12px/1.35 var(--display);color:var(--muted)}
.nm-why{margin:0;font-size:15.5px;line-height:1.5;color:var(--ink)}
.nm-q{margin:0;padding:2px 0 2px 12px;border-left:3px solid var(--lead);font:italic 600 16px/1.45 var(--display);color:var(--ink)}
.nm-sec{border-top:1px solid var(--line);padding-top:10px}
.nm-ph,.nm-ang{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.nm-ph+.nm-ph{margin-top:6px}
.nm-ph li{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;font-size:14px;color:var(--muted)}
.nm-kw{font:700 14px var(--display);color:var(--ink)}
.nm-v{font:600 13.5px var(--display);color:var(--muted)}
.nm-ph .dig{margin-left:2px}
.nm-sl{margin:0;font-size:14px;color:var(--muted)}
.nm-sig .sg-fold{margin-top:8px}
.nm .sg-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.nm-ang li{font-size:14.5px;line-height:1.45;color:var(--ink)}
.nm-al{display:block;font:700 11px/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.nm-dig{margin:0}
.nm-dig .dig{margin-left:0}
/* Pass two (owner 2026-09-27): climbing keyword marks, the trend's Three angles, the business soundbite, tip Dig ins. */
.kws-m{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:4px 0 0;font:600 12px/1.3 var(--display);color:var(--muted)}
.kws-mv{color:var(--ink)}
.kws-fmt,.kws-amz{border:1px solid var(--line);border-radius:var(--pill);padding:2px 7px;background:var(--paper)}
.kws-amz{color:var(--lead-ink)}
.bn-q{margin:12px 0}
section>.nm-dig{margin-top:10px}

/* color */
.color{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.swatch{border-radius:var(--r-sm);min-height:160px;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px}
.sw-name{font:800 26px/1.05 var(--display);letter-spacing:-.02em}
.sw-hex{font:600 15px var(--display);opacity:.85;letter-spacing:.02em}
.pairs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pair{border-radius:var(--r-sm);padding:12px 16px;display:flex;flex-direction:column;font:600 15px/1.2 var(--display);border:1px solid rgba(0,0,0,.06)}
.pair small{opacity:.8;font-size:12px;margin-top:4px}

/* style */
.style-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.style-pic{border-radius:var(--r-sm);overflow:hidden;aspect-ratio:4/3;background:var(--paper-deep)}
.style-pic img{width:100%;height:100%;object-fit:cover}
.meta{font:600 14px var(--display);color:var(--muted);margin-top:-8px}
.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}
.palette span{height:56px;border-radius:8px;position:relative;border:1px solid rgba(0,0,0,.06)}
.palette small{position:absolute;left:0;right:0;bottom:-20px;font:600 11px var(--display);color:var(--muted);text-align:center}
.palette{margin-bottom:24px}

/* ideas */
.ideas{list-style:none;counter-reset:i;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 32px}
.ideas li{counter-increment:i;display:grid;grid-template-columns:40px 1fr;gap:8px;padding:12px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5}
.ideas li::before{content:counter(i,decimal-leading-zero);font:800 17px/1.4 var(--display);color:var(--lead-ink)}

/* quote, joke */
.quote{margin:0}
.quote p{font:600 28px/1.2 var(--display);letter-spacing:-.02em;margin:0 0 16px;text-wrap:balance}
.quote p::before{content:"\201C"}.quote p::after{content:"\201D"}
.quote footer{display:flex;flex-direction:column;font-size:15px;color:var(--muted)}
.quote footer b{color:var(--ink);font:600 16px var(--display)}
.joke-setup{font:600 22px/1.25 var(--display);letter-spacing:-.01em;margin-bottom:16px}
.punch{margin:0 0 12px}
.punch summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font:600 15px var(--display);background:var(--paper-deep);color:var(--ink);border-radius:var(--pill);padding:10px 16px}
.punch summary::-webkit-details-marker{display:none}
.punch summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.punch[open] summary{background:var(--tint)}
.punch p{font:800 24px/1.2 var(--display);color:var(--lead-ink);margin:12px 0 0}
.credit{font-size:13px;color:var(--muted);margin:0}
.credit a{color:var(--muted)}
.source{font-size:15px;color:var(--muted)}
.source a{color:var(--terra-deep);font-weight:600}

/* weather */
.wx-now{display:flex;align-items:center;gap:12px}
.wx-big{width:56px;height:56px;flex:none}
.wx-t{display:block;font:800 44px/1 var(--display);letter-spacing:-.04em}
.wx-c{display:block;font:600 15px var(--display);color:var(--muted)}
.wx-city{font:600 15px var(--display);margin:12px 0}
.wx-city span{color:var(--muted);font-weight:600;margin-left:6px}
.wx-days{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.wx-days li{display:flex;flex-direction:column;align-items:center;gap:2px;font:600 13px var(--display);color:var(--muted)}
.wx-days .wx-ic{width:28px;height:28px}
.wx-days b{color:var(--ink);font-size:15px}
.wx-days small{font-size:12px}
.wx-mini{display:inline-flex;align-items:center;gap:6px;font:600 14px var(--display)}
.wx-mini .wx-ic{width:22px;height:22px}
.wx-mini .sample{margin-left:4px}

/* markets */
.mk-list{list-style:none;margin:0;padding:0}
.mk-row{display:grid;grid-template-columns:1fr 64px auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.mk-row:first-child{border-top:0}
.mk-n{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.mk-n b{font:600 15px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-n small{font:600 11px var(--display);color:var(--muted);letter-spacing:.04em}
.mk-s{width:64px;height:22px}
.mk-p{display:flex;flex-direction:column;align-items:flex-end;font:600 15px/1.2 var(--display);font-variant-numeric:tabular-nums}
.mk-d{font-size:13px}
.mk-d.up{color:var(--up)}.mk-d.down{color:var(--down)}
.mk-src{font-size:13px;color:var(--muted);margin:8px 0 0}

/* magic */
.months{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.months a{text-decoration:none;text-align:center;font:600 14px/1 var(--display);padding:12px 0;border-radius:var(--pill);background:var(--card);border:1px solid var(--line);color:var(--ink)}
.months a.now{background:var(--lead);border-color:var(--lead);color:#fff}
.months a:hover{border-color:var(--lead)}
.mc-picks-wrap{position:relative;margin-top:92px;padding:18px 16px 16px;border-radius:22px;background:var(--card);border:1px solid var(--line)}
.mc-picks-h{margin:0 0 12px;font:800 12px/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--lead)}
.mc-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mc-pick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 12px;border-radius:16px;text-decoration:none;color:var(--ink);font:700 13px/1.2 var(--display);text-align:center;transition:transform .15s ease,background .15s ease}
.mc-pick img{width:64px;height:64px}
.mc-pick:hover{background:var(--paper);transform:translateY(-2px)}
.mc-zippy{position:absolute;right:18px;top:-84px;width:72px;height:auto;pointer-events:none}

/* news and wire */
.news{list-style:none;margin:0;padding:0}
.news-i{padding:16px 0;border-top:1px solid var(--line)}
.news-i:first-child{border-top:0;padding-top:0}
.src,.tab{display:inline-block;font:600 12px/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.news-i h3{margin:0 0 8px}
.news-i h3 a,.wire-i h3 a{text-decoration:none}
.news-i h3 a:hover,.wire-i h3 a:hover{text-decoration:underline;text-decoration-color:var(--lead);text-underline-offset:3px}
.news-i p{font-size:16px;margin:0}
.pq{margin:12px 0 0;padding:0 0 0 16px;border-left:3px solid var(--lead)}
.pq p{font:italic 400 17px/1.45 var(--body);margin:0 0 4px}
.pq cite{font:600 13px var(--display);font-style:normal;color:var(--muted)}
.wire{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.wire-i{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;display:flex;flex-direction:column}
.wire-body{padding:16px;display:flex;flex-direction:column}
.wire-i .tab{color:#fff;background:var(--third);border-radius:var(--pill);padding:4px 10px;align-self:flex-start;letter-spacing:.04em;font-size:11px}
.wire-i.w-quirky .tab{background:var(--lead)}
.wire-i .src{margin:8px 0 4px}
.wire-i h3{font-size:18px;margin:0 0 8px}
.for{font-size:15px;color:var(--ink);margin:0;line-height:1.5}
.for span{font:600 12px var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--sage-deep);margin-right:4px}
.wire-pic{aspect-ratio:16/10;overflow:hidden}
.wire-pic img{width:100%;height:100%;object-fit:cover;object-position:60% 60%}

/* promo */
.promo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.promo-card{display:grid;grid-template-columns:44px 1fr 20px;gap:12px;align-items:center;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px;transition:transform .15s,box-shadow .15s,border-color .15s}
.promo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--pc) 40%,var(--line))}
.promo-ic{width:44px;height:44px;border-radius:12px;background:var(--pc);color:#fff;display:grid;place-items:center}
.promo-ic svg{width:24px;height:24px}
.promo-t{display:flex;flex-direction:column;min-width:0}
.promo-t b{font:600 16px/1.2 var(--display)}
.promo-t small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promo-go{width:18px;height:18px;color:var(--faint)}
.promo-card:hover .promo-go{color:var(--pc)}

/* Maze Studio banner */
.mz-banner{display:block;border-radius:var(--r-sm);overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line);transition:box-shadow .15s,transform .15s}
.mz-banner img{width:100%;height:auto;aspect-ratio:1600/376}
.mz-banner:hover{box-shadow:0 0 0 1px var(--line),var(--shadow)}

/* footer */
.foot{background:var(--paper-deep);border-top:1px solid var(--line)}
.foot-in{max-width:1120px;margin:0 auto;padding:64px 24px;display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:center}
.foot-pic{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:768/852}
.foot-pic img{width:100%;height:100%;object-fit:cover}
.foot-body .logo{margin-bottom:24px}
.foot-body h2{font-size:clamp(26px,3vw,36px);max-width:18ch}
.foot-body > p{color:var(--muted);max-width:56ch}
.foot-body .signup{max-width:520px;margin:24px 0}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:24px}
.foot-links a{font:600 15px var(--display);text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.foot-links a:hover{border-color:var(--lead);color:var(--lead-ink)}
.legal{font-size:13px;color:var(--muted);margin:0}
@media (max-width:760px){
  .foot-in{grid-template-columns:1fr;padding:48px 16px;gap:32px}
  .foot-pic{max-width:240px}
}
@media (max-width:600px){
  body{font-size:17px}
  .band-row{grid-template-columns:1fr;gap:8px}
  .band-mo{line-height:1.2}
  .quote p{font-size:24px}
  .stats{grid-template-columns:1fr 1fr}
  .stat-spark{grid-column:1/-1;order:3}
  .months{grid-template-columns:repeat(4,1fr)}
}

/* ---------- layout B: newspaper front page ---------- */
:root{--r:2px;--r-sm:2px;--h1:clamp(40px,4.6vw,60px);--h2:26px;--h3:18px;--rule:#2F2620}
body{font-size:16px;line-height:1.55}
.b-in{max-width:1232px;margin:0 auto;padding:0 24px}
.b-strip{border-bottom:1px solid var(--line);font:600 13px/1 var(--display);color:var(--muted)}
.b-strip .b-in{display:flex;align-items:center;gap:24px;height:44px;white-space:nowrap}
.b-strip .wx-mini{color:var(--ink)}
.b-ticker{margin-left:auto;flex:1 1 0;min-width:0;justify-content:flex-end;display:flex;gap:20px;overflow:hidden;white-space:nowrap;}
.tick{color:var(--ink);font-variant-numeric:tabular-nums}
.tick b{font-weight:600;color:var(--muted);margin-right:4px}
.b-plate{padding:20px 0}
.b-plate .b-in{display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:32px;align-items:center}
.b-name{text-align:center}
.b-motto{font:600 13px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 0}
.b-ear{border-radius:2px}
.b-plate .logo img{height:52px}.b-plate .logo span{font-size:64px}
.b-nav{border-top:3px double var(--rule);border-bottom:1px solid var(--rule)}
.b-nav .b-in{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 28px;padding-top:10px;padding-bottom:10px}
.b-nav a{font:600 13px/1.4 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.b-nav a:hover{color:var(--lead-ink)}
.b-row{display:grid;gap:0;border-bottom:1px solid var(--rule);padding:24px 0}
.b-row > *{padding:0 24px;border-left:1px solid var(--line);min-width:0;container-type:inline-size}
.b-row > *:first-child{padding-left:0;border-left:0}
.b-row > *:last-child{padding-right:0}
.b-front{grid-template-columns:250px minmax(0,1fr) 300px;padding-top:24px}
.b-label{font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-top:3px solid var(--rule);padding-top:8px;margin:0 0 16px}
.b-also > div{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--line)}
.b-also > div:last-child{border-bottom:0;margin-bottom:0}
.b-also h3{font-size:19px;margin-bottom:6px}
.b-also p{font-size:15px;margin-bottom:8px}
.b-also .ev{font-size:12px}
.b-also .b-trend-pic{aspect-ratio:16/10;overflow:hidden;margin-bottom:10px}
.b-also .b-trend-pic img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.b-kv{display:flex;gap:16px;font:600 13px var(--display);color:var(--muted)}
.b-kv b{display:block;font:800 22px/1.1 var(--display);color:var(--ink);letter-spacing:-.02em}
.b-also .quote p{font-size:20px}
.b-also .joke-setup{font-size:18px}
.b-also .eyebrow{margin-bottom:8px}
.b-hero-pic{aspect-ratio:16/9;overflow:hidden;margin:0 0 20px}
.b-hero-pic img{width:100%;height:100%;object-fit:cover}
.b-hero h1{margin-bottom:12px}
.b-dek{font:italic 400 20px/1.45 var(--body);color:var(--muted);margin-bottom:16px}
.b-hero .bullets{columns:2;column-gap:24px;column-rule:1px solid var(--line);display:block}
.b-hero .bullets li{break-inside:avoid;margin-bottom:12px;font-size:16px}
.b-inside{margin-top:24px}
.b-inside ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.b-inside li{border-top:1px solid var(--line)}
.b-inside li:nth-child(-n+2){border-top:0}
.b-inside a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;text-decoration:none}
.b-inside small{font:600 11px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--lead-ink)}
.b-inside span{grid-column:1;font:600 15px/1.3 var(--display)}
.b-inside i{grid-row:1/3;grid-column:2;align-self:center;width:28px;height:28px;border-radius:2px;border:1px solid rgba(0,0,0,.08)}
.b-inside a:hover span{text-decoration:underline}
.b-sub{border:1px solid var(--rule);padding:16px;margin-bottom:20px;background:var(--card)}
.b-sub h2{font-size:22px;margin-bottom:12px}
.b-sub .signup input,.b-sub .signup button{flex-basis:100%;height:46px}
.b-right .makelist{grid-template-columns:1fr;gap:16px}
.b-right .mg{background:none;border:0;border-top:3px solid var(--g);border-radius:0;padding:8px 0 0}
.b-right .mg li{padding:6px 0}
.b-right .mg-d b{font-size:20px}
.b-right .mg-n{font-size:14px}.b-right .mg-w{font-size:13px}
.b-s1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.b-s1 .tl{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 16px}
.tl-i{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0}
.tl-d{height:44px;border-radius:2px}
.band{border-radius:2px}
.b-trend{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px}
.b-trend-text{columns:2;column-gap:24px;column-rule:1px solid var(--line)}
.b-trend-text p{font-size:16px}
.b-trend-side .b-pic{aspect-ratio:1;overflow:hidden;margin-bottom:16px}
.b-trend-side .b-pic img{width:100%;height:100%;object-fit:cover}
.b-trend-side .stats{grid-template-columns:1fr 1fr}
.b-trend-side .stat-spark{grid-column:1/-1;order:3}
.stats{border-radius:0}
.make-i{border-radius:0;background:none;border-top:1px solid var(--line);padding:12px 0 0}
.b-titles{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;margin-top:16px}
.b-s3{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.b-s3 .niche.has-thumb{grid-template-columns:140px 1fr}
.b-s3 .niches{gap:12px}
.b-s3 .niche h3{font-size:18px}
.b-s3 .niche .why,.b-s3 .niche-make{font-size:15px}
.b-s3 .ideas{grid-template-columns:1fr}
.b-s3 .ideas li{font-size:15px;padding:8px 0}
.b-s4{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.b-s4 .swatch{min-height:140px}
.b-s4 .style-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.b-s4 .style-pic{aspect-ratio:1}
.b-s5{grid-template-columns:repeat(3,minmax(0,1fr))}
.b-s5 p{font-size:15.5px}
.b-s6{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.b-s6 .news{columns:2;column-gap:24px;column-rule:1px solid var(--line)}
.b-s6 .news-i{break-inside:avoid;border-top:0;padding:0 0 16px}
.b-s6 .wire{grid-template-columns:1fr;gap:0}
.b-s6 .wire-i{border:0;border-top:1px solid var(--line);border-radius:0;background:none;flex-direction:row;gap:12px}
.b-s6 .wire-i:first-child{border-top:0}
.b-s6 .wire-body{padding:12px 0}
.b-s6 .wire-pic{flex:0 0 96px;aspect-ratio:1;margin:12px 0}
.b-s6 .wire-i h3{font-size:16px}
.b-s6 .for{font-size:14px}
.b-promo{padding:24px 0 32px}
.b-promo .promo{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.b-promo .promo li{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.b-promo .promo li:nth-child(4n){border-right:0}
.b-promo .promo-card{border:0;border-radius:0;background:none;padding:14px 12px}
.b-promo .promo-ic{border-radius:2px}
.b-wx .wx-days{border-top:1px solid var(--line)}
.foot{border-top:3px double var(--rule)}
.foot-pic{border-radius:2px}
@media (max-width:1100px){
  .b-plate .b-in{grid-template-columns:minmax(0,1fr) 440px}
  .b-front{grid-template-columns:minmax(0,1fr) 300px}
  .b-also{grid-column:1/-1;order:3;border-left:0 !important;padding:24px 0 0 !important;border-top:1px solid var(--rule);margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .b-also > div{border:0;margin:0}
  .b-hero{padding-left:0 !important;border-left:0 !important}
}
@media (max-width:760px){
  .b-in{padding:0 16px}
  .b-strip .b-in{gap:12px;height:auto;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
  .b-ticker{margin-left:0;flex:0 0 100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:none}
  .b-plate{padding:16px 0}
  .b-plate .b-in{grid-template-columns:1fr;gap:16px}
  .b-motto{margin-top:10px}
  .b-plate .logo img{height:32px}.b-plate .logo span{font-size:40px}
  .b-nav .b-in{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:20px}
  .b-nav a{white-space:nowrap}
  .b-row{grid-template-columns:1fr !important;padding:20px 0}
  .b-row > *{padding:0 !important;border-left:0 !important}
  .b-row > * + *{border-top:1px solid var(--rule) !important;padding-top:20px !important;margin-top:20px}
  .b-also{display:block;grid-column:auto;margin-top:20px}
  .b-front > .b-hero{border-top:0 !important;padding-top:0 !important;margin-top:0}
  .b-hero .bullets{columns:1}
  .b-inside{display:none}
  .b-inside li:nth-child(2){border-top:1px solid var(--line)}
  .b-hero-pic{margin:0 -16px 16px}
  .b-trend,.b-titles,.b-s4 .style-grid{grid-template-columns:1fr}
  .b-trend-text,.b-s6 .news{columns:1}
  .b-s3 .niche.has-thumb{grid-template-columns:96px 1fr}
  .b-promo .promo{grid-template-columns:1fr 1fr}
  .b-promo .promo li:nth-child(2n){border-right:0}
  .b-promo .promo-card{grid-template-columns:36px 1fr;padding:12px 8px}
  .b-promo .promo-ic{width:36px;height:36px}
  .b-promo .promo-go{display:none}
  .b-promo .promo-t small{display:none}
}

/* ---------- live additions (not in the workshop page) ---------- */
:root{--sun:var(--second);--teal:var(--third);--plum:var(--third)}
.b-s2{grid-template-columns:minmax(0,1fr)}
.b-row.b-one{grid-template-columns:minmax(0,1fr)}
.b-front.b-noalso{grid-template-columns:minmax(0,1fr) 300px}
.b-trend-h{font-size:40px}
.b-after{margin-top:32px}
.b-rule{padding-top:24px;border-top:1px solid var(--line)}
.b-also h3 a{text-decoration:none}
.b-also h3 a:hover{text-decoration:underline;text-decoration-color:var(--lead);text-underline-offset:3px}
.b-hero-pic svg,.style-pic svg{display:block;width:100%;height:100%}
.b-pages{display:flex;gap:18px}
.b-pages a{text-decoration:none;color:var(--muted)}
.b-pages a:hover{color:var(--lead-ink)}
.b-pages a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lead);text-decoration-thickness:2px;text-underline-offset:6px}
.b-ticker{flex-wrap:wrap;height:1em;line-height:1;align-content:flex-start;row-gap:1em}
.b-nav-page{display:none}
.wx-mini{text-decoration:none;color:var(--ink)}
.wx-mini[hidden]{display:none}
.nodata{font:600 13px var(--display);color:var(--faint)}
/* live weather widget (assets/weather.js writes this markup) */
.b-wx{min-height:180px}
.b-wx .wx-now svg{width:56px;height:56px;flex:none}
.b-wx .wx-t{font:800 44px/1 var(--display);letter-spacing:-.04em}
.b-wx .wx-c{font:600 15px var(--display);color:var(--muted)}
.wx-place{font:600 15px var(--display);margin:12px 0 2px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.wx-change,.wx-here{font:600 13px var(--display);color:var(--lead-ink);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.wx-hl{font:600 13px var(--display);color:var(--muted);margin:0 0 12px}
.b-wx .wx-days{margin:0 0 8px}
.b-wx .wx-days li i{font-style:normal;font-size:12px;color:var(--faint)}
.wx-src{font:600 12px var(--display);color:var(--faint);text-decoration:none}
.wx-msg{font-size:15px;color:var(--muted);margin:0 0 12px}
.wx-find{display:flex;gap:8px;margin:0 0 10px}
.wx-find input{flex:1;min-width:0;height:42px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;padding:0 12px;font:400 16px var(--body);color:var(--ink)}
.wx-find input:focus{outline:none;border-color:var(--lead)}
.wx-find button{height:42px;border:0;border-radius:var(--r-sm);background:var(--lead);color:#fff;font:600 15px var(--display);padding:0 16px;cursor:pointer}
/* markets: advice for creators under the closes */
.mk-tips{margin-top:16px;border-top:3px solid var(--rule);padding-top:10px}
.mk-tips-h{font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--sage-deep);margin:0 0 8px}
.mk-tips ul{list-style:none;margin:0;padding:0}
.mk-tips li{padding:8px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.mk-tips li:first-child{border-top:0;padding-top:0}
.mk-tips b{font:600 15px/1.3 var(--display)}
.mk-tips span{font-size:14px;line-height:1.45;color:var(--muted)}
/* wire links */
.wire-i a.tab{text-decoration:none}
.more{display:inline-block;margin-top:12px;font:600 14px var(--display);color:var(--lead-ink);text-decoration:none;border-bottom:1px solid currentColor}
.signup-foot{max-width:520px;margin:24px 0}
@media (max-width:760px){
  .b-pages{flex:0 0 100%;order:1;overflow-x:auto;scrollbar-width:none;gap:16px;padding:2px 0 4px}
  .b-pages::-webkit-scrollbar{display:none}
  .b-nav-page{display:inline}
  .b-nav-first{padding-left:20px;border-left:1px solid var(--line)}
  .b-ticker{height:auto;flex-wrap:nowrap}
  .b-trend-h{font-size:32px}
  .b-front.b-noalso{grid-template-columns:1fr}
}
.foot-pic picture{display:block;height:100%}
@media (max-width:760px){.b-promo .promo-t b{font-size:14px;overflow-wrap:anywhere}}

/* Two-list signup inside the newspaper layout */
.signup.subscribe2{display:block}
.signup .s2-row{display:flex;flex-wrap:wrap;gap:8px}
.signup .s2-lists{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0}
.signup .s2-lists label{display:flex;gap:8px;align-items:center;font:600 14.5px/1.3 var(--display);color:var(--ink);cursor:pointer}
.signup .s2-lists input{flex:none;width:18px;height:18px;padding:0;margin:0;border:0;box-shadow:none;accent-color:var(--lead)}
.signup .s2-msg{margin:8px 0 0;font:600 14px var(--display);min-height:1em}
.signup .s2-msg.good{color:var(--sage,#6E8B6A)} .signup .s2-msg.bad{color:var(--lead)}
.signup.done .s2-row,.signup.done .s2-lists{opacity:.5;pointer-events:none}
.ev-link{color:inherit;text-decoration:none;border-bottom:1px dashed color-mix(in srgb,currentColor 40%,transparent)}
.ev-link:hover{color:var(--lead);border-bottom-color:var(--lead)}
.v-sm{font-size:16px !important;line-height:1.25 !important}

/* More to make (expandable) */
.tm-caret{width:22px;height:22px;border-radius:50%;background:var(--lead);flex:none;position:relative;transition:transform .2s}
.tm-caret::after{content:"";position:absolute;left:7px;top:5px;width:6px;height:6px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}

/* Dig in (owner 2026-09-24): a small speech bubble after an item opens its creator brief and chat in the Magic
   Calendar. Quiet by default; the words show on hover or focus. Dense lists show it on row hover. */
.dig{display:inline-flex;align-items:center;vertical-align:middle;margin-left:6px;height:24px;padding:0 5px;border-radius:var(--pill);color:var(--faint);text-decoration:none;font:600 12px/1 var(--display);letter-spacing:.01em;white-space:nowrap;text-transform:none;transition:color .15s,background-color .15s,opacity .15s;position:relative;top:-1px}
.dig-i{display:inline-flex;width:16px;height:16px;flex:none}
.dig svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dig-t{display:inline-block;max-width:0;overflow:hidden;opacity:0;transition:max-width .2s ease,opacity .15s,margin .2s}
.dig:hover,.dig:focus-visible{color:var(--lead-ink);background:color-mix(in srgb,var(--lead) 11%,transparent);outline:none}
.dig:hover .dig-t,.dig:focus-visible .dig-t{max-width:56px;opacity:1;margin-left:4px}
.dig:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--lead) 55%,transparent)}
/* The "1" on every Dig in (owner 2026-09-27): it uses one Dig in. */
.dig-n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:13px;height:13px;margin-left:3px;border-radius:50%;background:var(--lead);color:#fff;font:700 9px/1 var(--display);letter-spacing:0;font-variant-numeric:tabular-nums}
.dig-lab .dig-t,.dig-lab:hover .dig-t,.dig-lab:focus-visible .dig-t{max-width:none;opacity:1;margin-left:4px;transition:none}
.dig-lab{color:var(--lead-ink)}
h2 .dig{top:-3px}
.band .dig{height:18px;margin:-4px -6px -4px 4px;color:inherit;opacity:.55}
.band .dig:hover,.band .dig:focus-visible{opacity:1;background:rgba(255,255,255,.55)}
@media (hover:hover){
  .ch-col li .dig,.ol-more li .dig{opacity:0;width:0;padding:0;margin:0;overflow:hidden}
  .ch-col li:hover .dig,.ol-more li:hover .dig,.ch-col li .dig:focus-visible,.ol-more li .dig:focus-visible{opacity:1;width:auto;padding:0 5px;margin-left:4px;overflow:visible}
}

/* Small expanders that reuse the coral caret */
.dd{margin-top:4px}
.dd>summary,.ch-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:4px 0;font:600 14px/1.2 var(--display);color:var(--muted)}
.dd>summary::-webkit-details-marker,.ch-more>summary::-webkit-details-marker,.kwl-i>summary::-webkit-details-marker{display:none}
.dd>summary:hover,.ch-more>summary:hover{color:var(--lead-ink)}
.dd .tm-caret,.ch-more .tm-caret,.kwl .tm-caret{width:18px;height:18px}
.dd .tm-caret::after,.ch-more .tm-caret::after,.kwl .tm-caret::after{left:5px;top:4px;width:5px;height:5px}
.dd[open]>summary .tm-caret,.ch-more[open]>summary .tm-caret,.kwl-i[open]>summary .tm-caret{transform:rotate(90deg)}
.dd-body{margin:8px 0 0;display:grid;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}
.dd-body div,.kwl-facts div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:baseline}
.dd-body dt,.kwl-facts dt{font:600 12px/1.3 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.dd-body dd,.kwl-facts dd{margin:0;font:600 15px/1.35 var(--display);color:var(--ink);overflow-wrap:anywhere}
.dd-body .ev-q::before{content:"\201C"}.dd-body .ev-q::after{content:"\201D"}
.ch-more ol{margin:0}
.ch-more>summary{font-size:13px;padding:6px 0 0}

/* Climbing keywords: rows that open to a larger chart */
.kwl{font-size:16px}
.kwl-h,.kwl-i>summary{display:grid;grid-template-columns:minmax(0,1.35fr) 96px 128px minmax(0,1.15fr);gap:12px;align-items:center}
.kwl-h{font:600 12px/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line)}
.kwl-h span:first-child{padding-left:26px}
.kwl .r{text-align:right}
.kwl-i{border-bottom:1px solid var(--line)}
.kwl-i:nth-child(even)>summary{background:color-mix(in srgb,var(--paper-deep) 55%,transparent)}
.kwl-i>summary{list-style:none;cursor:pointer;padding:10px 12px}
.kwl-i>summary:hover .kw-k>span:nth-child(2){color:var(--lead-ink)}
.kwl .kw-k{display:flex;align-items:center;gap:8px;min-width:0;font:600 17px/1.2 var(--display)}
.kwl .kw-k>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.kwl .kw-k .dig{margin-left:-2px}
.kwl .kw-s .spark{width:120px;height:28px}
.kwl-body{padding:6px 12px 18px 38px;display:grid;gap:14px}
.bigchart{list-style:none;margin:0;padding:22px 0 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;height:170px;align-items:end;border-bottom:1px solid var(--line)}
.bc-c{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}
.bc-bar{position:relative;display:block;background:color-mix(in srgb,var(--lead) 32%,var(--card));border-radius:4px 4px 0 0;min-height:2px}
.bc-peak .bc-bar{background:var(--lead)}
.bc-bar b{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:4px;font:700 12px/1 var(--display);color:var(--lead-ink);white-space:nowrap}
.bc-c:first-child .bc-bar b{left:0;transform:none}.bc-c:last-child .bc-bar b{left:auto;right:0;transform:none}
.bc-m{display:flex;flex-direction:column;align-items:center;font:600 11px/1.2 var(--display);color:var(--muted);padding-top:6px;margin-bottom:-34px;height:34px}
.bc-m small{font-size:10px;color:var(--faint)}
.bigchart{margin-bottom:34px}
.kwl-facts{margin:0;display:grid;gap:6px}
@container (max-width:560px){
  .kwl-h{display:none}
  .kwl-i>summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 8px}
  .kwl .kw-s{grid-column:1/-1}.kwl .kw-s .spark{width:100%}
  .kwl .kw-p{grid-column:1/-1}
  .kwl-body{padding:4px 8px 16px}
  .dd-body div,.kwl-facts div{grid-template-columns:1fr;gap:2px}
}
@media (max-width:480px){.dd-body div{grid-template-columns:1fr;gap:2px}}

/* Climbing keywords as suggestions */
.kws-list{list-style:none;margin:14px 0 0;padding:0;counter-reset:kw}
.kws-list[start="4"]{counter-reset:kw 3}
.kws{counter-increment:kw;position:relative;padding:14px 0 14px 40px;border-bottom:1px solid var(--line)}
.kws::before{content:counter(kw);position:absolute;left:0;top:12px;font:800 24px/1 var(--display);color:var(--lead)}
.kws-p{margin:0;font:700 19px/1.25 var(--display);color:var(--ink)}
.kws-f{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px;color:var(--muted)}
.kws-f b{color:var(--ink);font-weight:700}
.kws-t{margin:8px 0 0;font-size:15px;line-height:1.45}
.kws-more{margin-top:6px}
.more-copy{margin-top:12px}.more-copy summary{font-size:14px}.more-copy p{font-size:15px;margin:8px 0 0}

/* Tool buttons in the nameplate */
.b-tools{display:flex;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.b-tool{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--lead);color:#fff !important;font:700 15px/1 var(--display);text-decoration:none;box-shadow:0 8px 18px -10px color-mix(in srgb,var(--lead) 70%,transparent);transition:transform .15s,filter .15s}
.b-tool:hover{transform:translateY(-1px);filter:brightness(.95)}
.b-tool-2{background:var(--ink)}
.niche-phrase{margin:8px 0 0;font-size:13.5px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.niche-phrase span{font:800 11px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead)}
.niche-phrase b{font:700 14px var(--display);color:var(--ink);background:var(--paper-deep);border-radius:999px;padding:3px 10px}

/* Color and style as matching columns: name, block, palette under the block (owner 2026-09-24) */
.b-s4 .color{display:block}
.b-s4 .color .swatch,.b-s4 .style-pic{aspect-ratio:16/9;min-height:0;margin:14px 0 12px;border-radius:var(--r-sm)}
.b-s4 .style-pic img{object-position:50% 35%}
.b-s4 .style .meta{margin:-4px 0 0}
.b-s4 .palette{margin:0 0 30px}
.b-s4 .pairs{margin-top:0}
.b-s4{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important}
.b-s4 .color h2{margin-bottom:43px}
@media (max-width:900px){.b-s4{grid-template-columns:1fr !important}.b-s4 .color h2{margin-bottom:0}}

/* Story pictures from the feeds */
.st-pic{display:block;overflow:hidden;background:var(--paper-deep);border-radius:var(--r-sm)}
.st-pic img{width:100%;height:100%;object-fit:cover;display:block}
.news-i .st-pic{aspect-ratio:16/9;margin:0 0 10px}
.wire-pic .st-fill{width:100%;height:100%;border-radius:0}
.wirelist li.has-pic{display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:16px}
.wirelist li.has-pic > .st-pic{grid-row:1 / span 20;aspect-ratio:4/3}
@media (max-width:560px){.wirelist li.has-pic{grid-template-columns:96px minmax(0,1fr)}}
.wirelist li.has-pic > .wl-b{grid-column:2;min-width:0}
.ideas[start="4"]{counter-reset:i 3}

/* Colors menu */
.tc-wrap{position:relative;display:inline-flex}
.tc-btn{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--display);color:var(--muted);background:none;border:0;padding:0;cursor:pointer}
.tc-btn:hover{color:var(--lead-ink)}
.tc-btn i{width:14px;height:14px;border-radius:50%;background:conic-gradient(#D6336C,#F2A51A,#6E8B6A,#2E3A87,#D6336C)}
.tc-pop{position:absolute;top:32px;left:0;z-index:60;width:320px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);padding:14px;text-align:left}
.tc-h{margin:0 0 8px;font:800 11px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.tc-t{border:2px solid transparent;border-radius:8px;padding:3px;background:none;cursor:pointer;text-align:center}
.tc-t.on{border-color:var(--lead)}
.tc-t span{display:flex;align-items:center;justify-content:center;gap:4px;height:38px;border-radius:6px;border:1px solid var(--line)}
.tc-t i{width:12px;height:12px;border-radius:50%}.tc-t b{font:800 13px var(--display)}
.tc-t small{display:block;margin-top:3px;font:600 9.5px/1.15 var(--display);color:var(--muted);white-space:normal}
.tc-acc{display:flex;align-items:center;gap:10px}
.tc-acc input{width:40px;height:32px;border:1px solid var(--line);border-radius:6px;padding:0;background:none;cursor:pointer}
.tc-acc span{font:700 13px var(--display)}
.tc-reset{margin-left:auto;font:600 12px var(--display);border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 10px;cursor:pointer}
html[data-look="dark"] .b-strip,html[data-look="dark"] .tn-bar{background:var(--paper)}
html[data-look="dark"] img.photo,html[data-look="dark"] .st-pic img{filter:brightness(.92)}
@media (max-width:640px){.tc-pop{width:calc(100vw - 32px);left:auto;right:-8px}}

/* Weather, smaller (owner 2026-09-25): one compact card beside the Magic Calendar, no tall empty box before a city is set. */
.b-wx{min-height:0;padding-bottom:6px}
.b-wx .eyebrow{margin-bottom:6px}
.b-wx .wx-now{gap:8px}
.b-wx .wx-now svg{width:34px;height:34px}
.b-wx .wx-t{font-size:28px}
.b-wx .wx-c{font-size:13px}
.b-wx .wx-city,.b-wx .wx-place{margin:6px 0;font-size:13px}
.b-wx .wx-days{padding-top:6px;gap:4px}
.b-wx .wx-days .wx-ic,.b-wx .wx-days svg{width:20px;height:20px}
.b-wx .wx-days li{font-size:12px}
.b-wx .wx-days b{font-size:13px}
.b-wx input{padding:6px 10px;font-size:14px;min-height:0;height:34px}
.b-wx button{padding:6px 12px;font-size:13px;min-height:0;height:34px}
.b-wx .wx-find,.b-wx .wx-here,.b-wx .wx-src{font-size:12px}

/* Color and art style, evened out (owner 2026-09-26: "lots of blank space on the left"). The color card shows its
   About text open; the style picture is a little shorter and the palette swatches slimmer. */
.b-s4 .style-pic{aspect-ratio:3/2}
.b-s4 .palette span{height:36px}
.b-s4 .more-copy p{font-size:15.5px;line-height:1.55}

/* The account button at the far right of the strip (owner 2026-09-26: "a real button Login"). */
.b-strip .b-acct{flex:none;display:inline-flex;align-items:center;gap:6px;margin-left:14px;padding:8px 14px 8px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font:700 13px/1 var(--display);text-decoration:none;white-space:nowrap}
.b-strip .b-acct:hover,.b-strip .b-acct[aria-current="page"]{background:var(--lead-ink,var(--lead));color:#fff}
.b-strip .b-acct svg{flex:none}
/* The Dig in allowance next to Account (assets/member.js fills it from /api/allowance); hidden until then. */
.b-strip .b-allow{flex:none;display:inline-flex;align-items:center;margin-left:14px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:700 13px/1 var(--display);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.b-strip .b-allow:hover{border-color:var(--lead);color:var(--lead-ink)}
.b-strip .b-allow[hidden]{display:none}
.b-strip .b-allow:not([hidden]) + .b-acct{margin-left:8px}
@media (max-width:760px){.b-strip .b-allow{order:1;margin-left:auto;padding:6px 10px}.b-strip .b-allow:not([hidden]) + .b-acct{margin-left:6px}.b-strip .b-acct{order:1;margin-left:auto;padding:7px 12px 7px 10px}.b-strip .b-ticker{order:2}.b-strip .b-pages{order:3}}

/* The soft green panel (owner 2026-09-26), first for Ten ideas, now What to make. */
.idp{background:color-mix(in srgb,#6E8B6A 13%,var(--card));border:1px solid color-mix(in srgb,#6E8B6A 28%,var(--line));border-radius:24px;padding:26px 30px 20px}
.idp h2{margin:0 0 16px}
/* What to make (owner 2026-09-28, option B): Book, Shirt, Digital columns of title-first tiles, the lead tinted, about
   four in view and the rest scrolling inside the column under a soft fade. A tile opens in place (a <details>). */
.mi-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.mi-card{display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 12px 6px 18px;box-shadow:0 8px 20px -16px rgba(47,38,32,.4)}
.mi-head{display:flex;align-items:center;gap:10px;margin:0 6px 12px 0}
.mi-head h3{margin:0;font:800 13px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead-ink)}
.mi-ct{margin-left:auto;font:600 12px/1 var(--display);color:var(--faint)}
.mi-tiles{list-style:none;margin:0;padding:0 6px 26px 0;display:grid;gap:8px;max-height:356px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;-webkit-mask-image:linear-gradient(#000 calc(100% - 30px),transparent);mask-image:linear-gradient(#000 calc(100% - 30px),transparent)}
.mi-t{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.mi-t.mi-top{background:color-mix(in srgb,var(--lead) 9%,var(--card));border-color:color-mix(in srgb,var(--lead) 30%,var(--line))}
.mi-d > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:10px 12px}
.mi-d > summary::-webkit-details-marker{display:none}
.mi-d > summary::after{content:"";grid-column:2;grid-row:1;align-self:center;width:6px;height:6px;margin:0 2px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg) translateY(-2px)}
.mi-d[open] > summary::after{transform:rotate(-135deg) translateY(-1px)}
.mi-d > summary:hover .mi-tt{color:var(--lead-ink)}
.mi-tt{grid-column:1;display:block;font:700 16px/1.2 var(--display);color:var(--ink)}
.mi-by{grid-column:1;display:block;font-size:13.5px;line-height:1.35;color:var(--muted)}
.mi-body{padding:0 12px 11px}
.mi-rest{margin:0;padding-top:8px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.45}
.mi-tw{margin:5px 0 0;font-size:14px;line-height:1.45;font-style:italic;color:var(--muted)}
.mi-dig{margin:6px 0 0}
/* Each idea's matched keyword in small print (owner 2026-09-27). */
.mi-it{min-width:0}
.mi-kw{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;margin:4px 0 0;font:600 12.5px/1.35 var(--display);color:var(--muted)}
.mi-kwk{color:var(--ink)}
.mi-kw .dig{margin-left:2px}
@media (max-width:900px){.idp{padding:20px 16px 16px;border-radius:18px}.mi-grid{grid-template-columns:1fr}}

/* Page-turn treatments (owner 2026-09-26, "yes to 1 ... 5"): the color band, the style spread, the pull quote,
   the games table, and the sticky-note tips. The gallery wall lives in pd.css. */

/* 1. Color of the day, a full-width band in the day's color. The box-shadow and clip-path paint the color out to the
   window edges without widening the page. */
.b-band{padding:0;margin:0;border-bottom:1px solid var(--rule)}
.cb{background:var(--cb);color:var(--cb-ink);box-shadow:0 0 0 100vmax var(--cb);clip-path:inset(0 -100vmax);padding:56px 0 52px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px;align-items:start}
.cb .eyebrow{color:var(--cb-ink);opacity:.82;margin-bottom:18px}
.cb-name{font-size:clamp(60px,8.4vw,120px);line-height:.88;letter-spacing:-.05em;color:var(--cb-ink);margin:0 0 20px;font-variation-settings:"opsz" 96;overflow-wrap:anywhere}
.cb .dig{color:var(--cb-ink);opacity:.72}
.cb .dig:hover,.cb .dig:focus-visible{color:var(--cb-ink);opacity:1;background:color-mix(in srgb,var(--cb-ink) 16%,transparent)}
.cb-name .dig{vertical-align:super;top:0}
.cb .cp{box-shadow:none;border-radius:0}
.cb .cp:hover{transform:none}
.cb .cp:focus-visible{outline:3px solid var(--cb-ink);outline-offset:3px}
.cb .cb-hex{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:999px !important;background:transparent;color:var(--cb-ink);border:1.5px solid color-mix(in srgb,var(--cb-ink) 55%,transparent) !important;font:700 17px/1 var(--display);letter-spacing:.04em}
.cb .cb-hex:hover{background:color-mix(in srgb,var(--cb-ink) 14%,transparent)}
.cb-pairs{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}
.cb-pairs li{display:flex;align-items:center;gap:10px}
.cb-dot{width:40px;height:40px;border-radius:50% !important;box-shadow:0 0 0 2px color-mix(in srgb,var(--cb-ink) 60%,transparent) !important;flex:none}
.cb-pairs span{display:flex;flex-direction:column;font:600 13px/1.25 var(--display);letter-spacing:.04em;opacity:.85}
.cb-pairs b{font:700 16px/1.2 var(--display);letter-spacing:0;opacity:1}
.cb-copy{margin:28px 0 0;font-size:16.5px;line-height:1.6;max-width:56ch;opacity:.94}
.cb-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:18px}
.cb-n{display:flex;align-items:center;min-height:24px;margin:0 0 7px;font:700 12.5px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.cb-sws{display:flex;gap:6px}
.cb .cb-sw{flex:1 1 0;min-width:0;height:70px;border-radius:12px !important;display:flex;align-items:flex-end;padding:0 0 8px 10px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--cb-ink) 30%,transparent) !important;transition:transform .15s}
.cb .cb-sw:hover{transform:translateY(-2px) !important}
.cb-sw small{font:700 11px/1 var(--display);letter-spacing:.04em;opacity:.9;white-space:nowrap;overflow:hidden}
.cb .cd-toast{color:var(--cb-ink);margin-top:14px}
@media (max-width:900px){.cb{grid-template-columns:1fr;gap:36px;padding:40px 0 36px}}
@media (max-width:560px){.cb-name{font-size:56px}.cb .cb-sw{height:54px;border-radius:10px !important;padding:0 0 6px 7px}.cb-sw small{font-size:9.5px;letter-spacing:0}.cb-copy{font-size:15.5px}}
@media (prefers-reduced-motion:reduce){.cb .cb-sw{transition:none}.cb .cb-sw:hover{transform:none !important}}

/* Art style on its own row, the picture beside the text */
.b-style #style{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:repeat(7,auto) 1fr;column-gap:48px;align-items:start}
.b-style #style .style,.b-style #style .style-text{display:contents}
.b-style #style > *,.b-style #style .style > *,.b-style #style .style-text > *{grid-column:2}
.b-style #style .style-pic{grid-column:1;grid-row:1 / -1;margin:0;aspect-ratio:4/3;border-radius:14px}
.b-style #style .style-pic img{object-position:50% 35%}
.b-style #style h2{font-size:clamp(30px,3.4vw,44px);margin:0 0 10px}
.b-style #style .meta{margin:0 0 20px}
.b-style #style .palette{margin:0 0 34px}
.b-style #style .palette span{height:52px;border-radius:10px}
.b-style #style .more-copy{margin-top:0}
.b-style #style .more-copy p{font-size:15.5px;line-height:1.55}
.b-style #style .sp{margin-top:14px}
@media (max-width:900px){.b-style #style{display:block}.b-style #style .style-pic{margin:6px 0 18px;aspect-ratio:3/2}}

/* 2. Thought of the day as a pull quote between sections */
.b-pull{padding:64px 0 60px;border-bottom:1px solid var(--rule);text-align:center}
.tq{margin:0 auto;max-width:900px;padding:0 8px}
.tq-mark{display:block;height:62px;margin:0 0 6px;font:800 170px/.9 var(--display);color:var(--lead);font-variation-settings:"opsz" 96}
.tq blockquote{margin:0}
.tq p{font:800 clamp(34px,4.6vw,60px)/1.06 var(--display);letter-spacing:-.035em;color:var(--ink);margin:0 0 28px;text-wrap:balance;font-variation-settings:"opsz" 96}
.tq figcaption{display:flex;flex-direction:column;align-items:center;gap:4px;font:600 12.5px/1.3 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tq figcaption::before{content:"";width:44px;height:3px;border-radius:2px;background:var(--lead);margin-bottom:12px}
.tq figcaption b{font:700 15px/1.3 var(--display);letter-spacing:.06em;color:var(--ink)}
@media (max-width:760px){.b-pull{padding:44px 0 40px}.tq-mark{height:50px;font-size:136px}.tq p{font-size:32px}}

/* 4. The puzzles on a warm games table */
.b-puzzles{border-bottom:0;padding-bottom:8px}
.b-row.b-puzzles > #puzzles{background:color-mix(in srgb,#D9A441 17%,var(--card));border:1px solid color-mix(in srgb,#D9A441 36%,var(--line)) !important;border-radius:24px;padding:28px 32px !important}
@media (max-width:900px){.b-row.b-puzzles > #puzzles{padding:20px 14px !important;border-radius:18px}}
@media (max-width:560px){.b-row.b-puzzles > #puzzles{margin:0 -8px;padding:18px 8px 12px !important;border-radius:16px}}

/* 5. Tech tip and Marketing tip as sticky notes. The notes keep their own dark ink on any theme. */
.b-s5 #tip,.b-s5 #marketing{--ink:#2F2620;--muted:#5E5046;--faint:#8A7A6C;--lead-ink:color-mix(in srgb,var(--lead) 55%,#1B1410);position:relative;color:#2F2620;background:#FFF2A6;padding:32px 24px 20px;border-radius:3px 3px 6px 18px;box-shadow:0 1px 1px rgba(47,38,32,.08),0 16px 24px -16px rgba(47,38,32,.5);transform:rotate(-1deg);transition:transform .25s ease}
.b-s5 #marketing{background:#FFD6DD;transform:rotate(1.2deg);margin-top:40px}
.b-s5 #tip{margin-top:10px}
.b-s5 #tip::before,.b-s5 #marketing::before{content:"";position:absolute;top:-12px;left:50%;width:104px;height:26px;margin-left:-52px;background:rgba(255,255,255,.58);border-left:1px dashed rgba(47,38,32,.12);border-right:1px dashed rgba(47,38,32,.12);box-shadow:0 1px 2px rgba(47,38,32,.12);transform:rotate(-3deg)}
.b-s5 #marketing::before{transform:rotate(2.5deg);left:44%}
.b-s5 #tip h2,.b-s5 #marketing h2{font-size:24px}
.b-s5 #tip p:last-child,.b-s5 #marketing p:last-child{margin-bottom:0}
.b-s5 #tip:hover{transform:rotate(-.3deg) translateY(-2px)}
.b-s5 #marketing:hover{transform:rotate(.4deg) translateY(-2px)}
@media (max-width:760px){.b-s5 #tip,.b-s5 #marketing,.b-s5 #tip:hover,.b-s5 #marketing:hover{transform:none}.b-s5 > div{padding-top:10px !important}}
@media (prefers-reduced-motion:reduce){.b-s5 #tip,.b-s5 #marketing{transition:none}.b-s5 #tip:hover{transform:rotate(-1deg)}.b-s5 #marketing:hover{transform:rotate(1.2deg)}}
/* The product icon and the number in a circle (owner 2026-09-26). */
.idp-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--lead) 12%,transparent);color:var(--lead-ink)}
.idp-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lead);color:#fff;font:800 13px/1 var(--display);margin:0}

/* Season ahead on a light cream panel (owner 2026-09-26), like the "Try for" box beside it. */
.b-s1 > #season{background:color-mix(in srgb,#fff 55%,var(--paper));border:1px solid var(--line);border-radius:24px;padding:24px 28px 22px;border-left:1px solid var(--line)}
.b-s1 > #season .tl-i{background:#fffdf9;border-color:color-mix(in srgb,var(--line) 70%,#fff)}
@media (max-width:900px){.b-s1 > #season{padding:18px 16px 16px;border-radius:18px}}
@media (max-width:760px){.b-row.b-s1 > #season{padding:18px 16px 16px !important;border-left:1px solid var(--line) !important}}

/* ---------- The subscriber note (components.mjs subNote; owner 2026-09-28: "very subtly", no locks) ----------
   Free and Puzzles readers see one quiet line under a list in place of the members' items; Subscriber and VIP see the
   full items (class "gated", member.css) and never the note. */
html[data-plan="creator"] .gated-teaser,html[data-plan="studio"] .gated-teaser{display:none !important}
.sub-note{margin:10px 0 0;padding:0;border:0;background:none;font:500 13.5px/1.4 var(--display);color:var(--muted)}
.sub-note a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--muted) 45%,transparent);text-underline-offset:3px}
.sub-note a:hover{color:var(--ink);text-decoration-color:var(--lead)}
.mi-card .sub-note{margin:2px 6px 10px 0}
/* Nav groups (owner 2026-09-27; strip.mjs NAV_GROUPS): Make, Listen, Play as small-caps labels ahead of their links in
   the header strip and the section nav. On phones the rows scroll and the labels drop; the side menu shows them. */
.b-grp{display:inline-flex;align-items:baseline;gap:inherit}
.b-gl{font:700 13px/1 var(--display);font-variant-caps:all-small-caps;letter-spacing:.12em;color:var(--muted);opacity:.85;white-space:nowrap}
.b-nav .b-grp{gap:4px 22px;flex-wrap:nowrap;white-space:nowrap}
.b-nav .b-grp + .b-grp,.b-nav .b-grp + a:not(.b-nav-page){margin-left:6px;padding-left:22px;border-left:1px solid var(--line)}
.b-strip .b-grp{gap:18px}
@media (max-width:760px){.b-gl{display:none}.b-grp{display:contents}.b-nav .b-grp + .b-grp,.b-nav .b-grp + a:not(.b-nav-page){margin-left:0;padding-left:0;border-left:0}}

.dig-nob .dig-n{display:none}
/* Sample search numbers (SAMPLE_VOLUMES=1 previews only, src/sample-volumes.mjs): a subtle dotted underline. */
.vol-sample{text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:currentColor;cursor:help}

/* Public domain picks */
.pd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:16px 0 8px}
.pd-card{margin:0;display:flex;flex-direction:column}
.pd-img{display:block;aspect-ratio:4/5;background:var(--paper-deep);overflow:hidden;border:1px solid var(--line)}
.pd-img img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.pd-img:hover img{transform:scale(1.03)}
.pd-card figcaption{padding-top:10px;display:flex;flex-direction:column;gap:3px}
.pd-t{font:700 16px/1.3 var(--display);color:var(--ink)}
.pd-by{font-size:13.5px;color:var(--muted)}
.pd-use{font-size:14.5px;line-height:1.45;margin-top:4px}
.pd-src{font:600 12.5px var(--display);margin-top:4px}
.pd-src a{color:var(--lead)} .pd-src em{font-style:normal;color:var(--muted);margin-left:4px}
.pd-books{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.pd-bl{font:800 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead);margin:0 0 10px}
.pd-books ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.pd-books a{font:700 16px var(--display);color:var(--ink)} .pd-books span{color:var(--muted);font-size:14px}
.pd-books p{margin:4px 0 0;font-size:14.5px}
.pd-note{margin-top:16px;font-size:13px;color:var(--muted)}
@media (max-width:760px){.pd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pd-books ul{grid-template-columns:1fr}}

/* One row of smaller picks (owner 2026-09-24); long titles clamp to two lines */
.pd-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.pd-img{aspect-ratio:3/4}
.pd-t{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pd-by{font-size:12px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pd-use{font-size:13px}
.pd-src{font-size:11.5px}
@media (max-width:1000px){.pd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.pd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 3. The picks as a gallery wall (owner 2026-09-26): one large, two medium, three small, each in a thin frame with a
   little mat. Scoped to the issue page; the member page keeps its plain grid. */
#pd .pd-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 28px;margin:22px 0 10px;align-items:start}
#pd .pd-card{grid-column:span 4}
#pd .pd-img{aspect-ratio:auto;padding:12px;background:var(--card);border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ink) 5%,transparent),0 18px 28px -20px rgba(47,38,32,.55)}
#pd .pd-img img{height:auto;aspect-ratio:1;object-fit:contain;background:var(--card)}
#pd .pd-card figcaption{padding-top:12px}
#pd .pd-card:nth-child(1){grid-column:1 / span 7;grid-row:1 / span 2}
#pd .pd-card:nth-child(1) .pd-img img{aspect-ratio:auto;height:640px}
#pd .pd-card:nth-child(1) .pd-t{font-size:20px;-webkit-line-clamp:3}
#pd .pd-card:nth-child(1) .pd-by{font-size:13.5px}
#pd .pd-card:nth-child(1) .pd-use{font-size:15px}
#pd .pd-card:nth-child(2),#pd .pd-card:nth-child(3){grid-column:8 / span 5}
#pd .pd-card:nth-child(2) .pd-img img,#pd .pd-card:nth-child(3) .pd-img img{aspect-ratio:auto;height:228px}
#pd .pd-card:nth-child(n+4){display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:start}
#pd .pd-card:nth-child(n+4) .pd-img{padding:7px}
#pd .pd-card:nth-child(n+4) figcaption{padding-top:0}
#pd .pd-card:nth-child(n+4) .pd-t{font-size:15px}
@media (max-width:1000px){
  #pd .pd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
  #pd .pd-card,#pd .pd-card:nth-child(n){grid-column:auto;grid-row:auto}
  #pd .pd-card:nth-child(1){grid-column:1 / -1}
  #pd .pd-card:nth-child(1) .pd-img img{height:auto;aspect-ratio:4/3}
  #pd .pd-card:nth-child(2) .pd-img img,#pd .pd-card:nth-child(3) .pd-img img{height:auto;aspect-ratio:1}
  #pd .pd-card:nth-child(n+4){grid-column:1 / -1;grid-template-columns:104px minmax(0,1fr)}
}
@media (max-width:560px){#pd .pd-img{padding:8px}#pd .pd-card:nth-child(1) .pd-t{font-size:18px}}

/* Reading online and the charts */
.ol-top{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.ol-top li{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.ol-n{font:800 26px/1 var(--display);color:var(--lead)}
.ol-t{margin:0;font:700 17px/1.3 var(--display);color:var(--ink)}
.ol-tag{font:600 11.5px var(--display);color:var(--muted);background:var(--paper-deep);border-radius:999px;padding:2px 8px;margin-left:4px;white-space:nowrap}
.ol-w{margin:4px 0 0;font-size:14.5px;color:var(--muted)}
.ol-h{margin:6px 0 0;font-size:14.5px}.ol-h b{font:800 11px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead);margin-right:4px}
.ol-more{margin-top:14px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ol-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 0;font:700 16px var(--display)}
.ol-more summary::-webkit-details-marker{display:none}
.ol-more[open] .tm-caret{transform:rotate(90deg)}
.ol-more ol{columns:3;column-gap:28px;margin:0 0 16px;padding-left:28px;font-size:14.5px}
.ol-more li{break-inside:avoid;padding:3px 0}
.ch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 30px;margin-top:14px}
.ch-col h3{font:800 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead);margin:0 0 10px;padding-top:10px;border-top:3px solid var(--rule)}
.ch-col ol{margin:0;padding-left:20px;font-size:14.5px}.ch-col li{padding:2px 0}.ch-col small{color:var(--muted);font-size:12px}
.ch-genres{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 10px}.ch-genres span{font:600 12px var(--display);background:var(--paper-deep);border-radius:999px;padding:3px 9px}.ch-genres b{color:var(--lead)}
.ch-h{margin:10px 0 0;font-size:14px}.ch-h b{font:800 11px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead);margin-right:4px}
@media (max-width:760px){.ol-top{grid-template-columns:1fr}.ol-more ol{columns:1}.ch-grid{grid-template-columns:1fr}}

/* The Daily Bicker (src/newspaper/bicker.mjs): its own page at /bicker/, built on the /news/ layout
   (news.css: .tn-plate, .tn-bar, .tn-side, .tn-sec), and the teaser card on the issue page. */

/* heat and source, shared by the page and the teaser */
.bk-heat{display:inline-flex;gap:2px;color:var(--lead)}
.bk-f{fill:currentColor;opacity:.18}
.bk-f.on{opacity:1}
.bk-src{display:inline-block;font:600 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--pill);padding:4px 8px;text-decoration:none}
a.bk-src:hover{color:var(--lead-ink);border-color:var(--lead)}

/* the page */
.bk-page .b-motto{font:italic 400 21px/1.3 var(--body);letter-spacing:0;text-transform:none;color:var(--ink);margin-top:12px}
.bk-date{font:600 12px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 0}
.bk-count{font:600 14px/1.3 var(--display);color:var(--muted);margin:0;padding:6px 0 0}
.tn-sec.bk-sec{padding:22px 0 30px;border-bottom:0;margin-bottom:0}
.bk-sec .tn-h{margin-bottom:16px}
.bk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.bk-grid > .bk-card:last-child:nth-child(odd){grid-column:1/-1}
.bk-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px 14px;min-width:0;display:flex;flex-direction:column}
.bk-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.bk-t{font:800 20px/1.2 var(--display);letter-spacing:-.012em;margin:0 0 12px;overflow-wrap:anywhere}
.bk-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 10px}
.bk-sides > div{padding:10px 12px 10px 0;min-width:0}
.bk-sides > div + div{padding:10px 0 10px 12px;border-left:1px solid var(--line)}
.bk-sides p{margin:0;font-size:15px;line-height:1.45}
.bk-sides .bk-l{font:600 11px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.bk-votes{margin:-4px 0 10px;font:600 12px/1.3 var(--display);color:var(--muted)}
.bk-dig{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font:600 13px/1 var(--display);color:var(--lead-ink);text-decoration:none;margin:2px 0 10px}
.bk-dig svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bk-dig:hover{text-decoration:underline;text-underline-offset:3px}
.bk-card .for{font-size:14.5px;padding-top:10px;border-top:1px dotted var(--line)}
.bk-card > :last-child{margin-bottom:0}
.bk-page .mb-row{margin-top:8px}
@media (max-width:1100px){.bk-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .bk-page .b-motto{font-size:18px}
  .bk-sec{padding:18px 0 22px}
  .bk-card{padding:14px 14px 12px}
  .bk-t{font-size:18px}
  .bk-sides{grid-template-columns:minmax(0,1fr)}
  .bk-sides > div{padding:10px 0}
  .bk-sides > div + div{padding:10px 0;border-left:0;border-top:1px dotted var(--line)}
}

/* the teaser card on the issue page */
.bk-tz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:28px;align-items:start}
.bk-tz-h{margin:0 0 8px}
.bk-tz-n{font:600 14px/1.35 var(--display);color:var(--muted);margin:0 0 14px}
.bk-tz-go{display:inline-block;font:600 14px/1 var(--display);color:#fff;background:var(--lead);border-radius:var(--pill);padding:11px 18px;text-decoration:none}
.bk-tz-go:hover{background:var(--lead-ink)}
.bk-tz-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bk-tz-i{min-width:0;border-top:3px solid var(--rule,var(--ink));padding-top:10px}
.bk-tz-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}
.bk-chip{font:800 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink);text-decoration:none}
.bk-chip:hover{text-decoration:underline}
.bk-tz-t{font:800 18px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.bk-tz-t:hover{text-decoration:underline;text-decoration-color:var(--lead);text-underline-offset:3px}
@media (max-width:900px){
  .bk-tz{grid-template-columns:minmax(0,1fr);gap:18px}
  .bk-tz-list{grid-template-columns:minmax(0,1fr);gap:0}
  .bk-tz-i{border-top:1px solid var(--line);padding:12px 0}
  .bk-tz-i:first-child{border-top:3px solid var(--rule,var(--ink))}
}

/* The odds (owner 2026-09-24): crowd forecasts from public prediction markets, one compact row each */
.od-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.od-row{min-width:0;border-top:1px solid var(--line);padding:14px 0 16px;display:flex;flex-direction:column}
.od-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin:0 0 6px}
.od-when{font:600 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.od-q{font:800 17px/1.25 var(--display);letter-spacing:-.01em;margin:0 0 10px;overflow-wrap:anywhere}
.od-bar-row{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.od-bar{flex:1 1 auto;height:10px;border-radius:var(--pill);background:var(--paper-deep);border:1px solid var(--line);overflow:hidden;min-width:60px}
.od-bar > span{display:block;height:100%;background:var(--lead);border-radius:var(--pill)}
.od-pct{font:800 16px/1 var(--display);min-width:3ch;text-align:right;color:var(--ink)}
.od-move{display:inline-flex;align-items:center;gap:3px;font:700 12px/1 var(--display);white-space:nowrap;color:var(--muted)}
.od-move svg{fill:currentColor}
.od-up{color:var(--up)}
.od-down{color:var(--down)}
.od-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.od-crowd{margin:0 0 8px;font-size:15px;line-height:1.45}
.od-row .od-for{font-size:14.5px;padding-top:8px;border-top:1px dotted var(--line);margin:0 0 8px}
.od-src{align-self:flex-start;font:600 12px/1 var(--display);color:var(--lead-ink);text-decoration:none}
.od-src:hover{text-decoration:underline;text-underline-offset:3px}
/* More on the question (owner 2026-09-27, pass two): sell-by date, If yes and If no, Three angles, Dig in last. */
.od-sell{font:700 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--lead-ink);background:color-mix(in srgb,var(--lead) 10%,transparent);border-radius:999px;padding:4px 8px;white-space:nowrap}
.od-sell.od-now{color:#fff;background:var(--lead)}
.od-row .od-for.od-no{border-top:0;padding-top:0}
.od-ang{margin:0 0 8px;padding-top:8px;border-top:1px dotted var(--line)}
.od-k{margin:0 0 6px;font:800 11px/1.3 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead)}
.od-ang ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.od-ang li{font-size:14.5px;line-height:1.45;color:var(--ink)}
.od-al{display:block;font:700 11px/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.od-dig{margin:6px 0 0}
.od-dig .dig{margin-left:0}
.od-foot{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--line);font:600 12.5px/1.4 var(--display);color:var(--muted)}
.od-tz{margin:-4px 0 14px;font:600 14px/1.35 var(--display)}
.od-tz a{color:var(--ink);text-decoration:none}
.od-tz a:hover{text-decoration:underline;text-decoration-color:var(--lead);text-underline-offset:3px}
.od-tz b{color:var(--lead-ink)}
@media (max-width:1100px){.od-list{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.od-q{font-size:16px}}

/* The Bicker teaser as a rounded panel of little cards (owner 2026-09-26: "a pretty rounded panel to mix it up"). */
.bk-tz{background:color-mix(in srgb,var(--second,#E0A33A) 14%,var(--card));border:1px solid color-mix(in srgb,var(--second,#E0A33A) 30%,var(--line));border-radius:24px;padding:28px 32px}
.bk-tz-list{gap:14px}
.bk-tz-i{border-top:0;background:#fffdf9;border:1px solid var(--line);border-radius:16px;padding:16px 16px 18px;box-shadow:0 8px 20px -16px rgba(47,38,32,.4);transition:transform .15s ease}
.bk-tz-i:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.bk-tz-i{transition:none}.bk-tz-i:hover{transform:none}}
@media (max-width:900px){.bk-tz{padding:22px 18px;border-radius:18px}}

/* Story runs (owner 2026-09-27): how long an argument or question has been on the page and which way it moved. */
.run-tag{display:inline-block;font:600 11px/1.2 var(--display);letter-spacing:.03em;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px 8px;white-space:nowrap}
.run-tag.run-rising{color:var(--lead-ink);border-color:var(--lead)}
.run-tag.run-carried,.run-tag.run-back{font-style:italic}
.od-bar-row .run-tag{margin-left:6px}
/* More on the argument (owner 2026-09-27, the niche box's shape): gist, pull line, Three angles. */
.bk-more{margin:0 0 10px}
.bk-gist{margin:0;font-size:15px;line-height:1.5;color:var(--ink)}
.bk-q{margin:10px 0 0;padding:2px 0 2px 12px;border-left:3px solid var(--lead);font:italic 600 15.5px/1.45 var(--display);color:var(--ink)}
.bk-ang{margin:0 0 10px;padding-top:10px;border-top:1px dotted var(--line)}
.bk-k{margin:0 0 6px;font:800 11px/1.3 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead)}
.bk-ang ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bk-ang li{font-size:14.5px;line-height:1.45;color:var(--ink)}
.bk-al{display:block;font:700 11px/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.bk-card .bk-dig{margin-top:auto;padding-top:4px}
/* Free readers see one argument per category: the card runs the full width instead of sitting in half a grid. */
html:not([data-plan="creator"]):not([data-plan="studio"]) .bk-grid{grid-template-columns:minmax(0,1fr)}

/* Puzzle grids, shared by the newspaper cards, the printable pages, and the monthly book. Sizes come from --cell. */
.pz-sudoku{--cell:28px;display:grid;grid-template-columns:repeat(9,var(--cell));width:max-content;border:2px solid var(--pz-ink,#2F2620);background:#fff}
.pz-sudoku .pz-c{width:var(--cell);height:var(--cell);display:flex;align-items:center;justify-content:center;border:0;border-right:1px solid var(--pz-rule,#CFC3B4);border-bottom:1px solid var(--pz-rule,#CFC3B4);font:600 calc(var(--cell) * .55)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620);background:#fff;text-align:center;padding:0;margin:0;border-radius:0;box-sizing:border-box}
.pz-sudoku .pz-c:nth-child(9n){border-right:0}
.pz-sudoku .pz-c.br{border-right:2px solid var(--pz-ink,#2F2620)}
.pz-sudoku .pz-c.bb{border-bottom:2px solid var(--pz-ink,#2F2620)}
.pz-sudoku .pz-c.lr{border-bottom:0}
.pz-sudoku .pz-g{font-weight:800}
.pz-sudoku .pz-f{color:var(--pz-fill,#6E8B6A);font-weight:600}
.pz-ws{--cell:21px;display:grid;grid-template-columns:repeat(var(--n,12),var(--cell));width:max-content;border:1.5px solid var(--pz-ink,#2F2620);background:#fff;padding:3px}
.pz-ws .pz-l{width:var(--cell);height:var(--cell);display:flex;align-items:center;justify-content:center;font:700 calc(var(--cell) * .62)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620);background:transparent;border:0;padding:0;margin:0;border-radius:calc(var(--cell) * .5);box-sizing:border-box}
.pz-ws .pz-l.on{background:var(--pz-hi,#F6D38A)}
.pz-words{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:2px 18px;font:700 12.5px/1.5 var(--pz-font,system-ui,sans-serif);letter-spacing:.06em;color:var(--pz-ink,#2F2620)}
.pz-words li.found{text-decoration:line-through;color:var(--pz-muted,#6F625A)}
.pz-maze{display:block;width:100%;height:auto;background:#fff}
.pz-clues{margin:0 0 10px;padding-left:1.4em}
.pz-clues li{margin:0 0 4px}
.pz-table{border-collapse:collapse;font:inherit}
.pz-table th,.pz-table td{border:1px solid var(--pz-rule,#CFC3B4);padding:4px 10px;text-align:left}
.pz-table th{font-weight:700;background:var(--pz-head,#F6EFE6)}
.pz-table td.blank{min-width:9em;height:1.9em}
.pz-stair{border-collapse:collapse;font:600 11px/1.1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620)}
.pz-stair td,.pz-stair th{padding:0}
.pz-stair td.x{width:var(--cell,20px);height:var(--cell,20px);border:1px solid var(--pz-rule,#CFC3B4)}
.pz-stair td.x.bl{border-left:2px solid var(--pz-ink,#2F2620)}
.pz-stair td.x.bt{border-top:2px solid var(--pz-ink,#2F2620)}
.pz-stair th.rh{text-align:right;padding-right:6px;white-space:nowrap;font-weight:600}
.pz-stair th.ch{height:6.4em;vertical-align:bottom;white-space:nowrap}
.pz-stair th.ch span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);padding-bottom:4px;font-weight:600}
.pz-stair th.cat{font:800 10px/1 var(--pz-font,system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--pz-muted,#6F625A);padding:0 0 4px}
.pz-ws{position:relative}
.pz-bars{position:absolute;left:3px;top:3px;width:calc(var(--cell) * var(--n,12));height:calc(var(--cell) * var(--n,12));pointer-events:none}
.pz-bars line{stroke:var(--pz-hi,#F6D38A);stroke-width:.78;stroke-linecap:round;opacity:.8}
.pz-ws .pz-l{position:relative}
/* Mini crossword and cross reference grids: --n columns of --cell squares, black cells filled with ink. */
.pz-xw{--cell:30px;display:grid;grid-template-columns:repeat(var(--n,5),var(--cell));width:max-content;border:2px solid var(--pz-ink,#2F2620);background:var(--pz-ink,#2F2620);gap:1px}
.pz-xc{position:relative;width:var(--cell);height:var(--cell);background:#fff;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.pz-xc.blk{background:var(--pz-ink,#2F2620)}
.pz-xc b,.pz-xc input{font:700 calc(var(--cell) * .54)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620);text-transform:uppercase}
.pz-xc b{transform:translateY(8%)}
.pz-n{position:absolute;left:2px;top:1px;font:700 calc(var(--cell) * .26)/1 var(--pz-font,system-ui,sans-serif);font-style:normal;color:var(--pz-ink,#2F2620);pointer-events:none;z-index:1}
.pz-crg .pz-n{font-size:calc(var(--cell) * .24);color:var(--pz-muted,#6F625A)}
.pz-xc.giv{background:var(--acc-soft,#F1ECE4)}
.pz-cls{display:grid;gap:10px;font-size:14px;line-height:1.35}
.pz-cls h4{margin:0 0 4px;font:800 12px/1.2 var(--pz-font,system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--acc-ink,var(--pz-muted,#6F625A))}
.pz-cls ol{list-style:none;margin:0;padding:0}
.pz-cls li{margin:0 0 3px;padding:2px 4px;border-radius:4px}
.pz-cls li b{display:inline-block;min-width:1.4em;font-family:var(--pz-font,system-ui,sans-serif)}
.pz-key{--kb:26px;display:grid;grid-template-columns:repeat(13,var(--kb));width:max-content;gap:2px;margin-top:10px}
.pz-kb{position:relative;width:var(--kb);height:calc(var(--kb) * 1.15);border:1px solid var(--pz-rule,#CFC3B4);background:#fff;display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box;padding-bottom:2px}
.pz-kb i{position:absolute;left:0;right:0;top:1px;text-align:center;font:700 calc(var(--kb) * .3)/1 var(--pz-font,system-ui,sans-serif);font-style:normal;color:var(--pz-muted,#6F625A)}
.pz-kb b,.pz-kb input{font:700 calc(var(--kb) * .46)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620);text-transform:uppercase}
.pz-kb.off{background:repeating-linear-gradient(135deg,#fff 0 4px,#F1ECE4 4px 6px)}
.pz-kb.giv{background:var(--acc-soft,#F1ECE4)}
.pz-abc{display:flex;flex-wrap:wrap;gap:2px 7px;margin-top:8px;font:700 13px/1.4 var(--pz-font,system-ui,sans-serif);letter-spacing:.04em;color:var(--pz-ink,#2F2620)}
.pz-abc .used{color:var(--pz-muted,#A39588);text-decoration:line-through}
.pz-wheel{position:relative;width:220px;aspect-ratio:1;max-width:100%;container-type:inline-size}
.pz-whbg{position:absolute;inset:0;width:100%;height:100%;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pz-whbg .rim{fill:var(--acc-soft,#F6EFE6);stroke:var(--acc,#2F2620);stroke-width:1.2}
.pz-whbg .hub{fill:var(--acc,#2F2620)}
.pz-whbg line{stroke:var(--acc,#2F2620);stroke-width:.8;stroke-opacity:.55}
.pz-wh{position:absolute;transform:translate(-50%,-50%);width:24%;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 22px/1 var(--pz-font,system-ui,sans-serif);font-size:11cqw;color:var(--pz-ink,#2F2620);background:#fff;border:1.5px solid var(--acc,#2F2620);padding:0;margin:0;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pz-wh.c{width:30%;background:var(--acc,#2F2620);color:#fff;border-color:#fff;border-width:2px}
.pz-whans{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 12px;font:600 13px/1.5 var(--pz-font,system-ui,sans-serif);letter-spacing:.04em}
.pz-whans .pg b{color:var(--acc-ink,var(--pz-ink,#2F2620))}
.pz-whans small{font-size:.75em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pz-muted,#6F625A)}
/* The members' extra logic puzzles (src/puzzles/extra-html.mjs). */
.pz-kdefs{position:absolute;width:0;height:0;overflow:hidden}
.pz-kit{--cell:40px;display:grid;grid-template-columns:repeat(var(--n),var(--cell));width:max-content;border:2px solid var(--pz-ink,#2F2620);background:#fff}
.pz-kc{position:relative;width:var(--cell);height:var(--cell);display:flex;align-items:center;justify-content:center;border:0;border-right:1px solid var(--pz-rule,#CFC3B4);border-bottom:1px solid var(--pz-rule,#CFC3B4);padding:0;margin:0;background:#fff;box-sizing:border-box}
.pz-kc:nth-child(1n){border-radius:0}
.pz-kc.br{border-right:2px solid var(--pz-ink,#2F2620)}
.pz-kc.bb{border-bottom:2px solid var(--pz-ink,#2F2620)}
.pz-kc.giv{background:var(--acc-soft,#F6EFE6)}
.pz-kc .pz-kic{width:76%;height:76%}
.pz-kc.ans .pz-kic{opacity:.62}
.pz-ktray.print{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}
.pz-ktray.print .pz-kpick{display:inline-flex;flex-direction:column;align-items:center;gap:3px;font:600 12px var(--pz-font,system-ui,sans-serif)}
.pz-ktray.print .pz-kic{width:34px;height:34px}
.pz-bs{--cell:30px;display:grid;grid-template-columns:repeat(var(--n),var(--cell));width:max-content}
.pz-bsc{position:relative;width:var(--cell);height:var(--cell);border:0;border-right:1px solid var(--pz-rule,#CFC3B4);border-bottom:1px solid var(--pz-rule,#CFC3B4);background:#fff;padding:0;margin:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:0}
.pz-bsn{width:var(--cell);height:var(--cell);display:flex;align-items:center;justify-content:center;font:700 calc(var(--cell) * .46)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620)}
.pz-bsn.row{border-right:2px solid var(--pz-ink,#2F2620)}
.pz-bsn.col{border-bottom:2px solid var(--pz-ink,#2F2620)}
.pz-bsc svg{width:84%;height:84%;fill:var(--acc-ink,#2F2620);stroke:var(--acc-ink,#2F2620)}
.pz-bsc.giv.w svg{fill:none;stroke:#6D93C7}
.pz-bsc.giv{background:var(--acc-soft,#F6EFE6)}
.pz-fleet{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font:600 13px/1.3 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620)}
.pz-fleet li{display:inline-flex;align-items:center;gap:6px}
.pz-bsship{display:inline-flex;gap:2px}
.pz-bsship i{width:10px;height:10px;border-radius:2px;background:var(--acc-ink,#2F2620)}
.pz-ng{--cell:22px;display:grid;grid-template-columns:repeat(var(--cols),var(--cell));width:max-content}
.pz-ngk{width:var(--cell);height:var(--cell);display:flex;align-items:center;justify-content:center;font:700 calc(var(--cell) * .5)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620);box-sizing:border-box}
.pz-ngk.col{align-items:flex-end;padding-bottom:1px}
.pz-ngk.row{justify-content:flex-end;padding-right:3px}
.pz-ngc{position:relative;width:var(--cell);height:var(--cell);border:0;border-right:1px solid var(--pz-rule,#CFC3B4);border-bottom:1px solid var(--pz-rule,#CFC3B4);background:#fff;padding:0;margin:0;box-sizing:border-box;border-radius:0}
.pz-ngc.br{border-right:2px solid var(--pz-ink,#2F2620)}
.pz-ngc.bb{border-bottom:2px solid var(--pz-ink,#2F2620)}
.pz-ngc.fl{border-left:2px solid var(--pz-ink,#2F2620)}.pz-ngc.ft{border-top:2px solid var(--pz-ink,#2F2620)}.pz-ngc.lr{border-right:2px solid var(--pz-ink,#2F2620)}.pz-ngc.lb{border-bottom:2px solid var(--pz-ink,#2F2620)}
.pz-ngc.on{background:var(--pz-ink,#2F2620)}
/* Buried Treasure (kind minesweeper, 2026-09-26): squares of sand, the dug-up number squares paler; a marked or
   answered square shows a treasure chest, a square marked safe a footprint. */
.pz-ms{--cell:30px;display:grid;grid-template-columns:repeat(var(--n),var(--cell));width:max-content;border:2px solid #6B4A22;border-radius:6px;overflow:hidden;background:#D9C391;gap:1px}
.pz-msc{position:relative;width:var(--cell);height:var(--cell);border:0;background:#F3E6C6 radial-gradient(circle at 30% 28%,#E3CE9F 0 1.2px,transparent 1.6px) 0 0/9px 9px;padding:0;margin:0;display:flex;align-items:center;justify-content:center;font:800 calc(var(--cell) * .52)/1 var(--pz-font,system-ui,sans-serif);border-radius:0}
.pz-msc.num{background:#FFFBF1;color:var(--pz-ink,#2F2620)}
.pz-msc.num.n0{color:#B9A57A}
.pz-msc.num.n1{color:#2F6FB5}.pz-msc.num.n2{color:#3F8A3F}.pz-msc.num.n3{color:#C2402C}.pz-msc.num.n4{color:#6A3FA0}.pz-msc.num.n5{color:#9A5B1E}
.pz-msc svg{width:82%;height:82%;display:block;pointer-events:none}
.pz-msc svg.ft{width:60%;height:60%}
button.pz-msc svg{display:none}
button.pz-msc[data-v="1"] svg.tc,button.pz-msc[data-v="2"] svg.ft{display:block}
.pz-tdefs{position:absolute;width:0;height:0;overflow:hidden}
.pz-kk,.pz-cc{--cell:36px;display:grid;grid-template-columns:repeat(var(--n),var(--cell));width:max-content;border:2px solid var(--pz-ink,#2F2620);background:var(--pz-ink,#2F2620);gap:1px}
.pz-kkc{position:relative;width:var(--cell);height:var(--cell);background:#fff;display:flex;align-items:center;justify-content:center}
.pz-kkc.blk{background:#3A322C}
.pz-kkc.clue svg{position:absolute;inset:0;width:100%;height:100%;stroke:#8C8177;stroke-width:2}
.pz-kkc i{position:absolute;font:700 calc(var(--cell) * .3)/1 var(--pz-font,system-ui,sans-serif);font-style:normal;color:#fff}
.pz-kkc i.r{right:3px;top:3px}
.pz-kkc i.d{left:3px;bottom:3px}
.pz-kkc b,.pz-ccc b{font:700 calc(var(--cell) * .5)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620)}
.pz-cc{gap:0;background:#fff}
.pz-ccc{position:relative;width:var(--cell);height:var(--cell);background:#fff;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--pz-rule,#CFC3B4);border-bottom:1px solid var(--pz-rule,#CFC3B4);box-sizing:border-box}
.pz-ccc.br{border-right:2.5px solid var(--pz-ink,#2F2620)}
.pz-ccc.bb{border-bottom:2.5px solid var(--pz-ink,#2F2620)}
.pz-cl8{position:absolute;left:3px;top:2px;font:700 calc(var(--cell) * .24)/1 var(--pz-font,system-ui,sans-serif);font-style:normal;color:var(--pz-ink,#2F2620);pointer-events:none}
.pz-sl{display:block;width:100%;max-width:420px;height:auto}
.pz-sl .dt circle{fill:var(--pz-ink,#2F2620)}
.pz-sl .cl text{font:700 20px var(--pz-font,system-ui,sans-serif);fill:var(--pz-ink,#2F2620);text-anchor:middle;dominant-baseline:central}
.pz-sl line.sol{stroke:var(--acc-ink,#2F2620);stroke-width:4;stroke-linecap:round}
/* Tanguess: rows of four picture tiles (--ct) and a 2 by 2 box of pegs; a filled dot = right place, a ring = wrong place. */
.pz-cdefs{position:absolute;width:0;height:0;overflow:hidden}
.pz-crows{--ct:40px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--ct) * .14)}
.pz-crow{display:flex;align-items:center;gap:calc(var(--ct) * .12)}
.pz-cn{width:calc(var(--ct) * .5);flex:none;text-align:right;font:700 calc(var(--ct) * .34)/1 var(--pz-font,system-ui,sans-serif);color:var(--pz-muted,#6F625A);display:inline-flex;justify-content:flex-end}
.pz-cn svg{width:calc(var(--ct) * .5);height:calc(var(--ct) * .5);color:var(--acc-ink,#2F2620)}
.pz-cs{width:var(--ct);height:var(--ct);flex:none;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--pz-rule,#CFC3B4);border-radius:calc(var(--ct) * .2);background:#fff;padding:0;margin:0;box-sizing:border-box}
.pz-cti{width:84%;height:84%;display:block}
img.pz-cti{object-fit:contain;-webkit-user-drag:none;user-select:none}
.pz-cpegs{display:grid;grid-template-columns:repeat(2,calc(var(--ct) * .26));gap:calc(var(--ct) * .08);margin-left:calc(var(--ct) * .14);flex:none}
.pz-cpegs i,.pz-peg{display:inline-block;width:calc(var(--ct) * .26);height:calc(var(--ct) * .26);border-radius:50%;box-sizing:border-box;background:radial-gradient(circle,var(--pz-rule,#CFC3B4) 0 24%,transparent 27%);border:0}
.pz-cpegs i.ex,.pz-peg.ex{background:var(--acc-ink,#2F2620);border:0}
.pz-cpegs i.mis,.pz-peg.mis{background:#fff;border:2.5px solid var(--acc-ink,#2F2620)}
.pz-peg{width:.8em;height:.8em;vertical-align:-.08em}
.pz-cans{--ct:40px;display:flex;gap:6px}
.pz-cgrid{--ct:40px;border-collapse:collapse;font:600 12px/1.1 var(--pz-font,system-ui,sans-serif);color:var(--pz-ink,#2F2620)}
.pz-cgrid th,.pz-cgrid td{border:1px solid var(--pz-ink,#2F2620);width:var(--ct);height:var(--ct);padding:0;text-align:center}
.pz-cgrid thead th{border-top:0;border-left:0;border-right:0}
.pz-cgrid thead th:first-child,.pz-cgrid tbody th{border-left:0;text-align:right;padding-right:8px;width:auto;white-space:nowrap}
.pz-cgrid thead .pz-cti{width:90%;height:90%;margin:0 auto}
.pz-cgrid tr.io th,.pz-cgrid tr.io td{border-top:2px solid var(--pz-ink,#2F2620)}
.pz-cbox{display:inline-block;width:.55in;height:.55in;border:2px solid var(--acc,#2F2620);border-radius:10px;background:#fff}
/* Mega Sudoku (the members' extra set): 16 by 16, 4 by 4 boxes. */
.pz-sudoku.pz-sd16{grid-template-columns:repeat(16,var(--cell))}
.pz-sudoku.pz-sd16 .pz-c:nth-child(9n){border-right:1px solid var(--pz-rule,#CFC3B4)}
.pz-sudoku.pz-sd16 .pz-c.br{border-right:2px solid var(--pz-ink,#2F2620)}
.pz-sudoku.pz-sd16 .pz-c:nth-child(16n){border-right:0}
.pz-sudoku.pz-sd16 .pz-c{font-size:calc(var(--cell) * .52)}
/* Samurai Sudoku (the members' extra set): five 9 by 9 grids on a 21 by 21 lattice; the spaces between them are
   blank, and every square draws its own lines (thin right and bottom, thick on every third line and on the grids'
   top and left edges). */
.pz-sudoku.pz-sam{grid-template-columns:repeat(21,var(--cell));border:0;background:transparent}
.pz-sudoku.pz-sam .pz-c,.pz-sudoku.pz-sam .pz-c:nth-child(9n){border-right:1px solid var(--pz-rule,#CFC3B4);border-bottom:1px solid var(--pz-rule,#CFC3B4);font-size:calc(var(--cell) * .58)}
.pz-sudoku.pz-sam .pz-c.br{border-right:2px solid var(--pz-ink,#2F2620)}
.pz-sudoku.pz-sam .pz-c.bb{border-bottom:2px solid var(--pz-ink,#2F2620)}
.pz-sudoku.pz-sam .pz-c.bl{border-left:2px solid var(--pz-ink,#2F2620)}
.pz-sudoku.pz-sam .pz-c.bt{border-top:2px solid var(--pz-ink,#2F2620)}
.pz-sudoku.pz-sam .pz-c.off{border:0;background:transparent}
/* Big Crossword (the members' extra set): a freeform grid, only the letter squares drawn. */
.pz-xw.pz-xwf{background:transparent;border:0;gap:0}
.pz-xwf .pz-xc.blk{background:transparent}
.pz-xwf .pz-xc:not(.blk){outline:1.5px solid var(--pz-ink,#2F2620);outline-offset:-.75px}

.pz-whfound li.bonus{color:var(--muted,#6f655b);font-style:italic}

/* Puzzles (src/newspaper/puzzles.mjs): seven cards, three to a row, two under 1000 px, one on phones. Each card
   carries its own accent (--acc, --acc-ink, --acc-soft from src/puzzles/html.mjs ACCENTS); "Play" opens a card
   across the whole row. */
.pz-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pz-top h2{margin-bottom:0}
.pz-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pz-root{--pz-font:var(--display);--pz-ink:var(--ink);--pz-rule:var(--cloud);--pz-muted:var(--muted);--pz-head:var(--paper-deep)}
.pz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;gap:20px;margin-top:16px;align-items:start}
.pz-card{--pz-hi:var(--acc-soft);--pz-fill:var(--acc-ink);background:var(--card);border:1px solid var(--line);border-top:5px solid var(--acc);border-radius:var(--r-sm);padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;min-width:0;scroll-margin-top:12px}
.pz-card.pz-open,.pz-card[data-kind="logic"]{grid-column:1/-1}
.pz-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pz-head h3{margin:0;font-size:19px}
.pz-chip{width:30px;height:30px;border-radius:9px;background:var(--acc-soft);color:var(--acc-ink);display:inline-flex;align-items:center;justify-content:center;flex:none}
.pz-chip svg{width:19px;height:19px}
.pz-meta{font:600 12.5px/1.2 var(--display);color:var(--muted)}
.pz-timer{margin-left:auto;font:700 13px/1 var(--display);font-variant-numeric:tabular-nums;color:var(--acc-ink);background:var(--acc-soft);border-radius:var(--pill);padding:5px 9px}
.pz-badge{font:800 11.5px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--acc);border-radius:var(--pill);padding:5px 9px}
.pz-badge:not([hidden])+.pz-timer{margin-left:0}
.pz-head .pz-badge{margin-left:auto}
.pz-card.is-solved{background:color-mix(in srgb,var(--acc-soft) 45%,var(--card))}
.pz-body,.pz-ans-body{container-type:inline-size;min-width:0}
.pz-body{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.pz-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.pz-btn{font:600 14px/1 var(--display);border-radius:var(--pill);padding:9px 15px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;touch-action:manipulation}
.pz-btn:hover{border-color:var(--acc,var(--lead));color:var(--acc-ink,var(--lead-ink))}
.pz-btn:focus-visible{outline:2px solid var(--acc,var(--lead));outline-offset:2px}
.pz-play{background:var(--acc);border-color:var(--acc);color:#fff}
.pz-play:hover{color:#fff;filter:brightness(.93)}
.pz-reset.armed{border-color:var(--acc);color:var(--acc-ink);background:var(--acc-soft)}
.pz-print{margin-left:auto}
.pz-msg{flex-basis:100%;font:600 13px var(--display);color:var(--acc-ink);min-height:0}
.pz-msg:empty{display:none}
.pz-ans{border-top:1px solid var(--line);padding-top:10px}
.pz-ans summary{cursor:pointer;font:600 14px var(--display);color:var(--acc-ink);list-style:none;display:flex;align-items:center;gap:8px}
.pz-ans summary::-webkit-details-marker{display:none}
.pz-ans[open] summary{margin-bottom:10px}
.pz-ans[open] .tm-caret{transform:rotate(90deg)}
/* The streak pill on each card and the share rows (owner 2026-09-27; play.js fills and unhides them). */
.pz-spill{display:inline-flex;align-items:center;gap:3px;font:700 12px/1 var(--display);color:#9A6405;background:color-mix(in srgb,#F6C343 22%,#fff);border:1px solid color-mix(in srgb,#F6C343 50%,var(--line));border-radius:var(--pill,999px);padding:3px 8px 3px 5px;white-space:nowrap}
.pz-spill[hidden]{display:none}
.pz-spill svg{width:13px;height:13px;color:#E8742A}
.pz-sharerow{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.pz-sharerow[hidden]{display:none}
.pz-sharebtns{display:flex;flex-wrap:wrap;gap:6px}
.pz-sh{text-decoration:none}
.pz-sh[hidden]{display:none}
.pz-sh[data-net="facebook"]{background:#1877F2;border-color:#1877F2;color:#fff}
.pz-sh[data-net="facebook"]:hover{color:#fff;filter:brightness(.93)}
.pz-challenge{align-self:flex-start;font:600 13.5px var(--display);color:var(--acc-ink,var(--lead-ink));text-decoration:underline;text-underline-offset:3px}
.pz-sharetop{border-top:0;padding-top:0;align-items:flex-end}
.pz-sharetop .pz-challenge{align-self:flex-end;color:var(--lead-ink)}
@media (max-width:640px){.pz-sharetop{align-items:flex-start}.pz-sharetop .pz-challenge{align-self:flex-start}}

/* sudoku */
.pz-card .pz-sudoku{--cell:min(34px,calc((100cqw - 4px) / 9))}
.pz-open .pz-sudoku{--cell:min(52px,calc((100cqw - 4px) / 9))}
.pz-sudoku input.pz-c{font-weight:600;color:var(--acc-ink);outline:none;cursor:text;-moz-appearance:textfield;caret-color:var(--acc)}
.pz-sudoku input.pz-c:focus{background:var(--acc-soft)}
.pz-sudoku input.pz-c.bad{background:#F9D5CF;color:#B5333A}
.is-solved .pz-sudoku input.pz-c{background:color-mix(in srgb,var(--acc-soft) 60%,#fff)}

/* maze */
.pz-mz{position:relative;width:100%;max-width:100%;cursor:crosshair;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;outline:none;-webkit-user-select:none;user-select:none}
.pz-mz:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.pz-mz.live,.pz-open .pz-mz{touch-action:none}
.pz-mz img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}
.pz-mzp{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pz-mzp polyline{fill:none;stroke:var(--acc);stroke-width:13;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.pz-mzp circle{fill:var(--acc-ink)}
.pz-open .pz-mz{max-width:min(720px,100%);margin:0 auto}
.pz-card .pz-maze{border:0}
.pz-ans .pz-maze{border:1px solid var(--line);border-radius:6px}

/* word search */
.pz-card .pz-ws{--cell:min(28px,calc((100cqw - 9px) / var(--n,12)))}
.pz-open .pz-ws{--cell:min(44px,calc((100cqw - 9px) / var(--n,12)))}
.pz-wswrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.pz-body .pz-ws{touch-action:none;-webkit-user-select:none;user-select:none}
.pz-ws button.pz-l{cursor:pointer;font-family:var(--display);outline:none}
.pz-ws button.pz-l:hover{background:color-mix(in srgb,var(--acc) 14%,transparent)}
.pz-ws button.pz-l:focus-visible{box-shadow:inset 0 0 0 2px var(--acc)}
.pz-ws button.pz-l.hit{background:var(--acc-soft);color:var(--acc-ink)}
.pz-ws button.pz-l.sel,.pz-ws button.pz-l.anchor{background:var(--acc);color:#fff}
.pz-ws button.pz-l.miss{background:#F9D5CF}
.pz-words li.found{text-decoration:line-through;text-decoration-color:var(--acc);text-decoration-thickness:2px;color:var(--muted)}
.pz-count{margin:0;font:700 13px var(--display);color:var(--acc-ink)}
.pz-open .pz-words{grid-template-columns:repeat(3,minmax(0,max-content))}

/* logic */
.pz-card[data-kind="logic"] .pz-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 28px;align-items:start;font-size:14.5px;line-height:1.45}
.pz-card[data-kind="logic"] .pz-story,.pz-card[data-kind="logic"] .pz-clues,.pz-card[data-kind="logic"] .pz-q{grid-column:1}
.pz-stairwrap{grid-column:2;grid-row:1/span 3;overflow-x:auto;max-width:100%}
.pz-card[data-kind="logic"] .pz-story{margin:0}
.pz-card[data-kind="logic"] .pz-clues{margin:0;padding-left:1.3em}
.pz-card[data-kind="logic"] .pz-q{margin:0;font-weight:600}
.pz-card[data-kind="logic"] .pz-table{font-size:13.5px;width:100%}
.pz-card[data-kind="logic"] .pz-table th,.pz-card[data-kind="logic"] .pz-table td{padding:4px 6px}
.pz-stair{--cell:30px}
.pz-stair td[tabindex]{cursor:pointer;position:relative;outline:none;background:#fff}
.pz-stair td[tabindex]:hover{background:var(--acc-soft)}
.pz-stair td[tabindex]:focus-visible{box-shadow:inset 0 0 0 2px var(--acc)}
.pz-stair td[data-v="1"]::after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 44%,var(--muted) 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--muted) 44% 56%,transparent 56%);background-size:60% 60%;background-position:center;background-repeat:no-repeat;opacity:.7}
.pz-stair td[data-v="2"]{background:var(--acc-soft)}
.pz-stair td[data-v="2"]::after{content:"";position:absolute;left:50%;top:44%;width:28%;height:52%;border:solid var(--acc-ink);border-width:0 3px 3px 0;transform:translate(-50%,-50%) rotate(45deg)}
.pz-stair td.bad{background:#F9D5CF}

/* typed grids: mini crossword and cross reference */
.pz-card .pz-xw{--cell:min(46px,calc((100cqw - 4px) / var(--n)))}
.pz-card .pz-crg{--cell:min(44px,calc((100cqw - 4px) / var(--n)))}
.pz-crg .pz-n{font-size:max(10px,calc(var(--cell) * .3))}
.pz-crg .pz-xc input{font-size:calc(var(--cell) * .56);padding-top:22%}
.pz-open .pz-xw{--cell:min(64px,calc((100cqw - 4px) / var(--n)))}
.pz-open .pz-crg{--cell:min(56px,calc((100cqw - 4px) / var(--n)))}
.pz-xc input{width:100%;height:100%;border:0;margin:0;padding:0;background:transparent;text-align:center;outline:none;caret-color:transparent;cursor:pointer;border-radius:0;-webkit-appearance:none;appearance:none;padding-top:8%}
.pz-xc.inword{background:var(--acc-soft)}
.pz-xc.same{background:var(--acc-soft)}
.pz-xc.cur,.pz-crg .pz-xc.cur{background:color-mix(in srgb,var(--acc) 45%,#fff)}
.pz-xc.bad input{color:#B5333A}
.pz-xc.bad{background:#F9D5CF}
.pz-xc.rv::after{content:"";position:absolute;right:0;top:0;border:6px solid transparent;border-top-color:var(--acc);border-right-color:var(--acc)}
.pz-xc.giv input{color:var(--acc-ink)}
.pz-xwrap{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:flex-start;width:100%}
.pz-cur{margin:0;min-height:1.4em;font:700 14px/1.35 var(--display);color:var(--acc-ink);background:var(--acc-soft);border-radius:6px;padding:6px 10px;align-self:stretch}
.pz-cls{flex:1 1 180px;grid-template-columns:1fr}
.pz-open .pz-cls{grid-template-columns:1fr 1fr}
.pz-cls li{cursor:pointer}
.pz-cls li.on{background:var(--acc-soft)}
.is-solved .pz-xc:not(.blk){background:color-mix(in srgb,var(--acc-soft) 70%,#fff)}
.pz-crwrap{max-width:100%;overflow-x:auto}
.pz-card .pz-key{--kb:min(30px,calc((100cqw - 26px) / 13))}
.pz-kb input{width:100%;border:0;background:transparent;text-align:center;outline:none;padding:0;margin:0;caret-color:transparent;-webkit-appearance:none;appearance:none}
.pz-kb:focus-within{box-shadow:inset 0 0 0 2px var(--acc)}
.pz-kb.same{background:var(--acc-soft)}
.pz-kb.bad{background:#F9D5CF}
.pz-abc .used{color:var(--acc-ink);opacity:.55;text-decoration-color:var(--acc)}

/* word wheel */
.pz-whplay{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-start;width:100%}
.pz-card .pz-wheel{width:min(230px,100%)}
.pz-open .pz-wheel{width:min(300px,100%)}
.pz-wh{cursor:pointer;transition:transform .15s}
.pz-wh:active{transform:translate(-50%,-50%) scale(.93)}
.pz-wh:focus-visible{outline:2px solid var(--acc-ink);outline-offset:2px}
.pz-wh.spin{animation:pz-pop .35s ease}
@keyframes pz-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.pz-whui{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:8px}
.pz-whform{display:flex;gap:8px}
.pz-whin{flex:1;min-width:0;font:800 20px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;border:0;border-bottom:2px solid var(--acc);background:transparent;padding:6px 2px;color:var(--ink);outline:none}
.pz-whin::placeholder{letter-spacing:.02em;font-weight:600;font-size:15px;color:var(--muted);text-transform:none}
.pz-whenter{background:var(--acc);border-color:var(--acc);color:#fff}
.pz-whenter:hover{color:#fff;filter:brightness(.93)}
.pz-whbtns{display:flex;gap:8px}
.pz-whmsg{margin:0;font:600 13px/1.3 var(--display);color:var(--muted);min-height:1.3em}
.pz-whmsg.good{color:var(--acc-ink)}
.pz-whrank{display:flex;align-items:baseline;gap:10px}
.pz-whname{font:800 18px var(--display);color:var(--acc-ink)}
.pz-whpts{font:600 13px var(--display);color:var(--muted)}
.pz-whbar{position:relative;height:8px;border-radius:8px;background:var(--acc-soft);margin:2px 5px 4px}
.pz-whbar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:8px;background:var(--acc);transition:width .3s}
.pz-whbar span{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;border:2px solid var(--acc);z-index:1}
.pz-whcount{margin:0;font:700 13px var(--display);color:var(--ink)}
.pz-whfound{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 12px;font:600 13px/1.5 var(--display);letter-spacing:.04em;max-height:9.5em;overflow:auto}
.pz-whfound .pg b{color:var(--acc-ink)}

/* friend's link banner */
.pz-banner{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 12px 10px 16px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--acc,var(--lead)) 12%,#fff);border:1px solid color-mix(in srgb,var(--acc,var(--lead)) 40%,#fff)}
.pz-banner[hidden]{display:none}
.pz-banner p{margin:0;flex:1;font:700 15px/1.35 var(--display);color:var(--ink)}

/* celebration */
.pz-cheer{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(47,38,32,.34)}
.pz-cheer[hidden]{display:none}
.pz-cheer-box{position:relative;width:min(380px,100%);background:#fff;border-radius:18px;border-top:6px solid var(--acc,var(--lead));padding:22px 22px 18px;text-align:center;box-shadow:0 24px 60px -20px rgba(47,38,32,.5);overflow:hidden}
.pz-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pz-cheer-z{display:block;width:132px;height:132px;object-fit:contain;margin:0 auto 6px;position:relative}
.pz-cheer.big .pz-cheer-z{width:190px;height:190px}
.pz-cheer.big .pz-cheer-box{width:min(440px,100%)}
.pz-cheer-line{position:relative;margin:0 0 14px;font:800 21px/1.25 var(--display);color:var(--ink)}
.pz-cheer.big .pz-cheer-line{font-size:24px}
.pz-cheer-btns{position:relative;display:flex;gap:10px;justify-content:center}
.pz-cheer-share{background:var(--acc,var(--lead));border-color:var(--acc,var(--lead));color:#fff}
.pz-cheer-share:hover{color:#fff;filter:brightness(.93)}
.pz-cheer-msg{position:relative;margin:10px 0 0;font:600 13px var(--display);color:var(--muted);min-height:1.2em;word-break:break-word}
@media (prefers-reduced-motion:no-preference){.pz-cheer:not([hidden]) .pz-cheer-box{animation:pz-in .32s cubic-bezier(.2,1.4,.4,1)}.pz-cheer:not([hidden]) .pz-cheer-z{animation:pz-hop .6s .1s ease both}}
@keyframes pz-in{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
@keyframes pz-hop{0%{transform:translateY(24px);opacity:0}60%{transform:translateY(-6px);opacity:1}100%{transform:none}}
body.pz-noscroll{overflow:hidden}

@media (max-width:1000px){.pz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.pz-card[data-kind="logic"] .pz-body{grid-template-columns:1fr}.pz-stairwrap{grid-column:1;grid-row:auto}}
@media (max-width:620px){.pz-grid{grid-template-columns:1fr}.pz-card .pz-sudoku{--cell:min(40px,calc((100cqw - 4px) / 9))}.pz-card .pz-ws{--cell:min(32px,calc((100cqw - 9px) / var(--n,12)))}.pz-body .pz-ws{--cell:max(30px,min(36px,calc((100cqw - 9px) / var(--n,12))))}.pz-wswrap{padding-bottom:10px}.pz-print{margin-left:0}}

/* Word list in more columns so the three cards sit at even height (owner 2026-09-24) */
/* As many columns as fit the longest word, so a long word never runs into its neighbor. */
.pz-words{width:100%;align-self:stretch;grid-template-columns:repeat(auto-fill,minmax(calc(var(--wlen,8) * .82em + 4px),1fr)) !important;gap:2px 14px}

/* celebration: sound toggle and the share card buttons (owner 2026-09-24) */
.pz-cheer-btns{flex-wrap:wrap}
.pz-cheer-box{width:min(420px,100%)}
.pz-sound{position:absolute;top:10px;right:10px;z-index:1;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--acc-ink,var(--ink));display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.pz-sound:hover{border-color:var(--acc,var(--lead))}
.pz-sound:focus-visible{outline:2px solid var(--acc,var(--lead));outline-offset:2px}
.pz-sound svg{width:20px;height:20px}
.pz-sound .pz-sound-off,.pz-sound[aria-pressed="false"] .pz-sound-on{display:none}
.pz-sound[aria-pressed="false"] .pz-sound-off{display:inline}
.pz-sound[aria-pressed="false"]{color:var(--muted)}

/* sudoku notes (pencil marks): a 3 by 3 mini grid over each empty square, drawn by play.js */
.pz-sdwrap{position:relative;width:max-content;max-width:100%}
.pz-notes{position:absolute;left:2px;top:2px;display:grid;grid-template-columns:repeat(9,var(--cell));pointer-events:none}
.pz-card .pz-notes{--cell:min(34px,calc((100cqw - 4px) / 9))}
.pz-open .pz-notes{--cell:min(52px,calc((100cqw - 4px) / 9))}
.pz-notes span{width:var(--cell);height:var(--cell);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:1px 2px;box-sizing:border-box}
.pz-notes i{font:700 calc(var(--cell) * .3)/1 var(--display);font-style:normal;color:var(--acc-ink);display:flex;align-items:center;justify-content:center}
.pz-notesbtn[aria-pressed="true"]{background:var(--acc-soft);border-color:var(--acc);color:var(--acc-ink)}
.pz-sudoku.noting input.pz-c:focus{background:color-mix(in srgb,var(--acc-soft) 50%,#fff);box-shadow:inset 0 0 0 2px var(--acc)}

/* the issue page's line to /puzzles/, and the rules line on the extra cards */
.pz-more{margin:6px 0 0}
.pz-more a{font:700 15px/1 var(--display);color:var(--lead-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.pz-rule{margin:0;font-size:14.5px;line-height:1.45;color:var(--ink)}
.pz-xwrap2{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}

/* Catdoku */
.pz-card .pz-kit{--cell:min(46px,calc((100cqw - 4px) / var(--n)))}
.pz-open .pz-kit{--cell:min(64px,calc((100cqw - 4px) / var(--n)))}
.pz-kit button.pz-kc{cursor:pointer;background:#fff;border-top:0;border-left:0;outline:none}
.pz-kit button.pz-kc:hover{background:color-mix(in srgb,var(--acc-soft) 55%,#fff)}
.pz-kit button.pz-kc.sel{background:var(--acc-soft);box-shadow:inset 0 0 0 2px var(--acc)}
.pz-kit button.pz-kc:focus-visible{box-shadow:inset 0 0 0 2px var(--acc-ink)}
.pz-kit .pz-kc.bad{background:#F9D5CF}
.pz-ktray{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pz-kpick{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:48px;height:52px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;padding:3px}
.pz-kpick:hover{border-color:var(--acc)}
.pz-kpick .pz-kic{width:30px;height:30px}
.pz-kpick small{font:700 10px/1 var(--display);color:var(--muted)}
.pz-kpick.clr{font:600 13px/1 var(--display);color:var(--ink);width:auto;padding:0 12px}
.is-solved .pz-kit .pz-kc{background:color-mix(in srgb,var(--acc-soft) 50%,#fff)}

/* Battleships */
.pz-card .pz-bs{--cell:min(34px,calc((100cqw - 4px) / var(--n)))}
.pz-open .pz-bs{--cell:min(52px,calc((100cqw - 4px) / var(--n)))}
.pz-bs button.pz-bsc{cursor:pointer;touch-action:none;outline:none}
.pz-bs button.pz-bsc:hover{background:color-mix(in srgb,var(--acc-soft) 55%,#fff)}
.pz-bs button.pz-bsc:focus-visible{box-shadow:inset 0 0 0 2px var(--acc-ink)}
.pz-bs button[data-v="1"]::after{content:"";position:absolute;inset:15%;border-radius:4px;background:var(--acc-ink)}
.pz-bs button[data-v="2"]::after{content:"";position:absolute;left:50%;top:50%;width:22%;height:22%;margin:-11% 0 0 -11%;border-radius:50%;background:#8FB3E0}
.pz-bs .pz-bsc.bad{background:#F9D5CF}
.pz-bsn.met{color:var(--muted);text-decoration:line-through}
.pz-bsn.over{color:#B5333A}
.pz-bs{touch-action:none;-webkit-user-select:none;user-select:none}

/* nonogram and Buried Treasure (kind minesweeper; the chest and footprint are drawn by core.css) */
.pz-card .pz-ng{--cell:min(28px,calc((100cqw - 4px) / var(--cols)))}
.pz-open .pz-ng{--cell:min(40px,calc((100cqw - 4px) / var(--cols)))}
.pz-ng,.pz-ms{touch-action:none;-webkit-user-select:none;user-select:none}
.pz-ng button.pz-ngc,.pz-ms button.pz-msc{cursor:pointer;outline:none;position:relative}
.pz-ng button.pz-ngc:hover{background:color-mix(in srgb,var(--acc-soft) 55%,#fff)}
.pz-ms button.pz-msc:hover{background-color:#EAD9AE}
.pz-ng button:focus-visible,.pz-ms button:focus-visible{box-shadow:inset 0 0 0 2px var(--acc-ink)}
.pz-ng button[data-v="1"]{background:var(--acc-ink)}
.pz-ng button[data-v="2"]::after{content:"";position:absolute;left:50%;top:50%;width:18%;height:18%;margin:-9% 0 0 -9%;border-radius:50%;background:var(--muted)}
.pz-ng button.bad{background:#F9D5CF}
.pz-ms button.bad{background:#F6C9BF}
.pz-card .pz-ms{--cell:min(38px,calc((100cqw - 4px - (var(--n) - 1) * 1px) / var(--n)))}
.pz-open .pz-ms{--cell:min(52px,calc((100cqw - 4px - (var(--n) - 1) * 1px) / var(--n)))}
.is-solved .pz-ms button[data-v="1"]{background:#FBE7A8}

/* kakuro and Calcudoku */
.pz-card .pz-kk{--cell:min(40px,calc((100cqw - 4px) / var(--n)))}
.pz-open .pz-kk{--cell:min(56px,calc((100cqw - 4px) / var(--n)))}
.pz-card .pz-cc{--cell:min(48px,calc((100cqw - 4px) / var(--n)))}
.pz-open .pz-cc{--cell:min(64px,calc((100cqw - 4px) / var(--n)))}
.pz-dg input{width:100%;height:100%;border:0;margin:0;padding:0;background:transparent;text-align:center;outline:none;font:700 calc(var(--cell) * .5)/1 var(--display);color:var(--acc-ink);caret-color:var(--acc);-moz-appearance:textfield}
.pz-dg input:focus{background:var(--acc-soft)}
.pz-dg input.bad{background:#F9D5CF;color:#B5333A}
.pz-cc input{padding-top:18%}
.is-solved .pz-dg input{background:color-mix(in srgb,var(--acc-soft) 60%,#fff)}

/* slitherlink */
.pz-card .pz-sl{width:min(100%,340px)}
.pz-open .pz-sl{width:min(100%,520px)}
.pz-sle{cursor:pointer;outline:none}
.pz-sle .hit{stroke:transparent;stroke-width:14;stroke-linecap:round}
.pz-sle .ln{stroke:transparent;stroke-width:5;stroke-linecap:round}
.pz-sle:hover .ln{stroke:var(--acc-soft)}
.pz-sle[data-v="1"] .ln{stroke:var(--acc-ink)}
.pz-sle .xx{stroke:transparent;stroke-width:2.2;stroke-linecap:round;fill:none}
.pz-sle[data-v="2"] .xx{stroke:var(--muted)}
.pz-sle.bad .ln,.pz-sle.bad .xx{stroke:#D1413F}
.pz-sle:focus-visible .hit{stroke:color-mix(in srgb,var(--acc) 25%,transparent)}
.pz-sl{touch-action:manipulation}

/* the /puzzles/ page */
.pz-page .pz-sec{padding:8px 0 28px;border-bottom:1px solid var(--rule)}
.pz-page .pz-sec:last-of-type{border-bottom:0}
.pz-dates{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pz-dchip{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;padding:7px 8px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-decoration:none;color:var(--ink);line-height:1.1}
.pz-dchip b{font:800 20px/1.1 var(--display)}
.pz-dchip small{font:600 11px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pz-dchip:hover{border-color:var(--lead);color:var(--lead-ink)}
.pz-dchip.cur{border-color:var(--lead);background:var(--tint)}

/* Tanguess: the board (a clue row, then the tries), the six-picture tray, Delete and Try it. */
.pz-code{--ct:min(46px,calc(100cqw / 6.1));display:flex;flex-direction:column;gap:12px;align-items:center;outline:none;width:100%}
.pz-open .pz-code{--ct:min(58px,calc(100cqw / 6.1))}
.pz-code .pz-crows{--ct:inherit}
.pz-code .pz-crow{padding:2px 4px;border-radius:12px}
.pz-code .pz-crow.giv{background:var(--acc-soft);padding:5px 4px;margin-bottom:4px}
.pz-code .pz-crow.giv .pz-cs{border-color:color-mix(in srgb,var(--acc) 35%,var(--line))}
.pz-code button.pz-cs{cursor:default;color:inherit;font:inherit}
.pz-code button.pz-cs:disabled{opacity:1}
.pz-code .pz-crow.open .pz-cs{cursor:pointer;border-color:color-mix(in srgb,var(--acc) 45%,var(--line));border-style:dashed}
.pz-code .pz-crow.open .pz-cs:has(.pz-cti){border-style:solid}
.pz-code .pz-crow.open .pz-cs.sel{border:2.5px solid var(--acc);background:color-mix(in srgb,var(--acc-soft) 60%,#fff)}
.pz-code .pz-cs:focus-visible,.pz-ct:focus-visible{outline:2px solid var(--acc-ink);outline-offset:2px}
.pz-code .pz-crow.open .pz-cn{color:var(--acc-ink)}
.pz-ctray{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--ct) * .12);width:min(100%,calc(var(--ct) * 6.8))}
.pz-ct{position:relative;width:100%;height:calc(var(--ct) * 1.1);display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:calc(var(--ct) * .22);background:#fff;cursor:pointer;padding:2px;touch-action:manipulation;box-shadow:0 2px 0 var(--line)}
.pz-ct:hover{border-color:var(--acc)}
.pz-ct .pz-cti{width:82%;height:82%}
.pz-ct small{position:absolute;right:3px;bottom:2px;font:700 9.5px/1 var(--display);color:var(--faint)}
.pz-ct.used{background:var(--acc-soft);border-color:var(--acc)}
.pz-ct.used .pz-cti{opacity:.45}
.pz-ct:disabled{cursor:default;opacity:.55}
.pz-cctl{display:flex;gap:8px}
.pz-cgo{background:var(--acc);border-color:var(--acc);color:#fff}
.pz-cgo:hover{color:#fff;filter:brightness(.93)}
.pz-cgo:disabled,.pz-cdel:disabled{opacity:.45;cursor:default;filter:none}
.pz-cmsg{margin:0;min-height:1.3em;text-align:center;font:600 13.5px/1.3 var(--display);color:var(--acc-ink)}
.pz-cout{display:flex;align-items:center;gap:calc(var(--ct) * .12);padding:6px 10px;border-radius:12px;background:var(--paper-deep)}
.pz-cout[hidden]{display:none}
.pz-coutl{font:700 13px var(--display);color:var(--muted);margin-right:4px}
.pz-cans{--ct:44px}
.pz-cans .pz-cs,.pz-card .pz-cout .pz-cs{background:#fff}
.pz-code .pz-crow.win .pz-cs{background:var(--acc-soft);border-color:var(--acc)}
.pz-card[data-kind="code"] .pz-rule{font-size:13.5px}
.pz-card[data-kind="code"] .pz-rule .nw{white-space:nowrap}

/* Streak chip and kitty badges (owner 2026-09-26; src/puzzles/kitties.mjs, play.js streaks()). The kitties are
   256 px stickers; a locked badge is the same picture as a soft silhouette. */
.pz-kitty{display:block;width:100%;height:100%;object-fit:contain}
.pz-kitty.zero,.pz-streak.zero .pz-kitty{filter:grayscale(1) opacity(.55)}
.pz-streak{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px 0 4px;border:1px solid var(--line);border-radius:var(--pill,999px);background:#fff;color:var(--ink);font:700 14px/1 var(--display);cursor:pointer;touch-action:manipulation;white-space:nowrap}
.pz-streak:hover{border-color:var(--lead);color:var(--lead-ink)}
.pz-streak:focus-visible{outline:2px solid var(--lead);outline-offset:2px}
.pz-streak-cat{width:44px;height:44px;margin:-6px -2px -4px -2px;flex:none;transition:transform .2s}
.pz-streak:not(.zero){background:color-mix(in srgb,#F6C343 16%,#fff);border-color:color-mix(in srgb,#F6C343 45%,var(--line))}
@media (prefers-reduced-motion:no-preference){.pz-streak:hover .pz-streak-cat{transform:rotate(-8deg) scale(1.08)}}

.pz-shelf{position:fixed;inset:0;z-index:61;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(47,38,32,.34)}
.pz-shelf[hidden]{display:none}
.pz-shelf-box{position:relative;width:min(600px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:#fff;border-radius:20px;border-top:6px solid #F6C343;padding:22px 22px 20px;box-shadow:0 24px 60px -20px rgba(47,38,32,.5)}
.pz-shelf-box h2{margin:0 44px 14px 0;font-size:26px}
.pz-shelf-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.pz-shelf-x:hover{border-color:var(--lead);color:var(--lead-ink)}
.pz-shelf-x:focus-visible{outline:2px solid var(--lead);outline-offset:2px}
.pz-shelf-x svg{width:18px;height:18px}
.pz-shelf-stats{display:flex;gap:10px;margin:0 0 16px}
.pz-shelf-stats p{flex:1;margin:0;display:flex;align-items:baseline;gap:8px;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,#F6C343 14%,#fff)}
.pz-shelf-stats p + p{background:color-mix(in srgb,var(--lead) 9%,#fff)}
.pz-shelf-stats b{font:800 30px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}
.pz-shelf-stats span{font:600 14px/1.2 var(--display);color:var(--muted)}
.pz-shelf-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pz-kt{--kt:#FDF0D9;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 10px;border-radius:16px;background:var(--paper-deep,#F6EDDF);text-align:center;min-width:0}
.pz-kt[data-n="1"]{--kt:#E3F0FB}.pz-kt[data-n="3"]{--kt:#FDE3EC}.pz-kt[data-n="7"]{--kt:#FCE4DE}.pz-kt[data-n="14"]{--kt:#E0F3EE}
.pz-kt[data-n="30"]{--kt:#E2E8F7}.pz-kt[data-n="60"]{--kt:#E8ECF3}.pz-kt[data-n="100"]{--kt:#ECE6F8}.pz-kt[data-n="365"]{--kt:#FFF1CC}
.pz-kt.on{background:var(--kt)}
.pz-kt-art{width:100%;max-width:104px;aspect-ratio:1}
.pz-kt:not(.on) .pz-kitty{filter:brightness(0) opacity(.13)}
.pz-kt-t{font:800 14px/1.15 var(--display);color:var(--ink);min-height:2.3em;display:flex;align-items:center}
.pz-kt:not(.on) .pz-kt-t{display:none}
.pz-kt-d{font:600 12.5px/1.2 var(--display);color:var(--muted)}
.pz-kt:not(.on) .pz-kt-d{font-weight:700;padding:3px 9px;border-radius:999px;background:#fff;margin-top:4px}
.pz-shelf .mb-row{margin-top:14px}

/* the new badge in the celebration */
.pz-cheer-kb{position:relative;display:flex;align-items:center;gap:10px;margin:-4px auto 14px;padding:6px 16px 6px 6px;width:max-content;max-width:100%;border-radius:999px;background:color-mix(in srgb,#F6C343 20%,#fff);border:1px solid color-mix(in srgb,#F6C343 55%,#fff);text-align:left}
.pz-cheer-kb[hidden]{display:none}
.pz-cheer-kb-art{width:72px;height:72px;flex:none;margin:-10px 0 -10px -6px}
.pz-cheer-kb p{margin:0;display:flex;flex-direction:column}
.pz-cheer-kb small{font:700 12px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pz-cheer-kb b{font:800 19px/1.2 var(--display);color:var(--ink)}
.pz-cheer.has-kb .pz-cheer-z{width:108px;height:108px}
@media (prefers-reduced-motion:no-preference){
  .pz-cheer:not([hidden]) .pz-cheer-kb:not([hidden]){animation:pz-kt-pop .55s .35s cubic-bezier(.2,1.5,.4,1) both}
  .pz-cheer:not([hidden]) .pz-cheer-kb:not([hidden]) .pz-cheer-kb-art{animation:pz-kt-wiggle .7s .8s ease-in-out both}
  .pz-shelf:not([hidden]) .pz-shelf-box{animation:pz-in .28s cubic-bezier(.2,1.4,.4,1)}
}
@keyframes pz-kt-pop{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}
@keyframes pz-kt-wiggle{0%,100%{transform:none}30%{transform:rotate(-9deg)}60%{transform:rotate(7deg)}}
@media (max-width:620px){
  .pz-shelf{padding:10px;align-items:flex-end}
  .pz-shelf-box{padding:18px 14px 16px;max-height:calc(100dvh - 20px)}
  .pz-shelf-box h2{font-size:22px}
  .pz-shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .pz-kt{padding:6px 2px 8px;border-radius:12px}
  .pz-kt-t{font-size:11.5px}
  .pz-kt-d{font-size:11px}
  .pz-kt:not(.on) .pz-kt-d{padding:2px 6px}
  .pz-shelf-stats b{font-size:24px}
  .pz-shelf-stats span{font-size:12.5px}
  .pz-shelf-stats p{padding:8px 10px;flex-direction:column;gap:2px}
}
/* Mega Sudoku: sixteen squares a row fit the card; the pencil marks sit in a 4 by 4 mini grid. */
.pz-card .pz-sudoku.pz-sd16,.pz-card .pz-sd16w .pz-notes{--cell:min(30px,calc((100cqw - 4px) / 16))}
.pz-open .pz-sudoku.pz-sd16,.pz-open .pz-sd16w .pz-notes{--cell:max(19px,min(46px,calc((100cqw - 4px) / 16)))}
.pz-sd16w .pz-notes{grid-template-columns:repeat(16,var(--cell))}
.pz-sd16w .pz-notes span{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);padding:1px}
.pz-sd16w .pz-notes i{font-size:calc(var(--cell) * .22)}
.pz-sudoku.pz-sd16 input.pz-c{text-transform:uppercase}
/* Samurai Sudoku: the 21 by 21 lattice fits the card (about 17 px a square on a 390 wide phone); open, it keeps 15 px or more:
   a narrower screen scrolls the grid sideways inside the card (.pz-xwrap2), and two fingers zoom the page. */
.pz-card .pz-sudoku.pz-sam,.pz-card .pz-samw .pz-notes{--cell:min(26px,calc((100cqw - 1px) / 21))}
.pz-open .pz-sudoku.pz-sam,.pz-open .pz-samw .pz-notes{--cell:max(15px,min(40px,calc((100cqw - 1px) / 21)))}
.pz-samw .pz-notes{grid-template-columns:repeat(21,var(--cell));left:0;top:0}
.pz-samw .pz-notes span{padding:0}
.pz-samw .pz-notes i{font-size:calc(var(--cell) * .3)}
.pz-sudoku.pz-sam input.pz-c{font-size:calc(var(--cell) * .58)}
/* Monster Maze: on a phone two fingers zoom the page while one finger draws. */
.pz-root[data-set="extra"] .pz-mz.live,.pz-root[data-set="extra"] .pz-open .pz-mz{touch-action:pinch-zoom}
.pz-root[data-set="extra"] .pz-mzp polyline{stroke-width:11}

/* The issue page's compact puzzle row (owner 2026-09-27; puzzles.mjs puzzlesSection): the day's puzzles as chips and
   the button to the puzzles page on the left, one small playable card on the right; one column on phones. */
.pz-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);grid-template-areas:"chips card" "go card";grid-template-rows:auto 1fr;gap:14px 28px;margin-top:16px;align-items:start}
.pz-mchips{grid-area:chips;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pz-mchip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 8px;border-radius:999px;background:var(--acc-soft);color:var(--acc-ink);font:700 15px/1.2 var(--display);text-decoration:none}
.pz-mchip svg{width:22px;height:22px;flex:none}
.pz-mchip:hover{background:color-mix(in srgb,var(--acc) 22%,var(--acc-soft))}
.pz-rowroot{grid-area:card;min-width:0}
.pz-rowgrid{display:block;margin-top:0}
.pz-go-row{grid-area:go;margin:0;align-self:start}
.pz-go-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--lead);color:#fff;font:700 16px/1 var(--display);text-decoration:none}
.pz-go-btn:hover{background:var(--lead-ink)}
.pz-card.pz-small .pz-code{--ct:min(38px,calc(100cqw / 6.4))}
.pz-card.pz-small.pz-open .pz-code{--ct:min(50px,calc(100cqw / 6.1))}
@media (max-width:760px){.pz-compact{grid-template-columns:1fr;grid-template-areas:"chips" "card" "go";grid-template-rows:auto}}
/* Puzzles Only on the puzzles page (owner 2026-09-27): the price under the nameplate and a button on the members' rows. */
.pz-plan{margin:6px 0 0}
.pz-plan a{font:700 14px/1 var(--display);color:var(--lead-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.pz-pay button{font:600 13.5px/1 var(--display);color:#fff;background:var(--lead);border:0;border-radius:999px;padding:9px 14px;cursor:pointer;white-space:nowrap}
.pz-pay button:hover{background:var(--lead-ink)}
.pz-pay .mp-msg{flex-basis:100%;margin:0;font-size:13.5px;color:var(--muted)}
.pz-pay .mp-msg:empty{display:none}

/* Color schemes on the color of the day */
.hm{margin-top:14px}
.hm-row{display:grid;grid-template-columns:104px 1fr auto;align-items:center;gap:10px;margin:8px 0}
.hm-n{font:700 13px var(--display);color:var(--ink)}
.hm-sw{display:flex;border-radius:10px;overflow:hidden;border:1px solid var(--line);height:40px}
.hm-sw span{flex:1;display:flex;align-items:flex-end;padding:0 4px 3px}
.hm-sw small{font:600 9px var(--display);opacity:.85;white-space:nowrap;overflow:hidden}
@media (max-width:560px){.hm-row{grid-template-columns:1fr auto}.hm-n{grid-column:1/-1}}

/* Color dots (layout D) */
.cd .cd-head{display:flex;align-items:center;gap:18px;margin:6px 0 20px}
.cd-dots{display:flex;align-items:center;flex:none}
.cp{border:0;padding:0;cursor:copy;border-radius:50%;box-shadow:0 0 0 4px var(--paper),inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .12s}
.cp:hover{transform:scale(1.08)}.cp:focus-visible{outline:3px solid var(--lead);outline-offset:3px}
.cp.big{width:88px;height:88px}.cp.sm{width:48px;height:48px;margin-left:-14px}
.cd h2{margin:0}.cd-hex{margin:4px 0 0;font:600 14px var(--display);color:var(--muted)}
.dotrow{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.dotrow .sn{width:150px;flex:none;font:700 14px var(--display);color:var(--ink)}
.dots-r{display:flex;gap:8px}.dotrow .cp.d{width:30px;height:30px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cd-toast{margin:6px 0 0;min-height:1.2em;font:700 13px var(--display);color:var(--lead);opacity:0;transition:opacity .2s}.cd-toast.on{opacity:1}
.b-s4 .cd h2{margin-bottom:0}
@media (max-width:560px){.dotrow .sn{width:112px;font-size:13px}.cp.big{width:72px;height:72px}}

/* Tangent News page (src/newspaper/news.mjs) and its card on the issue page. Built on the newspaper tokens above. */
.tn-plate .b-name{display:flex;flex-direction:column;align-items:center}
.tn-plate .logo img{height:34px}.tn-plate .logo span{font-size:42px}
.tn-title{font:800 clamp(44px,5.4vw,72px)/.95 var(--display);letter-spacing:-.04em;margin:12px 0 0;font-variation-settings:"opsz" 96}
.tn-plate .b-motto{margin-top:12px}

/* sticky section bar */
.tn-bar{position:sticky;top:0;z-index:30;background:var(--paper);border-top:3px double var(--rule);border-bottom:1px solid var(--rule);box-shadow:0 6px 16px -14px rgba(47,38,32,.5)}
.tn-bar-in{max-width:1232px;margin:0 auto;padding:0 24px;display:flex;justify-content:safe center;gap:0 22px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tn-bar-in::-webkit-scrollbar{display:none}
.tn-bar a{flex:none;font:600 13px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding:14px 0 11px;border-bottom:3px solid transparent;white-space:nowrap}
.tn-bar a:hover{color:var(--lead-ink)}
.tn-bar a[aria-current]{border-bottom-color:var(--lead);color:var(--lead-ink)}

/* section blocks */
.tn-main{padding-top:8px}
.tn-sec{padding:28px 0 36px;border-bottom:1px solid var(--rule);scroll-margin-top:52px}
.tn-sec:last-of-type{border-bottom:0}
.tn-h{font:800 28px/1.05 var(--display);letter-spacing:-.025em;border-top:3px solid var(--rule);padding-top:10px;margin:0 0 20px;display:flex;align-items:center;gap:10px}
.tn-h::before{content:"";width:12px;height:12px;background:var(--lead);flex:none}
.tn-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.tn-hero > :first-child{padding-right:24px}
.tn-rail{padding-left:24px;border-left:1px solid var(--line);min-width:0}
.tn-hero:has(> :only-child){grid-template-columns:minmax(0,1fr)}
.tn-grid{display:grid;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.tn-c1{grid-template-columns:minmax(0,1fr)}
.tn-c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tn-c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tn-c4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* one story */
.tn-st{min-width:0}
.tn-fig{margin:0}
.tn-pic{display:block;overflow:hidden;background:var(--paper-deep)}
.tn-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.tn-st:hover .tn-pic img{transform:scale(1.02)}
.tn-fig figcaption{margin:5px 0 0}
.tn-cred{display:block;font:400 11.5px/1.35 var(--display);letter-spacing:.01em;color:var(--muted);text-align:right}
.tn-cred a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}
.tn-cred a:hover{color:var(--lead-ink);text-decoration-color:currentColor}
.tn-meta{margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tn-page .src,.tnc .src{display:inline-block;margin:0;font:600 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:var(--pill);padding:4px 8px}
.tn-page .src.tn-satire,.tnc .src.tn-satire{color:#fff;background:var(--lead);border-color:var(--lead)}
.tn-hl{font:800 19px/1.2 var(--display);letter-spacing:-.012em;margin:0 0 8px}
.tn-hl a{text-decoration:none;color:var(--ink)}
.tn-hl a:hover{text-decoration:underline;text-decoration-color:var(--lead);text-underline-offset:3px}
.tn-sum{font-size:15.5px;line-height:1.5;margin:0 0 10px}
.tn-st .pq{margin:10px 0 10px}
.tn-st .pq p{font-size:15.5px}
.tn-st .for{font-size:14.5px;margin:10px 0 0;padding-top:8px;border-top:1px dotted var(--line)}

/* lead */
.tn-lead .tn-fig{margin-bottom:16px}
.tn-lead .tn-pic{aspect-ratio:16/9}
.tn-lead .tn-hl{font-size:32px;line-height:1.08;letter-spacing:-.025em;margin-bottom:12px}
.tn-lead .tn-sum{font-size:18px;line-height:1.55}
.tn-lead .pq p{font-size:18px}
.tn-hero-top .tn-lead .tn-hl{font-size:clamp(30px,3.4vw,44px)}
.tn-hero > .tn-text .tn-hl{font-size:30px;line-height:1.1}
.tn-hero > .tn-text .tn-sum{font-size:18px}

/* rail rows: text beside a small picture, credit under both */
.tn-row,.tn-rail > .tn-text{padding:16px 0;border-top:1px solid var(--line)}
.tn-rail > :first-child{padding-top:0;border-top:0}
.tn-row.has-pic{display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-areas:"b p" "c c";column-gap:14px}
.tn-row.has-pic .tn-fig{display:contents}
.tn-row.has-pic .tn-pic{grid-area:p;aspect-ratio:1;align-self:start}
.tn-row.has-pic .tn-fig figcaption{grid-area:c;margin-top:8px}
.tn-row.has-pic .tn-b{grid-area:b;min-width:0}
.tn-row .tn-hl{font-size:18px}
.tn-row .tn-cred{text-align:left}

/* cards */
.tn-card .tn-pic{aspect-ratio:3/2}
.tn-card .tn-fig{margin-bottom:12px}
.tn-grid > .tn-text{border-top:3px solid var(--ink);padding-top:12px}
.tn-grid .tn-hl{font-size:18px}

/* sports fixtures and the joke */
.tn-fx{display:flex;align-items:center;gap:12px;margin:-4px 0 20px;min-width:0}
.tn-fx-l{flex:none;font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;margin:0;color:var(--lead-ink)}
.tn-fx ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-width:0}
.tn-fx li{flex:none;font:600 13px/1 var(--display);background:var(--card);border:1px solid var(--line);border-radius:var(--pill);padding:8px 12px;white-space:nowrap}
.tn-fx li b{color:var(--lead-ink);margin-right:4px}
.tn-joke{background:var(--card);border:1px solid var(--rule);padding:16px;margin:0 0 16px}
.tn-rail > .tn-joke + .tn-st{padding-top:0;border-top:0}
.tn-joke-l{font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink);margin:0 0 10px}
.tn-joke-q{font:600 20px/1.3 var(--display);letter-spacing:-.01em;margin:0 0 10px}
.tn-joke .punch summary{cursor:pointer;font:600 14px var(--display);color:var(--lead-ink)}
.tn-joke .punch p{font:800 18px/1.3 var(--display);margin:8px 0 0}
.tn-joke-c{font:400 12px var(--display);color:var(--muted);margin:10px 0 0}
.tn-joke-c a{color:inherit}

/* regional */
.tn-regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.tn-region{padding:0 20px;border-left:1px solid var(--line);min-width:0}
.tn-region:first-child{padding-left:0;border-left:0}
.tn-region:last-child{padding-right:0}
.tn-rh{font:800 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:8px}
.tn-yours{font:600 10.5px/1 var(--display);letter-spacing:.06em;color:#fff;background:var(--lead);border-radius:var(--pill);padding:4px 8px}
.tn-region.is-yours .tn-rh{color:var(--lead-ink);border-bottom-color:var(--lead)}
.tn-region .tn-st{padding:14px 0;border-top:1px solid var(--line)}
.tn-region .tn-rh + .tn-st{padding-top:0;border-top:0}
.tn-region .tn-hl{font-size:17px}
.tn-region .tn-sum{font-size:15px}
.tn-region .tn-row.has-pic{grid-template-columns:minmax(0,1fr) 84px}

@media (max-width:1100px){
  .tn-c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-c3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tn-regions{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .tn-region:nth-child(odd){padding-left:0;border-left:0}
  .tn-region:nth-child(even){padding-right:0}
}
@media (max-width:760px){
  .tn-plate .logo img{height:26px}.tn-plate .logo span{font-size:32px}
  .tn-title{font-size:44px}
  .tn-bar-in{padding:0 16px;justify-content:flex-start;gap:0 18px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .tn-bar a:last-child{padding-right:24px}
  .tn-sec{padding:22px 0 26px}
  .tn-h{font-size:24px;margin-bottom:16px}
  .tn-hero{grid-template-columns:minmax(0,1fr)}
  .tn-hero > :first-child{padding-right:0}
  .tn-rail{padding:16px 0 0;margin-top:16px;border-left:0;border-top:1px solid var(--line)}
  .tn-lead .tn-hl,.tn-hero-top .tn-lead .tn-hl{font-size:27px}
  .tn-lead .tn-sum{font-size:17px}
  .tn-grid{grid-template-columns:minmax(0,1fr) !important;gap:0;margin-top:16px;padding-top:0}
  .tn-grid > .tn-st{padding:16px 0;border-top:1px solid var(--line)}
  .tn-grid > .tn-text{border-top:1px solid var(--line);padding-top:16px}
  .tn-grid > .tn-st:first-child{border-top:0}
  .tn-card.has-pic{display:grid;grid-template-columns:minmax(0,1fr) 104px;grid-template-areas:"b p" "c c";column-gap:14px}
  .tn-card.has-pic .tn-fig{display:contents}
  .tn-card.has-pic .tn-pic{grid-area:p;aspect-ratio:1;align-self:start}
  .tn-card.has-pic .tn-fig figcaption{grid-area:c;margin-top:8px}
  .tn-card.has-pic .tn-b{grid-area:b;min-width:0}
  .tn-card .tn-cred{text-align:left}
  .tn-row.has-pic{grid-template-columns:minmax(0,1fr) 104px}
  .tn-regions{grid-template-columns:minmax(0,1fr)}
  .tn-region,.tn-region:nth-child(odd),.tn-region:nth-child(even){padding:0;border-left:0}
  .tn-region .tn-card.has-pic{display:block}
  .tn-region .tn-card .tn-pic{aspect-ratio:16/9}
  .tn-region .tn-card .tn-fig{margin-bottom:10px}
  .tn-region .tn-card .tn-cred{text-align:right}
  .tn-fx{flex-direction:column;align-items:flex-start;gap:8px}
  .tn-fx ul{max-width:100%}
}

/* the card on the issue page */
.tnc-lead{padding-bottom:16px;border-bottom:1px solid var(--line)}
.tnc-lead .tn-pic{aspect-ratio:16/9}
.tnc-lead .tn-fig{margin-bottom:12px}
.tnc-lead .tn-hl{font-size:22px;line-height:1.15}
.tnc-lead .tn-sum{font-size:15px}
.tnc-lead .for{font-size:14px;margin:0}
.tnc-k{display:inline-block;font:800 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink);text-decoration:none}
.tnc-k:hover{text-decoration:underline}
.tnc-list{list-style:none;margin:0;padding:0}
.tnc-i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}
.tnc-i:first-child{border-top:0}
.tnc-b{min-width:0}
.tnc-i .tnc-k{margin-bottom:5px}
.tnc-i h4{font:800 16px/1.25 var(--display);letter-spacing:-.01em;margin:0 0 6px}
.tnc-i h4 a{text-decoration:none;color:var(--ink)}
.tnc-i h4 a:hover{text-decoration:underline;text-decoration-color:var(--lead)}
.tnc-i .tn-meta{margin:0}
.tnc-th{display:block;width:72px;aspect-ratio:1;overflow:hidden;background:var(--paper-deep)}
.tnc-th img{width:100%;height:100%;object-fit:cover}
.news-i .tn-cred{text-align:left;margin:-4px 0 10px}

/* the front lead: picture and text side by side, the next three stories in a row beneath */
@media (min-width:761px){
  .tn-hero-top{grid-template-columns:minmax(0,1fr)}
  .tn-hero-top > :first-child{padding-right:0}
  .tn-hero-top .tn-lead.has-pic{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:28px;align-items:start}
  .tn-hero-top .tn-lead .tn-fig{margin:0}
  .tn-hero-top .tn-lead .tn-pic{aspect-ratio:3/2}
  .tn-hero-top .tn-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:24px 0 0;margin-top:24px;border-left:0;border-top:1px solid var(--line)}
  .tn-hero-top .tn-rail > .tn-st{padding:0;border-top:0}
}
@media (min-width:761px){
  .tn-hero-top .tn-rail > .tn-text{border-top:3px solid var(--ink);padding-top:12px}
}
@media (min-width:761px){
  .tn-hero-top .tn-r1{grid-template-columns:minmax(0,1fr)}
  .tn-hero-top .tn-r2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-hero-top .tn-r4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tn-hero-top .tn-rail > .tn-joke{margin:0}
  .tn-hero-top > .tn-text{max-width:820px}
  .tn-s-top .tn-lead .tn-hl{font-size:clamp(30px,3.4vw,44px)}
  .tn-lead .tn-hl{font-size:30px}
}
@media (min-width:761px) and (max-width:1100px){
  .tn-hero-top .tn-r4,.tn-hero-top .tn-r3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.tn-region .tn-card .tn-pic{aspect-ratio:16/9}
.tn-region .tn-card .tn-fig{margin-bottom:10px}
.tn-rail > .tn-joke{align-self:start}

/* Tighter lead and card rows (owner 2026-09-24: too much white space) */
.tn-lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:24px;align-items:start}
.tn-lead .tn-fig{margin:0}
.tn-lead .tn-pic{aspect-ratio:4/3;max-height:380px}
.tn-lead .tn-hl{font-size:28px}
.tn-lead .tn-sum{font-size:16.5px;line-height:1.5}
.tn-grid{gap:20px;margin-top:20px;padding-top:20px;align-items:stretch}
.tn-card{display:flex;flex-direction:column;padding-bottom:14px;border-bottom:1px solid var(--line)}
.tn-card .for{margin-top:auto;padding-top:10px}
.tn-card .tn-sum{font-size:15px;line-height:1.5}
.tn-card .pq p{font-size:15.5px}
.tn-sec{margin-bottom:28px}
@media (max-width:760px){.tn-lead{grid-template-columns:minmax(0,1fr)}.tn-lead .tn-fig{margin-bottom:12px}}

/* The Headlines card on the issue page (owner 2026-09-24): picture, headlines, and a link to /news/ */
.hl-card{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.hl-fig{margin:0}
.hl-fig .tn-pic{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper-deep)}
.hl-fig .tn-pic img{width:100%;height:100%;object-fit:cover}
.hl-fig figcaption{margin-top:4px}
.hl-list{list-style:none;margin:0;padding:0}
.hl-i{padding:10px 0;border-top:1px solid var(--line)}
.hl-i:first-child{border-top:0;padding-top:0}
.hl-i .tnc-k{display:block;margin:0 0 4px}
.hl-t{display:inline;font:800 16px/1.3 var(--display);letter-spacing:-.01em;color:var(--ink);text-decoration:none;margin-right:8px}
.hl-t:hover{text-decoration:underline;text-decoration-color:var(--lead)}
.hl-i .src{display:inline-block;vertical-align:2px;font:600 10.5px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:var(--pill);padding:3px 7px}
.hl-i .src.tn-satire{color:#fff;background:var(--lead);border-color:var(--lead)}
.hl-more{margin:14px 0 0;padding-top:12px;border-top:3px solid var(--rule,var(--ink));font:600 15px/1.3 var(--display)}
.hl-more a{color:var(--lead-ink)}
@container (min-width:620px){.hl-card.has-pic{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:start}}

/* /news/: a sticky section list on the left on wide screens; the top bar stays for phones and tablets */
.tn-side{display:none}
@media (min-width:1101px){
  .tn-bar{display:none}
  .tn-layout{display:grid;grid-template-columns:168px minmax(0,1fr);gap:32px;align-items:start;padding-top:20px}
  .tn-side{display:flex;flex-direction:column;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;border-top:3px double var(--rule,var(--ink));padding-top:10px}
  .tn-side-h{font:800 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
  .tn-side a{font:600 14px/1.2 var(--display);color:var(--ink);text-decoration:none;padding:7px 10px;border-left:3px solid transparent;margin-left:-10px}
  .tn-side a:hover{color:var(--lead-ink)}
  .tn-side a[aria-current]{border-left-color:var(--lead);color:var(--lead-ink);background:color-mix(in srgb,var(--lead) 8%,transparent)}
  .tn-body{min-width:0}
}

/* The Creator style report (src/newspaper/stylereport.mjs): its own page at /style/, built on the /news/ layout
   (news.css: .tn-plate, .tn-bar, .tn-side, .tn-sec), and the one-line link on the issue page. */
.sr-page .b-motto{font:italic 400 21px/1.3 var(--body);letter-spacing:0;text-transform:none;color:var(--ink);margin-top:12px}
.tn-sec.sr-sec{padding:24px 0 32px}
.sr-toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}
.sr-toprow .eyebrow{margin:0}
.sr-hl{font:800 clamp(30px,3.6vw,44px)/1.05 var(--display);letter-spacing:-.03em;margin:0 0 14px;overflow-wrap:anywhere}
.sr-lede{font:400 20px/1.5 var(--body);margin:0 0 20px;max-width:46em}
.sr-btn{display:inline-flex;align-items:center;gap:6px;font:600 13.5px/1 var(--display);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--pill);padding:8px 13px;cursor:pointer;white-space:nowrap}
.sr-btn:hover{border-color:var(--lead);color:var(--lead-ink)}
.sr-btn svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sr-fig{margin:0}
.sr-fig img{display:block;width:100%;height:auto}
.sr-fig figcaption{font:400 13px/1.4 var(--display);color:var(--muted);margin-top:8px}
.sr-fig figcaption b{color:var(--ink);font-weight:700;margin-right:4px}
.sr-hero{max-width:560px}
.sr-hero img{border-radius:var(--r-sm);border:1px solid var(--line)}
.sr-why{margin:22px 0 0;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--day,var(--lead));border-radius:var(--r-sm);max-width:46em}
.sr-why h3{font-size:18px;margin:0 0 6px}.sr-why p{margin:0}

/* the color block: the day's color, its pairings, and its harmonies; every swatch copies its hex */
.sr-sw{border:0;margin:0;padding:8px 8px 7px;min-width:0;cursor:copy;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;text-align:left;font:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.sr-sw b{font:800 18px/1.1 var(--display);letter-spacing:-.01em}
.sr-sw small{font:600 11px/1 var(--display);letter-spacing:.04em;opacity:.9}
.sr-sw:hover{filter:brightness(1.04)}.sr-sw:focus-visible{outline:3px solid var(--lead);outline-offset:2px;position:relative;z-index:1}
.sr-day{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:0;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line);margin:0 0 20px}
.sr-day .sr-sw{height:170px;padding:16px}
.sr-day .sr-big b{font-size:30px}
.sr-day .sr-big small{font-size:14px}
.sr-harm{display:grid;gap:10px}
.sr-hrow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;align-items:center}
.sr-hn{margin:0;font:700 14px/1.2 var(--display)}
.sr-hn small{display:block;font:400 12.5px/1.35 var(--display);color:var(--muted);margin-top:3px}
.sr-strip{display:flex;border-radius:10px;overflow:hidden;border:1px solid var(--line);height:56px}
.sr-strip .sr-sw{flex:1;height:100%}
.sr-toast{margin:10px 0 0;min-height:1.2em;font:700 13px var(--display);color:var(--lead-ink);opacity:0;transition:opacity .2s}.sr-toast.on{opacity:1}
.sr-sub{font-size:22px;margin:26px 0 12px}
.sr-recipes{margin-top:4px}
.sr-rec{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.sr-rstrip{height:72px}
.sr-rtext h4{font-size:18px;margin:0 0 4px}.sr-rtext p{margin:0;font-size:15.5px;line-height:1.45}

/* mockups, things to make, prompts, notes, pairings */
.sr-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sr-frame{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.sr-frame img{width:100%;height:100%;object-fit:contain}
.sr-m-cover .sr-frame img{object-fit:contain}
.sr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sr-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;min-width:0}
.sr-card h3{font-size:19px;margin:0 0 6px;overflow-wrap:anywhere}
.sr-card p{margin:0;font-size:15.5px;line-height:1.45}
.sr-chip{display:inline-block;font:700 11px/1 var(--display) !important;letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink);margin:0 0 8px !important}
.sr-kw{margin-top:10px !important;padding-top:8px;border-top:1px dotted var(--line);font:600 14px/1.3 var(--display) !important}
.sr-kw span{display:block;font:600 10.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.sr-more{margin-top:16px}
.sr-more > summary{list-style:none;display:inline-flex;cursor:pointer;font:600 14px/1 var(--display);color:#fff;background:var(--lead);border-radius:var(--pill);padding:10px 16px}
.sr-more > summary::-webkit-details-marker{display:none}
.sr-more > summary:hover{background:var(--lead-ink)}
.sr-more .sr-hide,.sr-more[open] .sr-show{display:none}.sr-more[open] .sr-hide{display:inline}
.sr-more[open] > summary{margin-bottom:16px}
.sr-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sr-pr{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px 14px;min-width:0}
.sr-pr-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}
.sr-pr-h .sr-chip{margin:0 !important}
.sr-pr-t{margin:0;font:400 14.5px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--paper);border-radius:8px;padding:10px 12px;overflow-wrap:anywhere}
.sr-notes{list-style:none;margin:0;padding:0}
.sr-notes li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.sr-notes li:first-child{border-top:0}
.sr-notes b{font:700 14px/1.4 var(--display)}
.sr-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sr-page .mb-row{margin:18px 0 0}

/* font pairings: each sample, and each family name, is set in its own font */
.sr-fonts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sr-font{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px 16px;min-width:0;display:flex;flex-direction:column}
.sr-font-h{margin:2px 0 10px;font-size:30px;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}
.sr-font-b{margin:0 0 14px;font-size:16px;line-height:1.5;color:var(--ink)}
.sr-font-n{margin:auto 0 8px;padding-top:10px;border-top:1px dotted var(--line);display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.3}
.sr-font-n a{color:var(--lead-ink);text-decoration:none}.sr-font-n a:hover{text-decoration:underline}
.sr-font-n span{display:inline-block;min-width:4.6em;font:600 10.5px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sr-font-u{margin:0;font:400 13.5px/1.45 var(--display);color:var(--muted)}

/* the line on the issue page */
.sr-link{margin:0;padding:12px 0 0;border-top:3px solid var(--rule,var(--ink));font:600 15px/1.35 var(--display);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.sr-link a{color:var(--lead-ink)}
.sr-link span{color:var(--muted);font-weight:400}

@media (max-width:900px){
  .sr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-hrow{grid-template-columns:minmax(0,1fr);gap:6px}
  .sr-rec{grid-template-columns:minmax(0,1fr);gap:8px}
}
@media (max-width:640px){
  .sr-page .b-motto{font-size:18px}
  .sr-lede{font-size:18px}
  .sr-day{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sr-day .sr-big{grid-column:1/-1;height:140px}
  .sr-day .sr-sw{height:96px;padding:12px}
  .sr-gallery,.sr-grid,.sr-prompts,.sr-pairs,.sr-fonts{grid-template-columns:minmax(0,1fr)}
  .sr-notes li{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media print{
  .sr-page .b-strip,.sr-page .tn-bar,.sr-page .tn-side,.sr-page .mz-banner,.sr-page .b-promo,.sr-page .foot,.sr-page .mb-row,.sr-btn,.sr-toast,.sr-more > summary{display:none !important}
  .sr-page{background:#fff}
  .sr-page .tn-layout{display:block}
  .sr-page .tn-plate{padding:0}
  .sr-page .tn-title{font-size:36px}
  .sr-sec{break-inside:auto;padding:12px 0 !important;border-bottom:0 !important}
  .sr-card,.sr-pr,.sr-rec,.sr-fig,.sr-hrow,.sr-font{break-inside:avoid}
  .sr-hero{max-width:320px}
  .sr-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sr-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .sr-sw,.sr-strip,.sr-day{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.sr-more-wrap{margin-top:14px}.sr-rest{margin-bottom:14px}.sr-toggle{font:600 14px/1 var(--display);color:#fff;background:var(--lead);border:0;border-radius:999px;padding:9px 16px;cursor:pointer}@media print{.sr-toggle{display:none}}

/* Membership (src/newspaper/bicker.mjs, online.mjs, pd.mjs, components.mjs noteTools, member-pages.mjs,
   member-sections.mjs; assets/member.js). A soft gate: members-only items are in the page and show only for the
   plans that include them, from <html data-plan>.
     .gated          Creator and Studio (the creator pages, the business note PDF and library)
     .gated-puzzles  Puzzles, Creator, and Studio (extra puzzles, the archive)
     .gated-studio   Studio
     .below-creator  shown to Free and Puzzles readers (the Join rows for Creator things)
     .below-puzzles  shown to Free readers only */
html:not([data-plan="creator"]):not([data-plan="studio"]) .gated{display:none !important}
html:not([data-plan="puzzles"]):not([data-plan="creator"]):not([data-plan="studio"]) .gated-puzzles{display:none !important}
html:not([data-plan="studio"]) .gated-studio{display:none !important}
html[data-plan="creator"] .below-creator,html[data-plan="studio"] .below-creator{display:none !important}
html[data-plan="puzzles"] .below-puzzles,html[data-plan="creator"] .below-puzzles,html[data-plan="studio"] .below-puzzles{display:none !important}
.ol-all{margin:16px 0 0}
.ol-all a{font:700 15px/1 var(--display);color:var(--lead-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
/* The members row in place of gated items: a small warm panel, one friendly line, one modest button. */
.mb-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:16px 0 0;padding:12px 16px;background:var(--tint);border-radius:8px;font:600 15px/1.35 var(--display);color:var(--ink)}
.mb-row a{font:600 13.5px/1 var(--display);color:#fff;background:var(--lead);border-radius:999px;padding:8px 14px;text-decoration:none;white-space:nowrap}
.mb-row a:hover{background:var(--lead-ink)}
.bn-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.bn-btn{display:inline-flex;align-items:center;gap:6px;font:600 14px/1 var(--display);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 14px;text-decoration:none;cursor:pointer}
.bn-btn:hover{border-color:var(--lead);color:var(--lead-ink)}
.bn-join{font:600 13.5px/1.3 var(--display);color:var(--ink);background:color-mix(in srgb,var(--lead) 14%,var(--card));border:1px solid color-mix(in srgb,var(--lead) 30%,var(--line));border-radius:999px;padding:9px 14px;text-decoration:none}
.bn-join:hover{color:var(--lead-ink)}
.bn-msg{font:600 13px/1.3 var(--display);color:var(--muted)}

/* /join/ and /library/ */
.mp-main{padding:32px 0 48px}
.mp-head{max-width:760px;margin:0 auto 28px;text-align:center}
.mp-head h1{margin-bottom:12px}
.mp-head p{font-size:19px;color:var(--muted);margin:0}
.mp-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0;border-top:3px double var(--rule);border-bottom:1px solid var(--rule);padding:24px 0}
.mp-grid > *{padding:0 24px;min-width:0}
.mp-grid > *:first-child{padding-left:0}
.mp-grid > *:last-child{padding-right:0;border-left:1px solid var(--line)}
.mp-list{list-style:none;margin:0;padding:0}
.mp-list li{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.mp-list li:last-child{border-bottom:0}
.mp-n{font:800 26px/1 var(--display);color:var(--lead)}
.mp-list h3{margin:0 0 4px;font-size:19px}
.mp-list p{margin:0;font-size:16px;color:var(--muted)}
.mp-price{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:22px}
.mp-amt{font:800 56px/1 var(--display);letter-spacing:-.03em;margin:4px 0 6px}
.mp-amt small{font:600 18px var(--display);color:var(--muted);letter-spacing:0}
.mp-price ul{margin:0 0 18px;padding-left:20px}
.mp-price li{margin:4px 0}
.mp-pay{display:flex;flex-direction:column;gap:10px;margin:0}
.mp-pay button{height:52px;border:0;border-radius:var(--r-sm);background:#FFC439;color:#111;font:700 17px var(--display);cursor:pointer}
.mp-pay button:hover{background:#F2B92F}
.mp-msg{min-height:1.3em;margin:0;font:600 14px/1.3 var(--display);color:var(--muted)}
.mp-topup{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:16px}
.mp-compare{width:100%;border-collapse:collapse;margin:8px 0 0;font-size:16px}
.mp-compare th,.mp-compare td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.mp-compare th{font:600 12px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mp-compare td:first-child{font-weight:600}
.mp-sec{padding:28px 0;border-bottom:1px solid var(--rule)}
.mp-faq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mp-faq h3{font-size:18px;margin-bottom:6px}
.mp-faq p{margin:0;font-size:16px}
.lib-state{text-align:center;padding:32px 0;border-top:3px double var(--rule);border-bottom:1px solid var(--rule)}
.lib-state p{font:700 20px/1.3 var(--display);margin:0 0 14px}
.lib-state a{font:600 15px/1 var(--display);color:#fff;background:var(--lead);border-radius:999px;padding:12px 18px;text-decoration:none;display:inline-block}
@media (max-width:760px){
  .mp-grid{grid-template-columns:1fr}
  .mp-grid > *{padding:0}
  .mp-grid > *:last-child{border-left:0;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
  .mp-faq{grid-template-columns:1fr}
  .mp-amt{font-size:46px}
}

/* /account/ sign-in form */
.ac-form{display:flex;flex-direction:column;gap:10px}
.ac-form label{font:600 13px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ac-form input{height:52px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 16px;font:400 17px var(--body);color:#2F2620;min-width:0}
.ac-form input:focus{outline:2px solid var(--lead);outline-offset:1px;border-color:var(--lead)}
.ac-form button{height:52px;border:0;border-radius:999px;background:var(--lead);color:#fff;font:700 17px var(--display);cursor:pointer}
.ac-form button:hover{background:var(--lead-ink)}
.ac-form button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[hidden]{display:none !important}

/* /join/ tiers */
.mp-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:3px double var(--rule);border-bottom:1px solid var(--rule);padding:24px 0}
.mp-tier{position:relative;padding:0 24px;min-width:0;display:flex;flex-direction:column}
.mp-tier:first-child{padding-left:0}.mp-tier:last-child{padding-right:0}.mp-tier + .mp-tier{border-left:1px solid var(--line)}
.mp-tier h2{margin:0 0 4px}
.mp-tier .mp-amt{margin:0 0 4px}
.mp-cr{font:600 15px var(--display);color:var(--muted);margin:0 0 14px}
.mp-plus{font:700 14px var(--display);margin:0 0 6px}
.mp-perks{margin:0 0 18px;padding-left:20px;flex:1}.mp-perks li{margin:5px 0}
.mp-pop{background:var(--card);outline:1px solid var(--lead);padding-top:18px;padding-bottom:18px;margin:-18px 0}
.mp-tier.mp-pop{padding-left:24px;padding-right:24px}
.mp-badge{position:absolute;top:-12px;left:24px;margin:0;font:700 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--lead);border-radius:999px;padding:6px 10px}
.mp-tiers + .mp-topup{margin:14px 0 0;border-top:0;padding-top:0;text-align:center}
.mp-cmpwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.mp-compare{min-width:640px}
.mp-no::before{content:"";display:inline-block;width:14px;height:2px;background:var(--line);vertical-align:middle}
@media (max-width:760px){
  .mp-tiers{grid-template-columns:1fr;padding-top:28px}
  .mp-tier{padding:0}.mp-tier + .mp-tier{border-left:0;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
  .mp-tier.mp-pop{margin:8px 0;padding:22px 18px 18px}
}
/* What credits do (owner 2026-09-26), under the plans on /join/. */
.mp-credits{max-width:760px;margin:28px auto 0;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm)}
.mp-credits h2{margin:0 0 8px;font-size:26px}
.mp-credits p{margin:0 0 10px;font-size:16.5px;line-height:1.55}
.mp-credits .mp-cr-rule{margin:0;font-size:15.5px;color:var(--muted)}
.mp-credits .mp-cr-rule b{color:var(--ink)}

/* /account/, the members' home (2026-09-26), compact: a slim welcome band, then one rounded tinted row per section
   (.mh-sec, a <details> with the little in its summary and the rest inside), like .bk-tz, .jp-panel, and .idp, only
   small. --mh-c tints each row; --mh-card is the inner card (a lifted card color on dark looks). */
.mh-in,.mh-out{--mh-card:#fffdf9;display:flex;flex-direction:column;gap:12px}
.mh-out{gap:22px}
html[data-look="dark"] .mh-in,html[data-look="dark"] .mh-out,html[data-look="dark"] .lib-box{--mh-card:color-mix(in srgb,var(--card) 86%,#fff)}
.lib-box{--mh-card:#fffdf9}
.mh-in{max-width:1080px;margin:0 auto;width:100%}
.mh-panel,.mh-sec,.mh-band{--mh-c:var(--lead);position:relative;background:color-mix(in srgb,var(--mh-c) 9%,var(--card));border:1px solid color-mix(in srgb,var(--mh-c) 22%,var(--line));border-radius:18px;min-width:0}
.mh-panel{border-radius:24px;padding:28px 32px}
.mh-h{margin:0;font:800 26px/1.15 var(--display);letter-spacing:-.01em;color:var(--ink)}
.mh-more{font:700 14px/1.2 var(--display);color:var(--lead-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;white-space:nowrap}
.mh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 15px/1 var(--display);color:#fff;background:var(--lead);border-radius:999px;padding:13px 20px;text-decoration:none}
.mh-btn:hover{background:var(--lead-ink)}
.mh-btn:focus-visible,.mh-more:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.mh-badge{display:inline-flex;align-items:center;gap:6px;font:800 13px/1 var(--display);letter-spacing:.02em;border-radius:999px;padding:7px 12px;color:#fff;background:var(--lead);white-space:nowrap}
.mh-b-free{background:var(--mh-card);color:var(--ink);border:1px solid var(--line)}
.mh-b-puzzles{background:var(--third)}
.mh-b-creator{background:var(--lead)}
.mh-b-studio{background:linear-gradient(135deg,#F2D27A,#D4A84B 55%,#B8892F);color:#3A2A08;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 6px 16px -8px rgba(160,120,30,.8)}
.mh-b-studio::before{content:"";width:11px;height:11px;background:currentColor;clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%)}
/* Welcome band */
.mh-band{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 20px 10px 14px;overflow:hidden}
.mh-zip{width:auto;height:58px;margin:-4px 0 -10px}
.mh-band h1{margin:0;font:800 30px/1.1 var(--display);letter-spacing:-.02em}
.mh-renew,.mh-mail,.mh-soon{font:600 14px/1.3 var(--display);color:var(--muted)}
.mh-mail{overflow-wrap:anywhere}
.mh-soon{flex-basis:100%;padding-left:72px;margin-top:-4px;font-size:13px}
/* Section rows */
.mh-sec > summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;cursor:pointer;min-height:44px;box-sizing:border-box;border-radius:18px}
.mh-sec > summary::-webkit-details-marker{display:none}
.mh-sec > summary:focus-visible{outline:3px solid var(--lead);outline-offset:2px}
.mh-sum-h{font:800 16px/1.2 var(--display);color:var(--ink);white-space:nowrap}
.mh-sum-x{font:600 14px/1.3 var(--display);color:var(--muted);min-width:0;flex:1}
.mh-tog{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px;font:700 13px/1 var(--display);color:var(--lead-ink);background:var(--mh-card);border:1px solid var(--line);border-radius:999px;padding:8px 13px}
.mh-tog::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.mh-sec[open] .mh-tog::after{transform:rotate(-135deg) translateY(-1px)}
.mh-tog-c,.mh-sec[open] .mh-tog-o{display:none}
.mh-sec[open] .mh-tog-c{display:inline}
.mh-sec > summary:hover .mh-tog{border-color:var(--lead)}
.mh-body{padding:2px 16px 16px}
.mh-row1{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 18px 10px 12px;min-height:44px;box-sizing:border-box}
.mh-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;color:var(--lead-ink);background:color-mix(in srgb,var(--lead) 13%,var(--mh-card,#fff))}
.mh-ic svg{width:18px;height:18px}
html[data-look="dark"] .mh-ic{color:var(--ink)}
/* Today for you: small chips */
.mh-today{--mh-c:var(--second,#E0A33A)}
.mh-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.mh-chip{display:flex;align-items:center;gap:9px;height:100%;box-sizing:border-box;background:var(--mh-card);border:1px solid var(--line);border-radius:12px;padding:7px 10px 7px 7px;color:var(--ink);text-decoration:none;box-shadow:0 6px 14px -12px rgba(47,38,32,.45);transition:transform .15s ease,border-color .15s ease}
.mh-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--lead) 45%,var(--line))}
.mh-chip:focus-visible{outline:3px solid var(--lead);outline-offset:2px}
.mh-chips li:nth-child(3n+2) .mh-ic{color:color-mix(in srgb,var(--third) 70%,#000);background:color-mix(in srgb,var(--third) 15%,var(--mh-card))}
.mh-chips li:nth-child(3n) .mh-ic{color:color-mix(in srgb,var(--second,#E0A33A) 60%,#000);background:color-mix(in srgb,var(--second,#E0A33A) 20%,var(--mh-card))}
html[data-look="dark"] .mh-chips li .mh-ic{color:var(--ink)}
.mh-cn{font:700 14.5px/1.2 var(--display);min-width:0;flex:1}
.mh-cv{font:800 14px/1 var(--display);color:var(--lead-ink);background:color-mix(in srgb,var(--lead) 10%,var(--mh-card));border-radius:999px;padding:5px 9px;white-space:nowrap}
.mh-lock{display:inline-flex;align-items:center;gap:4px;font:700 11.5px/1 var(--display);color:var(--ink);background:var(--paper-deep,#EEE4D6);border-radius:999px;padding:5px 8px;white-space:nowrap}
.mh-lock svg{width:12px;height:12px}
.mh-chip.locked{background:color-mix(in srgb,var(--mh-card) 55%,transparent);box-shadow:none;border-style:dashed}
.mh-chip.locked .mh-ic{filter:grayscale(1);opacity:.6}
.mh-chip.locked .mh-cv{display:none}
/* Kitties */
.mh-kit{--mh-c:#F6C343}
.mh-kcat{flex:none;width:30px;height:30px;display:inline-flex}
.mh-kcat .pz-kitty{width:30px;height:30px}
.mh-kit .pz-shelf-stats{margin:4px 0 12px}
.mh-kit .pz-shelf-stats p{background:var(--mh-card)}
.mh-kit .pz-shelf-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.mh-kit .pz-kt{background:color-mix(in srgb,var(--mh-card) 70%,transparent);padding:8px 4px}
.mh-kit .pz-kt-art{max-width:72px}
.mh-kit .pz-kt-t{font-size:12.5px}
.mh-kit .pz-kt.on{background:var(--kt);box-shadow:0 8px 18px -14px rgba(47,38,32,.5)}
.mh-kit .pz-kt.on .pz-kt-t,.mh-kit .pz-kt.on .pz-kt-d{color:#2F2620}
.mh-kit .mb-row{margin-top:12px}
/* Dig in, library, settings */
.mh-dig{--mh-c:var(--third)}
.mh-dig .mh-sum-x{color:var(--ink);font-weight:700}
.mh-lib{--mh-c:var(--lead)}
.mh-libmore{margin:12px 0 0}
.lib-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.lib-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;background:var(--mh-card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 8px 20px -16px rgba(47,38,32,.4)}
.lib-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--lead-ink);background:color-mix(in srgb,var(--lead) 13%,var(--mh-card))}
.lib-ic svg{width:22px;height:22px}
.lib-tx{min-width:0}
.lib-d{margin:0 0 4px;font:600 12.5px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lib-t{font:800 16px/1.3 var(--display);color:var(--ink);text-decoration:none}
.lib-t:hover{color:var(--lead-ink)}
.lib-acts{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}
.lib-empty{margin:0;padding:14px 16px;background:var(--mh-card);border:1px dashed var(--line);border-radius:14px;font:600 15px/1.4 var(--display);color:var(--muted)}
.lib-empty a{color:var(--lead-ink);white-space:nowrap}
.lib-box .lib-cards{margin:0 0 8px}
.mh-set{--mh-c:var(--faint,#A39588);background:transparent}
.mh-set .mh-sum-h{font-size:15px}
.mh-set-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px}
.mh-set-l{margin:0 0 8px;font:700 15px/1.2 var(--display);color:var(--ink)}
.mh-set-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
#ac-lists{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin:0}
#ac-lists label{display:flex;gap:8px;align-items:center;font-size:16px}
#ac-lists input{width:18px;height:18px;accent-color:var(--lead)}
#ac-logout{margin:0}
.bn-btn:focus-visible{outline:2px solid var(--lead);outline-offset:2px}
/* Signed out */
.mh-hello{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 24px;overflow:hidden;padding-bottom:0}
.mh-hello-tx{padding-bottom:22px;align-self:center}
.mh-out .mh-panel{padding:22px 28px}
.mh-out .mh-hello{padding-bottom:0}
.mh-hello h1{margin:2px 0 14px;font-size:clamp(34px,4vw,44px);line-height:1}
.mh-zippy{display:block;width:auto;height:150px;margin:0 8px -4px 0;align-self:end}
.mh-signin .ac-form{max-width:440px}
.mh-gets{--mh-c:var(--second,#E0A33A)}
.mh-gets .mh-h{margin-bottom:16px}
.mh-get-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mh-get{background:var(--mh-card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 8px 20px -16px rgba(47,38,32,.4)}
.mh-get-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;font:600 14px/1.2 var(--display);color:var(--muted)}
.mh-get ul{margin:0;padding-left:18px}
.mh-get ul li{margin:5px 0;font-size:15.5px;line-height:1.4}
.mh-cta{margin:18px 0 0}
@media (prefers-reduced-motion:reduce){.mh-chip{transition:none}.mh-chip:hover{transform:none}}
@media (max-width:900px){
  .mh-panel{padding:22px 18px;border-radius:18px}
  .mh-zippy{height:140px}
  .mh-get-list{grid-template-columns:minmax(0,1fr)}
  .mh-kit .pz-shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:560px){
  .mh-in,.mh-out{box-sizing:border-box;padding:0 12px}
  .mh-band{padding:8px 14px 8px 10px;gap:4px 10px}
  .mh-zip{height:48px}
  .mh-band h1{font-size:24px}
  .mh-soon{padding-left:0}
  .mh-chips{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
  .mh-chip{padding:6px 7px 6px 6px;gap:7px}
  .mh-chip .mh-ic{width:26px;height:26px;border-radius:8px}
  .mh-chip .mh-ic svg{width:16px;height:16px}
  .mh-cn{font-size:13px;white-space:normal}
  .mh-cv{font-size:12px;padding:4px 7px}
  .mh-lock span{display:none}
  .mh-sec > summary{flex-wrap:wrap;padding:9px 10px 9px 12px;gap:4px 8px}
  .mh-sec > summary .mh-sum-x{order:3;flex-basis:100%;padding-left:0}
  .mh-kit > summary .mh-sum-x{padding-left:38px}
  .mh-lib > summary .mh-sum-x{flex-basis:auto;order:0}
  .mh-tog{padding:7px 11px}
  .mh-body{padding:2px 10px 12px}
  .mh-row1 .mh-sum-x{flex-basis:calc(100% - 40px)}
  .mh-row1 .mh-more{margin-left:40px}
  .lib-cards{grid-template-columns:minmax(0,1fr)}
  .mh-set-grid{grid-template-columns:minmax(0,1fr)}
}

/* /join/ plans table (owner 2026-09-27): the two research plans side by side, a PayPal button under each. */
.mp-plans{max-width:640px;margin:0 auto}
.mp-ptable{width:100%;border-collapse:collapse;font-size:16.5px;table-layout:fixed}
.mp-ptable th,.mp-ptable td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.mp-ptable thead th{font:800 20px/1.2 var(--display);color:var(--ink)}
.mp-ptable thead th.mp-ptop{color:var(--lead-ink)}
.mp-ptable tbody th{text-align:left;font:600 15px/1.3 var(--display);color:var(--muted)}
.mp-ptable tbody td{font:700 17px/1.3 var(--display)}
.mp-ptable tfoot td{border-bottom:0;padding-top:16px;vertical-align:top}
.mp-ptable .mp-pay button{width:100%;height:auto;min-height:48px;padding:8px 10px;font-size:15px}
.mp-ptable-free{margin:12px 0 0;text-align:center;font:600 15px/1.4 var(--display);color:var(--muted)}
@media (max-width:560px){.mp-ptable{font-size:15px}.mp-ptable th,.mp-ptable td{padding:9px 5px}.mp-ptable thead th{font-size:17px}.mp-ptable tbody th{font-size:13.5px}}

/* /how/ (src/newspaper/howitworks.mjs) */
.hw{max-width:720px;margin:0 auto}
.hw-sec{padding:22px 0;border-bottom:1px solid var(--rule)}
.hw-sec:last-child{border-bottom:0}
.hw-sec h2{font-size:24px;margin:0 0 10px}
.hw-sec p{margin:0 0 10px;font-size:17px;line-height:1.6}
.hw-plans{margin:0 0 12px;padding-left:20px;font-size:17px;line-height:1.55}
.hw-plans li{margin:0 0 6px}
.hw-src{margin:0;display:grid;gap:10px}
.hw-src div{display:grid;grid-template-columns:190px 1fr;gap:4px 16px;padding:8px 0;border-bottom:1px solid var(--line)}
.hw-src dt{font:700 15.5px/1.4 var(--display)}
.hw-src dd{margin:0;font-size:16px;line-height:1.5}
@media (max-width:560px){.hw-src div{grid-template-columns:1fr}}

/* The Creator money report (src/newspaper/money.mjs): /money/, issues/<date>/money/, and the printable
   issues/<date>/money.html. The page frame is Tangent News's (news.css: .tn-plate, .tn-bar, .tn-side, .tn-sec). */
.mn-top{padding-top:24px}
.mn-toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.mn-toprow .eyebrow{margin:0}
.mn-hl{font:800 clamp(30px,3.6vw,44px)/1.05 var(--display);letter-spacing:-.03em;margin:6px 0 14px;max-width:24ch}
.mn-lede{font-size:20px;line-height:1.5;margin:0 0 26px;max-width:62ch}
.mn-sub{font:800 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0 0 10px;padding-top:10px;border-top:3px solid var(--rule,var(--ink))}
.mn-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 6px}
.mn-t{width:100%;border-collapse:collapse;font:500 15px/1.3 var(--display);font-variant-numeric:tabular-nums}
.mn-cap{caption-side:bottom;text-align:left;font:400 12.5px/1.4 var(--display);color:var(--muted);padding-top:8px}
.mn-t thead th{font:600 11.5px/1.2 var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 10px 8px;border-bottom:2px solid var(--ink);white-space:nowrap}
.mn-t tbody th,.mn-t td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.mn-t tbody th{text-align:left;font-weight:500;min-width:9.5em}
.mn-t tbody th b{font-weight:800;display:block}
.mn-t tbody th small{font:600 11px/1 var(--display);letter-spacing:.06em;color:var(--muted)}
.mn-rng{display:block;font:400 11.5px/1.3 var(--display);color:var(--muted);margin-top:2px}
.mn-t th:first-child,.mn-t td:first-child{padding-left:0}
.mn-num{text-align:right !important;white-space:nowrap}
.mn-close{font-weight:700}
.mn-mv.up{color:var(--up)}.mn-mv.down{color:var(--down)}
.mn-na{color:var(--faint)}
.mn-note{font:600 14px/1.3 var(--display);color:var(--ink)}
.mn-sp{width:104px;padding-right:0 !important}
.mn-sp svg{display:block;width:96px;height:28px}
.mn-asof{font:600 12.5px/1.3 var(--display);letter-spacing:.04em;color:var(--muted);margin:4px 0 0}
.mn-join{margin-top:22px}
.mn-paras{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.mn-p{padding:16px 0;border-top:1px solid var(--line);min-width:0}
.mn-p h4{font:800 18px/1.15 var(--display);margin:0 0 6px}
.mn-p p{margin:0 0 8px;font-size:16.5px}
.mn-src{font:400 13.5px/1.4 var(--display);color:var(--muted)}
.mn-src a{color:var(--lead-ink)}
.mn-src .src{margin-left:4px}
.mn-copy{margin-top:18px;max-width:68ch}
.mn-copy p{font-size:17px}
.mn-watch{list-style:none;margin:0;padding:0}
.mn-watch li{padding:12px 0 12px 22px;border-top:1px solid var(--line);position:relative;font-size:17px}
.mn-watch li:first-child{border-top:0}
.mn-watch li::before{content:"";position:absolute;left:2px;top:22px;width:9px;height:9px;border-radius:50%;background:var(--lead)}
.mn-todo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mn-todo li{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:18px}
.mn-n{display:block;font:800 30px/1 var(--display);color:var(--lead);margin-bottom:8px}
.mn-todo p{margin:0;font-size:16.5px}
.mn-foot{font:400 13.5px/1.45 var(--display);color:var(--muted);margin:24px 0 0;padding-top:12px;border-top:1px solid var(--line)}
@media (max-width:760px){
  .mn-hl{font-size:30px}
  .mn-lede{font-size:18px}
  .mn-paras{grid-template-columns:minmax(0,1fr)}
  .mn-todo{grid-template-columns:minmax(0,1fr)}
  .mn-t{font-size:14px}
  .mn-t thead th,.mn-t tbody th,.mn-t td{padding-left:6px;padding-right:6px}
  .mn-t tbody th{min-width:7.5em}
  .mn-rng{display:none}
}

/* The printable version */
.mn-print-page{--lead:#B5533A;--lead-ink:#94442F;--rule:#2F2620;background:var(--paper-deep)}
.mn-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:16px}
.mn-sheet{max-width:8.5in;margin:0 auto 32px;background:var(--paper);padding:.6in .7in;box-shadow:var(--shadow-lg)}
.mn-mast{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:3px double var(--rule);margin-bottom:8px}
.mn-mast .logo{display:inline-flex;align-items:flex-end;gap:6px;text-decoration:none;line-height:1}
.mn-mast .logo img{height:20px;width:auto}
.mn-mast .logo span{font:800 25px/.8 var(--display);color:#E8584A;letter-spacing:-.03em}
.mn-when{font:600 12px/1.35 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right;margin:0}
.mn-when b{color:var(--ink)}
.mn-sheet .tn-sec{padding:18px 0 22px;border-bottom:1px solid var(--line)}
.mn-sheet .tn-h{font:800 22px/1.1 var(--display);border-top:3px solid var(--rule);padding-top:8px;margin:0 0 14px}
.mn-sheet .mn-paras{grid-template-columns:minmax(0,1fr)}
.mn-sheet .mn-todo{grid-template-columns:minmax(0,1fr);gap:10px}
@media (max-width:760px){.mn-sheet{padding:24px 16px;margin:0 0 24px}}
@media print{
  @page{size:8.5in 11in;margin:.5in}
  body,.mn-print-page{background:#fff}
  .mn-bar,.mn-print,.mn-join,.mn-page .b-strip,.mn-page .tn-bar,.mn-page .tn-side,.mn-page .b-promo,.mn-page .foot,.mn-page .b-ear{display:none !important}
  .mn-page .tn-layout{display:block}
  .mn-sheet{box-shadow:none;margin:0;padding:0;max-width:none}
  .mn-t{font-size:11.5px}.mn-sp svg{width:72px;height:22px}.mn-sp{width:76px}
  .mn-sec,.mn-p,.mn-todo li,.mn-t tr{break-inside:avoid}
  .mn-page,.mn-print-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* The Markets card's link to the report on the issue page (components.mjs markets) */
.mk-more{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.mk-more a{font:700 15px/1.3 var(--display);color:var(--lead-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.mk-more a::after{content:" \2192"}

/* Niche hunt (src/newspaper/nichehunt.mjs): the word cloud on the left, title, swatches and fonts on the right;
   one column on phones. The cloud keeps its own panel color, so page themes never wash it out. */
.nh{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px;align-items:center}
.nh-fig{margin:0;min-width:0}
.nh-svg{display:block;width:100%;height:auto;max-height:78vh}
.nh-side{min-width:0}
.nh-title{margin:0 0 8px;font-size:var(--h2)}
.nh-tag{font:italic 400 17px/1.5 var(--body);color:var(--muted);margin:0 0 20px}
.nh-sw{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.nh-chip{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;padding:6px 8px 6px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}
.nh-chip:hover{border-color:var(--faint)}
.nh-chip:focus-visible{outline:2px solid var(--lead);outline-offset:2px}
.nh-chip i{grid-row:1/3;width:34px;height:34px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.nh-chip b{font:700 14px/1.2 var(--display);color:var(--ink);overflow-wrap:anywhere}
.nh-chip span{font:600 12px/1.2 var(--display);letter-spacing:.04em;color:var(--muted)}
.nh-fonts{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 18px;font-size:19px;color:var(--ink)}
.nh-fonts small{font:600 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nh-dl{display:inline-flex;align-items:center;gap:8px;font:700 14px/1 var(--display);color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:var(--pill);padding:10px 16px;background:var(--card)}
.nh-dl:hover{border-color:var(--faint)}
@media (max-width:900px){
  .nh{grid-template-columns:minmax(0,1fr);gap:20px}
  .nh-svg{max-height:none}
}
@media print{
  .nh{grid-template-columns:minmax(0,1fr)}
  .nh-dl{display:none}
}

/* The keyword list page (/keywords/, src/newspaper/kwpage.mjs). */
.kw-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.kw-t{width:100%;border-collapse:collapse;font:500 15px/1.35 var(--display);min-width:560px}
.kw-t th,.kw-t td{text-align:left;padding:9px 10px;border-top:1px solid var(--line);vertical-align:middle}
.kw-t thead th{font:700 11px/1.2 var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border-top:0}
.kw-t tbody th{font-weight:700;color:var(--ink)}
.kw-t .kw-n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kw-t .kw-sp{width:110px}
.kw-t .kw-c{color:var(--muted)}
.kw-more{margin:10px 0 0;font:700 14px/1.3 var(--display)}
.kw-more a{color:var(--lead-ink)}
@media (max-width:760px){.kw-t{font-size:14px}.kw-t th,.kw-t td{padding:8px 6px}}
/* One table, busiest first (owner 2026-09-26). The keyword opens a Dig in brief. */
.kw-one{min-width:0}
.kw-one .kw-k{color:var(--ink);text-decoration:none;border-bottom:1px dotted var(--lead)}
.kw-one .kw-k:hover{color:var(--lead-ink);border-bottom-style:solid}
.kw-one .kw-note{color:var(--muted);font-size:14px}
.kw-page .tn-layout{grid-template-columns:1fr}
@media (max-width:760px){.kw-one .kw-note{font-size:13px}}
/* The Daily Keyword Report (owner 2026-09-27): headline numbers, the tools row, and the report table
   (assets/keywords.js sorts, searches, filters, and writes the CSV). The table scrolls sideways on phones. */
.kw-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin:0 0 18px}
.kw-s{background:var(--card);padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.kw-s.kw-wide{grid-column:span 2}
.kw-sk{font:600 11px/1.2 var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.kw-sv{font:800 26px/1.05 var(--display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.kw-big .kw-sv{color:var(--lead-ink);font-size:34px}
.kw-sl{display:flex;flex-wrap:wrap;gap:6px;font:600 13px/1.2 var(--display);letter-spacing:0}
.kw-sl span{background:var(--tint);color:var(--ink);border-radius:999px;padding:5px 10px;white-space:nowrap}
.kw-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.kw-q,.kw-f{height:38px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:600 14px/1 var(--display);padding:0 14px}
.kw-q{flex:1 1 220px;min-width:0}
.kw-f{flex:0 1 auto;max-width:220px;padding-right:8px}
.kw-q:focus,.kw-f:focus{outline:none;border-color:var(--lead);box-shadow:0 0 0 3px color-mix(in srgb,var(--lead) 18%,transparent)}
.kw-csv{height:38px;border:0;border-radius:999px;background:var(--lead);color:#fff;font:600 14px/1 var(--display);padding:0 16px;cursor:pointer}
.kw-csv:hover{background:var(--lead-ink)}
.kw-page .tn-layout > *{min-width:0}
.kw-rep{min-width:1200px;font-size:14px}
.kw-rep thead th{white-space:nowrap}
.kw-rep thead button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.kw-rep thead button::after{content:"";width:0;height:0;border:4px solid transparent;opacity:.35;border-top-color:currentColor;margin-top:4px}
.kw-rep thead th[aria-sort="ascending"] button::after{border-top-color:transparent;border-bottom-color:currentColor;margin:0 0 4px;opacity:1}
.kw-rep thead th[aria-sort="descending"] button::after{opacity:1}
.kw-rep thead th[aria-sort="ascending"],.kw-rep thead th[aria-sort="descending"]{color:var(--ink)}
.kw-rep thead button:focus-visible{outline:2px solid var(--lead);outline-offset:2px;border-radius:3px}
.kw-rep .kw-kc{font-weight:700;color:var(--ink);min-width:200px}
.kw-rep td{color:var(--muted)}
.kw-rep td.kw-n{color:var(--ink);font-weight:700}
.kw-rep .kw-n .dig{margin-left:0}
.kw-rep .kw-on abbr{text-decoration:none;display:inline-block;min-width:15px;margin-right:2px;font:700 10.5px/15px var(--display);text-align:center;border:1px solid var(--line);border-radius:4px;color:var(--ink)}
.kw-rep .kw-dig{text-align:right}
.kw-rep tr[hidden]{display:none}
.kw-none{margin:12px 0 0;font:600 14px/1.3 var(--display);color:var(--muted)}
@media (max-width:760px){.kw-s.kw-wide{grid-column:auto}.kw-sl span{white-space:normal}.kw-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.kw-rep{font-size:13px}.kw-f{flex:1 1 30%;max-width:none}.kw-csv{flex:1 1 100%}}
/* One section per seed (owner 2026-09-27): the seed's label and kind, its headline numbers, and its top ten.
   Each table scrolls sideways inside its .kw-tw on phones. Then "The full 500" with the tools. */
.kw-sec{margin:0 0 26px}
.kw-h{font:800 22px/1.15 var(--display);letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.kw-kind{font:700 11px/1.2 var(--display);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);vertical-align:3px;margin-left:6px;white-space:nowrap}
.kw-hn{margin:0 0 10px}
.kw-hn b{color:var(--lead-ink)}
.kw-seedt{min-width:760px}
.kw-sec-full .kw-h{margin-bottom:12px}
@media (max-width:760px){.kw-h{font-size:19px}.kw-kind{display:block;margin:4px 0 0}}
/* Movement (owner 2026-09-27): a type tag, then the label. */
.kw-rep td.kw-mv{min-width:170px;color:var(--ink)}
.kw-mvt{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;font:700 10.5px/15px var(--display);letter-spacing:.04em;text-transform:uppercase;background:var(--tint);color:var(--muted);vertical-align:1px}
.kw-mv-evergreen{color:var(--ink)}
.kw-mv-seasonal,.kw-mv-spike{color:var(--lead-ink)}
.kw-mv-spike{background:color-mix(in srgb,var(--lead) 16%,transparent)}

/* The journal pick card (src/newspaper/journal.mjs). */
.jp{max-width:860px}
.jp-arg{margin:0 0 6px;font:600 14px/1.4 var(--display);color:var(--muted)}
.jp-arg a{color:var(--ink);text-decoration-color:var(--lead);text-underline-offset:3px}
.jp-t{font-size:clamp(26px,4vw,38px);margin:0 0 10px}
.jp-f{display:inline-block;vertical-align:middle;font:700 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink);border:1px solid var(--line);border-radius:var(--pill);padding:5px 9px;background:var(--paper-deep)}
.jp-pitch{font-size:18px;line-height:1.5;margin:0 0 14px}
.jp-pages{margin:0 0 14px;padding-left:1.4em;display:grid;gap:6px}
.jp-pages li{line-height:1.45}
.jp-pages b{font-family:var(--display)}
.jp-more{margin:0;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.jp-more div{display:grid;grid-template-columns:90px 1fr;gap:10px}
.jp-more dt{font:700 11px/1.6 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.jp-more dd{margin:0}
.jp-s{display:flex;flex-wrap:wrap;gap:6px}
.jp-s span{font:600 13px/1 var(--display);border:1px solid var(--line);border-radius:var(--pill);padding:6px 10px;background:var(--paper-deep)}
@media (max-width:600px){.jp-more div{grid-template-columns:1fr;gap:2px}}
/* Read more (owner 2026-09-26): the pages and the rest open in place. */
.jp-pitch{margin-bottom:12px}
.jp-rm > summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:600 14px/1 var(--display);color:var(--lead-ink);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--pill);padding:10px 16px}
.jp-rm > summary::-webkit-details-marker{display:none}
.jp-rm > summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.jp-rm > summary:hover{background:var(--tint)}
.jp-rm > summary:focus-visible{outline:3px solid var(--lead);outline-offset:2px}
.jp-rm[open] > summary{margin-bottom:14px}
.jp-rm[open] > summary::after{transform:rotate(-135deg) translateY(-2px)}
.jp-rm-less,.jp-rm[open] .jp-rm-more{display:none}
.jp-rm[open] .jp-rm-less{display:inline}
.jp-sub{margin:-4px 0 12px;font:600 17px/1.35 var(--display);color:var(--muted)}

/* Rounded panel (owner 2026-09-26: "a pretty rounded panel to mix it up"). */
.jp.jp-panel{max-width:none;background:color-mix(in srgb,var(--lead) 7%,var(--card));border:1px solid color-mix(in srgb,var(--lead) 18%,var(--line));border-radius:24px;padding:28px 32px}
.jp-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:36px;align-items:start}
.jp-book{padding-top:6px}
.jp-book-h{margin:0 0 12px;font:800 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead-ink)}
.jp-stack{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jp-stack li{display:flex;align-items:center;gap:10px;background:#fffdf9;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:700 14.5px/1.25 var(--display);color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.03),0 6px 14px -12px rgba(47,38,32,.35);transform:rotate(calc((var(--i) - 2) * .45deg))}
.jp-stack li span{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--lead) 16%,transparent);color:var(--lead-ink);font:800 11px/1 var(--display)}
@media (max-width:900px){.jp.jp-panel{padding:22px 18px;border-radius:18px}.jp-grid{grid-template-columns:1fr;gap:18px}.jp-stack li{transform:none}}
/* Numbers, the buyer line, and the Dig in on the idea (owner 2026-09-27). */
.jp-nums{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.jp-buyer{font-size:15.5px;line-height:1.45}
.jp-dig{margin:14px 0 0}
.jp-dig .dig{margin-left:0}
/* The band inside The Daily Bicker panel (owner 2026-09-28): a divider under the three argument cards, then the idea on
   the left and a compact "Inside the book" list with the searches on the right. */
.bk-tz>.jp-band{grid-column:1/-1}
.jp.jp-band{max-width:none;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:4px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--second,#E0A33A) 34%,var(--line))}
.jp-band .jp-t{font-size:clamp(22px,2.6vw,28px);margin:0 0 6px}
.jp-band .jp-sub{margin:0 0 8px;font-size:15.5px}
.jp-band .jp-pitch{font-size:16px;margin:0 0 12px}
.jp-bact{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 16px}
.jp-bact .jp-rm{flex:1 1 100%}
.jp-bact .jp-rm:not([open]){flex:0 0 auto}
.jp-bact .jp-dig{margin:4px 0 0}
.jp-bside .jp-book-h{margin:0 0 8px}
.jp-bside .jp-book-h+ul,.jp-bside .jp-book-h+p{margin-bottom:0}
.jp-blist{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:4px}
.jp-blist li{display:flex;align-items:center;gap:8px;font:600 14px/1.3 var(--display);color:var(--ink);min-width:0}
.jp-blist li span{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--lead) 16%,transparent);color:var(--lead-ink);font:800 10px/1 var(--display)}
.jp-band .jp-nums{font-size:14px}
@media (max-width:900px){.jp.jp-band{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:18px}}

/* "Get 5 prompts" under the art style of the day (src/newspaper/components.mjs stylePrompts). */
.sp{margin:14px 0 0}
.sp-go{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font:700 14px/1 var(--display);color:var(--paper);background:var(--lead-ink);border-radius:var(--pill);padding:11px 16px}
.sp-go::-webkit-details-marker{display:none}
.sp[open] .sp-go{background:var(--ink)}
.sp-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px}
.sp-i{border-top:1px solid var(--line);padding-top:12px}
.sp-h{margin:0 0 8px;font:600 15px/1.3 var(--display)}
.sp-h b{font:700 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--lead-ink);margin-right:6px}
.sp-v{display:grid;grid-template-columns:86px 1fr auto;gap:10px;align-items:start;margin:0 0 8px}
.sp-l{margin:2px 0 0;font:700 11px/1.4 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sp-t{margin:0;font-size:14.5px;line-height:1.5}
.sp-cp{display:inline-flex;align-items:center;gap:5px;font:700 12px/1 var(--display);color:var(--ink);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--pill);padding:7px 10px;cursor:pointer}
.sp-cp:hover{border-color:var(--lead)}
@media (max-width:600px){.sp-v{grid-template-columns:1fr auto}.sp-l{grid-column:1/-1}}

/* The pull-out section menu (src/newspaper/sidemenu.mjs), an experiment switched by SIDE_MENU in layout.mjs. */
.sm-handle{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:70;border:1px solid var(--line);border-left:0;border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--card);color:var(--lead-ink);box-shadow:var(--shadow);padding:16px 8px;cursor:pointer;font:600 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;transition:padding .15s,background .15s}
.sm-handle span{writing-mode:vertical-rl;transform:rotate(180deg);display:block}
.sm-handle:hover{padding-left:12px;background:var(--paper-deep)}
.sm-open{display:none}
.sm-handle:focus-visible,.sm-open:focus-visible,.sm-x:focus-visible,.sm a:focus-visible{outline:3px solid var(--lead);outline-offset:2px}
.sm{position:fixed;left:0;top:0;bottom:0;z-index:80;width:272px;max-width:86vw;overflow-y:auto;overscroll-behavior:contain;background:var(--card);border-right:1px solid var(--line);box-shadow:var(--shadow-lg);padding:18px 16px 28px;transform:translateX(-102%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}
.sm-on .sm{transform:none;visibility:visible;transition:transform .22s ease}
.sm-scrim{position:fixed;inset:0;z-index:75;background:rgba(47,38,32,.28)}
.sm-scrim[hidden]{display:none}
.sm-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 6px}
.sm-h{font:600 12px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--lead-ink);margin:0}
.sm-h2{margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--line)}
.sm-x{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--pill);background:var(--paper);color:var(--ink);cursor:pointer}
.sm-x:hover{background:var(--paper-deep)}
.sm-list{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.sm-list a{display:block;padding:7px 12px;border-radius:var(--r-sm);font:600 16px/1.25 var(--display);color:var(--ink);text-decoration:none;border-left:3px solid transparent}
.sm-list a:hover{background:var(--paper)}
.sm-list a[aria-current]{background:var(--accent-fill);border-left-color:var(--lead);color:var(--lead-ink)}
.sm-pages a{font-size:15px;color:var(--muted)}
.sm-pages a:hover{color:var(--ink)}
@media (max-width:700px){
  .sm-handle{display:none}
  .sm-open{display:inline-flex;align-items:center;gap:6px;position:fixed;left:16px;bottom:16px;z-index:70;height:44px;padding:0 16px 0 13px;border:1px solid var(--line);border-radius:var(--pill);background:var(--card);color:var(--ink);box-shadow:var(--shadow-lg);font:600 15px/1 var(--display);cursor:pointer}
  .sm-on .sm-open{visibility:hidden}
}
@media (prefers-reduced-motion:reduce){.sm,.sm-on .sm{transition:none}}
@media print{.sm,.sm-handle,.sm-open,.sm-scrim{display:none !important}}
/* Group dividers (owner 2026-09-27): Make, Listen, Play in small caps over a rule. */
.sm-g{margin:14px 0 4px;padding:10px 12px 0;border-top:1px solid var(--line);font:700 14px/1 var(--display);font-variant-caps:all-small-caps;letter-spacing:.1em;color:var(--muted)}
.sm-top + .sm-g{margin-top:6px;border-top:0;padding-top:4px}
.sm-g-more{padding-top:0;margin-bottom:6px}
