/* ==========================================================================
   Prompt the Market — theme stylesheet
   Tokens → base → header/nav → homepage → sections → tag/author/page → footer
   Legacy article rules are appended at build time (article.css) and use the
   same token names, so the reading experience inherits this palette.
   ========================================================================== */

:root{
  --ff:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fs:"Bricolage Grotesque","Inter",system-ui,sans-serif;
  --fm:ui-monospace,"SF Mono",Menlo,Consolas,monospace;

  --ink:#000;--ink2:#1c1c1e;--ink3:#55565b;--ink4:#75767c;--ink5:#a3a4aa;--ink6:#d6d7dc;--ink7:#ebebee;
  --bg:#fff;--bg2:#f2f2f4;--bg3:#e6e6ea;
  --surface:#fff;--surface-2:#f6f6f8;
  --rule:#e4e5e9;--rule-soft:#ececef;--rule-hair:#f2f2f4;

  --accent:#2d3bff;--accent2:#1f2ae6;--accent3:#1620b8;--accent-hi:#5c66ff;
  --accent-tint:rgba(45,59,255,.08);--accent-text:#2d3bff;
  --gold:#d94a00;--gold2:#b23c00;
  --success:#0e9f5b;--danger:#e5203a;
  --dark1:#0f0f10;--dark2:#141416;--dark3:#1e1e21;

  /* section colours — every desk gets its own hue, like a trade mag's tabs */
  --c-marketing:#2d3bff;--c-media:#e8371f;--c-advertising:#ff7a00;--c-ai:#7a2bff;
  --c-technology:#0aa5a0;--c-finance:#0e9f5b;--c-brands:#d9a000;--c-agencies:#c2185b;--c-opinion:#000;

  --elev-1:0 1px 2px rgba(0,0,0,.05),0 2px 8px rgba(0,0,0,.04);
  --elev-2:0 4px 12px rgba(0,0,0,.06),0 16px 40px rgba(0,0,0,.08);
  --sh-1:var(--elev-1);
  --r-s:10px;--r-m:14px;--r-l:22px;--r-pill:999px;--r-sm:10px;--r-md:14px;--r-lg:22px;
  --tr-fast:.15s ease;
  --w:1320px;--px:clamp(18px,4vw,40px);
  --card-ar:16/9;--img-r:14px;
}
[data-theme=dark]{
  --ink:#f5f5f7;--ink2:#e6e6ea;--ink3:#b3b4bb;--ink4:#8b8c94;--ink5:#63646c;--ink6:#33343a;--ink7:#26272c;
  --bg:#0e0e10;--bg2:#17171a;--bg3:#202024;
  --surface:#141416;--surface-2:#1b1b1f;
  --rule:#26272c;--rule-soft:#202125;--rule-hair:#1a1b1f;
  --accent:#6d76ff;--accent2:#8891ff;--accent3:#a6adff;--accent-hi:#8891ff;
  --accent-tint:rgba(109,118,255,.14);--accent-text:#8891ff;
  --gold:#ff7a3d;--gold2:#ff9466;
  --c-marketing:#6d76ff;--c-media:#ff6a55;--c-advertising:#ffa04d;--c-ai:#a978ff;
  --c-technology:#3fd6d0;--c-finance:#3fd18a;--c-brands:#ffc83d;--c-agencies:#ff6aa8;--c-opinion:#fff;
  --elev-1:0 1px 2px rgba(0,0,0,.4);--elev-2:0 12px 36px rgba(0,0,0,.5);
}

/* ---------- base ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body{font-family:var(--ff);color:var(--ink);background:var(--bg);line-height:1.5;font-feature-settings:"cv11","ss01"}
a{color:inherit;text-decoration:none}
button{font-family:var(--ff);cursor:pointer;color:inherit}
img{max-width:100%;display:block}
.w{max-width:var(--w);margin:0 auto;padding-left:var(--px);padding-right:var(--px)}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:var(--r-pill);z-index:2000}
.skip-link:focus{left:12px}

h1,h2,h3,h4{font-family:var(--fs);font-weight:700;letter-spacing:-.02em;line-height:1.1;text-wrap:balance}

/* kickers & meta — sentence case, colour carries the desk */
.kick{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--accent);line-height:1;margin-bottom:8px}
.kick::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.kick .breaking,.kick .live-badge,.kick .exclusive-badge,.kick .analysis-badge{margin-left:4px}
.k-marketing{color:var(--c-marketing)}.k-media{color:var(--c-media)}.k-advertising{color:var(--c-advertising)}.k-ai{color:var(--c-ai)}
.k-technology{color:var(--c-technology)}.k-finance{color:var(--c-finance)}.k-brands{color:var(--c-brands)}.k-agencies{color:var(--c-agencies)}.k-opinion{color:var(--c-opinion)}
.meta{font-size:.8rem;color:var(--ink4);display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.3}
.meta b{color:var(--ink3);font-weight:600}
.meta .sep{width:3px;height:3px;border-radius:50%;background:var(--ink5);flex-shrink:0}
.cat{font-size:.78rem;font-weight:600;color:var(--accent);margin-bottom:6px}
.dot{width:3px;height:3px;border-radius:50%;background:var(--ink5);flex-shrink:0}
.time-ago{color:var(--ink4)}

/* ---------- header: the prompt bar ---------- */
.hd{position:sticky;top:0;z-index:999;background:var(--bg);padding:12px 0 8px}
.hd::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;background:linear-gradient(var(--bg),rgba(255,255,255,0));pointer-events:none}
[data-theme=dark] .hd::after{background:linear-gradient(var(--bg),rgba(14,14,16,0))}
.hdp{display:flex;align-items:center;justify-content:space-between;gap:12px;height:56px;padding:0 10px 0 22px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--elev-1)}
.logo{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--fs);font-size:1.45rem;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--ink);white-space:nowrap}
.logo img{height:30px;width:auto}
.logo .caret{display:inline-block;width:.42em;height:1.05em;background:var(--accent);margin-left:.14em;transform:translateY(.12em);animation:blink 1.1s steps(2,start) infinite;border-radius:2px}
@keyframes blink{to{visibility:hidden}}
.hd-r{display:flex;align-items:center;gap:4px}
.hd-link{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:600;color:var(--ink2);padding:0 12px;height:40px;border:0;background:0;border-radius:var(--r-pill);transition:background var(--tr-fast)}
.hd-link:hover{background:var(--bg2)}
.hd-link svg{width:17px;height:17px}
.sub-btn{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:var(--r-pill);background:var(--ink);color:var(--bg)!important;font-size:.86rem;font-weight:700;border:2px solid var(--ink);transition:background var(--tr-fast),color var(--tr-fast)}
.sub-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff!important}
.thm-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:0;background:0;color:var(--ink3)}
.thm-btn:hover{background:var(--bg2);color:var(--ink)}
.thm-btn .thm-moon{display:none}
[data-theme=dark] .thm-btn .thm-sun{display:none}
[data-theme=dark] .thm-btn .thm-moon{display:block}
.mnav-btn{display:none;width:40px;height:40px;border:0;background:0;border-radius:50%;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.mnav-btn span{width:18px;height:2px;background:var(--ink);border-radius:2px;display:block}

/* nav chips */
.nv{padding:6px 0 10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nv::-webkit-scrollbar{display:none}
.nav-list{display:flex;gap:6px;list-style:none;width:max-content;min-width:100%}
.nav-list li a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:var(--r-pill);font-size:.86rem;font-weight:600;color:var(--ink2);background:var(--bg2);white-space:nowrap;transition:background var(--tr-fast),color var(--tr-fast);border:1px solid transparent}
.nav-list li a:hover{background:var(--ink);color:var(--bg)}
.nav-list li.ac a,.nav-list li.nav-current a{background:var(--ink);color:var(--bg)}
.nav-list li.nav-opinion a{background:var(--bg);border-color:var(--ink6)}

/* mobile drawer */
.mnav-wrap{position:fixed;inset:0;z-index:1200}
.mnav-wrap[hidden]{display:none}
.mnav-bd{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s}
.mnav{position:absolute;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--surface);transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding:18px 20px 24px;overflow-y:auto;box-shadow:var(--elev-2)}
.mnav-wrap.on .mnav-bd{opacity:1}.mnav-wrap.on .mnav{transform:none}
.mnav-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.mnav-t{font-family:var(--fs);font-size:1.1rem;font-weight:700}
.mnav-x{width:40px;height:40px;border:0;background:var(--bg2);border-radius:50%;font-size:1.3rem;line-height:1}
.mnav-list{list-style:none;display:flex;flex-direction:column}
.mnav-list a{display:block;padding:13px 0;font-family:var(--fs);font-size:1.25rem;font-weight:700;border-bottom:1px solid var(--rule)}
.mnav-row,.mnav-thm{width:100%;text-align:left;padding:14px 0;border:0;border-bottom:1px solid var(--rule);background:0;font-size:.95rem;font-weight:600;display:flex;align-items:center}
.mnav-ft{margin-top:auto;padding-top:20px}
.mnav-sub{display:flex;align-items:center;justify-content:center;height:48px;border-radius:var(--r-pill);background:var(--ink);color:var(--bg);font-weight:700}
.mnav-sub--ghost{background:var(--bg2);color:var(--ink)}

/* announcement bar */
.announce-bar{background:var(--accent);color:#fff;font-size:.86rem;font-weight:500;text-align:center;padding:9px 44px;position:relative}
.announce-bar a{text-decoration:underline}
.announce-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:0;color:#fff;font-size:1.2rem;line-height:1}

/* ticker strip */
.tkr{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--surface-2);overflow:hidden}
.tkr-in{display:flex;align-items:stretch;height:38px}
.tkr-lbl{display:flex;align-items:center;gap:8px;padding:0 var(--px) 0 var(--px);font-size:.8rem;font-weight:700;background:var(--ink);color:var(--bg);white-space:nowrap;flex-shrink:0}
.tkr-lbl i{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.tkr-track{flex:1;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.tkr-move{display:flex;gap:0;width:max-content;animation:tk 70s linear infinite;height:38px;align-items:center}
.tkr:hover .tkr-move{animation-play-state:paused}
@keyframes tk{to{transform:translateX(-50%)}}
.tkr-move a{display:inline-flex;align-items:center;gap:10px;padding:0 22px;font-size:.84rem;font-weight:500;color:var(--ink2);white-space:nowrap;border-right:1px solid var(--rule)}
.tkr-move a em{font-style:normal;font-weight:700;color:var(--accent)}
.tkr-move a:hover{color:var(--accent)}
@media(prefers-reduced-motion:reduce){.tkr-move{animation:none}.tkr-track{overflow-x:auto}}

/* ---------- sections ---------- */
.sec{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 0 14px;margin:48px 0 20px;border-bottom:2px solid var(--ink)}
.sec h2{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;line-height:1;display:flex;align-items:center;gap:12px}
.sec h2::before{content:"";width:14px;height:14px;border-radius:4px;background:var(--sc,var(--ink));transform:rotate(45deg)}
.sec-more{font-size:.86rem;font-weight:600;color:var(--ink3);padding:6px 12px;border-radius:var(--r-pill);background:var(--bg2);white-space:nowrap}
.sec-more:hover{background:var(--ink);color:var(--bg)}
.sec-note{font-size:.86rem;color:var(--ink4)}
.s-marketing{--sc:var(--c-marketing)}.s-media{--sc:var(--c-media)}.s-advertising{--sc:var(--c-advertising)}.s-ai{--sc:var(--c-ai)}
.s-technology{--sc:var(--c-technology)}.s-finance{--sc:var(--c-finance)}.s-brands{--sc:var(--c-brands)}.s-agencies{--sc:var(--c-agencies)}.s-opinion{--sc:var(--c-opinion)}

/* image frames */
.fr{position:relative;display:block;overflow:hidden;border-radius:var(--img-r);background:var(--bg2);aspect-ratio:var(--card-ar)}
.fr img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
a.fr:hover img{transform:scale(1.03)}
.fr-sq{aspect-ratio:1/1}.fr-43{aspect-ratio:4/3}.fr-32{aspect-ratio:3/2}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;padding-top:26px}
.lead .fr{margin-bottom:18px;border-radius:var(--r-l)}
.lead-t{font-size:clamp(1.9rem,3.6vw,3.1rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-bottom:14px}
.lead-t a:hover{color:var(--accent)}
.lead-dek{font-size:1.08rem;color:var(--ink3);line-height:1.5;max-width:60ch;margin-bottom:12px}
.top{display:flex;flex-direction:column}
.top-hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:4px}
.top-hd h2{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}
.top-hd span{font-size:.8rem;color:var(--ink4)}
.row{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);align-items:start}
.row:last-child{border-bottom:0}
.row .fr{aspect-ratio:1/1;border-radius:var(--r-s)}
.row h3{font-size:1.02rem;font-weight:700;line-height:1.22;letter-spacing:-.015em;margin-bottom:6px}
.row h3 a:hover{color:var(--accent)}
.row .kick{margin-bottom:5px;font-size:.74rem}
.row-lg{grid-template-columns:132px 1fr}
.row-lg .fr{aspect-ratio:4/3}

/* card grids */
.grid{display:grid;gap:32px 26px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{display:flex;flex-direction:column;min-width:0}
.card .fr{margin-bottom:12px}
.card h3{font-size:1.14rem;font-weight:700;line-height:1.18;letter-spacing:-.02em;margin-bottom:6px}
.card h3 a:hover{color:var(--accent)}
.card .dek{font-size:.9rem;color:var(--ink3);line-height:1.45;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{margin-top:auto}
.card-lg h3{font-size:1.5rem}
.card-lg .dek{-webkit-line-clamp:3;font-size:1rem}

/* picks strip — editor's picks, framed as a band */
.picks{margin-top:34px;padding:22px 0 26px;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.picks-hd{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.picks-hd h2{font-size:1.1rem;font-weight:800}
.picks-hd span{font-size:.84rem;color:var(--ink4)}
.pick{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start}
.pick .fr{aspect-ratio:1/1;border-radius:var(--r-s)}
.pick h3{font-size:.98rem;font-weight:700;line-height:1.22;letter-spacing:-.015em;margin-bottom:5px}
.pick h3 a:hover{color:var(--accent)}

/* topic block: lead + stacked list */
.topic{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px}
.topic-lead .fr{margin-bottom:14px}
.topic-lead h3{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.06;margin-bottom:10px}
.topic-lead h3 a:hover{color:var(--accent)}
.topic-lead .dek{font-size:1rem;color:var(--ink3);line-height:1.5;margin-bottom:10px;max-width:58ch}
.topic-list .row{padding:12px 0}
.topic-list .row:first-child{padding-top:0}

/* dual dense columns */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.dual .sec{margin-top:0}

/* briefing: the one dark block */
.brief{background:var(--dark1);color:#fff;margin-top:56px;padding:44px 0 48px;position:relative;overflow:hidden}
.brief::before{content:"";position:absolute;inset:auto -10% -40% auto;width:60vw;height:60vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(closest-side,rgba(122,43,255,.45),transparent 70%);pointer-events:none}
.brief .w{position:relative}
.brief-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.18)}
.brief-hd h2{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;display:flex;align-items:center;gap:12px}
.brief-hd h2::before{content:"";width:14px;height:14px;border-radius:4px;background:var(--c-ai);transform:rotate(45deg)}
.brief-hd p{font-size:.92rem;color:rgba(255,255,255,.65);max-width:52ch}
.brief-hd a{color:#fff;font-size:.86rem;font-weight:600;padding:6px 12px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.3);white-space:nowrap}
.brief-hd a:hover{background:#fff;color:#000}
.brief-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px}
.brief .card h3 a:hover,.brief .row h3 a:hover{color:var(--c-ai);filter:brightness(1.4)}
.brief .meta,.brief .dek{color:rgba(255,255,255,.62)}
.brief .meta b{color:rgba(255,255,255,.85)}
.brief .row{border-color:rgba(255,255,255,.14)}
.brief .fr{background:rgba(255,255,255,.06)}
.brief .kick{color:#c9b3ff}

/* opinion */
.op{margin-top:56px;background:var(--bg2);padding:36px 0 40px;border-radius:var(--r-l)}
.op .sec{margin-top:0}
.op-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.oc{background:var(--surface);border-radius:var(--r-m);padding:22px 22px 20px;display:flex;flex-direction:column;gap:10px;min-height:220px;box-shadow:var(--elev-1);position:relative}
.oc::before{content:"\201C";font-family:var(--fs);font-size:3.2rem;line-height:.6;font-weight:800;color:var(--gold);position:absolute;top:18px;left:18px;opacity:.9}
.oc h3{font-size:1.15rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;padding-top:26px}
.oc h3 a:hover{color:var(--gold)}
.oc .dek{font-size:.9rem;color:var(--ink3);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.oc-by{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:600}
.av{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--bg3);flex-shrink:0}
.av-i{display:inline-flex;align-items:center;justify-content:center;font-family:var(--fs);font-size:.72rem;font-weight:800;color:var(--bg);background:var(--ink)}
.oc-by small{display:block;font-weight:400;color:var(--ink4);font-size:.78rem}

/* newsletter */
.nl{margin-top:56px;background:var(--accent);color:#fff;border-radius:var(--r-l);padding:44px clamp(24px,5vw,64px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:center;position:relative;overflow:hidden}
.nl::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:40px solid rgba(255,255,255,.12);pointer-events:none}
.nl-t{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-bottom:10px}
.nl p{font-size:1rem;color:rgba(255,255,255,.82);max-width:46ch}
.nl form{display:flex;gap:8px;position:relative;z-index:1}
.nl input{flex:1;min-width:0;height:52px;padding:0 20px;border-radius:var(--r-pill);border:2px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font-family:var(--ff);font-size:1rem;outline:0}
.nl input::placeholder{color:rgba(255,255,255,.6)}
.nl input:focus{border-color:#fff;background:rgba(255,255,255,.18)}
.nl button{height:52px;padding:0 24px;border-radius:var(--r-pill);border:0;background:#fff;color:var(--accent3);font-weight:700;font-size:.95rem;white-space:nowrap}
.nl button:hover{background:#000;color:#fff}
.nl-note{display:block;margin-top:10px;font-size:.8rem;color:rgba(255,255,255,.7)}
.nl-msg{display:none;margin-top:10px;font-size:.88rem;font-weight:600}
form.loading .nl-loading,form.success .nl-success,form.error .nl-error{display:block}
form.success input,form.success button{display:none}

/* icymi */
.icy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
.icy .row{grid-template-columns:1fr 80px;gap:14px}
.icy .row .fr{order:2}
.icy .row>div{order:1}

/* ads */
.ad-w{text-align:center;padding:16px 0}
.ad-lbl{font-size:.68rem;color:var(--ink5);margin-bottom:4px}
.ad-img{display:inline-block;max-width:100%;height:auto;border-radius:var(--r-s)}

/* ---------- tag / author / page ---------- */
.ph{padding:34px 0 22px;border-bottom:2px solid var(--ink);margin-bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ph h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.04em;line-height:.98}
.ph h1 span{display:inline-flex;align-items:center;gap:14px}
.ph h1 span::before{content:"";width:.5em;height:.5em;border-radius:.12em;background:var(--sc,var(--accent));transform:rotate(45deg)}
.ph p{font-size:1rem;color:var(--ink3);max-width:60ch;margin-top:10px}
.ph-count{font-size:.86rem;color:var(--ink4);padding:6px 12px;border-radius:var(--r-pill);background:var(--bg2);white-space:nowrap}
.tag-follow{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--r-pill);border:2px solid var(--ink);background:var(--bg);color:var(--ink);font-weight:700;font-size:.86rem}
.tag-follow:hover,.tag-follow.on{background:var(--ink);color:var(--bg)}
.tag-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;margin-bottom:40px;align-items:center}
.tag-hero .fr{border-radius:var(--r-l)}
.tag-hero h2{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.04;margin-bottom:12px}
.tag-hero h2 a:hover{color:var(--accent)}
.tag-hero .dek{font-size:1.02rem;color:var(--ink3);line-height:1.5;margin-bottom:12px}
.list{border-top:1px solid var(--rule);margin-top:34px}
.list .row{grid-template-columns:1fr 120px;gap:20px;padding:18px 0}
.list .row .fr{order:2;aspect-ratio:4/3}
.list .row>div{order:1}
.list .row h3{font-size:1.15rem}
.pgn{display:flex;justify-content:space-between;gap:12px;padding:32px 0 12px}
.pgn-a{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:var(--r-pill);border:2px solid var(--ink);font-weight:700;font-size:.9rem}
.pgn-a:hover{background:var(--ink);color:var(--bg)}
.pgn-a:only-child{margin-left:auto}

.au-hero{display:grid;grid-template-columns:140px 1fr;gap:32px;align-items:start;padding:36px 0 30px;border-bottom:2px solid var(--ink);margin-bottom:8px}
.au-av{width:140px;height:140px;border-radius:50%;object-fit:cover;background:var(--bg2)}
.au-av-i{display:flex;align-items:center;justify-content:center;font-family:var(--fs);font-size:2.6rem;font-weight:800;color:var(--bg);background:var(--ink)}
.au-name{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;letter-spacing:-.035em;line-height:1;margin-bottom:8px}
.au-role{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:10px}
.au-bio{font-size:1.02rem;color:var(--ink2);line-height:1.6;max-width:66ch;margin-bottom:16px}
.au-links{display:flex;gap:8px;flex-wrap:wrap}
.au-link{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r-pill);border:2px solid var(--ink);font-weight:700;font-size:.86rem}
.au-link:hover{background:var(--ink);color:var(--bg)}
.au-link svg{width:16px;height:16px}
.au-link--in{background:#0a66c2;border-color:#0a66c2;color:#fff}
.au-link--in:hover{background:#004182;border-color:#004182;color:#fff}

/* author card at article end */
.auc{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:start;padding:24px;border:2px solid var(--ink);border-radius:var(--r-l);margin:36px 0 8px;background:var(--surface)}
.auc .au-av{width:76px;height:76px}
.auc .au-av-i{font-size:1.5rem}
.auc-k{font-size:.78rem;color:var(--ink4);margin-bottom:4px}
.auc h3{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;margin-bottom:4px}
.auc h3 a:hover{color:var(--accent)}
.auc-role{font-size:.9rem;font-weight:600;color:var(--accent);margin-bottom:8px}
.auc p{font-size:.95rem;color:var(--ink2);line-height:1.55;margin-bottom:12px}
.auc .au-links{gap:6px}
.auc .au-link{height:34px;padding:0 13px;font-size:.82rem}

/* static pages */
.pg-wrap{padding-top:40px}
.pg-head{margin-bottom:26px;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.pg-t{font-size:clamp(2rem,4.5vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-bottom:10px}
.pg-sub{font-size:1.08rem;color:var(--ink3);line-height:1.5;max-width:60ch}
.pg-img{width:100%;height:auto;max-height:420px;object-fit:cover;margin-bottom:26px;border-radius:var(--r-l)}
.pg-body{padding-bottom:36px}
.pg-cta{background:var(--ink);color:var(--bg);border-radius:var(--r-l);padding:32px;text-align:center}
.pg-cta-t{font-family:var(--fs);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:6px}
.pg-cta-p{font-size:.92rem;opacity:.7;margin-bottom:18px}
.pg-cta-btn{display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-weight:700;font-size:.92rem}
.pg-cta-btn:hover{background:#fff;color:#000}
.archive-sub{font-size:1rem;color:var(--ink3);margin-top:8px}
.archive-list{margin-top:10px}
.archive-row{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule)}
.archive-d{font-size:.82rem;color:var(--ink4);white-space:nowrap}
.archive-t{font-family:var(--fs);font-size:1.08rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.archive-t:hover{color:var(--accent)}
.archive-k{font-size:.8rem;font-weight:600;color:var(--accent);white-space:nowrap}
.bo-ex{font-size:.88rem;color:var(--ink3);margin-top:4px}

/* error */
.err-wrap{padding:72px 24px 40px;text-align:center;max-width:620px;margin:0 auto}
.err-code{font-family:var(--fs);font-size:7rem;font-weight:800;line-height:1;letter-spacing:-.05em;color:var(--accent);margin-bottom:6px}
.err-t{font-size:1.9rem;font-weight:800;letter-spacing:-.03em;margin-bottom:12px}
.err-p{font-size:1rem;color:var(--ink3);line-height:1.55;margin-bottom:24px}
.err-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.err-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border:2px solid var(--ink);border-radius:var(--r-pill);background:transparent;color:var(--ink);font-family:var(--ff);font-size:.9rem;font-weight:700;cursor:pointer}
.err-btn:hover{background:var(--ink);color:var(--bg)}
.err-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.err-btn-primary:hover{background:var(--accent3);border-color:var(--accent3);color:#fff}

/* ---------- footer ---------- */
.footer{margin-top:64px;background:var(--ink);color:var(--bg);padding:48px 0 32px;border-radius:var(--r-l) var(--r-l) 0 0}
.ftg{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px}
.ft-logo{display:inline-flex;align-items:baseline;font-family:var(--fs);font-size:1.5rem;font-weight:800;letter-spacing:-.035em;color:var(--bg);margin-bottom:14px}
.ft-logo .caret{display:inline-block;width:.42em;height:1.05em;background:var(--accent-hi);margin-left:.14em;transform:translateY(.12em);border-radius:2px}
.ft-logo img{height:30px;width:auto;filter:invert(1)}
[data-theme=dark] .ft-logo img{filter:none}
.ft-about{font-size:.92rem;color:rgba(255,255,255,.62);line-height:1.55;max-width:40ch;margin-bottom:16px}
[data-theme=dark] .ft-about{color:rgba(0,0,0,.6)}
.ft-social{display:flex;gap:8px;margin-bottom:18px}
.ft-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3)}
.ft-social a:hover{background:var(--bg);color:var(--ink)}
.ft-social svg{width:16px;height:16px}
.ft-copy{font-size:.8rem;color:rgba(255,255,255,.45)}
[data-theme=dark] .ft-copy{color:rgba(0,0,0,.5)}
.ftc-hd{font-family:var(--fs);font-size:1rem;font-weight:800;margin-bottom:12px}
.ftc ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.ftc a{display:inline-block;padding:5px 0;font-size:.9rem;color:rgba(255,255,255,.72);min-height:28px}
.ftc a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
[data-theme=dark] .ftc a{color:rgba(0,0,0,.7)}[data-theme=dark] .ftc a:hover{color:#000}
[data-theme=dark] .ft-social a{border-color:rgba(0,0,0,.3)}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .g4,.op-g,.icy{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero,.topic,.brief-g,.tag-hero{grid-template-columns:1fr;gap:28px}
  .picks .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftg{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .mnav-btn{display:flex}
  .hd-link.hd-search span,.hd-link#push-bell span{display:none}
  .hd-link{padding:0 10px}
  .hdp{padding-left:16px;height:52px}
  .logo{font-size:1.25rem}
  .nv{display:none}
  .dual{grid-template-columns:1fr;gap:12px}
  .dual .sec{margin-top:36px}
  .nl{grid-template-columns:1fr;padding:32px 24px}
  .au-hero{grid-template-columns:96px 1fr;gap:20px}
  .au-av{width:96px;height:96px}
  .sec h2{font-size:1.4rem}
}
@media(max-width:600px){
  .g3,.g4,.op-g,.icy,.picks .g4{grid-template-columns:1fr}
  .row{grid-template-columns:80px 1fr;gap:12px}
  .list .row{grid-template-columns:1fr 92px}
  .lead-t{font-size:2rem}
  .card h3{font-size:1.1rem}
  .brief{padding:32px 0;border-radius:0}
  .op{padding:28px 0;border-radius:var(--r-m)}
  .oc{min-height:0}
  .nl form{flex-direction:column}
  .footer{border-radius:0}
  .ftg{grid-template-columns:1fr;gap:28px}
  .archive-row{grid-template-columns:1fr;gap:4px}
  .tkr-lbl{padding:0 14px}
  .auc{grid-template-columns:1fr}
}

/* ---------- v1.1 features ---------- */
/* search in the prompt bar */
.hd-q{flex:1;display:flex;align-items:center;gap:8px;max-width:420px;margin:0 16px;height:38px;padding:0 12px;border-radius:var(--r-pill);background:var(--bg2);color:var(--ink3)}
.hd-q:focus-within{background:var(--bg);box-shadow:0 0 0 2px var(--accent)}
.hd-q svg{width:16px;height:16px;flex-shrink:0}
.hd-q input{flex:1;min-width:0;border:0;background:0;font-family:var(--ff);font-size:.9rem;color:var(--ink);outline:0}
.hd-q input::placeholder{color:var(--ink4)}
.hd-q kbd{font-family:var(--ff);font-size:.7rem;color:var(--ink4);border:1px solid var(--ink6);border-radius:5px;padding:1px 6px}
.hd-q input::-webkit-search-cancel-button{-webkit-appearance:none}
@media(max-width:1100px){.hd-q{display:none}}
/* people & moves */
.moves{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.moves li{border-bottom:1px solid var(--rule)}
.moves a{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:12px 0;align-items:baseline}
.mv-d{font-size:.8rem;color:var(--ink4);white-space:nowrap}
.mv-t{font-family:var(--fs);font-size:1.02rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.moves a:hover .mv-t{color:var(--accent)}
@media(max-width:700px){.moves{grid-template-columns:1fr}}
/* in-body related */
.ibr{margin:28px 0;padding:18px 22px;border-left:4px solid var(--accent);background:var(--bg2);border-radius:0 var(--r-m) var(--r-m) 0}
.ibr-hd{font-family:var(--fs);font-size:.95rem;font-weight:800;margin-bottom:8px}
.ibr ul{list-style:none;margin:0;padding:0}
.ibr li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:6px 0;border-top:1px solid var(--rule)}
.ibr li:first-child{border-top:0}
.ibr li a{font-size:.95rem;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.3}
.ibr li a:hover{color:var(--accent)}
.ibr li span{font-size:.78rem;color:var(--ink4);white-space:nowrap}
/* rankings empty state */
.empty{border:2px dashed var(--ink6);border-radius:var(--r-l);padding:40px;text-align:center;max-width:620px;margin:20px auto}
.empty h2{font-size:1.5rem;margin-bottom:8px}.empty p{color:var(--ink3);margin-bottom:18px}
/* contribute */
.ctb{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.ctb-side{position:sticky;top:130px}
.ctb-rules h2{font-size:1.15rem;font-weight:800;margin:0 0 10px}
.ctb-rules h2+ul,.ctb-rules h2+ol{margin-bottom:24px}
.rules{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.rules li{font-size:.95rem;line-height:1.5;color:var(--ink2);padding-left:22px;position:relative}
.rules li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:3px;background:var(--success);transform:rotate(45deg)}
.rules-no li::before{background:var(--danger);border-radius:50%;transform:none}
ol.rules{counter-reset:s}ol.rules li::before{content:counter(s);counter-increment:s;background:var(--ink);color:var(--bg);font-size:.7rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:none;top:.2em;left:-3px}
.ctb-extra{margin-top:8px}
.ctb-form{border:2px solid var(--ink);border-radius:var(--r-l);padding:28px;background:var(--surface)}
.ctb-fs{border:0;padding:0;margin:0 0 24px}
.ctb-fs legend{font-family:var(--fs);font-size:1.15rem;font-weight:800;margin-bottom:12px}
.ctb-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.ctb-form label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;color:var(--ink2);margin-bottom:12px}
.ctb-form label small{font-weight:400;color:var(--ink4);font-size:.8rem}
.ctb-form input:not([type=checkbox]),.ctb-form select,.ctb-form textarea{font-family:var(--ff);font-size:.95rem;color:var(--ink);background:var(--bg);border:1.5px solid var(--ink6);border-radius:var(--r-s);padding:10px 12px;outline:0;width:100%}
.ctb-form input:focus,.ctb-form select:focus,.ctb-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.ctb-form textarea{resize:vertical;line-height:1.5}
.chk{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important}
.chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent)}
.ctb-gate{border:2px solid var(--danger);border-radius:var(--r-m);padding:16px 18px;margin-bottom:18px;background:rgba(229,32,58,.05)}
.ctb-gate-t{font-family:var(--fs);font-weight:800;font-size:1.05rem;margin-bottom:8px}
.ctb-gate ul{margin:0 0 0 18px;font-size:.92rem;line-height:1.5;color:var(--ink2)}
.ctb-gate li{margin-bottom:4px}
.ctb-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ctb-btn{height:48px;padding:0 24px;border-radius:var(--r-pill);border:0;background:var(--ink);color:var(--bg);font-weight:700;font-size:.95rem}
.ctb-btn:hover{background:var(--accent);color:#fff}.ctb-btn:disabled{opacity:.6}
.ctb-note{font-size:.84rem;color:var(--ink4)}
.ctb-done{border:2px solid var(--success);border-radius:var(--r-m);padding:18px 20px;background:rgba(14,159,91,.06)}
.ctb-done p{font-size:.95rem;color:var(--ink2)}
@media(max-width:1000px){.ctb{grid-template-columns:1fr}.ctb-side{position:static}}
@media(max-width:600px){.ctb-grid{grid-template-columns:1fr}.ctb-form{padding:20px 16px}}
.ad-w{text-align:center;padding:12px 0;border-bottom:1px solid var(--rule)}
.ad-box{display:inline-flex;align-items:center;justify-content:center;background:var(--bg2);border:1px dashed var(--ink6);color:var(--ink5);font-size:.48rem;text-transform:uppercase;letter-spacing:.12em}
.ad-lbl{font-size:.44rem;color:var(--ink5);letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}
.art-c{max-width:720px;margin:0 auto;padding:0 var(--px)}
.art-wide{max-width:900px;margin:0 auto;padding:0 var(--px)}
.art-t{font-family:var(--fs);font-size:2.4rem;font-weight:600;line-height:1.12;margin-bottom:12px;letter-spacing:-.018em}
.art-s{font-family:var(--fs);font-size:1.19rem;color:var(--ink2);line-height:1.5;margin-bottom:20px;font-weight:400}
.toolbar{display:flex;align-items:center;gap:0;padding:10px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:16px}
.tb-icons{display:flex;align-items:center;gap:4px;margin-left:auto}
.tb-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--ink4);cursor:pointer;transition:color .15s;background:0;border:0}
.tb-icon:hover{color:var(--ink)}
.art-cap{font-size:.6rem;color:var(--ink4);font-style:italic;margin-bottom:24px}
.art-auth{display:flex;gap:10px;align-items:flex-start;margin-bottom:24px}
.art-auth .av{width:44px;height:44px;border-radius:50%;background:var(--ink2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}
.art-auth .an{font-size:.82rem;font-weight:700;margin-bottom:1px}
.art-auth .an span{font-weight:400;color:var(--ink3)}
.art-auth .al{font-size:.62rem;color:var(--ink4);font-weight:400}
.art-auth .ad{font-size:.62rem;color:var(--ink4)}
.body p{font-family:var(--fs);font-size:1.05rem;line-height:1.78;margin-bottom:18px;color:#222}
.body h2{font-family:var(--ff);font-size:1.05rem;font-weight:700;margin:32px 0 12px;color:var(--ink);scroll-margin-top:72px}
.body blockquote{border-left:2px solid var(--ink);padding:2px 0 2px 20px;margin:24px 0 6px;font-family:var(--fs);font-size:1.08rem;font-style:italic;color:var(--ink2);line-height:1.55}
.body .qa{font-size:.7rem;color:var(--ink4);margin-bottom:24px;padding-left:22px;font-family:var(--ff)}
.body .in-cap{font-size:.6rem;color:var(--ink4);font-style:italic;margin-bottom:20px}
.tweet-embed{border:1px solid var(--rule);padding:16px 18px;margin:24px 0;background:#fff;transition:box-shadow .15s}
.tweet-embed:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.tweet-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.tweet-av{width:36px;height:36px;border-radius:50%;background:var(--ink6)}
.tweet-name{font-size:.78rem;font-weight:700}
.tweet-handle{font-size:.64rem;color:var(--ink4)}
.tweet-body{font-size:.9rem;line-height:1.55;color:var(--ink);margin-bottom:8px}
.tweet-time{font-size:.58rem;color:var(--ink4)}
.tweet-x{color:var(--ink);margin-left:auto}
.vid-embed{position:relative;width:100%;height:280px;margin:24px 0 6px;background:#1a1a2e;display:flex;align-items:center;justify-content:center;cursor:pointer}
.vid-play{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:transform .15s}
.vid-embed:hover .vid-play{transform:scale(1.08)}
.vid-cap{font-size:.6rem;color:var(--ink4);font-style:italic;margin-bottom:20px}
.art-lay{position:relative;display:block}
.toc{position:absolute;left:-200px;width:170px;top:0;padding-top:4px}
.toc .toc-h,.toc h4{font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--ink);color:var(--ink3)}
.toc ul{list-style:none}
.toc li{margin-bottom:7px}
.toc a{font-size:.64rem;color:var(--ink4);font-weight:500;text-decoration:none;transition:color .15s;display:block;line-height:1.35;cursor:pointer}
.toc a.on,.toc a:hover{color:var(--ink);font-weight:600}
.toc .sep{margin:8px 0;border-top:1px solid var(--rule)}
.kt-box{border:1px solid var(--rule);background:var(--bg2);padding:22px 28px;margin-bottom:28px;scroll-margin-top:72px}
.kt-box h3{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--rule);color:var(--ink3)}
.kt-box li{display:flex;gap:12px;margin-bottom:12px;font-size:.84rem;line-height:1.5;color:var(--ink2)}
.kt-num{font-family:var(--fs);font-size:1rem;font-weight:700;color:var(--ink6);min-width:22px;flex-shrink:0}
.tldr-box{border:1px solid var(--rule);background:var(--bg2);padding:22px 28px;margin:32px 0;scroll-margin-top:72px}
.tldr-box h3{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:var(--ink3)}
.tldr-box p{font-size:.88rem;line-height:1.6;color:var(--ink2)}
.faq-sec{margin:32px 0;scroll-margin-top:72px}
.faq-sec h3{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--ink);color:var(--ink3)}
.faq-item{border:1px solid var(--rule);margin-bottom:6px}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;font-size:.84rem;font-weight:600;color:var(--ink);transition:background .15s}
.faq-q:hover{background:var(--bg2)}
.faq-chev{font-size:.6rem;color:var(--ink4);transition:transform .2s;flex-shrink:0;margin-left:10px}
.faq-a{padding:0 18px 16px;font-size:.8rem;line-height:1.6;color:var(--ink3);border-top:1px solid var(--rule);padding-top:14px}
.cite-sec{margin:24px 0;padding:18px 0;border-top:1px solid var(--rule)}
.cite-sec h3{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;color:var(--ink3)}
.cite-sec ol{padding-left:18px}
.cite-sec li{font-size:.7rem;color:var(--ink4);margin-bottom:4px;line-height:1.4}
.cite-sec a{color:var(--ink3);text-decoration:underline;text-underline-offset:2px}
.cite-sec a:hover{color:var(--accent)}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin:18px 0}
.tag{font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border:1px solid var(--rule);color:var(--ink4);cursor:pointer;transition:all .15s}
.tag:hover{border-color:var(--ink3);color:var(--ink)}
.auth-end{display:flex;gap:14px;padding:20px 0;border-top:1px solid var(--rule);margin-top:24px;align-items:flex-start}
.auth-end .av{width:46px;height:46px;border-radius:50%;background:var(--ink2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}
.auth-end h4{font-size:.82rem;font-weight:700;margin-bottom:1px}
.auth-end .role{font-size:.6rem;color:var(--ink4);margin-bottom:4px}
.auth-end .bio{font-size:.72rem;color:var(--ink3);line-height:1.5;font-weight:300}
.cmt-w{padding-bottom:44px}
.cmt-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--rule);margin-bottom:14px}
.cmt-hd h3{font-size:.8rem;font-weight:700}
.cm{padding:12px 0;border-bottom:1px solid var(--rule)}
.cm-top{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.cm-av{width:24px;height:24px;border-radius:50%;background:var(--ink2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.46rem;font-weight:700;flex-shrink:0}
.cm-n{font-size:.7rem;font-weight:600}
.cm-t{font-size:.56rem;color:var(--ink4)}
.cm-b{font-size:.78rem;line-height:1.5;color:var(--ink3);margin-bottom:5px;padding-left:30px}
.cm-a{display:flex;gap:12px;padding-left:30px;font-size:.54rem;color:var(--ink4)}
.cm-a span{cursor:pointer}
.cm-a span:hover{color:var(--ink)}
.cm-rp{margin-left:30px;border-left:1px solid var(--rule);padding-left:14px}
.sec-h1{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);padding:20px 0 14px;border-bottom:1px solid var(--rule);margin-bottom:14px}
@media(max-width:960px){.art-t{font-size:1.72rem}.art-lay{display:block}.toc{position:relative!important;left:0!important;width:100%!important;top:0;padding:14px 0;border-bottom:1px solid var(--rule)}}
.kg-width-wide{position:relative;width:85vw;min-width:100%;margin:auto calc(50% - 42.5vw)}
.kg-width-full{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.kg-width-full img,.kg-width-wide img{width:100%}
.gh-content .kg-callout-card{border:1px solid var(--rule)!important;background:var(--bg2)!important;padding:22px 28px!important;margin:28px 0!important;border-radius:0!important}
.gh-content .kg-toggle-card{border:1px solid var(--rule)!important;margin-bottom:6px!important;border-radius:0!important}
.gh-content .kg-bookmark-card{border:1px solid var(--rule)!important;border-radius:0!important;margin:24px 0!important}
.gh-content .kg-button-card a{background:var(--accent)!important;border-radius:0!important}
.gh-content .kg-image-card img{width:100%;height:auto}
.gh-content .kg-image-card figcaption{font-size:.6rem;color:var(--ink4);font-style:italic;margin-top:6px;text-align:center}
.gh-content .kg-embed-card{margin:24px 0}
.gh-content .kg-embed-card iframe{width:100%}
#ghost-comments-root{max-width:100%}
.gh-search{z-index:1000}
.art-auth .av{width:56px!important;height:56px!important;min-width:56px;font-size:.82rem!important}
.art-auth .av img{width:56px!important;height:56px!important}
.tb-reading{font-size:.64rem;color:var(--ink4);font-weight:500;padding-right:14px;border-right:1px solid var(--rule);margin-right:10px}
.gh-notification-bar,.gh-portal-notification{display:none!important}
@media print{.ad-box,.ad-w,.auth-end,.cmt-w,.footer,.hd,.nl-bar,.nv,.tags,.tb,.toc,.toolbar{display:none!important}.art-c,.art-wide{max-width:100%;padding:0}.art-lay{display:block}}
section[data-nr=kt],section[data-nr=tldr]{border:1px solid var(--rule);background:var(--bg2);padding:22px 28px;margin:28px 0}
section[data-nr=cite] h4,section[data-nr=faq] h4,section[data-nr=kt] h4,section[data-nr=tldr] h4{font-family:var(--ff);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin:0 0 14px;padding:0 0 8px;border-bottom:1px solid var(--rule)}
section[data-nr=tldr] p{font-size:.88rem;line-height:1.6;color:var(--ink2);margin:0}
section[data-nr=kt] ol{list-style:none;padding:0;margin:0}
section[data-nr=kt] li{display:flex;gap:12px;margin-bottom:14px;font-size:.84rem;line-height:1.5;color:var(--ink2)}
section[data-nr=kt] li b{font-family:var(--fs);font-size:1rem;font-weight:700;color:var(--ink6);min-width:22px;flex-shrink:0}
section[data-nr=faq]{background:0 0;border:0;padding:0;margin:32px 0}
section[data-nr=faq] h4{border-bottom:2px solid var(--ink);padding-bottom:8px}
section[data-nr=faq] details{border:1px solid var(--rule);margin-bottom:6px}
section[data-nr=faq] summary{padding:14px 18px;font-size:.84rem;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:background .15s}
section[data-nr=faq] summary:hover{background:var(--bg2)}
section[data-nr=faq] summary::-webkit-details-marker{display:none}
section[data-nr=faq] summary::after{content:'▾';font-size:.7rem;color:var(--ink4);transition:transform .2s;flex-shrink:0;margin-left:12px}
section[data-nr=faq] details[open] summary::after{transform:rotate(180deg)}
section[data-nr=faq] details p{padding:14px 18px 16px;font-size:.8rem;line-height:1.6;color:var(--ink3);border-top:1px solid var(--rule);margin:0}
section[data-nr=cite]{background:0 0;border:0;border-top:1px solid var(--rule);padding:18px 0;margin:24px 0}
section[data-nr=cite] h4{border-bottom:0;padding-bottom:0}
section[data-nr=cite] ol{padding-left:18px;margin:0}
section[data-nr=cite] li{font-size:.7rem;color:var(--ink4);margin-bottom:4px;line-height:1.4}
section[data-nr=cite] a{color:var(--ink3);text-decoration:underline;text-underline-offset:2px}
section[data-nr=cite] a:hover{color:var(--accent)}
.breaking{display:inline-block;background:#c41a1a;color:#fff;font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:2px 6px;margin-right:6px;vertical-align:middle;line-height:1.4}
.time-ago{color:var(--ink3)}
.tag-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-bottom:8px;padding-bottom:24px;border-bottom:1px solid var(--rule)}
.tag-hero-t{font-family:var(--fs);font-size:1.6rem;font-weight:700;line-height:1.18;margin-bottom:8px}
.tag-hero-t a{color:inherit;text-decoration:none}
.tag-hero-t a:hover{color:var(--accent)}
.tag-hero-body{display:flex;flex-direction:column;justify-content:center}
@media(max-width:768px){.tag-hero{grid-template-columns:1fr}}
@keyframes ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes _r4bn{from{opacity:1}to{opacity:1}}
.announce-bar{background:var(--ink);color:#fff;text-align:center;padding:8px 16px;font-family:var(--ff);font-size:.64rem;font-weight:600;letter-spacing:.02em}
.announce-bar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.announce-bar .announce-close{float:right;background:0;border:0;color:rgba(255,255,255,.7);font-size:.8rem;cursor:pointer;padding:0 4px;line-height:1}
.announce-bar .announce-close:hover{color:#fff}
.ad-native{border:1px solid var(--rule);padding:20px 24px;margin:24px 0;background:var(--bg2);display:flex;gap:16px;align-items:center;transition:box-shadow .15s}
.ad-native:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ad-native-img{width:80px;height:80px;object-fit:cover;flex-shrink:0}
.ad-native-text{flex:1}
.ad-native-sponsor{font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink4);font-weight:700;margin-bottom:4px}
.ad-native-title{font-family:var(--fs);font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:4px;line-height:1.3}
.ad-native-desc{font-size:.68rem;color:var(--ink3);line-height:1.4}
.ad-native-cta{font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);text-decoration:none;margin-top:6px;display:inline-block}
.toc.hidden{display:none!important}
@media(max-width:1200px){.toc{position:relative!important;left:0!important;width:100%!important;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--rule)}}
.art-auth-minimal{gap:0;align-items:center}
.art-auth-minimal .an{font-size:.82rem;font-weight:600;margin-bottom:0}
.art-auth-minimal .an b{font-weight:700}
.art-auth-minimal .al{margin-top:1px}
.rx-wrap{padding:20px 0 24px;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);margin:24px 0}
.rx-prompt{font-family:var(--fs);font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:12px}
.rx-bar{display:flex;gap:8px;flex-wrap:wrap}
.rx-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--rule);background:var(--bg);cursor:pointer;font-family:var(--ff);font-size:.68rem;color:var(--ink3);transition:all .15s;-webkit-appearance:none;appearance:none}
.rx-btn:hover{border-color:var(--ink4);color:var(--ink)}
.rx-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(9,102,194,.06)}
.rx-btn.active .rx-icon svg{stroke:var(--accent)}
.rx-icon{display:flex;align-items:center}
.rx-label{font-weight:500}
.rx-count{font-size:.6rem;color:var(--ink4);font-weight:600;min-width:12px;text-align:center}
.rx-btn.active .rx-count{color:var(--accent)}
.rx-summary{font-size:.66rem;color:var(--ink4);margin-top:12px;line-height:1.5}
.rx-summary b{color:var(--ink);font-weight:600}
.rx-summary .rx-bar-visual{display:inline-flex;height:6px;border-radius:3px;overflow:hidden;width:120px;vertical-align:middle;margin:0 6px;background:var(--ink7)}
.rx-summary .rx-seg{height:100%;transition:width .3s}
.rx-seg-matters{background:var(--accent)}
.rx-seg-didntknow{background:#639922}
.rx-seg-changed{background:#d85a30}
.rx-seg-expected{background:#888780}
@media(max-width:600px){.rx-bar{gap:6px}.rx-btn{padding:6px 10px;font-size:.6rem}}
.live-badge{display:inline-flex;align-items:center;gap:4px;background:0 0;color:#c41a1a;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:2px 0;margin-left:8px;vertical-align:middle;line-height:1.4}
.live-badge::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#c41a1a;animation:live-pulse 1.5s ease-in-out infinite}
@keyframes live-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.exclusive-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:2px 6px;margin-right:6px;vertical-align:middle;line-height:1.4}
.analysis-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:2px 6px;margin-right:6px;vertical-align:middle;line-height:1.4}
.exclusive-badge{display:inline-flex;align-items:center;background:0 0;color:var(--accent);font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:2px 0;margin-left:8px;vertical-align:middle;line-height:1.4;border:none}
.analysis-badge{display:inline-flex;align-items:center;background:0 0;color:var(--accent);font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:2px 0;margin-left:8px;vertical-align:middle;line-height:1.4;border:none}
.breaking{display:inline-flex;align-items:center;background:0 0;color:#c41a1a;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:2px 0;margin-left:8px;vertical-align:middle;line-height:1.4;border:none}
.cmt-count{display:inline-flex;align-items:center;gap:3px;color:var(--ink4)}
.cmt-count svg{flex-shrink:0;vertical-align:middle}
.foryou{padding-bottom:8px}
.foryou-note{font-size:.56rem;color:var(--ink4);font-weight:400;text-transform:none;letter-spacing:0}
.foryou-lbl{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin-right:10px}
.foryou-follows{margin-bottom:16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.foryou-chip{display:inline-block;padding:5px 12px;border:1px solid var(--rule);border-radius:14px;font-size:.62rem;font-weight:600;color:var(--ink2);text-decoration:none;text-transform:capitalize;transition:all .15s;background:var(--bg2)}
.foryou-chip:hover{border-color:var(--accent);color:var(--accent)}
.foryou-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-bottom:20px}
.foryou-card img{width:100%;height:110px;object-fit:cover;margin-bottom:8px}
.foryou-card h3{font-family:var(--fs);font-size:.82rem;font-weight:600;line-height:1.3}
.foryou-card h3 a{color:inherit;text-decoration:none}
.foryou-card h3 a:hover{color:var(--accent)}
@media(max-width:960px){.foryou-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.foryou-grid{grid-template-columns:1fr}}
.foryou-tag-lbl{display:inline-block;background:var(--bg3);color:var(--ink3);font-size:.5rem;font-weight:700;padding:2px 7px;margin-right:7px;text-transform:uppercase;letter-spacing:.08em}
.tag-kicker{display:flex;align-items:center;gap:12px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);margin-bottom:16px}
.tag-kicker::after{content:'';flex:1;height:2px;background:var(--ink)}
.acc-hero{display:flex;align-items:center;gap:18px;padding:26px 28px;background:var(--dark1);color:#fff;margin-bottom:8px}
.acc-avatar{width:60px;height:60px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fs);font-size:1.5rem;font-weight:700;flex-shrink:0}
.acc-hero-name{font-family:var(--fs);font-size:1.25rem;font-weight:700;margin-bottom:2px}
.acc-hero-meta{font-size:.62rem;color:rgba(255,255,255,.65)}
.acc-manage{margin-left:auto;background:var(--accent);color:#fff;padding:9px 20px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;white-space:nowrap}
.acc-manage:hover{background:var(--accent3)}
.acc-sec-hd{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.acc-empty{display:flex;align-items:center;gap:12px;padding:20px;background:var(--bg2);border:1px dashed var(--ink6);font-size:.78rem;color:var(--ink3);line-height:1.5}
.acc-empty svg{flex-shrink:0;color:var(--ink4)}
@media(max-width:700px){.acc-stats{grid-template-columns:1fr 1fr}.acc-hero{flex-wrap:wrap}.acc-manage{margin-left:0}}
.gpref{display:flex;align-items:center;gap:18px;padding:20px 24px;margin:28px 0 8px;background:#fff;border:1px solid var(--rule);border-left:3px solid var(--accent)}
.gpref-icon{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;color:var(--accent)}
.gpref-body{flex:1;min-width:0}
.gpref-t{font-family:var(--fs);font-size:.95rem;font-weight:700;margin-bottom:3px}
.gpref-body p{font-size:.72rem;color:var(--ink3);line-height:1.5;margin:0}
.gpref-btn{flex-shrink:0;background:var(--accent);color:#fff;padding:10px 20px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;white-space:nowrap;transition:background .15s}
.gpref-btn:hover{background:var(--accent3)}
@media(max-width:600px){.gpref{flex-wrap:wrap}.gpref-btn{width:100%;text-align:center}}
.pin-item{display:flex;align-items:center;gap:14px;padding:10px 16px;margin-bottom:8px;background:var(--dark1);color:#fff;text-decoration:none;border-left:3px solid var(--accent);transition:background .15s}
.pin-item:hover{background:var(--dark3)}
.pin-badge{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:#fff;font-size:.52rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:3px 9px;flex-shrink:0}
.pin-thumb{width:52px;height:36px;object-fit:cover;object-position:center 20%;flex-shrink:0}
.pin-cat{font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-hi);flex-shrink:0}
.pin-title{font-family:var(--fs);font-size:.88rem;font-weight:600;line-height:1.25;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pin-arrow{color:rgba(255,255,255,.5);font-size:.9rem;flex-shrink:0;transition:transform .15s}
.pin-item:hover .pin-arrow{transform:translateX(3px);color:#fff}
@media(max-width:700px){.pin-cat,.pin-thumb{display:none}.pin-title{white-space:normal;font-size:.78rem}}
.hp-widget{padding-top:20px;padding-bottom:20px}
.hp-widget-inner{border:1px solid var(--rule);background:#fff;padding:20px}
.hp-widget-inner>:first-child{margin-top:0}
.hp-widget-inner>:last-child{margin-bottom:0}
.hp-widget-inner iframe,.hp-widget-inner img{max-width:100%}
.hp-widget-inner iframe{border:none;width:100%}
.hp-widget-inner h2,.hp-widget-inner h3{font-family:var(--fs)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--accent);color:#fff;padding:10px 18px;font-size:.7rem;font-weight:700;text-decoration:none;border-radius:0 0 6px 0}
.skip-link:focus{left:0}
.acc-manage,.gpref-btn,.hd-link,.nl-form button,.rx-btn,.sub-btn{border-radius:6px}
.toc{bottom:0;height:auto}
.toc-sticky{position:sticky;top:118px;max-height:calc(100vh - 150px);overflow-y:auto;scrollbar-width:none}
.toc a.toc-active{color:var(--accent);font-weight:700}
.gpref{display:block;padding:26px 28px;margin:30px 0 8px;background:#fff;border:1px solid var(--rule);border-radius:8px}
.gpref-kicker{font-size:.54rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:8px}
.gpref-t{font-family:var(--fs);font-size:1.15rem;font-weight:700;margin:0 0 6px;line-height:1.2}
.gpref-copy{font-size:.76rem;color:var(--ink3);line-height:1.55;margin:0 0 16px;max-width:520px}
.gpref-btn{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--ink);font-size:.72rem;font-weight:600;text-decoration:none;line-height:1.2;transition:border-color .15s,box-shadow .15s;text-transform:none;letter-spacing:0}
.gpref-btn:hover{border-color:var(--ink4);box-shadow:0 2px 8px rgba(26,26,26,.08)}
.gpref-g{width:16px;height:16px;flex-shrink:0}
.gpref{border-radius:var(--r-l)}
.gpref-btn{border-radius:var(--r-l)}
.gpref-btn:hover{box-shadow:var(--sh-1)}
.pin-item{border-radius:var(--r-s)}
.hp-widget-inner{border-radius:var(--r-m)}
.acc-hero{border-radius:var(--r-m)}
.acc-streak,.foryou-chip,.tl-chip{border-radius:var(--r-pill)}
.acc-level,.acc-manage,.nl-form button,.rx-btn,.sub-btn{border-radius:var(--r-m)}
.announce-bar{background:var(--ink)!important;color:#fff!important;font-size:.7rem;font-weight:600;text-align:center;padding:9px 44px;position:relative}
.announce-bar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.announce-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:0 0;border:none;color:rgba(255,255,255,.8);font-size:1.1rem;cursor:pointer;line-height:1;padding:4px 8px}
.announce-close:hover{color:#fff}
.acc-badge{padding:14px 4px 11px}
.acc-badge-ic{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto 7px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent)}
.acc-badge-ic svg{width:20px;height:20px}
.acc-badge.earned .acc-badge-ic{background:var(--accent);color:#fff;box-shadow:0 0 0 3px var(--accent-tint)}
.tag-kick-row{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.tag-kick-row .tag-kicker::after{display:none}
.tag-kick-row::after{content:'';flex:1;height:2px;background:var(--ink);order:2}
.tag-kick-row .tag-follow{order:3}
.tag-follow{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border:1.5px solid var(--ink);border-radius:var(--r-pill);background:0 0;color:var(--ink);font-family:var(--ff);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all var(--tr-fast);flex-shrink:0}
.tag-follow:hover{background:var(--ink);color:#fff}
.tag-follow.on{background:var(--accent);border-color:var(--accent);color:#fff}
.pgn{display:flex;justify-content:space-between;gap:16px;padding:8px 0}
.pgn-a{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);text-decoration:none;transition:color var(--tr-fast)}
.pgn-a:hover{color:var(--accent)}
.pgn-a:only-child{margin-left:auto}
.tag-list{margin-top:26px;border-top:2px solid var(--ink)}
.tag-row{display:flex;align-items:center;gap:16px;padding:14px 2px;border-bottom:1px solid var(--rule-soft);text-decoration:none;transition:background var(--tr-fast)}
.tag-row:hover{background:var(--bg2)}
.tag-row-img{width:88px;height:58px;object-fit:cover;object-position:center 22%;border-radius:var(--r-s);flex-shrink:0}
.tag-row-body{flex:1;min-width:0}
.tag-row-t{font-family:var(--fs);font-size:.94rem;font-weight:600;line-height:1.3;color:var(--ink);margin-bottom:3px;transition:color var(--tr-fast)}
.tag-row:hover .tag-row-t{color:var(--accent)}
.tag-row-arrow{color:var(--ink5);flex-shrink:0;transition:transform var(--tr-fast),color var(--tr-fast)}
.tag-row:hover .tag-row-arrow{transform:translateX(3px);color:var(--accent)}
.read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:0 0;pointer-events:none}
.read-progress i{display:block;height:100%;width:0;background:var(--accent);transition:width .1s linear}
.art-rail{display:none}
@media(min-width:1440px){.art-rail{display:block;position:absolute;right:calc((100vw - 1260px)/ 2 - 40px);top:0;width:300px}.art-rail-sticky{position:sticky;top:90px}.art-rail-sticky iframe,.art-rail-sticky img{max-width:100%}}
.announce-bar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.toc-h{font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin-bottom:10px}
.auth-end-h{font-family:var(--fs);font-size:.95rem;font-weight:700;margin-bottom:2px}
.art-c p{font-size:1.165rem;line-height:1.62;margin-bottom:1.15em}
.art-c ol,.art-c ul{font-size:1.165rem;line-height:1.62;margin-bottom:1.15em;padding-left:1.3em}
.art-c li{margin-bottom:.4em}
.art-c blockquote{font-size:1.21rem;line-height:1.55}
.art-c h2{font-family:var(--fs);font-size:1.6rem;font-weight:650;line-height:1.25;margin:1.5em 0 .55em;letter-spacing:-.01em}
.art-c h3{font-family:var(--fs);font-size:1.28rem;font-weight:650;line-height:1.3;margin:1.35em 0 .5em}
.art-c figcaption{font-size:.78rem}
@media(max-width:600px){.art-c ol,.art-c p,.art-c ul{font-size:1.12rem}}
.art-c p.art-s,.art-s{font-size:1.31rem;color:var(--ink2);line-height:1.45}
.foryou-card img{border-radius:var(--img-r,0) var(--img-r,0) 0 0}
.foryou-card img{height:128px}
.art-dateline{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;font-size:.72rem;color:var(--ink3);padding:2px 0 8px;border-bottom:1px solid var(--rule);margin-bottom:22px}
.art-dateline .adl-by a{color:var(--ink);font-weight:700;text-decoration:none}
.art-dateline .adl-by a:hover{color:var(--accent)}
.adl-sep{color:var(--ink5)}
.adl-updated{color:var(--ink2);font-weight:600}
.share-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:22px;background:color-mix(in srgb,var(--ink),transparent 93%);color:var(--ink);border:0;cursor:pointer;font-family:var(--ff);font-size:.66rem;font-weight:700;letter-spacing:.03em;text-decoration:none;transition:background .15s}
.share-pill:hover{background:color-mix(in srgb,var(--ink),transparent 86%)}
.share-pill svg{width:16px;height:16px;flex-shrink:0}
.tags-lbl{font-family:var(--fs);font-size:1.15rem;font-weight:700;margin:30px 0 12px}
.tags{gap:8px}
.tag{font-size:.62rem;font-weight:700;letter-spacing:.05em;padding:9px 15px;border:0;border-radius:19px;background:color-mix(in srgb,var(--ink),transparent 93%);color:var(--ink2)}
.tag:hover{background:color-mix(in srgb,var(--ink),transparent 86%);color:var(--ink)}
@media(max-width:900px){.toc{position:static;left:auto;width:auto;margin:0 0 20px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 2px}.toc .toc-h{cursor:pointer;display:flex;align-items:center;justify-content:space-between;margin-bottom:0;user-select:none}.toc .toc-h::after{content:'+';font-size:1rem;font-weight:400;color:var(--ink3)}.toc.open .toc-h::after{content:'–'}.toc a,.toc ol,.toc ul{display:none}.toc.open ol,.toc.open ul{display:block;margin-top:10px}.toc.open a{display:block}}
@media(max-width:600px){.art-c{padding:0 20px}.art-c ol,.art-c p,.art-c ul{font-size:1.2rem;line-height:1.6}.art-t{font-size:1.95rem;line-height:1.14}.art-s{font-size:1.18rem}.art-hero-img{max-width:none;border-radius:0}}
.foryou-card,.gc,.icymi-card{transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.foryou-card:hover,.gc:hover{transform:translateY(-2px)}
.byw{display:inline}
.byp:not(:empty)+.byf{display:none}
.byf,.byp{font-weight:inherit}
@media(max-width:600px){.pgn-a{display:inline-block;padding:13px 6px;min-height:44px}}
.tag-row:last-child{border-top-width:1px;border-bottom:0}
.msub{display:none}
@media(max-width:700px){.msub{display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);padding:10px 14px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.msub.on{transform:none}.msub-btn{flex:1;display:block;text-align:center;background:var(--accent);color:var(--ink);font-family:var(--ff);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:13px 10px;text-decoration:none;border-radius:24px}.msub-x{background:0 0;border:0;color:rgba(255,255,255,.6);font-size:1.3rem;padding:4px 8px;cursor:pointer}}
.toc ul{padding-left:0!important;margin-left:0!important;list-style:none!important}
.toc li{padding-left:0!important;margin-left:0!important}
.toc a{padding-left:0!important;text-indent:0!important}
.art-rail{display:none}
@media(min-width:1420px){.art-rail{display:block;position:absolute;right:calc((100% - 720px)/ 2 - 340px);top:0;bottom:0;width:300px}.art-rail-in{position:sticky;top:120px}}
.toolbar .share-pill+.share-pill{margin-left:8px}
.gpref{padding-top:18px}
@media(max-width:700px){.toc{display:none!important}}
.ad-img{max-width:728px;width:100%;height:auto;display:inline-block}
.ad-img-rail{width:300px;max-width:300px}
.msub{justify-content:center}
.gpref .gpref-t{margin-top:0!important}
.gpref-btn{width:100%;justify-content:center;background:#fff!important;color:#3c4043!important;font-size:.78rem;padding:13px 18px;border:1px solid #dadce0!important;border-radius:10px}
.gpref-btn:hover{box-shadow:0 1px 4px rgba(0,0,0,.15)}
.gpref-g{width:20px;height:20px;flex-shrink:0}
.ad-img,.art-hero-img,.dense-img img,.foryou-card img,.gc img,.hero-mo-big img,.hero-mo-sm img,.hero-ov-img,.hero-ov-link,.hero-sp2-img,.hero-ty-img,.icymi-thumb img,.lead-ar-img,.li img,.mi-thumb img,.mr-thumb img,.oc-img img,.tag-hero img,.topic-lead-img{border-radius:var(--img-r,8px)}
@media(max-width:700px){.rx-bar{display:flex;flex-wrap:wrap;gap:8px}.rx-btn{flex:1 1 44%;justify-content:center;padding:10px 8px;font-size:.64rem}}
.msub{flex-wrap:wrap}
.msub-note{width:100%;text-align:center;font-size:.6rem;letter-spacing:.02em;margin-top:5px;color:rgba(255,255,255,.55)}
.announce-bar{background:var(--dark1,#2c2c2c)}
@keyframes tlpulse{0%,100%{opacity:1}50%{opacity:.35}}
.foryou-note,.msub-note{color:#6e6b66}
.kg-image-card img,.kg-embed-card iframe{max-width:100%;height:auto;border-radius:var(--img-r,8px)}
.kg-embed-card{position:relative}
.kg-card figcaption{font-family:var(--ff);font-size:.72rem;color:var(--ink3);text-align:center;margin-top:11px}
.kg-gallery-container{display:flex;flex-direction:column;max-width:1040px;margin:1.6em auto}
.kg-gallery-row{display:flex;flex-direction:row;justify-content:center;gap:8px}
.kg-gallery-row:not(:first-of-type){margin-top:8px}
.kg-gallery-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--img-r,8px)}
.kg-bookmark-container{display:flex;flex-wrap:wrap;color:var(--ink);text-decoration:none;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--surface)}
.kg-bookmark-content{flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:18px}
.kg-bookmark-title{font-family:var(--fs);font-weight:650;font-size:.95rem;color:var(--ink)}
.kg-bookmark-description{font-family:var(--ff);font-size:.78rem;color:var(--ink3);margin-top:5px;max-height:44px;overflow:hidden}
.kg-bookmark-metadata{display:flex;align-items:center;margin-top:12px;font-family:var(--ff);font-size:.72rem;color:var(--ink2);flex-wrap:wrap}
.kg-bookmark-icon{width:18px;height:18px;margin-right:7px}
.kg-bookmark-author,.kg-bookmark-publisher{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kg-bookmark-author:after{content:"•";margin:0 5px}
.kg-bookmark-thumbnail{position:relative;flex-grow:0;min-width:33%}
.kg-bookmark-thumbnail img{width:100%;height:100%;object-fit:cover}
.rn-more{margin-top:16px;font-family:var(--ff);font-size:.82rem;font-weight:600}
.rn-more a{color:var(--accent-text,#ad4a16);text-decoration:none}
/* ===== article overrides (loaded after legacy reading rules) ===== */
.art-c{max-width:740px}
.art-t{font-family:var(--fs);font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-bottom:14px}
.art-s{font-family:var(--ff);font-size:1.15rem;font-weight:400;color:var(--ink3);line-height:1.5;margin-bottom:20px}
.art-c .cat{font-size:.86rem;font-weight:700;margin-bottom:10px}
.toolbar{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);padding:12px 0}
.tb-reading{font-size:.84rem;color:var(--ink3);font-weight:600}
.share-pill{border-radius:var(--r-pill);font-weight:600}
.art-hero-img{border-radius:var(--r-l)}
.art-cap{font-size:.8rem;color:var(--ink4);margin:10px 0 22px}
.art-dateline{font-size:.86rem;color:var(--ink3)}
.adl-by{font-weight:600;color:var(--ink)}
.adl-updated{color:var(--accent);font-weight:600}
.body p,.gh-content p{font-family:var(--ff);font-size:1.08rem;line-height:1.72;color:var(--ink2);margin-bottom:20px}
.body h2,.gh-content h2{font-family:var(--fs);font-size:1.55rem;font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:38px 0 12px}
.body h3,.gh-content h3{font-family:var(--fs);font-size:1.22rem;font-weight:700;letter-spacing:-.02em;margin:28px 0 10px}
.body a,.gh-content a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.body blockquote,.gh-content blockquote{font-family:var(--fs);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;border-left:4px solid var(--accent);padding-left:20px;margin:28px 0;color:var(--ink)}
.body ul,.body ol,.gh-content ul,.gh-content ol{font-size:1.04rem;line-height:1.65;color:var(--ink2);margin:0 0 20px 22px}
.body li,.gh-content li{margin-bottom:6px}
.tldr-box,section[data-nr=tldr]{background:var(--bg2);border:0;border-left:4px solid var(--accent);border-radius:0 var(--r-m) var(--r-m) 0;padding:18px 22px}
.kt-box,section[data-nr=kt]{background:var(--surface);border:2px solid var(--ink);border-radius:var(--r-m);padding:18px 22px}
.tldr-box h3,.kt-box h3,.faq-sec h3,.cite-sec h3,section[data-nr] h4{font-family:var(--fs);font-size:1rem;font-weight:800;letter-spacing:-.01em;color:var(--ink);text-transform:none;margin:0 0 10px}
.kt-num{background:var(--ink);color:var(--bg);border-radius:6px}
.faq-q,section[data-nr=faq] summary{font-family:var(--fs);font-weight:700;font-size:1.02rem}
.toc .toc-h{font-size:.78rem;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink4)}
.toc a{font-size:.82rem;color:var(--ink4)}
.toc a.on,.toc a:hover{color:var(--accent)}
.tags-lbl{font-size:.8rem;color:var(--ink4);margin:28px 0 10px}
.tag{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:var(--r-pill);background:var(--bg2);font-size:.86rem;font-weight:600;color:var(--ink2);border:0}
.tag:hover{background:var(--ink);color:var(--bg)}
.rx-wrap{border:2px solid var(--ink);border-radius:var(--r-l)}
.rx-prompt{font-family:var(--fs);font-weight:800;font-size:1.05rem;text-transform:none;letter-spacing:-.01em}
.rx-btn{border-radius:var(--r-pill)}
.gpref{background:var(--bg2);border-radius:var(--r-l);border:0}
.gpref-t{font-family:var(--fs);font-weight:800;letter-spacing:-.02em;font-size:1.2rem}
.gpref-btn{border-radius:var(--r-pill)}
.read-progress i{background:var(--accent)}
.rn-more{margin-top:18px}
.rn-more a{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:var(--r-pill);border:2px solid var(--ink);font-weight:700;font-size:.9rem}
.rn-more a:hover{background:var(--ink);color:var(--bg)}
.msub{background:var(--ink)}
.msub-btn{background:var(--accent);color:#fff;border-radius:var(--r-pill);font-weight:700}
.pin-badge{background:var(--accent);color:#fff;border-radius:var(--r-pill)}
.breaking{background:var(--danger);color:#fff;border-radius:var(--r-pill);padding:2px 8px;font-size:.7rem;font-weight:700;text-transform:none;letter-spacing:0}
.live-badge{background:var(--success);color:#fff;border-radius:var(--r-pill);padding:2px 8px;font-size:.7rem;font-weight:700;text-transform:none;letter-spacing:0}
.exclusive-badge,.analysis-badge{background:var(--ink);color:var(--bg);border-radius:var(--r-pill);padding:2px 8px;font-size:.7rem;font-weight:700;text-transform:none;letter-spacing:0}
.hp-widget{margin-top:36px}
.hp-widget-inner{border:2px solid var(--ink);border-radius:var(--r-l);padding:24px}
.dk-title,.wrap-hero-line,.acc-row-name{font-family:var(--fs);letter-spacing:-.025em}
.gh-notification-bar,.gh-portal-notification{font-family:var(--ff)}
@media(max-width:900px){.art-c{max-width:100%}}
/* post-review fixes */
.dual{margin-top:48px}
.tag,.tags .tag{text-transform:none;letter-spacing:0}
.tag-follow{text-transform:none;letter-spacing:0;font-family:var(--ff)}
.icy .meta .rt,.icy .meta .sep:has(+ .rt){display:none}
.op>.w{padding:0}
@media(max-width:860px){.thm-btn{display:none}}
@media(max-width:600px){.logo{font-size:1.08rem}.hdp{padding:0 6px 0 14px;gap:6px}.sub-btn{padding:0 13px;height:36px;font-size:.8rem}.hd-link{padding:0 8px;width:36px;justify-content:center}.mnav-btn{width:36px}}
@media(min-width:1101px){.hd-search{display:none}}

/* ---------- v1.2 ---------- */
/* prompts row (replaces ticker) */
.tkr{display:none}
.pr{display:flex;align-items:center;gap:12px;padding:10px 0 4px;overflow:hidden}
.pr-lbl{display:inline-flex;align-items:center;gap:8px;font-family:var(--fs);font-size:.9rem;font-weight:800;color:var(--ink);white-space:nowrap;flex-shrink:0}
.pr-lbl .caret{display:inline-block;width:.45em;height:1em;background:var(--accent);border-radius:2px;animation:blink 1.1s steps(2,start) infinite}
.pr-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.pr-row::-webkit-scrollbar{display:none}
.pr-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 12px;border-radius:var(--r-pill);border:1.5px solid var(--ink6);font-size:.84rem;font-weight:500;color:var(--ink2);white-space:nowrap;max-width:360px;background:var(--surface)}
.pr-chip b{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.pr-chip{color:var(--ink2)}.pr-chip b{color:var(--accent)}
.pr-chip.k-marketing b{color:var(--c-marketing)}.pr-chip.k-media b{color:var(--c-media)}.pr-chip.k-advertising b{color:var(--c-advertising)}.pr-chip.k-ai b{color:var(--c-ai)}.pr-chip.k-technology b{color:var(--c-technology)}.pr-chip.k-finance b{color:var(--c-finance)}.pr-chip.k-brands b{color:var(--c-brands)}.pr-chip.k-agencies b{color:var(--c-agencies)}
.pr-chip:hover{border-color:var(--ink);color:var(--ink)}
.pr-chip{overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.pr-lbl span{display:none}.pr-chip{max-width:260px}}
/* opinion redesign */
.op{margin-top:56px;background:var(--bg2);padding:32px clamp(20px,4vw,40px) 36px;border-radius:var(--r-l)}
.op-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:start}
.op-lead{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:start}
.op-por{width:180px;height:180px;border-radius:50%;object-fit:cover;background:var(--bg3)}
.op-por.av-i{display:flex;align-items:center;justify-content:center;font-size:2.4rem}
.op-lead h3{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-bottom:12px}
.op-lead h3 a:hover,.op-row h3 a:hover{color:var(--accent)}
.op-arg{font-size:1.05rem;line-height:1.5;color:var(--ink2);margin-bottom:14px;max-width:52ch}
.op-who{display:flex;flex-direction:column;gap:2px;font-size:.92rem}
.op-who b{font-weight:700;color:var(--ink)}
.op-who span{color:var(--ink4);font-size:.84rem}
.op-who-sm{font-size:.84rem}.op-who-sm span{font-size:.78rem}
.op-list{display:flex;flex-direction:column}
.op-row{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--ink6);align-items:start}
.op-row:first-child{border-top:0;padding-top:0}
.op-row .av{width:44px;height:44px}
.op-row h3{font-size:1.12rem;font-weight:700;letter-spacing:-.02em;line-height:1.22;margin-bottom:6px}
.oc,.oc::before{display:none}
@media(max-width:1000px){.op-g{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.op-lead{grid-template-columns:1fr}.op-por{width:120px;height:120px}}
/* research cards */
.rc{display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px;border:2px solid var(--ink);border-radius:var(--r-m);background:var(--surface);min-height:230px}
.rc-pub{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--ink4)}
.rc-host{font-weight:600;color:var(--c-technology)}
.rc h3{font-size:1.18rem;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.rc h3 a:hover{color:var(--accent)}
.rc-dek{font-size:.92rem;line-height:1.45;color:var(--ink3);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rc-ft{margin-top:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:8px}
.rc-btn{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:var(--r-pill);background:var(--ink);color:var(--bg);font-size:.82rem;font-weight:700}
.rc-btn:hover{background:var(--accent);color:#fff}
.rc-more{font-size:.82rem;font-weight:600;color:var(--ink3);padding:0 6px}
.rc-more:hover{color:var(--accent)}
.rc-date{margin-left:auto;font-size:.78rem;color:var(--ink4)}
.op-por.av-i{background:var(--ink);color:var(--bg)}

/* ---------- leaderboards (v1.3) ---------- */
.rk-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.rk-g-home{grid-template-columns:repeat(3,minmax(0,1fr))}
.rk{display:flex;flex-direction:column;border:2px solid var(--ink);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.rk-hd{padding:18px 20px 12px}
.rk h3{font-size:1.15rem;font-weight:800;letter-spacing:-.025em;line-height:1.15;margin-bottom:4px}
.rk h3 a:hover{color:var(--accent)}
.rk-meta{font-size:.78rem;color:var(--ink4)}
.rk-body{padding:0 20px}
.rk-link{display:block;padding:12px 20px 16px;font-size:.84rem;font-weight:700;color:var(--ink);border-top:1px solid var(--rule);margin-top:auto}
.rk-link:hover{color:var(--accent)}
.rk-nodata .rk-body::before{content:"No leaderboard data in this post yet.";display:block;font-size:.84rem;color:var(--ink4);padding:8px 0 14px}
.lb{font-family:var(--ff)}
.lb-hd{margin-bottom:12px}
.lb-cat{font-size:.82rem;font-weight:700;color:var(--c-ai);margin-bottom:6px}
.lb-cat span{font-weight:500;color:var(--ink4)}
.lb-cat span::before{content:"\00b7";margin:0 6px}
.lb-q{display:flex;align-items:flex-start;gap:8px;font-family:var(--fs);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}
.lb-q .caret{display:inline-block;flex-shrink:0;width:.42em;height:1em;background:var(--accent);border-radius:2px;margin-top:.15em}
.lb-meta{font-size:.78rem;color:var(--ink4);margin-top:6px}
.lb-rows{list-style:none;margin:0;padding:0}
.lb-row{display:grid;grid-template-columns:22px 34px minmax(0,1fr) minmax(60px,110px) 44px auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--rule);font-size:.9rem}
.lb-row:first-child{border-top:0}
.lb-compact .lb-row{grid-template-columns:20px 30px minmax(0,1fr) minmax(50px,90px) 40px;padding:7px 0}
.lb-compact .lb-nc{display:none}
.lb-n{font-family:var(--fs);font-weight:800;color:var(--ink);text-align:right}
.lb-row:first-child .lb-n{color:var(--accent)}
.lb-chg{font-size:.72rem;font-weight:700;text-align:center;border-radius:6px;padding:2px 0}
.lb-up{color:var(--success)}.lb-down{color:var(--danger)}.lb-flat{color:var(--ink5)}.lb-new{background:var(--accent-tint);color:var(--accent);font-size:.66rem;text-transform:lowercase}
.lb-b{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.lb-b,.lb-b a{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-b a:hover{color:var(--accent)}
.lb-b small{font-weight:400;font-size:.74rem;color:var(--ink4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-bar{height:8px;background:var(--bg2);border-radius:99px;overflow:hidden}
.lb-bar i{display:block;height:100%;background:var(--ink);border-radius:99px}
.lb-row:first-child .lb-bar i{background:var(--accent)}
.lb-s{font-family:var(--fs);font-weight:800;font-size:.95rem;text-align:right;font-variant-numeric:tabular-nums}
.lb-nc{font-size:.76rem;color:var(--ink4);font-variant-numeric:tabular-nums;white-space:nowrap}
.lb-nc em{font-style:normal;margin:0 2px}
.lb-ft{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.76rem;color:var(--ink4);padding-top:10px;border-top:2px solid var(--ink);margin-top:6px}
.lb-ft a{color:var(--accent);font-weight:600}
.lb-more{font-size:.78rem;color:var(--ink4);padding:8px 0 10px;border-top:1px solid var(--rule)}
.gh-content .lb,.body .lb{margin:24px 0 32px;padding:20px 22px;border:2px solid var(--ink);border-radius:var(--r-l);background:var(--surface)}
.gh-content .lb .lb-q{font-size:1.35rem}
.gh-content .lb-rows,.body .lb-rows{margin:0;font-size:.95rem}
.rk-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}
.rk-filter{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rk-filter-l{font-size:.82rem;color:var(--ink4);margin-right:4px}
.rk-chip{height:32px;padding:0 12px;border-radius:var(--r-pill);border:1.5px solid var(--ink6);background:var(--surface);font-size:.82rem;font-weight:600;color:var(--ink2);cursor:pointer}
.rk-chip:hover,.rk-chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.rk-q{height:36px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--ink6);font-family:var(--ff);font-size:.86rem;min-width:240px;background:var(--bg);color:var(--ink);outline:0}
.rk-q:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.rk-method{margin-top:40px;max-width:720px}
.rk-method h2{font-size:1.3rem;margin-bottom:8px}
.rk-method p{font-size:.98rem;line-height:1.6;color:var(--ink2)}
@media(max-width:1000px){.rk-g-home{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.rk-g,.rk-g-home{grid-template-columns:1fr}.lb-row{grid-template-columns:20px 30px minmax(0,1fr) 60px 40px}.lb-nc{display:none}}
.lb-compact .lb-cat,.lb-compact .lb-meta{display:none}
.lb-compact .lb-q{font-size:1rem}
/* rankings by industry (v1.4) */
.rk-ind{margin-bottom:36px}
.rk-ind-h{display:flex;align-items:baseline;gap:12px;font-size:1.35rem;font-weight:800;letter-spacing:-.025em;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:18px}
.rk-ind-h span{font-family:var(--ff);font-size:.82rem;font-weight:500;color:var(--ink4)}
.lb-partner a{color:var(--accent);font-weight:600}
.lb-partner-sm{font-size:.74rem;color:var(--ink4);padding:8px 0 4px;border-top:1px solid var(--rule)}
.lb-compact .lb-more{border-top:0;padding-top:2px}
.lb-bar-x{background:transparent}
.lb-s-x{font-family:var(--ff);font-weight:500;font-size:.76rem;color:var(--ink4);text-align:right;white-space:nowrap}
.lb-row:has(.lb-s-x){grid-template-columns:22px 34px minmax(0,1fr) 0 auto auto}
.lb-compact .lb-row:has(.lb-s-x){grid-template-columns:20px 30px minmax(0,1fr) 0 auto}

/* ---------- v1.5 ---------- */
/* Latest row: four chips that fit, no clipping */
.pr-row{mask-image:none;overflow:visible;flex:1;min-width:0}
.pr-chip{flex:1 1 0;min-width:0;max-width:none;justify-content:flex-start}
.pr-chip{display:inline-flex}
.pr-chip>b{flex-shrink:0}
@media(max-width:900px){.pr-row{overflow-x:auto;mask-image:linear-gradient(90deg,#000 92%,transparent)}.pr-chip{flex:0 0 auto;max-width:280px}}
/* The Index band */
.ix{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:start}
.ix-main .rk{border-radius:var(--r-l)}
.ix-side{position:sticky;top:130px}
.ix-blurb{font-size:1rem;line-height:1.55;color:var(--ink2);margin-bottom:22px;max-width:44ch}
.ix-list-h{font-family:var(--fs);font-size:.95rem;font-weight:800;padding-bottom:8px;border-bottom:2px solid var(--ink);margin-bottom:4px}
.ix-list{list-style:none;margin:0 0 18px;padding:0}
.ix-list a{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--rule);font-family:var(--fs);font-weight:700;font-size:1rem;line-height:1.25;letter-spacing:-.015em}
.ix-list a:hover{color:var(--accent)}
.ix-list small{font-family:var(--ff);font-weight:400;font-size:.78rem;color:var(--ink4);white-space:nowrap}
.ix-cta{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:var(--r-pill);border:2px solid var(--ink);font-weight:700;font-size:.88rem}
.ix-cta:hover{background:var(--ink);color:var(--bg)}
@media(max-width:1000px){.ix{grid-template-columns:1fr;gap:24px}.ix-side{position:static}}
/* FAQ and other id-based article cards from the pipeline */
#faq,#tldr,#key-takeaways,#sources{scroll-margin-top:90px}
#faq{margin:32px 0}
#faq .faq-h,#faq>p:first-child,#faq>h2,#faq>h3,#sources>h2,#sources>h3{font-family:var(--fs)!important;font-size:1.05rem!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.01em!important;color:var(--ink)!important;margin:0 0 12px!important;padding:0!important;border:0!important;line-height:1.3!important}
#faq details,.faq-item{border:1.5px solid var(--ink6)!important;border-radius:var(--r-m)!important;margin:0 0 8px!important;padding:0!important;background:var(--surface)!important;overflow:hidden}
#faq details[open],.faq-item.open{border-color:var(--ink)!important}
#faq details summary,.faq-q{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--ff)!important;font-size:1rem!important;font-weight:600!important;color:var(--ink)!important;cursor:pointer;list-style:none;padding:14px 18px!important;line-height:1.4;transition:background .15s;text-transform:none!important;letter-spacing:0!important}
#faq details summary:hover,.faq-q:hover{background:var(--bg2)}
#faq details summary::-webkit-details-marker{display:none}
#faq details summary::after{content:"+";font-size:1.2rem;font-weight:400;color:var(--ink4);flex-shrink:0;line-height:1}
#faq details[open] summary::after{content:"\u2013"}
#faq details>:not(summary),.faq-a{font-family:var(--ff)!important;font-size:.98rem!important;line-height:1.6!important;color:var(--ink2)!important;padding:0 18px 16px!important;margin:0!important;border:0!important;max-width:none}
#faq details>:not(summary) a,.faq-a a{color:var(--accent)}
#sources ol,#sources ul,.cite-sec ol{padding-left:20px;font-size:.9rem;line-height:1.5;color:var(--ink3)}
#sources li,.cite-sec li{margin-bottom:6px;font-size:.9rem;color:var(--ink3)}
#sources a,.cite-sec a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
/* in-body inline-styled pipeline cards: neutralise their own fonts/greys */
#article-body [style*="font-family"]{font-family:var(--ff)!important}
#article-body .tldr-box p,#article-body .kt-box li,#article-body section[data-nr] p,#article-body section[data-nr] li{font-family:var(--ff)!important;font-size:1rem;line-height:1.6}
/* v1.5.1: attributed quotes read as body text, not pull quotes */
#article-body blockquote,.body blockquote,.gh-content blockquote{font-family:var(--ff);font-size:1.02rem;font-weight:400;letter-spacing:0;line-height:1.6;color:var(--ink2);border-left:3px solid var(--ink6);padding:2px 0 2px 18px;margin:16px 0 18px}
#article-body blockquote p,.gh-content blockquote p{font-size:1.02rem;line-height:1.6;margin:0 0 8px;color:var(--ink2)}
#article-body blockquote+p.qa,#article-body blockquote+.qa,.body .qa{font-size:.84rem;color:var(--ink4);margin:-8px 0 18px 21px}
.gh-content .kg-blockquote-alt,#article-body blockquote.pull,#article-body .pullquote{font-family:var(--fs);font-size:1.4rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;border-left:4px solid var(--accent);padding:6px 0 6px 20px;margin:28px 0;color:var(--ink)}
/* v1.5.2: pipeline cards (inline-styled) re-skinned to the brand. Sizes left as the pipeline sets them. */
#tldr,#key-takeaways{background:var(--bg2)!important;border:0!important;border-left:4px solid var(--accent)!important;border-radius:0 var(--r-m) var(--r-m) 0!important;padding:20px 24px!important;margin:28px 0!important}
#key-takeaways{background:var(--surface)!important;border:2px solid var(--ink)!important;border-radius:var(--r-m)!important}
#tldr>p:first-child,#key-takeaways>p:first-child,#sources>p:first-child,#faq>p:first-child{font-family:var(--fs)!important;font-size:.95rem!important;font-weight:800!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--ink)!important;border-bottom:0!important;padding:0!important;margin:0 0 10px!important}
#tldr>p:first-child::after{content:none}
#tldr p,#key-takeaways div,#key-takeaways span{font-family:var(--ff)!important;color:var(--ink2)!important}
#key-takeaways>div{gap:14px!important;margin-bottom:12px!important;border-top:1px solid var(--rule);padding-top:12px!important}
#key-takeaways>div:nth-child(2){border-top:0;padding-top:0!important}
#key-takeaways>div:last-child{margin-bottom:0!important}
#key-takeaways>div>span:first-child{font-family:var(--fs)!important;color:var(--accent)!important;font-weight:800!important;min-width:26px!important}
#sources{border-top:2px solid var(--ink)!important;margin:32px 0 8px!important;padding:16px 0 0!important}
#sources li{color:var(--ink3)!important}#sources a{color:var(--ink2)!important}
/* persona byline chip and end-of-article persona card from the pipeline */
#article-body>div[style*="align-items:center"][style*="gap:10px"]{font-family:var(--ff)!important;font-size:.9rem;color:var(--ink3)}
#article-body>div[style*="border-top:2px solid"]{border-top:2px solid var(--ink)!important;font-family:var(--ff)!important}
#article-body div[style*="font-family:'Libre Franklin'"],#article-body p[style*="font-family:'Lora'"],#article-body span[style*="font-family:'Lora'"]{font-family:var(--ff)!important}
#article-body [style*="color:#d4d1cb"]{color:var(--accent)!important}
#article-body [style*="border-bottom:1px solid #d4d1cb"],#article-body [style*="border-top:1px solid #d4d1cb"],#article-body [style*="border:1px solid #d4d1cb"]{border-color:var(--rule)!important}
#article-body [style*="background:#efede8"],#article-body [style*="background:#f7f6f3"],#article-body [style*="background:#fbfaf7"]{background:var(--bg2)!important}
[data-theme=dark] #tldr,[data-theme=dark] #key-takeaways{background:var(--surface-2)!important}
#article-body #tldr{border:0!important;border-left:4px solid var(--accent)!important}
#article-body #key-takeaways{border:2px solid var(--ink)!important}
#article-body blockquote,.body blockquote,.gh-content blockquote{font-style:normal}

/* ---------- v1.6 ---------- */
/* Latest as a four-up strip with full headlines */
.pr{display:none}
.lt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:12px 0 4px;border-bottom:1px solid var(--rule);margin-bottom:6px}
.lt-lbl{display:inline-flex;align-items:center;gap:8px;font-family:var(--fs);font-size:.92rem;font-weight:800;white-space:nowrap;padding-top:2px}
.lt-lbl .caret{display:inline-block;width:.45em;height:1em;background:var(--accent);border-radius:2px;animation:blink 1.1s steps(2,start) infinite}
.lt-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 22px}
.lt-it{display:grid;grid-template-columns:10px 1fr;gap:0 9px;align-items:start;padding:2px 0 10px;min-width:0}
.lt-it b{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px}
.lt-it.k-marketing b{background:var(--c-marketing)}.lt-it.k-media b{background:var(--c-media)}.lt-it.k-advertising b{background:var(--c-advertising)}.lt-it.k-ai b{background:var(--c-ai)}.lt-it.k-technology b{background:var(--c-technology)}.lt-it.k-finance b{background:var(--c-finance)}.lt-it.k-brands b{background:var(--c-brands)}.lt-it.k-agencies b{background:var(--c-agencies)}.lt-it.k-research b{background:var(--c-technology)}.lt-it.k-rankings b{background:var(--c-ai)}
.lt-it span{font-size:.9rem;font-weight:600;line-height:1.3;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lt-it:hover span{color:var(--accent)}
.lt-it small{grid-column:2;font-size:.74rem;color:var(--ink4);margin-top:3px}
@media(max-width:1000px){.lt-g{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.lt{grid-template-columns:1fr;gap:8px}.lt-g{grid-template-columns:1fr;gap:0}.lt-it{border-top:1px solid var(--rule-hair);padding:8px 0}}
/* rows and picks without an image: collapse the thumbnail column instead of showing a grey box */
.row:has(> span.fr),.pick:has(> span.fr){grid-template-columns:1fr}
.row>span.fr,.pick>span.fr{display:none}
.icy .row:has(> span.fr){grid-template-columns:1fr}
.list .row:has(> span.fr){grid-template-columns:1fr}
/* announcement bar in brand colour */
.announce-bar{background:var(--accent)!important;color:#fff!important;font-family:var(--ff);font-size:.86rem;font-weight:600}
.announce-bar a{color:#fff!important}
/* leaderboard: rank number always visible and bold, even on unscored rankings */
.lb-n{font-size:.95rem;color:var(--ink)!important;min-width:22px}
.lb-row:first-child .lb-n{color:var(--accent)!important}
.moves-page{grid-template-columns:1fr;max-width:820px}
.moves-page .mv-t{font-size:1.15rem}

/* ---------- v1.7: masthead nav + thumbnails ---------- */
.nv{padding:4px 0 0;overflow:visible}
.nv .w{display:flex;align-items:stretch;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule)}
.nav-list{display:flex;gap:0;list-style:none;width:auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav-list::-webkit-scrollbar{display:none}
.nav-list li a{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 13px;border-radius:0;font-size:.92rem;font-weight:600;color:var(--ink2);background:transparent;border:0;position:relative;white-space:nowrap;letter-spacing:-.005em}
.nav-list li:first-child a{padding-left:2px}
.nav-list li a i{width:7px;height:7px;border-radius:50%;background:var(--ink5);flex-shrink:0;transition:background var(--tr-fast),transform var(--tr-fast)}
.nav-list li a::after{content:"";position:absolute;left:13px;right:13px;bottom:-1px;height:3px;background:var(--sc,var(--ink));border-radius:3px 3px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.nav-list li:first-child a::after{left:2px}
.nav-list li a:hover{background:transparent;color:var(--ink)}
.nav-list li a:hover i,.nav-list li.ac a i,.nav-list li.nav-current a i{background:var(--sc,var(--ink));transform:scale(1.25)}
.nav-list li a:hover::after,.nav-list li.ac a::after,.nav-list li.nav-current a::after{transform:scaleX(1)}
.nav-list li.ac a,.nav-list li.nav-current a{background:transparent;color:var(--ink);font-weight:800}
.nav-list li.nav-home{display:none}
.nav-marketing{--sc:var(--c-marketing)}.nav-media{--sc:var(--c-media)}.nav-advertising{--sc:var(--c-advertising)}.nav-ai{--sc:var(--c-ai)}.nav-technology{--sc:var(--c-technology)}.nav-finance{--sc:var(--c-finance)}.nav-brands{--sc:var(--c-brands)}.nav-agencies{--sc:var(--c-agencies)}.nav-research{--sc:var(--c-technology)}.nav-opinion{--sc:var(--ink)}.nav-rankings{--sc:var(--c-ai)}
.nav-util{display:flex;gap:6px;list-style:none;align-items:center;flex-shrink:0}
.nav-util a{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:var(--r-pill);border:1.5px solid var(--ink6);font-size:.82rem;font-weight:700;color:var(--ink);background:var(--surface);white-space:nowrap}
.nav-util a svg{width:14px;height:14px}
.nav-util a:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.nav-util li:first-child a{background:var(--accent);border-color:var(--accent);color:#fff}
.nav-util li:first-child a:hover{background:var(--accent3);border-color:var(--accent3)}
@media(max-width:1100px){.nav-util{display:none}}
@media(max-width:860px){.nv{display:none}}
/* thumbnails: 4:3, framed on the upper third so faces survive the crop */
.row .fr,.pick .fr{aspect-ratio:4/3;border-radius:var(--r-s)}
.row .fr img,.pick .fr img,.icy .fr img,.list .fr img{object-position:center 22%}
.row{grid-template-columns:104px 1fr}
.row-lg{grid-template-columns:140px 1fr}
.pick{grid-template-columns:84px 1fr}
.icy .row{grid-template-columns:1fr 88px}
.list .row{grid-template-columns:1fr 132px}
.card .fr img,.lead .fr img,.topic-lead .fr img,.tag-hero .fr img{object-position:center 30%}
@media(max-width:600px){.row{grid-template-columns:88px 1fr}.list .row{grid-template-columns:1fr 96px}}
.lt-it span{-webkit-line-clamp:3}
/* footer bar: built by Bushnote, legal, copyright */
.ft-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.ft-built{display:inline-flex;align-items:center;gap:10px;font-size:.84rem;color:rgba(255,255,255,.7);white-space:nowrap}
.ft-built img{height:24px;width:auto;opacity:.95;transition:opacity var(--tr-fast)}
.ft-built:hover{color:#fff}.ft-built:hover img{opacity:1}
.ft-legal{display:flex;align-items:center;gap:10px;font-size:.82rem;color:rgba(255,255,255,.45)}
.ft-legal a{color:rgba(255,255,255,.72)}.ft-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ft-bar .ft-copy{margin:0}
[data-theme=dark] .ft-bar{border-top-color:rgba(0,0,0,.18)}
[data-theme=dark] .ft-built{color:rgba(0,0,0,.65)}[data-theme=dark] .ft-built img{filter:invert(1) brightness(.2)}
[data-theme=dark] .ft-legal,[data-theme=dark] .ft-legal a{color:rgba(0,0,0,.6)}
@media(max-width:600px){.ft-bar{flex-direction:column;align-items:flex-start;gap:14px}}

/* ---------- v1.8 ---------- */
/* nav: a quiet band of section names; colour only on hover and the current section */
.nv{padding:6px 0 0}
.nv .w{border-bottom:0;padding-left:var(--px);padding-right:var(--px)}
.nav-list{gap:2px;width:100%;justify-content:space-between;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.nav-list li{flex:0 1 auto}
.nav-list li a{height:46px;padding:0 10px;font-size:.95rem;font-weight:600;color:var(--ink3);gap:0;letter-spacing:-.01em}
.nav-list li:first-child a{padding-left:0}
.nav-list li a i{display:none}
.nav-list li a::after{left:10px;right:10px;bottom:-1px;height:3px}
.nav-list li:first-child a::after{left:0}
.nav-list li a:hover{color:var(--sc,var(--ink))}
.nav-list li.ac a,.nav-list li.nav-current a{color:var(--ink);font-weight:800}
.nav-list li.nav-index a{color:var(--accent);font-weight:800;padding-right:0}
.nav-list li.nav-index a::after{right:0;background:var(--accent)}
.nav-util{display:none}
@media(max-width:1100px){.nav-list{justify-content:flex-start;gap:10px}.nav-list li a{padding:0 8px;font-size:.9rem}}
/* quotes read as ordinary paragraphs */
#article-body blockquote,.body blockquote,.gh-content blockquote{border-left:0;padding:0;margin:0 0 18px;color:var(--ink2)}
/* tag page: text-only hero when there is no image */
.tag-hero-text{grid-template-columns:1fr;padding:8px 0 28px;border-bottom:1px solid var(--rule)}
.tag-hero-text h2{font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:22ch}
.tag-hero-text .dek{max-width:64ch}
/* compact index band */
.ix{gap:32px}
.ix-main .rk-hd{padding:16px 20px 8px}
.ix-main .lb-compact .lb-row{padding:6px 0}
.ix-blurb{font-size:.95rem;margin-bottom:16px}
.ix-list a{padding:9px 0;font-size:.95rem}

/* ---------- v1.9: opinion + research ---------- */
.op-g,.op-lead,.op-list,.op-row,.op-por{display:none}
.op{background:var(--surface);border:2px solid var(--ink);padding:26px clamp(20px,4vw,36px) 30px}
.op-g3{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:0 36px}
.opc{display:flex;flex-direction:column;gap:12px;min-width:0}
.opc+.opc{border-left:1px solid var(--rule);padding-left:36px}
.opc-who{display:flex;align-items:center;gap:12px}
.opc-av{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--bg3);flex-shrink:0}
.opc-av-i{display:inline-flex;align-items:center;justify-content:center;font-family:var(--fs);font-size:.8rem;font-weight:800;color:var(--bg);background:var(--ink)}
.opc-name{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.opc-name b{font-size:.95rem;font-weight:700}
.opc-name span{font-size:.8rem;color:var(--ink4);margin-top:2px}
.opc h3{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.opc h3 a:hover{color:var(--accent)}
.opc-arg{font-size:.95rem;line-height:1.5;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.opc .meta{margin-top:auto}
.opc-lead .opc-av{width:72px;height:72px}
.opc-lead .opc-av-i{font-size:1.1rem}
.opc-lead h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;line-height:1.08}
.opc-lead .opc-arg{font-size:1.05rem;-webkit-line-clamp:5}
.opc-lead .opc-name b{font-size:1.05rem}
@media(max-width:1000px){.op-g3{grid-template-columns:1fr 1fr}.opc-lead{grid-column:1/-1;border-bottom:1px solid var(--rule);padding-bottom:22px;margin-bottom:8px}.opc+.opc{border-left:0;padding-left:0}.opc:nth-child(3){border-left:1px solid var(--rule);padding-left:24px}}
@media(max-width:600px){.op-g3{grid-template-columns:1fr}.opc:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:18px}}
/* opinion page */
.op-page{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.op-page .opc-lead{position:sticky;top:130px}
.op-page-list{display:flex;flex-direction:column}
.op-page-list .opc{padding:22px 0;border-top:1px solid var(--rule);border-left:0;padding-left:0;display:grid;grid-template-columns:200px 1fr;gap:6px 24px}
.op-page-list .opc:first-child{border-top:0;padding-top:0}
.op-page-list .opc .opc-who{grid-column:1;grid-row:1/4;align-items:flex-start;flex-direction:column;gap:8px}
.op-page-list .opc h3{grid-column:2;font-size:1.3rem}
.op-page-list .opc .opc-arg{grid-column:2;-webkit-line-clamp:3}
.op-page-list .opc .meta{grid-column:2}
@media(max-width:1000px){.op-page{grid-template-columns:1fr}.op-page .opc-lead{position:static;border-bottom:2px solid var(--ink);padding-bottom:24px}}
@media(max-width:600px){.op-page-list .opc{grid-template-columns:1fr}.op-page-list .opc .opc-who{grid-row:auto;flex-direction:row}}
/* research: one number leads, the rest listed */
.rc-g{display:none}
.rs{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:start}
.rs-lead{display:flex;flex-direction:column;gap:12px;padding:24px;border:2px solid var(--ink);border-radius:var(--r-l);background:var(--surface);min-height:0}
.rs-src{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--ink4)}
.rs-src .rc-host{font-weight:700;color:var(--c-technology)}
.rs-num{font-family:var(--fs);font-size:clamp(3rem,6vw,4.6rem);font-weight:800;letter-spacing:-.05em;line-height:.95;color:var(--ink)}
.rs-num small{display:block;font-family:var(--ff);font-size:.9rem;font-weight:500;letter-spacing:0;line-height:1.35;color:var(--ink3);margin-top:8px;max-width:34ch}
.rs-lead h3{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.rs-lead h3 a:hover{color:var(--accent)}
.rs-dek{font-size:.92rem;color:var(--ink3);line-height:1.5}
.rs-ft{display:flex;align-items:center;gap:10px;margin-top:6px}
.rs-list{display:flex;flex-direction:column}
.rs-row{display:flex;flex-direction:column;gap:8px;padding:18px 0;border-top:1px solid var(--rule)}
.rs-row:first-child{border-top:0;padding-top:4px}
.rs-row h3{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.rs-row h3 a:hover{color:var(--accent)}
.rs-link{font-size:.84rem;font-weight:700;color:var(--ink);border-bottom:2px solid var(--accent)}
.rs-link:hover{color:var(--accent)}
@media(max-width:1000px){.rs{grid-template-columns:1fr;gap:20px}}
.rs-list .rc{border:0;border-radius:0;background:transparent;min-height:0;padding:18px 0}
.rs-list .rc:first-child{padding-top:4px}
.rs-list .rc .rs-src{margin-bottom:2px}
.ft-built{font-size:.8rem;gap:8px}
.ft-built img{height:16px!important;width:auto!important;max-width:82px;opacity:.85;transform:translateY(1px)}

/* v1.10: home/news visible in the nav; index copy */
.nav-list li.nav-home{display:block}
.tg-item{display:contents}
.tag-hero-text h2{max-width:26ch}

/* ---------- v1.11: dark mode CTAs and footer ---------- */
[data-theme=dark] .sub-btn,[data-theme=dark] .ctb-btn,[data-theme=dark] .rc-btn,[data-theme=dark] .mnav-sub,[data-theme=dark] .msub-btn,[data-theme=dark] .lb-partner a,[data-theme=dark] .pg-cta-btn{background:var(--accent);border-color:var(--accent);color:#fff!important}
[data-theme=dark] .sub-btn:hover,[data-theme=dark] .ctb-btn:hover,[data-theme=dark] .rc-btn:hover,[data-theme=dark] .pg-cta-btn:hover{background:#fff;border-color:#fff;color:#0e0e10!important}
[data-theme=dark] .nl{background:#2d3bff}
[data-theme=dark] .nl button{background:#0e0e10;color:#fff}
[data-theme=dark] .nl button:hover{background:#fff;color:#0e0e10}
[data-theme=dark] .nl input{background:rgba(255,255,255,.14);color:#fff}
[data-theme=dark] .sec-more:hover,[data-theme=dark] .rn-more a:hover,[data-theme=dark] .pgn-a:hover,[data-theme=dark] .tag-follow:hover,[data-theme=dark] .ix-cta:hover,[data-theme=dark] .au-link:hover,[data-theme=dark] .rk-link:hover,[data-theme=dark] .tag:hover{background:var(--accent);border-color:var(--accent);color:#fff}
[data-theme=dark] .brief{background:#000}
[data-theme=dark] .op{background:var(--surface);border-color:var(--ink6)}
[data-theme=dark] .rk,[data-theme=dark] .rs-lead,[data-theme=dark] .auc,[data-theme=dark] .ctb-form,[data-theme=dark] .hdp{border-color:var(--ink6)}
/* footer is always black, whatever the mode */
.footer,[data-theme=dark] .footer{background:#000;color:#fff}
[data-theme=dark] .ft-logo{color:#fff}[data-theme=dark] .ft-logo .caret{background:var(--accent-hi)}
[data-theme=dark] .ft-logo img{filter:invert(1)}
[data-theme=dark] .ft-about{color:rgba(255,255,255,.62)}
[data-theme=dark] .ft-copy{color:rgba(255,255,255,.45)}
[data-theme=dark] .ftc a{color:rgba(255,255,255,.72)}[data-theme=dark] .ftc a:hover{color:#fff}
[data-theme=dark] .ft-social a{border-color:rgba(255,255,255,.3);color:#fff}[data-theme=dark] .ft-social a:hover{background:#fff;color:#000}
[data-theme=dark] .ft-bar{border-top-color:rgba(255,255,255,.14)}
[data-theme=dark] .ft-built{color:rgba(255,255,255,.7)}[data-theme=dark] .ft-built img{filter:none}
[data-theme=dark] .ft-legal,[data-theme=dark] .ft-legal a{color:rgba(255,255,255,.6)}[data-theme=dark] .ft-legal a:hover{color:#fff}
[data-theme=dark] .ftc-hd{color:#fff}
/* v1.11.1: mobile subscribe bar in both modes */
.msub,[data-theme=dark] .msub{background:#000;border-top:1px solid rgba(255,255,255,.12)}
[data-theme=dark] .msub{background:#141416}
.msub-btn,[data-theme=dark] .msub-btn{background:var(--accent);color:#fff;font-family:var(--fs);font-size:.95rem;font-weight:800;text-transform:none;letter-spacing:-.01em;padding:13px 10px}
.msub-note,.msub-x{color:rgba(255,255,255,.6)}
[data-theme=dark] .picks,[data-theme=dark] .lt,[data-theme=dark] .sec{border-color:var(--ink)}
