/*! PlayNestX Editorial theme v1.0.0 | fonts: Newsreader & Inter (SIL OFL 1.1, see ../fonts) */

/* ── Fonts (self-hosted, Latin subset, variable weight) ─────────────────── */
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";src:url(../fonts/newsreader-latin-wght-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(../fonts/inter-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Metric-matched fallbacks reduce layout shift while the web fonts load. */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Helvetica");size-adjust:107%;ascent-override:90%;descent-override:22.4%;line-gap-override:0%}
@font-face{font-family:"Newsreader Fallback";src:local("Georgia"),local("Times New Roman");size-adjust:93%;ascent-override:96%;descent-override:26%;line-gap-override:0%}

/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root{
  color-scheme:light;
  --ink:#0B0D12;--ink-2:#2B303B;--muted:#5B6170;--paper:#FFFFFF;--surface:#F6F5F2;
  --rule:#E4E2DD;--rule-2:#CFCCC4;--input:#8A8F9C;
  --accent:var(--brand,#3730E8);--accent-2:var(--brand-2,#C2410C);--on-accent:#fff;--on-accent-2:#fff;
  --accent-soft:color-mix(in srgb,var(--accent) 7%,var(--paper));
  --tip:#047857;--warn:#B45309;--danger:#B42318;
  --code-bg:#11131A;--code-ink:#E7E9EE;
  --scrim:rgb(11 13 18 / .55);
  --font-display:"Newsreader","Newsreader Fallback",Georgia,"Times New Roman",serif;
  --font-ui:"Inter","Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --r1:4px;--r2:8px;--r3:12px;
  --sh1:0 1px 2px rgb(11 13 18 / .06),0 1px 1px rgb(11 13 18 / .04);
  --sh2:0 18px 40px -18px rgb(11 13 18 / .28),0 2px 6px rgb(11 13 18 / .06);
  --gutter:16px;--header-h:56px;--measure:68ch;
  --dur-1:150ms;--dur-2:250ms;--ease:cubic-bezier(.2,.7,.2,1);--ease-in:cubic-bezier(.4,0,1,1);
}
@media (min-width:480px){:root{--gutter:24px}}
@media (min-width:768px){:root{--gutter:32px}}
@media (min-width:1024px){:root{--header-h:68px}}

/* Dark: intentional token set, used for an explicit choice or the OS setting (unless light was chosen). */
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#E7E9EE;--ink-2:#C9CDD6;--muted:#9AA0AD;--paper:#0E1015;--surface:#161921;
  --rule:#262A35;--rule-2:#353A47;--input:#646A78;
  --accent:var(--brand-dark,#8B8FFF);--accent-2:var(--brand-2-dark,#FB923C);--on-accent:#0E1015;--on-accent-2:#0E1015;
  --tip:#34D399;--warn:#FBBF24;--danger:#F97066;
  --code-bg:#161921;--code-ink:#E7E9EE;--scrim:rgb(0 0 0 / .65);
  --sh2:0 18px 40px -18px rgb(0 0 0 / .7),0 2px 6px rgb(0 0 0 / .3);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ink:#E7E9EE;--ink-2:#C9CDD6;--muted:#9AA0AD;--paper:#0E1015;--surface:#161921;
    --rule:#262A35;--rule-2:#353A47;--input:#646A78;
    --accent:var(--brand-dark,#8B8FFF);--accent-2:var(--brand-2-dark,#FB923C);--on-accent:#0E1015;--on-accent-2:#0E1015;
    --tip:#34D399;--warn:#FBBF24;--danger:#F97066;
    --code-bg:#161921;--code-ink:#E7E9EE;--scrim:rgb(0 0 0 / .65);
    --sh2:0 18px 40px -18px rgb(0 0 0 / .7),0 2px 6px rgb(0 0 0 / .3);
  }
}

/* ── Base ───────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.site-main{flex:1 0 auto}
html.is-locked,html.is-locked body{overflow:hidden}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
img,picture,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;touch-action:manipulation}
[hidden]{display:none!important}
::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.site-main:focus{outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.icon--xs{width:14px;height:14px}
.icon--up{transform:rotate(-90deg)}

.container{width:100%;max-width:calc(1280px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}

.skip-link{position:absolute;left:var(--s2);top:-200px;z-index:300;padding:12px 16px;background:var(--ink);color:var(--paper);font-weight:600;text-decoration:none}
.skip-link:focus{top:var(--s2)}

/* ── Shared atoms ───────────────────────────────────────────────────────── */
.kicker{position:relative;z-index:1;display:inline-block;padding-block:2px;font:650 .75rem/1.3 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--accent);text-decoration:none}
a.kicker:hover{text-decoration:underline}
.kicker--muted{color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font:400 .8125rem/1.45 var(--font-ui);color:var(--muted);font-variant-numeric:tabular-nums}
.meta__sep{color:var(--rule-2)}
.meta__item{display:inline-flex;align-items:center;gap:6px}
.meta__item .icon{width:15px;height:15px}
.meta__author{color:var(--ink-2);font-weight:550}
.avatar{border-radius:50%;object-fit:cover;background:var(--surface)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--r1);font:600 .9375rem/1 var(--font-ui);text-decoration:none;white-space:nowrap;transition:background-color var(--dur-1),color var(--dur-1),border-color var(--dur-1)}
.btn .icon{width:18px;height:18px}
.btn--primary{background:var(--ink);color:var(--paper)}
.btn--primary:hover{background:var(--accent);color:var(--on-accent)}
.btn--line{border-color:var(--rule-2);background:var(--paper);color:var(--ink)}
.btn--line:hover{border-color:var(--ink)}
.btn--lg{min-height:52px;padding:0 24px;font-size:1rem}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--r1);background:none;color:var(--ink);text-decoration:none;transition:background-color var(--dur-1),border-color var(--dur-1),color var(--dur-1)}
.icon-btn:hover{background:var(--surface)}
.icon-btn--line{border:1px solid var(--rule-2)}
.icon-btn--line:hover{border-color:var(--ink);background:var(--paper)}
.icon-btn--ghost{color:var(--ink-2)}
.icon-btn .when-open,.icon-btn[aria-expanded="true"] .when-closed{display:none}
.icon-btn[aria-expanded="true"] .when-open{display:block}

.link-arrow{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:600 .875rem/1.2 var(--font-ui);color:var(--ink);text-decoration:none}
.link-arrow .icon{width:16px;height:16px;transition:transform var(--dur-2) var(--ease)}
.link-arrow:hover{color:var(--accent)}
.link-arrow:hover .icon{transform:translateX(3px)}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips--center{justify-content:center}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--rule-2);border-radius:var(--r1);background:var(--paper);font:500 .875rem/1.2 var(--font-ui);color:var(--ink);text-decoration:none;transition:border-color var(--dur-1),color var(--dur-1)}
.chip:hover{border-color:var(--ink)}
.chip__count{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}

/* ── Header ─────────────────────────────────────────────────────────────── */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.site-header__bar{display:flex;align-items:center;gap:4px;height:var(--header-h)}
.site-header__menu{margin-left:-10px}
.site-header__tools{display:flex;align-items:center;gap:2px;margin-left:auto;margin-right:-10px}
.brand{display:inline-flex;align-items:center;min-height:44px;min-width:0;color:var(--ink);text-decoration:none}
.brand__name{font:650 1.375rem/1 var(--font-display);letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand__dot{color:var(--accent)}
.brand__logo{height:30px;width:auto;max-width:200px;object-fit:contain}
.brand__logo--dark{display:none}
:root[data-theme="dark"] .brand__logo--light{display:none}
:root[data-theme="dark"] .brand__logo--dark{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .brand__logo--light{display:none}
  :root:not([data-theme="light"]) .brand__logo--dark{display:block}
}
.theme-icon--sun{display:none}
:root[data-theme="dark"] .theme-icon--sun{display:block}
:root[data-theme="dark"] .theme-icon--moon{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme-icon--sun{display:block}
  :root:not([data-theme="light"]) .theme-icon--moon{display:none}
}

.primary-nav{display:none}
@media (min-width:1024px){
  .site-header__menu{display:none}
  .brand__name{font-size:1.625rem}
  .brand__logo{height:34px}
  .primary-nav{display:block;margin-left:var(--s6);min-width:0}
  .nav{display:flex;align-items:center;gap:2px}
  .nav__item{position:relative}
  .nav__link{position:relative;display:flex;align-items:center;gap:4px;min-height:44px;padding:0 10px;font:500 .9375rem/1 var(--font-ui);color:var(--ink-2);text-decoration:none;white-space:nowrap}
  .nav__link::after{content:"";position:absolute;left:10px;right:10px;bottom:calc((44px - var(--header-h)) / 2);height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-2) var(--ease)}
  .nav__link:hover{color:var(--ink)}
  .nav__link:hover::after{transform:scaleX(1)}
  .nav__link[aria-current="page"],.nav__item.is-active>.nav__link{color:var(--ink);font-weight:650}
  .nav__link[aria-current="page"]::after,.nav__item.is-active>.nav__link::after{transform:scaleX(1);background:var(--accent)}
  .nav--sub{display:block;position:absolute;top:calc(100% + (var(--header-h) - 44px) / 2);left:0;z-index:60;min-width:220px;padding:var(--s2);background:var(--paper);border:1px solid var(--rule);box-shadow:var(--sh2);visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity var(--dur-1),transform var(--dur-1),visibility 0s linear var(--dur-1)}
  .nav__item:hover>.nav--sub,.nav__item:focus-within>.nav--sub{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  .nav--sub .nav__link{padding:0 12px;font-weight:500}
  .nav--sub .nav__link::after{display:none}
  .nav--sub .nav__link[aria-current="page"]{color:var(--accent)}
  .nav--sub .nav__link:hover{background:var(--surface)}
}

.search-panel{position:absolute;inset-inline:0;top:100%;padding-block:var(--s4) var(--s5);background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:var(--sh2)}
.search-form__row{position:relative;display:flex;gap:var(--s2)}
.search-form__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search-form__input{flex:1;min-width:0;min-height:48px;padding:0 14px 0 44px;border:1px solid var(--input);border-radius:var(--r1);background:var(--paper);font-size:1rem;-webkit-appearance:none;appearance:none}
.search-form__input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}
.search-form__input::placeholder{color:var(--muted);opacity:1}
.search-form__input::-webkit-search-cancel-button{-webkit-appearance:none}
.search-form__submit{min-height:48px}
.search-form--panel .search-form__input{font-size:1.0625rem}
.search-form__label{display:block;margin-bottom:var(--s2);font:600 .875rem/1.3 var(--font-ui)}
@media (max-width:479.98px){
  .search-form--panel .search-form__submit,.search-form--drawer .search-form__submit,.search-form--inline .search-form__submit{padding:0 14px}
}

/* ── Drawer (mobile navigation) ─────────────────────────────────────────── */
.drawer{position:fixed;inset:0;z-index:100}
.drawer__scrim{position:absolute;inset:0;background:var(--scrim);opacity:0;transition:opacity var(--dur-2) var(--ease)}
.drawer__panel{position:absolute;inset-block:0;left:0;display:flex;flex-direction:column;width:min(380px,88vw);background:var(--paper);box-shadow:var(--sh2);transform:translateX(-100%);transition:transform var(--dur-2) var(--ease)}
.drawer__panel:focus{outline:none}
.drawer.is-open .drawer__scrim{opacity:1}
.drawer.is-open .drawer__panel{transform:none}
.drawer.is-closing .drawer__panel{transition-duration:180ms;transition-timing-function:var(--ease-in)}
.drawer__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:var(--header-h);padding:0 6px 0 var(--gutter);border-bottom:1px solid var(--rule)}
.drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--s4) var(--gutter) var(--s7)}
.drawer__body nav{margin-top:var(--s4)}
.dnav__link{display:flex;align-items:center;min-height:52px;padding-block:6px;border-bottom:1px solid var(--rule);font:550 1.375rem/1.2 var(--font-display);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.dnav__link[aria-current="page"]{color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);padding-left:12px}
.dnav--sub{padding-left:var(--s4)}
.dnav--sub .dnav__link{min-height:44px;font:500 1rem/1.3 var(--font-ui);color:var(--ink-2)}
.drawer__secondary{padding-top:var(--s2)}
.dnav-sm{display:flex;flex-wrap:wrap;column-gap:var(--s4)}
.dnav-sm__link{display:inline-flex;align-items:center;min-height:44px;font:500 .9375rem/1.2 var(--font-ui);color:var(--muted);text-decoration:none}
.dnav-sm__link:hover,.dnav-sm__link[aria-current="page"]{color:var(--ink)}
.drawer__social{margin-top:var(--s4);margin-left:-10px}
@media (min-width:1024px){.drawer{display:none!important}}

.social{display:flex;flex-wrap:wrap;gap:2px}

/* ── Ads: clearly labelled, reserved height (no CLS), 0 = hidden ───────── */
.ad-slot{--ad-h:var(--ad-h-m,0px);--on:min(var(--ad-h),1px);display:block;margin-block:calc(var(--on) * 32);padding-block:calc(var(--on) * 10) calc(var(--on) * 14);border-block:var(--on) solid var(--rule);text-align:center;clear:both}
.ad-slot__label{display:block;max-height:calc(var(--on) * 100);overflow:hidden;margin-bottom:calc(var(--on) * 8);font:600 .6875rem/1.4 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ad-slot__body{display:flex;align-items:center;justify-content:center;min-height:var(--ad-h);max-height:calc(var(--on) * 100000);overflow:hidden;background:var(--surface)}
.ad-slot__body>*{max-width:100%}
.ad-slot__variant{width:100%}
.ad-slot__variant--desktop{display:none}
@media (min-width:768px){
  .ad-slot{--ad-h:var(--ad-h-d,0px)}
  .ad-slot__variant--desktop{display:block}
  .ad-slot__variant--mobile{display:none}
}
@container style(--ad-h:0px){.ad-slot__label,.ad-slot__body{display:none}}
.ad-wrap{margin-block:var(--s2)}
.ad-wrap--header .ad-slot{margin-block:calc(var(--on) * 16)}

/* ── Cards ──────────────────────────────────────────────────────────────── */
.card{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0}
.card__media{display:block;width:100%;overflow:hidden;aspect-ratio:3/2;background:var(--surface)}
.card__media picture{height:100%}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease)}
.card__media--empty{display:grid;place-items:center;padding:var(--s4);border:1px solid var(--rule);background:var(--surface);font:italic 400 clamp(1.25rem,1rem + 1vw,1.75rem)/1.1 var(--font-display);color:var(--muted);text-align:center;overflow-wrap:anywhere}
.card--lead .card__media--empty{font-size:clamp(2rem,1.5rem + 3vw,4rem)}
.card--row .card__media--empty{display:none}
.card:hover .card__media img{transform:scale(1.025)}
.card__body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.card__title{font:600 1.25rem/1.2 var(--font-display);letter-spacing:-.012em;text-wrap:balance;overflow-wrap:break-word}
.card__title a{color:var(--ink);text-decoration:none}
.card__title a::after{content:"";position:absolute;inset:0;z-index:0}
.card__title a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}
.card__title a:focus-visible{outline:none}
.card__title a:focus-visible::after{outline:2px solid var(--accent);outline-offset:4px}
.card__dek{font-size:.9375rem;line-height:1.55;color:var(--muted)}
.card .meta{margin-top:2px}

.card--lead{gap:18px}
.card--lead .card__media{aspect-ratio:16/10}
.card--lead .card__title{font-size:clamp(1.875rem,1.25rem + 2.4vw,3.125rem);line-height:1.05;letter-spacing:-.024em;font-weight:600}
.card--lead .card__dek{max-width:60ch;font:400 1.125rem/1.5 var(--font-display);color:var(--ink-2)}
.card--lead .card__body{gap:10px}

.card--row{display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:var(--s4);align-items:start}
.card--row .card__media{grid-column:2;grid-row:1;aspect-ratio:1/1}
.card--row .card__body{grid-column:1;grid-row:1}
.card--row.card--noimg{grid-template-columns:minmax(0,1fr)}
.card--row .card__title{font-size:1.125rem;line-height:1.25}
.card--row .card__dek{display:none}

.card--text{gap:0}
.card--text .card__title{font-size:1.1875rem;line-height:1.25}
.card--text .card__dek{display:block;margin-top:2px}
.card--ranked .card__body{display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:var(--s2);row-gap:4px;align-items:start}
.card--ranked .card__body>*{grid-column:2;justify-self:start}
.card--ranked .card__rank{grid-column:1;grid-row:1 / span 3;font:500 2rem/1 var(--font-display);color:var(--accent-2);font-variant-numeric:lining-nums tabular-nums}
.card--ranked .card__title{font-size:1.125rem}

@media (min-width:768px){
  .card--river .card__media--empty,.card--stack-md .card__media--empty{display:grid}
  .card--river{grid-template-columns:240px minmax(0,1fr);column-gap:var(--s5)}
  .card--river .card__media{grid-column:1;aspect-ratio:3/2}
  .card--river .card__body{grid-column:2}
  .card--river.card--noimg{grid-template-columns:240px minmax(0,1fr)}
  .card--river .card__title{font-size:1.375rem;line-height:1.2}
  .card--river .card__dek{display:block}
  .card--stack-md{display:flex;flex-direction:column;gap:14px}
  .card--stack-md .card__media{aspect-ratio:3/2}
  .card--stack-md .card__title{font-size:1.25rem;line-height:1.2}
  .card--stack-md .card__dek{display:block}
}

/* ── Section heads & grids ──────────────────────────────────────────────── */
.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--s4);margin-bottom:var(--s5);padding-top:var(--s3);border-top:2px solid var(--ink)}
.section-head__title{font:600 1.625rem/1.15 var(--font-display);letter-spacing:-.015em;padding-block:6px}
.section-head__link{margin-right:-2px}
.section-head__text{grid-column:1 / -1;max-width:62ch;margin-top:2px;font-size:.9375rem;color:var(--muted)}
@media (min-width:768px){.section-head__title{font-size:1.875rem}}

.grid{display:grid;gap:var(--s5)}
.grid--mixed{gap:var(--s4)}
.grid--mixed>.card--row{padding-top:var(--s4);border-top:1px solid var(--rule)}
.grid--mixed>.card--standard+.card--row{border-top:0;padding-top:var(--s2)}
.grid__full{grid-column:1 / -1}
.grid__full .ad-slot{margin-block:calc(var(--on) * 8)}
@media (min-width:768px){
  .grid--4,.grid--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s7) var(--s5)}
  .grid--mixed>.card--row,.grid--mixed>.card--standard+.card--row{border-top:0;padding-top:0}
}
@media (min-width:1024px){
  .grid--4{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--s6)}
  .grid--3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s6)}
}

/* ── Home ───────────────────────────────────────────────────────────────── */
.front{padding-top:var(--s4)}
.front__grid{display:grid;gap:var(--s6)}
.front__side>.card+.card{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--rule)}
@media (max-width:767.98px){
  .front__lead .card__media{width:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter))}
  .front__side{padding-top:var(--s5);border-top:1px solid var(--rule)}
  .front__side>.card--standard{display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:var(--s4);align-items:start}
  .front__side>.card--standard .card__media{grid-column:2;grid-row:1;aspect-ratio:1/1}
  .front__side>.card--standard .card__body{grid-column:1;grid-row:1}
  .front__side>.card--standard .card__title{font-size:1.1875rem}
  .front__side>.card--standard .card__dek{display:none}
}
@media (min-width:768px){
  .front{padding-top:var(--s6)}
  .front__side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s5);align-content:start}
  .front__side>.card--standard{grid-row:span 2}
  .front__side>.card+.card{margin-top:0;padding-top:0;border-top:0}
  .front__side>.card--text+.card--text{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--rule)}
}
@media (min-width:1024px){
  .front__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s6)}
  .front__lead{grid-column:span 8}
  .front__grid--solo .front__lead{grid-column:span 12}
  .front__side{position:relative;grid-column:span 4;display:block}
  .front__side::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--s6) / -2);border-left:1px solid var(--rule)}
  .front__side>.card+.card,.front__side>.card--text+.card--text{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--rule)}
  .front__side .card--standard .card__title{font-size:1.4375rem}
}

.river-wrap{display:grid;gap:var(--s7);padding-top:var(--s7)}
.river__list>.card{padding-block:var(--s5);border-bottom:1px solid var(--rule)}
.river__list>.card:first-child{padding-top:var(--s2)}
.river__list>.ad-slot{margin-block:var(--s2)}
.popular__inner{padding:var(--s5) var(--s5) var(--s3);background:var(--surface)}
.popular .section-head{border-top-color:var(--accent-2)}
.popular__list>li+li{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--rule-2)}
@media (min-width:1024px){
  .river-wrap{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s6);padding-top:var(--s8)}
  .river{grid-column:span 8}
  .popular{grid-column:span 4}
  .popular__inner{position:sticky;top:calc(var(--header-h) + var(--s5))}
  .river-wrap--solo .river{grid-column:1 / -1}
  .river-wrap--solo .river__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s6)}
  .river-wrap--solo .river__list>.card:nth-child(2){padding-top:var(--s2)}
}

.rail{padding-top:var(--s8)}
@media (min-width:1024px){.rail{padding-top:var(--s9)}}

/* ── Breadcrumbs ────────────────────────────────────────────────────────── */
.crumbs{margin-bottom:var(--s4)}
.crumbs__list{display:flex;flex-wrap:wrap;align-items:center;row-gap:2px;font:500 .8125rem/1.3 var(--font-ui);color:var(--muted)}
.crumbs__item{display:inline-flex;align-items:center;min-width:0}
.crumbs__item a{display:inline-flex;align-items:center;min-height:32px;color:var(--muted);text-decoration:none}
.crumbs__item a:hover{color:var(--ink);text-decoration:underline}
.crumbs__sep{width:14px;height:14px;margin-inline:6px;color:var(--rule-2)}
.crumbs__item--current{max-width:32ch}
.crumbs__item--current span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.is-post .crumbs__item--current{display:none}
.is-post .crumbs__item:nth-last-child(2) .crumbs__sep{display:none}

/* ── Article ────────────────────────────────────────────────────────────── */
.article__header{padding-top:var(--s5)}
.article__header>.kicker{margin-top:var(--s1)}
.article__title{max-width:22ch;margin-top:var(--s2);font:600 clamp(2.125rem,1.45rem + 2.9vw,3.625rem)/1.06 var(--font-display);letter-spacing:-.026em;text-wrap:balance;overflow-wrap:break-word}
.article__dek{max-width:52ch;margin-top:var(--s4);font:400 clamp(1.1875rem,1.08rem + .5vw,1.4375rem)/1.45 var(--font-display);color:var(--ink-2);text-wrap:pretty}
.article__byline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4) var(--s5);margin-top:var(--s5);padding-block:var(--s4);border-top:1px solid var(--rule)}
.byline{display:flex;align-items:center;gap:var(--s3);min-width:0}
.byline__avatar{width:44px;height:44px}
.byline__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.byline__name{font:600 .9375rem/1.35 var(--font-ui)}
.byline__name a{color:var(--ink);text-decoration:none}
.byline__name a:hover{text-decoration:underline}
.byline__role{font-weight:400;color:var(--muted)}
.meta__item--updated{color:var(--ink-2);font-weight:550}
.article__hero{margin-top:var(--s1)}
.article__hero-media{background:var(--surface)}
.article__hero-media img{width:100%;max-height:min(76vh,760px);object-fit:cover}
.article__hero-cap{margin-top:var(--s2);font-size:.8125rem;line-height:1.5;color:var(--muted)}
@media (max-width:767.98px){
  .article__hero{padding-inline:0}
  .article__hero-cap{padding-inline:var(--gutter)}
  .article__byline .share__label{display:none}
}
@media (min-width:768px){.article__header{padding-top:var(--s6)}}

.article__grid{display:grid;gap:var(--s7);margin-top:var(--s6)}
.article__main{min-width:0;max-width:720px}
.article__rail{display:none}
@media (min-width:1200px){
  .article__grid{grid-template-columns:minmax(0,720px) 300px;justify-content:space-between;column-gap:var(--s8);margin-top:var(--s7)}
  .article__grid--norail{grid-template-columns:minmax(0,720px)}
  .article__rail{display:flex;flex-direction:column;gap:var(--s6)}
  .article__rail .ad-slot{margin-block:0}
  .article__rail-sticky-zone{flex:1 1 auto}
  .article__rail-sticky{position:sticky;top:calc(var(--header-h) + var(--s5))}
  .toc--details{display:none}
}
.article__foot{display:flex;flex-direction:column;gap:var(--s5);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--rule)}
.related{padding-top:var(--s8)}

/* Share */
.share{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}
.share__label{font:650 .75rem/1.2 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.share__list{display:flex;flex-wrap:wrap;gap:var(--s2)}
.share__copy .when-done,.share__copy.is-done .when-idle{display:none}
.share__copy.is-done .when-done{display:block;color:var(--tip)}
@media (max-width:359.98px){.share__list{gap:4px}}
@media (max-width:479.98px){
  .share__copy{width:44px;padding:0}
  .share__copy-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
.share__status{flex-basis:100%;min-height:0;font-size:.8125rem;color:var(--tip)}
.share__status:empty{display:none}

/* TOC */
.toc__list{counter-reset:toc}
.toc__link{display:block;padding:7px 0 7px 14px;border-left:2px solid var(--rule);font:450 .875rem/1.4 var(--font-ui);color:var(--muted);text-decoration:none;transition:color var(--dur-1),border-color var(--dur-1)}
.toc__link:hover{color:var(--ink)}
.toc__link.is-active{border-left-color:var(--accent);color:var(--ink);font-weight:600}
.toc__item--l1 .toc__link{padding-left:28px;font-size:.8125rem}
.toc__item--l2 .toc__link{padding-left:40px;font-size:.8125rem}
.toc--rail .toc__title{margin-bottom:var(--s3);font:650 .75rem/1.2 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.toc--rail .toc__list{max-height:calc(100vh - var(--header-h) - 120px);overflow-y:auto;overscroll-behavior:contain}
.toc--details{margin-bottom:var(--s6);border-block:1px solid var(--rule)}
.toc__summary{display:flex;align-items:center;gap:var(--s3);min-height:52px;cursor:pointer;list-style:none;font:600 .9375rem/1.2 var(--font-ui)}
.toc__summary::-webkit-details-marker{display:none}
.toc__count{margin-left:auto;font-weight:400;font-size:.8125rem;color:var(--muted)}
.toc__chev{transition:transform var(--dur-2) var(--ease)}
.toc--details[open] .toc__chev{transform:rotate(180deg)}
.toc--details nav{padding-bottom:var(--s4)}
.toc--details .toc__link{padding-block:9px}

/* Author box */
.author-box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s4);padding:var(--s5);background:var(--surface);border-top:2px solid var(--ink)}
.author-box__avatar img{width:56px;height:56px}
.author-box__name{margin-top:2px;font:600 1.375rem/1.2 var(--font-display);letter-spacing:-.01em}
.author-box__name a{color:var(--ink);text-decoration:none}
.author-box__name a:hover{text-decoration:underline}
.author-box__role{font-size:.875rem;color:var(--muted)}
.author-box__bio{margin-top:var(--s3);font-size:.9375rem;line-height:1.6;color:var(--ink-2)}
.author-box__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2);margin-top:var(--s2)}
@media (min-width:768px){.author-box{gap:var(--s5);padding:var(--s6)}.author-box__avatar img{width:80px;height:80px}}

/* Preview banner */
.preview-banner{background:var(--accent-2);color:var(--on-accent-2);font-size:.875rem}
.preview-banner__inner{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding-block:8px}

/* ── Prose (trusted article HTML) ───────────────────────────────────────── */
.prose{font:400 1.0625rem/1.7 var(--font-ui);color:var(--ink);overflow-wrap:break-word}
@media (min-width:480px){.prose{font-size:1.125rem}}
.prose>*{max-width:var(--measure)}
.prose>*+*{margin-top:1.15em}
.prose>:first-child{margin-top:0}
.prose h2,.prose h3,.prose h4{scroll-margin-top:calc(var(--header-h) + 24px);text-wrap:balance}
.prose h2{margin-top:2.1em;font:600 clamp(1.5rem,1.25rem + 1vw,2rem)/1.18 var(--font-display);letter-spacing:-.018em}
.prose h3{margin-top:1.8em;font:600 1.375rem/1.25 var(--font-display);letter-spacing:-.01em}
.prose h4{margin-top:1.6em;font:650 1.0625rem/1.4 var(--font-ui)}
.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em}
.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.prose a:hover{text-decoration-thickness:2px}
.prose strong{font-weight:650}
.prose ul,.prose ol{padding-left:1.35em}
.prose li+li{margin-top:.45em}
.prose li>ul,.prose li>ol{margin-top:.45em}
.prose li::marker{color:var(--muted)}
.prose ol>li::marker{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.prose blockquote{margin-block:1.8em;padding-left:1.1em;border-left:3px solid var(--accent);font:italic 400 1.3em/1.45 var(--font-display);color:var(--ink)}
.prose blockquote p+p{margin-top:.6em}
.prose blockquote cite,.prose blockquote footer{display:block;margin-top:.6em;font:500 .6em/1.4 var(--font-ui);font-style:normal;color:var(--muted)}
.prose hr{height:0;margin-block:2.6em;border:0;border-top:1px solid var(--rule-2)}
.prose code{padding:.12em .36em;border:1px solid var(--rule);border-radius:var(--r1);background:var(--surface);font:450 .85em/1.4 var(--font-mono)}
.prose pre{max-width:none;overflow-x:auto;padding:1.1em 1.25em;border-radius:var(--r1);background:var(--code-bg);color:var(--code-ink);font:400 .875rem/1.65 var(--font-mono);tab-size:4}
.prose pre code{padding:0;border:0;background:none;font:inherit;color:inherit}
.prose figure{max-width:none;margin-block:2em}
.prose figure img{width:100%}
.prose figcaption{margin-top:.75em;padding-left:.75em;border-left:2px solid var(--rule-2);font-size:.8125rem;line-height:1.5;color:var(--muted)}

.prose .table-scroll{max-width:none;margin-block:2em;overflow-x:auto;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule-2);
  background:linear-gradient(to right,var(--paper) 30%,transparent) left center / 32px 100% no-repeat local,linear-gradient(to left,var(--paper) 30%,transparent) right center / 32px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgb(11 13 18 / .16),transparent) left center / 12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgb(11 13 18 / .16),transparent) right center / 12px 100% no-repeat scroll}
.prose .table-scroll:focus-visible{outline-offset:4px}
.prose table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.5}
.prose table:has(tr>:nth-child(4)){min-width:40rem}
.prose table:has(tr>:nth-child(3)){min-width:30rem}
.prose caption{position:sticky;left:0;max-width:calc(100vw - 2 * var(--gutter));padding:.85em 0 .6em;text-align:left;caption-side:top;font:600 .8125rem/1.4 var(--font-ui);color:var(--muted)}
.prose th,.prose td{padding:.8em 1em .8em 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.prose th:last-child,.prose td:last-child{padding-right:0}
.prose thead th{padding-block:.7em;border-bottom:1px solid var(--ink);font:650 .75rem/1.3 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.prose tbody th{font-weight:650}
.prose tbody tr:last-child>*{border-bottom:0}
.prose td:first-child{font-weight:600}

.prose .callout{position:relative;max-width:none;margin-block:1.8em;padding:1em 1.25em 1em 3.25em;border:1px solid var(--rule);border-left:3px solid var(--c,var(--accent));background:color-mix(in srgb,var(--c,var(--accent)) 6%,var(--paper));font-size:.9444em;line-height:1.65}
.prose .callout::before{content:"";position:absolute;left:1.05em;top:1.1em;width:20px;height:20px;background:var(--c,var(--accent));-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.prose .callout>*+*{margin-top:.6em}
.prose .callout strong:first-child{color:var(--c,var(--accent))}
.prose .callout--info{--c:var(--accent);--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.6v.01'/%3E%3C/svg%3E")}
.prose .callout--tip{--c:var(--tip);--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21.5h4'/%3E%3Cpath d='M8.5 14.6A6.5 6.5 0 1 1 15.5 14.6c-.7.6-1 1.3-1 2.2V18h-5v-1.2c0-.9-.3-1.6-1-2.2z'/%3E%3C/svg%3E")}
.prose .callout--warning{--c:var(--warn);--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 4 2.6 17.5A2 2 0 0 0 4.3 20.5h15.4a2 2 0 0 0 1.7-3L13.7 4a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9.5v4M12 17v.01'/%3E%3C/svg%3E")}

.prose .embed-youtube{position:relative;max-width:none;margin-block:2em;aspect-ratio:16/9;overflow:hidden;background:#000}
.embed-youtube__play{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#000;color:#fff}
.embed-youtube__play img{width:100%;height:100%;object-fit:cover;opacity:.88;transition:opacity var(--dur-2)}
.embed-youtube__icon{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border:1.5px solid rgb(255 255 255 / .9);border-radius:50%;background:rgb(11 13 18 / .72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") 55% 50% / 26px no-repeat;transition:background-color var(--dur-2),transform var(--dur-2) var(--ease)}
.embed-youtube__play:hover img{opacity:1}
.embed-youtube__play:hover .embed-youtube__icon{background-color:var(--accent);transform:scale(1.06)}
.embed-youtube__play:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.embed-youtube iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.prose .btn-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.prose .btn-link{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:.6em 1.25em;border-radius:var(--r1);background:var(--ink);color:var(--paper);font:600 .9375rem/1.3 var(--font-ui);text-decoration:none;transition:background-color var(--dur-1)}
.prose .btn-link::after{content:"→";font-weight:500;transition:transform var(--dur-2) var(--ease)}
.prose .btn-link:hover{background:var(--accent);color:var(--on-accent)}
.prose .btn-link:hover::after{transform:translateX(3px)}
.prose .btn-link[href^="http"]::after{content:"↗"}
.prose .ad-slot{max-width:none}

/* ── Pages, contact ─────────────────────────────────────────────────────── */
.page__header,.page__hero,.page__body{max-width:calc(768px + 2 * var(--gutter))}
.page--wide .page__header,.page--wide .page__hero,.page--wide .page__body{max-width:calc(1280px + 2 * var(--gutter))}
.page--wide .page__header>*{max-width:900px}
.page--wide .prose>*{max-width:84ch}
.page--wide .prose>figure,.page--wide .prose>.table-scroll{max-width:none}
.page__header{padding-top:var(--s5)}
.page__title{font:600 clamp(2.125rem,1.5rem + 2.6vw,3.375rem)/1.08 var(--font-display);letter-spacing:-.024em;text-wrap:balance}
.page__header .meta{margin-top:var(--s4)}
.page__hero{margin-top:var(--s6)}
.page__body{margin-top:var(--s6)}
@media (min-width:768px){.page__header{padding-top:var(--s6)}}

.contact__header{max-width:none;padding-inline:0}
.contact__grid{display:grid;gap:var(--s7);margin-top:var(--s6)}
.contact__intro{margin-bottom:var(--s6)}
.contact__aside{display:flex;flex-direction:column;gap:var(--s5);align-self:start}
.contact__card{padding:var(--s5);background:var(--surface);border-top:2px solid var(--ink)}
.contact__card .social{margin:var(--s2) 0 0 -10px}
.contact__email{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;margin-top:var(--s1);font-weight:600;color:var(--ink);overflow-wrap:anywhere}
@media (min-width:1024px){.contact__grid{grid-template-columns:minmax(0,1fr) 320px;column-gap:var(--s8)}.contact__main{max-width:720px}}

.form__fields{display:flex;flex-direction:column;gap:var(--s5);min-width:0;margin:0;padding:0;border:0}
.form__fields:disabled{opacity:.55}
.form__row--2{display:grid;gap:var(--s5)}
@media (min-width:768px){.form__row--2{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:var(--s2);min-width:0}
.field__label{font:600 .9375rem/1.3 var(--font-ui)}
.field__opt{margin-left:6px;font:500 .6875rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.field__req{margin-left:6px;font:500 .6875rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.field__input{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--input);border-radius:var(--r1);background:var(--paper);font-size:1rem;line-height:1.5;transition:border-color var(--dur-1)}
.field__input:hover{border-color:var(--ink-2)}
.field__input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}
.field__input--area{min-height:180px;resize:vertical}
.field__select{position:relative}
.field__select select{-webkit-appearance:none;appearance:none;padding-right:44px}
.field__select .icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted)}
.field__help{font-size:.8125rem;color:var(--muted)}
.field__error{display:flex;align-items:flex-start;gap:6px;font:500 .875rem/1.4 var(--font-ui);color:var(--danger)}
.field__error .icon{width:16px;height:16px;margin-top:1px}
.has-error .field__input{border-color:var(--danger);border-width:2px;padding:10px 13px}
.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5)}
.form__note{font-size:.8125rem;color:var(--muted)}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

.notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s3);margin-bottom:var(--s5);padding:var(--s4) var(--s5);border:1px solid var(--rule);border-left:3px solid var(--c,var(--accent));background:color-mix(in srgb,var(--c,var(--accent)) 6%,var(--paper))}
.notice>.icon{margin-top:2px;color:var(--c,var(--accent))}
.notice:focus{outline:2px solid var(--c);outline-offset:3px}
.notice__title{margin-bottom:4px;font:650 1rem/1.4 var(--font-ui)}
.notice ul{margin-top:var(--s2);padding-left:1.1em}
.notice a{color:var(--ink);font-weight:500}
.notice p{font-size:.9375rem;color:var(--ink-2)}
.notice--success{--c:var(--tip)}
.notice--error{--c:var(--danger)}
.notice--info{--c:var(--accent)}

/* ── Archive, search, empty, pagination ─────────────────────────────────── */
.archive__header,.search-page__header{padding-block:var(--s5) var(--s6);border-bottom:1px solid var(--rule);margin-bottom:var(--s6)}
.archive__header--author{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s4) var(--s5);align-items:start}
.archive__header--author .crumbs{grid-column:1 / -1}
.archive__avatar{width:64px;height:64px}
.archive__title{margin-top:var(--s1);font:600 clamp(2.25rem,1.6rem + 2.8vw,3.75rem)/1.04 var(--font-display);letter-spacing:-.028em;text-wrap:balance;overflow-wrap:anywhere}
.archive__title q{quotes:"“" "”"}
.archive__role{margin-top:var(--s2);font-weight:550;color:var(--ink-2)}
.archive__desc{max-width:62ch;margin-top:var(--s3);font:400 1.1875rem/1.5 var(--font-display);color:var(--ink-2)}
.archive__facts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.archive__facts .social{margin-left:-10px}
.archive__subs{margin:calc(-1 * var(--s2)) 0 var(--s6)}
@media (min-width:768px){
  .archive__header,.search-page__header{padding-block:var(--s6) var(--s7)}
  .archive__avatar{width:96px;height:96px}
}
.search-page__header .search-form{max-width:640px;margin-top:var(--s5)}
.search-page__count{margin-top:var(--s3);font-size:.875rem;color:var(--muted)}
.search-page__subtitle{margin-bottom:var(--s3);font:650 .75rem/1.2 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.search-page__cats{margin-bottom:var(--s6)}
.search-page__results{max-width:880px}
.search-page__browse{margin-top:var(--s2)}

.empty{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s7) var(--s4);background:var(--surface);text-align:center}
.empty__icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--rule-2);border-radius:50%;color:var(--ink-2);background:var(--paper)}
.empty__title{font:600 1.5rem/1.25 var(--font-display);letter-spacing:-.01em;text-wrap:balance;max-width:28ch;overflow-wrap:anywhere}
.empty__text{max-width:52ch;color:var(--muted)}
.empty__search{width:100%;max-width:520px;margin-block:var(--s2)}
.empty .chips{margin-top:var(--s2)}

.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--rule)}
.pager__status{font:500 .875rem/1.2 var(--font-ui);color:var(--muted);font-variant-numeric:tabular-nums}
.pager__pages{display:none}
.pager__step{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:1px solid var(--rule-2);border-radius:var(--r1);font:600 .875rem/1 var(--font-ui);color:var(--ink);text-decoration:none}
a.pager__step:hover{border-color:var(--ink)}
.pager__step .icon{width:18px;height:18px}
.pager__step.is-disabled{opacity:.4}
.pager__num{display:grid;place-items:center;min-width:44px;height:44px;padding:0 var(--s2);border-radius:var(--r1);font:500 .9375rem/1 var(--font-ui);color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}
.pager__num:hover{background:var(--surface)}
.pager__num.is-current{background:var(--ink);color:var(--paper);font-weight:650}
.pager__gap{display:grid;place-items:center;min-width:28px;color:var(--muted)}
@media (min-width:768px){.pager__status{display:none}.pager__pages{display:flex;gap:var(--s1)}}

/* ── Errors ─────────────────────────────────────────────────────────────── */
.error-page{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);padding-block:var(--s7) var(--s4)}
.error-page__code{font:italic 300 clamp(5.5rem,3rem + 12vw,12rem)/.82 var(--font-display);letter-spacing:-.04em;color:var(--accent)}
.error-page__body{max-width:600px}
.error-page__title{margin-top:var(--s2);font:600 clamp(2rem,1.5rem + 2.2vw,3rem)/1.08 var(--font-display);letter-spacing:-.024em}
.error-page__lead{margin-top:var(--s4);font:400 1.1875rem/1.55 var(--font-display);color:var(--ink-2)}
.error-page__search{margin-top:var(--s5)}
.error-page__actions{margin-top:var(--s5)}
.error-page__links{margin-top:var(--s6)}
.error-page__ref{margin-top:var(--s5);font-size:.8125rem;color:var(--muted)}
@media (min-width:768px){.error-page{grid-template-columns:auto minmax(0,1fr);column-gap:var(--s8);align-items:start;padding-block:var(--s9) var(--s6)}}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.site-footer{margin-top:var(--s9);padding-block:var(--s7) var(--s4);background:var(--surface);border-top:1px solid var(--rule)}
.site-footer__grid{display:grid;gap:var(--s6)}
.site-footer .brand__name{font-size:1.75rem}
.site-footer__desc{max-width:44ch;margin-top:var(--s3);font-size:.9375rem;line-height:1.6;color:var(--muted)}
.site-footer__social{margin:var(--s3) 0 0 -10px}
.site-footer__title{margin-bottom:var(--s2);font:650 .75rem/1.2 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.flist a,.flist__link{display:inline-flex;align-items:center;min-height:40px;font:500 .9375rem/1.3 var(--font-ui);color:var(--ink);text-decoration:none}
.flist a:hover{text-decoration:underline}
.flist--sub{padding-left:var(--s3)}
.site-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s5);margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--rule-2);font-size:.8125rem;color:var(--muted)}
.legal{display:flex;flex-wrap:wrap;column-gap:var(--s4)}
.legal__link{display:inline-flex;align-items:center;min-height:40px;color:var(--muted);text-decoration:none}
.legal__link:hover{color:var(--ink);text-decoration:underline}
.site-footer__top{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin-left:auto;color:var(--ink);font-weight:600;text-decoration:none}
.site-footer__top .icon{width:16px;height:16px}
@media (min-width:768px){
  .site-footer__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);column-gap:var(--s7)}
  .flist--grid{columns:2}
}
@media (min-width:1024px){.site-footer__grid{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,3fr)}}

/* ── Large screens ──────────────────────────────────────────────────────── */
@media (min-width:1536px){.prose{font-size:1.1875rem}}

/* ── Motion preferences ─────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .card:hover .card__media img{transform:none}
}

/* ── Print ──────────────────────────────────────────────────────────────── */
@media print{
  :root,:root[data-theme="dark"]{--ink:#000;--ink-2:#222;--muted:#555;--paper:#fff;--surface:#fff;--rule:#ccc;--rule-2:#bbb;--accent:#000;--code-bg:#f4f4f4;--code-ink:#000;color-scheme:light}
  @page{margin:18mm 16mm}
  body{font-size:11pt;background:#fff;color:#000}
  .site-header,.drawer,.site-footer,.skip-link,.preview-banner,.ad-slot,.ad-wrap,.share,.toc,.article__rail,.related,.pager,.search-panel,.crumbs,.author-box__social,.author-box__foot,.contact__aside,.popular,.embed-youtube__play img,.embed-youtube__icon{display:none!important}
  .container{max-width:none;padding:0}
  .article__grid{display:block;margin-top:12pt}
  .article__main,.prose>*{max-width:none}
  .article__hero-media img{max-height:9cm}
  .prose{font-size:11pt;line-height:1.55}
  .prose a{color:#000}
  .prose a[href^="http"]::after,.prose a[href^="/"]::after{content:" (" attr(href) ")";font-size:.85em;color:#555;overflow-wrap:anywhere}
  .prose .btn-link{background:none;color:#000;padding:0;min-height:0;text-decoration:underline}
  .prose pre{white-space:pre-wrap;border:1px solid #ccc}
  .prose .table-scroll{overflow:visible;background:none}
  .prose table{min-width:0!important}
  .prose .embed-youtube{aspect-ratio:auto;background:none;border:1px solid #ccc;padding:8pt}
  .embed-youtube__play{position:static;height:auto;background:none;color:#000;text-align:left}
  .embed-youtube__play::before{content:"Video: https://www.youtube.com/watch?v=" attr(data-youtube-id)}
  h1,h2,h3,h4{break-after:avoid}
  figure,table,blockquote,pre,.callout{break-inside:avoid}
  .card__media img{transform:none!important}
}
