/* The AI Picks design system — tokens, components, states. No build step. */
:root{
  --bg:#ffffff;--fg:#0f172a;--muted:#5b6472;--card:#f6f7f9;
  --border:#e5e7eb;--accent:#0284c7;--accent-hover:#0369a1;
  --warm:#c2570b;--star:#d97706;
  --ring:0 0 0 3px rgba(2,132,199,.35);
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 6px 18px rgba(15,23,42,.10);
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
  --space-5:24px;--space-6:32px;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;
  --text-xs:12px;--text-sm:13px;--text-base:15px;--text-lg:18px;
  --text-xl:22px;--text-hero:clamp(30px,5vw,44px);
  --header-h:52px;--max-w:1100px;
}
[data-theme="dark"]{
  --bg:#0b0f16;--fg:#e8ecf3;--muted:#9aa4b2;--card:#141b26;
  --border:#26303f;--accent:#38bdf8;--accent-hover:#7dd3fc;
  --warm:#f59e0b;--star:#fbbf24;
  --ring:0 0 0 3px rgba(56,189,248,.40);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-md:0 8px 22px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif;
  font-size:var(--text-base);line-height:1.55}
::selection{background:var(--accent);color:#fff}
:focus{outline:none}
:focus-visible{box-shadow:var(--ring);border-radius:var(--radius-sm)}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skipLink{position:absolute;left:var(--space-4);top:-48px;z-index:50;
  background:var(--fg);color:var(--bg);padding:var(--space-2)var(--space-4);
  border-radius:var(--radius-sm);text-decoration:none;font-weight:600;
  transition:top .15s ease}
.skipLink:focus{top:var(--space-2)}
/* Header */
.header{height:var(--header-h);border-bottom:1px solid var(--border);
  position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(10px);z-index:10}
.header .inner{max-width:var(--max-w);margin:0 auto;display:flex;
  justify-content:space-between;align-items:center;height:100%;
  padding:0 var(--space-4)}
.brand{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}
.logo{font-weight:800;text-decoration:none;color:var(--fg);font-size:var(--text-lg);
  white-space:nowrap}
.credit{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}
@media(max-width:560px){.credit{display:none}}
.nav{display:flex;align-items:center;gap:var(--space-3)}
.nav a{color:var(--fg);text-decoration:none;font-size:14px;font-weight:500}
.nav a:hover{text-decoration:underline}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid transparent;
  border-radius:var(--radius-pill);padding:10px 20px;font-weight:600;font-size:14px;
  text-decoration:none;cursor:pointer;transition:transform .12s ease,background .12s ease}
.btn:active{transform:scale(.97)}
.btnPrimary{background:var(--accent);color:#fff}
.btnPrimary:hover{background:var(--accent-hover)}
.btnWarm{background:var(--warm);color:#fff}
.btnGhost{background:transparent;color:var(--fg);border-color:var(--border)}
.btnGhost:hover{background:var(--card)}
.iconBtn{display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;border:1px solid var(--border);
  background:transparent;color:var(--fg);cursor:pointer;font-size:16px}
.iconBtn:hover{background:var(--card)}
/* Layout */
.page{max-width:var(--max-w);margin:0 auto;padding:var(--space-4)}
.hero{text-align:center;padding:var(--space-6)var(--space-3)var(--space-5)}
.hero h1{font-size:var(--text-hero);margin:0;letter-spacing:-.02em}
.subtitle{color:var(--muted);max-width:560px;margin:var(--space-2)auto 0}
.ctaRow{display:flex;gap:10px;justify-content:center;margin:var(--space-4)0 var(--space-2);flex-wrap:wrap}
.consent{font-size:var(--text-xs);color:var(--muted)}
.consent a{color:inherit}
/* Trending */
.trendBar{display:flex;gap:10px;align-items:center;background:var(--card);
  border:1px solid var(--border);padding:var(--space-2)var(--space-3);
  border-radius:var(--radius-md);margin:var(--space-3)0}
.label{font-weight:700;white-space:nowrap;flex-shrink:0;font-size:14px}
.scrollerWrap{flex:1;min-width:0;overflow:hidden;
  mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.scroller{display:flex;gap:var(--space-3);width:max-content;min-width:0;
  animation:marquee 45s linear infinite}
.scrollerWrap:hover .scroller{animation-play-state:paused}
.scroller a{white-space:nowrap;color:var(--fg);text-decoration:none;
  font-size:14px;flex-shrink:0}
.scroller a:hover{text-decoration:underline}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .scroller{animation:none}
  html{scroll-behavior:auto}
  *{transition:none!important}
}
/* Controls */
.controls{margin:var(--space-3)0}
.searchWrap{position:relative}
.search{width:100%;padding:11px 44px 11px var(--space-3);border-radius:var(--radius-sm);
  border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:14px}
.search::placeholder{color:var(--muted)}
.search:focus{border-color:var(--accent)}
.kbdHint{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);
  border:1px solid var(--border);border-radius:6px;padding:0 7px;
  font-size:var(--text-xs);color:var(--muted);pointer-events:none}
.filterRow{display:flex;justify-content:space-between;align-items:center;
  margin-top:var(--space-2);flex-wrap:wrap;gap:var(--space-2)}
.viewToggle{display:inline-flex;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-pill);padding:3px;gap:2px}
.viewToggle button{padding:6px 14px;border:none;border-radius:var(--radius-pill);
  background:transparent;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}
.viewToggle button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.tagFilters{display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:4px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);
  background:transparent;color:var(--fg);cursor:pointer;font-size:var(--text-sm);
  transition:background .12s ease}
.chip:hover{background:var(--card)}
.chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
/* Content */
.contentLayout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-5)}
@media(max-width:860px){.contentLayout{grid-template-columns:minmax(0,1fr)}}
.mainColumn{min-width:0}
.dateHeading{font-size:var(--text-xl);font-weight:800;margin:var(--space-5)0 var(--space-2);
  display:block;color:var(--fg);text-decoration:none;letter-spacing:-.01em}
.dateHeading:hover{text-decoration:underline}
/* Cards */
.cardFeed{display:flex;flex-direction:column;gap:14px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:var(--space-4);box-shadow:var(--shadow-sm);
  transition:transform .15s ease,box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.cardTop{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}
.avatar{width:26px;height:26px;border-radius:50%;color:#fff;font-weight:700;
  font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cardTop .domain{font-size:var(--text-sm);color:var(--muted);flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cardDate{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}
.saveBtn{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);
  color:var(--muted);font-size:18px;cursor:pointer;padding:0 6px;line-height:1.4}
.saveBtn:hover{color:var(--star);border-color:var(--border)}
.saveBtn.saved{color:var(--star)}
.cardTitle{font-size:var(--text-lg);font-weight:700;color:var(--fg);
  text-decoration:none;line-height:1.35}
.cardTitle:hover{text-decoration:underline}
.cardNote{font-size:14px;color:var(--muted);margin:var(--space-2)0 0;line-height:1.55}
.card .meta{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}
.meta .chip{cursor:default;font-size:var(--text-xs)}
.meta .chip:hover{background:transparent}
/* Feed states */
.sentinel{text-align:center;color:var(--muted);font-size:var(--text-sm);
  padding:var(--space-4)0}
.stateCard{background:var(--card);border:1px dashed var(--border);
  border-radius:var(--radius-lg);padding:var(--space-6)var(--space-4);text-align:center}
.stateCard .stateIcon{font-size:32px}
.stateCard h2{font-size:var(--text-lg);margin:var(--space-2)0}
.stateCard p{color:var(--muted);margin:0 0 var(--space-3);font-size:14px}
.skel{border-radius:var(--radius-lg);padding:var(--space-4);background:var(--card);
  border:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.skel span{display:block;border-radius:6px;
  background:linear-gradient(90deg,var(--border) 25%,var(--card) 50%,var(--border) 75%);
  background-size:200% 100%;animation:shimmer 1.2s linear infinite}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel span{animation:none}}
/* Toast */
.toast{position:fixed;left:50%;bottom:var(--space-5);transform:translateX(-50%) translateY(20px);
  background:var(--fg);color:var(--bg);padding:10px 18px;border-radius:var(--radius-pill);
  font-size:14px;font-weight:600;opacity:0;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;z-index:40}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* Sidebar */
.sidebar .sideBox{background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}
.sidebar h2{font-size:var(--text-base);margin:0 0 var(--space-2)}
.sidebar p{font-size:14px;color:var(--muted)}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar li{margin:6px 0}
.sidebar li a{color:var(--fg);text-decoration:none;font-size:14px}
.sidebar li a:hover{text-decoration:underline}
#tagCloud{display:flex;gap:6px;flex-wrap:wrap}
.footer{text-align:center;padding:var(--space-5);color:var(--muted);
  font-size:var(--text-sm);border-top:1px solid var(--border);margin-top:var(--space-5)}
.footer a{color:inherit}
@media(max-width:560px){
  .page{padding:var(--space-3)}
  .card{padding:var(--space-3)}
  .hero{padding:var(--space-4)var(--space-2)var(--space-3)}
}
