:root{
  --bg:#f4efe6;
  --paper:#fbf7ef;
  --paper-2:#fff;
  --ink:#1a1a1a;
  --ink-soft:#2c2a26;
  --muted:#6b6356;
  --accent:#c8102e;
  --accent2:#0a7d3a;
  --gold:#b8893d;
  --line:rgba(0,0,0,.12);
  --chip:#fff;
  --shadow:0 18px 40px rgba(20,15,5,.12), 0 2px 6px rgba(20,15,5,.06);
  --modal-bg:rgba(20,15,5,.55);
  --pill:#f0eadc;
}

.mobile-earlier-coverage{
  grid-column:1 / -1;
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:12px 0 2px;
  padding:12px 2px 8px;
  border-top:1px solid var(--rule);
  color:var(--ink-soft);
}
.mobile-earlier-coverage span{font-weight:800;letter-spacing:.02em;color:var(--ink)}
.mobile-earlier-coverage small{font-size:12px;color:var(--muted)}
.mobile-feed-availability{
  grid-column:1 / -1;
  margin:8px 0 2px;
  padding:11px 13px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 7%,var(--paper));
  color:var(--ink-soft);
  font:750 12.5px/1.45 var(--sans,system-ui,sans-serif);
}
@media (max-width:560px){
  .mobile-earlier-coverage{display:block;padding-inline:4px}
  .mobile-earlier-coverage small{display:block;margin-top:3px}
}
[data-theme="dark"]{
  --bg:#0e1116;
  --paper:#161a22;
  --paper-2:#1d222c;
  --ink:#ececec;
  --ink-soft:#d6d3cc;
  --muted:#9aa0ac;
  --accent:#ff5570;
  --accent2:#34c47b;
  --gold:#e0b25a;
  --line:rgba(255,255,255,.12);
  --chip:#1d222c;
  --shadow:0 18px 40px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);
  --modal-bg:rgba(0,0,0,.7);
  --pill:#262b36;
}

/* ============================================================
   SKINS — pick one via [data-skin]
   "magazine" is the default cream look defined above.
   Each skin overrides the palette + headline fonts + bg gradient.
   ============================================================ */
[data-skin="noir"]{
  --bg:#08080a; --paper:#111114; --paper-2:#15151a; --ink:#f4f3ef;
  --ink-soft:#c9c5bd; --muted:#7a7770;
  --accent:#ff2e4d; --accent2:#d4af37; --gold:#d4af37;
  --line:rgba(255,255,255,.10); --chip:#15151a;
  --pill:#1a1a20; --shadow:0 18px 40px rgba(0,0,0,.7), 0 2px 6px rgba(0,0,0,.4);
  --modal-bg:rgba(0,0,0,.85);
  --font-display:'Playfair Display',serif;
}
[data-skin="sakura"]{
  --bg:#fff5f7; --paper:#ffffff; --paper-2:#fffafb; --ink:#3a2230;
  --ink-soft:#5a384a; --muted:#a07a8a;
  --accent:#e75480; --accent2:#7d9d6e; --gold:#d4a373;
  --line:rgba(220,120,160,.18); --chip:#fff;
  --pill:#fde6ec; --shadow:0 18px 40px rgba(200,80,120,.15), 0 2px 6px rgba(200,80,120,.08);
  --modal-bg:rgba(80,30,50,.55);
  --font-display:'Playfair Display',serif;
}
[data-skin="terminal"]{
  --bg:#030604; --paper:#06120a; --paper-2:#0a1a10; --ink:#7cffb0;
  --ink-soft:#5fe89a; --muted:#3a8a5f;
  --accent:#7cffb0; --accent2:#ffd166; --gold:#ffd166;
  --line:rgba(124,255,176,.22); --chip:#0a1a10;
  --pill:#0c2014; --shadow:0 0 0 1px rgba(124,255,176,.15), 0 18px 40px rgba(0,40,20,.6);
  --modal-bg:rgba(0,10,5,.85);
  --font-display:'JetBrains Mono','Courier New',monospace;
}
[data-skin="terminal"] html,[data-skin="terminal"] body,
[data-skin="terminal"] .card h3,[data-skin="terminal"] .brand h1,
[data-skin="terminal"] .hero h2,[data-skin="terminal"] .flip .left .cap h2,
[data-skin="terminal"] .flip .right h4,[data-skin="terminal"] .empty h3,
[data-skin="terminal"] .meta .edition,[data-skin="terminal"] .brand .tag,
[data-skin="terminal"] .footer em,[data-skin="terminal"] .flip .right .stat b{
  font-family:'JetBrains Mono','Courier New',monospace !important;letter-spacing:0 !important;
}
[data-skin="terminal"] .card,[data-skin="terminal"] .hero,
[data-skin="terminal"] .icon-btn,[data-skin="terminal"] .chip,
[data-skin="terminal"] .pill,[data-skin="terminal"] .search,
[data-skin="terminal"] .flip,[data-skin="terminal"] .filter-row select,
[data-skin="terminal"] .filter-row input{border-radius:4px !important}
[data-skin="terminal"] body{background:var(--bg) !important}
[data-skin="terminal"] body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;
  background:repeating-linear-gradient(0deg,rgba(124,255,176,.04) 0,rgba(124,255,176,.04) 1px,transparent 1px,transparent 3px);
}

/* Override masthead/hero bg gradient per skin */
[data-skin="noir"] body{
  background:
    radial-gradient(900px 500px at 10% -10%, #2a0010 0%, transparent 60%),
    radial-gradient(800px 450px at 110% 20%, #18181c 0%, transparent 55%),
    var(--bg) !important;
}
[data-skin="sakura"] body{
  background:
    radial-gradient(1000px 500px at 10% -10%, #ffd9e3 0%, transparent 60%),
    radial-gradient(800px 450px at 110% 30%, #fde6c4 0%, transparent 55%),
    var(--bg) !important;
}
[data-skin="noir"] .brand h1{letter-spacing:-2px}
[data-skin="noir"] .card,[data-skin="noir"] .hero{border:1px solid rgba(212,175,55,.18)}
[data-skin="sakura"] .impact.high{background:linear-gradient(135deg,#e75480,#9a2b4f)}
[data-skin="sakura"] .impact.watch{background:linear-gradient(135deg,#d4a373,#8a6336)}
[data-skin="sakura"] .impact.context{background:linear-gradient(135deg,#7d9d6e,#4b6a3e)}

/* v20.11.6 — three new skins that previously had no CSS (so clicking them did
   nothing visually). FT Pink = Financial Times salmon paper; NYT Print =
   classic newsprint serif; Terminal Pro = Bloomberg-style black + amber. */
[data-skin="ftpink"]{
  --bg:#fff1e5; --paper:#fff5ec; --paper-2:#ffe8d6; --ink:#33302e;
  --ink-soft:#5a544f; --muted:#8a807a;
  --accent:#0d7680; --accent2:#990f3d; --gold:#b07d3b;
  --line:rgba(51,48,46,.18);
  --modal-bg:rgba(60,40,30,.55);
  --font-display:'Playfair Display','Times New Roman',serif;
}
[data-skin="ftpink"] body{
  background:
    radial-gradient(1000px 500px at 10% -10%, #ffe1c8 0%, transparent 60%),
    radial-gradient(800px 450px at 110% 20%, #ffd9bf 0%, transparent 55%),
    var(--bg) !important;
}
[data-skin="ftpink"] .brand h1{letter-spacing:-1.5px;color:#990f3d}
[data-skin="ftpink"] .card,[data-skin="ftpink"] .hero{border:1px solid rgba(13,118,128,.18)}
[data-skin="ftpink"] .impact.high{background:linear-gradient(135deg,#990f3d,#5e0a26)}
[data-skin="ftpink"] .impact.watch{background:linear-gradient(135deg,#0d7680,#08484f)}
[data-skin="ftpink"] .impact.context{background:linear-gradient(135deg,#b07d3b,#7a5526)}

[data-skin="nytprint"]{
  --bg:#fffefa; --paper:#ffffff; --paper-2:#f7f6f0; --ink:#121212;
  --ink-soft:#2c2c2c; --muted:#6c6c6c;
  --accent:#000000; --accent2:#326891; --gold:#9a7d2e;
  --line:rgba(0,0,0,.16);
  --modal-bg:rgba(0,0,0,.58);
  --font-display:'Playfair Display','Times New Roman',serif;
}
[data-skin="nytprint"] body{
  background:var(--bg) !important;
}
[data-skin="nytprint"] .brand h1{letter-spacing:-2px;font-family:var(--font-display);color:#000}
[data-skin="nytprint"] .card,[data-skin="nytprint"] .hero{border:1px solid rgba(0,0,0,.14);box-shadow:none}
[data-skin="nytprint"] .impact.high{background:linear-gradient(135deg,#1a1a1a,#000)}
[data-skin="nytprint"] .impact.watch{background:linear-gradient(135deg,#326891,#1d3f5d)}
[data-skin="nytprint"] .impact.context{background:linear-gradient(135deg,#6c6c6c,#3f3f3f)}

[data-skin="bberg"]{
  --bg:#0b0e15; --paper:#11151f; --paper-2:#161b27; --ink:#f5f5f0;
  --ink-soft:#cfcfc6; --muted:#8a8a82;
  --accent:#fa7b17; --accent2:#ffffff; --gold:#fa7b17;
  --line:rgba(250,123,23,.22);
  --modal-bg:rgba(0,0,0,.85);
  --font-display:'JetBrains Mono','Courier New',monospace;
}
[data-skin="bberg"] body{
  background:
    radial-gradient(900px 500px at 10% -10%, #1a1505 0%, transparent 60%),
    radial-gradient(800px 450px at 110% 20%, #0f1320 0%, transparent 55%),
    var(--bg) !important;
}
[data-skin="bberg"] .brand h1{letter-spacing:-1px;color:#fa7b17}
[data-skin="bberg"] .card,[data-skin="bberg"] .hero{border:1px solid rgba(250,123,23,.22)}
[data-skin="bberg"] .icon-btn,[data-skin="bberg"] .chip,[data-skin="bberg"] .pill{border-radius:4px}
[data-skin="bberg"] .impact.high{background:linear-gradient(135deg,#fa7b17,#a04d05)}
[data-skin="bberg"] .impact.watch{background:linear-gradient(135deg,#ffffff,#bfbfbf);color:#000}
[data-skin="bberg"] .impact.context{background:linear-gradient(135deg,#8a8a82,#4f4f4a)}
/* v20.11.7 — readable chips/buttons on dark skins (bberg, noir, terminal). */
[data-skin="bberg"] .chip,[data-skin="noir"] .chip,[data-skin="terminal"] .chip,
[data-skin="bberg"] .pill,[data-skin="noir"] .pill,[data-skin="terminal"] .pill,
[data-skin="bberg"] .icon-btn,[data-skin="noir"] .icon-btn,[data-skin="terminal"] .icon-btn{
  background:rgba(255,255,255,.06);
  color:#e6e6e6;
  border:1px solid rgba(255,255,255,.2);
}
[data-skin="bberg"] .chip.on,[data-skin="bberg"] .chip:hover{background:rgba(250,123,23,.18);border-color:#fa7b17;color:#fff}
[data-skin="noir"] .chip.on,[data-skin="noir"] .chip:hover{background:rgba(180,80,80,.25);border-color:#b45050;color:#fff}
[data-skin="terminal"] .chip.on,[data-skin="terminal"] .chip:hover{background:rgba(80,200,120,.22);border-color:#50c878;color:#fff}

/* ============================================================
   Layouts (restored from v19 in v20.11.7)
   - mosaic: default magazine grid (no override needed; rules in main grid CSS)
   - grid:   uniform 4-up tile grid, no hero
   - cards:  polaroid stack, 3 columns, no hero
   - list:   single-column horizontal rows
   ============================================================ */
[data-layout="grid"] .hero{display:none}
[data-layout="grid"] .grid{grid-template-columns:repeat(4,1fr)}
[data-layout="grid"] .s4,[data-layout="grid"] .s6,
[data-layout="grid"] .s8,[data-layout="grid"] .s12{grid-column:span 1}
@media(max-width:1100px){[data-layout="grid"] .grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){[data-layout="grid"] .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){[data-layout="grid"] .grid{grid-template-columns:1fr}}

[data-layout="cards"] .hero{display:none}
[data-layout="cards"] .grid{grid-template-columns:repeat(3,1fr);gap:28px}
[data-layout="cards"] .s4,[data-layout="cards"] .s6,
[data-layout="cards"] .s8,[data-layout="cards"] .s12{grid-column:span 1}
[data-layout="cards"] .card{
  background:var(--paper-2,var(--paper));padding:14px 14px 18px;border-radius:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);
  transform:rotate(var(--tilt,0deg));transition:transform .25s ease,box-shadow .25s ease;
}
[data-layout="cards"] .card:nth-child(3n+1){--tilt:-1.2deg}
[data-layout="cards"] .card:nth-child(3n+2){--tilt:.8deg}
[data-layout="cards"] .card:nth-child(3n+3){--tilt:-.4deg}
[data-layout="cards"] .card:hover{transform:rotate(0) translateY(-4px)}
[data-layout="cards"] .card .img{border-radius:4px;margin-bottom:6px}
[data-layout="cards"] .card .body{padding:8px 4px 0}
@media(max-width:1100px){[data-layout="cards"] .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){[data-layout="cards"] .grid{grid-template-columns:1fr}}

[data-layout="list"] .hero{display:none}
[data-layout="list"] .grid{grid-template-columns:1fr;gap:10px}
[data-layout="list"] .s4,[data-layout="list"] .s6,
[data-layout="list"] .s8,[data-layout="list"] .s12{grid-column:span 1}
[data-layout="list"] .card{flex-direction:row;align-items:stretch;min-height:120px;border-radius:10px}
[data-layout="list"] .card .img{width:200px;aspect-ratio:auto;flex-shrink:0;border-bottom:0;border-right:1px solid var(--line)}
[data-layout="list"] .card .body{padding:14px 18px;gap:6px}
[data-layout="list"] .card h3{font-size:17px}
[data-layout="list"] .card .deck{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
[data-layout="list"] .card-stars{bottom:auto;top:14px;right:14px}
[data-layout="list"] .impact{top:14px;right:14px}
[data-layout="list"] .card.read::after{top:auto;bottom:10px;left:10px}
@media(max-width:680px){
  [data-layout="list"] .card{flex-direction:column}
  [data-layout="list"] .card .img{width:100%;aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--line)}
}


*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
/* v24.3 — hard reset browser-default link chrome inside the app.
   Without this, a stale/link-wrapped card can fall back to blue underlined
   browser styling and make the UI look unstyled. */
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
.card a,.t8-card a,.hero a,.look-card a{color:inherit;text-decoration:none}
.card h3,.card .deck,.card .kicker,.card .foot,
.t8-title,.t8-deck,.t8-kicker,.t8-foot,
.hero h2,.hero .deck,.hero .kicker{
  color:inherit;
  text-decoration:none;
}
/* Overflow guard — prevent any child from pushing wider than viewport.
   v20.11.3: toolbar must keep overflow visible; otherwise fixed/absolute flyouts
   can still be clipped under the main frame on some Windows/Chromium builds. */
/* v20.11.5 — `overflow-x:hidden` implicitly promotes overflow-y to auto, which clips
   absolute-positioned picker dropdowns. Use `overflow-x:clip` so dropdowns can escape. */
.masthead,.wrap,.filterbar,.statbar,.viewtabs,.footer,.refresh-banner{max-width:100vw;overflow-x:clip}
.toolbar{max-width:100vw;overflow:visible}
/* Font size adjustment is applied to reading surfaces through
   --user-font-scale. Avoid page-level zoom because it also enlarges toolbar
   controls, cards, and modal chrome. */
body{--font-scale:1}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:'Inter','Noto Serif SC',system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s;overflow-x:hidden}
body{
  background:
    radial-gradient(1200px 600px at 10% -10%, #fff7e6 0%, transparent 60%),
    radial-gradient(900px 500px at 110% 20%, #ffe8ec 0%, transparent 55%),
    var(--bg);
  min-height:100vh;
}
html.native-shell,
html.native-shell body{
  min-height:100svh;
  touch-action:manipulation;
  -webkit-text-size-adjust:100%;
  overscroll-behavior-x:none;
}
html.native-shell button,
html.native-shell a,
html.native-shell [role="button"]{
  touch-action:manipulation;
  -webkit-user-select:none;
  user-select:none;
}
html.native-shell .modal-reader-fulltext,
html.native-shell .modal-summary-content,
html.native-shell .reader-prose,
html.native-shell input,
html.native-shell textarea{
  -webkit-user-select:text;
  user-select:text;
}
html.native-shell .masthead{padding-top:calc(28px + env(safe-area-inset-top,0px))}
html.native-shell .wrap{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
[data-theme="dark"] body{
  background:
    radial-gradient(1200px 600px at 10% -10%, #1a2030 0%, transparent 60%),
    radial-gradient(900px 500px at 110% 20%, #2a1820 0%, transparent 55%),
    var(--bg);
}

/* ===== Masthead ===== */
.masthead{
  max-width:1400px;margin:0 auto;padding:24px 28px 10px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink);
}
.brand{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.brand h1{font-family:'Playfair Display',serif;font-weight:900;font-size:48px;letter-spacing:-1px;margin:0;line-height:1}
.brand h1 .red{color:var(--accent)}
.brand .tag{font-family:'Playfair Display',serif;font-style:italic;font-size:17px;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}
.meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em}
.meta .date{color:var(--ink);font-weight:600;letter-spacing:.22em}
.meta .edition{font-style:italic;text-transform:none;letter-spacing:.08em;font-family:'Playfair Display',serif;font-size:14px;color:var(--ink)}
.primary-nav{
  max-width:1400px;
  margin:10px auto 0;
  padding:0 28px;
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:none;
}
.primary-nav::-webkit-scrollbar{display:none}
.primary-nav button{
  min-height:48px;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--paper-2) 86%,transparent);
  color:var(--ink-soft);
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 13px 8px 10px;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease;
}
.primary-nav button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.primary-nav button.active{
  color:var(--paper);
  border-color:var(--accent);
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 78%,var(--ink) 22%));
  box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 18%,transparent);
}
.primary-nav .pn-icon{
  width:30px;
  height:30px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  font-size:15px;
  flex:0 0 auto;
}
.primary-nav button.active .pn-icon{background:rgba(255,255,255,.16)}
.primary-nav .pn-copy{
  display:grid;
  gap:2px;
  text-align:left;
}
.primary-nav .pn-copy b{
  font:850 13.5px/1.08 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  letter-spacing:.01em;
  color:inherit;
}
.primary-nav .pn-copy small{
  font:700 10.5px/1.1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  color:currentColor;
  opacity:.62;
}
.primary-nav .pn-badge{
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:color-mix(in srgb,var(--pill) 80%,transparent);
  color:var(--muted);
  font:900 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.primary-nav button.active .pn-badge{background:rgba(255,255,255,.2);color:#fff}

/* ===== Toolbar ===== */
.toolbar{max-width:1400px;margin:0 auto;padding:14px 28px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:100}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  border:1px solid var(--line);background:var(--chip);color:var(--ink);
  padding:7px 13px;border-radius:999px;font-size:12.5px;cursor:pointer;
  text-transform:uppercase;letter-spacing:.12em;font-weight:600;transition:all .2s
}
.chip:hover{transform:translateY(-1px)}
.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* v20.2: per-segment counts + low-coverage warnings on category chips. */
.chip .chip-count{margin-left:6px;padding:1px 7px;border-radius:999px;background:rgba(0,0,0,0.06);font-size:11px;font-weight:600;color:var(--muted)}
.chip.active .chip-count{background:rgba(255,255,255,0.18);color:var(--paper)}
.chip.is-low{border-color:#d97706;color:#92400e}
.chip.is-low .chip-count{background:#fef3c7;color:#92400e}
.chip.is-low.active{background:#d97706;color:#fff;border-color:#d97706}
.chip.is-low.active .chip-count{background:rgba(255,255,255,0.25);color:#fff}
.chip.is-low .chip-warn{margin-left:4px;color:#d97706}
.chip.is-empty{opacity:0.55}
.chip.is-empty .chip-count{background:transparent;color:var(--muted)}
.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--chip);border-radius:999px;padding:6px 14px;color:var(--muted)}
.search input{border:0;outline:0;background:transparent;font-family:inherit;font-size:13px;color:var(--ink);width:200px}
.icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--chip);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}
.icon-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.icon-btn.active{background:var(--ink);color:var(--paper)}

/* ===== Filter panel ===== */
.filterbar{max-width:1400px;margin:0 auto;padding:0 28px;overflow:hidden;max-height:0;transition:max-height .3s ease,padding .3s ease;border-bottom:1px solid transparent}
.filterbar.open{max-height:600px;padding:14px 28px;border-bottom:1px solid var(--line)}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}

/* ===== v20.2 Refresh summary banner ===== */
.refresh-banner{max-width:1400px;margin:10px auto 0;padding:10px 16px;background:var(--chip);border:1px solid var(--accent);border-radius:12px;font-size:13px;animation:rb-slide .3s ease}
.refresh-banner[hidden]{display:none}
@keyframes rb-slide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.refresh-banner .rb-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.refresh-banner .rb-headline{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.refresh-banner .rb-icon{font-size:18px}
.refresh-banner .rb-headline{font-weight:700;color:var(--ink)}
.refresh-banner .rb-link{background:transparent;border:1px solid var(--line);color:var(--accent);padding:4px 12px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:600}
.refresh-banner .rb-link:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.refresh-banner .rb-close{background:transparent;border:0;color:var(--ink-soft);font-size:18px;cursor:pointer;line-height:1;padding:0 4px}
.refresh-banner .rb-detail{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.refresh-banner[hidden] .rb-detail{display:none}
.refresh-banner .rb-detail h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700}
.refresh-banner .rb-detail .rb-list{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.refresh-banner .rb-detail .rb-list li{display:flex;justify-content:space-between;font-size:12px}
.refresh-banner .rb-detail .rb-list li span:first-child{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}
.refresh-banner .rb-detail .rb-list li span:last-child{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:700}
.refresh-banner .rb-errors{color:#b94a48;font-size:12px;margin-top:6px}
.refresh-banner.is-error{border-color:#b94a48}
#refreshBtn.is-loading #refreshIcon{animation:rb-spin .8s linear infinite;display:inline-block}
@keyframes rb-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
#refreshBtn[disabled]{opacity:.6;cursor:wait}
.refresh-health-bar{
  max-width:1400px;
  margin:10px auto 0;
  padding:10px 14px;
  border:1px solid color-mix(in srgb,#d97706 48%,var(--line));
  border-radius:14px;
  background:linear-gradient(135deg,rgba(217,119,6,.12),rgba(200,16,46,.07));
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  box-shadow:0 10px 26px rgba(38,28,10,.08);
}
.refresh-health-bar[hidden]{display:none}
.refresh-health-main{display:flex;align-items:center;gap:10px;min-width:0}
.refresh-health-icon{width:28px;height:28px;border-radius:999px;background:#d97706;color:#fff;display:inline-grid;place-items:center;flex:0 0 auto;font-weight:900}
.refresh-health-copy{min-width:0}
.refresh-health-title{font-weight:850;color:var(--ink);line-height:1.25}
.refresh-health-detail{margin-top:2px;color:var(--muted);line-height:1.35}
.refresh-health-action{
  border:1px solid color-mix(in srgb,#d97706 50%,var(--line));
  background:color-mix(in srgb,var(--paper-2) 88%,#fff 12%);
  color:#92400e;
  border-radius:999px;
  min-height:34px;
  padding:6px 12px;
  font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  cursor:pointer;
  white-space:nowrap;
}
.refresh-health-action:hover{background:#d97706;color:#fff;border-color:#d97706}
.refresh-health-bar.is-unknown{border-color:var(--line);background:var(--paper-2)}
.refresh-health-bar.is-unknown .refresh-health-icon{background:var(--muted)}
.filter-group label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:8px;font-weight:600}
.filter-pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{
  font-size:11.5px;padding:5px 10px;border-radius:999px;background:var(--pill);color:var(--ink-soft);cursor:pointer;
  border:1px solid transparent;transition:all .15s;user-select:none
}
.pill:hover{border-color:var(--line)}
.pill.on{background:var(--accent);color:#fff}
/* v20.10.2 — brand-grouped source pills (e.g. HK01 with 4 sub-channels) */
.brand-group{display:inline-flex;flex-direction:column;gap:4px;background:rgba(0,0,0,.025);border-radius:14px;padding:4px;margin:2px}
.pill.brand{font-weight:700;border:1.5px solid var(--line);background:var(--paper)}
.pill.brand.partial{background:linear-gradient(90deg, var(--accent) 0% 50%, var(--pill) 50% 100%);color:#fff;border-color:var(--accent)}
.pill.brand.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.pill.brand .brand-count{font-size:9.5px;opacity:.7;font-weight:500;margin-left:4px;letter-spacing:.05em}
.brand-children{display:flex;flex-wrap:wrap;gap:4px;padding-left:10px;border-left:2px solid var(--line)}
.pill.child{font-size:10.5px;padding:3px 8px;opacity:.85}
.filter-row{display:flex;gap:8px;align-items:center}
.filter-row input,.filter-row select{
  flex:1;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--chip);color:var(--ink);font-family:inherit;font-size:13px
}
.reset-btn{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);background:none;border:0;cursor:pointer;font-weight:700}

/* ===== Hero + Grid ===== */
.wrap{max-width:1400px;margin:0 auto;padding:24px 28px 100px}
.hero{position:relative;border-radius:18px;overflow:hidden;min-height:420px;box-shadow:var(--shadow);background:#222;cursor:pointer;margin-bottom:24px}
.hero .img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02);transition:transform .6s}
.hero:hover .img{transform:scale(1.06)}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85) 100%)}
.hero .body{position:absolute;left:0;right:0;bottom:0;padding:32px 36px;color:#fff}
.hero .kicker{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.92;margin-bottom:10px;flex-wrap:wrap}
.hero h2{font-family:'Playfair Display',serif;font-size:42px;font-weight:900;line-height:1.05;margin:0 0 10px;max-width:900px;letter-spacing:-.5px;word-break:break-word}
.hero .deck{font-size:16px;max-width:780px;line-height:1.55;opacity:.94}
.hero .meta-row{margin-top:14px;display:flex;align-items:center;gap:14px;font-size:12px;opacity:.85;letter-spacing:.05em;flex-wrap:wrap}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;grid-auto-flow:dense;max-width:100%}
.grid-render-note{
  grid-column:1/-1;
  justify-self:center;
  margin:6px 0 12px;
  padding:9px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper-2) 86%,transparent);
  color:var(--muted);
  font:700 12px/1.3 var(--sans);
  letter-spacing:.01em;
}
.card{
  position:relative;background:var(--paper);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;border:1px solid var(--line);
}
.card:hover{transform:translateY(-3px);box-shadow:0 24px 50px rgba(20,15,5,.18)}
[data-theme="dark"] .card:hover{box-shadow:0 24px 50px rgba(0,0,0,.6)}
.card.read{opacity:.62}
.card.read::after{content:"READ";position:absolute;top:14px;left:14px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.18em;padding:3px 8px;border-radius:4px;font-weight:700;z-index:5}
.card .img{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#ddd;border-bottom:1px solid var(--line)}
.card .body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1;gap:10px}
.card .kicker{display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;flex-wrap:wrap}
.card h3{font-family:'Playfair Display',serif;font-size:22px;line-height:1.18;margin:0;font-weight:700;color:var(--ink);word-break:break-word}
.card .deck{font-size:13.5px;color:var(--ink-soft);line-height:1.5;flex:1}
.card .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);letter-spacing:.04em;padding-top:8px;border-top:1px dashed var(--line)}
.card .foot .src{font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px}

.s4{grid-column:span 4}
.s6{grid-column:span 6}
.s8{grid-column:span 8}
.s12{grid-column:span 12}

/* Desktop default for top8 (overridden by media queries below) */
.top8-grid{grid-template-columns:repeat(4,1fr)}

/* ============================================================
   RESPONSIVE — Mobile-first breakpoints
   ============================================================ */

/* --- Tablet / small desktop (≤1100px) --- */
@media(max-width:1100px){
  [data-layout="grid"] .grid{grid-template-columns:repeat(3,1fr)}
  [data-layout="cards"] .grid{grid-template-columns:repeat(2,1fr)}
  .top8-grid{grid-template-columns:repeat(2,1fr)}
  .dossier-board,.letter-columns,.radar-board{grid-template-columns:1fr}
  .lookview-head{grid-template-columns:1fr;align-items:start}
  .letter-lead{border-right:0;padding-right:0}
  .radar-map{min-height:320px}
  .dossier-lead .look-story,.letter-lead .look-story{font-size:30px}
}

/* --- Mobile landscape / small tablet (≤980px) --- */
@media(max-width:980px){
  .s4,.s6,.s8{grid-column:span 12}
  .hero h2{font-size:30px}
  .hero .deck{font-size:14px}
  .brand h1{font-size:34px}
  .masthead{padding:18px 16px 10px;gap:16px}
  .toolbar{padding:10px 16px;gap:8px}
  .wrap{padding:18px 16px 80px}
  .filterbar{padding-left:16px;padding-right:16px}
  .filterbar.open{padding:12px 16px}
  .statbar{padding:8px 16px}
  .viewtabs{padding:12px 16px 0}
  .footer{padding:20px 16px}
}

/* --- Phone landscape (≤768px) --- */
@media(max-width:768px){
  .masthead{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 14px 8px}
  .meta{flex-direction:row;align-items:center;gap:12px}
  .brand h1{font-size:28px}
  .brand .tag{font-size:14px}
  .toolbar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px;overflow:visible}
  /* v20.9.8 — chips horizontal scroll: nowrap + edge fade hint so users know they can swipe */
  .chips{order:1;gap:6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;
         padding:2px 16px 4px 0;margin:0 -14px 0 -14px;padding-left:14px;
         mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 28px), transparent 100%);
         -webkit-mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 28px), transparent 100%);
         scroll-snap-type:x proximity}
  .chips::-webkit-scrollbar{display:none}
  .chips .chip{flex:0 0 auto;scroll-snap-align:start}
  .tools{order:2;justify-content:flex-start;flex-wrap:wrap;gap:6px}
  .search{flex:1 1 140px;min-width:0}
  .search input{width:100%;min-width:0}
  .hero{min-height:280px;border-radius:12px}
  .hero .body{padding:20px}
  .hero h2{font-size:24px}
  .hero .deck{font-size:13px}
  /* v21.5 — modal goes single-column with image on top, text below.
     Use .modal.show .flip to outrank L657 base spec (same selector count, later wins). */
  .modal.show .flip{
    grid-template-columns:1fr !important;
    grid-template-rows:clamp(220px,34svh,340px) minmax(0,1fr);
    height:min(92svh,760px);
    max-height:92vh;
    width:min(560px,95vw);
    overflow:hidden;
  }
  .modal.show .flip .left{
    min-height:0;
    height:auto;
    max-height:none;
    aspect-ratio:auto;
    flex-shrink:0;
    overflow:hidden;
  }
  .modal.show .flip .left .cap h2{
    font-size:22px;
    line-height:1.15;
    word-break:keep-all;
    overflow-wrap:break-word;
    hyphens:auto;
    max-width:100%;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .modal.show .flip .left .cap{
    padding:18px;
    max-height:88%;
    overflow:hidden;
  }
  .modal.show .flip .right{
    padding:16px 20px 22px;
    min-height:0;
    overflow:auto;
    word-break:break-word;
    overflow-wrap:anywhere;
    gap:16px;
  }
  .modal.show .flip .right h4{font-size:12px}
  .modal.show .flip .right p{font-size:14px;line-height:1.55}
  .flip .right .stat-grid{grid-template-columns:repeat(2,1fr)}
  .flip .right .stat b{font-size:15px}
  .flip .right .modal-stars{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"label avg" "stars stars";
    align-items:center;
    gap:5px 10px;
    padding:11px 13px;
    margin:0;
  }
  .flip .right .modal-stars .label:not(.avg-label){grid-area:label}
  .flip .right .modal-stars .stars{grid-area:stars}
  .flip .right .modal-stars .avg-label{grid-area:avg;max-width:190px;text-align:right}
  .flip .right .modal-stars .stars .star{font-size:16px}
  .filter-grid{grid-template-columns:1fr}
  .profile-card-grid{grid-template-columns:repeat(2,1fr)}
  .profile-form-row{grid-template-columns:1fr}
  .profile-generated{grid-template-columns:1fr}
  .style-picker-menu{right:-80px}
  .style-picker-opt{flex-direction:row}
  .style-mini{width:76px;height:52px}
  .sunday-card{padding:22px 18px;margin:18px 14px}
  .viewtabs{padding:10px 14px 0}
  .wrap{padding:14px 14px 70px}
  .statbar{padding:8px 14px}
  .footer{padding:18px 14px}
  .drawer{width:min(100vw,420px)}
  /* Overflow fixes — keep horizontal clip but DO NOT clip dropdowns vertically.
     Note: setting `overflow-x:hidden` alone implicitly forces `overflow-y:auto`,
     which truncates absolute-positioned picker menus. Use explicit `clip` for X. */
  .toolbar{max-width:100vw;overflow-x:clip;overflow-y:visible}
  .tools{max-width:100%;overflow:visible}
  .card .foot{flex-wrap:wrap}
  .filter-row{flex-wrap:wrap}
  .filter-row input,.filter-row select{min-width:0}
  /* Hide low-priority toolbar buttons on mobile */
  #langBtn,#briefBtn{display:none!important}
}

/* --- Phone portrait (≤560px) --- */
@media(max-width:560px){
  .brand h1{font-size:24px}
  .brand .tag{font-size:12px;padding-left:10px;border-left-width:1px}
  .chip{padding:5px 10px;font-size:11px;letter-spacing:.08em;flex-shrink:0}
  .icon-btn{width:32px;height:32px;font-size:14px}
  .hero{min-height:220px;border-radius:10px;margin-bottom:16px}
  .hero .body{padding:16px}
  .hero h2{font-size:20px;line-height:1.15}
  .hero .deck{font-size:12px;line-height:1.45}
  .hero .kicker{font-size:10px;gap:6px;margin-bottom:6px}
  .hero .meta-row{font-size:10px;gap:8px}
  .card{border-radius:10px}
  .card .body{padding:12px 12px 14px;gap:8px}
  .card h3{font-size:17px}
  .card .deck{font-size:12px}
  .card .foot{font-size:10px}
  /* Hide more buttons on phone portrait */
  #sourcesBtn,#skinBtn,#styleBtn{display:none}
  /* Profile menu: keep menu attached to button, not stretched to full toolbar width */
  .profile-wrap{align-self:flex-start;flex:0 0 auto}
  .profile-menu{width:min(360px,calc(100vw - 28px));left:0;right:auto}
  .profile-opt .name,.profile-opt .desc{white-space:normal;word-break:break-word}
  .top8-grid{grid-template-columns:1fr;gap:12px}
  .t8-card{min-height:auto;border-radius:10px}
  .t8-img{height:120px}
  .t8-body{padding:10px 12px 12px}
  .t8-title{font-size:14px}
  .t8-deck{font-size:11.5px}
  .grid{gap:12px}
  [data-layout="grid"] .grid{grid-template-columns:1fr}
  [data-layout="cards"] .grid{grid-template-columns:1fr}
  [data-layout="list"] .card{flex-direction:column}
  [data-layout="list"] .card .img{width:100%;aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--line)}
  .modal{padding:8px}
  .modal.show .flip{
    grid-template-rows:clamp(190px,30svh,270px) minmax(0,1fr);
    height:calc(100svh - 16px);
    max-height:calc(100svh - 16px);
    width:calc(100vw - 16px);
  }
  .flip{border-radius:12px;max-height:95vh}
  .flip .left{min-height:0}
  .flip .right{padding:14px 14px 18px;gap:14px}
  .flip .right h4{font-size:12px}
  .flip .right p{font-size:13px}
  .flip .left .cap h2{font-size:20px;-webkit-line-clamp:2}
  .flip .left .cap{padding:16px}
  .flip .right .stat b{font-size:16px}
  .empty h3{font-size:22px}
  .vtab{padding:7px 12px;font-size:12px}
  .refresh-banner{margin:8px 10px 0;padding:8px 12px;border-radius:8px;font-size:12px}
  .font-group{display:inline-flex!important;gap:2px!important;padding:1px!important}
  .font-group .icon-btn{width:26px!important;height:26px!important;font-size:13px!important}
  .font-group #fontLabel{font-size:11px!important;min-width:22px!important}
  /* Overflow fixes for small phones */
  .masthead{max-width:100vw;overflow:hidden}
  .meta{min-width:0;flex-wrap:wrap}
  .search{flex:1 1 100%}
  .search input{width:100%}
  .picker-menu{right:-60px;min-width:200px;max-width:90vw}
  .style-picker-menu{right:-40px;min-width:280px;max-width:92vw}
  .lang-menu{right:-20px;min-width:160px}
  .statbar{flex-wrap:wrap;gap:8px 14px}
  .footer{flex-direction:column;gap:8px}
  .card .foot{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}
  .card .foot .foot-rating{gap:4px}
  .card .foot .inline-stars .star{font-size:11px}
  .card .foot .avg-num{font-size:10px;padding:1px 5px}
  .chip .chip-count{margin-left:2px;padding:1px 5px}
  .chip .chip-warn{margin-left:2px}
  /* Top 8 header */
  .t8-header{flex-wrap:wrap;gap:6px}
  .t8-header h3{font-size:14px}
  .view-header{flex-wrap:wrap;gap:6px}
  .view-title{font-size:15px}
  /* Top 8 card overflow fixes */
  .t8-card{overflow:hidden}
  .t8-body{min-width:0;overflow:hidden}
  .t8-kicker{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .t8-foot{flex-wrap:wrap;gap:6px;min-width:0}
  .t8-thumbs .thumb-btn{width:26px;height:26px;font-size:12px;border-radius:6px}
  .t8-via-tag{flex-shrink:0}
  .t8-ai-score{flex-shrink:0}
  .t8-deck{word-break:break-word}
  .t8-title{word-break:break-word}
  /* View tabs */
  .viewtabs{gap:6px}
  .vtab{padding:6px 10px;font-size:11px}
}

/* --- Very small phones (≤380px) --- */
@media(max-width:380px){
  .brand h1{font-size:20px}
  .brand .tag{display:none}
  .chip{padding:4px 8px;font-size:10px}
  .tools{gap:3px}
  .icon-btn{width:28px;height:28px;font-size:12px;border-radius:6px}
  .hero{min-height:180px}
  .hero h2{font-size:18px}
  .hero .meta-row{flex-wrap:wrap;gap:4px}
  .statbar{font-size:11px;gap:6px 10px}
  .picker-menu{right:-40px;min-width:180px}
  .style-picker-menu{right:-20px;min-width:260px}
  .t8-thumbs .thumb-btn{width:24px;height:24px;font-size:11px}
  .t8-slot-tag{font-size:10px;padding:4px 8px}
  /* Hide even more on tiny phones */
  #filterBtn,#sortBtn{display:none!important}
  .search{flex:1 1 100%}
}

/* ============================================================
   PC DESKTOP ENHANCEMENTS (≥1200px)
   ============================================================ */
@media(min-width:1200px){
  /* Wider hero for impact */
  .hero{min-height:480px;border-radius:22px}
  .hero h2{font-size:48px}
  .hero .deck{font-size:17px}

  /* Top 8 uses 4 columns with more breathing room */
  .top8-grid{grid-template-columns:repeat(4,1fr);gap:22px}
  .t8-card{min-height:380px}

  /* Card titles slightly larger */
  .card h3{font-size:24px}

  /* Modal flip card more spacious */
  .flip .right{padding:34px 36px}
  .flip .right .stat-grid{grid-template-columns:repeat(3,1fr)}

  /* Footer and statbar match wider content */
  .statbar{padding:12px 28px}
  .footer{padding:28px 28px}
}

/* --- Large desktop (≥1600px) --- */
@media(min-width:1600px){
  .masthead,.toolbar,.wrap,.filterbar,.statbar,.viewtabs,.footer,.refresh-banner{
    max-width:1540px
  }
  .hero{min-height:520px;border-radius:26px}
  .hero h2{font-size:54px;max-width:1100px}
  .hero .deck{font-size:18px;max-width:960px}
  .top8-grid{gap:26px}
  .t8-card{min-height:400px}
  .t8-title{font-size:17px}
  .t8-deck{font-size:13.5px}
  .grid{gap:24px}
  .card h3{font-size:26px}
  .card .deck{font-size:14px}
}

/* impact badge */
.impact{position:absolute;top:14px;right:14px;z-index:6;display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.7);color:#fff;padding:5px 10px;border-radius:999px;font-size:10.5px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;backdrop-filter:blur(6px)}
.ai-badge{position:absolute;top:14px;left:14px;z-index:6;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;padding:4px 10px;border-radius:999px;font-size:10px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;box-shadow:0 4px 14px rgba(124,58,237,.4);display:flex;align-items:center;gap:4px}
.ai-badge.heuristic{background:linear-gradient(135deg,#0891b2,#10b981);box-shadow:0 4px 14px rgba(8,145,178,.35)}
.impact.high{background:linear-gradient(135deg,#c8102e,#7a0d22)}
.impact.watch{background:linear-gradient(135deg,#b8893d,#6e511f)}
.impact.context{background:linear-gradient(135deg,#0a7d3a,#06502a)}

/* star rating */
.stars{display:inline-flex;gap:2px;cursor:pointer;user-select:none}
.star{font-size:14px;color:rgba(255,255,255,.35);transition:transform .15s,color .15s}
.star.filled{color:#ffce4d}
.stars:hover .star{transform:scale(1.05)}
.card-stars{position:absolute;bottom:14px;right:14px;z-index:6}
.card-stars .star{color:rgba(255,255,255,.45);text-shadow:0 1px 2px rgba(0,0,0,.4)}
.card .body .row-stars{display:flex;align-items:center;justify-content:space-between;gap:8px}
.card .body .row-stars .stars .star{color:#ccc;text-shadow:none}
.card .body .row-stars .stars .star.filled{color:#ffce4d}
/* v20.5 — inline stars + avg inside .foot (was: floating .card-stars overlay) */
.card .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.card .foot .foot-rating{display:inline-flex;align-items:center;gap:6px}
.card .foot .inline-stars .star{color:#ccc;font-size:13px;text-shadow:none}
.card .foot .inline-stars .star.filled{color:#ffce4d}
.card .foot .avg-num{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;padding:2px 6px;background:var(--pill);border-radius:6px;border:1px solid var(--line)}
.bookmark{
  position:absolute;top:14px;right:14px;z-index:7;width:34px;height:34px;border-radius:50%;
  border:0;background:rgba(255,255,255,.92);color:#1a1a1a;cursor:pointer;display:grid;place-items:center;font-size:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .15s
}
.bookmark:hover{transform:scale(1.08)}
.bookmark.on{background:#ffce4d;color:#3a2a00}

/* ===== Modal flip card ===== */
.modal{position:fixed;inset:0;background:var(--modal-bg);display:none;align-items:flex-start;justify-content:center;padding:24px;z-index:100;backdrop-filter:blur(6px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.modal.show{display:flex}
.flip{
  width:min(1000px,95vw);height:min(640px,90vh);background:var(--paper-2);border-radius:18px;box-shadow:0 40px 80px rgba(0,0,0,.4);
  display:grid;grid-template-columns:1fr 1.1fr;overflow:hidden;animation:flipIn .45s cubic-bezier(.2,.8,.2,1)
}
@keyframes flipIn{from{transform:rotateY(-12deg) translateY(20px);opacity:0}to{transform:rotateY(0) translateY(0);opacity:1}}
.flip .left{position:relative;background:#222}
.flip .left .img{position:absolute;inset:0;background-size:cover;background-position:center}
.flip .left .scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.85) 100%)}
.flip .left .cap{position:absolute;left:0;right:0;bottom:0;padding:26px;color:#fff}
.flip .left .cap .kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.9}
.flip .left .cap h2{font-family:'Playfair Display',serif;font-size:30px;line-height:1.1;margin:8px 0 0;font-weight:900}
.flip .right{padding:30px 32px;overflow:auto;display:flex;flex-direction:column;gap:18px;color:var(--ink);word-break:break-word;overflow-wrap:break-word}
.flip .right h4{font-family:'Playfair Display',serif;font-size:14px;font-style:italic;color:var(--muted);margin:0 0 6px;letter-spacing:.04em;text-transform:uppercase}
.flip .right p{font-size:14.5px;line-height:1.65;margin:0;color:var(--ink-soft)}
.flip .right .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.flip .right .stat{background:var(--pill);border:1px solid var(--line);border-radius:8px;padding:8px 6px;text-align:center}
.flip .right .stat b{display:block;font-family:'Playfair Display',serif;font-size:17px;color:var(--accent);font-weight:800;line-height:1.2}
.flip .right .stat span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.flip .right .src-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600;text-decoration:none;font-size:13px}
.flip .right .src-link:hover{text-decoration:underline}
/* v20.9.2: inline highlights inside article summary */
.flip .right .deck-stats{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}
.flip .right .deck-stats .ds{display:inline-flex;align-items:baseline;gap:4px;background:rgba(200,16,46,.06);border:1px solid rgba(200,16,46,.18);border-radius:999px;padding:2px 9px;font-size:12px;line-height:1.4;white-space:nowrap}
.flip .right .deck-stats .ds b{color:var(--accent);font-weight:700;font-family:'Playfair Display',serif;letter-spacing:.01em;font-size:12.5px}
.flip .right .deck-stats .ds span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:500}
.flip .right p .kw-hi,.flip .right span .kw-hi{background:rgba(200,16,46,.10);color:var(--accent);font-weight:700;padding:0 3px;border-radius:3px}
.flip .right .summary-paras{display:flex;flex-direction:column;gap:.78em}
.flip .right .summary-para{display:block}
.flip .right .summary-para + .summary-para{padding-top:.18em;border-top:1px solid color-mix(in srgb,var(--line) 58%,transparent)}
.flip .right .partner-hi{background:color-mix(in srgb,var(--accent2) 18%,transparent);color:color-mix(in srgb,var(--accent2) 82%,var(--ink) 18%);font-weight:800;padding:0 4px;border-radius:4px}
.flip .right .date-hi{background:rgba(59,130,246,.12);color:#3b82f6;font-weight:750;padding:0 4px;border-radius:4px}
.flip .right .num-hi{background:rgba(217,119,6,.14);color:#b45309;font-weight:800;padding:0 4px;border-radius:4px}
.flip .right .summary-empty{color:var(--muted);font-style:italic}
/* v20.11.3 — rating box keeps a stable horizontal aspect ratio; no more vertical letter-stacking. */
/* v20.11.5 — rating card was breaking into vertical letters on narrow modal width.
   Switch to a single-column stack: label on top, stars in the middle, avg below. */
.flip .right .modal-stars{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;background:var(--pill);border-radius:12px;border:1px solid var(--line);width:100%;max-width:100%;box-sizing:border-box}
.flip .right .modal-stars .stars{display:inline-flex;align-items:center;justify-content:flex-start;gap:3px;white-space:nowrap}
.flip .right .modal-stars .stars .star{color:#ccc;font-size:18px;line-height:1}
.flip .right .modal-stars .stars .star.filled{color:#ffce4d}
.flip .right .modal-stars .label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;white-space:nowrap;line-height:1.2;writing-mode:horizontal-tb;word-break:keep-all;overflow-wrap:normal;hyphens:none}
.flip .right .modal-stars .avg-label{text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;opacity:.78;writing-mode:horizontal-tb}
.close-x{position:absolute;top:18px;right:22px;background:rgba(255,255,255,.95);color:#1a1a1a;border:0;width:38px;height:38px;border-radius:50%;font-size:20px;cursor:pointer;z-index:10}
.modal-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;position:sticky;top:0;z-index:2;background:linear-gradient(180deg,var(--paper-2) 74%,color-mix(in srgb,var(--paper-2) 0%,transparent));padding-bottom:6px}
.modal-summary-head h4{margin:0!important}
.modal-font-tools{display:inline-flex;align-items:center;gap:3px;padding:4px;background:var(--pill);border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.10);flex:0 0 auto}
.modal-font-tools button{width:34px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-weight:900;cursor:pointer;font-size:13px;line-height:1}
.modal-font-tools span{min-width:38px;text-align:center;font-size:12px;font-weight:900;color:var(--ink);letter-spacing:0}
.modal-summary-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.modal-summary-status{font-family:var(--sans,'Inter',system-ui,sans-serif);font-size:11px;font-weight:850;letter-spacing:.04em;color:var(--muted);white-space:nowrap}
.modal-summary-refresh{border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--paper-2));color:var(--accent);border-radius:999px;padding:7px 10px;font-family:var(--sans,'Inter',system-ui,sans-serif);font-size:11px;font-weight:900;line-height:1;cursor:pointer;white-space:nowrap}
.modal-summary-refresh:disabled{opacity:.58;cursor:wait}
.flip .right .modal-summary-block{flex:0 0 auto;min-height:auto}
.flip .right #mDeck{display:block;margin:0;font-size:calc(16px * var(--modal-recap-scale, 1));line-height:1.74}
.flip .right .modal-source-block{flex:0 0 auto;position:relative;z-index:1;margin-top:2px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:var(--paper-2)}
@media(max-width:700px){
  body{zoom:1!important}
  .primary-nav{display:none}
  .modal-summary-head{align-items:flex-start;gap:10px;margin-bottom:10px;flex-wrap:wrap}
  .modal-summary-head h4{flex:1 1 135px}
  .modal-summary-head .modal-summary-meta{margin-left:auto}
  .modal-font-tools{padding:3px}
  .modal-font-tools button{width:32px;height:30px;font-size:12px}
  .modal-font-tools span{min-width:36px;font-size:11.5px}
  .flip .right p{font-size:calc(15.5px * var(--user-font-scale, 1));line-height:1.68}
  .flip .right #mDeck{font-size:calc(16px * var(--user-font-scale, 1) * var(--modal-recap-scale, 1));line-height:1.72}
  .flip .right .modal-source-block{padding-top:12px;margin-top:0}
}

/* v24.12 — phone article reader: keep controls in the text panel and cap
   recap scale so 130% remains readable instead of covering the source block. */
@media(max-width:700px){
  .modal{padding:0;align-items:stretch;overflow:hidden}
  .modal.show .flip{
    width:100vw!important;
    height:100svh!important;
    max-height:100svh!important;
    border-radius:0!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(180px,32svh) minmax(0,1fr)!important;
  }
  .modal.show .flip .left .cap{
    padding:14px 56px 14px 16px!important;
    max-height:82%;
  }
  .modal.show .flip .left .cap .kicker{
    font-size:10px;
    line-height:1.4;
    letter-spacing:.18em;
  }
  .modal.show .flip .left .cap h2{
    font-size:clamp(18px,5vw,22px)!important;
    line-height:1.14!important;
    -webkit-line-clamp:2!important;
  }
  .modal.show .flip .right{
    min-height:0;
    padding:12px 16px calc(18px + env(safe-area-inset-bottom,0px))!important;
    gap:12px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .modal.show .flip .right .modal-stars{
    padding:8px 10px;
    gap:4px 8px;
  }
  .modal.show .flip .right .modal-stars .stars .star{font-size:15px}
  .modal-summary-head{
    position:static;
    top:auto;
    z-index:auto;
    align-items:center;
    gap:8px;
    margin:0 0 8px;
    padding:0;
    background:transparent;
  }
  .modal-summary-head h4{
    flex:1 1 140px;
    font-size:11px!important;
    line-height:1.25;
  }
  .modal-font-tools{
    margin-left:auto!important;
    padding:3px;
    box-shadow:0 4px 14px rgba(0,0,0,.10);
  }
  .modal-font-tools button{width:32px;height:30px}
  .modal-font-tools span{min-width:36px}
  .flip .right #mDeck{
    font-size:clamp(15px, calc(14px * var(--user-font-scale, 1) * var(--modal-recap-scale, 1)), 18px)!important;
    line-height:1.62!important;
  }
  .flip .right .summary-paras{gap:.7em}
  .flip .right .summary-para + .summary-para{padding-top:.7em}
  .flip .right .modal-source-block{
    position:relative;
    margin-top:4px;
    padding-top:12px;
  }
  .close-x{
    top:calc(env(safe-area-inset-top,0px) + 10px);
    right:12px;
    width:44px;
    height:44px;
    z-index:30;
  }
}
/* modal responsive handled in responsive section below */

/* ===== Empty state ===== */
.empty{padding:80px 20px;text-align:center;color:var(--muted)}
.empty h3{font-family:'Playfair Display',serif;font-size:28px;color:var(--ink);margin:0 0 8px}
.empty-onboarding{
  width:min(620px,100%);
  margin:22px auto 0;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--accent2) 22%,var(--line));
  border-radius:22px;
  background:
    radial-gradient(380px 160px at 0% 0%,color-mix(in srgb,var(--accent2) 13%,transparent),transparent 74%),
    color-mix(in srgb,var(--paper-2) 92%,transparent);
  box-shadow:0 16px 42px rgba(15,23,42,.08);
}
.empty-onboarding-title{
  color:var(--ink);
  font:950 17px/1.2 var(--sans,'Inter',system-ui,sans-serif);
  letter-spacing:-.02em;
}
.empty-onboarding-copy{
  margin:7px auto 0;
  max-width:520px;
  color:var(--muted);
  font:650 13px/1.55 var(--sans,'Inter',system-ui,sans-serif);
}
.empty-onboarding-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.empty-onboarding .empty-action{
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  padding:10px 15px;
  border-radius:999px;
  font:900 12.5px/1 var(--sans,'Inter',system-ui,sans-serif);
  cursor:pointer;
}
.empty-onboarding .empty-action.primary{
  border-color:transparent;
  background:var(--accent);
  color:#fff;
}
.empty-filter-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}
.empty-filter-actions button{
  padding:10px 18px;
  border-radius:999px;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
@keyframes bdSkeletonPulse{
  0%,100%{opacity:.58}
  50%{opacity:1}
}
.grid-loading{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.grid-loading-note{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--paper) 90%,var(--accent) 10%);
  color:var(--ink);
  font:850 14px/1.35 var(--sans,'Inter',system-ui,sans-serif);
}
.grid-loading-note small{
  color:var(--muted);
  font-weight:750;
}
.grid-skeleton-card{
  min-height:220px;
  padding:18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--paper-2);
  box-shadow:var(--shadow);
}
.grid-skeleton-card .skeleton-media{
  height:120px;
  border-radius:14px;
  margin:-2px -2px 18px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 7%,transparent),color-mix(in srgb,var(--ink) 15%,transparent),color-mix(in srgb,var(--ink) 7%,transparent));
  animation:bdSkeletonPulse 1.25s ease-in-out infinite;
}
.grid-skeleton-card .skeleton-pill,
.grid-skeleton-card .skeleton-line{
  background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 7%,transparent),color-mix(in srgb,var(--ink) 15%,transparent),color-mix(in srgb,var(--ink) 7%,transparent));
}
@media(max-width:860px){.grid-loading{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid-loading{grid-template-columns:1fr}}

/* footer */
.footer{max-width:1400px;margin:40px auto 0;padding:24px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer em{font-family:'Playfair Display',serif;color:var(--ink)}

/* counters strip */
.statbar{max-width:1400px;margin:0 auto;padding:10px 28px;display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);letter-spacing:.04em;border-bottom:1px solid var(--line)}
.statbar b{color:var(--ink);font-weight:700}
.date-range-stat{display:inline-flex;align-items:center;gap:7px}
.date-range-stat label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.date-range-stat small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.date-quick-select{
  appearance:none;
  -webkit-appearance:none;
  min-height:28px;
  max-width:170px;
  padding:4px 26px 4px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 13px) 11px/6px 6px no-repeat,
    linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - 9px) 11px/6px 6px no-repeat,
    var(--paper-2);
  color:var(--ink);
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
.date-quick-select:focus{outline:2px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}

/* region flag */
.flag{font-size:13px}

/* ===== Language selector ===== */
.lang-wrap{position:relative;z-index:60}
.lang-wrap.open{z-index:9990}
.lang-menu{
  position:absolute;top:calc(100% + 8px);right:0;background:var(--paper-2);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);min-width:180px;max-width:90vw;padding:6px;z-index:9999;
  display:none;flex-direction:column
}
.lang-wrap.open .lang-menu{display:flex}
.lang-opt{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 12px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--ink);
  border:0;background:transparent;text-align:left;font-family:inherit
}
.lang-opt:hover{background:var(--pill)}
.lang-opt.active{background:var(--ink);color:var(--paper)}
.lang-opt .label{display:flex;align-items:center;gap:8px}
.lang-opt .native{font-size:11px;color:var(--muted);font-weight:500}
.lang-opt.active .native{color:rgba(255,255,255,.7)}
.lang-opt .check{font-size:13px;opacity:.7}
.icon-btn .lang-code{font-size:10px;font-weight:700;letter-spacing:.05em}

/* ============================================================
   LAYOUTS — set on [data-layout] of <html>
   "mosaic" (default): the magazine grid already styled above.
   "grid":   all cards same size, no hero.
   "list":   single column, compact rows with thumbnail on left.
   "cards":  big polaroid stack, 3 columns, no hero.
   ============================================================ */
[data-layout="grid"] .hero{display:none}
[data-layout="grid"] .grid{grid-template-columns:repeat(4,1fr)}
[data-layout="grid"] .s4,[data-layout="grid"] .s6,
[data-layout="grid"] .s8,[data-layout="grid"] .s12{grid-column:span 1}
@media(max-width:1100px){[data-layout="grid"] .grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){[data-layout="grid"] .grid{grid-template-columns:repeat(2,1fr)}}

[data-layout="cards"] .hero{display:none}
[data-layout="cards"] .grid{grid-template-columns:repeat(3,1fr);gap:28px}
[data-layout="cards"] .s4,[data-layout="cards"] .s6,
[data-layout="cards"] .s8,[data-layout="cards"] .s12{grid-column:span 1}
[data-layout="cards"] .card{
  background:var(--paper-2);padding:14px 14px 18px;border-radius:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);
  transform:rotate(var(--tilt,0deg));transition:transform .25s ease,box-shadow .25s ease;
}
[data-layout="cards"] .card:nth-child(3n+1){--tilt:-1.2deg}
[data-layout="cards"] .card:nth-child(3n+2){--tilt:.8deg}
[data-layout="cards"] .card:nth-child(3n+3){--tilt:-.4deg}
[data-layout="cards"] .card:hover{transform:rotate(0) translateY(-4px)}
[data-layout="cards"] .card .img{border-radius:4px;margin-bottom:6px}
[data-layout="cards"] .card .body{padding:8px 4px 0}
@media(max-width:1100px){[data-layout="cards"] .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){[data-layout="cards"] .grid{grid-template-columns:1fr}}

[data-layout="list"] .hero{display:none}
[data-layout="list"] .grid{grid-template-columns:1fr;gap:10px}
[data-layout="list"] .s4,[data-layout="list"] .s6,
[data-layout="list"] .s8,[data-layout="list"] .s12{grid-column:span 1}
[data-layout="list"] .card{flex-direction:row;align-items:stretch;min-height:120px;border-radius:10px}
[data-layout="list"] .card .img{width:200px;aspect-ratio:auto;flex-shrink:0;border-bottom:0;border-right:1px solid var(--line)}
[data-layout="list"] .card .body{padding:14px 18px;gap:6px}
[data-layout="list"] .card h3{font-size:17px}
[data-layout="list"] .card .deck{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
[data-layout="list"] .card-stars{bottom:auto;top:14px;right:14px}
[data-layout="list"] .bookmark{top:14px;right:auto;left:auto;right:120px}
[data-layout="list"] .impact{top:14px;right:14px}
[data-layout="list"] .card.read::after{top:auto;bottom:10px;left:10px}
/* list layout responsive handled in responsive section */

/* ============================================================
   Skin / Layout pickers — reuse the lang-menu styling
   ============================================================ */
.picker-wrap{position:relative;z-index:60}
.picker-wrap.open{z-index:2147483000}
.picker-menu{
  position:absolute;top:calc(100% + 8px);right:0;background:var(--paper-2);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);min-width:230px;max-width:90vw;padding:8px;z-index:2147483000;
  display:none;flex-direction:column;gap:4px;max-height:min(70vh,520px);overflow-y:auto;overscroll-behavior:contain
}
/* v20.11.1 — toolbar flyouts are fixed to viewport while open so main frames/cards can never cover them. */
.picker-wrap.open .picker-menu{display:flex;position:fixed;top:var(--flyout-top,72px);right:var(--flyout-right,16px);z-index:2147483000}
.picker-head{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:6px 10px 4px}
.picker-opt{
  display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;
  border:0;background:transparent;text-align:left;font-family:inherit;font-size:13px;color:var(--ink)
}
.picker-opt:hover{background:var(--pill)}
.picker-opt.active{background:var(--ink);color:var(--paper)}
.picker-opt .swatch{
  width:34px;height:22px;border-radius:4px;flex-shrink:0;border:1px solid var(--line);
  display:flex;overflow:hidden
}
.picker-opt .swatch span{flex:1;height:100%}
.picker-opt .name{flex:1;font-weight:600}
.picker-opt .desc{font-size:10.5px;color:var(--muted)}
.picker-opt.active .desc{color:rgba(255,255,255,.65)}
.picker-opt .layout-icon{
  width:34px;height:22px;border:1px solid var(--line);border-radius:4px;flex-shrink:0;
  display:grid;gap:2px;padding:2px;background:var(--paper)
}
.layout-icon.mosaic{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}
.layout-icon.mosaic span:nth-child(1){grid-column:span 2}
.layout-icon.grid{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr}
.layout-icon.list{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}
.layout-icon.cards{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}
.layout-icon span{background:var(--ink-soft);opacity:.6;border-radius:1px}

/* v19.9: Style picker — look/feel modes are chosen from toolbar, not main tabs */
.style-picker-menu{min-width:min(380px,92vw);gap:8px}
.style-picker-opt{align-items:stretch;gap:12px;padding:10px;border:1px solid transparent}
.style-picker-opt.active{background:var(--paper);color:var(--ink);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.style-picker-opt.active .desc{color:var(--muted)}
.picker-subhead{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;margin:5px 4px 1px}
.style-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.style-copy .name{font-weight:800}.style-copy .desc{font-size:11.5px;line-height:1.35;color:var(--muted)}
.style-mini{width:92px;height:58px;border:1px solid var(--line);border-radius:9px;flex-shrink:0;background:var(--paper);padding:6px;display:grid;gap:4px;overflow:hidden}
.style-mini span{display:block;border-radius:3px;background:var(--ink-soft);opacity:.35}
.style-mini.dossier{grid-template-columns:1.1fr .9fr}.style-mini.dossier span:first-child{grid-row:span 3;opacity:.55;background:#9d1f2d}.style-mini.dossier span:nth-child(n+2){height:10px}
.style-mini.letter{grid-template-columns:1fr 1fr}.style-mini.letter span:first-child{grid-column:span 2;height:8px;background:#111;opacity:.75}.style-mini.letter span:nth-child(2){height:34px;opacity:.55}.style-mini.letter span:nth-child(n+3){height:10px}
.style-mini.radar{position:relative;display:block;background:radial-gradient(circle at center,transparent 0 28%,rgba(14,165,233,.16) 29% 31%,transparent 32% 58%,rgba(14,165,233,.18) 59% 61%,transparent 62%)}.style-mini.radar span{position:absolute;width:8px;height:8px;border-radius:50%;background:#0ea5e9;opacity:.9}.style-mini.radar span:nth-child(1){left:42px;top:25px;background:#111}.style-mini.radar span:nth-child(2){left:18px;top:14px}.style-mini.radar span:nth-child(3){right:18px;top:15px;background:#22c55e}.style-mini.radar span:nth-child(4){right:22px;bottom:12px;background:#f97316}.style-mini.radar span:nth-child(5){left:22px;bottom:13px;background:#a855f7}
/* style picker responsive handled in responsive section */

/* ============ Sources & Keywords drawer ============ */
/* v20.11.9 — Drawer must sit above the toolbar (z-index:100) so the satellite icon and
   profile avatar don't bleed through. Previous mask=90/drawer=91 sat under toolbar. */
.drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:9000}
.drawer-mask.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,92vw);background:var(--paper);border-left:1px solid var(--rule);box-shadow:-12px 0 60px rgba(0,0,0,.18);transform:translateX(110%);transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:9001;display:flex;flex-direction:column}
.drawer.open{transform:translateX(0)}
.drawer-head{padding:18px 22px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between}
.drawer-head h2{font-family:'Playfair Display',serif;font-size:22px;letter-spacing:.3px;margin:0}
.drawer-head .close{background:transparent;border:1px solid var(--rule);width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--ink);font-size:16px}
.drawer-tabs{display:flex;border-bottom:1px solid var(--rule);background:var(--paper-2);overflow-x:auto;scrollbar-width:none}
.drawer-tabs::-webkit-scrollbar{display:none}
.drawer-tab{flex:0 0 auto;padding:12px 12px;cursor:pointer;background:transparent;border:0;color:var(--ink-soft);font-weight:600;font-size:12px;letter-spacing:.4px;text-transform:uppercase;border-bottom:2px solid transparent;white-space:nowrap}
.drawer-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--paper)}
.disc-badge{display:inline-block;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:10px;line-height:18px;text-align:center;margin-left:4px;vertical-align:1px}
.drawer-body{flex:1;overflow-y:auto;padding:18px 22px;word-break:break-word;overflow-wrap:break-word}
.drawer-section{margin-bottom:18px}
.drawer-section h3{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-soft);margin:0 0 10px;font-weight:600}
.add-row{display:flex;gap:6px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.add-row input,.add-row select,.add-row textarea{padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);font-size:13px;font-family:inherit;min-width:0}
.add-row input.flex{flex:1;min-width:100px}
.add-row textarea.flex{flex:1 1 240px;min-width:220px;min-height:70px;resize:vertical}
.kw-watch-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px;border:1px solid var(--rule);border-radius:14px;background:var(--paper);box-shadow:0 8px 24px rgba(0,0,0,.04)}
.kw-watch-title{font-weight:800;font-size:14.5px;color:var(--ink);display:flex;align-items:center;gap:8px;min-width:0}
.kw-watch-title span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kw-watch-meta{margin-top:4px;color:var(--ink-soft);font-size:11px;line-height:1.45}
.kw-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.kw-chip{font-size:10.5px;font-weight:750;border-radius:999px;padding:3px 8px;background:var(--paper-2);border:1px solid var(--rule);color:var(--ink-soft)}
.kw-chip.neg{background:rgba(220,38,38,.08);color:#b91c1c;border-color:rgba(220,38,38,.18)}
.kw-watch-actions{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.add-row button{padding:8px 14px;background:var(--accent);color:#fff;border:0;border-radius:8px;cursor:pointer;font-weight:600}
.add-row button:hover{filter:brightness(1.1)}
.row-list{display:flex;flex-direction:column;gap:6px}
.row-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--paper)}
.row-item .name{font-weight:600;font-size:13.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-item .meta{color:var(--ink-soft);font-size:11px;letter-spacing:.5px}
.row-item .stat{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--paper-2);border:1px solid var(--rule);color:var(--ink-soft);white-space:nowrap}
.row-item .stat.hot{background:rgba(200,16,46,.08);color:var(--accent);border-color:rgba(200,16,46,.25)}
.row-item .stat.cold{opacity:.6}
.row-item .source-health{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:1px 7px;border-radius:999px;background:rgba(34,197,94,.10);color:#15803d;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.row-item .source-health.failing{background:rgba(220,38,38,.10);color:#b91c1c}
.row-item .source-health.recovering{background:rgba(249,115,22,.12);color:#c2410c}
.row-item .source-health.checking{background:rgba(245,158,11,.12);color:#a16207}
.row-item .source-health.empty{background:rgba(100,116,139,.12);color:#64748b}
.row-item .source-health.quiet{background:rgba(14,165,233,.10);color:#0369a1}
.row-item .source-health.paused{background:rgba(107,114,128,.12);color:#6b7280}
.source-test-result{width:100%;font-size:12px;color:var(--ink-soft);padding:8px 10px;border:1px dashed var(--rule);border-radius:10px;background:var(--paper-2)}
.source-test-result.ok{color:#15803d;border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.08)}
.source-test-result.fail{color:#b91c1c;border-color:rgba(220,38,38,.25);background:rgba(220,38,38,.08)}
.row-item .toggle{width:32px;height:18px;border-radius:99px;background:var(--rule);position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}
.row-item .toggle::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}
.row-item .toggle.on{background:var(--accent)}
.row-item .toggle.on::after{left:16px}
.row-item .del{background:transparent;border:0;color:var(--ink-soft);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px}
.row-item .del:hover{color:var(--accent);background:var(--paper-2)}
.row-item .learned{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;font-size:9px;padding:2px 6px;border-radius:4px;font-weight:700;letter-spacing:.5px}
.row-item .src-primary{margin-left:6px;font-size:10.5px;color:#7c3aed;background:rgba(124,58,237,.08);padding:1px 6px;border-radius:4px;font-weight:600}
.suggestion-banner{position:relative;top:auto;left:auto;right:auto;background:linear-gradient(135deg,rgba(251,191,36,.15),rgba(245,158,11,.08));border:1px solid rgba(245,158,11,.3);padding:10px 16px;display:none;align-items:center;gap:10px;z-index:50;font-size:13px}
.suggestion-banner.show{display:flex}
.suggestion-banner .icon{font-size:18px}
.suggestion-banner .text{flex:1}
.suggestion-banner button{background:var(--accent);color:#fff;border:0;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}
.suggestion-card{padding:12px;border:1px solid rgba(245,158,11,.4);border-radius:10px;background:linear-gradient(135deg,rgba(251,191,36,.08),rgba(245,158,11,.04));margin-bottom:8px}
.suggestion-card .reason{font-size:13px;line-height:1.5;margin-bottom:8px}
.suggestion-card .actions{display:flex;gap:8px}
.suggestion-card button{flex:1;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;border:1px solid var(--rule);background:var(--paper)}
.suggestion-card button.accept{background:var(--accent);color:#fff;border-color:var(--accent)}
.learn-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 10px}
.learn-section-head h3{margin:0!important}
.learn-section-sub{font-size:12px;color:var(--ink-soft);line-height:1.45;margin:-4px 0 12px}
.learn-count{font-size:11px;font-weight:750;color:var(--muted);letter-spacing:0;text-transform:none}
.learn-card{
  padding:14px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));
  border-radius:14px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--paper)),color-mix(in srgb,var(--paper-2) 92%,transparent));
  margin-bottom:10px;
  box-shadow:0 8px 26px rgba(0,0,0,.08);
}
.learn-card.warn{border-color:rgba(245,158,11,.38);background:linear-gradient(135deg,rgba(245,158,11,.10),color-mix(in srgb,var(--paper-2) 92%,transparent))}
.learn-card-top{display:flex;align-items:flex-start;gap:10px}
.learn-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:13px;font-weight:950}
.learn-card.warn .learn-icon{background:rgba(245,158,11,.15);color:#f59e0b}
.learn-copy{min-width:0;flex:1}
.learn-title{font-size:15px;font-weight:900;line-height:1.24;color:var(--ink)}
.learn-desc{margin-top:5px;font-size:12.5px;line-height:1.48;color:var(--ink-soft)}
.learn-meta-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.learn-pill{font-size:10.5px;font-weight:850;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:color-mix(in srgb,var(--paper) 78%,transparent)}
.learn-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.learn-card button{min-height:44px;padding:9px 10px;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:850;border:1px solid var(--line);background:var(--paper);color:var(--ink);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.learn-card button.accept{background:var(--accent);color:#fff;border-color:var(--accent)}
.learn-card.busy{opacity:.82}
.learn-card button:disabled{opacity:.62;cursor:wait}
.learn-card-status{margin-top:10px;font-size:12px;font-weight:800;color:var(--ink-soft);line-height:1.35}
.learn-card-status.error{color:#fca5a5}
.empty-line{padding:20px;text-align:center;color:var(--ink-soft);font-size:13px;font-style:italic}
.live-badge{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;margin-right:5px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ============================================================
   v16: View tabs, Top 8 grid, thumbs UI, Sunday review
   ============================================================ */
.viewtabs{max-width:1280px;margin:0 auto;padding:14px 28px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vtab{background:transparent;border:1.5px solid var(--border);color:var(--ink);font:600 13px/1 var(--sans);padding:9px 16px;border-radius:999px;cursor:pointer;transition:all .18s;letter-spacing:.02em}
.vtab:hover{border-color:var(--accent);color:var(--accent)}
.vtab.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.vtab-spacer{flex:1}
.vtab-hint{font:italic 12px/1.4 var(--serif);color:var(--ink-mute);opacity:.75}
[data-skin="terminal"] .vtab{border-radius:4px;font-family:var(--mono)}
.library-panel[hidden],
.source-panel[hidden],
.keyword-panel[hidden],
.settings-panel[hidden],
.mobile-library-panel[hidden],
.mobile-source-panel[hidden],
.mobile-keyword-panel[hidden],
.mobile-settings-panel[hidden]{display:none!important}
.library-panel{
  margin:0 0 18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb,var(--accent) 9%,transparent), transparent 32%),
    color-mix(in srgb,var(--paper-2) 94%,transparent);
  box-shadow:0 22px 54px rgba(15,23,42,.10);
}
.library-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:14px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 95%,transparent),color-mix(in srgb,var(--paper-2) 92%,transparent));
}
.library-kicker{
  font:850 11px/1.2 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
}
.library-head h2{
  margin:3px 0 4px;
  font:900 clamp(22px,2.4vw,34px)/1.05 var(--sans);
  color:var(--ink);
  letter-spacing:-.035em;
}
.library-sub{
  color:var(--muted);
  font:650 13.5px/1.5 var(--sans);
  max-width:660px;
}
.library-export-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.library-head-tools{
  display:grid;
  justify-items:end;
  gap:10px;
  min-width:230px;
}
.library-head-status{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 9%,var(--paper));
  color:var(--ink);
  padding:8px 11px;
  font:850 11px/1.2 var(--sans);
  max-width:300px;
}
.library-head-status:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);
  flex:0 0 auto;
}
.library-export{
  border:0;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  min-height:38px;
  padding:0 15px;
  font:850 12px/1 var(--sans);
  cursor:pointer;
  white-space:nowrap;
}
.library-export.secondary{
  background:var(--chip);
  color:var(--ink);
  border:1px solid var(--line);
}
.library-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
.library-metric{
  min-width:0;
  border:1px solid color-mix(in srgb,var(--line) 86%,transparent);
  border-radius:16px;
  background:color-mix(in srgb,var(--paper) 88%,var(--chip));
  padding:12px 13px;
  display:grid;
  gap:3px;
}
.library-metric b{
  color:var(--ink);
  font:950 22px/1 var(--sans);
  letter-spacing:-.04em;
}
.library-metric span{
  color:var(--muted);
  font:850 11px/1.25 var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.library-metric small{
  color:var(--ink-soft);
  font:650 11.5px/1.35 var(--sans);
}
.library-controls{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(150px,.65fr));
  gap:10px;
  margin-bottom:16px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--paper) 78%,transparent);
}
.library-search-wrap,
.library-select-wrap{
  min-width:0;
  display:grid;
  gap:6px;
}
.library-search-wrap{
  position:relative;
}
.library-search-wrap .library-search-icon{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  opacity:.62;
  pointer-events:none;
  font:900 15px/1 var(--sans);
}
.library-select-wrap span{
  color:var(--muted);
  font:850 10.5px/1 var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.library-controls input,
.library-controls select{
  width:100%;
  min-height:40px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 11px;
  background:var(--paper);
  color:var(--ink);
  font:700 13px/1 var(--sans);
}
.library-search-wrap input{
  min-height:46px;
  border-radius:15px;
  padding-left:38px;
  font-size:14px;
}
.library-select-wrap select{
  min-height:46px;
  border-radius:15px;
}
.library-category-rail{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  margin:-6px 0 16px;
  padding:2px 2px 7px;
}
.library-category-rail::-webkit-scrollbar{
  display:none;
}
.library-category-chip{
  flex:0 0 auto;
  min-height:36px;
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper) 86%,var(--chip));
  color:var(--ink-soft);
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  font:850 12px/1 var(--sans);
  cursor:pointer;
  transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease;
}
.library-category-chip:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
}
.library-category-chip.active{
  background:color-mix(in srgb,var(--accent) 13%,var(--paper));
  border-color:color-mix(in srgb,var(--accent) 38%,var(--line));
  color:var(--accent);
  box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 12%,transparent);
}
.library-category-chip span{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  border-radius:999px;
  padding:0 7px;
  background:color-mix(in srgb,currentColor 10%,transparent);
  color:inherit;
  font:950 10.5px/1 var(--sans);
}
.mobile-library-panel .library-category-rail{
  margin:10px -2px 0;
  padding:1px 2px 8px;
}
.mobile-library-panel .library-category-chip{
  min-height:34px;
  border-color:rgba(255,255,255,.09);
  background:#17191f;
  color:#c7cbd3;
  font-size:11.5px;
}
.mobile-library-panel .library-category-chip.active{
  background:rgba(37,99,235,.18);
  border-color:rgba(96,165,250,.36);
  color:#7db7ff;
  box-shadow:0 8px 20px rgba(37,99,235,.18);
}
.library-cluster-list{
  margin:0 0 16px;
}
.library-history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:6px 0 10px;
}
.library-section-title{
  color:var(--ink);
  font:950 15px/1.15 var(--sans);
  letter-spacing:-.015em;
}
.library-section-sub{
  color:var(--muted);
  font:700 11.5px/1.4 var(--sans);
  margin-top:2px;
}
.library-history-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
}
.library-cluster-list-inner{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 14px;
}
.library-cluster-card{
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--paper)),var(--paper));
  padding:13px;
  display:grid;
  gap:9px;
}
.library-cluster-card.history-card{
  border-color:color-mix(in srgb,#2563eb 30%,var(--line));
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb,#2563eb 13%,transparent), transparent 36%),
    linear-gradient(135deg,color-mix(in srgb,#2563eb 7%,var(--paper)),var(--paper));
}
.library-cluster-card.history-card .library-cluster-label{color:#2563eb}
.library-cluster-card.history-card .library-actions button.primary{
  background:#2563eb;
  border-color:#2563eb;
}
.library-cluster-label{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  color:var(--accent);
  font:900 10.5px/1.25 var(--sans);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.library-cluster-title{
  color:var(--ink);
  font:950 16px/1.18 var(--sans);
  letter-spacing:-.02em;
}
.library-cluster-summary{
  color:var(--muted);
  font:650 12.5px/1.45 var(--sans);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.library-cluster-diff{
  border-left:3px solid color-mix(in srgb,var(--accent) 54%,transparent);
  padding-left:9px;
  color:var(--ink-soft);
  font:750 12px/1.42 var(--sans);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.library-cluster-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.library-cluster-stat{
  border:1px solid var(--line);
  border-radius:999px;
  padding:4px 8px;
  color:var(--muted);
  background:var(--chip);
  font:850 10.5px/1 var(--sans);
}
.library-cluster-sources{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.library-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.library-digest-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:0 0 16px;
}
.library-digest-card{
  border:1px solid color-mix(in srgb,#2563eb 34%,var(--line));
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,#2563eb 10%,var(--paper)),var(--paper));
  padding:13px;
  display:grid;
  gap:9px;
}
.library-digest-label{
  color:#2563eb;
  font:900 10.5px/1.25 var(--sans);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.library-digest-title{
  color:var(--ink);
  font:950 16px/1.18 var(--sans);
  letter-spacing:-.02em;
}
.library-digest-summary{
  color:var(--muted);
  font:650 12.5px/1.45 var(--sans);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.library-card{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));
  border-radius:20px;
  background:
    radial-gradient(circle at 88% 0%, color-mix(in srgb,var(--accent) 7%,transparent), transparent 38%),
    linear-gradient(180deg,color-mix(in srgb,var(--paper) 98%,transparent),color-mix(in srgb,var(--paper-2) 86%,transparent));
  padding:0;
  display:grid;
  gap:14px;
  box-shadow:0 16px 38px rgba(15,23,42,.08);
}
.library-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent2) 80%,var(--accent)),transparent);
  opacity:.9;
}
.library-card-head{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
  align-items:flex-start;
  padding:17px 17px 0;
}
.library-card-copy{
  min-width:0;
  display:grid;
  gap:7px;
}
.library-card-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
}
.library-thumb{
  width:92px;
  height:72px;
  border-radius:16px;
  background-size:cover;
  background-position:center;
  border:1px solid var(--line);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.library-meta{
  font:850 10.5px/1.35 var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.library-saved-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:fit-content;
  max-width:100%;
  border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  color:var(--accent);
  padding:5px 8px;
  font:950 10px/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.library-saved-badge:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}
.library-availability-badge{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  border:1px solid currentColor;
  border-radius:999px;
  padding:5px 8px;
  font:950 10px/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.library-availability-badge.archived{
  color:#b7791f;
  background:color-mix(in srgb,#f59e0b 11%,transparent);
}
.library-availability-badge.unavailable{
  color:#dc2626;
  background:color-mix(in srgb,#ef4444 10%,transparent);
}
.library-availability-note{
  margin:0 17px;
  border:1px solid color-mix(in srgb,var(--line) 84%,transparent);
  border-radius:13px;
  padding:10px 12px;
  color:var(--muted);
  background:color-mix(in srgb,var(--paper-2) 86%,transparent);
  font:700 12px/1.45 var(--sans);
}
.library-availability-note.archived{
  border-color:color-mix(in srgb,#f59e0b 30%,var(--line));
}
.library-availability-note.unavailable{
  border-color:color-mix(in srgb,#ef4444 28%,var(--line));
}
.library-card.is-unavailable:before{
  background:linear-gradient(90deg,#ef4444,color-mix(in srgb,#ef4444 38%,var(--muted)),transparent);
}
.library-card.is-unavailable .library-thumb{
  filter:grayscale(.72);
  opacity:.68;
}
.library-title{
  margin:0;
  color:var(--ink);
  font:950 17.5px/1.2 var(--sans);
  letter-spacing:-.018em;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.library-article-preview{
  display:grid;
  gap:12px;
  padding:0 17px;
}
.library-prose-block{
  border:1px solid color-mix(in srgb,var(--line) 84%,transparent);
  border-radius:15px;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  padding:12px;
}
.library-prose-block.fulltext{
  background:color-mix(in srgb,var(--accent2) 8%,var(--paper));
  border-color:color-mix(in srgb,var(--accent2) 26%,var(--line));
}
.library-prose-label{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 9px;
  color:var(--muted);
  font:950 10.5px/1.2 var(--sans);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.library-prose-label:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);
}
.library-prose-block.fulltext .library-prose-label:before{
  background:var(--accent2);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent2) 13%,transparent);
}
.library-prose{
  color:var(--ink-soft);
  font:650 13.5px/1.68 var(--sans);
}
.library-prose p{
  margin:0;
}
.library-prose p + p{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid color-mix(in srgb,var(--line) 64%,transparent);
}
.library-ai-bullets{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--paper)),color-mix(in srgb,var(--accent2) 8%,var(--paper)));
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line));
}
.library-ai-bullets .library-prose-label:before{
  background:var(--accent);
}
.library-ai-bullet-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.library-ai-bullet-list li{
  position:relative;
  color:var(--ink-soft);
  font:700 13.5px/1.58 var(--sans);
  padding-left:18px;
}
.library-ai-bullet-list li:before{
  content:"";
  position:absolute;
  left:2px;
  top:.68em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);
}
.library-card-preview .library-prose-block.fulltext{
  display:none;
}
.library-card-compact{
  gap:0;
}
.library-card-compact .library-card-head{
  align-items:center;
  padding-bottom:15px;
}
.library-card-compact .library-title{
  -webkit-line-clamp:2;
}
.library-card-compact .library-article-preview,
.library-card-compact .library-note-panel{
  display:none;
}
.library-card-compact .library-card-actions{
  margin-top:0;
}
.library-note-panel{
  display:grid;
  gap:9px;
  margin:0 17px;
  padding:13px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:16px;
  background:color-mix(in srgb,var(--paper) 76%,transparent);
}
.library-note-label{
  color:var(--muted);
  font:950 10.5px/1.2 var(--sans);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.library-note-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,.45fr);
  gap:8px;
}
.library-note-row textarea,
.library-note-row input{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper-2);
  color:var(--ink);
  padding:11px 12px;
  font:650 13px/1.45 var(--sans);
}
.library-note-row textarea{
  min-height:74px;
  resize:vertical;
}
.library-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding-top:2px;
}
.library-actions button{
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--paper) 82%,var(--chip));
  color:var(--ink);
  min-height:36px;
  padding:0 12px;
  font:850 11.5px/1 var(--sans);
  cursor:pointer;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.library-actions button:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line));
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.library-actions button:disabled{
  opacity:.68;
  cursor:wait;
  transform:none;
  box-shadow:none;
}
.library-actions button.primary{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.library-card .library-actions{
  display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(110px,.75fr) auto;
  gap:9px;
  margin:0 17px 17px;
  padding:10px;
  border:1px solid color-mix(in srgb,var(--line) 76%,transparent);
  border-radius:16px;
  background:color-mix(in srgb,var(--paper-2) 72%,transparent);
}
.library-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
}
.library-action-icon{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:color-mix(in srgb,var(--ink) 8%,transparent);
  font:950 11px/1 var(--sans);
}
.library-action-open .library-action-icon{
  background:rgba(255,255,255,.2);
}
.library-action-remove{
  color:color-mix(in srgb,#ef4444 76%,var(--ink))!important;
}
.library-action-remove .library-action-icon{
  background:color-mix(in srgb,#ef4444 12%,transparent);
}
.keyword-panel{
  margin:0 0 18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 9%,var(--paper-2)),var(--paper-2));
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.keyword-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.keyword-kicker{
  font:850 11px/1.2 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent2);
}
.keyword-panel-head h2{
  margin:3px 0 4px;
  font:900 clamp(22px,2.4vw,34px)/1.05 var(--sans);
  color:var(--ink);
  letter-spacing:-.035em;
}
.keyword-sub{
  color:var(--muted);
  font:650 13px/1.45 var(--sans);
}
.keyword-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.keyword-action{
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper);
  color:var(--ink);
  min-height:38px;
  padding:0 14px;
  font:850 12px/1 var(--sans);
  cursor:pointer;
  white-space:nowrap;
}
.keyword-action.primary{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
}
.source-panel{
  margin:0 0 18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,#0ea5e9 8%,var(--paper-2)),var(--paper-2));
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.source-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.source-kicker{
  font:850 11px/1.2 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#0284c7;
}
.source-panel-head h2{
  margin:3px 0 4px;
  font:900 clamp(22px,2.4vw,34px)/1.05 var(--sans);
  color:var(--ink);
  letter-spacing:-.035em;
}
.source-sub{
  color:var(--muted);
  font:650 13px/1.45 var(--sans);
}
.source-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.source-action{
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper);
  color:var(--ink);
  min-height:38px;
  padding:0 14px;
  font:850 12px/1 var(--sans);
  cursor:pointer;
  white-space:nowrap;
}
.source-action.primary{
  border-color:#0284c7;
  background:#0284c7;
  color:#fff;
}
.settings-panel{
  background:linear-gradient(135deg,color-mix(in srgb,#6366f1 8%,var(--paper-2)),var(--paper-2));
}
.settings-kicker{
  color:#6366f1;
}
.settings-action.primary{
  border-color:#6366f1;
  background:#6366f1;
  color:#fff;
}
.settings-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.settings-alert-card{
  grid-column:1 / -1;
}
.settings-alert-layout{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:14px;
  align-items:start;
}
.settings-work-card{
  border-color:color-mix(in srgb,#6366f1 16%,var(--line));
}
.settings-control-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.settings-control-row button,
.settings-control-row a{
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--chip);
  color:var(--ink);
  min-height:34px;
  padding:0 12px;
  font:850 11.5px/1 var(--sans);
  cursor:pointer;
  text-decoration:none;
}
.settings-control-row .primary{
  background:#6366f1;
  border-color:#6366f1;
  color:#fff;
}
.settings-account-panel{
  margin-top:10px;
}
.settings-account-panel .account-panel{
  margin:0;
}
.settings-feed-defaults{
  display:grid;
  gap:11px;
}
.settings-feed-default-row{
  display:grid;
  gap:6px;
}
.settings-feed-default-row label{
  font:850 10.5px/1.2 var(--sans);
  color:var(--muted);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.settings-default-date{
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--chip);
  color:var(--ink);
  padding:9px 11px;
  min-height:38px;
  font:750 13px/1 var(--sans);
}
.settings-category-prefs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.settings-category-pref{
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--chip);
  color:var(--ink);
  padding:7px 10px;
  min-height:34px;
  cursor:pointer;
  font:850 12px/1 var(--sans);
}
.settings-category-pref.active{
  background:#6366f1;
  border-color:#6366f1;
  color:#fff;
  box-shadow:0 10px 22px rgba(99,102,241,.18);
}
.settings-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid color-mix(in srgb,#6366f1 26%,var(--line));
  background:color-mix(in srgb,#6366f1 9%,var(--paper));
  color:var(--ink);
  border-radius:999px;
  padding:6px 10px;
  font:850 11px/1 var(--sans);
}
.settings-detail-list{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.settings-detail-list li{
  border-top:1px solid var(--line);
  padding-top:8px;
  color:var(--muted);
  font:700 12.5px/1.45 var(--sans);
}
.settings-detail-list li:first-child{
  border-top:0;
  padding-top:0;
}
.settings-detail-list b{
  color:var(--ink);
  font-weight:900;
}
.settings-pref-grid{
  display:grid;
  gap:8px;
  width:100%;
}
.settings-pref-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--paper-2) 72%,var(--chip) 28%);
  color:var(--ink);
}
.settings-pref-row input{
  width:18px;
  height:18px;
  margin-top:1px;
  accent-color:#6366f1;
}
.settings-pref-row span{
  display:block;
  font:850 12.5px/1.25 var(--sans);
}
.settings-pref-row small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font:700 11.5px/1.3 var(--sans);
}
.settings-alert-history{
  display:grid;
  gap:9px;
  min-width:0;
}
.settings-alert-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.settings-alert-history-title{
  color:var(--ink);
  font:950 14px/1.2 var(--sans);
  letter-spacing:-.015em;
}
.settings-alert-history-sub{
  margin-top:3px;
  color:var(--muted);
  font:720 11.5px/1.35 var(--sans);
}
.settings-alert-history-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.settings-alert-history-stats span,
.settings-alert-status{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,#6366f1 22%,var(--line));
  background:color-mix(in srgb,#6366f1 8%,var(--paper));
  color:var(--ink);
  font:850 10.5px/1 var(--sans);
  white-space:nowrap;
}
.settings-alert-status.dismissed{
  border-color:color-mix(in srgb,#94a3b8 30%,var(--line));
  color:var(--muted);
  background:color-mix(in srgb,#94a3b8 8%,var(--paper));
}
.settings-alert-status.muted{
  border-color:color-mix(in srgb,#f59e0b 34%,var(--line));
  color:#b45309;
  background:color-mix(in srgb,#f59e0b 10%,var(--paper));
}
.settings-alert-status.escalated{
  border-color:color-mix(in srgb,#ef4444 38%,var(--line));
  color:#dc2626;
  background:color-mix(in srgb,#ef4444 10%,var(--paper));
}
.settings-alert-list{
  display:grid;
  gap:8px;
}
.settings-alert-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  border:1px solid var(--line);
  border-radius:15px;
  background:color-mix(in srgb,var(--paper) 82%,var(--chip) 18%);
  padding:10px;
}
.settings-alert-row.high{
  border-color:color-mix(in srgb,#ef4444 28%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,#ef4444 7%,var(--paper)),var(--paper));
}
.settings-alert-icon{
  width:34px;
  height:34px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,#6366f1 12%,var(--chip));
  color:var(--ink);
  font:950 14px/1 var(--sans);
}
.settings-alert-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.settings-alert-title{
  color:var(--ink);
  font:930 13.5px/1.24 var(--sans);
  min-width:0;
}
.settings-alert-meta{
  margin-top:3px;
  color:var(--muted);
  font:760 10.5px/1.3 var(--sans);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.settings-alert-msg{
  margin:7px 0 0;
  color:var(--ink-soft);
  font:650 12.5px/1.45 var(--sans);
}
.settings-alert-empty{
  border:1px dashed var(--line);
  border-radius:15px;
  padding:18px;
  color:var(--muted);
  text-align:center;
  font:760 12.5px/1.45 var(--sans);
}
.settings-alert-history .notification-muted{
  margin-top:2px;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.settings-alert-history .notification-muted-title{
  color:var(--muted);
}
.settings-alert-history .notification-muted-chip{
  border-color:color-mix(in srgb,#6366f1 22%,var(--line));
  background:color-mix(in srgb,#6366f1 8%,var(--paper));
  color:var(--ink);
}
.settings-alert-history .notification-muted-chip button{
  background:color-mix(in srgb,#6366f1 14%,var(--chip));
  color:var(--ink);
}
.keyword-alert-controls{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,.45fr);
  gap:10px;
}
.keyword-alert-controls label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font:850 11px/1.2 var(--sans);
  letter-spacing:.03em;
  text-transform:uppercase;
}
.keyword-alert-controls select,
.keyword-alert-controls input{
  width:100%;
  min-height:42px;
}
.keyword-alert-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,#0ea5e9 24%,var(--line));
  background:color-mix(in srgb,#0ea5e9 8%,var(--paper));
  color:color-mix(in srgb,#0ea5e9 72%,var(--ink) 28%);
  font:850 11px/1 var(--sans);
}
.keyword-analytics-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}
.keyword-analytics-tile{
  border:1px solid color-mix(in srgb,var(--accent2) 24%,var(--line));
  border-radius:13px;
  background:color-mix(in srgb,var(--accent2) 6%,var(--paper));
  padding:8px 9px;
  min-width:0;
}
.keyword-analytics-label{
  color:var(--muted);
  font:850 9.5px/1.15 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.keyword-analytics-value{
  margin-top:4px;
  color:var(--ink);
  font:950 15px/1.05 var(--sans);
  letter-spacing:-.02em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.keyword-history-section{
  display:grid;
  gap:7px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed var(--line);
}
.keyword-history-head{
  color:var(--muted);
  font:900 10px/1.2 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:640px){
  .keyword-alert-controls{
    grid-template-columns:1fr;
  }
  .keyword-analytics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.source-stat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.source-stat-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  padding:11px 12px;
}
.source-stat-label{
  font:850 10px/1.2 var(--sans);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}
.source-stat-value{
  margin-top:5px;
  font:950 22px/1 var(--sans);
  color:var(--ink);
  letter-spacing:-.035em;
}
.source-stat-card[data-stat="app-version"] .source-stat-value,
.settings-app-version-value{
  display:block;
  color:var(--ink);
  font:900 clamp(15px,2vw,20px)/1.25 var(--sans);
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}
.settings-app-version-value{
  padding:2px 0 0;
}
.source-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.source-group-section{
  border:1px solid color-mix(in srgb,#0284c7 24%,var(--line));
  border-radius:18px;
  background:color-mix(in srgb,#0284c7 5%,var(--paper));
  padding:14px;
  margin:0 0 14px;
}
.source-group-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.source-group-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.source-group-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  padding:13px;
  display:grid;
  gap:10px;
}
.source-group-card.status-paused{opacity:.76}
.source-group-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.source-group-title{
  color:var(--ink);
  font:950 16px/1.2 var(--sans);
  letter-spacing:-.02em;
}
.source-group-meta{
  margin-top:4px;
  color:var(--muted);
  font:760 11.5px/1.35 var(--sans);
}
.source-group-card p{
  margin:0;
  color:var(--ink-soft);
  font:680 12.5px/1.45 var(--sans);
}
.source-linked-chip.watch{
  border-color:color-mix(in srgb,var(--accent2) 28%,var(--line));
  background:color-mix(in srgb,var(--accent2) 8%,var(--chip));
}
.source-work-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  padding:14px;
  display:grid;
  gap:11px;
}
.source-work-card.status-failing{
  border-color:color-mix(in srgb,#ef4444 44%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,#ef4444 7%,var(--paper)),var(--paper));
}
.source-work-card.status-recovering{
  border-color:color-mix(in srgb,#f97316 40%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,#f97316 6%,var(--paper)),var(--paper));
}
.source-work-card.status-checking{
  border-color:color-mix(in srgb,#f59e0b 34%,var(--line));
}
.source-work-card.status-empty,
.source-work-card.status-quiet{background:color-mix(in srgb,var(--chip) 34%,var(--paper))}
.source-work-card.status-paused{opacity:.76}
.source-card-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.source-mini-avatar{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--source-a),var(--source-b));
  font:950 12px/1 var(--sans);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.source-work-title{
  font:950 17px/1.15 var(--sans);
  color:var(--ink);
  letter-spacing:-.025em;
}
.source-work-url{
  margin-top:4px;
  color:var(--muted);
  font:760 11.5px/1.35 var(--sans);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.source-health-pill{
  border:1px solid color-mix(in srgb,#10b981 38%,var(--line));
  color:#059669;
  background:color-mix(in srgb,#10b981 10%,transparent);
  border-radius:999px;
  padding:5px 8px;
  font:900 10px/1 var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
}
.source-health-pill.failing{
  color:#dc2626;
  border-color:color-mix(in srgb,#ef4444 38%,var(--line));
  background:color-mix(in srgb,#ef4444 10%,transparent);
}
.source-health-pill.recovering{
  color:#c2410c;
  border-color:color-mix(in srgb,#f97316 40%,var(--line));
  background:color-mix(in srgb,#f97316 10%,transparent);
}
.source-health-pill.checking{
  color:#a16207;
  border-color:color-mix(in srgb,#f59e0b 40%,var(--line));
  background:color-mix(in srgb,#f59e0b 10%,transparent);
}
.source-health-pill.empty{
  color:#64748b;
  border-color:color-mix(in srgb,#64748b 34%,var(--line));
  background:color-mix(in srgb,#64748b 9%,transparent);
}
.source-health-pill.quiet{
  color:#0369a1;
  border-color:color-mix(in srgb,#0ea5e9 34%,var(--line));
  background:color-mix(in srgb,#0ea5e9 9%,transparent);
}
.source-health-pill.paused{
  color:var(--muted);
  border-color:var(--line);
  background:var(--chip);
}
.source-meta-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.source-meta-grid span,
.source-linked-chip{
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--chip);
  color:var(--muted);
  padding:7px 8px;
  font:800 11px/1.25 var(--sans);
}
.source-health-note{
  color:var(--muted);
  font:650 12.5px/1.45 var(--sans);
}
.source-health-note b{color:var(--ink)}
.source-linked-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.source-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.source-card-actions button,
.source-card-actions a{
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--chip);
  color:var(--ink);
  min-height:31px;
  padding:8px 11px;
  font:850 11px/1 var(--sans);
  cursor:pointer;
  text-decoration:none;
}
.source-card-actions .primary{
  background:#0284c7;
  color:#fff;
  border-color:#0284c7;
}
.source-editor-card{
  border:1px solid color-mix(in srgb,#0284c7 36%,var(--line));
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,#0284c7 10%,var(--paper)),var(--paper));
  padding:14px;
  margin:0 0 14px;
  display:grid;
  gap:11px;
}
.source-editor-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.source-editor-title{
  font:950 16px/1.2 var(--sans);
  color:var(--ink);
}
.source-editor-help{
  margin-top:3px;
  color:var(--muted);
  font:700 12px/1.4 var(--sans);
}
.source-editor-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr repeat(3,minmax(112px,.42fr));
  gap:8px;
  align-items:center;
}
.source-editor-grid input,
.source-editor-grid select,
.source-editor-grid label,
.keyword-editor-grid input,
.keyword-editor-grid select,
.keyword-editor-grid textarea{
  width:100%;
  min-height:38px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
  color:var(--ink);
  padding:0 11px;
  font:750 12.5px/1 var(--sans);
}
.source-editor-grid label{
  display:grid;
  gap:6px;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:var(--muted);
  font:850 11px/1.2 var(--sans);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.source-editor-grid label select{
  text-transform:none;
  letter-spacing:0;
}
.source-editor-grid .source-link-field{
  grid-column:1 / -1;
  align-items:start;
}
.source-editor-grid .source-link-field select{
  min-height:96px;
  padding:8px 11px;
  line-height:1.45;
}
.source-editor-grid .source-link-field small{
  color:var(--muted);
  font:700 11.5px/1.35 var(--sans);
  text-transform:none;
  letter-spacing:0;
}
.source-group-editor-card{
  border-color:color-mix(in srgb,#0284c7 28%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,#0284c7 8%,var(--paper)),var(--paper));
}
.source-group-editor-grid{
  grid-template-columns:1fr 1.2fr repeat(2,minmax(190px,1fr));
  align-items:start;
}
.source-group-editor-grid select[multiple]{
  min-height:128px;
  padding:8px 11px;
  line-height:1.45;
}
.keyword-editor-card{
  border-color:color-mix(in srgb,var(--accent2) 36%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 10%,var(--paper)),var(--paper));
}
.keyword-editor-grid{
  display:grid;
  grid-template-columns:1.1fr .55fr .7fr minmax(180px,1fr);
  gap:8px;
  align-items:stretch;
}
.keyword-editor-grid textarea{
  grid-column:span 2;
  min-height:86px;
  padding:10px 11px;
  line-height:1.45;
  resize:vertical;
}
.keyword-editor-grid select[multiple]{
  min-height:86px;
  padding:8px 11px;
  line-height:1.45;
}
.source-editor-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.source-editor-actions button{
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--chip);
  color:var(--ink);
  min-height:34px;
  padding:0 13px;
  font:850 11.5px/1 var(--sans);
  cursor:pointer;
}
.source-editor-actions .primary{
  background:#0284c7;
  border-color:#0284c7;
  color:#fff;
}
.source-editor-result{
  color:var(--muted);
  font:750 12px/1.45 var(--sans);
}
.source-editor-result.ok{color:#059669}
.source-editor-result.fail{color:#dc2626}
.source-empty{
  padding:30px 12px;
  text-align:center;
  color:var(--muted);
  font:700 14px/1.5 var(--sans);
  border:1px dashed var(--line);
  border-radius:16px;
  grid-column:1/-1;
}
.keyword-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.keyword-stat-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  padding:11px 12px;
}
.keyword-stat-label{
  font:850 10px/1.2 var(--sans);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}
.keyword-stat-value{
  margin-top:5px;
  font:950 22px/1 var(--sans);
  color:var(--ink);
  letter-spacing:-.035em;
}
.keyword-watch-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.keyword-work-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  padding:14px;
  display:grid;
  gap:11px;
}
.keyword-work-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.keyword-work-title{
  font:950 17px/1.15 var(--sans);
  color:var(--ink);
  letter-spacing:-.025em;
}
.keyword-work-meta{
  margin-top:4px;
  color:var(--muted);
  font:760 11.5px/1.35 var(--sans);
}
.keyword-status{
  border:1px solid color-mix(in srgb,#10b981 38%,var(--line));
  color:#059669;
  background:color-mix(in srgb,#10b981 10%,transparent);
  border-radius:999px;
  padding:5px 8px;
  font:900 10px/1 var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
}
.keyword-status.paused{
  color:var(--muted);
  border-color:var(--line);
  background:var(--chip);
}
.keyword-match-list{
  display:grid;
  gap:7px;
}
.keyword-match-row{
  border:1px solid color-mix(in srgb,var(--accent2) 18%,var(--line));
  border-radius:12px;
  padding:9px;
  background:color-mix(in srgb,var(--accent2) 4%,var(--paper));
  cursor:pointer;
}
.keyword-match-title{
  font:850 12.5px/1.3 var(--sans);
  color:var(--ink);
}
.keyword-match-why{
  margin-top:3px;
  color:var(--muted);
  font:700 11px/1.35 var(--sans);
}
.keyword-empty{
  padding:30px 12px;
  text-align:center;
  color:var(--muted);
  font:700 14px/1.5 var(--sans);
  border:1px dashed var(--line);
  border-radius:16px;
  grid-column:1/-1;
}
.library-empty{
  padding:30px 12px;
  text-align:center;
  color:var(--muted);
  font:700 14px/1.5 var(--sans);
  border:1px dashed var(--line);
  border-radius:16px;
}
body.library-mode #heroSlot,
body.library-mode #grid,
body.library-mode #browseView .view-header,
body.library-mode #emptyState,
body.source-mode #heroSlot,
body.source-mode #grid,
body.source-mode #browseView .view-header,
body.source-mode #emptyState,
body.keyword-mode #heroSlot,
body.keyword-mode #grid,
body.keyword-mode #browseView .view-header,
body.keyword-mode #emptyState,
body.settings-mode #heroSlot,
body.settings-mode #grid,
body.settings-mode #browseView .view-header,
body.settings-mode #emptyState{
  display:none!important;
}
.daily-digest-section[hidden]{display:none!important}
.daily-digest-section{
  margin:0 0 18px;
}
.daily-digest-card{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,#2563eb 34%,var(--line));
  border-radius:20px;
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb,#38bdf8 18%,transparent), transparent 28%),
    linear-gradient(135deg,color-mix(in srgb,#2563eb 9%,var(--paper)),var(--paper));
  box-shadow:0 20px 48px rgba(15,23,42,.10);
  padding:18px;
}
.digest-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.digest-kicker{
  display:flex;
  align-items:center;
  gap:8px;
  font:950 11px/1.2 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#2563eb;
}
.digest-kicker b{
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:color-mix(in srgb,#2563eb 16%,var(--paper));
  color:#2563eb;
}
.digest-title{
  margin:5px 0 4px;
  font:950 clamp(22px,2.5vw,34px)/1.08 var(--sans);
  letter-spacing:-.035em;
  color:var(--ink);
}
.digest-meta{
  color:var(--muted);
  font:750 12px/1.45 var(--sans);
}
.digest-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.digest-actions button,
.digest-open-btn{
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper);
  color:var(--ink);
  min-height:34px;
  padding:0 13px;
  font:900 12px/1 var(--sans);
  cursor:pointer;
}
.digest-actions button.primary,
.digest-open-btn{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
.digest-review{
  border:1px solid color-mix(in srgb,var(--ink) 10%,var(--line));
  border-radius:16px;
  background:color-mix(in srgb,var(--paper) 88%,#2563eb 12%);
  padding:15px;
  color:var(--ink);
  font:760 clamp(15px,1.35vw,18px)/1.6 var(--sans);
}
.digest-blue-panel{
  margin-top:12px;
  border:1px solid color-mix(in srgb,#2563eb 28%,var(--line));
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,#1d4ed8 16%,var(--paper)),color-mix(in srgb,#0ea5e9 8%,var(--paper)));
  padding:14px;
}
.digest-blue-title{
  margin:0 0 9px;
  color:#1d4ed8;
  font:950 12px/1.2 var(--sans);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.digest-blue-panel ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.digest-blue-panel li{
  position:relative;
  padding-left:18px;
  color:var(--ink);
  font:750 13.5px/1.45 var(--sans);
}
.digest-blue-panel li:before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#2563eb;
  box-shadow:0 0 0 4px color-mix(in srgb,#2563eb 12%,transparent);
}
.digest-columns{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:12px;
  margin-top:12px;
}
.digest-mini-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--paper) 94%,transparent);
  padding:13px;
}
.digest-mini-card h4{
  margin:0 0 9px;
  font:950 12px/1.2 var(--sans);
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
}
.digest-update-list{
  display:grid;
  gap:9px;
}
.digest-update{
  display:grid;
  gap:3px;
  padding:0 0 9px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent);
}
.digest-update:last-child{border-bottom:0;padding-bottom:0}
.digest-update button{
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  font:900 14px/1.3 var(--sans);
  cursor:pointer;
}
.digest-update small{
  color:var(--muted);
  font:750 11px/1.3 var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.digest-stat-list{
  display:grid;
  gap:8px;
}
.digest-stat{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font:750 12.5px/1.35 var(--sans);
}
.digest-stat b{
  color:var(--ink);
  font-weight:950;
}
@media(max-width:900px){
  .library-head{display:grid}
  .library-head-tools{justify-items:start;min-width:0}
  .library-export-actions{justify-content:flex-start}
  .library-controls{grid-template-columns:1fr 1fr}
  .library-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .source-panel-head{display:grid}
  .source-actions{justify-content:flex-start}
  .source-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .source-card-grid{grid-template-columns:1fr}
  .source-group-section-head{display:grid}
  .source-group-grid{grid-template-columns:1fr}
  .source-editor-grid{grid-template-columns:1fr 1fr}
  .source-group-editor-grid{grid-template-columns:1fr}
  .keyword-editor-grid{grid-template-columns:1fr 1fr}
  .keyword-panel-head{display:grid}
  .keyword-actions{justify-content:flex-start}
  .keyword-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .keyword-watch-grid{grid-template-columns:1fr}
  .settings-panel-head{display:grid}
  .settings-actions{justify-content:flex-start}
  .settings-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-card-grid{grid-template-columns:1fr}
  .settings-alert-layout{grid-template-columns:1fr}
  .daily-digest-card{padding:15px;border-radius:18px}
  .digest-head{display:grid}
  .digest-actions{justify-content:flex-start}
  .digest-columns{grid-template-columns:1fr}
  .library-cluster-list-inner{grid-template-columns:1fr}
  .library-history-list{grid-template-columns:1fr}
  .library-digest-list{grid-template-columns:1fr}
  .library-list{grid-template-columns:1fr}
}
@media(max-width:760px){
  body.source-mode #mobileFeedList,
  body.source-mode .mobile-read-toggle,
  body.keyword-mode #mobileFeedList,
  body.keyword-mode .mobile-read-toggle,
  body.library-mode #mobileFeedList,
  body.library-mode .mobile-read-toggle,
  body.settings-mode #mobileFeedList,
  body.settings-mode .mobile-read-toggle{
    display:none!important;
  }
  .mobile-source-panel{
    display:block;
    margin:8px 0 10px;
    padding:12px;
    border-radius:18px;
    background:#202124;
    border:1px solid var(--line);
  }
  .mobile-source-panel .source-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:8px 0;
  }
  .mobile-source-panel .source-card-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .mobile-source-panel .source-group-section{
    padding:12px;
    border-radius:16px;
    background:#17191f;
    border-color:rgba(14,165,233,.24);
  }
  .mobile-source-panel .source-group-section-head{display:grid;gap:8px}
  .mobile-source-panel .source-group-grid{grid-template-columns:1fr}
  .mobile-source-panel .source-group-card{
    background:#12141a;
    border-color:rgba(255,255,255,.08);
  }
  .mobile-source-panel .source-work-card{
    background:#17191f;
    border-color:rgba(255,255,255,.08);
    border-radius:16px;
    padding:12px;
  }
  .mobile-source-panel .source-panel-head{display:grid;gap:8px;margin-bottom:8px}
  .mobile-source-panel .source-panel-head h2{font-size:20px}
  .mobile-source-panel .source-actions{justify-content:flex-start}
  .mobile-source-panel .source-action{min-height:34px}
  .mobile-source-panel .source-meta-grid{grid-template-columns:1fr}
  .mobile-source-panel .source-editor-grid{grid-template-columns:1fr}
  .mobile-source-panel .source-editor-card{
    background:#17191f;
    border-color:rgba(14,165,233,.28);
  }
  .mobile-keyword-panel .keyword-editor-grid{grid-template-columns:1fr}
  .mobile-keyword-panel .keyword-editor-grid textarea{grid-column:auto}
  .mobile-keyword-panel{
    display:block;
    margin:8px 0 10px;
    padding:12px;
    border-radius:18px;
    background:#202124;
    border:1px solid var(--line);
  }
  .mobile-keyword-panel .keyword-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:8px 0;
  }
  .mobile-keyword-panel .keyword-watch-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .mobile-keyword-panel .keyword-work-card{
    background:#17191f;
    border-color:rgba(255,255,255,.08);
    border-radius:16px;
    padding:12px;
  }
  .mobile-keyword-panel .keyword-panel-head{
    display:grid;
    gap:8px;
    margin-bottom:8px;
  }
  .mobile-keyword-panel .keyword-panel-head h2{
    font-size:20px;
  }
  .mobile-keyword-panel .keyword-actions{
    justify-content:flex-start;
  }
  .mobile-keyword-panel .keyword-action{
    min-height:34px;
  }
  .mobile-settings-panel{
    display:block;
    margin:8px 0 10px;
    padding:12px;
    border-radius:18px;
    background:#202124;
    border:1px solid var(--line);
  }
  .mobile-settings-panel .settings-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:8px 0;
  }
  .mobile-settings-panel .settings-card-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .mobile-settings-panel .settings-work-card{
    background:#17191f;
    border-color:rgba(255,255,255,.08);
    border-radius:16px;
    padding:12px;
  }
  .mobile-settings-panel .settings-panel-head{display:grid;gap:8px;margin-bottom:8px}
  .mobile-settings-panel .settings-panel-head h2{font-size:20px}
  .mobile-settings-panel .settings-actions{justify-content:flex-start}
  .mobile-settings-panel .settings-action{min-height:34px}
  .mobile-library-panel{
    display:block;
    margin:8px 0 10px;
    padding:13px 13px calc(88px + env(safe-area-inset-bottom));
    border-radius:18px;
    background:#202124;
    border:1px solid var(--line);
  }
  .mobile-library-panel .library-head{
    padding:12px;
    margin-bottom:10px;
    border-radius:16px;
    background:#17191f;
    display:grid;
    gap:10px;
  }
  .mobile-library-panel .library-head h2{
    font-size:22px;
  }
  .mobile-library-panel .library-sub{
    font-size:12.5px;
  }
  .mobile-library-panel .library-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-bottom:10px;
  }
  .mobile-library-panel .library-metric{
    background:#17191f;
    border-color:rgba(255,255,255,.09);
    padding:10px;
  }
  .mobile-library-panel .library-metric b{
    color:#f4f5f7;
    font-size:19px;
  }
  .mobile-library-panel .library-controls{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px;
    border-radius:16px;
    background:#17191f;
    border-color:rgba(255,255,255,.08);
    margin-bottom:12px;
  }
  .mobile-library-panel input{
    width:100%;
    min-height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.09);
    background:#15161a;
    color:var(--ink);
    padding:0 13px;
    font:760 13px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-panel select{
    min-height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.09);
    background:#15161a;
    color:var(--ink);
    padding:0 12px;
    font:760 12.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-panel .library-search-wrap input{padding-left:38px}
  .mobile-library-row{
    margin-top:8px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    color:#a8adb7;
    font:760 11.5px/1.35 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-export-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .mobile-library-row button{
    border:0;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    min-height:31px;
    padding:0 12px;
    font:850 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-sections{
    margin-top:12px;
    display:grid;
    gap:10px;
  }
  .mobile-library-section-title{
    color:#f4f5f7;
    font:900 13px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:.01em;
  }
  .mobile-library-section-grid{
    display:grid;
    gap:9px;
  }
  .mobile-library-panel .library-cluster-card,
  .mobile-library-panel .library-digest-card,
  .mobile-library-panel .library-card{
    background:#17191f;
    border-color:rgba(255,255,255,.10);
    border-radius:16px;
    box-shadow:none;
  }
  .mobile-library-panel .library-card{
    gap:12px;
  }
  .mobile-library-panel .library-card-compact{
    gap:0;
  }
  .mobile-library-panel .library-card-head{
    grid-template-columns:78px minmax(0,1fr);
    padding:13px 13px 0;
    gap:12px;
  }
  .mobile-library-panel .library-card-compact .library-card-head{
    padding-bottom:13px;
  }
  .mobile-library-panel .library-thumb{
    width:78px;
    height:60px;
    border-radius:14px;
  }
  .mobile-library-panel .library-card-compact .library-thumb{
    width:70px;
    height:54px;
    border-radius:13px;
  }
  .mobile-library-panel .library-cluster-title,
  .mobile-library-panel .library-digest-title,
  .mobile-library-panel .library-title{
    color:#f4f5f7;
  }
  .mobile-library-panel .library-cluster-summary,
  .mobile-library-panel .library-digest-summary,
  .mobile-library-panel .library-meta,
  .mobile-library-panel .library-cluster-diff{
    color:#a8adb7;
  }
  .mobile-library-panel .library-prose-block{
    background:#15171d;
    border-color:rgba(255,255,255,.09);
  }
  .mobile-library-panel .library-article-preview{
    padding:0 13px;
  }
  .mobile-library-panel .library-prose-block.fulltext{
    background:#141c26;
    border-color:rgba(59,130,246,.26);
  }
  .mobile-library-panel .library-prose{
    color:#d7dbe3;
    font-size:13.5px;
    line-height:1.72;
  }
  .mobile-library-panel .library-ai-bullets{
    background:linear-gradient(135deg,rgba(10,132,255,.12),rgba(16,185,129,.08));
    border-color:rgba(96,165,250,.22);
  }
  .mobile-library-panel .library-ai-bullet-list li{
    color:#e0e5ee;
    font-size:13.6px;
  }
  .mobile-library-panel .library-note-row textarea,
  .mobile-library-panel .library-note-row input{
    background:#15161a;
    border-color:rgba(255,255,255,.09);
    color:#f4f5f7;
  }
  .mobile-library-panel .library-note-panel{
    margin:0 13px;
    padding:11px;
    background:#15171d;
    border-color:rgba(255,255,255,.09);
  }
  .mobile-library-panel .library-note-row{
    grid-template-columns:1fr;
  }
  .mobile-library-panel .library-card .library-actions{
    grid-template-columns:1fr 1fr 42px;
    margin:0 13px 13px;
    padding:8px;
    background:#15171d;
    border-color:rgba(255,255,255,.09);
  }
  .mobile-library-panel .library-actions button{
    min-height:38px;
    background:#22252c;
    border-color:rgba(255,255,255,.10);
    color:#e8eaee;
    border-radius:12px;
  }
  .mobile-library-panel .library-actions button.primary{
    background:var(--accent);
    border-color:var(--accent);
    color:#fff;
  }
  .mobile-library-panel .library-action-remove .library-action-text{
    display:none;
  }
  .mobile-library-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:start;
    padding:14px;
    border-radius:18px;
    background:linear-gradient(135deg,#17191f,#111319);
    border:1px solid rgba(255,255,255,.09);
  }
  .mobile-library-hero h2{
    margin:3px 0 5px;
    color:#f4f5f7;
    font:950 24px/1.02 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:0;
  }
  .mobile-library-export-trigger{
    border:1px solid rgba(59,130,246,.42);
    background:rgba(59,130,246,.14);
    color:#7db7ff;
    border-radius:999px;
    min-height:34px;
    padding:0 12px;
    font:900 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-export-popover{
    position:absolute;
    right:12px;
    top:52px;
    display:grid;
    gap:7px;
    width:min(210px,calc(100vw - 72px));
    padding:9px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:#111319;
    box-shadow:0 18px 46px rgba(0,0,0,.38);
    z-index:4;
  }
  .mobile-library-export-popover[hidden],
  .mobile-library-filter-panel[hidden],
  .mobile-topic-overflow[hidden]{
    display:none!important;
  }
  .mobile-library-export-popover button{
    min-height:34px;
    border:0;
    border-radius:11px;
    background:#20242c;
    color:#f4f5f7;
    font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-status{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin:10px 1px 0;
    color:#a8adb7;
    font:800 11px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-status span{
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    padding:5px 8px;
    background:#17191f;
  }
  .mobile-library-searchbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-top:11px;
  }
  .mobile-library-searchbar .library-search-wrap input{
    min-height:42px;
    border-radius:14px;
    background:#15161a;
  }
  .mobile-library-searchbar button,
  .mobile-library-filter-panel button{
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    background:#17191f;
    color:#e8eaee;
    min-height:42px;
    padding:0 12px;
    font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-searchbar button.active{
    color:#7db7ff;
    border-color:rgba(59,130,246,.36);
    background:rgba(59,130,246,.12);
  }
  .mobile-library-filter-panel{
    display:grid;
    gap:8px;
    margin-top:8px;
    padding:10px;
    border-radius:16px;
    background:#17191f;
    border:1px solid rgba(255,255,255,.08);
  }
  .mobile-library-tabs{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    margin:12px 0 10px;
    padding:5px;
    border-radius:16px;
    background:#15161a;
    border:1px solid rgba(255,255,255,.08);
  }
  .mobile-library-tabs button{
    min-width:0;
    min-height:44px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#a8adb7;
    display:grid;
    gap:2px;
    place-items:center;
    font:900 11px/1.05 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-tabs button span{
    color:inherit;
    opacity:.72;
    font-size:10px;
  }
  .mobile-library-tabs button.active{
    background:#2563eb;
    color:#fff;
    box-shadow:0 8px 20px rgba(37,99,235,.28);
  }
  .mobile-topic-card{
    position:relative;
    display:grid;
    gap:9px;
    border:1px solid rgba(59,130,246,.22);
    border-radius:18px;
    background:
      linear-gradient(180deg,rgba(37,99,235,.10),transparent 38%),
      #17191f;
    padding:13px;
  }
  .mobile-topic-top,
  .mobile-topic-foot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .mobile-topic-signal{
    color:#7db7ff;
    font:950 10.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .mobile-topic-menu{
    width:32px;
    height:30px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    background:#20242c;
    color:#e8eaee;
    font:950 13px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-topic-card h3{
    margin:0;
    color:#f4f5f7;
    font:950 18px/1.18 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:0;
  }
  .mobile-topic-meta{
    color:#a8adb7;
    font:850 11px/1.35 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-topic-chips{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
  }
  .mobile-topic-chips span{
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    padding:4px 8px;
    color:#c5cad3;
    background:#20242c;
    font:850 10.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-topic-summary{
    border-left:3px solid #2563eb;
    padding-left:10px;
    color:#d7dbe3;
    font:700 13px/1.55 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mobile-topic-summary b{
    display:block;
    margin-bottom:2px;
    color:#7db7ff;
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .mobile-topic-sources{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
    min-width:0;
  }
  .mobile-topic-foot .primary{
    border:0;
    border-radius:999px;
    background:#2563eb;
    color:#fff;
    min-height:34px;
    padding:0 14px;
    font:900 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    flex:0 0 auto;
  }
  .mobile-topic-overflow{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .mobile-topic-overflow button{
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    background:#20242c;
    color:#e8eaee;
    min-height:31px;
    padding:0 10px;
    font:850 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
}
@media(min-width:761px){
  body.source-mode .mobile-read-toggle,
  body.keyword-mode .mobile-read-toggle,
  body.library-mode .mobile-read-toggle,
  body.settings-mode .mobile-read-toggle{
    display:none!important;
  }
  .mobile-library-panel{
    display:block;
    margin:14px 0 16px;
    padding:16px 16px calc(124px + env(safe-area-inset-bottom,0px));
    border-radius:22px;
    background:#202124;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 22px 60px rgba(0,0,0,.22);
  }
  .mobile-library-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:start;
    padding:16px;
    border-radius:20px;
    background:linear-gradient(135deg,#17191f,#111319);
    border:1px solid rgba(255,255,255,.09);
  }
  .mobile-library-hero h2{
    margin:3px 0 5px;
    color:#f4f5f7;
    font:950 26px/1.04 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:0;
  }
  .mobile-library-export-trigger,
  .mobile-library-searchbar button,
  .mobile-library-filter-panel button,
  .mobile-library-export-popover button{
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
  }
  .mobile-library-export-trigger{
    border:1px solid rgba(59,130,246,.42);
    background:rgba(59,130,246,.14);
    color:#7db7ff;
    border-radius:999px;
    min-height:36px;
    padding:0 13px;
    font:900 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-export-popover{
    position:absolute;
    right:14px;
    top:56px;
    display:grid;
    gap:7px;
    width:min(220px,calc(100vw - 96px));
    padding:9px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:#111319;
    box-shadow:0 18px 46px rgba(0,0,0,.38);
    z-index:4;
  }
  .mobile-library-export-popover[hidden],
  .mobile-library-filter-panel[hidden],
  .mobile-topic-overflow[hidden]{
    display:none!important;
  }
  .mobile-library-export-popover button{
    min-height:34px;
    border:0;
    border-radius:11px;
    background:#20242c;
    color:#f4f5f7;
    font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-status{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin:12px 1px 0;
    color:#a8adb7;
    font:800 11px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-status span{
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    padding:5px 8px;
    background:#17191f;
  }
  .mobile-library-searchbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-top:12px;
  }
  .mobile-library-panel input,
  .mobile-library-panel select{
    width:100%;
    min-height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.09);
    background:#15161a;
    color:#f4f5f7;
    padding:0 13px;
    font:760 13px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-searchbar .library-search-wrap input{
    padding-left:38px;
  }
  .mobile-library-searchbar button,
  .mobile-library-filter-panel button{
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    background:#17191f;
    color:#e8eaee;
    min-height:42px;
    padding:0 12px;
    font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-library-searchbar button.active{
    color:#7db7ff;
    border-color:rgba(59,130,246,.36);
    background:rgba(59,130,246,.12);
  }
  .mobile-library-filter-panel{
    display:grid;
    gap:8px;
    margin-top:8px;
    padding:10px;
    border-radius:16px;
    background:#17191f;
    border:1px solid rgba(255,255,255,.08);
  }
  .mobile-library-tabs{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    margin:12px 0 12px;
    padding:5px;
    border-radius:16px;
    background:#15161a;
    border:1px solid rgba(255,255,255,.08);
  }
  .mobile-library-tabs button{
    min-width:0;
    min-height:44px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#a8adb7;
    display:grid;
    gap:2px;
    place-items:center;
    font:900 11px/1.05 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    cursor:pointer;
  }
  .mobile-library-tabs button span{
    color:inherit;
    opacity:.72;
    font-size:10px;
  }
  .mobile-library-tabs button.active{
    background:#2563eb;
    color:#fff;
    box-shadow:0 8px 20px rgba(37,99,235,.28);
  }
  .mobile-library-sections{
    margin-top:12px;
    display:grid;
    gap:12px;
  }
  .mobile-library-panel .library-cluster-card,
  .mobile-library-panel .library-digest-card,
  .mobile-library-panel .library-card{
    background:#17191f;
    border-color:rgba(255,255,255,.10);
    border-radius:18px;
    box-shadow:none;
  }
  .mobile-library-panel .library-card{
    gap:12px;
  }
  .mobile-library-panel .library-card-compact{
    gap:0;
  }
  .mobile-library-panel .library-card-head{
    grid-template-columns:82px minmax(0,1fr);
    padding:14px 14px 0;
    gap:12px;
  }
  .mobile-library-panel .library-card-compact .library-card-head{
    padding-bottom:14px;
  }
  .mobile-library-panel .library-thumb{
    width:82px;
    height:62px;
    border-radius:14px;
  }
  .mobile-library-panel .library-card-compact .library-thumb{
    width:72px;
    height:56px;
    border-radius:13px;
  }
  .mobile-library-panel .library-title{
    color:#f4f5f7;
  }
  .mobile-library-panel .library-meta{
    color:#a8adb7;
  }
  .mobile-library-panel .library-article-preview{
    padding:0 14px;
  }
  .mobile-library-panel .library-prose-block{
    background:#15171d;
    border-color:rgba(255,255,255,.09);
  }
  .mobile-library-panel .library-prose{
    color:#d7dbe3;
    font-size:13.5px;
    line-height:1.72;
  }
  .mobile-library-panel .library-ai-bullets{
    background:linear-gradient(135deg,rgba(10,132,255,.12),rgba(16,185,129,.08));
    border-color:rgba(96,165,250,.22);
  }
  .mobile-library-panel .library-ai-bullet-list li{
    color:#e0e5ee;
    font-size:13.6px;
  }
  .mobile-library-panel .library-note-panel{
    margin:0 14px;
    padding:11px;
    background:#15171d;
    border-color:rgba(255,255,255,.09);
  }
  .mobile-library-panel .library-note-row{
    grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);
  }
  .mobile-library-panel .library-note-row textarea,
  .mobile-library-panel .library-note-row input{
    background:#15161a;
    border-color:rgba(255,255,255,.09);
    color:#f4f5f7;
  }
  .mobile-library-panel .library-card .library-actions{
    grid-template-columns:minmax(120px,1fr) minmax(120px,.82fr) 44px;
    margin:0 14px 14px;
    padding:8px;
    background:#15171d;
    border-color:rgba(255,255,255,.09);
  }
  .mobile-library-panel .library-actions button{
    min-height:40px;
    background:#22252c;
    border-color:rgba(255,255,255,.10);
    color:#e8eaee;
    border-radius:12px;
  }
  .mobile-library-panel .library-actions button.primary{
    background:var(--accent);
    border-color:var(--accent);
    color:#fff;
  }
  .mobile-library-panel .library-action-remove .library-action-text{
    display:none;
  }
}
.cluster-section[hidden]{display:none!important}
.cluster-section{
  margin:26px 0 4px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:20px;
  background:color-mix(in srgb,var(--paper-2) 88%,transparent);
  box-shadow:0 16px 40px rgba(15,23,42,.07);
}
.cluster-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  margin-bottom:12px;
}
.cluster-kicker{
  font:850 10.5px/1.2 var(--sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}
.cluster-title{
  margin:3px 0 0;
  font:900 clamp(19px,2vw,27px)/1.05 var(--sans);
  letter-spacing:-.035em;
  color:var(--ink);
}
.cluster-sub{
  color:var(--muted);
  font:700 12px/1.45 var(--sans);
  max-width:520px;
}
.cluster-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.cluster-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  padding:13px;
  cursor:pointer;
  display:grid;
  gap:8px;
  min-height:168px;
}
.cluster-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-1px)}
.cluster-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  color:var(--muted);
  font:850 10.5px/1.3 var(--sans);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.cluster-pill{
  border:1px solid var(--line);
  background:var(--chip);
  border-radius:999px;
  padding:2px 7px;
  color:var(--ink-soft);
}
.cluster-card h3{
  margin:0;
  color:var(--ink);
  font:900 15.5px/1.22 var(--sans);
}
.cluster-card p{
  margin:0;
  color:var(--muted);
  font:650 12.5px/1.45 var(--sans);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cluster-sources{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:auto;
}
.cluster-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}
.cluster-actions-mini{
  display:flex;
  align-items:center;
  gap:6px;
}
.cluster-action{
  width:31px;
  height:31px;
  border-radius:11px;
  border:1px solid var(--line);
  background:var(--paper-2);
  color:var(--ink-soft);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:900 13px/1 var(--sans);
  cursor:pointer;
  box-shadow:none;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.cluster-action:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  color:var(--accent);
}
.cluster-action.active{
  background:color-mix(in srgb,var(--accent) 14%,var(--paper));
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  color:var(--accent);
}
.cluster-source-dot{
  width:27px;
  height:27px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--source-a,#334155),var(--source-b,#94a3b8));
  color:#fff;
  font:900 10px/1 var(--sans);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
@media(max-width:920px){.cluster-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .cluster-section{margin:18px 0 0;padding:12px;border-radius:18px}
  .cluster-head{align-items:flex-start;flex-direction:column}
  .cluster-grid{grid-template-columns:1fr}
}

/* v20.11.11 — browseView was missing from the default-hidden list, so picking
   Dossier/Letter/Radar from Style picker left browseView still rendered, making
   it look like nothing changed. */
#top8View, #browseView, #sundayView, #dossierView, #letterView, #radarView { display:none; }
#top8View.view-active, #browseView.view-active, #sundayView.view-active, #dossierView.view-active, #letterView.view-active, #radarView.view-active { display:block; }
#browseView:not(.view-active) #heroSlot, #browseView:not(.view-active) #grid { display:none; }

/* View sub-header with inline layout switcher */
.view-header{display:flex;align-items:center;justify-content:space-between;margin:18px 0 4px;padding:0 2px}
.view-title{font-size:18px;font-weight:800;letter-spacing:-.3px;color:var(--ink);margin:0}
.layout-switcher{display:inline-flex;align-items:center;gap:2px;background:var(--chip);border-radius:8px;padding:3px}
.layout-switcher button{border:0;background:transparent;color:var(--ink-soft);font-size:16px;width:32px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.layout-switcher button:hover{background:var(--surface);color:var(--ink)}
.layout-switcher button.active{background:var(--surface);color:var(--accent);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.1)}

.top8-grid{display:grid;gap:18px;margin-top:8px}

/* v20.10 — HK Local + International sections */
.region-section{margin:36px 0 0}
.region-section-head{display:flex;flex-direction:column;gap:4px;padding:0 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px}
.region-section-title{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:26px;font-weight:800;letter-spacing:.01em;color:var(--ink)}
.region-section-title .rs-flag{font-size:24px;line-height:1}
.region-section-sub{font-size:13px;color:var(--muted);font-style:italic;letter-spacing:.02em}
.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.region-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:560px){.region-grid{grid-template-columns:1fr;gap:12px}.region-section-title{font-size:22px}}
@media(min-width:1280px){.region-grid{grid-template-columns:repeat(3,1fr);gap:22px}}
/* v20.11.11 — region-grid (HK Local + International) must respond to layout
   selector too. Previously layout CSS only targeted `.grid` cards, so picking
   List/Cards/Grid did nothing on the default home view. */
[data-layout="grid"] .region-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){[data-layout="grid"] .region-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){[data-layout="grid"] .region-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){[data-layout="grid"] .region-grid{grid-template-columns:1fr}}

[data-layout="cards"] .region-grid{grid-template-columns:repeat(3,1fr);gap:28px}
[data-layout="cards"] .region-grid > .card{
  background:var(--paper);padding:14px 14px 18px;border-radius:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);
  transform:rotate(var(--tilt,0deg));transition:transform .25s ease,box-shadow .25s ease;
}
[data-layout="cards"] .region-grid > .card:nth-child(3n+1){--tilt:-1.2deg}
[data-layout="cards"] .region-grid > .card:nth-child(3n+2){--tilt:.8deg}
[data-layout="cards"] .region-grid > .card:nth-child(3n+3){--tilt:-.4deg}
[data-layout="cards"] .region-grid > .card:hover{transform:rotate(0) translateY(-4px)}

[data-layout="list"] .region-grid{grid-template-columns:1fr;gap:10px}
[data-layout="list"] .region-grid > .card{
  flex-direction:row;align-items:stretch;min-height:120px;border-radius:10px;display:flex
}
[data-layout="list"] .region-grid > .card .img{
  width:200px;aspect-ratio:auto;flex-shrink:0;border-bottom:0;border-right:1px solid var(--line)
}
[data-layout="list"] .region-grid > .card .body{padding:14px 18px;gap:6px}
[data-layout="list"] .region-grid > .card h3{font-size:17px}
@media(max-width:680px){
  [data-layout="list"] .region-grid > .card{flex-direction:column}
  [data-layout="list"] .region-grid > .card .img{width:100%;aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--line)}
}

/* v20.11.10 — region sections respect global Layout picker */
[data-layout="grid"] .region-grid{grid-template-columns:repeat(4,1fr)}
[data-layout="cards"] .region-grid{grid-template-columns:repeat(3,1fr);gap:24px}
[data-layout="cards"] .region-grid .t8-card{transform:rotate(var(--rt,-.5deg));box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);transition:transform .25s ease}
[data-layout="cards"] .region-grid .t8-card:nth-child(3n+2){--rt:.7deg}
[data-layout="cards"] .region-grid .t8-card:nth-child(3n+3){--rt:-.3deg}
[data-layout="cards"] .region-grid .t8-card:hover{transform:rotate(0) translateY(-4px)}
[data-layout="list"] .region-grid{grid-template-columns:1fr;gap:10px}
[data-layout="list"] .region-grid .t8-card{flex-direction:row;align-items:stretch;min-height:120px}
[data-layout="list"] .region-grid .t8-card .t8-card-img,
[data-layout="list"] .region-grid .t8-card .t8-img{width:200px;flex-shrink:0;border-bottom:0;border-right:1px solid var(--line);min-height:auto}
[data-layout="list"] .region-grid .t8-card .t8-card-body,
[data-layout="list"] .region-grid .t8-card .t8-body{padding:14px 18px;gap:6px}
@media(max-width:680px){
  [data-layout="list"] .region-grid .t8-card{flex-direction:column}
  [data-layout="list"] .region-grid .t8-card .t8-card-img,
  [data-layout="list"] .region-grid .t8-card .t8-img{width:100%;border-right:0;border-bottom:1px solid var(--line)}
}

.t8-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .2s, box-shadow .2s;position:relative;min-height:340px}
.t8-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.18)}
.t8-card.empty-slot{cursor:default;opacity:.55}
.t8-card.empty-slot:hover{transform:none;box-shadow:none}

.t8-slot-tag{position:absolute;top:10px;left:10px;z-index:3;background:rgba(0,0,0,.78);color:#fff;font:700 11px/1 var(--sans);padding:6px 10px;border-radius:999px;backdrop-filter:blur(6px);display:flex;align-items:center;gap:6px;letter-spacing:.04em}
[data-skin="noir"] .t8-slot-tag,[data-skin="terminal"] .t8-slot-tag,[data-skin="bberg"] .t8-slot-tag{background:rgba(255,255,255,.92);color:#000}

.t8-img{height:150px;background:#222 center/cover;flex-shrink:0;position:relative}
.t8-body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1;gap:8px}
.t8-kicker{font:600 11px/1.3 var(--sans);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.05em}
.t8-via-tag{font:600 9px/1 var(--sans);background:var(--pill);color:var(--ink-soft);padding:2px 6px;border-radius:999px;margin-left:6px}
.t8-ai-score{font:600 10px/1 var(--sans);color:#a78bfa;padding:2px 6px;border-radius:999px;background:rgba(167,139,250,.12);margin-left:6px}
.t8-title{font:700 15px/1.32 var(--serif);margin:0;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.t8-deck{font:400 12.5px/1.5 var(--sans);color:var(--ink-mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:auto}
.t8-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:6px}
.t8-thumbs{display:flex;gap:4px}
.thumb-btn{background:transparent;border:1.5px solid var(--border);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:14px;line-height:1;color:var(--ink);transition:all .15s;padding:0;display:flex;align-items:center;justify-content:center}
.thumb-btn:hover{border-color:var(--accent)}
.thumb-btn.up.on{background:#10b981;border-color:#10b981;color:#fff}
.thumb-btn.down.on{background:#ef4444;border-color:#ef4444;color:#fff}
.t8-impact{font:700 10px/1 var(--sans);padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.t8-impact.high{background:#dc2626;color:#fff}
.t8-impact.watch{background:#d97706;color:#fff}
.t8-impact.context{background:#059669;color:#fff}
/* v20.9.7 — Interest confidence % chip (replaces generic impact for Top 8 cards).
   Tiers: hot ≥75% (red), warm 55-74% (amber), mild 35-54% (slate), cool <35% (muted). */
.t8-conf{font:700 10.5px/1 var(--sans);padding:4px 9px;border-radius:999px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:4px}
.t8-conf.hot{background:rgba(200,16,46,.14);color:var(--accent);border:1px solid rgba(200,16,46,.28)}
.t8-conf.warm{background:rgba(217,119,6,.14);color:#b45309;border:1px solid rgba(217,119,6,.28)}
.t8-conf.mild{background:rgba(75,85,99,.10);color:#475569;border:1px solid rgba(75,85,99,.22)}
.t8-conf.cool{background:rgba(148,163,184,.10);color:#64748b;border:1px solid rgba(148,163,184,.22)}

.t8-empty-msg{padding:30px 18px;text-align:center;color:var(--ink-mute);font:italic 13px/1.5 var(--serif)}
.t8-empty-msg .icon{font-size:36px;margin-bottom:12px;opacity:.4}

/* v19.7: Hallmark-selected view modes (01 Dossier, 03 Market Letter, 04 Radar)
   v20.11.7 — removed outer chrome so views blend into the parent UI instead of
   sitting in a separate boxed-in card. Inner boards (.dossier-board / .letter-board /
   .radar-board) still own their own theming. */
.lookview{min-height:560px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.lookview-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;padding:8px 4px 18px;border-bottom:0;background:transparent}
.lookview-kicker{font:800 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-mute)}
.lookview-title{font:900 clamp(30px,4.2vw,58px)/.92 var(--serif);letter-spacing:-.045em;margin:6px 0;color:var(--ink)}
.lookview-copy{max-width:520px;color:var(--ink-soft);font:400 14px/1.55 var(--sans)}
.lookview-count{font:800 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:8px 11px;color:var(--accent);white-space:nowrap}
.look-card{cursor:pointer;transition:transform .18s, box-shadow .18s, border-color .18s}
.look-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.14);border-color:var(--accent)}
.look-meta{font:700 11px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute)}
.look-story{margin:0;color:var(--ink)}
.look-deck{margin:0;color:var(--ink-soft);font:400 13px/1.55 var(--sans)}
.look-img{background:#d8d0c2 center/cover;min-height:150px}
.look-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--ink-mute);font:700 11px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.dossier-board{padding:26px 0;display:grid;grid-template-columns:.95fr 1.05fr;gap:18px;background:transparent;color:var(--ink)}
.dossier-lead{background:var(--paper);border:1px solid var(--line);position:relative;overflow:hidden}
.dossier-lead::before{content:"CONFIDENTIAL";position:absolute;top:18px;right:18px;color:#9d1f2d;border:1px solid #9d1f2d;transform:rotate(3deg);font:900 11px/1 var(--mono);letter-spacing:.16em;padding:6px 9px;opacity:.62;z-index:2}
.dossier-lead .body{padding:24px}.dossier-lead .look-story{font:900 34px/1.02 var(--serif);letter-spacing:-.045em;margin:10px 0}.dossier-stack{display:grid;gap:12px}.dossier-file{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--accent);padding:17px}.dossier-file .look-story{font:800 19px/1.12 var(--serif);margin:8px 0}
.letter-board{padding:30px 0;background:transparent;color:var(--ink)}.letter-mast{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;border-bottom:4px double #111;padding-bottom:18px;margin-bottom:22px}.letter-mast h3{font:900 clamp(38px,5vw,68px)/.86 var(--serif);letter-spacing:-.06em;margin:0}.letter-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.letter-lead{border-right:1px solid rgba(0,0,0,.18);padding-right:24px}.letter-lead .look-story{font:900 42px/1.02 var(--serif);letter-spacing:-.05em;margin:12px 0}.letter-lead .look-deck{font:400 18px/1.55 var(--serif);color:#3f3a33}.letter-stack{display:grid;gap:14px}.letter-item{border-top:1px solid rgba(0,0,0,.22);padding-top:14px}.letter-item .look-story{font:800 23px/1.08 var(--serif);margin:7px 0}.letter-pull{border-left:4px solid #0b315f;padding-left:13px;font:italic 18px/1.35 var(--serif);color:#0b315f;margin-top:18px}
.radar-board{padding:28px 0;background:transparent;display:grid;grid-template-columns:.98fr 1.02fr;gap:22px;color:var(--ink)}.radar-map{min-height:430px;border:1px solid rgba(13,78,110,.18);border-radius:26px;position:relative;background:radial-gradient(circle at center,transparent 0 17%,rgba(29,78,216,.10) 17% 18%,transparent 18% 38%,rgba(29,78,216,.11) 38% 39%,transparent 39% 58%,rgba(29,78,216,.11) 58% 59%,transparent 59%),linear-gradient(90deg,rgba(29,78,216,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(29,78,216,.06) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px;overflow:hidden}.radar-node{position:absolute;width:14px;height:14px;border-radius:50%;background:#0ea5e9;box-shadow:0 0 0 8px rgba(14,165,233,.15)}.radar-node.main{left:47%;top:48%;background:#0f172a}.radar-node.n2{left:25%;top:28%}.radar-node.n3{left:68%;top:25%;background:#22c55e}.radar-node.n4{left:72%;top:68%;background:#f97316}.radar-node.n5{left:32%;top:72%;background:#a855f7}.radar-callout{position:absolute;left:9%;right:9%;bottom:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);border:1px solid rgba(13,78,110,.18);border-radius:18px;padding:18px}.radar-callout .look-story{font:900 25px/1.06 var(--serif);letter-spacing:-.03em;margin:8px 0}.radar-list{display:grid;gap:12px}.radar-signal{background:rgba(255,255,255,.76);border:1px solid rgba(13,78,110,.16);border-radius:18px;padding:18px}.radar-signal .look-story{font:800 20px/1.12 var(--serif);margin:8px 0}.signal-score{height:7px;background:rgba(15,23,42,.10);border-radius:999px;overflow:hidden;margin-top:12px}.signal-score span{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#22c55e);border-radius:999px}
/* lookview responsive handled in responsive section */

.card-thumbs{display:inline-flex;gap:4px;margin-left:auto}
.card-thumbs .thumb-btn{width:26px;height:26px;font-size:12px;border-radius:6px}

.sunday-card{max-width:760px;margin:30px auto;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:32px 36px}
.sunday-card h2{font:700 24px/1.2 var(--serif);margin:0 0 8px;color:var(--ink)}
.sunday-card .sub{font:italic 14px/1.5 var(--serif);color:var(--ink-mute);margin-bottom:24px}
.sunday-pick{display:flex;gap:14px;padding:14px;border:1.5px solid var(--border);border-radius:12px;margin-bottom:10px;cursor:pointer;transition:all .18s;align-items:flex-start}
.sunday-pick:hover{border-color:var(--accent)}
.sunday-pick.picked{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.sunday-pick.picked .sp-meta,.sunday-pick.picked .sp-deck{color:var(--bg);opacity:.85}
.sunday-pick .sp-num{font:700 18px/1 var(--serif);width:28px;flex-shrink:0;padding-top:2px}
.sunday-pick .sp-body{flex:1;min-width:0}
.sunday-pick .sp-title{font:600 14px/1.35 var(--serif);margin-bottom:4px}
.sunday-pick .sp-meta{font:500 11px/1.3 var(--sans);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.sunday-pick .sp-deck{font:400 12.5px/1.5 var(--sans);color:var(--ink-mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sunday-counter{margin:18px 0 24px;font:600 14px/1 var(--sans);color:var(--ink-mute)}
.sunday-counter b{color:var(--accent);font-size:18px}
.sunday-actions{display:flex;gap:12px;margin-top:24px}
.sunday-btn{background:var(--accent);color:var(--bg);border:none;padding:12px 24px;border-radius:10px;font:600 14px/1 var(--sans);cursor:pointer;transition:opacity .15s}
.sunday-btn:hover{opacity:.85}
.sunday-btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--border)}
.sunday-btn:disabled{opacity:.4;cursor:not-allowed}
.sunday-empty{padding:40px;text-align:center;color:var(--ink-mute);font:italic 15px/1.5 var(--serif)}








/* v20 Profile switcher + onboarding wizard */
.profile-wrap{position:relative;display:inline-flex;z-index:60}
.profile-wrap.open{z-index:9990}
/* profile-btn removed — now uses icon-btn class */
.profile-menu{position:absolute;top:44px;left:0;width:min(360px,calc(100vw - 28px));max-width:calc(100vw - 28px);background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;z-index:9999;display:none;box-sizing:border-box}
.profile-wrap.open .profile-menu{display:block}
.profile-menu-head{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);padding:8px 10px 6px;font-weight:800}
.profile-opt{width:100%;border:0;background:transparent;color:var(--ink);display:flex;gap:10px;align-items:center;text-align:left;padding:10px;border-radius:12px;cursor:pointer;box-sizing:border-box}
.profile-opt:hover,.profile-opt.active{background:var(--chip)}
.profile-opt .avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--bg);display:grid;place-items:center;font-size:17px;flex:0 0 auto}
.profile-opt .copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.profile-opt .name{font-weight:850;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.profile-opt .desc{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:1.35}
.profile-create{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.account-panel{margin:2px 2px 8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--chip) 82%,transparent)}
.account-row{display:flex;gap:10px;align-items:center}
.account-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:0 0 auto}
.account-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.account-copy{min-width:0;flex:1}
.account-title{font-size:13px;font-weight:900;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-sub{font-size:11px;color:var(--muted);line-height:1.35;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.account-actions{display:flex;gap:8px;margin-top:10px}
.account-actions button,.account-actions a{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:999px;padding:7px 10px;font:800 11px/1 var(--sans,system-ui,sans-serif);text-decoration:none;cursor:pointer}
.account-actions .primary{border-color:transparent;background:var(--accent);color:#fff}
.account-note{font-size:10.5px;line-height:1.35;color:var(--muted);margin-top:8px}
.account-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.account-auth-tabs button{border:1px solid var(--line);background:var(--paper-2);color:var(--muted);border-radius:999px;padding:7px 8px;font:850 11px/1 var(--sans,system-ui,sans-serif);cursor:pointer}
.account-auth-tabs button.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.email-auth-form{display:grid;gap:8px;margin-top:10px}
.email-auth-form input{width:100%;box-sizing:border-box;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:11px;padding:10px 11px;font:700 12px/1.2 var(--sans,system-ui,sans-serif)}
.email-auth-form input::placeholder{color:var(--muted)}
.email-auth-form button{border:0;background:var(--accent);color:#fff;border-radius:999px;padding:9px 11px;font:900 12px/1 var(--sans,system-ui,sans-serif);cursor:pointer}
.email-auth-form button:disabled{opacity:.65;cursor:wait}
.account-divider{display:flex;align-items:center;gap:8px;margin:10px 0 2px;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.account-divider::before,.account-divider::after{content:"";height:1px;background:var(--line);flex:1}
.account-message{min-height:14px}
.account-message.error{color:var(--accent)}
.account-message.ok{color:var(--good,#16a34a)}
.account-status-chip{
  min-height:var(--command-h,42px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:0 13px;
  background:var(--chip);
  color:var(--ink);
  font:850 12px/1 var(--sans,system-ui,sans-serif);
  white-space:nowrap;
  cursor:pointer;
}
.account-status-chip .account-status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#8f949b;
  box-shadow:0 0 0 4px color-mix(in srgb,#8f949b 18%,transparent);
  flex:0 0 auto;
}
.account-status-chip.signed-in{
  border-color:color-mix(in srgb,#22c55e 34%,var(--line));
  background:color-mix(in srgb,#22c55e 13%,var(--chip));
}
.account-status-chip.signed-in .account-status-dot{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.16);
}
.account-status-chip.logged-out{
  border-color:color-mix(in srgb,var(--accent) 28%,var(--line));
}
.account-status-chip.logged-out .account-status-dot{
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);
}
.account-benefits-mask,
.account-benefits-sheet{
  display:none;
}
.account-benefits-mask{
  position:fixed;
  inset:0;
  z-index:9598;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(5px);
}
.account-benefits-mask.open{display:block}
.account-benefits-sheet{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:9599;
  width:min(920px,calc(100vw - 28px));
  max-height:min(86svh,760px);
  overflow:auto;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 30px 90px rgba(0,0,0,.38);
  box-sizing:border-box;
}
.account-benefits-sheet.open{display:block}
.account-benefits-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.account-benefits-kicker{
  color:var(--accent);
  font:900 11px/1.2 var(--sans,system-ui,sans-serif);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.account-benefits-head h2{
  margin:0;
  max-width:720px;
  color:var(--ink);
  font:950 clamp(24px,4vw,38px)/1.05 var(--sans,system-ui,sans-serif);
  letter-spacing:0;
}
.account-benefits-sub{
  max-width:720px;
  margin:9px 0 0;
  color:var(--muted);
  font:680 13.5px/1.55 var(--sans,system-ui,sans-serif);
}
.account-benefits-close{
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--chip);
  color:var(--ink);
  font:900 20px/1 var(--sans,system-ui,sans-serif);
  cursor:pointer;
}
.account-benefit-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.account-benefit-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--chip) 78%,transparent);
  padding:12px;
  min-height:116px;
}
.account-benefit-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  margin-bottom:10px;
  background:color-mix(in srgb,var(--accent) 16%,transparent);
  color:var(--accent);
}
.account-benefit-icon svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.account-benefit-title{
  color:var(--ink);
  font:900 13px/1.15 var(--sans,system-ui,sans-serif);
}
.account-benefit-copy{
  margin-top:6px;
  color:var(--muted);
  font:650 11.5px/1.42 var(--sans,system-ui,sans-serif);
}
.account-benefits-login{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px);
  gap:14px;
  align-items:start;
}
.account-benefits-note{
  border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));
  border-radius:16px;
  padding:14px;
  background:color-mix(in srgb,var(--accent) 7%,var(--paper-2));
  color:var(--ink-soft);
  font:700 13px/1.55 var(--sans,system-ui,sans-serif);
}
.account-benefits-note b{
  color:var(--ink);
}
.account-benefits-login .account-panel{
  margin:0;
}
.account-signed-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  border:1px solid color-mix(in srgb,#22c55e 28%,var(--line));
  border-radius:18px;
  padding:14px;
  background:color-mix(in srgb,#22c55e 9%,var(--paper-2));
}
.account-signed-card .account-actions{
  margin:0;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media(max-width:760px){
  .account-benefits-sheet{
    left:12px;
    right:12px;
    top:auto;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    transform:none;
    width:auto;
    max-height:min(88svh,760px);
    padding:16px;
  }
  .account-benefits-head h2{
    font-size:24px;
  }
  .account-benefit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .account-benefits-login{
    grid-template-columns:1fr;
  }
  .account-signed-card{
    grid-template-columns:1fr;
  }
  .account-signed-card .account-actions{
    justify-content:flex-start;
  }
}
@media(max-width:420px){
  .account-benefit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.profile-wizard-mask{position:fixed;inset:0;background:rgba(12,12,12,.55);backdrop-filter:blur(3px);z-index:120;display:none;align-items:center;justify-content:center;padding:20px}
.profile-wizard-mask.open{display:flex}
.profile-wizard{width:min(920px,96vw);max-height:92vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.32);padding:24px;color:var(--ink)}
.profile-wizard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.profile-wizard h2{font-family:var(--serif);font-size:30px;line-height:1.05;margin:0}.profile-wizard .sub{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.45}.profile-close{border:1px solid var(--line);background:transparent;color:var(--ink);width:34px;height:34px;border-radius:50%;cursor:pointer}
.profile-form-row{display:grid;grid-template-columns:1fr 220px;gap:12px;margin:14px 0}.profile-form-row input,.profile-form-row select{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:12px 14px;font:inherit}
.profile-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:900;margin:22px 0 10px}.profile-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.profile-card{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:16px;padding:13px;text-align:left;cursor:pointer;min-height:94px;transition:transform .12s,border-color .12s,background .12s}.profile-card:hover{transform:translateY(-1px)}.profile-card.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%, transparent);background:var(--chip)}.profile-card .emoji{font-size:24px}.profile-card .name{font-weight:900;margin-top:8px;font-size:13px}.profile-card .desc{font-size:11px;color:var(--muted);line-height:1.35;margin-top:3px}
.profile-region-grid{display:flex;gap:8px;flex-wrap:wrap}.profile-region{border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:9px 12px;border-radius:999px;cursor:pointer;font-weight:800;font-size:12px}.profile-region.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.profile-generated{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-top:18px}.profile-generated-box{border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:14px}.profile-generated-box h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.profile-tags{display:flex;gap:6px;flex-wrap:wrap}.profile-tags span{border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:11px;background:var(--chip)}
.profile-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px}.profile-actions button{border:0;border-radius:12px;padding:12px 16px;font-weight:900;cursor:pointer}.profile-actions .ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.profile-actions .primary{background:var(--accent);color:var(--bg)}
.profile-lens-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px}
/* profile responsive handled in responsive section */

/* Product recovery banner v26.2 */
#bdSos {
  position:fixed;
  top:calc(14px + env(safe-area-inset-top,0px));
  left:50%;
  right:auto;
  transform:translateX(-50%);
  z-index:99999;
  width:min(720px,calc(100vw - 28px));
  display:none;
  align-items:flex-start;
  gap:14px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:22px;
  background:color-mix(in srgb,var(--paper-2) 96%,#fff 4%);
  color:var(--ink);
  font:600 14px/1.45 var(--sans,Inter,system-ui,sans-serif);
  box-shadow:0 20px 52px rgba(15,23,42,.20),0 0 0 1px rgba(255,255,255,.08) inset;
  backdrop-filter:blur(18px);
}
#bdSos.show { display: flex; }
#bdSos .bd-sos-icon{
  width:34px;
  height:34px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:color-mix(in srgb,var(--accent) 14%,transparent);
  color:var(--accent);
  font-weight:950;
}
#bdSos .bd-sos-copy{
  min-width:0;
  display:grid;
  gap:4px;
}
#bdSos b{
  font-size:15.5px;
  line-height:1.25;
  color:var(--ink);
}
#bdSos span{
  color:var(--muted);
  font-size:13px;
}
#bdSos .bd-sos-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
#bdSos button{
  border:1px solid transparent;
  background:var(--accent);
  color:#fff;
  padding:9px 13px;
  font-weight:900;
  cursor:pointer;
  border-radius:999px;
  white-space:nowrap;
}
#bdSos button.bd-sos-secondary{
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}
#bdSos code{
  display:block;
  width:100%;
  max-height:70px;
  overflow:auto;
  margin-top:4px;
  padding:7px 9px;
  border-radius:12px;
  background:color-mix(in srgb,var(--ink) 7%,transparent);
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
  white-space:normal;
  word-break:break-word;
}
#bdSos code[hidden]{
  display:none;
}
#bdSos [data-sos-reset][hidden]{display:none;}
@media(max-width:640px){
  #bdSos{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
    padding:13px;
    border-radius:20px;
  }
  #bdSos .bd-sos-icon{
    display:none;
  }
  #bdSos .bd-sos-actions{
    width:100%;
    margin-left:0;
  }
  #bdSos .bd-sos-actions button{
    flex:1;
    min-height:42px;
  }
}


/* ============================================================
   v23 Executive Dashboard UI refresh — Option A + C hybrid
   Goal: fix cramped upper UI, tiny fonts, weak hierarchy and drawer scroll.
   Kept as late CSS overrides so product logic remains untouched.
   ============================================================ */
:root{
  --surface:var(--paper-2);
  --border:var(--line);
  --rule:var(--line);
  --ink-mute:var(--muted);
  --sans:'Inter','Noto Sans SC',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --serif:'Playfair Display','Noto Serif SC',Georgia,serif;
  --mono:'JetBrains Mono','SFMono-Regular',Consolas,monospace;
}
html,body{font-family:var(--sans);font-size:16px;line-height:1.45}
body{background:
  radial-gradient(1050px 520px at 8% -8%, rgba(255,232,184,.95) 0%, transparent 60%),
  radial-gradient(900px 480px at 106% 8%, rgba(255,207,216,.70) 0%, transparent 58%),
  linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb,var(--bg) 82%,#fff 18%) 100%) !important;
}
[data-theme="dark"] body{background:
  radial-gradient(1100px 520px at 8% -8%, rgba(40,62,100,.78) 0%, transparent 62%),
  radial-gradient(920px 480px at 106% 8%, rgba(92,40,62,.62) 0%, transparent 58%),
  var(--bg) !important;
}
.masthead,.toolbar,.filterbar,.statbar,.viewtabs,.wrap,.footer,.refresh-banner{max-width:1500px}

/* Hero masthead becomes a premium executive header card */
.masthead{
  margin:22px auto 0;
  padding:30px 34px;
  align-items:center;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:30px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--paper-2) 92%,transparent),color-mix(in srgb,var(--paper) 86%,transparent));
  box-shadow:0 24px 70px rgba(38,28,10,.12),0 1px 0 rgba(255,255,255,.45) inset;
  backdrop-filter:blur(12px);
}
.brand{gap:18px;align-items:center}
.brand h1{font-size:clamp(46px,5vw,72px);letter-spacing:-2.6px;line-height:.92}
.brand .tag{font-size:18px;line-height:1.35;padding-left:18px;max-width:480px;color:var(--ink-soft)}
.meta{
  align-items:flex-end;gap:9px;min-width:280px;
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  border:1px solid var(--line);border-radius:20px;padding:14px 16px;
}
.meta .date{font-size:12px;letter-spacing:.18em;color:var(--muted)}
.meta .edition{font-size:17px;font-weight:800;color:var(--ink)}

/* Command bar + category carousel */
.toolbar{
  margin:16px auto 0;
  padding:18px 20px;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
  border:1px solid var(--line);
  border-radius:26px;
  background:color-mix(in srgb,var(--paper-2) 92%,transparent);
  box-shadow:0 14px 42px rgba(38,28,10,.08);
  backdrop-filter:blur(10px);
}
.chips{gap:10px 10px;flex:1 1 680px;align-items:center}
.chip{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;border-radius:999px;
  font-size:13.5px;letter-spacing:.055em;text-transform:none;font-weight:800;
  background:color-mix(in srgb,var(--chip) 88%,#fff 12%);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
}
.chip:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 8px 22px rgba(20,15,5,.08)}
.chip.active{background:linear-gradient(135deg,var(--ink),color-mix(in srgb,var(--ink) 78%,var(--accent) 22%));color:var(--paper);box-shadow:0 10px 28px rgba(20,15,5,.18)}
.chip .chip-count{font-size:12px;padding:3px 8px;margin-left:8px}
.tools{gap:9px;justify-content:flex-end;align-items:center;flex:0 1 650px}
.search{min-height:44px;padding:0 16px;border-radius:16px;background:var(--paper-2);box-shadow:0 1px 0 rgba(255,255,255,.55) inset}
.search input{font-size:14.5px;width:min(340px,28vw)}
.icon-btn{width:44px;height:44px;border-radius:14px;font-size:17px;background:var(--paper-2)}
.icon-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,15,5,.12)}
.font-group{height:44px;border-radius:14px!important;padding:4px!important;background:var(--paper-2)!important}
.font-group .icon-btn{width:32px!important;height:32px!important;border-radius:10px!important}

/* Filter panel is spacious, scrollable, and organized */
.filterbar.open{
  margin-top:12px;max-height:min(76vh,760px);overflow-y:auto;
  padding:20px 28px;border:1px solid var(--line);border-radius:24px;
  background:color-mix(in srgb,var(--paper-2) 94%,transparent);
  box-shadow:0 18px 48px rgba(38,28,10,.10);
}
.filter-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.filter-group{background:color-mix(in srgb,var(--paper) 64%,transparent);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:18px;padding:14px}
.filter-group label{font-size:12px;letter-spacing:.13em;margin-bottom:10px;color:var(--ink-soft)}
.filter-pills{gap:8px;max-height:190px;overflow-y:auto;padding-right:4px}
.pill{font-size:12.5px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:var(--paper-2)}
.filter-row input,.filter-row select{min-height:42px;font-size:14px;border-radius:12px;padding:9px 12px;background:var(--paper-2)}
.filter-actions{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.filter-tip{font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}
.filter-action-buttons{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}

/* Stat strip becomes readable KPI cards */
.statbar{
  margin:16px auto 0;padding:0;gap:10px;border-bottom:0;
  font-size:13px;letter-spacing:.01em;align-items:stretch;
}
.statbar span{
  display:inline-flex;align-items:center;gap:5px;min-height:42px;
  padding:10px 14px;border:1px solid var(--line);border-radius:15px;
  background:color-mix(in srgb,var(--paper-2) 93%,transparent);
  box-shadow:0 6px 18px rgba(38,28,10,.045);
}
.statbar span:first-child{background:linear-gradient(135deg,rgba(200,16,46,.10),rgba(184,137,61,.10));border-color:color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--ink)}
.statbar b{font-size:14px}

/* View tabs are clearer CTAs */
.viewtabs{padding:18px 0 0;gap:10px}
.vtab{min-height:42px;padding:11px 18px;font-size:14px;border-radius:14px;background:color-mix(in srgb,var(--paper-2) 84%,transparent);border:1px solid var(--line)}
.vtab.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 10px 24px rgba(200,16,46,.18)}
.vtab-hint{font-size:13.5px;color:var(--muted)}

/* Main content: more breathing room and stronger card hierarchy */
.wrap{padding:26px 0 110px}
.view-header{margin:6px 0 18px;padding:0;align-items:flex-end}
.view-title{font-size:clamp(25px,2.2vw,34px);font-weight:900;letter-spacing:-.75px}
.layout-switcher{border:1px solid var(--line);border-radius:14px;padding:5px;background:var(--paper-2)}
.top8-grid{gap:24px;margin-top:14px}
.t8-card{min-height:390px;border-radius:22px;background:var(--paper-2);border-color:color-mix(in srgb,var(--line) 82%,transparent);box-shadow:0 16px 42px rgba(38,28,10,.10)}
.t8-card:hover{transform:translateY(-4px);box-shadow:0 24px 62px rgba(38,28,10,.16)}
.t8-img{height:172px}
.t8-body{padding:18px 18px 20px;gap:11px}
.t8-kicker{font-size:12px;letter-spacing:.075em;color:var(--muted)}
.t8-title{font-size:18px;line-height:1.25;font-weight:850;letter-spacing:-.1px;-webkit-line-clamp:4}
.t8-deck{font-size:14px;line-height:1.55;-webkit-line-clamp:3;color:var(--ink-soft)}
.t8-slot-tag{top:14px;left:14px;padding:8px 12px;font-size:12px}
.t8-conf{font-size:11.5px;padding:6px 10px}
.thumb-btn{width:34px;height:34px;border-radius:10px}
.region-section{margin:46px 0 0;padding-top:4px}
.region-section-head{padding-bottom:16px;margin-bottom:20px}
.region-section-title{font-size:30px;letter-spacing:-.4px}
.region-section-sub{font-size:14px}
.region-grid{gap:22px}

/* Browse cards also get better readability */
.grid{gap:24px}.card{border-radius:20px;background:var(--paper-2);box-shadow:0 14px 38px rgba(38,28,10,.09)}
.card .body{padding:20px 20px 22px;gap:12px}.card h3{font-size:24px;line-height:1.2}.card .deck{font-size:14.5px;line-height:1.55}.card .kicker{font-size:11.5px}.card .foot{font-size:12px}

/* Sources & Keywords drawer: stronger, scrollable, readable rows */
.drawer{width:min(660px,94vw);background:var(--paper-2);border-left:1px solid var(--line);box-shadow:-24px 0 80px rgba(0,0,0,.24)}
.drawer-head{padding:24px 28px}.drawer-head h2{font-size:30px;letter-spacing:-.5px}.drawer-head .close{width:40px;height:40px}
.drawer-tabs{padding:0 12px;background:color-mix(in srgb,var(--paper) 82%,transparent)}
.drawer-tab{padding:15px 14px;font-size:12.5px;letter-spacing:.055em}
#regenBar{padding:14px 24px!important;gap:14px!important}
.drawer-body{padding:22px 26px;overflow-y:auto;max-height:calc(100vh - 176px)}
.drawer-section h3{font-size:12px;margin-bottom:12px;color:var(--ink-soft)}
.add-row{gap:9px;margin-bottom:18px}.add-row input,.add-row select{min-height:42px;border-radius:12px;font-size:14px;background:var(--paper-2)}.add-row button{min-height:42px;border-radius:12px}
.row-list{gap:8px}.row-item{min-height:50px;padding:12px 14px;border-radius:14px;background:var(--paper);border-color:var(--line)}.row-item .name{font-size:14.5px}.row-item .meta{font-size:12px}.row-item .stat{font-size:12px;padding:4px 9px}.row-item .toggle{width:38px;height:22px}.row-item .toggle::after{width:18px;height:18px}.row-item .toggle.on::after{left:18px}

/* Desktop grid tuning */
@media(min-width:1200px){
  .top8-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.t8-card{min-height:400px}.t8-img{height:176px}
  .card h3{font-size:25px}.statbar{padding:0}.footer{padding:30px 0}
}
@media(min-width:1600px){
  .masthead,.toolbar,.wrap,.filterbar,.statbar,.viewtabs,.footer,.refresh-banner{max-width:1600px}
  .top8-grid{gap:28px}.t8-title{font-size:19px}.t8-deck{font-size:14.5px}.t8-img{height:188px}
}

/* Tablet / mobile: command-bar usability first */
@media(max-width:980px){
  .masthead,.toolbar,.filterbar.open,.statbar,.viewtabs,.wrap,.footer,.refresh-banner{margin-left:14px;margin-right:14px;max-width:calc(100vw - 28px)}
  .masthead{padding:22px;border-radius:24px;align-items:flex-start}.brand h1{font-size:40px}.brand .tag{font-size:15px}.meta{min-width:0;width:100%;align-items:flex-start}
  .toolbar{padding:14px;border-radius:22px}.tools{justify-content:flex-start;width:100%;flex:1 1 100%}.search{flex:1 1 260px}.search input{width:100%}
  .statbar{gap:8px}.statbar span{min-height:38px;padding:8px 11px;font-size:12.5px}
  .wrap{padding-top:22px}.viewtabs{padding-top:14px}.top8-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.t8-card{min-height:360px}.t8-img{height:150px}
}
@media(max-width:768px){
  .masthead{margin-top:12px;padding:18px;border-radius:22px}.brand{display:block}.brand h1{font-size:34px;margin-bottom:8px}.brand .tag{display:block;border-left:0;padding-left:0;font-size:14px}.meta{padding:11px 12px;border-radius:16px}.meta .edition{font-size:15px}
  .toolbar{gap:12px;overflow:visible}.chips{order:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:2px 14px 8px;margin:0 -14px;scrollbar-width:none;mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 28px),transparent 100%)}
  .chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:42px;font-size:13px;padding:9px 14px}.tools{order:2;gap:7px}.icon-btn{width:40px;height:40px;border-radius:12px}.search{min-height:40px;flex:1 1 100%}
  .filterbar.open{max-height:min(72vh,max(320px,calc(100dvh - 330px)));padding:14px;border-radius:20px}.filter-grid{grid-template-columns:1fr}.filter-group{padding:12px}.filter-pills{max-height:145px}
  .filter-actions{position:sticky;bottom:-14px;margin:14px -14px -14px;padding:12px 14px;background:color-mix(in srgb,var(--paper-2) 98%,transparent);border-top:1px solid var(--line);border-radius:0 0 20px 20px;z-index:2}
  .filter-tip{display:none}
  .filter-action-buttons{width:100%;justify-content:space-between}
  .filter-action-buttons .reset-btn{min-height:40px;padding:8px 10px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
  .statbar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.statbar::-webkit-scrollbar{display:none}.statbar span{flex:0 0 auto}
  .viewtabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.viewtabs::-webkit-scrollbar{display:none}.vtab{flex:0 0 auto;min-height:40px}.vtab-spacer{display:none}.vtab-hint{display:none}
  .view-title{font-size:25px}.top8-grid{grid-template-columns:1fr;gap:14px}.t8-card{min-height:auto;border-radius:18px}.t8-img{height:150px}.t8-body{padding:15px}.t8-title{font-size:17px}.t8-deck{font-size:13.5px}
  .region-section-title{font-size:24px}.region-grid{grid-template-columns:1fr}.drawer{width:100vw}.drawer-head{padding:18px 20px}.drawer-head h2{font-size:24px}.drawer-body{padding:18px 20px;max-height:calc(100vh - 166px)}
}
@media(max-width:420px){
  .masthead,.toolbar,.filterbar.open,.statbar,.viewtabs,.wrap,.footer,.refresh-banner{margin-left:10px;margin-right:10px;max-width:calc(100vw - 20px)}
  .brand h1{font-size:30px}.chip{font-size:12px;min-height:40px}.t8-img{height:132px}.t8-title{font-size:16px}.statbar span{font-size:12px}.drawer-tab{padding:13px 11px;font-size:11.5px}
}

/* v21.6 — mobile audit fixes: compact command bar and keep admin access reachable. */
@media(max-width:560px){
  .masthead{
    padding:12px 14px;
    gap:6px;
    border-radius:18px;
  }
  .brand h1{font-size:25px;margin-bottom:4px}
  .brand .tag{font-size:12px;line-height:1.25}
  .meta{
    padding:8px 10px;
    border-radius:14px;
    gap:8px;
  }
  .meta .date{font-size:10px;letter-spacing:.12em}
  .meta .edition{font-size:13px}
  .toolbar{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:10px;
    border-radius:18px;
    overflow:visible;
  }
  .tools{
    order:1;
    display:grid;
    grid-template-columns:repeat(8,36px);
    gap:6px;
    width:100%;
    max-width:100%;
    justify-content:start;
    overflow:visible;
  }
  .tools .search{
    grid-column:1 / -1;
    grid-row:1;
    width:100%;
    min-height:38px;
    padding:0 10px;
    box-sizing:border-box;
  }
  .tools .search input{
    min-width:0;
    font-size:14px;
    text-overflow:ellipsis;
  }
  .tools .search input::placeholder{font-size:14px}
  .tools .profile-wrap,
  .tools #filterBtn,
  .tools #sortBtn,
  .tools #sourcesBtn,
  .tools #skinWrap,
  .tools #styleWrap,
  .tools #skinBtn,
  .tools #styleBtn,
  .tools #refreshBtn,
  .tools #themeBtn{
    grid-row:2;
  }
  #sourcesBtn,#skinBtn,#styleBtn{display:inline-flex!important}
  #briefBtn,#langBtn,.font-group{display:none!important}
  .icon-btn{width:36px;height:36px;border-radius:11px}
  .chips{
    order:2;
    flex:0 0 auto!important;
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    max-height:44px;
    display:flex;
    flex-wrap:nowrap!important;
    gap:6px;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 8px 2px 0;
    margin:0;
    scrollbar-width:none;
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
  }
  .chips .chip{
    min-height:36px;
    padding:7px 10px;
    font-size:11px;
    white-space:nowrap;
  }
  .chips .chip-count{
    margin-left:5px;
    padding:2px 6px;
    font-size:10px;
  }
  .statbar{display:none}
  .viewtabs{padding-top:8px}
  .wrap{padding-top:10px}
  .view-header{margin-bottom:10px}
  .top8-grid{margin-top:8px}
}

/* v24.0 quality pass: tighter daily-brief shell, honest spacing, calmer type. */
:root{
  --bg:#f6f7f9;
  --paper:#f6f7f9;
  --paper-2:#ffffff;
  --ink:#18181b;
  --ink-soft:#3f3f46;
  --muted:#71717a;
  --accent:#c8102e;
  --accent2:#0f766e;
  --gold:#9d7a3a;
  --line:rgba(24,24,27,.12);
  --chip:#ffffff;
  --pill:#eef2f7;
  --shadow:0 12px 34px rgba(15,23,42,.08), 0 1px 2px rgba(15,23,42,.05);
}
[data-theme="dark"]{
  --bg:#0f141b;
  --paper:#131922;
  --paper-2:#181f2a;
  --ink:#f4f4f5;
  --ink-soft:#d4d4d8;
  --muted:#a1a1aa;
  --line:rgba(255,255,255,.12);
  --chip:#181f2a;
  --pill:#222b38;
  --shadow:0 18px 48px rgba(0,0,0,.36), 0 1px 2px rgba(0,0,0,.22);
}
html,body{
  font-family:'Inter','Noto Sans SC',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.45;
}
body{
  background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%) !important;
  color:var(--ink);
}
[data-theme="dark"] body{background:linear-gradient(180deg,#111827 0%,#0f141b 100%) !important}
.masthead,.toolbar,.filterbar,.statbar,.viewtabs,.wrap,.footer,.refresh-banner{
  width:min(1280px,calc(100vw - 56px));
  max-width:none !important;
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
}
.masthead{
  margin-top:22px;
  padding:24px 28px;
  min-height:0;
  align-items:center;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
[data-theme="dark"] .masthead{background:rgba(24,31,42,.9)}
.brand{gap:16px;align-items:center}
.brand h1{
  font-family:'Playfair Display','Noto Serif SC',Georgia,serif;
  font-size:clamp(36px,3.4vw,54px);
  font-weight:850;
  line-height:1;
  letter-spacing:-1.2px;
}
.brand .tag{
  max-width:430px;
  padding-left:16px;
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
  font-size:14px;
  font-style:normal;
  font-weight:500;
  line-height:1.45;
  color:var(--muted);
}
.meta{
  min-width:238px;
  padding:12px 14px;
  gap:6px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper-2);
}
.meta .date{font-size:11px;letter-spacing:.16em;color:var(--muted)}
.meta .edition{
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
  font-size:14px;
  font-style:normal;
  font-weight:750;
  letter-spacing:.08em;
}
.toolbar{
  margin-top:14px;
  padding:14px;
  gap:12px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow);
}
[data-theme="dark"] .toolbar{background:rgba(24,31,42,.92)}
.chips{flex:1 1 570px;gap:8px}
.chip{
  min-height:38px;
  padding:8px 13px;
  font-size:12.5px;
  letter-spacing:.035em;
  text-transform:none;
  font-weight:750;
  border-radius:999px;
}
.chip .chip-count{font-size:11px;padding:2px 7px}
.tools{flex:0 1 560px;gap:8px;justify-content:flex-end}
.search{
  min-height:40px;
  padding:0 13px;
  border-radius:13px;
}
.search input{width:min(300px,24vw);font-size:14px}
.icon-btn{
  width:40px;
  height:40px;
  border-radius:12px;
  font-size:16px;
}
.font-group{height:40px;border-radius:12px!important}
.font-group .icon-btn{height:30px!important;width:30px!important}
.filterbar.open{
  margin-top:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper-2);
  box-shadow:var(--shadow);
}
.filter-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.filter-group{padding:12px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}
.filter-group label{font-size:11px;letter-spacing:.11em;margin-bottom:8px}
.filter-row input,.filter-row select{min-height:40px;border-radius:11px;font-size:14px}
.statbar{
  margin-top:14px;
  gap:8px;
  border-bottom:0;
  font-size:12.5px;
}
.statbar span{
  min-height:36px;
  padding:8px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--line);
  box-shadow:0 4px 14px rgba(15,23,42,.04);
}
[data-theme="dark"] .statbar span{background:rgba(24,31,42,.92)}
.statbar b{font-size:13px}
.viewtabs{
  padding:18px 0 0;
  gap:8px;
  align-items:center;
}
.vtab{
  min-height:38px;
  padding:9px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:750;
}
.vtab.active{box-shadow:0 9px 22px rgba(200,16,46,.18)}
.vtab-hint{
  max-width:360px;
  margin-left:auto;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:13px;
}
.wrap{padding:24px 0 96px}
.view-header{margin:0 0 16px;align-items:flex-end}
.view-title{
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
  font-size:clamp(24px,2.1vw,32px);
  font-weight:800;
  letter-spacing:-.35px;
}
.top8-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  gap:18px;
  margin-top:10px;
}
.top3-section{
  margin:0 0 20px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:20px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 97%,#fff 3%),color-mix(in srgb,var(--paper) 90%,#000 10%));
  box-shadow:0 18px 46px rgba(0,0,0,.12);
}
.top3-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin:0 0 14px;
}
.top3-kicker{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.14em;
  font:900 10.5px/1 var(--mono,monospace);
}
.top3-title{
  margin:4px 0 0;
  font:900 22px/1.1 var(--sans,system-ui,sans-serif);
  letter-spacing:0;
}
.top3-sub{
  max-width:420px;
  color:var(--ink-soft);
  font:650 12px/1.45 var(--sans,system-ui,sans-serif);
  text-align:right;
}
.top3-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.top3-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  min-height:230px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:16px;
  background:color-mix(in srgb,var(--paper-2) 97%,#fff 3%);
  box-shadow:0 14px 32px rgba(0,0,0,.12);
  overflow:hidden;
}
.top3-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}
.top3-card-top{
  display:flex;
  align-items:center;
  gap:8px;
}
.top3-rank{
  display:inline-grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 16%,transparent);
  color:var(--accent);
  font:950 11px/1 var(--mono,monospace);
}
.top3-type{
  min-width:0;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.12em;
  font:900 10px/1 var(--mono,monospace);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.top3-score{
  margin-left:auto;
  flex:0 0 auto;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:999px;
  padding:4px 7px;
  color:var(--ink-soft);
  font:850 10px/1 var(--sans,system-ui,sans-serif);
}
.top3-card-title{
  margin:0;
  font:950 18px/1.16 var(--sans,system-ui,sans-serif);
  letter-spacing:0;
}
.top3-card-summary{
  margin:0;
  color:var(--ink-soft);
  font:650 12.5px/1.45 var(--sans,system-ui,sans-serif);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.top3-reasons{display:flex;flex-wrap:wrap;gap:6px}
.top3-reason{
  border-radius:999px;
  padding:5px 8px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  color:var(--ink-soft);
  font:800 10.5px/1.1 var(--sans,system-ui,sans-serif);
}
.top3-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:auto}
.top3-metric{padding:8px;border:1px solid var(--line);border-radius:10px;text-align:center;color:var(--muted);font:750 9.5px/1.25 var(--sans,system-ui,sans-serif)}
.top3-metric b{display:block;color:var(--ink);font-size:13px;margin-bottom:2px}
.top3-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.top3-actions button,
.top3-sources summary,
.top3-login{
  min-height:32px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--chip);
  color:var(--ink);
  padding:7px 9px;
  font:850 11.5px/1 var(--sans,system-ui,sans-serif);
  cursor:pointer;
}
.top3-actions button.primary{
  flex:1;
  border-color:transparent;
  background:var(--accent);
  color:#fff;
}
.top3-sources{position:relative}
.top3-sources[open]{flex:0 0 100%;width:100%}
.top3-sources summary{list-style:none;display:inline-flex;align-items:center}
.top3-sources summary::-webkit-details-marker{display:none}
.top3-source-list{display:grid;gap:6px;margin-top:7px}
.top3-source-list button{width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--paper);color:var(--ink);font:750 11px/1.3 var(--sans,system-ui,sans-serif)}
@media (max-width:900px){
  .top3-grid{grid-template-columns:1fr}
  .top3-head{align-items:flex-start;flex-direction:column}
  .top3-sub{text-align:left}
  .top3-section{padding:14px}
  .top3-card{min-height:0}
}
.t8-card{
  min-height:360px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--paper-2);
  box-shadow:var(--shadow);
}
.t8-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(15,23,42,.12)}
.t8-img{height:154px}
.t8-body{padding:16px;gap:10px}
.t8-kicker{font-size:11px;letter-spacing:.055em}
.t8-title{
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
  font-size:17px;
  line-height:1.32;
  font-weight:780;
  letter-spacing:-.1px;
}
.t8-deck{
  font-size:13.5px;
  line-height:1.5;
  color:var(--ink-soft);
}
.t8-slot-tag{
  top:12px;
  left:12px;
  padding:7px 11px;
  font-size:11px;
  border-radius:999px;
}
.t8-conf{font-size:11px;padding:5px 9px}
.thumb-btn{width:32px;height:32px;border-radius:9px}
.grid{gap:18px}
[data-layout="mosaic"] .grid{align-items:start}
.card{
  border-radius:16px;
  background:var(--paper-2);
  box-shadow:var(--shadow);
  align-self:start;
}
.card .body{padding:17px;gap:10px}
[data-layout="mosaic"] .grid .card .body{flex:0 0 auto}
.card h3{
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
  font-size:20px;
  line-height:1.28;
  font-weight:780;
  letter-spacing:-.1px;
}
[data-layout="mosaic"] .grid .card .deck{
  flex:0 1 auto;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.card .deck{font-size:14px;line-height:1.5}
.card .kicker{font-size:10.5px;letter-spacing:.12em}
[data-layout="list"] .grid{gap:12px}
[data-layout="list"] .grid .card{
  display:grid;
  grid-template-columns:176px minmax(0,1fr);
  min-height:0;
  align-items:stretch;
  border-radius:14px;
}
[data-layout="list"] .grid .card .img{
  width:100%;
  height:128px;
  min-height:128px;
  aspect-ratio:auto;
  border-right:1px solid var(--line);
  border-bottom:0;
}
[data-layout="list"] .grid .card .body{
  min-width:0;
  padding:14px 16px;
  gap:6px;
}
[data-layout="list"] .grid .card h3{
  font-size:17px;
  line-height:1.24;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
[data-layout="list"] .grid .card .deck{
  flex:0 1 auto;
  font-size:13px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
[data-layout="list"] .grid .card .foot{padding-top:6px}
[data-layout="list"] .grid .card .impact{top:10px;left:10px;right:auto}
[data-layout="list"] .grid .card .bookmark{top:10px;right:10px}

/* v24.11 — PC card control repair.
   The save star used to sit at right:120px while impact and AI badges had
   their own absolute positions, causing collisions in desktop list/grid modes. */
.grid .card > .impact{
  top:12px;
  left:12px;
  right:auto;
  max-width:calc(100% - 70px);
}
.grid .card > .ai-badge{
  top:48px;
  left:12px;
  right:auto;
  max-width:calc(100% - 70px);
}
.grid .card > .bookmark{
  top:12px;
  right:12px;
  left:auto;
}
.grid .card.read::after{
  top:auto;
  bottom:12px;
  left:12px;
}
.grid .card .foot{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.grid .card .foot .src{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.grid .card .foot .foot-rating{
  flex:0 0 auto;
  justify-self:end;
  white-space:nowrap;
}
.grid .card .foot .inline-stars{
  display:inline-flex;
  align-items:center;
  gap:1px;
  line-height:1;
}
.grid .card .foot .inline-stars .star{
  display:inline-block;
  font-size:12px;
  line-height:1;
}
.hero:focus-visible,
.grid .card:focus-visible,
.region-grid .t8-card:focus-visible,
.top8-grid .t8-card:focus-visible,
.mobile-story:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent2) 68%,#fff 32%);
  outline-offset:4px;
}
.hero > .impact{
  top:18px;
  left:18px;
  right:auto;
}
.hero > .bookmark{
  top:18px;
  right:18px;
}
.hero > .card-stars{
  right:18px;
  bottom:18px;
}
[data-layout="list"] .region-grid .t8-card{
  min-height:0;
  display:grid;
  grid-template-columns:176px minmax(0,1fr);
}
[data-layout="list"] .region-grid .t8-card .t8-img{
  width:100%;
  height:128px;
  min-height:128px;
  border-right:1px solid var(--line);
  border-bottom:0;
}
[data-layout="list"] .region-grid .t8-card .t8-body{
  min-width:0;
  padding:14px 16px;
  gap:6px;
}
.region-section{margin-top:38px}
.region-section-title{
  font-family:'Inter','Noto Sans SC',system-ui,sans-serif;
  font-size:26px;
  font-weight:800;
}
.drawer{box-shadow:-18px 0 54px rgba(15,23,42,.20)}
.drawer-head h2{font-family:'Inter','Noto Sans SC',system-ui,sans-serif;font-size:26px}
@media(min-width:1600px){
  .masthead,.toolbar,.filterbar,.statbar,.viewtabs,.wrap,.footer,.refresh-banner{
    width:min(1320px,calc(100vw - 72px));
  }
  .t8-img{height:164px}
}
@media(max-width:980px){
  .masthead,.toolbar,.filterbar.open,.statbar,.viewtabs,.wrap,.footer,.refresh-banner{
    width:auto;
    margin-left:16px;
    margin-right:16px;
  }
  .masthead{padding:18px;border-radius:18px;align-items:flex-start}
  .brand h1{font-size:34px}
  .brand .tag{font-size:13px}
  .meta{width:100%;min-width:0;align-items:flex-start}
  .toolbar{padding:12px;border-radius:16px}
  .tools{justify-content:flex-start;width:100%;flex:1 1 100%}
  .search{flex:1 1 260px}
  .search input{width:100%}
  .top8-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px}
}
@media(max-width:680px){
  .masthead,.toolbar,.filterbar.open,.statbar,.viewtabs,.wrap,.footer,.refresh-banner{
    margin-left:12px;
    margin-right:12px;
  }
  .refresh-health-bar{
    max-width:calc(100vw - 24px);
    margin-left:12px;
    margin-right:12px;
    align-items:flex-start;
    flex-direction:column;
    font-size:12.5px;
  }
  .refresh-health-main{align-items:flex-start}
  .refresh-health-action{width:100%;justify-content:center}
  .masthead{margin-top:12px;padding:14px;border-radius:16px}
  .brand{display:block}
  .brand h1{font-size:29px;margin-bottom:6px;letter-spacing:-.6px}
  .brand .tag{display:block;border-left:0;padding-left:0;font-size:12.5px}
  .meta{padding:10px;border-radius:13px}
  .toolbar{gap:10px}
  .tools{
    display:grid;
    grid-template-columns:repeat(6,38px);
    gap:6px;
  }
  .tools .search{grid-column:1 / -1}
  .chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;min-height:36px;padding:7px 10px;font-size:11.5px}
  .statbar{display:none}
  .viewtabs{padding-top:12px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .viewtabs::-webkit-scrollbar{display:none}
  .vtab{flex:0 0 auto;min-height:36px;padding:8px 13px}
  .vtab-hint{display:none}
  .wrap{padding-top:16px}
  .view-title{font-size:24px}
  .top8-grid{grid-template-columns:1fr !important;gap:12px}
  .t8-card{min-height:auto;border-radius:15px}
  .t8-img{height:142px}
  .t8-body{padding:14px}
  .t8-title{font-size:16.5px}
  [data-layout="list"] .grid .card{grid-template-columns:1fr}
  [data-layout="list"] .grid .card .img{
    height:150px;
    min-height:150px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  [data-layout="list"] .region-grid .t8-card{grid-template-columns:1fr}
  [data-layout="list"] .region-grid .t8-card .t8-img{
    height:150px;
    min-height:150px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}

/* v24.8 — skin cascade repair.
   The v24 shell refresh intentionally calmed the UI, but its late generic
   surface/background rules made some skins look unlike their picker swatches.
   Keep skin palettes authoritative, and let dark/light mode work for every skin. */
[data-skin="magazine"]{
  --bg:#f6f7f9; --paper:#f6f7f9; --paper-2:#ffffff; --ink:#18181b;
  --ink-soft:#3f3f46; --muted:#71717a; --accent:#c8102e; --accent2:#0f766e;
  --gold:#9d7a3a; --line:rgba(24,24,27,.12); --chip:#ffffff; --pill:#eef2f7;
}
[data-skin="magazine"][data-theme="dark"]{
  --bg:#0f141b; --paper:#131922; --paper-2:#181f2a; --ink:#f4f4f5;
  --ink-soft:#d4d4d8; --muted:#a1a1aa; --accent:#ff5570; --accent2:#34c47b;
  --gold:#e0b25a; --line:rgba(255,255,255,.12); --chip:#181f2a; --pill:#222b38;
}
[data-skin="noir"]{
  --bg:#08080a; --paper:#111114; --paper-2:#15151a; --ink:#f4f3ef;
  --ink-soft:#c9c5bd; --muted:#a49f95; --accent:#ff2e4d; --accent2:#d4af37;
  --gold:#d4af37; --line:rgba(255,255,255,.16); --chip:#15151a; --pill:#1a1a20;
}
[data-skin="sakura"]{
  --bg:#fff5f7; --paper:#fff8fa; --paper-2:#ffffff; --ink:#3a2230;
  --ink-soft:#5a384a; --muted:#9b6f82; --accent:#e75480; --accent2:#7d9d6e;
  --gold:#d4a373; --line:rgba(220,120,160,.22); --chip:#fffafb; --pill:#fde6ec;
}
[data-skin="sakura"][data-theme="dark"]{
  --bg:#1c1118; --paper:#241720; --paper-2:#2b1c26; --ink:#fff3f7;
  --ink-soft:#f2cbd8; --muted:#c690a5; --accent:#ff7aa2; --accent2:#a9c48e;
  --gold:#e6b984; --line:rgba(255,170,200,.20); --chip:#2b1c26; --pill:#36222e;
}
[data-skin="terminal"]{
  --bg:#030604; --paper:#06120a; --paper-2:#0a1a10; --ink:#7cffb0;
  --ink-soft:#5fe89a; --muted:#52b17b; --accent:#7cffb0; --accent2:#ffd166;
  --gold:#ffd166; --line:rgba(124,255,176,.24); --chip:#0a1a10; --pill:#0c2014;
}
[data-skin="ftpink"]{
  --bg:#fff1e5; --paper:#fff5ec; --paper-2:#fffaf5; --ink:#33302e;
  --ink-soft:#5a544f; --muted:#8a807a; --accent:#0d7680; --accent2:#990f3d;
  --gold:#b07d3b; --line:rgba(51,48,46,.18); --chip:#fffaf5; --pill:#ffe8d6;
}
[data-skin="ftpink"][data-theme="dark"]{
  --bg:#201510; --paper:#2a1b14; --paper-2:#332119; --ink:#fff4ea;
  --ink-soft:#ead1c1; --muted:#c49f8d; --accent:#27b1bc; --accent2:#ff5d93;
  --gold:#d8a65a; --line:rgba(255,209,180,.18); --chip:#332119; --pill:#422a20;
}
[data-skin="nytprint"]{
  --bg:#fffefa; --paper:#fbfaf4; --paper-2:#ffffff; --ink:#121212;
  --ink-soft:#2c2c2c; --muted:#6c6c6c; --accent:#000000; --accent2:#326891;
  --gold:#9a7d2e; --line:rgba(0,0,0,.16); --chip:#ffffff; --pill:#f2f1ea;
}
[data-skin="nytprint"][data-theme="dark"]{
  --bg:#0f0f0e; --paper:#171716; --paper-2:#20201e; --ink:#f7f4ec;
  --ink-soft:#ded9cc; --muted:#aaa398; --accent:#f7f4ec; --accent2:#79a9d8;
  --gold:#c6a34a; --line:rgba(255,255,255,.16); --chip:#20201e; --pill:#2a2926;
}
[data-skin="bberg"]{
  --bg:#0b0e15; --paper:#11151f; --paper-2:#161b27; --ink:#f5f5f0;
  --ink-soft:#cfcfc6; --muted:#aaa99c; --accent:#fa7b17; --accent2:#ffffff;
  --gold:#fa7b17; --line:rgba(250,123,23,.24); --chip:#161b27; --pill:#202636;
}
[data-skin] body{
  background:
    radial-gradient(980px 460px at 8% -8%, color-mix(in srgb,var(--accent) 20%,transparent) 0%, transparent 60%),
    radial-gradient(850px 440px at 106% 8%, color-mix(in srgb,var(--accent2) 16%,transparent) 0%, transparent 58%),
    linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 84%,var(--paper-2) 16%) 100%) !important;
}
[data-skin="terminal"] body{background:var(--bg) !important}
[data-skin] .masthead,
[data-skin] .toolbar,
[data-skin] .statbar span,
[data-skin] .filterbar.open,
[data-skin] .vtab,
[data-skin] .search,
[data-skin] .icon-btn,
[data-skin] .font-group,
[data-skin] .picker-menu{
  background:color-mix(in srgb,var(--paper-2) 94%,transparent);
  color:var(--ink);
  border-color:var(--line);
}
[data-skin] .chip{
  background:color-mix(in srgb,var(--chip) 92%,var(--paper-2) 8%);
  color:var(--ink);
  border-color:var(--line);
  opacity:1;
}
[data-skin] .chip .chip-count{
  background:color-mix(in srgb,var(--ink) 8%,transparent);
  color:var(--muted);
}
[data-skin] .chip.active,
[data-skin] .icon-btn.active,
[data-skin] .picker-opt.active{
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--ink) 28%));
  color:#fff;
  border-color:var(--accent);
}
[data-skin="nytprint"] .chip.active,
[data-skin="nytprint"] .icon-btn.active,
[data-skin="nytprint"] .picker-opt.active{
  background:var(--ink);
  color:var(--paper-2);
}
[data-skin] .chip.active .chip-count{background:rgba(255,255,255,.22);color:#fff}
[data-skin] .brand h1 .red{color:var(--accent)}
[data-skin] .brand .tag,
[data-skin] .meta .date,
[data-skin] .vtab-hint{color:var(--muted)}
[data-skin] .card,
[data-skin] .t8-card,
[data-skin] .drawer,
[data-skin] .row-item{
  background:var(--paper-2);
  color:var(--ink);
  border-color:var(--line);
}
[data-skin] #themeBtn{display:flex !important}

/* v24.9 — final command-bar tidy pass.
   Earlier responsive layers fought each other, especially after skin/layout changes.
   Keep categories and controls in predictable lanes and let only category chips scroll. */
.toolbar{
  display:grid !important;
  grid-template-columns:1fr;
  align-items:start !important;
  gap:14px !important;
  overflow:visible !important;
}
.toolbar .chips{
  grid-row:2;
  min-width:0;
  max-width:100%;
  flex:0 0 auto !important;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.toolbar .tools{
  grid-row:1;
  min-width:0;
  flex:0 0 auto !important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px;
}
.toolbar .search{
  flex:1 1 420px;
  min-width:260px;
  max-width:680px;
}
.toolbar .search input{
  width:100% !important;
  min-width:0;
}
.toolbar .icon-btn,
.toolbar .font-group{
  flex:0 0 auto;
}
@media(max-width:1120px){
  .toolbar .tools{width:100%}
  .toolbar .search{max-width:none;flex:1 1 320px}
}
@media(max-width:680px){
  .toolbar{
    display:flex !important;
    flex-direction:column;
    align-items:stretch !important;
  }
  .toolbar .tools{
    order:1 !important;
    flex:0 0 auto !important;
    display:grid !important;
    grid-template-columns:repeat(auto-fill,40px);
    width:100%;
    align-items:center;
    justify-content:start;
  }
  .toolbar .search{
    grid-column:1 / -1;
    grid-row:1;
    min-width:0;
    max-width:none;
  }
  .toolbar .tools > :not(.search){
    grid-row:auto;
  }
  .toolbar .profile-wrap,
  .toolbar .lang-wrap,
  .toolbar .picker-wrap{
    width:40px;
    min-width:40px;
  }
  .toolbar .font-group{
    width:94px;
    grid-column:span 2;
  }
  .toolbar .chips{
    order:2 !important;
    flex:0 0 auto !important;
    flex-wrap:nowrap !important;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 8px;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
  }
  .toolbar .chips::-webkit-scrollbar{display:none}
  .toolbar .chip{flex:0 0 auto}
}

/* v24.10 — compact command tray for laptop/tablet widths.
   Search gets a clean row; every icon then packs left-to-right with even rhythm. */
@media(max-width:1320px){
  .toolbar .tools{
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(42px, 42px));
    grid-auto-rows:42px;
    align-items:center;
    justify-content:start !important;
    gap:7px !important;
    width:100%;
  }
  .toolbar .search{
    order:-1;
    grid-column:1 / -1;
    grid-row:1;
    width:min(100%, 920px);
    max-width:100%;
    min-width:0;
    min-height:42px;
  }
  .toolbar .tools > :not(.search){
    grid-row:2;
  }
  .toolbar .profile-wrap,
  .toolbar .lang-wrap,
  .toolbar .picker-wrap{
    width:42px;
    min-width:42px;
    height:42px;
  }
  .toolbar .icon-btn{
    width:42px;
    height:42px;
    border-radius:13px;
  }
  .toolbar .font-group{
    grid-column:span 3;
    width:116px;
    height:42px;
    justify-self:start;
  }
}
@media(max-width:560px){
  .toolbar .tools{
    grid-template-columns:repeat(auto-fit, minmax(38px, 38px));
    grid-auto-rows:38px;
    gap:6px !important;
  }
  .toolbar .profile-wrap,
  .toolbar .lang-wrap,
  .toolbar .picker-wrap,
  .toolbar .icon-btn{
    width:38px;
    min-width:38px;
    height:38px;
  }
  .toolbar .font-group{
    width:108px;
    height:38px;
  }
  .toolbar .tools > :not(.search){
    grid-row:auto;
  }
}

/* v25.0 — professional command bar overhaul.
   Reference principles: clearer visual hierarchy, proximity-based grouping,
   consistent touch targets, and calmer icon language. Keep existing ids intact. */
:root{
  --ui-shell:1360px;
  --ui-gap:14px;
  --control-h:44px;
  --control-r:12px;
  --control-pad:12px;
  --control-shadow:0 10px 26px rgba(15,23,42,.075);
}
html,body{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.masthead,
.toolbar,
.filterbar,
.statbar,
.viewtabs,
.wrap,
.footer,
.refresh-banner{
  width:min(var(--ui-shell),calc(100vw - 56px)) !important;
}
.masthead{
  margin-top:20px !important;
  padding:24px 28px !important;
  border-radius:22px !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:16px;
}
.brand h1{
  font-size:clamp(38px,3.4vw,56px) !important;
  line-height:.98 !important;
  letter-spacing:-1.1px !important;
  white-space:nowrap;
}
.brand .tag{
  max-width:520px;
  padding-left:16px;
  border-left:1px solid var(--line);
  font-size:15px !important;
  font-weight:650 !important;
  line-height:1.35 !important;
}
.meta{
  flex:0 0 auto;
  min-width:250px !important;
  padding:12px 16px !important;
  border-radius:16px !important;
}

.toolbar{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);
  gap:16px 22px !important;
  align-items:start !important;
  padding:18px 20px !important;
  border-radius:22px !important;
  overflow:visible !important;
}
.toolbar .chips{
  grid-column:1;
  grid-row:1;
  min-width:0;
  max-width:100%;
  display:flex !important;
  flex-wrap:wrap !important;
  align-content:flex-start;
  gap:9px !important;
  padding:0 !important;
  margin:0 !important;
}
.toolbar .chip{
  min-height:40px !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:780 !important;
  letter-spacing:.01em !important;
  line-height:1.1 !important;
  box-shadow:none !important;
}
.toolbar .chip .chip-count{
  margin-left:7px !important;
  padding:2px 7px !important;
  min-width:0;
  font-size:11px !important;
  font-weight:800;
}

.toolbar .tools{
  grid-column:2;
  grid-row:1;
  min-width:0;
  width:100%;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
}
.toolbar .search{
  order:-10;
  flex:1 1 100% !important;
  width:100%;
  max-width:none !important;
  min-width:240px !important;
  min-height:var(--control-h) !important;
  padding:0 14px !important;
  border-radius:var(--control-r) !important;
  gap:10px;
  box-shadow:none !important;
}
.toolbar .search-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  color:var(--muted);
  font-size:20px;
  font-weight:800;
}
.toolbar .search input{
  width:100% !important;
  min-width:0 !important;
  font-size:15px !important;
  font-weight:500;
}
.toolbar .profile-wrap,
.toolbar .lang-wrap,
.toolbar .picker-wrap{
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  display:inline-flex;
  flex:0 0 auto;
}
.toolbar .icon-btn,
.toolbar .font-group{
  flex:0 0 auto;
}
.toolbar .icon-btn{
  width:auto !important;
  min-width:var(--control-h) !important;
  height:var(--control-h) !important;
  padding:0 var(--control-pad) !important;
  border-radius:var(--control-r) !important;
  gap:8px;
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif) !important;
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  line-height:1 !important;
  box-shadow:none !important;
  background:color-mix(in srgb,var(--paper-2) 96%,transparent) !important;
}
.toolbar .icon-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:var(--control-shadow) !important;
}
.toolbar .icon-btn::after{
  content:attr(data-label);
  display:inline-block;
  font-size:12px;
  font-weight:820;
  color:currentColor;
  white-space:nowrap;
}
.toolbar #sourcesBtn,
.toolbar #briefBtn{
  font-size:11px !important;
  letter-spacing:.08em !important;
}
.toolbar #profileAvatar{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 14%,var(--paper-2));
  color:var(--accent);
  font-size:12px;
  font-weight:900;
  letter-spacing:0;
}
.toolbar #langBtn span{
  font-size:11px;
  letter-spacing:.06em;
  font-weight:900;
}
.toolbar #refreshIcon{
  font-size:18px;
  line-height:1;
}
.toolbar .font-group{
  height:var(--control-h) !important;
  min-width:126px;
  padding:4px 8px !important;
  border-radius:var(--control-r) !important;
  gap:4px !important;
  box-shadow:none !important;
}
.toolbar .font-group::before{
  content:"Text";
  margin-right:2px;
  font-size:11px;
  font-weight:850;
  color:var(--muted);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.toolbar .font-group .icon-btn{
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
  padding:0 !important;
  border-radius:9px !important;
}
.toolbar .font-group .icon-btn::after{
  content:"";
  display:none;
}
.toolbar #fontLabel{
  min-width:32px !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.toolbar #langBtn,
.toolbar #briefBtn,
.toolbar .font-group,
.toolbar #profileBtn,
.toolbar #filterBtn,
.toolbar #sortBtn,
.toolbar #sourcesBtn,
.toolbar #skinBtn,
.toolbar #styleBtn,
.toolbar #refreshBtn,
.toolbar #themeBtn{
  display:inline-flex !important;
}

.statbar,
.viewtabs{
  width:min(var(--ui-shell),calc(100vw - 56px)) !important;
}
.viewtabs{
  padding-top:18px !important;
  gap:10px !important;
}
.vtab{
  min-height:42px !important;
  padding:10px 17px !important;
  font-size:15px !important;
  border-radius:14px !important;
}
.view-title{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif) !important;
  font-size:clamp(28px,2.3vw,36px) !important;
  line-height:1.12 !important;
  letter-spacing:-.45px !important;
}

@media(max-width:1180px){
  .masthead,
  .toolbar,
  .filterbar,
  .statbar,
  .viewtabs,
  .wrap,
  .footer,
  .refresh-banner{
    width:calc(100vw - 32px) !important;
  }
  .toolbar{
    grid-template-columns:1fr;
  }
  .toolbar .chips,
  .toolbar .tools{
    grid-column:1;
  }
  .toolbar .chips{grid-row:2}
  .toolbar .tools{
    grid-row:1;
    justify-content:flex-start !important;
  }
}
@media(max-width:760px){
  :root{--control-h:42px;--control-pad:0}
  html,body{
    max-width:100vw;
    overflow-x:hidden;
  }
  .masthead,
  .toolbar,
  .filterbar.open,
  .statbar,
  .viewtabs,
  .wrap,
  .footer,
  .refresh-banner{
    width:calc(100vw - 24px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .masthead{
    margin-top:12px !important;
    padding:16px !important;
    border-radius:18px !important;
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .brand{
    display:block;
    width:100%;
  }
  .brand h1{
    font-size:32px !important;
    margin-bottom:6px;
    white-space:normal;
  }
  .brand .tag{
    display:block;
    max-width:none;
    border-left:0;
    padding-left:0;
    font-size:13px !important;
  }
  .meta{
    width:100%;
    min-width:0 !important;
    align-items:flex-start !important;
  }
  .toolbar{
    padding:12px !important;
    border-radius:18px !important;
    gap:12px !important;
    max-width:calc(100vw - 24px) !important;
  }
  .toolbar *,
  .toolbar *::before,
  .toolbar *::after{
    box-sizing:border-box;
  }
  .toolbar .tools{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-rows:var(--control-h);
    gap:7px !important;
    width:100%;
  }
  .toolbar .tools > :not(.search){
    grid-column:auto !important;
    grid-row:auto !important;
    order:0 !important;
  }
  .toolbar .search{
    grid-column:1 / -1;
    grid-row:auto !important;
    order:-10 !important;
    min-width:0 !important;
    min-height:44px !important;
  }
  .toolbar .profile-wrap,
  .toolbar .lang-wrap,
  .toolbar .picker-wrap{
    width:auto !important;
    min-width:0 !important;
    display:block;
  }
  .toolbar .icon-btn{
    width:100% !important;
    min-width:0 !important;
    height:var(--control-h) !important;
    justify-content:center !important;
  }
  .toolbar .icon-btn::after{
    content:"";
    display:none;
  }
  .toolbar .tools > .font-group{
    grid-column:span 2 !important;
    width:100% !important;
    min-width:0 !important;
    justify-content:center;
  }
  .toolbar .font-group::before{
    display:none;
  }
  .toolbar .chips{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:1px 2px 7px !important;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
  }
  .toolbar .chips::-webkit-scrollbar{display:none}
  .toolbar .chip{
    flex:0 0 auto;
    min-height:38px !important;
    padding:8px 11px !important;
    font-size:12px !important;
  }
  .viewtabs{
    overflow-x:auto;
    flex-wrap:nowrap !important;
    padding-top:12px !important;
    scrollbar-width:none;
  }
  .viewtabs::-webkit-scrollbar{display:none}
  .vtab{
    flex:0 0 auto;
    min-height:40px !important;
    font-size:14px !important;
  }
  .view-title{
    font-size:27px !important;
  }
}
@media(max-width:420px){
  :root{--control-h:40px}
  .masthead,
  .toolbar,
  .filterbar.open,
  .statbar,
  .viewtabs,
  .wrap,
  .footer,
  .refresh-banner{
    width:calc(100vw - 20px) !important;
  }
  .brand h1{font-size:29px !important}
  .toolbar .tools{gap:6px !important}
  .toolbar .tools > .font-group{
    grid-column:span 2 !important;
  }
  .toolbar .chip{
    font-size:11.5px !important;
  }
}

/* v25.1 — YuJing-inspired reading UI.
   Apply the reference app's useful patterns: calm paper surfaces, a strong
   hero, one contained AI brief sheet, scannable paragraph chunks, and compact
   list cards. */
.flip{
  width:min(1120px,96vw) !important;
  height:min(720px,92vh) !important;
  border-radius:28px !important;
  background:var(--paper-2);
  box-shadow:0 34px 90px rgba(15,23,42,.32) !important;
}
.flip .left .scrim{
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.82) 100%),
    linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,0) 44%);
}
.flip .left .cap{
  padding:30px 32px !important;
}
.flip .left .cap .kicker{
  display:inline-flex;
  flex-wrap:wrap;
  gap:7px;
  max-width:100%;
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif);
  font-size:11px !important;
  font-weight:850;
  letter-spacing:.18em !important;
  opacity:.94;
}
.flip .left .cap h2{
  font-family:var(--serif,'Playfair Display','Noto Serif SC',Georgia,serif) !important;
  font-size:clamp(28px,3vw,40px) !important;
  line-height:1.08 !important;
  letter-spacing:-.02em;
}
.flip .right{
  padding:24px !important;
  gap:14px !important;
  background:
    radial-gradient(680px 380px at 10% 0%, color-mix(in srgb,var(--accent2) 8%,transparent) 0%, transparent 58%),
    linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 96%,#f8fbff 4%),var(--paper-2));
}
.flip .right .modal-stars{
  border-radius:18px !important;
  padding:12px 14px !important;
  background:color-mix(in srgb,var(--paper-2) 78%,var(--pill) 22%) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset;
}
.flip .right .modal-stars .label{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif);
  font-size:10.5px !important;
  letter-spacing:.13em !important;
}
.flip .right .modal-summary-block{
  position:relative;
  padding:18px !important;
  border:1px solid color-mix(in srgb,var(--accent2) 20%,var(--line));
  border-radius:24px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 96%,#eaf5ff 4%),color-mix(in srgb,var(--paper-2) 94%,#f2f7ff 6%));
  box-shadow:0 18px 46px rgba(15,23,42,.075);
  overflow:hidden;
}
.flip .right .modal-summary-block::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:5px;
  height:100%;
  background:linear-gradient(180deg,var(--accent2),var(--accent));
  opacity:.82;
}
.modal-summary-head{
  position:relative !important;
  top:auto !important;
  margin:0 0 12px !important;
  padding:0 0 10px 0 !important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 64%,transparent);
  background:transparent !important;
}
.modal-summary-head h4{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif) !important;
  font-size:13px !important;
  font-style:normal !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  color:color-mix(in srgb,#2563eb 70%,var(--ink) 30%) !important;
}
.modal-summary-head h4::before{
  content:"AI";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:22px;
  border-radius:999px;
  background:color-mix(in srgb,#2563eb 16%,transparent);
  color:color-mix(in srgb,#2563eb 82%,var(--ink) 18%);
  font-size:10px;
  font-weight:950;
  letter-spacing:.03em;
}
.modal-font-tools{
  border-radius:14px !important;
  box-shadow:none !important;
  background:color-mix(in srgb,var(--paper-2) 90%,transparent) !important;
}
.modal-summary-meta{
  position:relative;
  z-index:2;
}
.modal-summary-status{
  color:color-mix(in srgb,var(--muted) 84%,#2563eb 16%);
}
.modal-summary-refresh{
  min-height:32px;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset;
}
.flip .right #mDeck{
  display:block !important;
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif);
  font-size:calc(16px * var(--modal-recap-scale, 1)) !important;
  line-height:1.68 !important;
}
.flip .right .deck-stats{
  margin:0 0 12px !important;
  gap:7px !important;
}
.flip .right .deck-stats .ds{
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line)) !important;
  background:color-mix(in srgb,var(--accent) 8%,var(--paper-2)) !important;
  border-radius:999px !important;
  padding:4px 10px !important;
}
.flip .right .summary-paras{
  display:flex !important;
  flex-direction:column;
  gap:10px !important;
}
.flip .right .summary-para{
  color:var(--ink-soft);
}
.flip .right .summary-lead{
  display:block;
  padding:14px 15px;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--paper-2) 90%,#fff 10%);
  color:var(--ink);
  font-weight:680;
  box-shadow:0 8px 22px rgba(15,23,42,.055);
}
.flip .right .summary-point{
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:0 2px;
}
.flip .right .summary-point + .summary-point{
  padding-top:10px !important;
  border-top:1px solid color-mix(in srgb,var(--line) 56%,transparent) !important;
}
.flip .right .summary-dot{
  width:7px;
  height:7px;
  margin-top:.72em;
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent2) 10%,transparent);
}
.flip .right p .kw-hi,
.flip .right span .kw-hi,
.flip .right div .kw-hi{
  background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--accent) 18%,transparent) 0) !important;
  color:color-mix(in srgb,var(--accent) 88%,var(--ink) 12%) !important;
  font-weight:900 !important;
  padding:0 .08em !important;
  border-radius:0 !important;
}
.flip .right .partner-hi{
  background:linear-gradient(180deg,transparent 56%,color-mix(in srgb,var(--accent2) 20%,transparent) 0) !important;
  color:color-mix(in srgb,var(--accent2) 82%,var(--ink) 18%) !important;
  font-weight:950 !important;
  border-radius:0 !important;
}
.flip .right .date-hi,
.flip .right .num-hi{
  border-radius:0 !important;
}
/* v26.9 — editorial inline highlights.
   Avoid browser-default yellow mark blocks; use quiet emphasis that works on
   story cards, mobile cards, AI summaries, and reader full text. */
mark.kw-hi,
mark.partner-hi,
mark.date-hi,
mark.num-hi,
mark.metric-hi{
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  background:transparent;
  color:inherit;
  border-radius:0;
  padding:0 .08em;
}
mark.kw-hi{
  color:color-mix(in srgb,var(--accent) 88%,var(--ink) 12%);
  font-weight:900;
  background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--accent) 18%,transparent) 0);
  text-shadow:0 1px 0 color-mix(in srgb,var(--paper) 38%,transparent);
}
mark.partner-hi{
  color:color-mix(in srgb,var(--accent2) 82%,var(--ink) 18%);
  font-weight:950;
  letter-spacing:.005em;
  background:linear-gradient(180deg,transparent 56%,color-mix(in srgb,var(--accent2) 20%,transparent) 0);
  text-shadow:0 1px 0 color-mix(in srgb,var(--paper) 34%,transparent);
}
mark.date-hi{
  color:color-mix(in srgb,#2563eb 82%,var(--ink) 18%);
  font-weight:880;
  background:linear-gradient(180deg,transparent 62%,color-mix(in srgb,#3b82f6 16%,transparent) 0);
}
mark.num-hi,
mark.metric-hi{
  color:color-mix(in srgb,#c05621 84%,var(--ink) 16%);
  font-weight:950;
  letter-spacing:.005em;
  background:linear-gradient(180deg,transparent 60%,color-mix(in srgb,#f97316 16%,transparent) 0);
  border-bottom:1px solid color-mix(in srgb,#f97316 28%,transparent);
}
.mobile-story-deck mark,
.mobile-story-bullets mark,
.card .deck mark,
.hero .deck mark,
.t8-deck mark,
.look-card mark,
.sunday-pick mark{
  color:inherit;
  text-shadow:none;
}
.mobile-story-deck mark.kw-hi,
.mobile-story-bullets mark.kw-hi,
.card .deck mark.kw-hi,
.hero .deck mark.kw-hi,
.t8-deck mark.kw-hi{
  color:#ff6b86;
}
.mobile-story-deck mark.partner-hi,
.mobile-story-bullets mark.partner-hi,
.card .deck mark.partner-hi,
.hero .deck mark.partner-hi,
.t8-deck mark.partner-hi{
  color:#7dd3fc;
}
.mobile-story-deck mark.date-hi,
.mobile-story-bullets mark.date-hi,
.card .deck mark.date-hi,
.hero .deck mark.date-hi,
.t8-deck mark.date-hi{
  color:#93c5fd;
}
.mobile-story-deck mark.num-hi,
.mobile-story-deck mark.metric-hi,
.mobile-story-bullets mark.num-hi,
.mobile-story-bullets mark.metric-hi,
.card .deck mark.num-hi,
.card .deck mark.metric-hi,
.hero .deck mark.num-hi,
.hero .deck mark.metric-hi,
.t8-deck mark.num-hi,
.t8-deck mark.metric-hi{
  color:#f8b26a;
}
.ai-brief-card{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ai-brief-overall{
  display:grid;
  gap:10px;
  padding:15px 16px 16px;
  border:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  border-radius:18px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 94%,#fff 6%),color-mix(in srgb,var(--paper-2) 98%,#fff 2%));
  color:var(--ink);
  font-weight:610;
  line-height:1.72;
  box-shadow:0 10px 26px rgba(15,23,42,.055);
}
.ai-brief-review-text{
  font-size:1.04em;
  letter-spacing:0;
}
.ai-brief-review-text p{
  margin:0;
}
.ai-brief-review-text p + p{
  margin-top:.82em;
  padding-top:.82em;
  border-top:1px solid color-mix(in srgb,var(--line) 54%,transparent);
}
.ai-brief-review-label{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:6px;
  padding:4px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent2) 10%,transparent);
  color:color-mix(in srgb,var(--accent2) 78%,var(--ink) 22%);
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif);
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.1em;
  line-height:1.2;
  text-transform:uppercase;
}
.ai-brief-eyebrow,
.ai-brief-title{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif);
  font-size:10.5px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--accent2) 76%,var(--ink) 24%);
}
.ai-brief-section{
  display:grid;
  gap:8px;
  padding:0 1px 12px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent);
}
.ai-brief-section:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.ai-brief-section p{
  margin:0;
  color:var(--ink-soft);
  line-height:1.68;
}
.ai-brief-keybox{
  display:grid;
  gap:12px;
  padding:14px 15px 15px;
  border:1px solid color-mix(in srgb,#2563eb 34%,var(--line));
  border-radius:17px;
  background:
    radial-gradient(460px 180px at 0% 0%,color-mix(in srgb,#2563eb 18%,transparent),transparent 72%),
    linear-gradient(180deg,color-mix(in srgb,#2563eb 10%,var(--paper-2)),color-mix(in srgb,#0ea5e9 5%,var(--paper-2)));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20);
}
.ai-brief-key-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:2px;
}
.ai-brief-key-title{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:color-mix(in srgb,#3b82f6 76%,var(--ink) 24%);
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif);
  font-size:10.5px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ai-brief-key-title::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:linear-gradient(135deg,#3b82f6,#0ea5e9);
  box-shadow:0 0 0 4px color-mix(in srgb,#3b82f6 10%,transparent);
}
.ai-brief-key-note{
  color:var(--muted);
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif);
  font-size:10.5px;
  font-weight:820;
  white-space:nowrap;
}
.ai-brief-points{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.ai-brief-points li{
  position:relative;
  padding-left:18px;
  color:var(--ink-soft);
  line-height:1.68;
}
.ai-brief-points li::before{
  content:"";
  position:absolute;
  left:1px;
  top:.68em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent2) 10%,transparent);
}
.ai-brief-insights{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.ai-brief-insight{
  display:grid;
  grid-template-columns:auto minmax(68px, .28fr) minmax(0,1fr);
  gap:10px;
  align-items:flex-start;
  padding:12px 0;
  border-top:1px solid color-mix(in srgb,#3b82f6 16%,var(--line));
  color:var(--ink-soft);
  line-height:1.58;
}
.ai-brief-insight.unlabeled{
  grid-template-columns:auto minmax(0,1fr);
}
.ai-brief-insight:first-child{border-top:0;padding-top:0}
.ai-brief-insight:last-child{
  padding-bottom:0;
}
.ai-brief-bullet{
  display:inline-block;
  width:8px;
  height:8px;
  margin-top:.62em;
  border-radius:999px;
  background:linear-gradient(135deg,#3b82f6,#0ea5e9);
  box-shadow:0 0 0 4px color-mix(in srgb,#3b82f6 10%,transparent);
}
.ai-brief-insight-label{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  width:max-content;
  margin:.18em 0 0;
  padding:3px 8px;
  border-radius:999px;
  background:color-mix(in srgb,#3b82f6 10%,transparent);
  color:color-mix(in srgb,#2563eb 82%,var(--ink) 18%);
  font-size:.72em;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.25;
  vertical-align:middle;
}
.ai-brief-insight-body{
  min-width:0;
  display:grid;
  align-items:flex-start;
  gap:3px;
}
.ai-brief-insight-text{
  min-width:0;
  color:var(--ink);
  display:block;
  line-height:1.58;
}
.ai-brief-insight.info .ai-brief-insight-label{
  color:color-mix(in srgb,#2563eb 80%,var(--ink) 20%);
}
.ai-brief-insight.number .ai-brief-insight-label{
  color:color-mix(in srgb,var(--accent) 84%,var(--ink) 16%);
}
.ai-brief-insight.implication .ai-brief-insight-label{
  color:color-mix(in srgb,#2563eb 78%,var(--ink) 22%);
}
.ai-brief-insight.timing .ai-brief-insight-label{
  color:color-mix(in srgb,#0ea5e9 78%,var(--ink) 22%);
}
.ai-brief-chiprow{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.ai-brief-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:5px 9px;
  border:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper-2) 88%,var(--pill) 12%);
  color:var(--ink-soft);
  font-size:.78em;
  line-height:1.35;
  font-weight:760;
}
.ai-brief-chip.number{
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  background:color-mix(in srgb,var(--accent) 9%,var(--paper-2));
  color:color-mix(in srgb,var(--accent) 82%,var(--ink) 18%);
}
.ai-brief-chip.entity{
  border-color:color-mix(in srgb,var(--accent2) 24%,var(--line));
  background:color-mix(in srgb,var(--accent2) 9%,var(--paper-2));
}
.ai-brief-chip.timeline{
  border-radius:12px;
}
.ai-brief-meta{
  display:grid;
  gap:6px;
  padding:10px 12px;
  border-radius:16px;
  background:color-mix(in srgb,var(--pill) 42%,transparent);
  color:var(--muted);
  font-size:.78em;
  line-height:1.45;
}
.ai-brief-meta b{
  color:var(--ink-soft);
}
.flip .right .modal-source-block{
  margin-top:0 !important;
  padding:14px 16px !important;
  border:1px solid var(--line) !important;
  border-radius:18px;
  background:color-mix(in srgb,var(--paper-2) 94%,transparent) !important;
}
.flip .right .modal-source-block h4{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif) !important;
  font-size:11px !important;
  font-style:normal !important;
  letter-spacing:.12em !important;
}
.flip .right .src-link{
  font-size:14px !important;
  font-weight:850 !important;
}

[data-layout="list"] .grid .card,
[data-layout="list"] .region-grid .t8-card{
  border-radius:18px !important;
  border-color:color-mix(in srgb,var(--line) 82%,transparent) !important;
  box-shadow:0 8px 24px rgba(15,23,42,.055) !important;
}
[data-layout="list"] .grid .card h3,
[data-layout="list"] .region-grid .t8-title{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif) !important;
  font-size:18px !important;
  line-height:1.28 !important;
  font-weight:850 !important;
}
[data-layout="list"] .grid .card .deck,
[data-layout="list"] .region-grid .t8-deck{
  color:var(--muted);
  font-size:13.5px !important;
  line-height:1.52 !important;
}
.region-section-head{
  border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent) !important;
}
.region-section-title{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif) !important;
  font-size:clamp(28px,3vw,42px) !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}
.region-section-sub{
  font-family:var(--sans,'Inter','Noto Sans SC',system-ui,sans-serif) !important;
  font-size:16px !important;
  font-style:normal !important;
}
@media(max-width:700px){
  .modal.show .flip{
    grid-template-rows:minmax(210px,34svh) minmax(0,1fr)!important;
  }
  .modal.show .flip .left .cap{
    padding:14px 52px 16px 18px!important;
  }
  .modal.show .flip .right{
    padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px))!important;
    gap:12px !important;
  }
  .flip .right .modal-summary-block{
    padding:14px !important;
    border-radius:20px;
  }
  .modal-summary-head{
    align-items:center !important;
    padding-bottom:9px !important;
  }
  .modal-font-tools{
    position:static !important;
    flex:0 0 auto;
  }
  .flip .right #mDeck{
    font-size:clamp(16px, calc(15px * var(--user-font-scale, 1) * var(--modal-recap-scale, 1)), 19px)!important;
    line-height:1.66!important;
  }
  .flip .right .summary-lead{
    padding:12px;
    border-radius:16px;
  }
  .flip .right .summary-point{
    grid-template-columns:14px minmax(0,1fr);
    gap:7px;
  }
  .ai-brief-card{
    gap:12px;
  }
  .ai-brief-overall{
    padding:13px;
    border-radius:16px;
  }
  .ai-brief-section{
    gap:7px;
    padding-bottom:10px;
  }
  .ai-brief-keybox{
    padding:13px !important;
    border-radius:16px;
  }
  .ai-brief-key-head{
    align-items:flex-start;
  }
  .ai-brief-key-note{
    display:none;
  }
  .ai-brief-insights{
    gap:0;
  }
  .ai-brief-insight{
    grid-template-columns:1fr;
    gap:6px;
    padding:10px 0;
  }
  .ai-brief-insight-body{
    display:grid;
    gap:3px;
  }
  .ai-brief-insight-label{
    margin:0;
    vertical-align:baseline;
  }
  .ai-brief-chip{
    font-size:.76em;
    padding:4px 8px;
  }
  .region-section-title{
    font-size:30px !important;
  }
  .region-section-sub{
    font-size:15px !important;
  }
}

/* v25.2 — Professor/command bar professional layout pass.
   Uses proximity grouping, predictable touch targets, readable labels, and one
   contained AI summary card. This final layer intentionally outranks older
   toolbar media rules that fought each other across skins and layouts. */
:root{
  --command-gap:10px;
  --command-h:46px;
  --command-r:16px;
  --command-bg:color-mix(in srgb,var(--paper-2) 90%,transparent);
  --command-panel:color-mix(in srgb,var(--paper-2) 78%,var(--paper) 22%);
  --command-border:color-mix(in srgb,var(--line) 76%,transparent);
}
.masthead,
.toolbar{
  font-family:var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif) !important;
}
.brand h1{
  letter-spacing:-.035em !important;
}
.brand .tag,
.meta,
.chip,
.icon-btn,
.search input{
  letter-spacing:0 !important;
}
.toolbar{
  grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr) !important;
  padding:18px !important;
  gap:16px 20px !important;
  border-radius:24px !important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 94%,transparent),color-mix(in srgb,var(--paper) 82%,transparent)) !important;
}
.toolbar .chips{
  align-self:start !important;
  gap:8px !important;
}
.toolbar .chip{
  min-height:38px !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:780 !important;
  letter-spacing:0 !important;
  background:var(--command-bg) !important;
}
.toolbar .chip.active{
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 76%,var(--ink) 24%)) !important;
  color:#fff !important;
  border-color:transparent !important;
}
.toolbar .chip .chip-count{
  font-variant-numeric:tabular-nums;
}
.toolbar .tools.command-bar{
  display:grid !important;
  grid-template-columns:max-content minmax(0,1fr);
  gap:var(--command-gap) !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  width:100%;
  min-width:0;
}
.tool-cluster{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border:1px solid var(--command-border);
  border-radius:calc(var(--command-r) + 4px);
  background:var(--command-panel);
  box-shadow:0 1px 0 rgba(255,255,255,.46) inset;
}
.tool-cluster-search{
  grid-column:1 / -1;
  grid-row:1;
  display:grid;
  grid-template-columns:var(--command-h) auto minmax(0,1fr);
  gap:8px;
  padding:0;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.tool-cluster-search .profile-wrap{
  grid-column:1;
  grid-row:1;
}
.tool-cluster-search .account-status-chip{
  grid-column:2;
  grid-row:1;
}
.tool-cluster-search .search{
  grid-column:3;
  grid-row:1;
  order:0 !important;
}
.tool-cluster-actions,
.tool-cluster-display{
  justify-content:flex-end;
}
.tool-cluster-actions{
  grid-column:1;
  grid-row:2;
}
.tool-cluster-display{
  grid-column:2;
  grid-row:2;
  justify-content:flex-start;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.tool-cluster-display::-webkit-scrollbar{display:none}
.toolbar .tool-cluster .profile-wrap,
.toolbar .tool-cluster .lang-wrap,
.toolbar .tool-cluster .picker-wrap{
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  flex:0 0 auto !important;
}
.toolbar .search{
  min-height:var(--command-h) !important;
  height:var(--command-h) !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:none !important;
  padding:0 15px !important;
  border-radius:18px !important;
  background:var(--command-bg) !important;
}
.toolbar .search-icon{
  font-size:18px !important;
  width:18px !important;
}
.toolbar .search input{
  font-size:15.5px !important;
  font-weight:520 !important;
}
.toolbar .tool-cluster .icon-btn{
  width:auto !important;
  min-width:var(--command-h) !important;
  height:var(--command-h) !important;
  padding:0 12px !important;
  border-radius:14px !important;
  border-color:transparent !important;
  background:transparent !important;
  color:var(--ink) !important;
  font-size:14px !important;
  font-weight:860 !important;
  box-shadow:none !important;
}
.toolbar .tool-cluster .icon-btn:hover,
.toolbar .tool-cluster .icon-btn.active{
  background:color-mix(in srgb,var(--accent) 12%,var(--paper-2)) !important;
  color:var(--accent) !important;
  transform:none !important;
  box-shadow:none !important;
}
.toolbar .tool-cluster .icon-btn::after{
  content:attr(data-label);
  display:inline-block !important;
  margin-left:7px;
  font-size:12.5px;
  font-weight:820;
  line-height:1;
  color:currentColor;
  white-space:nowrap;
}
.toolbar #profileBtn::after{
  display:none !important;
}
.toolbar .tool-cluster-display .icon-btn{
  width:var(--command-h) !important;
  min-width:var(--command-h) !important;
  padding:0 !important;
}
.toolbar .tool-cluster-actions .icon-btn{
  width:var(--command-h) !important;
  min-width:var(--command-h) !important;
  padding:0 !important;
}
.toolbar .tool-cluster-actions .icon-btn::after,
.toolbar .tool-cluster-display .icon-btn::after{
  display:none !important;
}
.toolbar #profileAvatar{
  width:30px !important;
  height:30px !important;
  font-size:12.5px !important;
}
.toolbar #sourcesBtn,
.toolbar #briefBtn{
  letter-spacing:0 !important;
  font-size:12px !important;
}
.toolbar .font-group{
  min-width:134px !important;
  height:var(--command-h) !important;
  border:0 !important;
  background:transparent !important;
  padding:3px 8px !important;
  border-radius:14px !important;
}
.toolbar .font-group:hover{
  background:color-mix(in srgb,var(--accent) 7%,var(--paper-2)) !important;
}
.toolbar .font-group::before{
  content:"Text" !important;
  font-size:11px !important;
  font-weight:850 !important;
  color:var(--muted) !important;
  letter-spacing:.02em !important;
}
.toolbar .font-group .icon-btn{
  min-width:30px !important;
  width:30px !important;
  height:30px !important;
  padding:0 !important;
  border-radius:10px !important;
}
.toolbar .font-group .icon-btn::after{
  content:"" !important;
  display:none !important;
}
.toolbar #fontLabel{
  min-width:34px !important;
  font-size:12.5px !important;
  font-weight:900 !important;
}

.flip .right .modal-summary-block{
  display:flex !important;
  flex-direction:column;
  max-height:min(54vh,460px);
  min-height:0;
}
.flip .right #mDeck.modal-summary-content{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:6px;
}
.flip .right #mDeck.modal-summary-content::-webkit-scrollbar{
  width:8px;
}
.flip .right #mDeck.modal-summary-content::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:color-mix(in srgb,var(--accent2) 30%,var(--line));
}

@media(max-width:1280px){
  .toolbar{
    grid-template-columns:1fr !important;
  }
  .toolbar .chips{
    grid-column:1 !important;
    grid-row:2 !important;
  }
  .toolbar .tools.command-bar{
    grid-column:1 !important;
    grid-row:1 !important;
    grid-template-columns:minmax(0,1fr);
  }
  .tool-cluster-actions,
  .tool-cluster-display{
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .tool-cluster-actions::-webkit-scrollbar,
  .tool-cluster-display::-webkit-scrollbar{display:none}
}
@media(max-width:760px){
  :root{--command-h:44px}
  .masthead,
  .toolbar,
  .filterbar.open,
  .statbar,
  .viewtabs,
  .wrap,
  .footer,
  .refresh-banner{
    width:calc(100vw - 24px) !important;
  }
  .toolbar{
    padding:12px !important;
    border-radius:20px !important;
    gap:12px !important;
  }
  .toolbar .tools.command-bar{
    display:flex !important;
    flex-direction:column;
    gap:8px !important;
  }
  .tool-cluster{
    width:100%;
    padding:5px;
    border-radius:18px;
  }
  .tool-cluster-search{
    display:grid;
    grid-template-columns:var(--command-h) minmax(0,1fr);
    gap:8px;
  }
  .tool-cluster-search .profile-wrap{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .tool-cluster-search .account-status-chip{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100%;
  }
  .tool-cluster-search .search{
    grid-column:2 !important;
    grid-row:1 !important;
    order:0 !important;
    width:100% !important;
  }
  .tool-cluster-actions,
  .tool-cluster-display{
    display:flex;
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 22px),transparent 100%);
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 22px),transparent 100%);
  }
  .tool-cluster-actions::-webkit-scrollbar,
  .tool-cluster-display::-webkit-scrollbar{
    display:none;
  }
  .toolbar .tool-cluster .profile-wrap,
  .toolbar .tool-cluster .lang-wrap,
  .toolbar .tool-cluster .picker-wrap{
    width:100% !important;
    min-width:0 !important;
  }
  .toolbar .tool-cluster-search .profile-wrap,
  .toolbar .tool-cluster-display .lang-wrap,
  .toolbar .tool-cluster-display .picker-wrap{
    flex:0 0 var(--command-h) !important;
    width:var(--command-h) !important;
    min-width:var(--command-h) !important;
  }
  .toolbar .tool-cluster .icon-btn{
    flex:0 0 var(--command-h) !important;
    width:var(--command-h) !important;
    min-width:var(--command-h) !important;
    height:var(--command-h) !important;
    padding:0 !important;
    border-radius:13px !important;
  }
  .toolbar .tool-cluster .icon-btn::after{
    display:none !important;
  }
  .toolbar .search{
    width:100% !important;
    min-height:var(--command-h) !important;
    height:var(--command-h) !important;
  }
  .toolbar .font-group{
    flex:0 0 104px !important;
    width:104px !important;
    min-width:104px !important;
    justify-content:center;
    padding:3px 4px !important;
  }
  .toolbar .font-group .icon-btn{
    flex:0 0 28px !important;
    width:28px !important;
    min-width:28px !important;
    height:28px !important;
    padding:0 !important;
  }
  .toolbar .font-group::before{
    display:none !important;
  }
  .toolbar #langBtn,
  .toolbar #briefBtn,
  .toolbar #sourcesBtn,
  .toolbar #skinBtn,
  .toolbar #styleBtn,
  .toolbar #themeBtn{
    display:inline-flex !important;
  }
  .toolbar .chips{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:1px 2px 7px !important;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 24px),transparent 100%);
  }
  .toolbar .chip{
    flex:0 0 auto !important;
    min-height:38px !important;
    font-size:12.5px !important;
  }
  .flip .right .modal-summary-block{
    max-height:48svh;
  }
}
@media(max-width:420px){
  :root{--command-h:42px}
  .toolbar{
    width:calc(100vw - 20px) !important;
    padding:10px !important;
  }
  .tool-cluster-actions,
  .tool-cluster-display{
    gap:5px;
  }
  .toolbar .search input{
    font-size:14px !important;
  }
  .toolbar .chip{
    font-size:12px !important;
    padding:8px 11px !important;
  }
}

/* v25.6 — Reference reader shell inspired by subscription-reader apps.
   This is now the primary surface across normal browser widths: compact search,
   source icons, one settings entry point, and three feed-depth modes. */
.mobile-reader-shell,
.mobile-settings-mask,
.mobile-settings-sheet,
.notification-mask,
.notification-sheet,
.mobile-read-toggle,
.mobile-bottom-nav{
  display:none;
}
@media(min-width:0){
  body{
    --mobile-shell-w:min(calc(100vw - 18px), 560px);
    --bg:#121212;
    --paper:#202124;
    --paper-2:#242528;
    --ink:#f5f5f5;
    --ink-soft:#d6d6d6;
    --muted:#8f949b;
    --accent:#0a84ff;
    --accent2:#22c55e;
    --gold:#f59e0b;
    --line:rgba(255,255,255,.08);
    --chip:#25262a;
    --pill:#2b2c31;
    background:#121212 !important;
    color:var(--ink) !important;
    zoom:1 !important;
  }
  html{
    background:#121212 !important;
  }
  .masthead{
    display:none !important;
  }
  .toolbar{
    display:none !important;
  }
  .filterbar.open{
    margin-top:8px !important;
  }
  @media(max-width:720px){
    .filterbar.open{
      position:fixed !important;
      top:calc(12px + env(safe-area-inset-top,0px)) !important;
      left:12px !important;
      right:12px !important;
      bottom:calc(88px + env(safe-area-inset-bottom,0px)) !important;
      z-index:9395 !important;
      width:auto !important;
      max-width:none !important;
      max-height:none !important;
      margin:0 !important;
      padding:14px !important;
      overflow:auto !important;
      border:1px solid var(--line) !important;
      border-radius:22px !important;
      background:#202124 !important;
      box-shadow:0 28px 80px rgba(0,0,0,.36) !important;
      -webkit-overflow-scrolling:touch;
    }
  }
  .statbar{
    display:none !important;
  }
  .viewtabs{
    display:none !important;
  }
  .wrap{
    display:none !important;
  }
  .footer{
    display:none !important;
  }
  .view-header{
    display:none !important;
  }
  .view-title{
    font-size:24px !important;
    line-height:1.1 !important;
    letter-spacing:-.02em !important;
  }
  .layout-switcher{
    display:none !important;
  }
  .mobile-reader-shell{
    --mobile-system-text-scale:1.14;
    --mobile-system-icon-scale:1.14;
    --mobile-system-touch-scale:1.12;
    display:block;
    width:var(--mobile-shell-w);
    max-width:calc(100vw - 12px);
    margin:max(8px, env(safe-area-inset-top,0px)) auto 4px;
    padding:0;
    position:relative;
    font-family:var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif);
  }
  .mobile-reader-shell button,
  .mobile-reader-shell input{
    font-family:var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif);
  }
  .mobile-reader-top{
    display:grid;
    grid-template-columns:minmax(72px,1fr) 58px 58px 58px auto;
    gap:6px;
    align-items:center;
    width:100%;
    min-width:0;
    min-height:40px;
    padding-right:0;
    position:relative;
    overflow:visible;
    box-sizing:border-box;
  }
  html.native-shell .mobile-reader-shell{
    overflow-x:clip;
  }
  .mobile-search-pill{
    flex:none;
    max-width:none;
    min-width:0;
    min-height:40px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:999px;
    background:#202124;
    box-shadow:none;
    grid-column:1;
    transition:grid-column .18s ease, box-shadow .18s ease, border-color .18s ease;
    cursor:text;
    position:relative;
    z-index:5;
    touch-action:manipulation;
  }
  .mobile-reader-top.search-expanded{
    grid-template-columns:minmax(0,1fr);
  }
  .mobile-reader-top.search-expanded .mobile-search-pill{
    grid-column:1 / -1;
    border-color:rgba(10,132,255,.32);
    box-shadow:0 10px 28px rgba(0,0,0,.20);
  }
  .mobile-reader-top.search-expanded #mobileDensityBtn,
  .mobile-reader-top.search-expanded #mobileSettingsBtn,
  .mobile-reader-top.search-expanded #mobileAccountBtn,
  .mobile-reader-top.search-expanded #mobileRailModeRow{
    display:none;
  }
  .mobile-top-icon{
    width:23px;
    height:23px;
    display:grid;
    place-items:center;
    color:var(--muted);
    flex:0 0 auto;
  }
  .mobile-top-icon svg{
    width:23px;
    height:23px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2.15;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-search-pill input{
    min-width:0;
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ink);
    font:700 15px/1.2 var(--sans,'Inter',system-ui,sans-serif);
    position:relative;
    z-index:6;
    -webkit-user-select:text;
    user-select:text;
    touch-action:manipulation;
  }
  .mobile-pill-btn{
    flex:none;
    width:100%;
    min-width:0;
    min-height:40px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:999px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    background:#202124;
    color:var(--ink);
    font:900 12.5px/1 var(--sans,'Inter',system-ui,sans-serif);
    box-shadow:none;
    cursor:pointer;
  }
  #mobileDensityBtn{
    width:100%;
    grid-column:2;
    gap:5px;
    padding:0 8px;
  }
  #mobileSettingsBtn{
    width:100%;
    gap:5px;
    padding:0 8px;
    grid-column:3;
  }
  #mobileAccountBtn{
    width:100%;
    gap:5px;
    padding:0 8px;
    grid-column:4;
    border-color:rgba(10,132,255,.22);
    background:linear-gradient(180deg,rgba(10,132,255,.13),#202124 92%);
  }
  #mobileAccountBtn.signed-in{
    border-color:rgba(34,197,94,.28);
    background:linear-gradient(180deg,rgba(34,197,94,.14),#202124 92%);
  }
  #mobileAccountBtn .account-mini-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#0a84ff;
    box-shadow:0 0 0 3px rgba(10,132,255,.15);
    flex:0 0 auto;
  }
  #mobileAccountBtn.signed-in .account-mini-dot{
    background:#22c55e;
    box-shadow:0 0 0 3px rgba(34,197,94,.15);
  }
  #mobileDensityLabel{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
  #mobileDensityMode{
    max-width:42px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--ink);
    font:900 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  #mobileSettingsLabel{
    display:block;
    max-width:34px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--ink);
    font:900 11.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  #mobileAccountLabel{
    display:block;
    max-width:34px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--ink);
    font:900 11.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-pill-btn.active{
    background:var(--accent);
    border-color:transparent;
    color:#fff;
  }
  .mobile-source-rail{
    display:flex;
    gap:13px;
    overflow-x:auto;
    overflow-y:visible;
    align-items:flex-start;
    min-height:86px;
    max-height:104px;
    padding:16px 13px 14px;
    margin:11px 0 0;
    border:1px solid rgba(255,255,255,.065);
    border-bottom:0;
    border-radius:22px 22px 0 0;
    background:#202124;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);
    mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 28px),transparent 100%);
  }
  .mobile-source-rail:empty::before{
    content:"載入來源";
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:94px;
    height:55px;
    border-radius:18px;
    color:rgba(245,245,245,.56);
    background:rgba(255,255,255,.035);
    font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-rail-mode-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    padding:0;
    grid-column:5;
    min-width:0;
  }
  .mobile-rail-mode-label{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
  .mobile-rail-mode-toggle{
    display:inline-flex;
    align-items:center;
    gap:2px;
    padding:3px;
    min-height:40px;
    border-radius:999px;
    background:#202124;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  }
  .mobile-rail-mode-toggle button{
    min-height:32px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#9ca3af;
    padding:0 10px;
    font:900 11.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    white-space:nowrap;
    cursor:pointer;
  }
  .mobile-rail-mode-toggle button.active{
    background:#0a84ff;
    color:#fff;
    box-shadow:0 6px 18px rgba(10,132,255,.22);
  }
  .mobile-source-rail::-webkit-scrollbar{
    display:none;
  }
  .mobile-source-chip{
    position:relative;
    flex:0 0 64px;
    width:64px;
    border:0;
    background:transparent;
    color:var(--muted);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    scroll-snap-align:start;
    cursor:pointer;
    padding:0;
  }
  .mobile-source-chip:active .mobile-source-avatar{
    transform:scale(.96);
  }
  .mobile-source-avatar{
    width:55px;
    height:55px;
    border-radius:18px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(135deg,var(--source-a,#1d4ed8),var(--source-b,#60a5fa));
    color:#fff;
    font:950 14.5px/1 var(--sans,'Inter',system-ui,sans-serif);
    letter-spacing:-.02em;
    box-shadow:none;
    position:relative;
    overflow:visible;
    transition:transform .15s ease, box-shadow .15s ease, outline-color .15s ease;
  }
  .mobile-source-avatar.is-all{
    background:#f8fafc;
    color:#0a84ff;
  }
  .mobile-source-avatar.has-logo{
    background:#f8fafc;
    color:#0f172a;
  }
  .mobile-source-avatar.is-brand{
    text-transform:none;
  }
  .mobile-source-mark{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    color:inherit;
    font:950 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:-.04em;
  }
  .mobile-source-avatar.brand-all{
    background:#f8fafc;
    color:#111827;
  }
  .mobile-source-avatar.brand-hk01{
    background:linear-gradient(145deg,#f43f5e,#be123c);
    color:#fff;
  }
  .mobile-source-avatar.brand-google{
    background:#f8fafc;
    color:#2563eb;
  }
  .mobile-source-avatar.brand-scmp{
    background:linear-gradient(145deg,#111827,#334155);
    color:#f8fafc;
  }
  .mobile-source-avatar.brand-hket{
    background:linear-gradient(145deg,#0f766e,#14b8a6);
    color:#fff;
  }
  .mobile-source-avatar.brand-pymnts{
    background:linear-gradient(145deg,#0f172a,#475569);
    color:#fff;
  }
  .mobile-source-avatar.brand-36kr{
    background:linear-gradient(145deg,#2563eb,#60a5fa);
    color:#fff;
  }
  .mobile-source-avatar.brand-bloomberg{
    background:linear-gradient(145deg,#111827,#64748b);
    color:#fff;
  }
  .mobile-source-avatar.brand-techinasia{
    background:linear-gradient(145deg,#dc2626,#f97316);
    color:#fff;
  }
  .mobile-source-avatar.brand-techcrunch{
    background:linear-gradient(145deg,#16a34a,#22c55e);
    color:#fff;
  }
  .mobile-source-avatar.brand-nikkei{
    background:linear-gradient(145deg,#ea580c,#facc15);
    color:#111827;
  }
  .mobile-source-avatar.brand-yahoo{
    background:linear-gradient(145deg,#5b21b6,#a855f7);
    color:#fff;
  }
  .mobile-source-avatar.category-avatar{
    background:
      radial-gradient(circle at 68% 18%,color-mix(in srgb,var(--source-a,#38bdf8) 24%,transparent),transparent 34%),
      linear-gradient(145deg,color-mix(in srgb,var(--source-a,#38bdf8) 16%,#111827),#151923 58%,#0b1120);
    color:#e5edf7;
    border-color:color-mix(in srgb,var(--source-a,#38bdf8) 54%,rgba(255,255,255,.12));
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.035),
      inset 0 -12px 22px rgba(0,0,0,.22),
      0 10px 22px color-mix(in srgb,var(--source-a,#38bdf8) 12%,transparent);
  }
  .mobile-source-avatar.category-avatar::before{
    content:"";
    position:absolute;
    left:7px;
    right:7px;
    bottom:6px;
    height:2px;
    border-radius:999px;
    background:var(--source-a,#38bdf8);
    opacity:.9;
  }
  .mobile-source-avatar.category-avatar .mobile-source-mark{
    font-size:0;
  }
  .mobile-category-glyph{
    position:relative;
    z-index:1;
    width:31px;
    height:31px;
    display:block;
    color:var(--source-a,#38bdf8);
    filter:drop-shadow(0 0 10px color-mix(in srgb,var(--source-a,#38bdf8) 28%,transparent));
  }
  .mobile-category-glyph .soft{
    opacity:.36;
    color:currentColor;
  }
  .mobile-category-glyph text{
    fill:currentColor;
    font:900 9px/1 var(--sans,'Inter',system-ui,sans-serif);
    letter-spacing:-.04em;
  }
  .mobile-source-avatar.brand-unwire{
    background:linear-gradient(145deg,#0284c7,#06b6d4);
    color:#fff;
  }
  .mobile-source-avatar.brand-macau{
    background:linear-gradient(145deg,#047857,#10b981);
    color:#fff;
  }
  .mobile-source-avatar.brand-reuters{
    background:linear-gradient(145deg,#f97316,#fb923c);
    color:#111827;
  }
  .mobile-source-avatar.brand-marketwatch,
  .mobile-source-avatar.brand-theblock,
  .mobile-source-avatar.brand-cointelegraph{
    background:linear-gradient(145deg,#18181b,#52525b);
    color:#fff;
  }
  .mobile-source-avatar.has-logo{
    background:#f8fafc;
    color:#0f172a;
  }
  .mobile-source-avatar.is-brand.has-logo img{
    width:34px;
    height:34px;
    border-radius:10px;
  }
  .mobile-source-avatar.brand-google .mobile-source-mark{
    font-size:26px;
    color:#2563eb;
  }
  .mobile-source-avatar.brand-hk01 .mobile-source-mark,
  .mobile-source-avatar.brand-36kr .mobile-source-mark{
    font-size:14.5px;
    letter-spacing:-.08em;
  }
  .mobile-source-avatar.brand-scmp .mobile-source-mark,
  .mobile-source-avatar.brand-pymnts .mobile-source-mark,
  .mobile-source-avatar.brand-bloomberg .mobile-source-mark{
    font-size:15.5px;
  }
  .mobile-source-avatar img{
    width:32px;
    height:32px;
    object-fit:contain;
    position:relative;
    z-index:1;
    border-radius:8px;
    background:#f8fafc;
  }
  .mobile-source-book{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
  }
  .mobile-source-book svg{
    width:25px;
    height:25px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-source-fallback{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#0f172a;
    font:950 13.5px/1 var(--sans,'Inter',system-ui,sans-serif);
    z-index:0;
  }
  .mobile-source-avatar::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 56%);
    pointer-events:none;
  }
  .mobile-source-chip.active .mobile-source-avatar{
    outline:2px solid #0a84ff;
    outline-offset:3px;
    box-shadow:0 0 0 8px rgba(10,132,255,.15);
  }
  .mobile-source-chip.active{
    color:#0a84ff;
  }
  .mobile-source-chip.active::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-13px;
    transform:translateX(-50%);
    width:0;
    height:0;
    border:0;
    border-left:7px solid transparent;
    border-right:7px solid transparent;
    border-bottom:8px solid #202124;
    border-radius:0;
    background:transparent;
    filter:drop-shadow(0 -1px 0 rgba(255,255,255,.05));
  }
  .mobile-source-name{
    width:100%;
    min-height:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:center;
    font-size:11px;
    line-height:1.05;
    font-weight:820;
    color:#9ca3af;
  }
  .mobile-source-chip.active .mobile-source-name{
    color:#0a84ff;
    font-weight:920;
  }
  .mobile-source-count{
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:-5px;
    top:-5px;
    background:var(--accent);
    color:#fff;
    border:2px solid #121212;
    font:950 9px/1 var(--sans,'Inter',system-ui,sans-serif);
    letter-spacing:-.02em;
    box-shadow:0 2px 8px rgba(0,0,0,.25);
    z-index:4;
  }
  .mobile-source-count.is-dot{
    min-width:10px;
    width:12px;
    height:12px;
    padding:0;
    right:-3px;
    top:-3px;
    background:#0a84ff;
    border:2px solid #202124;
    color:transparent;
    font-size:0;
  }
  .mobile-source-chip.active .mobile-source-count.is-dot{
    background:#fff;
    border-color:#0a84ff;
  }
  .mobile-source-count.is-hidden{
    display:none;
  }
  .mobile-feedbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:11px;
    margin-top:0;
    min-height:56px;
    padding:12px 14px 11px;
    border-radius:0;
    background:#202124;
    border:1px solid rgba(255,255,255,.065);
    border-top:0;
    border-bottom:0;
    box-shadow:none;
  }
  .mobile-feed-selector{
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
    border:0;
    background:transparent;
    color:inherit;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    cursor:pointer;
  }
  .mobile-feed-selector:focus-visible{
    outline:2px solid rgba(10,132,255,.75);
    outline-offset:4px;
    border-radius:12px;
  }
  html[data-mobile-density="compact"] .mobile-feedbar{
    border-radius:0;
  }
  .mobile-feed-title{
    width:100%;
    max-width:100%;
    min-width:0;
    color:var(--ink);
    font:950 17.5px/1.1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    display:flex;
    align-items:center;
    gap:7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-feed-title-text{
    display:block;
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-feed-total-badge{
    flex:0 0 auto;
    border-radius:999px;
    padding:3px 7px;
    background:rgba(10,132,255,.14);
    color:#9fcdff;
    font:950 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:.01em;
  }
  .mobile-feed-title::after{
    content:"⌄";
    margin-left:6px;
    color:#9ca3af;
    font-size:13px;
    font-weight:900;
  }
  .mobile-feed-sub{
    display:block;
    width:100%;
    max-width:100%;
    margin-top:4px;
    color:var(--muted);
    font:760 12px/1.18 var(--sans,'Inter',system-ui,sans-serif);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-feed-actions{
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
  }
  .mobile-feed-actions button{
    min-height:34px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
    background:#2a2b30;
    color:#d7dbe2;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    font:900 11.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    white-space:nowrap;
  }
  .mobile-feed-actions svg{
    width:17px;
    height:17px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-feed-actions button.is-quiet{
    background:transparent;
    border-color:transparent;
    color:#b7bbc3;
  }
  .mobile-feed-actions button.is-playing{
    color:var(--accent);
  }
  .mobile-feed-actions button.has-alerts{
    color:#fff;
    background:linear-gradient(135deg,#ef4444,#c8102e);
    border-color:transparent;
  }
  .mobile-feed-actions button.no-alerts{
    color:#a8adb7;
    background:transparent;
  }
  .mobile-reader-shell .suggestion-banner{
    margin:0;
    border-left-color:rgba(245,158,11,.22);
    border-right-color:rgba(245,158,11,.22);
    border-radius:0;
    background:linear-gradient(135deg,rgba(251,191,36,.18),rgba(245,158,11,.10));
    color:#f8fafc;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  }
  .mobile-reader-shell .suggestion-banner .text{
    min-width:0;
    color:#f6f0df;
    font:780 13px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-reader-shell .suggestion-banner button{
    flex:0 0 auto;
    min-height:30px;
    padding:0 12px;
    border-radius:9px;
    background:var(--accent);
    color:#fff;
    font:900 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  @media(max-width:430px){
    .mobile-feedbar{
      gap:8px;
      padding-left:12px;
      padding-right:12px;
    }
    .mobile-feed-selector{
      flex:1 1 0;
    }
    .mobile-feed-actions{
      gap:4px;
    }
    .mobile-feed-actions #mobilePlayBtn,
    .mobile-feed-actions #mobileMarkReadBtn{
      width:38px;
      min-width:38px;
      padding:0;
      justify-content:center;
    }
    .mobile-feed-actions #mobilePlayBtn span,
    .mobile-feed-actions #mobileMarkReadBtn span{
      position:absolute;
      width:1px;
      height:1px;
      overflow:hidden;
      clip:rect(0 0 0 0);
      clip-path:inset(50%);
      white-space:nowrap;
    }
    .mobile-feed-actions #mobileAlertsBtn{
      min-width:54px;
      justify-content:center;
    }
  }
  @media(max-width:360px){
    .mobile-feed-actions button{
      width:30px;
      min-width:30px;
      padding:0;
      justify-content:center;
    }
    .mobile-feed-actions button span{
      position:absolute;
      width:1px;
      height:1px;
      overflow:hidden;
      clip:rect(0 0 0 0);
      clip-path:inset(50%);
      white-space:nowrap;
    }
  }
  .mobile-feed-list{
    display:block;
    margin-top:0;
    padding-bottom:84px;
  }
  .mobile-top3-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:10px;
    padding:2px 2px 0;
  }
  .mobile-top3-head b{
    font:950 18px/1.1 var(--sans,system-ui,sans-serif);
    letter-spacing:-.15px;
  }
  .mobile-top3-head span{
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:.12em;
    font:900 10px/1 var(--mono,monospace);
  }
  .mobile-top3-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:0 2px 4px;
  }
  .mobile-top3-card{
    min-width:0;
    width:100%;
    box-sizing:border-box;
    border:1px solid var(--line);
    border-radius:18px;
    background:linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 96%,#fff 4%),var(--paper-2));
    padding:13px;
    box-shadow:0 12px 28px rgba(0,0,0,.16);
  }
  .mobile-top3-card small{
    display:block;
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:.12em;
    font:900 10px/1 var(--mono,monospace);
    margin-bottom:8px;
  }
  .mobile-top3-card h3{
    margin:0 0 8px;
    font:900 16px/1.2 var(--sans,system-ui,sans-serif);
  }
  .mobile-top3-card p{
    margin:0 0 10px;
    color:var(--ink-soft);
    font:700 12px/1.45 var(--sans,system-ui,sans-serif);
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mobile-top3-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .mobile-top3-actions .top3-sources[open]{
    grid-column:1 / -1;
    width:100%;
  }
  .mobile-top3-actions button{
    min-height:34px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--chip);
    color:var(--ink);
    padding:7px 10px;
    font:850 12px/1 var(--sans,system-ui,sans-serif);
  }
  .mobile-top3-actions .primary{border-color:transparent;background:var(--accent);color:#fff}
  .highlight-avatar{
    background:#14283d;
    color:#7bbcff;
    border-color:#2d679e;
  }
  .top3-focus-page{display:grid;gap:12px;margin:0 2px 96px}
  .top3-focus-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:4px 2px}
  .top3-focus-intro h2{margin:4px 0 0;font:950 22px/1.12 var(--sans,system-ui,sans-serif);letter-spacing:0}
  .top3-focus-intro p{margin:0;max-width:430px;text-align:right;color:var(--muted);font:700 12px/1.45 var(--sans,system-ui,sans-serif)}
  .top3-focus-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 5px;scrollbar-width:none}
  .top3-focus-tabs::-webkit-scrollbar{display:none}
  .top3-focus-tab{flex:1 0 210px;min-width:0;min-height:62px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink-soft);padding:10px;text-align:left;cursor:pointer}
  .top3-focus-tab.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--paper-2));color:var(--ink)}
  .top3-focus-tab small{display:block;color:var(--accent);font:900 10px/1 var(--mono,monospace);margin-bottom:6px}
  .top3-focus-tab b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:850 13px/1.25 var(--sans,system-ui,sans-serif)}
  .top3-focus-event{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);overflow:hidden}
  .top3-focus-summary{display:flex;flex-direction:column;gap:14px;padding:18px}
  .top3-focus-summary h3{margin:0;font:950 23px/1.18 var(--sans,system-ui,sans-serif);letter-spacing:0}
  .top3-focus-summary>p{margin:0;color:var(--ink-soft);font:700 13.5px/1.55 var(--sans,system-ui,sans-serif)}
  .top3-focus-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .top3-focus-metric{border:1px solid var(--line);border-radius:7px;padding:9px;text-align:center;color:var(--muted);font:750 10px/1.2 var(--sans,system-ui,sans-serif)}
  .top3-focus-metric b{display:block;color:var(--ink);font-size:16px;margin-bottom:3px}
  .top3-focus-open{min-height:38px;border:0;border-radius:7px;background:var(--accent);color:#fff;padding:0 14px;font:900 12px/1 var(--sans,system-ui,sans-serif);cursor:pointer}
  .top3-focus-timeline{padding:17px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,#000 8%)}
  .top3-focus-timeline h4{margin:0 0 14px;color:var(--muted);font:900 10px/1 var(--mono,monospace);text-transform:uppercase}
  .top3-timeline-item{position:relative;padding:0 0 17px 19px;border-left:1px solid var(--line)}
  .top3-timeline-item:last-child{padding-bottom:0;border-left-color:transparent}
  .top3-timeline-item::before{content:"";position:absolute;left:-5px;top:0;width:9px;height:9px;border-radius:50%;background:var(--accent)}
  .top3-timeline-item b{display:block;font:850 12px/1.25 var(--sans,system-ui,sans-serif)}
  .top3-timeline-item p{margin:4px 0;color:var(--ink-soft);font:650 11.5px/1.4 var(--sans,system-ui,sans-serif)}
  .top3-timeline-item time{color:var(--muted);font:700 10px/1 var(--sans,system-ui,sans-serif)}
  .top3-report-index{border:1px solid var(--line);border-radius:8px;background:var(--paper-2);overflow:hidden}
  .top3-report-head{display:grid;gap:10px;padding:15px;border-bottom:1px solid var(--line)}
  .top3-report-head h3{margin:0;font:900 17px/1.2 var(--sans,system-ui,sans-serif)}
  .top3-report-head p{margin:4px 0 0;color:var(--muted);font:700 11px/1.4 var(--sans,system-ui,sans-serif)}
  .top3-report-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .top3-report-filter{min-height:34px;border:1px solid var(--line);border-radius:7px;background:var(--chip);color:var(--ink-soft);font:800 11px/1.2 var(--sans,system-ui,sans-serif)}
  .top3-report-filter.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--chip))}
  .top3-report-group-title{display:flex;justify-content:space-between;gap:12px;padding:11px 15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,#000 8%);color:var(--accent);font:900 10px/1 var(--mono,monospace);text-transform:uppercase}
  .top3-report-group-title span{color:var(--muted)}
  .top3-report-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"site actions" "headline headline";gap:10px;padding:14px 15px;border-bottom:1px solid var(--line)}
  .top3-report-row:last-child{border-bottom:0}
  .top3-report-site{grid-area:site;font:900 12px/1.25 var(--sans,system-ui,sans-serif)}
  .top3-report-site time{display:block;margin-top:3px;color:var(--muted);font:650 10px/1.2 var(--sans,system-ui,sans-serif)}
  .top3-report-copy{grid-area:headline;min-width:0}
  .top3-report-title{margin:0;font:850 15px/1.4 var(--sans,system-ui,sans-serif);overflow-wrap:anywhere}
  .top3-report-angle{margin:5px 0 0;color:var(--ink-soft);font:650 11.5px/1.45 var(--sans,system-ui,sans-serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .top3-report-actions{grid-area:actions;display:flex;align-items:center;gap:6px}
  .top3-report-category{border:1px solid var(--line);border-radius:999px;padding:5px 7px;color:var(--muted);font:800 9.5px/1 var(--sans,system-ui,sans-serif);white-space:nowrap}
  .top3-report-open{border:0;background:transparent;color:var(--accent);padding:5px;font:900 11px/1 var(--sans,system-ui,sans-serif);white-space:nowrap;cursor:pointer}
  body.highlight-mode .mobile-read-toggle{display:none!important}
  html[data-mobile-density="compact"] .mobile-feed-list:not(.has-card-overrides){
    margin-top:0;
    margin-bottom:84px;
    padding-bottom:0;
    background:#202124;
    border:1px solid rgba(255,255,255,.06);
    border-top:0;
    border-radius:0 0 22px 22px;
    overflow:hidden;
  }
  .mobile-feed-empty{
    margin-top:10px;
    padding:42px 18px;
    border-radius:22px;
    background:#202124;
    border:1px solid rgba(255,255,255,.06);
    color:var(--muted);
    text-align:center;
    font:700 14px/1.5 var(--sans,'Inter',system-ui,sans-serif);
  }
  .mobile-feed-empty strong{
    display:block;
    color:var(--ink);
    font:950 19px/1.22 var(--sans,'Inter',system-ui,sans-serif);
    letter-spacing:-.025em;
    margin-bottom:8px;
  }
  .mobile-feed-empty small{
    display:block;
    color:var(--muted);
    font:700 13px/1.5 var(--sans,'Inter',system-ui,sans-serif);
  }
  @keyframes bdSkeletonPulse{
    0%,100%{opacity:.58}
    50%{opacity:1}
  }
  .mobile-feed-loading{
    display:grid;
    gap:0;
    overflow:hidden;
    border-radius:0 0 22px 22px;
    border:1px solid rgba(255,255,255,.06);
    border-top:0;
    background:#202124;
    min-height:0;
  }
  .mobile-feed-loading-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 18px;
    border-bottom:1px solid rgba(255,255,255,.07);
    color:#f3f5f7;
    font:850 14px/1.35 var(--sans,'Inter',system-ui,sans-serif);
  }
  .mobile-feed-loading-head span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-feed-loading-head small{
    color:rgba(243,245,247,.58);
    font-weight:750;
  }
  .mobile-skeleton-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    gap:14px;
    padding:15px 18px 14px;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .mobile-skeleton-row:last-child{border-bottom:0}
  .skeleton-line,
  .skeleton-thumb,
  .skeleton-pill{
    display:block;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18),rgba(255,255,255,.08));
    animation:bdSkeletonPulse 1.25s ease-in-out infinite;
  }
  .skeleton-pill{width:150px;height:18px;margin-bottom:14px}
  .skeleton-line{height:16px;margin-bottom:10px}
  .skeleton-line.title{height:24px;width:88%;border-radius:12px}
  .skeleton-line.short{width:56%}
  .skeleton-thumb{width:92px;height:76px;border-radius:16px}
  .mobile-feed-loading.is-topup .mobile-skeleton-row{
    grid-template-columns:minmax(0,1fr) 64px;
    padding-block:12px;
  }
  .mobile-feed-loading.is-topup .mobile-skeleton-row:nth-of-type(n+4){
    display:none;
  }
  .mobile-feed-loading.is-topup .skeleton-pill{height:14px;margin-bottom:10px}
  .mobile-feed-loading.is-topup .skeleton-line.title{height:18px}
  .mobile-feed-loading.is-topup .skeleton-line{height:12px;margin-bottom:8px}
  .mobile-feed-loading.is-topup .skeleton-thumb{width:64px;height:54px;border-radius:13px}
  .mobile-empty-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin:18px auto 0;
    max-width:270px;
  }
  .mobile-empty-actions button{
    min-height:42px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.06);
    color:var(--ink);
    font:900 13px/1 var(--sans,'Inter',system-ui,sans-serif);
    cursor:pointer;
  }
  .mobile-empty-actions button.primary{
    border-color:transparent;
    background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent2) 72%,var(--accent)));
    color:#fff;
  }
  .mobile-story{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    gap:12px;
    min-height:120px;
    padding:14px;
    background:#202124;
    border-top:1px solid rgba(255,255,255,.07);
    color:var(--ink);
    cursor:pointer;
  }
  .mobile-story.bd-bootstrap-story{
    color:inherit;
    cursor:pointer;
    pointer-events:auto;
    text-decoration:none;
  }
  .mobile-story.bd-bootstrap-story:focus-visible{
    outline:3px solid var(--accent);
    outline-offset:-3px;
  }
  .bd-bootstrap-cover{
    width:92px;
    min-height:92px;
    align-self:stretch;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(145deg,#18375b,#0a84ff 58%,#22c55e);
    color:#fff;
    font:950 22px/1 var(--sans,'Inter',system-ui,sans-serif);
    letter-spacing:-.04em;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  }
  .bd-bootstrap-feed .mobile-story-deck{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mobile-story:first-child{
    border-top:0;
    border-radius:18px 18px 0 0;
  }
  .mobile-story:last-child{
    border-radius:0 0 18px 18px;
  }
  .mobile-story-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .mobile-topic-pill{
    align-self:flex-start;
    max-width:100%;
    border-radius:999px;
    padding:2px 5px 2px 9px;
    background:rgba(255,255,255,.065);
    color:#c2c6ce;
    font:820 10px/1.2 var(--sans,'Inter',system-ui,sans-serif);
    white-space:nowrap;
    overflow:hidden;
    display:inline-flex;
    align-items:center;
    gap:7px;
  }
  .mobile-topic-text{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-topic-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    flex:0 0 auto;
    min-width:22px;
    height:14px;
    padding:0 5px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#d8dce3;
    opacity:1;
    font:900 8.5px/1 var(--sans,'Inter',system-ui,sans-serif);
  }
  .mobile-topic-count svg{
    width:9px;
    height:9px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-topic-arrow{
    flex:0 0 auto;
    color:#9ca3af;
    font-size:12px;
    font-weight:950;
    margin-left:-4px;
  }
  .mobile-story-hero-topic{
    margin-top:6px;
    max-width:92%;
    background:rgba(255,255,255,.18);
    color:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
  }
  .mobile-story-hero-topic .mobile-topic-count,
  .mobile-story-hero-topic .mobile-topic-arrow{
    color:rgba(255,255,255,.86);
  }
  .mobile-story-title{
    margin:0;
    color:#f6f7f9;
    font:880 calc(17.8px * min(var(--user-font-scale,1),1.16))/1.22 var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif);
    letter-spacing:-.02em;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mobile-story-byline{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    color:#969ba5;
    font:780 11px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-story-byline span{
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .mobile-story-byline .mobile-source-mini{
    width:18px;
    height:18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    background:linear-gradient(135deg,var(--source-a,#1d4ed8),var(--source-b,#60a5fa));
    color:#fff;
    font:900 8px/1 var(--sans,'Inter',system-ui,sans-serif);
    letter-spacing:-.04em;
  }
  .mobile-story-byline .mobile-beat-text{
    color:#88a7ff;
    font-weight:900;
    letter-spacing:.01em;
  }
  .mobile-story-deck{
    color:#c8cbd1;
    font:560 calc(14.5px * min(var(--user-font-scale,1),1.22))/1.58 var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif);
  }
  .mobile-story-bullets{
    margin:0;
    padding-left:18px;
    color:#c8cbd1;
    font:620 calc(14px * min(var(--user-font-scale,1),1.2))/1.6 var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif);
  }
  .mobile-story-bullets li{
    margin:6px 0;
  }
  .mobile-story-meta,
  .mobile-story-foot{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    color:#8f949b;
    font:760 11px/1.25 var(--sans,'Inter',system-ui,sans-serif);
  }
  .mobile-story-meta span,
  .mobile-story-foot span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-story-foot .mobile-story-external{
    flex:0 0 auto;
    overflow:visible;
    color:#8fb4ff;
    font-weight:900;
    letter-spacing:.01em;
  }
  .mobile-story-img{
    position:relative;
    overflow:hidden;
    width:92px;
    height:92px;
    border-radius:15px;
    background-size:cover;
    background-position:center;
    background-color:#25262a;
    align-self:center;
  }
  .mobile-story-photo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .18s ease;
    background:transparent;
  }
  .mobile-story-photo.loaded{
    opacity:1;
  }
  .mobile-story-hero-copy{
    display:none;
  }
  .mobile-story-hero-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.82);
    font:850 11px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .mobile-story-hero-meta span{
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-story-hero-title{
    margin:7px 0 0;
    color:#fff;
    text-shadow:0 2px 14px rgba(0,0,0,.44);
    font:900 calc(21px * min(var(--user-font-scale,1),1.14))/1.12 var(--serif,'Georgia','Noto Serif HK',serif);
    letter-spacing:-.02em;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  html .mobile-story.mode-preview .mobile-story-hero-title,
  html .mobile-story.mode-full .mobile-story-hero-title{
    display:none;
  }
  .mobile-story-actions{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
  }
  .mobile-story .thumb-btn,
  .mobile-story .mobile-action-btn{
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.055);
    color:#d9dce2;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0;
    transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
  }
  .mobile-story .mobile-detail-btn{
    position:static;
    z-index:auto;
    top:auto;
    right:auto;
    bottom:auto;
    width:34px;
    min-width:34px;
    height:34px;
    padding:0;
    border-radius:50%;
    gap:0;
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.18);
    color:#d8dde5;
    box-shadow:none;
    backdrop-filter:none;
    font:850 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:.01em;
  }
  .mobile-detail-label{
    display:none;
    font-size:11px;
    line-height:1;
    white-space:nowrap;
  }
  .mobile-story .thumb-btn:active,
  .mobile-story .mobile-action-btn:active{
    transform:scale(.94);
  }
  .mobile-story .thumb-btn svg,
  .mobile-story .mobile-action-btn svg{
    width:18px;
    height:18px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-story .mobile-action-btn.on svg{
    fill:currentColor;
  }
  .mobile-story .mobile-action-btn.on{
    color:#8ec5ff;
    background:rgba(10,132,255,.16);
    border-color:rgba(142,197,255,.34);
  }
  .mobile-story .thumb-btn.up.on{
    color:#10b981;
    background:rgba(16,185,129,.14);
    border-color:rgba(16,185,129,.30);
  }
  .mobile-story .thumb-btn.down.on{
    color:#ef4444;
    background:rgba(239,68,68,.14);
    border-color:rgba(239,68,68,.30);
  }
  .mobile-story.read{
    opacity:.84;
  }
  .mobile-story.read .mobile-story-title{
    color:#d5d9e0;
  }
  .mobile-story.read .mobile-story-img{
    filter:saturate(.82) brightness(.88);
  }
  .mobile-story-conf{
    display:none;
    flex:0 0 auto;
    border-radius:999px;
    padding:3px 7px;
    background:rgba(10,132,255,.13);
    color:#60a5fa;
    font:850 10.5px/1 var(--sans,'Inter',system-ui,sans-serif);
  }
  .mobile-story .thumb-btn{
    display:none;
  }
  html[data-mobile-density="full"] .mobile-story .thumb-btn{
    display:flex;
  }
  html[data-mobile-density="full"] .mobile-story-conf{
    display:inline-flex;
    align-items:center;
  }
  html[data-mobile-density="compact"] .mobile-story-deck,
  html[data-mobile-density="compact"] .mobile-story-bullets{
    display:none;
  }
  html[data-mobile-density="compact"] .mobile-story{
    grid-template-columns:minmax(0,1fr) 86px;
    min-height:116px;
    gap:11px;
    padding:13px 10px 13px 14px;
  }
  html[data-mobile-density="compact"] .mobile-story-img{
    width:86px;
    height:86px;
    border-radius:15px;
  }
  html[data-mobile-density="compact"] .mobile-story-title{
    font-size:calc(17px * min(var(--user-font-scale,1),1.12));
    line-height:1.24;
    font-weight:900;
  }
  html[data-mobile-density="compact"] .mobile-topic-pill{
    max-width:calc(100vw - 132px);
    padding:3px 7px 3px 8px;
    font-size:9.5px;
    gap:5px;
    background:rgba(255,255,255,.075);
    color:#c2c7d0;
  }
  html[data-mobile-density="compact"] .mobile-story-main{
    min-height:86px;
    gap:5px;
  }
  html[data-mobile-density="compact"] .mobile-story-byline{
    margin-top:auto;
    padding-top:3px;
    font-size:10.8px;
    color:#9ba2ad;
  }
  html[data-mobile-density="compact"] .mobile-story-foot > span:first-child{
    display:none;
  }
  html[data-mobile-density="compact"] .mobile-story-foot{
    margin-top:auto;
    gap:5px;
  }
  html[data-mobile-density="compact"] .mobile-story-actions{
    margin-left:0;
  }
  html[data-mobile-density="compact"] .mobile-story-foot{
    position:absolute;
    right:106px;
    bottom:12px;
    width:auto;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  html[data-mobile-density="compact"] .mobile-story-actions{
    gap:3px;
    padding:1px;
    border-radius:999px;
    background:rgba(18,18,18,.32);
    backdrop-filter:blur(10px);
  }
  html[data-mobile-density="compact"] .mobile-story-byline{
    max-width:calc(100% - 78px);
  }
  html[data-mobile-density="compact"] .mobile-story-byline .mobile-beat-text{
    max-width:76px;
  }
  html[data-mobile-density="compact"] .mobile-story .mobile-action-btn{
    width:24px;
    height:24px;
    border-color:transparent;
    background:transparent;
    color:#a8adb7;
  }
  html[data-mobile-density="compact"] .mobile-story .mobile-detail-btn{
    position:static;
    z-index:auto;
    width:24px;
    min-width:24px;
    height:24px;
    padding:0;
    border-radius:50%;
    gap:0;
    background:transparent;
    color:#a8adb7;
    box-shadow:none;
    backdrop-filter:none;
  }
  html[data-mobile-density="compact"] .mobile-story .mobile-detail-btn .mobile-detail-label{
    display:none;
  }
  html[data-mobile-density="compact"] .mobile-story .mobile-action-btn svg{
    width:15px;
    height:15px;
  }
  html[data-mobile-density="compact"] .mobile-story .mobile-detail-btn svg{
    width:14px;
    height:14px;
  }
  html[data-mobile-density="preview"] .mobile-feed-list,
  html[data-mobile-density="full"] .mobile-feed-list{
    display:grid;
    gap:14px;
  }
  .mobile-feed-list.has-card-overrides{
    display:grid;
    gap:14px;
  }
  html[data-mobile-density="preview"] .mobile-story,
  html[data-mobile-density="full"] .mobile-story{
    display:flex;
    flex-direction:column;
    border:1px solid rgba(255,255,255,.07);
    border-radius:22px;
    overflow:hidden;
    padding:0;
    min-height:0;
  }
  html[data-mobile-density="preview"] .mobile-story-img,
  html[data-mobile-density="full"] .mobile-story-img{
    order:-1;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    border-radius:0;
    align-self:stretch;
  }
  html[data-mobile-density="preview"] .mobile-story-hero-copy,
  html[data-mobile-density="full"] .mobile-story-hero-copy{
    display:flex;
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    top:0;
    aspect-ratio:16/9;
    flex-direction:column;
    justify-content:flex-end;
    padding:14px 14px 16px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.68) 100%);
  }
  html[data-mobile-density="preview"] .mobile-story-main > .mobile-topic-pill,
  html[data-mobile-density="preview"] .mobile-story-main > .mobile-story-title,
  html[data-mobile-density="preview"] .mobile-story-main > .mobile-story-byline,
  html[data-mobile-density="full"] .mobile-story-main > .mobile-topic-pill,
  html[data-mobile-density="full"] .mobile-story-main > .mobile-story-title,
  html[data-mobile-density="full"] .mobile-story-main > .mobile-story-byline{
    display:none;
  }
  html[data-mobile-density="preview"] .mobile-story-main,
  html[data-mobile-density="full"] .mobile-story-main{
    gap:10px;
    padding:13px 14px 14px;
  }
  html[data-mobile-density="preview"] .mobile-story-title,
  html[data-mobile-density="full"] .mobile-story-title{
    font-size:calc(20px * min(var(--user-font-scale,1),1.16));
    line-height:1.18;
    -webkit-line-clamp:3;
  }
  html[data-mobile-density="preview"] .mobile-story-bullets{
    display:none;
  }
  html[data-mobile-density="preview"] .mobile-story-deck{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    color:#d6d9df;
    font-size:calc(14.8px * min(var(--user-font-scale,1),1.18));
  }
  html[data-mobile-density="full"] .mobile-story-deck{
    color:#d6d9df;
    font-size:calc(15px * min(var(--user-font-scale,1),1.18));
    line-height:1.58;
  }
  html[data-mobile-density="full"] .mobile-story-bullets{
    list-style:none;
    margin:2px 0 0;
    padding:0;
    color:#d8dce2;
    font-size:calc(14.4px * min(var(--user-font-scale,1),1.18));
    line-height:1.55;
  }
  html[data-mobile-density="full"] .mobile-story-bullets li{
    position:relative;
    margin:7px 0 0;
    padding-left:17px;
  }
  html[data-mobile-density="full"] .mobile-story-bullets li::before{
    content:"";
    position:absolute;
    left:2px;
    top:.66em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(10,132,255,.82);
  }
  html[data-mobile-density="preview"] .mobile-story-foot,
  html[data-mobile-density="full"] .mobile-story-foot{
    justify-content:space-between;
    gap:10px;
    margin-top:2px;
    border-top:1px solid rgba(255,255,255,.07);
    padding-top:10px;
  }
  html[data-mobile-density="preview"] .mobile-story-actions,
  html[data-mobile-density="full"] .mobile-story-actions{
    gap:6px;
  }
  html[data-mobile-density="preview"] .mobile-story .mobile-detail-btn,
  html[data-mobile-density="full"] .mobile-story .mobile-detail-btn{
    width:auto;
    min-width:0;
    height:32px;
    padding:0 10px;
    border-radius:999px;
    gap:6px;
    background:rgba(255,255,255,.075);
  }
  html[data-mobile-density="preview"] .mobile-story .mobile-detail-btn .mobile-detail-label,
  html[data-mobile-density="full"] .mobile-story .mobile-detail-btn .mobile-detail-label{
    display:inline;
  }
  html[data-mobile-density="preview"] .mobile-story .mobile-detail-btn svg,
  html[data-mobile-density="full"] .mobile-story .mobile-detail-btn svg{
    width:15px;
    height:15px;
  }
  html .mobile-story.mode-compact{
    display:grid;
    grid-template-columns:minmax(0,1fr) 86px;
    gap:11px;
    min-height:116px;
    padding:13px 10px 13px 14px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:18px;
    overflow:hidden;
  }
  html .mobile-story.mode-compact .mobile-story-img{
    order:0;
    width:86px;
    height:86px;
    aspect-ratio:auto;
    border-radius:15px;
    align-self:center;
  }
  html .mobile-story.mode-compact .mobile-story-hero-copy,
  html .mobile-story.mode-compact .mobile-story-deck,
  html .mobile-story.mode-compact .mobile-story-bullets{
    display:none;
  }
  html .mobile-story.mode-compact .thumb-btn,
  html .mobile-story.mode-compact .mobile-story-conf,
  html .mobile-story.mode-preview .thumb-btn,
  html .mobile-story.mode-preview .mobile-story-conf{
    display:none;
  }
  html .mobile-story.mode-compact .mobile-story-main > .mobile-topic-pill{
    display:inline-flex;
    max-width:calc(100vw - 132px);
    padding:3px 7px 3px 8px;
    font-size:9.5px;
    gap:5px;
    background:rgba(255,255,255,.075);
    color:#c2c7d0;
  }
  html .mobile-story.mode-compact .mobile-story-main > .mobile-story-title{
    display:-webkit-box;
    font-size:calc(17px * min(var(--user-font-scale,1),1.12));
    line-height:1.24;
    font-weight:900;
    -webkit-line-clamp:2;
  }
  html .mobile-story.mode-compact .mobile-story-main{
    min-height:86px;
    gap:5px;
  }
  html .mobile-story.mode-compact .mobile-story-main > .mobile-story-byline{
    display:flex;
    margin-top:auto;
    padding-top:3px;
    font-size:10.8px;
    max-width:calc(100% - 78px);
    color:#9ba2ad;
  }
  html .mobile-story.mode-compact .mobile-story-main > .mobile-story-byline .mobile-beat-text{
    max-width:76px;
  }
  html .mobile-story.mode-compact .mobile-story-foot{
    position:absolute;
    right:106px;
    bottom:12px;
    width:auto;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  html .mobile-story.mode-compact .mobile-story-actions{
    gap:3px;
    padding:1px;
    border-radius:999px;
    background:rgba(18,18,18,.32);
    backdrop-filter:blur(10px);
  }
  html .mobile-story.mode-compact .mobile-detail-btn{
    position:static;
    z-index:auto;
    width:24px;
    min-width:24px;
    height:24px;
    padding:0;
    border-radius:50%;
    gap:0;
    background:transparent;
    color:#9ba1ab;
    box-shadow:none;
    backdrop-filter:none;
  }
  html .mobile-story.mode-compact .mobile-detail-btn .mobile-detail-label{
    display:none;
  }
  html[data-mobile-density="compact"] .mobile-feed-list:not(.has-card-overrides) .mobile-story.mode-compact{
    border:0;
    border-top:1px solid rgba(255,255,255,.07);
    border-radius:0;
    background:transparent;
  }
  html[data-mobile-density="compact"] .mobile-feed-list:not(.has-card-overrides) .mobile-story.mode-compact:first-child{
    border-top:0;
  }
  html[data-mobile-density="compact"] .mobile-feed-list:not(.has-card-overrides) .mobile-story.mode-compact:last-child{
    border-radius:0 0 18px 18px;
  }
  html .mobile-story.mode-preview,
  html .mobile-story.mode-full{
    display:flex;
    flex-direction:column;
    border:1px solid rgba(255,255,255,.07);
    border-radius:22px;
    overflow:hidden;
    padding:0;
    min-height:0;
  }
  html .mobile-story.mode-preview .mobile-story-img,
  html .mobile-story.mode-full .mobile-story-img{
    order:-1;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    border-radius:0;
    align-self:stretch;
  }
  html .mobile-story.mode-preview .mobile-story-hero-copy,
  html .mobile-story.mode-full .mobile-story-hero-copy{
    display:flex;
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    top:0;
    aspect-ratio:16/9;
    flex-direction:column;
    justify-content:flex-end;
    padding:14px 14px 16px;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.68) 100%);
  }
  html .mobile-story.mode-preview .mobile-story-main > .mobile-topic-pill,
  html .mobile-story.mode-preview .mobile-story-main > .mobile-story-title,
  html .mobile-story.mode-preview .mobile-story-main > .mobile-story-byline,
  html .mobile-story.mode-full .mobile-story-main > .mobile-topic-pill,
  html .mobile-story.mode-full .mobile-story-main > .mobile-story-title,
  html .mobile-story.mode-full .mobile-story-main > .mobile-story-byline{
    display:none;
  }
  html .mobile-story.mode-preview .mobile-story-main,
  html .mobile-story.mode-full .mobile-story-main{
    gap:10px;
    padding:13px 14px 14px;
  }
  html .mobile-story.mode-preview .mobile-story-bullets{
    display:none;
  }
  html .mobile-story.mode-preview .mobile-story-deck{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    color:#d6d9df;
    font-size:calc(14.8px * min(var(--user-font-scale,1),1.18));
  }
  html .mobile-story.mode-full .mobile-story-deck{
    color:#d6d9df;
    font-size:calc(15px * min(var(--user-font-scale,1),1.18));
    line-height:1.58;
  }
  html .mobile-story.mode-full .mobile-story-bullets{
    list-style:none;
    margin:2px 0 0;
    padding:0;
    color:#d8dce2;
    font-size:calc(14.4px * min(var(--user-font-scale,1),1.18));
    line-height:1.55;
  }
  html .mobile-story.mode-full .mobile-story-bullets li{
    position:relative;
    margin:7px 0 0;
    padding-left:17px;
  }
  html .mobile-story.mode-full .mobile-story-bullets li::before{
    content:"";
    position:absolute;
    left:2px;
    top:.66em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(10,132,255,.82);
  }
  html .mobile-story.mode-preview .mobile-story-foot,
  html .mobile-story.mode-full .mobile-story-foot{
    justify-content:space-between;
    gap:10px;
    margin-top:2px;
    border-top:1px solid rgba(255,255,255,.07);
    padding-top:10px;
  }
  html .mobile-story.mode-preview .mobile-story-actions,
  html .mobile-story.mode-full .mobile-story-actions{
    gap:6px;
  }
  html .mobile-story.mode-preview .mobile-detail-btn,
  html .mobile-story.mode-full .mobile-detail-btn{
    width:auto;
    min-width:0;
    height:32px;
    padding:0 10px;
    border-radius:999px;
    gap:6px;
    background:rgba(255,255,255,.075);
  }
  html .mobile-story.mode-preview .mobile-detail-btn .mobile-detail-label,
  html .mobile-story.mode-full .mobile-detail-btn .mobile-detail-label{
    display:inline;
  }
  html .mobile-story.mode-preview .mobile-detail-btn svg,
  html .mobile-story.mode-full .mobile-detail-btn svg{
    width:15px;
    height:15px;
  }
  html .mobile-story.mode-full .thumb-btn,
  html .mobile-story.mode-full .mobile-story-conf{
    display:flex !important;
  }
  html .mobile-story.mode-full .mobile-story-conf{
    align-items:center;
  }
  html .mobile-story.mode-preview .mobile-story-main > .mobile-topic-pill,
  html .mobile-story.mode-full .mobile-story-main > .mobile-topic-pill{
    display:inline-flex !important;
    max-width:100%;
    margin-bottom:2px;
  }
  html .mobile-story.mode-preview .mobile-story-main > .mobile-story-title,
  html .mobile-story.mode-full .mobile-story-main > .mobile-story-title{
    display:-webkit-box !important;
    color:#f8fafc;
    font:900 calc(18.5px * min(var(--user-font-scale,1),1.14))/1.22 var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif);
    letter-spacing:-.02em;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  html .mobile-story.mode-preview .mobile-story-main > .mobile-story-byline,
  html .mobile-story.mode-full .mobile-story-main > .mobile-story-byline{
    display:flex !important;
  }
  html .mobile-story.mode-preview .mobile-story-img:empty::before,
  html .mobile-story.mode-full .mobile-story-img:empty::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 34%),
      linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  }
  .mobile-density-menu{
    display:none;
    position:absolute;
    left:50%;
    top:52px;
    transform:translateX(-50%);
    z-index:2500;
    width:min(320px, calc(100vw - 34px));
    padding:10px;
    border-radius:20px;
    background:#242528;
    border:1px solid var(--line);
    box-shadow:0 24px 70px rgba(0,0,0,.24);
  }
  @media(max-width:370px){
    .mobile-reader-top{
      grid-template-columns:minmax(66px,1fr) 50px 50px 50px auto;
      gap:5px;
    }
    .mobile-search-pill{
      padding:0 9px;
      gap:7px;
    }
    #mobileSettingsBtn{
      padding:0 6px;
    }
    #mobileAccountBtn{
      padding:0 6px;
    }
    #mobileSettingsLabel{
      max-width:34px;
      font-size:11px;
    }
    .mobile-rail-mode-toggle button{
      padding:0 8px;
      font-size:11px;
    }
  }
  .mobile-density-menu.open{
    display:block;
  }
  .mobile-density-menu button{
    width:100%;
    border:0;
    border-radius:15px;
    background:transparent;
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    padding:11px;
    text-align:left;
    font:850 13px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    cursor:pointer;
  }
  .mobile-density-menu button.active{
    background:rgba(10,132,255,.14);
    color:var(--ink);
    box-shadow:inset 0 0 0 1px rgba(10,132,255,.34);
  }
  .mobile-density-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .mobile-density-copy b{
    font:900 13.5px/1.1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-density-copy small{
    color:#9ca3af;
    font:720 11px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-density-menu svg{
    width:19px;
    height:19px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-density-choice-icon{
    width:34px;
    height:34px;
    border-radius:13px;
    background:rgba(255,255,255,.07);
    display:grid;
    place-items:center;
    flex:0 0 auto;
  }
  .mobile-density-menu button.active .mobile-density-choice-icon{
    background:var(--accent);
    color:#fff;
  }
  .mobile-settings-mask{
    position:fixed;
    inset:0;
    z-index:9400;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(4px);
  }
  .mobile-settings-mask.open{
    display:block;
  }
  .mobile-settings-sheet{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    z-index:9401;
    padding:14px;
    border-radius:24px;
    background:#202124;
    border:1px solid var(--line);
    box-shadow:0 28px 80px rgba(0,0,0,.34);
  }
  .mobile-settings-sheet.open{
    display:block;
  }
  .notification-mask{
    position:fixed;
    inset:0;
    z-index:9620;
    background:rgba(0,0,0,.58);
    backdrop-filter:blur(5px);
  }
  .notification-mask.open{display:block}
  .notification-sheet{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    z-index:9621;
    max-height:min(72svh,620px);
    overflow:auto;
    padding:14px;
    border-radius:24px;
    background:#202124;
    border:1px solid var(--line);
    box-shadow:0 28px 80px rgba(0,0,0,.38);
  }
  .notification-sheet.open{display:block}
  .notification-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }
  .notification-head h3{
    margin:0;
    color:var(--ink);
    font:950 18px/1.15 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .notification-sub{
    margin-top:3px;
    color:#9ca3af;
    font:760 11.5px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .notification-list{display:grid;gap:8px}
  .notification-card{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    padding:11px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:16px;
    background:#25262a;
  }
  .notification-card.high{border-color:rgba(239,68,68,.34);background:linear-gradient(135deg,rgba(239,68,68,.12),#25262a 42%)}
  .notification-icon{
    width:34px;
    height:34px;
    border-radius:13px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    font-size:16px;
  }
  .notification-title{
    color:var(--ink);
    font:900 13.5px/1.22 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .notification-meta{
    margin:3px 0 6px;
    color:#9ca3af;
    font:760 10.5px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .notification-msg{
    color:#d7dbe2;
    font:650 12.5px/1.48 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .notification-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:9px;
  }
  .notification-actions button{
    min-height:29px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:#2f3036;
    color:#f4f4f5;
    padding:0 10px;
    font:850 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .notification-actions button.secondary{
    background:transparent;
    color:#aeb4be;
  }
  .notification-muted{
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .notification-muted-title{
    color:#9ca3af;
    font:900 10.5px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:8px;
  }
  .notification-muted-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
  }
  .notification-muted-chip{
    display:inline-flex;
    align-items:center;
    gap:7px;
    max-width:100%;
    min-height:30px;
    padding:3px 5px 3px 10px;
    border-radius:999px;
    border:1px solid rgba(96,165,250,.22);
    background:rgba(37,99,235,.12);
    color:#dbeafe;
    font:800 11px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .notification-muted-chip span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .notification-muted-chip button{
    min-height:22px;
    border:0;
    border-radius:999px;
    padding:0 8px;
    background:rgba(255,255,255,.1);
    color:#f8fafc;
    font:900 10px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .notification-empty{
    padding:26px 10px;
    text-align:center;
    color:#a8adb7;
    font:760 13px/1.5 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .recommendation-empty{display:grid;justify-items:center;gap:8px}
  .recommendation-empty strong{color:#f4f4f5;font-size:15px}
  .recommendation-empty span{max-width:310px}
  .recommendation-empty button{
    min-height:36px;
    border:0;
    border-radius:8px;
    padding:0 18px;
    background:#0a84ff;
    color:#fff;
    font:900 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .recommendation-card{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) 18px;
    align-items:center;
    gap:11px;
    width:100%;
    min-height:82px;
    padding:10px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;
    background:#25262a;
    color:#f4f4f5;
    text-align:left;
    cursor:pointer;
  }
  .recommendation-card:hover{border-color:rgba(10,132,255,.55);background:#292b30}
  .recommendation-card img,
  .recommendation-rank{
    width:54px;
    height:54px;
    border-radius:8px;
  }
  .recommendation-card img{display:block;object-fit:cover;background:#17191d}
  .recommendation-rank{display:grid;place-items:center;background:#12345a;color:#65b5ff;font:950 16px/1 var(--mono,monospace)}
  .recommendation-copy{display:grid;gap:4px;min-width:0}
  .recommendation-copy strong{overflow:hidden;color:#fff;font:900 13px/1.3 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .recommendation-meta{overflow:hidden;color:#aeb4be;font:750 10.5px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);text-overflow:ellipsis;white-space:nowrap}
  .recommendation-reason{overflow:hidden;color:#65b5ff;font:750 10.5px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);text-overflow:ellipsis;white-space:nowrap}
  .recommendation-arrow{color:#65b5ff;font:900 22px/1 var(--sans,system-ui,sans-serif)}
  .mobile-settings-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
  }
  .mobile-settings-head h3{
    margin:0;
    color:var(--ink);
    font:900 17px/1.2 var(--sans,'Inter',system-ui,sans-serif);
  }
  .mobile-settings-close{
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid var(--line);
    background:var(--paper-2);
    color:var(--ink);
    font-size:20px;
  }
  .mobile-settings-section-title{
    margin:12px 2px 8px;
    color:#a8adb7;
    font:850 11px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .mobile-subscription-section{
    margin-bottom:6px;
  }
  .mobile-subscription-search{
    position:relative;
    margin:0 0 9px;
  }
  .mobile-subscription-search span{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    color:#9ca3af;
    font-size:14px;
    pointer-events:none;
  }
  .mobile-subscription-search input{
    width:100%;
    height:42px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#242528;
    color:var(--ink);
    outline:none;
    padding:0 12px 0 34px;
    font:820 14px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-subscription-search input::placeholder{
    color:#8f96a3;
  }
  .mobile-subscription-search input:focus{
    border-color:rgba(10,132,255,.62);
    box-shadow:0 0 0 3px rgba(10,132,255,.16);
  }
  .mobile-subscription-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    max-height:min(280px,42vh);
    overflow:auto;
    padding-right:2px;
    scrollbar-width:none;
  }
  .mobile-subscription-list::-webkit-scrollbar{
    display:none;
  }
  .mobile-subscription-empty{
    grid-column:1 / -1;
    border:1px dashed var(--line);
    border-radius:15px;
    color:#9ca3af;
    padding:14px;
    text-align:center;
    font:800 12px/1.25 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-subscription-card{
    min-width:0;
    min-height:56px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#242528;
    color:var(--ink);
    display:flex;
    align-items:center;
    gap:9px;
    padding:7px 9px;
    text-align:left;
  }
  .mobile-subscription-card.active{
    border-color:rgba(10,132,255,.55);
    background:rgba(10,132,255,.13);
  }
  .mobile-subscription-card .mobile-source-avatar{
    width:36px;
    height:36px;
    border-radius:11px;
    flex:0 0 auto;
  }
  .mobile-subscription-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
  }
  .mobile-subscription-name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font:900 12.5px/1.1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-subscription-meta{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#9ca3af;
    font:760 10.5px/1.1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  .mobile-settings-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .mobile-settings-action{
    min-height:46px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--paper-2);
    color:var(--ink);
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 12px;
    font:850 13px/1.15 var(--sans,'Inter',system-ui,sans-serif);
    text-decoration:none;
  }
  .mobile-setting-icon{
    width:28px;
    height:28px;
    border-radius:11px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    background:#1d1d20;
    color:#d9dce2;
  }
  .mobile-setting-icon svg{
    width:18px;
    height:18px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-setting-label{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-settings-action.full{
    grid-column:1 / -1;
  }
  @media(max-width:370px){
    .mobile-subscription-list{
      grid-template-columns:1fr;
    }
  }
  html[data-mobile-density="compact"] .top8-grid,
  html[data-mobile-density="compact"] .grid,
  html[data-mobile-density="compact"] .region-grid{
    gap:0 !important;
  }
  html[data-mobile-density="compact"] .t8-card,
  html[data-mobile-density="compact"] .grid .card,
  html[data-mobile-density="compact"] .region-grid .t8-card{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 86px;
    grid-template-rows:auto auto;
    min-height:108px !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    box-shadow:none !important;
    background:#202124 !important;
    padding:12px !important;
  }
  html[data-mobile-density="compact"] .t8-card.empty-slot{
    display:none !important;
  }
  html[data-mobile-density="compact"] .t8-card + .t8-card,
  html[data-mobile-density="compact"] .grid .card + .card{
    border-top:1px solid rgba(255,255,255,.06) !important;
  }
  html[data-mobile-density="compact"] .t8-img,
  html[data-mobile-density="compact"] .grid .card .img,
  html[data-mobile-density="compact"] .region-grid .t8-img{
    grid-column:2;
    grid-row:1 / span 2;
    width:86px !important;
    height:86px !important;
    aspect-ratio:1 !important;
    border:0 !important;
    border-radius:13px !important;
    align-self:center;
  }
  html[data-mobile-density="compact"] .t8-body,
  html[data-mobile-density="compact"] .grid .card .body,
  html[data-mobile-density="compact"] .region-grid .t8-body{
    grid-column:1;
    grid-row:1 / span 2;
    min-width:0;
    padding:0 12px 0 0 !important;
    gap:6px !important;
  }
  html[data-mobile-density="compact"] .t8-slot-tag,
  html[data-mobile-density="compact"] .grid .card > .impact,
  html[data-mobile-density="compact"] .grid .card > .ai-badge,
  html[data-mobile-density="compact"] .grid .card > .bookmark{
    display:none !important;
  }
  html[data-mobile-density="compact"] .t8-kicker,
  html[data-mobile-density="compact"] .card .kicker{
    font-size:10px !important;
    letter-spacing:.08em !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    flex-wrap:nowrap !important;
  }
  html[data-mobile-density="compact"] .t8-title,
  html[data-mobile-density="compact"] .grid .card h3{
    font-family:var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif) !important;
    font-size:17px !important;
    line-height:1.24 !important;
    letter-spacing:-.02em !important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  html[data-mobile-density="compact"] .t8-deck,
  html[data-mobile-density="compact"] .grid .card .deck,
  html[data-mobile-density="compact"] .mobile-card-extra{
    display:none !important;
  }
  html[data-mobile-density="compact"] .t8-foot,
  html[data-mobile-density="compact"] .grid .card .foot{
    margin-top:2px !important;
    padding-top:0 !important;
    border:0 !important;
  }
  html[data-mobile-density="preview"] .mobile-card-extra{
    display:none !important;
  }
  html[data-mobile-density="full"] .mobile-card-extra{
    display:block;
    margin-top:4px;
  }
  .mobile-card-extra ul{
    margin:8px 0 0;
    padding-left:18px;
    color:var(--ink-soft);
    font:650 13.5px/1.55 var(--sans,'Inter','Noto Sans HK','Noto Sans SC',system-ui,sans-serif);
  }
  .mobile-card-extra li{
    margin:5px 0;
  }
  html[data-mobile-density="preview"] .t8-card,
  html[data-mobile-density="full"] .t8-card,
  html[data-mobile-density="preview"] .grid .card,
  html[data-mobile-density="full"] .grid .card{
    border-radius:20px !important;
    overflow:hidden;
    background:#202124 !important;
    border-color:rgba(255,255,255,.06) !important;
  }
  html[data-mobile-density="preview"] .t8-img,
  html[data-mobile-density="full"] .t8-img{
    height:190px !important;
  }
  html[data-mobile-density="preview"] .grid .card .img,
  html[data-mobile-density="full"] .grid .card .img{
    height:auto !important;
    aspect-ratio:16/9 !important;
  }
  .region-section{
    margin:8px 0 0 !important;
    padding:0 !important;
  }
  .region-section-head{
    display:none !important;
  }
  .mobile-read-toggle{
    position:fixed;
    left:50%;
    bottom:calc(88px + env(safe-area-inset-bottom,0px));
    transform:translateX(-50%);
    z-index:9302;
    display:inline-flex;
    align-items:center;
    gap:3px;
    padding:5px;
    border-radius:999px;
    background:rgba(32,33,36,.97);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 8px 24px rgba(0,0,0,.24);
    backdrop-filter:blur(18px);
  }
  .mobile-read-toggle button{
    min-width:76px;
    min-height:34px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#a8adb7;
    padding:0 16px;
    font:900 13.5px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    cursor:pointer;
  }
  .mobile-read-count{
    display:none;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    margin-left:6px;
    padding:0 6px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:inherit;
    font-size:11.5px;
    line-height:1;
  }
  .mobile-read-toggle button.active{
    background:#3a3b40;
    color:#fff;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }
  .mobile-feed-actions button:disabled{
    opacity:.42;
    cursor:default;
  }
  body.modal-open .mobile-read-toggle,
  body.modal-open .mobile-bottom-nav,
  body.drawer-open .mobile-bottom-nav,
  body.notification-open .mobile-bottom-nav{
    display:none !important;
    pointer-events:none !important;
  }
  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9500;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    padding:9px max(14px,calc((100vw - var(--mobile-shell-w)) / 2 + 14px)) calc(7px + env(safe-area-inset-bottom,0px));
    background:rgba(15,15,16,.97);
    border-top:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
  }
  @media(min-width:761px){
    body{
      padding-bottom:88px;
    }
    .mobile-reader-shell{
      margin-top:12px;
    }
    .mobile-bottom-nav{
      left:50%;
      right:auto;
      width:var(--mobile-shell-w);
      transform:translateX(-50%);
      padding:8px 14px calc(7px + env(safe-area-inset-bottom,0px));
      border-radius:24px 24px 0 0;
      border-left:1px solid rgba(255,255,255,.08);
      border-right:1px solid rgba(255,255,255,.08);
    }
    .mobile-read-toggle{
      bottom:calc(80px + env(safe-area-inset-bottom,0px));
    }
    .mobile-settings-sheet{
      left:50%;
      right:auto;
      width:var(--mobile-shell-w);
      transform:translateX(-50%);
    }
    .account-benefits-sheet{
      width:var(--mobile-shell-w);
      left:50%;
      right:auto;
      top:auto;
      bottom:calc(12px + env(safe-area-inset-bottom,0px));
      transform:translateX(-50%);
      max-height:min(86svh,760px);
      border-radius:24px;
    }
  }
  @media(min-width:900px){
    body{
      --mobile-shell-w:min(calc(100vw - 96px), 1040px);
    }
    .mobile-reader-shell{
      margin-top:24px;
    }
    .mobile-reader-top{
      grid-template-columns:minmax(180px,1fr) 76px 76px 76px auto;
      gap:8px;
    }
    .mobile-feed-list{
      display:block;
      gap:0;
      padding-bottom:104px;
    }
    html[data-mobile-density="preview"] .mobile-feed-list,
    html[data-mobile-density="full"] .mobile-feed-list{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
      align-items:start;
    }
    .mobile-feed-list.has-card-overrides{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
      align-items:start;
    }
    .mobile-top3-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
      align-items:stretch;
    }
    .mobile-feed-list > .top3-focus-page{grid-column:1 / -1}
    .top3-highlight-list{
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:14px;
      align-items:start;
    }
    .top3-highlight-item{height:100%;align-content:start}
    .top3-highlight-item:not(:has(.top3-report-index)) .top3-major-card{height:100%}
    .top3-highlight-item:has(.top3-report-index){grid-column:1 / -1}
    .top3-focus-intro h2{font-size:26px}
    .top3-focus-event{grid-template-columns:minmax(0,1fr) 340px}
    .top3-focus-timeline{border-top:0;border-left:1px solid var(--line)}
    .top3-report-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}
    .top3-report-filters{display:flex}
    .top3-report-row{grid-template-columns:145px minmax(0,1fr) 165px;grid-template-areas:"site headline actions";align-items:start;padding:15px 18px}
    .top3-report-actions{justify-content:flex-end}
    html[data-mobile-density="compact"] .mobile-story{
      grid-template-columns:minmax(0,1fr) 132px;
      gap:24px;
      min-height:128px;
      padding:20px 24px;
      border-left:0;
      border-right:0;
      border-bottom:0;
      border-radius:0 !important;
      overflow:hidden;
    }
    html[data-mobile-density="compact"] .mobile-story-main,
    html .mobile-story.mode-compact .mobile-story-main{
      min-width:0;
      min-height:108px;
    }
    html[data-mobile-density="compact"] .mobile-story-img{
      width:132px;
      height:108px;
      border-radius:20px;
    }
    html[data-mobile-density="compact"] .mobile-story-title{
      font-size:calc(21px * min(var(--user-font-scale,1),1.12));
      line-height:1.18;
      -webkit-line-clamp:2;
    }
    html[data-mobile-density="compact"] .mobile-story-byline,
    html[data-mobile-density="compact"] .mobile-story-foot{
      font-size:13px;
    }
    html[data-mobile-density="compact"] .mobile-story-main > .mobile-story-byline,
    html .mobile-story.mode-compact .mobile-story-main > .mobile-story-byline{
      max-width:100%;
    }
    html[data-mobile-density="compact"] .mobile-story-foot,
    html .mobile-story.mode-compact .mobile-story-foot{
      position:static;
      right:auto;
      bottom:auto;
      width:100%;
      margin-top:auto !important;
      padding-top:8px !important;
      border-top:1px solid rgba(255,255,255,.06) !important;
      justify-content:space-between;
    }
    html[data-mobile-density="compact"] .mobile-story-actions,
    html .mobile-story.mode-compact .mobile-story-actions{
      margin-left:auto;
      gap:6px;
      padding:0;
      background:transparent;
      backdrop-filter:none;
    }
    html[data-mobile-density="compact"] .mobile-story .mobile-action-btn,
    html[data-mobile-density="compact"] .mobile-story .mobile-detail-btn,
    html .mobile-story.mode-compact .mobile-action-btn,
    html .mobile-story.mode-compact .mobile-detail-btn{
      width:30px;
      min-width:30px;
      height:30px;
      border-color:rgba(255,255,255,.12);
      background:rgba(255,255,255,.055);
    }
    html[data-mobile-density="compact"] .mobile-story:first-child{
      border-radius:18px 18px 0 0 !important;
      border-top:0;
    }
    html[data-mobile-density="compact"] .mobile-story:last-child{
      border-radius:0 0 18px 18px !important;
    }
    html[data-mobile-density="compact"] .mobile-feed-list:not(.has-card-overrides) .mobile-story:first-child{
      border-radius:0 !important;
    }
    html[data-mobile-density="compact"] .mobile-feed-list:not(.has-card-overrides) .mobile-story:last-child{
      border-radius:0 0 18px 18px !important;
    }
    html[data-mobile-density="preview"] .mobile-story-img,
    html[data-mobile-density="full"] .mobile-story-img{
      aspect-ratio:16/8.8;
    }
    html .mobile-story.mode-preview .mobile-story-img,
    html .mobile-story.mode-full .mobile-story-img{
      aspect-ratio:16/8.8;
    }
    html .mobile-story.mode-full .mobile-story-bullets{
      max-height:212px;
      overflow:hidden;
    }
    html .mobile-story.mode-full .mobile-story-deck{
      display:-webkit-box;
      -webkit-line-clamp:4;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .mobile-read-toggle{
      bottom:calc(96px + env(safe-area-inset-bottom,0px));
    }
  }
  @media(min-width:1280px){
    body{
      --mobile-shell-w:min(calc(100vw - 160px), 1120px);
    }
  }
  .mobile-bottom-nav button{
    min-width:0;
    min-height:52px;
    border:0;
    background:transparent;
    color:#858b96;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:4px 0 3px;
    font:820 11px/1.08 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    cursor:pointer;
  }
  .mobile-bottom-nav b{
    width:36px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:16px;
    font-size:0;
    line-height:1;
    transition:background .15s ease, color .15s ease, transform .15s ease;
  }
  .mobile-bottom-nav svg{
    width:23px;
    height:23px;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2.15;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-bottom-nav button.active{
    color:var(--accent);
    font-weight:900;
  }
  .mobile-bottom-nav button.active b{
    background:rgba(10,132,255,.16);
    box-shadow:0 0 0 1px rgba(10,132,255,.10),0 8px 18px rgba(10,132,255,.12);
    transform:translateY(-1px);
  }
  .primary-nav{display:none}
}

html.bd-bootstrap-interactive-fallback #bdSos[data-interaction-fallback]{
  display:flex;
}
html.bd-bootstrap-interactive-fallback #bdSos[data-interaction-fallback] [data-sos-reset]{
  display:none !important;
}
html.bd-bootstrap-interactive-fallback .bd-bootstrap-fallback-disabled{
  cursor:not-allowed !important;
  opacity:.45 !important;
  pointer-events:none !important;
}

@media(max-width:760px){
  .drawer-mask{
    opacity:0 !important;
    pointer-events:none !important;
    z-index:9600 !important;
  }
  .drawer-mask.open{
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .drawer{
    left:0 !important;
    right:auto !important;
    width:100vw !important;
    max-width:100vw !important;
    border-left:0 !important;
    transform:translate3d(100%,0,0) !important;
    z-index:9601 !important;
    box-shadow:none !important;
  }
  .drawer.open{
    transform:translate3d(0,0,0) !important;
  }
  .drawer-head{
    padding:18px 20px !important;
  }
  .drawer-head h2{
    font-size:24px !important;
    font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif) !important;
  }
  .drawer-body{
    max-height:none !important;
    padding:16px 18px calc(96px + env(safe-area-inset-bottom,0px)) !important;
    -webkit-overflow-scrolling:touch;
  }
  #regenBar{
    padding:10px 18px !important;
  }
  html body #drawer.drawer.open{
    transform:translate3d(0,0,0) !important;
  }
  html body #drawerMask.drawer-mask.open{
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:9600 !important;
  }
}

/* v26.0 — Reader-style article detail overlay.
   The home feed now opens articles in the same calm local-reader format as
   reader.html, with AI summary, clean full text, and source details as peers. */
.modal.show{
  align-items:flex-start !important;
  padding:clamp(12px,2.4vw,30px) !important;
}
.modal.show .flip.reader-modal{
  width:min(980px,94vw) !important;
  height:auto !important;
  max-height:calc(100svh - clamp(24px,4.8vw,60px)) !important;
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  overflow-y:auto !important;
  border-radius:28px !important;
  background:var(--paper-2) !important;
  box-shadow:0 34px 90px rgba(0,0,0,.42) !important;
  scrollbar-width:thin;
}
.flip.reader-modal .left{
  min-height:0 !important;
  height:clamp(260px,42vh,460px) !important;
  position:relative !important;
}
.flip.reader-modal .left .img{
  position:absolute !important;
  inset:0 !important;
  background-size:cover !important;
  background-position:center !important;
  z-index:0;
}
.modal-cover-image{
  position:absolute;
  inset:0;
  z-index:0;
  background:#161616;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.modal-cover-image.is-empty{background-image:none !important}
.flip.reader-modal .left .scrim{
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.24) 46%,rgba(0,0,0,.82) 100%),
    linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,0) 62%) !important;
  z-index:1;
}
.flip.reader-modal .left .cap{
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:clamp(22px,4vw,44px) clamp(22px,5vw,56px) !important;
  color:#fff !important;
  z-index:2;
}
.reader-modal-brand{
  margin:0 0 16px;
  color:rgba(255,255,255,.76);
  font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.flip.reader-modal .left .cap .kicker{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  font-size:12px !important;
  line-height:1.45 !important;
  letter-spacing:.16em !important;
  font-weight:900 !important;
}
.flip.reader-modal .left .cap h2{
  max-width:860px;
  margin-top:10px !important;
  font-size:clamp(30px,5.4vw,58px) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  text-shadow:0 8px 28px rgba(0,0,0,.34);
}
.flip.reader-modal .right{
  padding:clamp(22px,4vw,46px) !important;
  gap:20px !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  background:
    radial-gradient(760px 420px at 0% 0%, color-mix(in srgb,var(--accent2) 8%,transparent), transparent 60%),
    var(--paper-2) !important;
}
.modal-reader-meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px 16px;
  color:var(--muted);
  font-size:13px;
  font-weight:760;
}
.modal-reader-meta span{
  display:inline-flex;
  align-items:center;
  min-width:0;
}
.modal-reader-side-title{
  display:none;
  margin:0;
  color:var(--ink);
  font-family:var(--serif,'Noto Serif TC',Georgia,serif);
  font-size:clamp(26px,2.4vw,36px);
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:900;
}
.modal-reader-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:2px 0 0;
}
.reader-action{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 18px;
  background:color-mix(in srgb,var(--paper-2) 82%,var(--pill) 18%);
  color:var(--ink);
  text-decoration:none;
  font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  font-size:13px;
  font-weight:880;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.reader-action.primary{
  border-color:transparent;
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 76%,#ff8b5a 24%));
  color:#fff;
}
.reader-action[aria-pressed="true"]{
  background:linear-gradient(135deg,var(--accent2),color-mix(in srgb,var(--accent2) 70%,var(--accent) 30%));
  color:#fff;
  border-color:transparent;
}
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.library-view-tabs{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:0 0 18px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper-2);
}
.library-view-tabs button{
  min-height:38px;
  border:0;
  border-radius:999px;
  padding:0 18px;
  background:transparent;
  color:var(--muted);
  font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  cursor:pointer;
}
.library-view-tabs button.active{
  background:var(--accent);
  color:#fff;
}
.offline-library-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  color:var(--muted);
  font-size:12px;
  font-weight:750;
}
.offline-library-toolbar button,
.offline-clear-all{
  min-height:38px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 14px;
  background:var(--paper-2);
  color:var(--ink);
  font-weight:800;
}
.offline-library-card{
  display:grid;
  gap:12px;
  margin-bottom:12px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper-2);
  box-shadow:0 12px 30px rgba(0,0,0,.05);
}
.offline-library-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.offline-kind,
.offline-device-note{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  border-radius:999px;
  padding:0 10px;
  background:var(--pill);
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.offline-kind.kind-fulltext{ background:color-mix(in srgb,var(--accent2) 14%,var(--paper-2)); color:var(--accent2); }
.offline-kind.kind-summary-preview{ background:color-mix(in srgb,var(--accent) 12%,var(--paper-2)); color:var(--accent); }
.offline-library-card h3{ margin:0; color:var(--ink); font:850 clamp(18px,2vw,25px)/1.25 var(--serif,Georgia,serif); }
.offline-library-meta,.offline-media-note{ color:var(--muted); font-size:12px; line-height:1.5; }
.offline-banner{
  margin:10px 0;
  padding:10px 12px;
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 11%,var(--paper-2));
  color:var(--ink);
  font-size:12px;
  font-weight:750;
}
@media(max-width:767px){
  .library-view-tabs{ display:none; }
  .mobile-library-tabs{ grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
  .offline-library-card{ padding:14px; border-radius:17px; }
  .offline-library-card-top{ align-items:flex-start; }
  .offline-device-note{ text-align:right; }
  .offline-clear-all{ width:100%; margin-top:12px; }
}
.modal-reader-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:18px;
  background:color-mix(in srgb,var(--pill) 48%,transparent);
}
.modal-reader-tabs button{
  min-height:36px;
  flex:1 1 130px;
  border:0;
  border-radius:13px;
  padding:8px 12px;
  background:transparent;
  color:var(--muted);
  font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.modal-reader-tabs button.active{
  background:var(--paper-2);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}
.modal-reader-toolrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:-4px 0 0;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--pill) 78%,transparent);
}
.modal-reader-toolrow .tool-label{
  font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  white-space:nowrap;
}
.modal-reader-toolrow .modal-font-tools{
  margin-left:auto;
}
.modal-reader-panel{
  min-width:0;
}
.modal-reader-panel[hidden]{
  display:none !important;
}
.flip.reader-modal .modal-summary-block{
  max-height:none !important;
  padding:20px !important;
  border-radius:22px !important;
}
.flip.reader-modal #mDeck.modal-summary-content{
  overflow:visible !important;
  padding-right:0 !important;
  max-height:none !important;
}
.flip.reader-modal .modal-stars{
  max-width:100% !important;
  border-radius:18px !important;
}
.modal-reader-text-card,
.flip.reader-modal .modal-source-block{
  padding:20px !important;
  border:1px solid var(--line) !important;
  border-radius:22px !important;
  background:color-mix(in srgb,var(--paper-2) 92%,var(--pill) 8%) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}
.modal-reader-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);
}
.modal-reader-section-head h4,
.flip.reader-modal .modal-source-block h4{
  margin:0 !important;
  font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif) !important;
  font-size:12px !important;
  font-style:normal !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
  color:var(--muted) !important;
}
.modal-reader-section-head span{
  color:var(--muted);
  font-size:12px;
  font-weight:780;
}
.modal-reader-fulltext{
  font-family:var(--serif,'Noto Serif TC',Georgia,serif);
  font-size:calc(19px * var(--user-font-scale, 1));
  line-height:1.86;
  color:var(--ink);
}
.modal-reader-fulltext p{
  margin:0 0 1.05em;
}
.modal-reader-preview-note{
  margin:0 0 18px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
  border-radius:10px;
  background:color-mix(in srgb, var(--accent) 8%, transparent);
  color:var(--muted);
  font:780 12px/1.45 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.modal-reader-fulltext .modal-reader-empty{
  font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}
.modal-reader-empty p{margin:0}
.modal-reader-empty-actions{
  display:flex;
  gap:8px;
  margin-top:18px;
  margin-bottom:8px;
}
.modal-reader-empty-actions button{
  min-height:38px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--chip);
  color:var(--ink);
  font:850 12px/1 var(--sans,system-ui,sans-serif);
}
.modal-reader-empty-actions button:first-child{
  border-color:transparent;
  background:var(--accent);
  color:#fff;
}
.modal-source-details{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 16px;
}
.modal-source-details span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  max-width:100%;
  padding:5px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--pill) 50%,transparent);
  color:var(--ink-soft);
  font-size:12px;
  font-weight:800;
  white-space:normal;
}
.modal-source-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
}
.flip.reader-modal .src-link{
  font-size:15px !important;
}
@media(min-width:701px){
  .modal.show .flip.reader-modal{
    height:min(760px,calc(100svh - 60px)) !important;
    max-height:calc(100svh - 60px) !important;
    display:grid !important;
    grid-template-columns:minmax(360px,.92fr) minmax(460px,1.08fr) !important;
    overflow:hidden !important;
  }
  .flip.reader-modal .left{
    height:auto !important;
    min-height:0 !important;
  }
  .flip.reader-modal .left .cap{
    padding:34px 34px 42px !important;
  }
  .flip.reader-modal .left .cap h2{
    font-size:clamp(34px,4.2vw,54px) !important;
    line-height:1.02 !important;
  }
  .flip.reader-modal .right{
    min-height:0 !important;
    overflow-y:auto !important;
    padding:30px !important;
  }
  .modal-reader-side-title{
    display:block;
  }
}
@media(max-width:700px){
  .modal.show{
    padding:calc(10px + env(safe-area-inset-top,0px)) 10px calc(14px + env(safe-area-inset-bottom,0px)) !important;
    align-items:flex-start !important;
    overflow-y:auto !important;
  }
  .modal.show .flip.reader-modal{
    width:calc(100vw - 20px) !important;
    max-height:calc(100svh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
    height:auto !important;
    display:block !important;
    border-radius:24px !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
  }
  .flip.reader-modal .left{
    height:clamp(230px,32svh,300px) !important;
  }
  .flip.reader-modal .left .cap{
    padding:18px 54px 22px 20px !important;
  }
  .reader-modal-brand{
    font-size:9.5px;
    margin-bottom:10px;
    letter-spacing:.18em;
  }
  .flip.reader-modal .left .cap .kicker{
    font-size:10.5px !important;
    letter-spacing:.14em !important;
  }
  .flip.reader-modal .left .cap h2{
    font-size:clamp(24px,6.6vw,32px) !important;
    line-height:1.08 !important;
    -webkit-line-clamp:2 !important;
  }
  .flip.reader-modal .right{
    padding:18px 18px 22px !important;
    gap:16px !important;
  }
  .modal-reader-meta{
    font-size:12px;
    gap:7px 12px;
  }
  .modal-reader-actions{
    gap:8px;
  }
  .reader-action{
    flex:1 1 auto;
    min-height:42px;
    padding:10px 12px;
  }
  .modal-reader-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .modal-reader-tabs::-webkit-scrollbar{
    display:none;
  }
  .modal-reader-tabs button{
    flex:0 0 auto;
    min-width:112px;
  }
  .modal-reader-toolrow{
    position:sticky;
    top:0;
    z-index:5;
    margin:-4px 0 0;
    padding:7px 8px;
    backdrop-filter:blur(14px);
  }
  .modal-reader-toolrow .tool-label{
    font-size:10.5px;
    letter-spacing:.1em;
  }
  .flip.reader-modal .modal-summary-block,
  .modal-reader-text-card,
  .flip.reader-modal .modal-source-block{
    padding:16px !important;
    border-radius:20px !important;
  }
  .modal-summary-head{
    align-items:flex-start !important;
  }
  .modal-summary-meta{
    width:100%;
    justify-content:space-between;
  }
  .modal-font-tools{
    margin-left:auto !important;
  }
  .modal-reader-fulltext{
    font-size:calc(18px * var(--user-font-scale, 1));
    line-height:1.78;
  }
  .close-x{
    top:calc(16px + env(safe-area-inset-top,0px)) !important;
    right:16px !important;
    width:44px !important;
    height:44px !important;
  }
}

/* v26.1 — Focused filters + reader polish.
   The public filter sheet is now intentionally simple: category + release date.
   Advanced source/keyword/rating state remains available to the engine, but not
   as a noisy bottom drawer for normal reading. */
.filterbar .advanced-filter-group{
  display:none !important;
}
.filterbar .filter-grid{
  grid-template-columns:minmax(230px,.7fr) minmax(320px,1.4fr) !important;
  align-items:start;
}
.filterbar .category-filter-group{
  min-width:0;
}
.filter-pills-primary{
  max-height:142px;
  overflow-y:auto;
  padding-right:6px;
}
.filter-pills-primary .pill{
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  font-weight:850;
}
.filter-pills-primary .pill .mini-count{
  margin-left:6px;
  padding:1px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--ink) 8%,transparent);
  color:var(--muted);
  font-size:.86em;
}
.filter-pills-primary .pill.on .mini-count{
  background:rgba(255,255,255,.22);
  color:inherit;
}
@media(max-width:760px){
  .filterbar.open{
    max-height:min(62vh, 460px) !important;
  }
  .filterbar .filter-grid{
    grid-template-columns:1fr !important;
  }
  .filter-pills-primary{
    max-height:168px;
  }
  .filter-actions{
    align-items:stretch;
  }
  .filter-tip{
    display:none;
  }
  .filter-action-buttons{
    display:flex;
    width:100%;
    gap:8px;
  }
  .filter-action-buttons .reset-btn{
    flex:1;
  }
}
@media(min-width:0){
  .mobile-read-toggle{
    background:rgba(8,13,24,.96) !important;
    border:1px solid rgba(59,130,246,.48) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.04) inset !important;
  }
  .mobile-read-toggle button{
    color:#cbd5e1 !important;
  }
  .mobile-read-toggle button.active{
    background:linear-gradient(135deg,#0a84ff,#2563eb) !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(37,99,235,.38) !important;
  }
  .mobile-read-toggle button.active .mobile-read-count{
    display:inline-flex;
    background:rgba(255,255,255,.22);
  }
  .mobile-read-toggle button:not(.active) .mobile-read-count{
    display:inline-flex;
    opacity:.72;
    background:rgba(255,255,255,.08);
  }
}
.flip.reader-modal #mDeck.modal-summary-content{
  font-size:calc(19px * var(--user-font-scale, 1) * var(--modal-recap-scale, 1)) !important;
  line-height:1.78 !important;
}
.ai-brief-card{
  gap:16px !important;
}
.ai-brief-overall{
  padding:18px 18px 19px !important;
  border-radius:20px !important;
}
.ai-brief-review-text{
  font-size:1.08em !important;
  line-height:1.78 !important;
}
.ai-brief-keybox{
  gap:10px !important;
  padding:16px 17px 17px !important;
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line)) !important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--paper-2)),color-mix(in srgb,var(--paper-2) 94%,#0ea5e9 6%)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14) !important;
}
.ai-brief-key-head{
  padding:0 0 8px !important;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));
}
.ai-brief-key-note{
  color:color-mix(in srgb,var(--muted) 82%,var(--accent) 18%) !important;
}
.ai-brief-insights{
  display:block !important;
}
.ai-brief-insight{
  display:grid !important;
  grid-template-columns:auto minmax(68px, max-content) minmax(0,1fr) !important;
  gap:8px 10px !important;
  align-items:start !important;
  padding:9px 0 0 !important;
  border-top:0 !important;
  position:relative;
  line-height:1.7 !important;
}
.ai-brief-insight.unlabeled{
  grid-template-columns:auto minmax(0,1fr) !important;
}
.ai-brief-insight:first-child{
  padding-top:0 !important;
}
.ai-brief-insight::before{
  content:none !important;
}
.ai-brief-bullet{
  width:7px !important;
  height:7px !important;
  margin-top:.68em !important;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent) !important;
}
.ai-brief-insight-label{
  margin:.08em 0 0 !important;
  padding:2px 7px !important;
  font-size:.68em !important;
  vertical-align:.12em !important;
}
.ai-brief-insight-body,
.ai-brief-insight-text{
  display:inline !important;
  color:var(--ink-soft) !important;
}
.flip .right .metric-hi{
  display:inline;
  padding:0 .08em;
  border-radius:0;
  background:linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--gold) 16%,transparent) 0);
  color:color-mix(in srgb,#c05621 82%,var(--ink) 18%);
  border-bottom:1px solid color-mix(in srgb,var(--gold) 28%,transparent);
  font-weight:950;
  letter-spacing:.005em;
}
.modal-reader-fulltext{
  font-size:calc(19.5px * var(--user-font-scale, 1)) !important;
  line-height:1.9 !important;
  max-width:72ch;
}
.modal-reader-fulltext p{
  margin:0 0 1.18em;
}
.mobile-source-pagination{
  grid-column:1 / -1;
  display:grid;
  justify-items:center;
  gap:12px;
  margin:20px 16px 24px;
  padding:18px 16px;
  border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  color:var(--muted);
  text-align:center;
  font:760 12px/1.45 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.mobile-source-pagination button{
  min-width:min(100%,260px);
  min-height:48px;
  padding:11px 20px;
  border:1px solid color-mix(in srgb,var(--accent) 44%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--accent) 13%,var(--paper-2));
  color:var(--ink);
  font:900 14px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.mobile-source-pagination button:disabled{
  cursor:progress;
  opacity:.65;
}
.modal-reader-prose > p{
  text-align:justify;
  text-align-last:start;
  text-justify:auto;
  -webkit-hyphens:auto;
  hyphens:auto;
  overflow-wrap:anywhere;
}
.modal-reader-preview-prose > p,
.modal-reader-prose .modal-reader-subhead,
.modal-reader-prose .modal-reader-list,
.modal-reader-prose .modal-reader-quote{
  text-align:start;
  text-align-last:auto;
}
.modal-reader-list{
  margin:0 0 1.18em;
  padding-inline-start:1.4em;
}
.modal-reader-list li{
  margin:.42em 0;
  padding-inline-start:.12em;
}
.modal-reader-quote{
  margin:1.15em 0 1.35em;
  padding:.2em 0 .2em 1em;
  border-inline-start:3px solid color-mix(in srgb,var(--accent) 54%,var(--line));
  color:color-mix(in srgb,var(--ink) 82%,var(--muted) 18%);
  font-style:italic;
}
.modal-inline-media{
  width:100%;
  min-width:0;
  margin:1.25em 0 1.55em;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:8px;
  background:color-mix(in srgb,var(--paper-2) 90%,#000 10%);
}
.modal-inline-media.is-lead{margin-top:0}
.modal-inline-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#161616;
}
.modal-inline-media figcaption{
  padding:9px 12px;
  color:var(--muted);
  font:650 12px/1.45 var(--sans,'Inter',system-ui,sans-serif);
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.modal-reader-fulltext .reader-lead{
  margin-bottom:1.24em;
  padding:0 0 1.05em;
  border-bottom:1px solid color-mix(in srgb,var(--line) 54%,transparent);
  color:color-mix(in srgb,var(--ink) 94%,var(--muted) 6%);
  font-weight:680;
}
.flip.reader-modal .modal-reader-fulltext mark.kw-hi,
.flip.reader-modal .modal-reader-fulltext mark.partner-hi,
.flip.reader-modal .modal-reader-fulltext mark.date-hi,
.flip.reader-modal .modal-reader-fulltext mark.num-hi,
.flip.reader-modal .modal-reader-fulltext mark.metric-hi,
.modal-reader-fulltext mark.kw-hi,
.modal-reader-fulltext mark.partner-hi,
.modal-reader-fulltext mark.date-hi,
.modal-reader-fulltext mark.num-hi,
.modal-reader-fulltext mark.metric-hi{
  display:inline;
  padding:0 .06em;
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,transparent 72%,color-mix(in srgb,#e0b56a 16%,transparent) 0);
  color:color-mix(in srgb,#e0b56a 64%,var(--ink) 36%);
  font-weight:820;
  letter-spacing:0;
  text-shadow:none;
}
.flip.reader-modal .modal-reader-fulltext mark.date-hi,
.modal-reader-fulltext mark.date-hi{
  background:linear-gradient(180deg,transparent 72%,color-mix(in srgb,#8fb7ff 14%,transparent) 0);
  color:color-mix(in srgb,#9fbded 62%,var(--ink) 38%);
}
.flip.reader-modal .modal-reader-fulltext mark.partner-hi,
.modal-reader-fulltext mark.partner-hi{
  background:linear-gradient(180deg,transparent 72%,color-mix(in srgb,var(--accent2) 13%,transparent) 0);
  color:color-mix(in srgb,var(--accent2) 58%,var(--ink) 42%);
}
.modal-reader-fulltext .modal-reader-subhead{
  margin:1.35em 0 .55em;
  padding:0 0 .45em;
  border-bottom:1px solid color-mix(in srgb,var(--line) 66%,transparent);
  color:color-mix(in srgb,var(--accent) 74%,var(--ink) 26%);
  font-family:var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  font-size:.82em;
  font-style:normal;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.modal-reader-fulltext a{
  color:var(--accent);
  font-weight:850;
  text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 42%,transparent);
}
@media(max-width:760px){
  .flip.reader-modal #mDeck.modal-summary-content{
    font-size:calc(19.5px * var(--user-font-scale, 1) * var(--modal-recap-scale, 1)) !important;
    line-height:1.82 !important;
  }
  .modal-reader-fulltext{
    font-size:calc(19px * var(--user-font-scale, 1)) !important;
    line-height:1.86 !important;
  }
  .modal-inline-media{margin:1.05em 0 1.3em}
  .modal-inline-media img{max-height:390px}
  .modal-reader-text-card{
    padding:18px 18px 20px !important;
  }
  .modal-reader-section-head{
    margin-bottom:12px;
  }
}
.flip.reader-modal{
  --reader-summary-body-size:clamp(15px, calc(17px * var(--user-font-scale, 1)), 31px);
  --reader-fulltext-body-size:clamp(16px, calc(18px * var(--user-font-scale, 1)), 32px);
}
.flip.reader-modal #mDeck.modal-summary-content{
  font-size:var(--reader-summary-body-size) !important;
  line-height:1.7 !important;
}
.flip.reader-modal .ai-brief-overall,
.flip.reader-modal .ai-brief-keybox{
  font-size:var(--reader-summary-body-size) !important;
}
.flip.reader-modal .ai-brief-review-text,
.flip.reader-modal .ai-brief-review-text p,
.flip.reader-modal .ai-brief-review-text span,
.flip.reader-modal .ai-brief-review-text strong,
.flip.reader-modal .ai-brief-review-text b,
.flip.reader-modal .ai-brief-review-text em,
.flip.reader-modal .ai-brief-review-text i,
.flip.reader-modal .ai-brief-insight-text,
.flip.reader-modal .ai-brief-insight-body,
.flip.reader-modal .ai-brief-insight-body span,
.flip.reader-modal .ai-brief-insight-body strong,
.flip.reader-modal .ai-brief-insight-body b{
  font-size:var(--reader-summary-body-size) !important;
  line-height:1.7 !important;
  letter-spacing:0 !important;
}
.flip.reader-modal .ai-brief-overall .ai-brief-review-text,
.flip.reader-modal .ai-brief-keybox .ai-brief-insight-text{
  font-size:var(--reader-summary-body-size) !important;
  line-height:1.72 !important;
}
.flip.reader-modal .ai-brief-review-text p,
.flip.reader-modal .ai-brief-review-text mark,
.flip.reader-modal .ai-brief-review-text .metric-hi,
.flip.reader-modal .ai-brief-insight-text mark{
  font-size:inherit !important;
  line-height:inherit !important;
}
.flip.reader-modal .ai-brief-insight{
  font-size:var(--reader-summary-body-size) !important;
  line-height:1.7 !important;
}
.flip.reader-modal .modal-reader-fulltext{
  font-size:var(--reader-fulltext-body-size) !important;
  line-height:1.9 !important;
}
.flip.reader-modal .modal-reader-fulltext p,
.flip.reader-modal .modal-reader-fulltext mark,
.flip.reader-modal .modal-reader-fulltext a,
.flip.reader-modal .modal-reader-fulltext span,
.flip.reader-modal .modal-reader-fulltext strong,
.flip.reader-modal .modal-reader-fulltext b,
.flip.reader-modal .modal-reader-fulltext em,
.flip.reader-modal .modal-reader-fulltext i{
  font-size:inherit !important;
  line-height:inherit !important;
}
.flip.reader-modal .modal-reader-fulltext .reader-lead{
  font-size:1em !important;
  line-height:1.82 !important;
}
.flip.reader-modal .modal-reader-fulltext .modal-reader-subhead{
  font-size:.9em !important;
}
.flip.reader-modal .modal-reader-fulltext .modal-reader-empty{
  font-size:clamp(15px, calc(16px * var(--user-font-scale, 1)), 23px) !important;
  line-height:1.7 !important;
}

/* v27 — article-grounded MiniMax chat and in-flow provenance. Keep this
   selector stronger than the legacy `.flip .right .modal-source-block`
   mobile rule so the footer cannot regain a second horizontal inset. */
.flip.reader-modal .modal-reader-text-card > .modal-source-footer{
  margin:32px 0 0 !important;
  padding:24px 0 0 !important;
  border-width:1px 0 0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.modal-source-footer .modal-source-details{
  gap:12px;
}
.modal-source-footer .modal-source-links{
  gap:12px 16px;
}
.modal-source-footer .src-link{
  min-height:44px;
  align-items:center;
}
.article-chat-cited{
  animation:article-chat-reference 1.8s ease;
}
@keyframes article-chat-reference{
  0%,100%{background:transparent}
  20%,70%{background:color-mix(in srgb,var(--accent) 14%,transparent)}
}
.article-chat-shell{
  display:flex;
  min-height:420px;
  max-height:calc(100svh - 340px);
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    radial-gradient(620px 260px at 0 0,color-mix(in srgb,var(--accent2) 10%,transparent),transparent 68%),
    color-mix(in srgb,var(--paper-2) 94%,var(--pill) 6%);
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}
.article-chat-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 20px 16px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);
}
.article-chat-head h4{
  max-width:54ch;
  margin:3px 0 5px;
  color:var(--ink);
  font:900 17px/1.3 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.article-chat-head p{
  margin:0;
  color:var(--muted);
  font:650 12px/1.5 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.article-chat-eyebrow{
  color:var(--accent);
  font:950 10px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.article-chat-new,
.article-chat-delete,
.article-chat-suggestions button,
.article-chat-composer button{
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--paper-2) 88%,var(--pill) 12%);
  color:var(--ink);
  font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  cursor:pointer;
}
.article-chat-new{
  min-height:36px;
  flex:0 0 auto;
  padding:8px 13px;
}
.article-chat-head-actions{display:flex;align-items:center;gap:8px}
.article-chat-delete{
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  background:transparent;
  color:var(--muted);
  border-radius:999px;
  padding:9px 13px;
  font-size:12px;
  font-weight:800;
}
.article-chat-delete:disabled{opacity:.42;cursor:not-allowed}
.article-chat-delete:not(:disabled):hover{color:#ffb4b7;border-color:#7a3d42;background:#371b20}
.article-chat-notice{
  margin:14px 20px 0;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--accent2) 26%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent2) 7%,transparent);
  color:var(--ink-soft);
  font:700 12px/1.5 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.article-chat-notice[data-kind="error"],
.article-chat-notice[data-kind="warning"]{
  border-color:color-mix(in srgb,#d97706 34%,var(--line));
  background:color-mix(in srgb,#d97706 8%,transparent);
}
.article-chat-history{
  min-height:170px;
  flex:1 1 auto;
  overflow:auto;
  overscroll-behavior:contain;
  padding:16px 20px;
  scrollbar-gutter:stable;
}
.article-chat-empty{
  display:grid;
  gap:7px;
  min-height:150px;
  place-content:center;
  padding:24px;
  color:var(--muted);
  text-align:center;
  font:650 13px/1.55 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.article-chat-empty strong{
  color:var(--ink);
  font-size:16px;
}
.article-chat-message{
  display:grid;
  gap:5px;
  width:min(88%,680px);
  margin:0 0 14px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:16px 16px 16px 5px;
  background:var(--paper-2);
  box-shadow:0 8px 24px rgba(0,0,0,.055);
}
.article-chat-message.is-user{
  width:min(78%,600px);
  margin-left:auto;
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:16px 16px 5px 16px;
  background:color-mix(in srgb,var(--accent) 8%,var(--paper-2));
}
.article-chat-message-label{
  color:var(--muted);
  font:900 10px/1.2 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.article-chat-message-body{
  color:var(--ink);
  font:650 14px/1.7 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.article-chat-message-status{
  color:#b45309;
  font:850 11px/1.3 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.article-chat-citation{
  margin:0 2px;
  padding:1px 5px;
  border:0;
  border-radius:5px;
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  color:var(--accent);
  font:900 11px/1.5 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  cursor:pointer;
}
.article-chat-suggestions{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:0 20px 14px;
  scrollbar-width:none;
}
.article-chat-suggestions::-webkit-scrollbar{display:none}
.article-chat-suggestions button{
  min-height:34px;
  flex:0 0 auto;
  max-width:min(360px,80vw);
  padding:8px 12px;
  color:var(--ink-soft);
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.article-chat-composer{
  display:grid;
  gap:9px;
  padding:14px 20px 18px;
  border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  background:color-mix(in srgb,var(--paper-2) 92%,transparent);
}
.article-chat-composer textarea{
  width:100%;
  min-height:58px;
  max-height:160px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:14px;
  padding:11px 13px;
  background:var(--paper);
  color:var(--ink);
  font:650 14px/1.5 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  outline:none;
}
.article-chat-composer textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);
}
.article-chat-composer-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.article-chat-limit{
  margin-right:auto;
  color:var(--muted);
  font:750 11px/1.3 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
}
.article-chat-composer button{
  min-height:36px;
  padding:8px 14px;
}
.article-chat-send{
  border-color:transparent !important;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
  color:#fff !important;
}
.article-chat-stop{
  border-color:color-mix(in srgb,#dc2626 35%,var(--line)) !important;
  color:#dc2626 !important;
}
.article-chat-shell[data-chat-state="loading"] .article-chat-history,
.article-chat-shell[data-chat-state="login"] .article-chat-history{
  opacity:.78;
}
@media(max-width:760px){
  .article-chat-shell{
    min-height:460px;
    max-height:none;
    border-radius:20px;
  }
  .article-chat-head{padding:17px 16px 14px}
  .article-chat-head h4{
    display:-webkit-box;
    overflow:hidden;
    font-size:15px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .article-chat-head{align-items:flex-start}
  .article-chat-head-actions{flex-direction:column-reverse;align-items:stretch}
  .article-chat-head-actions button{white-space:nowrap}
  .article-chat-notice{margin:12px 16px 0}
  .article-chat-history{padding:14px 16px}
  .article-chat-message{width:92%}
  .article-chat-message.is-user{width:86%}
  .article-chat-suggestions{padding:0 16px 12px}
  .article-chat-composer{padding:12px 16px 16px}
  .article-chat-limit{width:100%}
  .article-chat-composer-actions{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  .article-chat-cited{animation:none;outline:3px solid color-mix(in srgb,var(--accent) 42%,transparent)}
  .article-chat-history{scroll-behavior:auto}
}

/* v26.8 — AI summary hierarchy cleanup.
   Keep the top review as the primary read, and make the lower section a small
   set of contextual signals instead of a second competing summary. */
.flip.reader-modal{
  --reader-summary-lead-size:clamp(18px, calc(19.8px * var(--user-font-scale, 1) * var(--modal-recap-scale, 1)), 30px);
  --reader-summary-detail-size:clamp(14px, calc(15.4px * var(--user-font-scale, 1)), 22px);
}
.flip.reader-modal .ai-brief-card{
  gap:14px !important;
}
.flip.reader-modal .ai-brief-overall{
  padding:19px 20px !important;
  border-radius:22px !important;
  border-color:color-mix(in srgb,var(--line) 70%,transparent) !important;
  background:
    radial-gradient(420px 160px at 0 0,color-mix(in srgb,var(--accent2) 8%,transparent),transparent 70%),
    linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 94%,#fff 6%),color-mix(in srgb,var(--paper-2) 98%,#fff 2%)) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.075) !important;
}
.flip.reader-modal .ai-brief-review-text,
.flip.reader-modal .ai-brief-review-text p,
.flip.reader-modal .ai-brief-review-text span,
.flip.reader-modal .ai-brief-review-text strong,
.flip.reader-modal .ai-brief-review-text b,
.flip.reader-modal .ai-brief-review-text em,
.flip.reader-modal .ai-brief-review-text i{
  font-size:var(--reader-summary-lead-size) !important;
  line-height:1.66 !important;
  letter-spacing:0 !important;
}
.flip.reader-modal .ai-brief-review-text p + p{
  margin-top:.9em !important;
  padding-top:.9em !important;
}
.flip.reader-modal .ai-brief-keybox{
  padding:15px 17px 16px !important;
  border-radius:20px !important;
  border-color:color-mix(in srgb,var(--accent2) 18%,var(--line) 82%) !important;
  background:
    radial-gradient(360px 150px at 0 0,color-mix(in srgb,var(--accent2) 9%,transparent),transparent 72%),
    linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 96%,#fff 4%),color-mix(in srgb,var(--paper-2) 99%,#0f172a 1%)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 24px rgba(15,23,42,.045) !important;
}
.flip.reader-modal .ai-brief-key-head{
  align-items:center !important;
  padding:0 0 9px !important;
  border-bottom:1px solid color-mix(in srgb,var(--accent2) 18%,var(--line)) !important;
}
.flip.reader-modal .ai-brief-key-title{
  font-size:clamp(11px, calc(11px * min(var(--user-font-scale, 1), 1.18)), 13px) !important;
  color:color-mix(in srgb,var(--accent2) 76%,var(--ink) 24%) !important;
}
.flip.reader-modal .ai-brief-key-note{
  display:inline-flex !important;
  color:var(--muted) !important;
  font-size:clamp(10px, calc(10.5px * min(var(--user-font-scale, 1), 1.12)), 12px) !important;
}
.flip.reader-modal .ai-brief-insights{
  display:grid !important;
  gap:0 !important;
}
.flip.reader-modal .ai-brief-insight{
  display:grid !important;
  grid-template-columns:auto minmax(62px, max-content) minmax(0,1fr) !important;
  gap:8px 11px !important;
  align-items:start !important;
  padding:11px 0 !important;
  border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent) !important;
  position:relative !important;
  font-size:var(--reader-summary-detail-size) !important;
  line-height:1.62 !important;
}
.flip.reader-modal .ai-brief-insight:first-child{
  padding-top:0 !important;
  border-top:0 !important;
}
.flip.reader-modal .ai-brief-insight:last-child{
  padding-bottom:0 !important;
}
.flip.reader-modal .ai-brief-insight::before{
  content:none !important;
}
.flip.reader-modal .ai-brief-bullet{
  width:8px !important;
  height:8px !important;
  margin-top:.68em !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent2) 10%,transparent) !important;
}
.flip.reader-modal .ai-brief-insight.number .ai-brief-bullet{
  background:linear-gradient(135deg,var(--gold),#f59e0b) !important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 10%,transparent) !important;
}
.flip.reader-modal .ai-brief-insight.implication .ai-brief-bullet{
  background:linear-gradient(135deg,#22c55e,#0ea5e9) !important;
  box-shadow:0 0 0 4px color-mix(in srgb,#22c55e 10%,transparent) !important;
}
.flip.reader-modal .ai-brief-insight.timing .ai-brief-bullet{
  background:linear-gradient(135deg,#8b5cf6,#0ea5e9) !important;
  box-shadow:0 0 0 4px color-mix(in srgb,#8b5cf6 10%,transparent) !important;
}
.flip.reader-modal .ai-brief-insight-label{
  margin:.12em 0 0 !important;
  padding:1px 7px !important;
  font-size:.68em !important;
  line-height:1.35 !important;
  white-space:nowrap !important;
  background:color-mix(in srgb,var(--accent2) 10%,transparent) !important;
}
.flip.reader-modal .ai-brief-insight.unlabeled{
  grid-template-columns:auto minmax(0,1fr) !important;
}
.flip.reader-modal .ai-brief-insight-body,
.flip.reader-modal .ai-brief-insight-body span,
.flip.reader-modal .ai-brief-insight-body strong,
.flip.reader-modal .ai-brief-insight-body b,
.flip.reader-modal .ai-brief-insight-text,
.flip.reader-modal .ai-brief-insight-text mark{
  font-size:var(--reader-summary-detail-size) !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
}
.flip.reader-modal .ai-brief-keybox .ai-brief-insight-body,
.flip.reader-modal .ai-brief-keybox .ai-brief-insight-body span,
.flip.reader-modal .ai-brief-keybox .ai-brief-insight-body strong,
.flip.reader-modal .ai-brief-keybox .ai-brief-insight-body b,
.flip.reader-modal .ai-brief-keybox .ai-brief-insight-text,
.flip.reader-modal .ai-brief-keybox .ai-brief-insight-text mark{
  font-size:var(--reader-summary-detail-size) !important;
  line-height:1.62 !important;
  letter-spacing:0 !important;
}
.flip.reader-modal .ai-brief-keybox .metric-hi{
  padding:0 .08em !important;
  border-radius:0 !important;
}
@media(max-width:760px){
  .flip.reader-modal{
    --reader-summary-lead-size:clamp(18px, calc(19px * var(--user-font-scale, 1) * var(--modal-recap-scale, 1)), 28px);
    --reader-summary-detail-size:clamp(14px, calc(15px * var(--user-font-scale, 1)), 20px);
  }
  .flip.reader-modal .ai-brief-overall{
    padding:17px 18px !important;
  }
  .flip.reader-modal .ai-brief-keybox{
    padding:14px 15px !important;
  }
  .flip.reader-modal .ai-brief-key-note{
    display:none !important;
  }
}

/* Unified 1+2 Highlights: one profile-neutral major event and two relevant/explore events. */
.top3-focus-page{
  display:grid;
  gap:14px;
  width:100%;
  min-width:0;
  margin:0 0 96px;
}
.top3-compact-empty{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:58px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper-2);
  color:var(--ink-soft);
  font:800 12px/1.4 var(--sans,system-ui,sans-serif);
}
.top3-compact-empty button{
  flex:0 0 auto;
  min-height:34px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--chip);
  color:var(--ink);
  padding:0 12px;
  font:850 11px/1 var(--sans,system-ui,sans-serif);
}
.top3-focus-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:4px 2px 2px;
}
.top3-focus-intro h2{
  margin:5px 0 0;
  font:950 25px/1.12 var(--sans,system-ui,sans-serif);
  letter-spacing:0;
}
.top3-focus-intro p{
  margin:0;
  max-width:470px;
  color:var(--muted);
  text-align:right;
  font:700 12px/1.45 var(--sans,system-ui,sans-serif);
}
.top3-highlight-list,
.top3-highlight-item{
  display:grid;
  gap:12px;
  min-width:0;
}
.top3-major-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:13px;
  min-width:0;
  min-height:258px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper-2);
  overflow:hidden;
}
.top3-major-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:#d99a1b;
}
.top3-major-card.is-relevant::before{background:#2fbf71}
.top3-major-card.is-explore::before{background:#3388e8}
.top3-major-card.is-selected{
  border-color:color-mix(in srgb,#d99a1b 58%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,#d99a1b 18%,transparent);
}
.top3-major-card.is-relevant.is-selected{
  border-color:color-mix(in srgb,#2fbf71 58%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,#2fbf71 18%,transparent);
}
.top3-major-card.is-explore.is-selected{
  border-color:color-mix(in srgb,#3388e8 58%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,#3388e8 18%,transparent);
}
.top3-major-card.is-unavailable{opacity:.68}
.top3-event-media{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
  width:100%;
  min-width:0;
  height:112px;
  overflow:hidden;
  border-radius:7px;
  background:color-mix(in srgb,var(--paper) 88%,#000 12%);
}
.top3-event-media[data-count="1"]{grid-template-columns:1fr}
.top3-event-media[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.top3-event-media[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.top3-event-media-item{
  position:relative;
  min-width:0;
  height:100%;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#17191d;
  cursor:pointer;
}
.top3-event-media-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .18s ease;
}
.top3-event-media-item:hover img{transform:scale(1.025)}
.top3-event-media-item span{
  position:absolute;
  inset:auto 5px 5px;
  overflow:hidden;
  color:#fff;
  font:800 9px/1.2 var(--sans,system-ui,sans-serif);
  text-align:left;
  text-overflow:ellipsis;
  text-shadow:0 1px 5px #000;
  white-space:nowrap;
}
.top3-event-media.is-panel{
  height:168px;
  margin:14px;
  width:calc(100% - 28px);
}
.top3-slot-line{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.top3-slot-number{
  display:grid;
  place-items:center;
  flex:0 0 29px;
  width:29px;
  height:29px;
  border-radius:50%;
  background:color-mix(in srgb,#d99a1b 16%,transparent);
  color:#d99a1b;
  font:950 10px/1 var(--mono,monospace);
}
.top3-slot-kind{
  color:#d99a1b;
  font:900 10px/1 var(--mono,monospace);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.top3-major-card.is-relevant .top3-slot-number{
  background:color-mix(in srgb,#2fbf71 17%,transparent);
  color:#2fbf71;
}
.top3-major-card.is-relevant .top3-slot-kind{color:#2fbf71}
.top3-major-card.is-explore .top3-slot-number{
  background:color-mix(in srgb,#3388e8 17%,transparent);
  color:#3388e8;
}
.top3-major-card.is-explore .top3-slot-kind{color:#3388e8}
.top3-major-card h3{
  margin:0;
  overflow-wrap:anywhere;
  font:950 20px/1.2 var(--sans,system-ui,sans-serif);
  letter-spacing:0;
}
.top3-card-copy{
  display:grid;
  gap:13px;
  min-width:0;
}
.top3-major-card>p,
.top3-card-copy>p{
  margin:0;
  color:var(--ink-soft);
  font:680 12.5px/1.5 var(--sans,system-ui,sans-serif);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.top3-facts{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.top3-fact{
  min-height:25px;
  display:inline-flex;
  align-items:center;
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  border-radius:999px;
  padding:5px 8px;
  background:var(--chip);
  color:var(--ink-soft);
  font:800 10.5px/1.15 var(--sans,system-ui,sans-serif);
}
.top3-major-actions{
  display:flex;
  gap:8px;
  margin-top:auto;
}
.top3-major-actions button{
  flex:1 1 0;
  min-height:36px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--chip);
  color:var(--ink);
  padding:0 12px;
  font:880 11.5px/1 var(--sans,system-ui,sans-serif);
  cursor:pointer;
}
.top3-major-actions .primary{
  border-color:transparent;
  background:var(--accent);
  color:#fff;
}
.top3-major-actions button:disabled{cursor:not-allowed;opacity:.48}
.top3-major-actions.has-single-action{display:grid;grid-template-columns:minmax(0,1fr)}
.top3-report-index{
  min-width:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper-2);
  overflow:hidden;
}
.top3-report-loading,
.top3-report-empty{
  padding:24px 18px;
  color:var(--muted);
  font:750 12px/1.5 var(--sans,system-ui,sans-serif);
}
.top3-report-row{
  min-width:0;
}
.top3-report-row:has(.top3-report-thumb){
  grid-template-columns:92px 145px minmax(0,1fr) 165px;
  grid-template-areas:"thumb site headline actions";
}
.top3-report-thumb{
  grid-area:thumb;
  width:92px;
  height:64px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:7px;
  background:#17191d;
  cursor:pointer;
}
.top3-report-thumb img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){
  .top3-focus-page{gap:10px;margin-bottom:92px;padding:0 2px}
  .top3-focus-intro{display:grid;gap:7px;padding:2px 2px 4px}
  .top3-focus-intro h2{font-size:21px}
  .top3-focus-intro p{max-width:none;text-align:left;font-size:11.5px}
  .top3-highlight-list,
  .top3-highlight-item{gap:9px}
  .top3-major-card{min-height:0;padding:15px;gap:11px}
  .top3-event-media{height:138px}
  .top3-event-media.is-panel{height:116px;margin:10px;width:calc(100% - 20px)}
  .top3-major-card h3{font-size:18px}
  .top3-major-actions{display:grid;grid-template-columns:1fr 1fr}
  .top3-major-actions button{width:100%;padding:0 8px}
  .top3-report-head{grid-template-columns:minmax(0,1fr);padding:14px}
  .top3-report-filters{display:flex;max-width:100%;overflow-x:auto;padding-bottom:2px}
  .top3-report-filter{flex:0 0 auto;padding:0 10px}
  .top3-report-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"site" "headline" "actions";gap:8px;padding:13px 14px}
  .top3-report-row:has(.top3-report-thumb){grid-template-columns:80px minmax(0,1fr);grid-template-areas:"thumb site" "thumb headline" "actions actions"}
  .top3-report-thumb{width:80px;height:68px}
  .top3-report-actions{justify-content:space-between}
  .top3-report-title{font-size:14px;line-height:1.35}
}

/* BD_DESKTOP_COVERAGE_STACK_START */
.desktop-skip-link,
.desktop-reader-brand,
.desktop-reader-refresh{
  display:none;
}
.desktop-reader-command{
  display:contents;
}
.top3-report-context{
  display:none;
}
.top3-report-timeline{
  margin:0;
  padding:0;
  list-style:none;
}
.top3-report-timeline-item{
  list-style:none;
}
.top3-report-timeline-node{
  display:none;
}
.top3-report-loading{
  display:grid;
  gap:9px;
}
.top3-report-loading strong,
.top3-report-loading > span{
  display:block;
}
.top3-report-skeleton{
  display:grid;
  gap:7px;
}
.top3-report-skeleton-row{
  display:block;
  min-height:16px;
  border-radius:6px;
  background:rgba(255,255,255,.065);
}
.top3-report-error{
  display:grid;
  gap:8px;
  padding:24px 18px;
  color:var(--muted);
  font:750 12px/1.5 var(--sans,system-ui,sans-serif);
}
.top3-report-error strong,
.top3-report-error > span{
  display:block;
}
.top3-report-retry{
  justify-self:start;
  min-height:40px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--accent);
  color:#fff;
  font:850 11px/1 var(--sans,system-ui,sans-serif);
}

@keyframes bdDesktopCoverageShimmer{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}

@media (min-width:1024px){
  html:not(.native-shell){
    scroll-padding-top:108px;
    background:
      radial-gradient(circle at 82% 2%,rgba(10,132,255,.08),transparent 27rem),
      #0d1015 !important;
  }
  html:not(.native-shell) body{
    --mobile-shell-w:min(calc(100vw - 48px),1280px);
    min-height:100vh;
    padding-bottom:0;
    background:
      radial-gradient(circle at 14% 0,rgba(54,211,153,.045),transparent 25rem),
      linear-gradient(180deg,#0d1015 0,#11141a 28rem,#101216 100%) !important;
  }
  html:not(.native-shell) .mobile-reader-shell{
    width:var(--mobile-shell-w);
    max-width:1280px;
    margin:20px auto 0;
    padding:0 0 36px;
  }
  html:not(.native-shell) .desktop-reader-command{
    position:sticky;
    top:12px;
    z-index:9050;
    display:grid;
    grid-template-columns:minmax(168px,.72fr) minmax(282px,1.22fr) minmax(300px,1.42fr) 44px;
    grid-template-areas:"brand nav tools refresh";
    align-items:center;
    gap:10px;
    min-height:70px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:20px;
    background:color-mix(in srgb,#171b22 91%,transparent);
    box-shadow:
      0 20px 48px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.045);
    -webkit-backdrop-filter:blur(22px) saturate(1.25);
    backdrop-filter:blur(22px) saturate(1.25);
  }
  html:not(.native-shell) .desktop-skip-link{
    position:fixed;
    top:10px;
    left:18px;
    z-index:9999;
    display:block;
    min-height:44px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:#0a84ff;
    color:#fff;
    font:900 13px/44px var(--sans,'Inter',system-ui,sans-serif);
    text-decoration:none;
    opacity:0;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .15s ease,transform .15s ease;
  }
  html:not(.native-shell) .desktop-skip-link:focus-visible{
    outline:3px solid #fff;
    outline-offset:3px;
    opacity:1;
    pointer-events:auto;
    transform:none;
  }
  html:not(.native-shell) .desktop-reader-brand{
    grid-area:brand;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    min-height:48px;
    padding:4px 7px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:var(--ink);
    text-align:left;
    cursor:pointer;
  }
  html:not(.native-shell) .desktop-reader-mark{
    display:grid;
    place-items:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:12px;
    background:linear-gradient(145deg,#2497ff,#0668ca);
    color:#fff;
    box-shadow:0 9px 24px rgba(10,132,255,.25);
    font:950 18px/1 var(--sans,'Inter',system-ui,sans-serif);
  }
  html:not(.native-shell) .desktop-reader-brand-copy{
    display:grid;
    gap:3px;
    min-width:0;
  }
  html:not(.native-shell) .desktop-reader-brand-copy b{
    overflow:hidden;
    color:#f8fafc;
    font:920 14px/1.05 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html:not(.native-shell) .desktop-reader-brand-copy small{
    overflow:hidden;
    color:#8692a2;
    font:780 9.5px/1.15 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-reader-top{
    grid-area:tools;
    display:grid;
    grid-template-columns:minmax(130px,1fr) minmax(70px,auto) auto;
    gap:7px;
    min-width:0;
    min-height:44px;
    padding:0;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-reader-top.search-expanded{
    grid-template-columns:minmax(130px,1fr) minmax(70px,auto) auto;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-search-pill{
    grid-column:auto;
    min-height:44px;
    padding:0 13px;
    border-color:rgba(255,255,255,.085);
    border-radius:13px;
    background:#10141a;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-reader-top.search-expanded .mobile-search-pill{
    grid-column:auto;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-search-pill:focus-within{
    border-color:rgba(10,132,255,.62);
    box-shadow:0 0 0 3px rgba(10,132,255,.14);
  }
  html:not(.native-shell) .desktop-reader-command .mobile-search-pill input{
    font-size:13px;
  }
  html:not(.native-shell) .desktop-reader-command #mobileDensityBtn,
  html:not(.native-shell) .desktop-reader-command #mobileSettingsBtn{
    display:none;
  }
  html:not(.native-shell) .desktop-reader-command #mobileAccountBtn{
    grid-column:auto;
    display:inline-flex;
    width:auto;
    min-width:70px;
    min-height:44px;
    padding:0 11px;
    border-color:rgba(255,255,255,.09);
    border-radius:13px;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-reader-top.search-expanded #mobileAccountBtn{
    display:inline-flex;
  }
  html:not(.native-shell) .desktop-reader-command #mobileAccountLabel{
    max-width:58px;
    font-size:11px;
  }
  html:not(.native-shell) .desktop-reader-command #mobileRailModeRow{
    grid-column:auto;
    display:flex;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-reader-top.search-expanded #mobileRailModeRow{
    display:flex;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-rail-mode-toggle{
    min-height:44px;
    padding:4px;
    border-radius:13px;
    background:#10141a;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-rail-mode-toggle button{
    min-height:34px;
    padding:0 9px;
    font-size:10px;
  }
  html:not(.native-shell) .desktop-reader-refresh{
    grid-area:refresh;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid rgba(255,255,255,.09);
    border-radius:13px;
    background:#10141a;
    color:#9aa6b6;
    cursor:pointer;
  }
  html:not(.native-shell) .desktop-reader-refresh:hover{
    border-color:rgba(10,132,255,.42);
    color:#85c4ff;
    background:rgba(10,132,255,.10);
  }
  html:not(.native-shell) .desktop-reader-refresh svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav{
    position:static;
    grid-area:nav;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:auto;
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    transform:none;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav button{
    position:relative;
    flex:1 1 auto;
    min-width:48px;
    min-height:44px;
    padding:0 8px;
    border-radius:12px;
    color:#8f99a8;
    font:820 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    transition:background .15s ease,color .15s ease;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav button:hover{
    background:rgba(255,255,255,.045);
    color:#d6dce5;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav button.active{
    background:rgba(10,132,255,.12);
    color:#79bdff;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav button.active::after{
    content:"";
    position:absolute;
    right:12px;
    bottom:5px;
    left:12px;
    height:2px;
    border-radius:999px;
    background:#168cff;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav b{
    display:none;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html:not(.native-shell) .mobile-source-rail{
    min-height:92px;
    max-height:112px;
    margin-top:18px;
    padding:15px 18px 14px;
    border-color:rgba(255,255,255,.075);
    border-radius:20px 20px 0 0;
    background:#181b21;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  }
  html:not(.native-shell) .mobile-feedbar{
    min-height:62px;
    padding:12px 18px;
    border-color:rgba(255,255,255,.075);
    background:#181b21;
  }
  html:not(.native-shell) .mobile-feed-title{
    font-size:18px;
  }
  html:not(.native-shell) .mobile-feed-list{
    padding-bottom:32px;
  }
  html:not(.native-shell) .mobile-feed-list > .top3-focus-page{
    grid-column:1 / -1;
  }
  html:not(.native-shell) .mobile-read-toggle{
    right:24px;
    bottom:24px;
    left:auto;
    width:auto;
    transform:none;
  }
  html:not(.native-shell) .top3-focus-page{
    gap:18px;
    margin:0;
    padding:22px 0 10px;
  }
  html:not(.native-shell) .top3-focus-intro{
    align-items:end;
    gap:30px;
    padding:2px 4px 4px;
  }
  html:not(.native-shell) .top3-focus-intro h2{
    margin-top:7px;
    color:#f7f9fc;
    font-size:clamp(28px,2.65vw,42px);
    line-height:.98;
    letter-spacing:-.045em;
  }
  html:not(.native-shell) .top3-focus-intro p{
    max-width:510px;
    color:#8f9aaa;
    font-size:12px;
    line-height:1.55;
  }
  html:not(.native-shell) .top3-kicker{
    color:#6db5ff;
    font:900 10px/1 var(--mono,ui-monospace,monospace);
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  html:not(.native-shell) .top3-highlight-list{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    align-items:start;
  }
  html:not(.native-shell) .top3-highlight-item,
  html:not(.native-shell) [data-top3-item]{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0;
    min-width:0;
    height:auto;
    align-content:start;
    scroll-margin-top:108px;
  }
  html:not(.native-shell) .top3-major-card{
    display:grid;
    grid-template-columns:58px 188px minmax(0,1fr) minmax(190px,224px);
    grid-template-areas:
      "slot media title actions"
      "slot media deck actions"
      "slot media facts actions";
    align-items:center;
    column-gap:18px;
    row-gap:7px;
    min-height:126px;
    padding:12px 16px;
    border-color:rgba(255,255,255,.095);
    border-radius:18px;
    background:
      linear-gradient(100deg,rgba(255,255,255,.018),transparent 55%),
      #171c24;
    box-shadow:0 9px 28px rgba(0,0,0,.13);
    overflow:hidden;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
  }
  html:not(.native-shell) .top3-major-card::before{
    inset:0 auto 0 0;
    width:3px;
    height:auto;
    background:#d99a1b;
  }
  html:not(.native-shell) .top3-major-card.is-relevant::before{
    background:#2fbf71;
  }
  html:not(.native-shell) .top3-major-card.is-explore::before{
    background:#3388e8;
  }
  html:not(.native-shell) .top3-major-card:hover{
    border-color:rgba(255,255,255,.16);
    background:
      linear-gradient(100deg,rgba(255,255,255,.03),transparent 55%),
      #1a2029;
  }
  html:not(.native-shell) .top3-major-card:has(> .top3-card-copy){
    grid-template-areas:"slot media copy actions";
  }
  html:not(.native-shell) .top3-slot-line{
    grid-area:slot;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:8px;
    min-width:0;
  }
  html:not(.native-shell) .top3-slot-number{
    flex:0 0 38px;
    width:38px;
    height:38px;
    border-radius:12px;
    font-size:11px;
  }
  html:not(.native-shell) .top3-slot-kind{
    max-width:58px;
    font-size:8.5px;
    line-height:1.25;
    letter-spacing:.07em;
  }
  html:not(.native-shell) .top3-card-media{
    grid-area:media;
    min-width:0;
    overflow:hidden;
    border-radius:12px;
  }
  html:not(.native-shell) .top3-major-card > .top3-event-media{
    grid-area:media;
  }
  html:not(.native-shell) .top3-card-media .top3-event-media,
  html:not(.native-shell) .top3-major-card > .top3-event-media{
    grid-template-columns:minmax(0,1fr);
    width:100%;
    height:102px;
    border-radius:12px;
  }
  html:not(.native-shell) .top3-card-media .top3-event-media-item:not(:first-child),
  html:not(.native-shell) .top3-major-card > .top3-event-media .top3-event-media-item:not(:first-child){
    display:none;
  }
  html:not(.native-shell) .top3-card-media .top3-event-media-item span,
  html:not(.native-shell) .top3-major-card > .top3-event-media .top3-event-media-item span{
    inset:auto 8px 7px;
    font-size:9px;
  }
  html:not(.native-shell) .top3-card-copy{
    grid-area:copy;
    display:grid;
    align-content:center;
    gap:7px;
    min-width:0;
  }
  html:not(.native-shell) .top3-major-card > h3{
    grid-area:title;
  }
  html:not(.native-shell) .top3-major-card > p{
    grid-area:deck;
  }
  html:not(.native-shell) .top3-major-card > .top3-facts{
    grid-area:facts;
  }
  html:not(.native-shell) .top3-card-copy h3,
  html:not(.native-shell) .top3-major-card > h3{
    overflow:hidden;
    margin:0;
    color:#f5f7fa;
    font-size:clamp(18px,1.72vw,25px);
    line-height:1.08;
    letter-spacing:-.025em;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html:not(.native-shell) .top3-card-copy > p,
  html:not(.native-shell) .top3-major-card > p{
    margin:0;
    color:#a7b0bd;
    font-size:11.5px;
    line-height:1.42;
    -webkit-line-clamp:1;
  }
  html:not(.native-shell) .top3-card-copy .top3-facts,
  html:not(.native-shell) .top3-major-card > .top3-facts{
    gap:5px;
  }
  html:not(.native-shell) .top3-card-copy .top3-fact,
  html:not(.native-shell) .top3-major-card > .top3-facts .top3-fact{
    min-height:23px;
    padding:4px 8px;
    border-color:rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
    color:#9da7b5;
    font-size:9.5px;
  }
  html:not(.native-shell) .top3-major-actions{
    grid-area:actions;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
    align-self:center;
    margin:0;
  }
  html:not(.native-shell) .top3-major-actions button{
    width:100%;
    min-height:44px;
    border-color:rgba(255,255,255,.105);
    border-radius:12px;
    background:#202731;
    color:#e8edf4;
    font-size:11px;
  }
  html:not(.native-shell) .top3-major-actions .primary{
    background:#168cff;
    box-shadow:0 8px 20px rgba(22,140,255,.18);
    color:#fff;
  }
  html:not(.native-shell) .top3-major-card.is-selected{
    grid-template-columns:minmax(280px,34fr) minmax(0,66fr);
    grid-template-areas:
      "media slot"
      "media title"
      "media deck"
      "media facts"
      "media actions";
    align-items:start;
    column-gap:28px;
    row-gap:12px;
    min-height:320px;
    padding:22px;
    border-color:rgba(22,140,255,.52);
    border-radius:20px 20px 0 0;
    background:
      radial-gradient(circle at 15% 20%,rgba(22,140,255,.09),transparent 42%),
      #17212c;
    box-shadow:0 18px 46px rgba(0,0,0,.22);
  }
  html:not(.native-shell) .top3-major-card.is-selected:has(> .top3-card-copy){
    grid-template-areas:
      "media slot"
      "media copy"
      "media actions";
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-slot-line{
    align-self:start;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    padding-top:1px;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-slot-kind{
    max-width:none;
    font-size:9.5px;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-card-media,
  html:not(.native-shell) .top3-major-card.is-selected > .top3-event-media{
    align-self:stretch;
    height:100%;
    min-height:274px;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-card-media .top3-event-media,
  html:not(.native-shell) .top3-major-card.is-selected > .top3-event-media{
    height:100%;
    min-height:274px;
    border-radius:14px;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-card-copy{
    align-content:start;
    gap:12px;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-card-copy h3,
  html:not(.native-shell) .top3-major-card.is-selected > h3{
    overflow:visible;
    font-size:clamp(30px,3.25vw,50px);
    line-height:.98;
    letter-spacing:-.045em;
    text-overflow:clip;
    white-space:normal;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-card-copy > p,
  html:not(.native-shell) .top3-major-card.is-selected > p{
    color:#b5beca;
    font-size:13px;
    line-height:1.55;
    -webkit-line-clamp:3;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-major-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-self:end;
  }
  html:not(.native-shell) .top3-major-card.is-selected .top3-major-actions.has-single-action{
    grid-template-columns:minmax(0,1fr);
  }
  html:not(.native-shell) .top3-highlight-item:has(.top3-report-index) .top3-major-card,
  html:not(.native-shell) [data-top3-item]:has(.top3-report-index) .top3-major-card{
    border-bottom-color:rgba(255,255,255,.055);
    border-bottom-right-radius:0;
    border-bottom-left-radius:0;
  }
  html:not(.native-shell) .top3-report-index{
    position:relative;
    min-width:0;
    border:1px solid rgba(22,140,255,.34);
    border-top:0;
    border-radius:0 0 20px 20px;
    background:
      linear-gradient(180deg,rgba(22,140,255,.035),transparent 11rem),
      #11171f;
    box-shadow:0 20px 42px rgba(0,0,0,.18);
    overflow:hidden;
  }
  html:not(.native-shell) .top3-report-index > .top3-event-media.is-panel{
    display:none;
  }
  html:not(.native-shell) .top3-report-head{
    display:grid;
    grid-template-columns:minmax(210px,.75fr) minmax(0,1.25fr);
    align-items:end;
    gap:24px;
    padding:20px 22px 17px;
    border-bottom:1px solid rgba(255,255,255,.075);
    background:rgba(255,255,255,.012);
  }
  html:not(.native-shell) .top3-report-head h3{
    font-size:18px;
    letter-spacing:-.015em;
  }
  html:not(.native-shell) .top3-report-head p{
    color:#8491a2;
    font-size:10.5px;
  }
  html:not(.native-shell) .top3-report-context{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px;
    padding:18px 22px;
    border-bottom:1px solid rgba(255,255,255,.075);
  }
  html:not(.native-shell) .top3-report-context section{
    min-width:0;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:14px;
    background:rgba(255,255,255,.025);
  }
  html:not(.native-shell) .top3-report-context section > span{
    display:block;
    margin-bottom:9px;
    color:#6db5ff;
    font:900 9px/1.2 var(--mono,ui-monospace,monospace);
    letter-spacing:.11em;
    text-transform:uppercase;
  }
  html:not(.native-shell) .top3-report-context strong{
    display:block;
    color:#eef3f8;
    font:900 14px/1.3 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  html:not(.native-shell) .top3-report-context p,
  html:not(.native-shell) .top3-report-context ul{
    margin:7px 0 0;
    padding:0;
    color:#8f9bab;
    font:700 10.5px/1.45 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  html:not(.native-shell) .top3-report-context ul{
    display:grid;
    gap:4px;
    padding-left:16px;
  }
  html:not(.native-shell) .top3-report-filters{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
  }
  html:not(.native-shell) .top3-report-filter{
    min-height:44px;
    padding:0 13px;
    border-color:rgba(255,255,255,.09);
    border-radius:12px;
    background:#181e27;
    color:#98a3b1;
    cursor:pointer;
  }
  html:not(.native-shell) .top3-report-filter.active{
    border-color:rgba(22,140,255,.48);
    background:rgba(22,140,255,.13);
    color:#80c2ff;
  }
  html:not(.native-shell) .top3-report-timeline{
    position:relative;
    display:grid;
    gap:0;
    margin:0;
    padding:6px 22px 16px 46px;
    list-style:none;
  }
  html:not(.native-shell) .top3-report-timeline::before{
    content:"";
    position:absolute;
    top:22px;
    bottom:30px;
    left:26px;
    width:1px;
    background:linear-gradient(180deg,#168cff,rgba(22,140,255,.12));
  }
  html:not(.native-shell) .top3-report-timeline-item{
    position:relative;
    min-width:0;
    border-bottom:1px solid rgba(255,255,255,.065);
    list-style:none;
  }
  html:not(.native-shell) .top3-report-timeline-node{
    display:block;
    position:absolute;
    top:24px;
    left:-24px;
    width:7px;
    height:7px;
    border:2px solid #11171f;
    border-radius:50%;
    background:#57adff;
    box-shadow:0 0 0 3px rgba(22,140,255,.14);
  }
  html:not(.native-shell) .top3-report-timeline .top3-report-row{
    display:grid;
    grid-template-columns:108px minmax(0,1fr) minmax(142px,auto);
    grid-template-areas:"site headline actions";
    gap:18px;
    align-items:start;
    min-width:0;
    padding:17px 2px;
    border:0;
    background:transparent;
  }
  html:not(.native-shell) .top3-report-timeline .top3-report-row:has(.top3-report-thumb){
    grid-template-columns:92px 108px minmax(0,1fr) minmax(142px,auto);
    grid-template-areas:"thumb site headline actions";
  }
  html:not(.native-shell) .top3-report-timeline-item:last-child{
    border-bottom:0;
  }
  html:not(.native-shell) .top3-report-site{
    color:#dce3ec;
    font-size:11px;
  }
  html:not(.native-shell) .top3-report-site time{
    color:#778496;
    font-size:9.5px;
  }
  html:not(.native-shell) .top3-report-title{
    color:#edf1f6;
    font-size:14px;
    line-height:1.35;
  }
  html:not(.native-shell) .top3-report-angle{
    color:#919dad;
    font-size:11px;
  }
  html:not(.native-shell) .top3-report-actions{
    justify-content:flex-end;
    min-width:0;
  }
  html:not(.native-shell) .top3-report-category{
    overflow:hidden;
    max-width:98px;
    text-overflow:ellipsis;
  }
  html:not(.native-shell) .top3-report-open{
    min-width:44px;
    min-height:44px;
    border-radius:10px;
    padding:0 9px;
  }
  html:not(.native-shell) .top3-report-thumb{
    width:92px;
    height:66px;
    border-radius:11px;
  }
  html:not(.native-shell) .top3-report-loading{
    display:grid;
    gap:12px;
    min-height:158px;
    padding:24px 28px;
  }
  html:not(.native-shell) .top3-report-skeleton-row{
    display:grid;
    grid-template-columns:96px minmax(0,1fr) 120px;
    gap:16px;
    min-height:20px;
    border-radius:8px;
    background:
      linear-gradient(90deg,rgba(255,255,255,.035) 20%,rgba(255,255,255,.10) 50%,rgba(255,255,255,.035) 80%);
    background-size:220% 100%;
    animation:bdDesktopCoverageShimmer 1.35s linear infinite;
  }
  html:not(.native-shell) .top3-report-skeleton-row:nth-child(2){
    width:88%;
  }
  html:not(.native-shell) .top3-report-skeleton-row:nth-child(3){
    width:72%;
  }
  html:not(.native-shell) .top3-report-error{
    display:grid;
    justify-items:start;
    gap:8px;
    min-height:146px;
    padding:26px 28px;
    color:#a8b1be;
    font:720 12px/1.5 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  }
  html:not(.native-shell) .top3-report-error strong{
    color:#f0f3f7;
    font-size:15px;
  }
  html:not(.native-shell) .top3-report-retry{
    min-width:88px;
    min-height:44px;
    margin-top:4px;
    padding:0 15px;
    border:1px solid rgba(22,140,255,.56);
    border-radius:11px;
    background:#168cff;
    color:#fff;
    font:900 11px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
    cursor:pointer;
  }
  html:not(.native-shell) .top3-report-empty{
    min-height:112px;
    padding:28px;
    color:#8793a3;
  }
  html:not(.native-shell) .desktop-reader-command button:focus-visible,
  html:not(.native-shell) .top3-major-card button:focus-visible,
  html:not(.native-shell) .top3-report-index button:focus-visible,
  html:not(.native-shell) .mobile-feed-selector:focus-visible{
    outline:3px solid rgba(111,188,255,.95);
    outline-offset:3px;
  }
}

@media (min-width:1024px) and (max-width:1120px){
  html:not(.native-shell) body{
    --mobile-shell-w:min(calc(100vw - 28px),1280px);
  }
  html:not(.native-shell) .desktop-reader-command{
    grid-template-columns:minmax(138px,.58fr) minmax(260px,1.1fr) minmax(284px,1.36fr) 44px;
    gap:7px;
    padding-right:9px;
    padding-left:9px;
  }
  html:not(.native-shell) .desktop-reader-brand-copy small{
    display:none;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-bottom-nav button{
    padding-right:5px;
    padding-left:5px;
    font-size:10px;
  }
  html:not(.native-shell) .desktop-reader-command .mobile-search-pill{
    padding-right:10px;
    padding-left:10px;
  }
  html:not(.native-shell) .top3-major-card{
    grid-template-columns:52px 164px minmax(0,1fr) minmax(174px,198px);
    column-gap:14px;
  }
  html:not(.native-shell) .top3-major-card.is-selected{
    grid-template-columns:minmax(260px,34fr) minmax(0,66fr);
    column-gap:22px;
  }
}

@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  html:not(.native-shell) .desktop-skip-link,
  html:not(.native-shell) .top3-major-card,
  html:not(.native-shell) .top3-event-media-item img,
  html:not(.native-shell) .desktop-reader-command button{
    transition:none;
  }
  html:not(.native-shell) .top3-report-skeleton-row{
    animation:none;
    background:rgba(255,255,255,.07);
  }
}
/* BD_DESKTOP_COVERAGE_STACK_END */

/* BD_READER_PORCELAIN_FOCUS_BEGIN
   Approved News4 reader direction: cinematic cover + warm porcelain workspace.
   The tokens are scoped to the reader so feed, native shell, and saved themes
   retain their existing product behavior. */
.flip.reader-modal[data-reader-design="porcelain-focus"]{
  --paper:#f1f0eb;
  --paper-2:#fbfaf6;
  --ink:#142037;
  --ink-soft:#35435a;
  --muted:#6d7787;
  --line:rgba(20,32,55,.14);
  --pill:rgba(215,220,229,.72);
  --chip:#eef1f5;
  --accent:#276fe4;
  --accent2:#78a5f1;
  --reader-cobalt:#276fe4;
  --reader-cobalt-deep:#1758be;
  --reader-stop:#c43d45;
  --reader-warning:#d99a19;
  --reader-panel:#fbfaf6;
  --reader-card:#fff;
  --reader-canvas:#e8e7e2;
  color:var(--ink);
  border:1px solid rgba(255,255,255,.42);
  background:var(--reader-panel) !important;
  box-shadow:
    0 36px 96px rgba(4,12,24,.42),
    0 1px 0 rgba(255,255,255,.68) inset !important;
}
.flip.reader-modal[data-reader-design="porcelain-focus"][data-reader-theme="night"]{
  --paper:#171b24;
  --paper-2:#202631;
  --ink:#f2f4f8;
  --ink-soft:#c8d0dd;
  --muted:#98a4b6;
  --line:rgba(221,229,241,.14);
  --pill:rgba(82,94,115,.34);
  --chip:#293140;
  --accent:#5d98f7;
  --accent2:#89aff0;
  --reader-cobalt:#5d98f7;
  --reader-cobalt-deep:#397adf;
  --reader-stop:#f06b72;
  --reader-warning:#f0bb4d;
  --reader-panel:#202631;
  --reader-card:#262d39;
  --reader-canvas:#151922;
  border-color:rgba(255,255,255,.1);
}
.modal.show .flip.reader-modal[data-reader-design="porcelain-focus"]{
  width:min(1280px,96vw) !important;
  border-radius:32px !important;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .left{
  background:#111827;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .left .scrim{
  background:
    linear-gradient(180deg,rgba(4,11,25,.04) 0%,rgba(4,11,25,.18) 42%,rgba(3,8,19,.88) 100%),
    linear-gradient(90deg,rgba(3,8,19,.44),rgba(3,8,19,0) 72%) !important;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .left .cap{
  max-width:680px;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .reader-modal-brand{
  color:rgba(255,255,255,.78);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .left .cap h2{
  text-wrap:balance;
  text-shadow:0 10px 30px rgba(0,0,0,.38);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .right{
  background:
    radial-gradient(620px 320px at 4% 0%,rgba(39,111,228,.06),transparent 68%),
    var(--reader-panel) !important;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-meta{
  color:var(--muted);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-side-title{
  color:var(--ink);
  font-size:clamp(31px,3vw,48px);
  line-height:1.03;
  text-wrap:balance;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .reader-action{
  border-color:var(--line);
  background:color-mix(in srgb,var(--reader-card) 78%,transparent);
  color:var(--ink);
  box-shadow:0 8px 22px rgba(20,32,55,.06);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .reader-action.primary,
.flip.reader-modal[data-reader-design="porcelain-focus"] .reader-action[aria-pressed="true"]{
  border-color:transparent;
  background:linear-gradient(135deg,var(--reader-cobalt),var(--reader-cobalt-deep));
  color:#fff;
  box-shadow:0 10px 26px rgba(39,111,228,.24);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-tabs{
  gap:4px;
  padding:5px;
  border-color:var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--pill) 70%,transparent);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-tabs button{
  min-height:40px;
  border-radius:999px;
  color:var(--muted);
  transition:color .18s ease,background .18s ease,box-shadow .18s ease;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-tabs button.active{
  background:var(--reader-card);
  color:var(--reader-cobalt-deep);
  box-shadow:
    0 8px 24px rgba(20,32,55,.09),
    0 1px 0 rgba(255,255,255,.62) inset;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-tabs button:focus-visible,
.flip.reader-modal[data-reader-design="porcelain-focus"] .reader-action:focus-visible,
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-toolrow button:focus-visible,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-shell button:focus-visible,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-composer textarea:focus-visible{
  outline:3px solid color-mix(in srgb,var(--reader-cobalt) 68%,#fff);
  outline-offset:3px;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-toolrow{
  border-color:var(--line);
  background:color-mix(in srgb,var(--pill) 68%,transparent);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-controls{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-theme-tools{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--reader-card) 72%,transparent);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-theme-tools button{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:0;
  border-radius:999px;
  padding:8px 12px;
  background:transparent;
  color:var(--muted);
  font:850 12px/1 var(--sans,'Inter','Noto Sans HK',system-ui,sans-serif);
  cursor:pointer;
  white-space:nowrap;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-theme-tools button[aria-pressed="true"]{
  background:var(--reader-card);
  color:var(--reader-cobalt-deep);
  box-shadow:0 6px 18px rgba(20,32,55,.1);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-toolrow .modal-font-tools button{
  min-width:44px;
  min-height:44px;
  width:44px;
  height:44px;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-text-card,
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-summary-block{
  border-color:var(--line) !important;
  background:var(--reader-card) !important;
  box-shadow:0 14px 38px rgba(20,32,55,.065);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-source-footer{
  background:transparent !important;
  box-shadow:none !important;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-source-details span{
  border-color:var(--line);
  background:var(--chip);
  color:var(--ink-soft);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .src-link,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-citation,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-eyebrow{
  color:var(--reader-cobalt);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-shell{
  border-color:var(--line);
  background:var(--reader-card);
  box-shadow:0 14px 38px rgba(20,32,55,.065);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-head,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-composer{
  border-color:var(--line);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-composer{
  background:var(--reader-card);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-message{
  border-color:var(--line);
  background:var(--paper-2);
  box-shadow:0 8px 24px rgba(20,32,55,.055);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-message-body{
  font-size:clamp(14px,calc(16px * var(--user-font-scale,1)),28px);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext{
  white-space:normal;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext p{
  margin:0 0 .85em;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext p:last-child{
  margin-bottom:0;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext ul,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext ol{
  margin:.35em 0 .9em;
  padding-left:1.45em;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext li + li{
  margin-top:.32em;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext blockquote{
  margin:.55em 0 .9em;
  padding:.1em 0 .1em .85em;
  border-left:3px solid color-mix(in srgb,var(--reader-cobalt) 48%,var(--line));
  color:var(--ink-soft);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-richtext blockquote p{
  margin:0;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-message.is-user{
  border-color:color-mix(in srgb,var(--reader-cobalt) 34%,var(--line));
  background:color-mix(in srgb,var(--reader-cobalt) 9%,var(--reader-card));
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-new,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-suggestions button,
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-retry{
  border-color:var(--line);
  background:var(--paper-2);
  color:var(--ink);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-send{
  border-color:transparent !important;
  background:linear-gradient(135deg,var(--reader-cobalt),var(--reader-cobalt-deep)) !important;
  color:#fff !important;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-stop{
  border-color:color-mix(in srgb,var(--reader-stop) 42%,var(--line)) !important;
  background:color-mix(in srgb,var(--reader-stop) 7%,var(--reader-card)) !important;
  color:var(--reader-stop) !important;
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-delete:not(:disabled):hover{
  border-color:color-mix(in srgb,var(--reader-stop) 44%,var(--line));
  background:color-mix(in srgb,var(--reader-stop) 8%,var(--reader-card));
  color:var(--reader-stop);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-notice{
  border-color:color-mix(in srgb,var(--reader-cobalt) 28%,var(--line));
  background:color-mix(in srgb,var(--reader-cobalt) 7%,var(--reader-card));
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-notice[data-kind="error"],
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-notice[data-kind="warning"]{
  border-color:color-mix(in srgb,var(--reader-warning) 46%,var(--line));
  background:color-mix(in srgb,var(--reader-warning) 11%,var(--reader-card));
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-composer textarea{
  border-color:var(--line);
  background:var(--paper);
  color:var(--ink);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-composer textarea:focus{
  border-color:var(--reader-cobalt);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--reader-cobalt) 14%,transparent);
}
.flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-empty-actions button:first-child{
  background:var(--reader-cobalt);
}

@media(min-width:1024px){
  .modal.show .flip.reader-modal[data-reader-design="porcelain-focus"]{
    height:min(820px,calc(100svh - 48px)) !important;
    max-height:calc(100svh - 48px) !important;
    grid-template-columns:minmax(390px,43fr) minmax(520px,57fr) !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .left .cap{
    padding:clamp(34px,4vw,56px) !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .right{
    padding:clamp(30px,3.2vw,48px) !important;
  }
}

@media(min-width:701px) and (max-width:1023px){
  .modal.show .flip.reader-modal[data-reader-design="porcelain-focus"]{
    width:min(780px,94vw) !important;
    height:auto !important;
    max-height:calc(100svh - 40px) !important;
    display:block !important;
    grid-template-columns:none !important;
    overflow-y:auto !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .left{
    height:clamp(260px,34svh,340px) !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .right{
    min-height:0 !important;
    overflow:visible !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-side-title{
    display:block;
  }
}

@media(max-width:700px){
  .modal.show .flip.reader-modal[data-reader-design="porcelain-focus"]{
    border-radius:28px !important;
    background:var(--reader-panel) !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .left{
    height:clamp(210px,29svh,270px) !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .left .cap{
    padding:16px 54px 19px 18px !important;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .right{
    gap:14px !important;
    margin-top:-1px;
    padding:18px 15px 22px !important;
    border-radius:28px 28px 0 0;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-tabs{
    width:100%;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-tabs button{
    min-width:max-content;
    padding-right:15px;
    padding-left:15px;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-toolrow{
    align-items:flex-start;
    flex-direction:column;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-controls{
    width:100%;
    flex-wrap:wrap;
    justify-content:space-between;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-theme-tools{
    max-width:100%;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-theme-tools button{
    padding-right:10px;
    padding-left:10px;
  }
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-text-card,
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-summary-block,
  .flip.reader-modal[data-reader-design="porcelain-focus"] .article-chat-shell{
    border-radius:22px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .flip.reader-modal[data-reader-design="porcelain-focus"] .modal-reader-tabs button{
    transition:none;
  }
}
/* BD_READER_PORCELAIN_FOCUS_END */
/* Source health separates content age from collection and scheduling. */
.settings-source-health-card{grid-column:1/-1;min-width:0}
.settings-source-health-card h3{margin:0 0 12px}
.source-health-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.source-health-controls input,.source-health-controls select,.source-health-controls button,.source-health-priority select{max-width:100%;min-height:44px;padding:8px;border:1px solid var(--border,#64748b);border-radius:8px;color:var(--ink,#172033);background:var(--paper,#fff)}
.source-health-controls input::placeholder{color:var(--muted,#64748b);opacity:1}
.source-health-controls option,.source-health-priority option{color:var(--ink,#172033);background:var(--paper,#fff)}
.source-health-controls input{flex:1 1 200px;min-width:0}
.source-health-publishers details{border-top:1px solid var(--border,#64748b);padding:12px 0}
.source-health-publishers summary{cursor:pointer;min-height:32px;overflow-wrap:anywhere}
.source-health-channel{padding:12px 0;overflow-wrap:anywhere}
.source-health-channel[hidden],.source-health-publishers details[hidden]{display:none}
.source-health-channel h4{margin:0 0 10px}
.source-health-channel dl{display:grid;gap:10px;margin:0}
.source-health-channel dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}
.source-health-channel dt{font-weight:600}
.source-health-channel dd{margin:0}
.source-health-priority{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.source-health-help,.source-health-channel p{font-size:13px;line-height:1.5}
@media(max-width:500px){.source-health-channel dl>div{grid-template-columns:1fr;gap:3px}.source-health-controls>*{width:100%}.source-health-controls input{flex-basis:100%}}
