/* AIDaily — 深藍早報板 + 淺色內文。品牌色取自 logo：navy 底、橘點。 */
:root {
  --navy: #0f1e3d;
  --navy-2: #172a55;
  --orange: #f4832b;
  --orange-2: #ffb26b;
  --paper: #f6f7fb;
  --card: #ffffff;
  --ink: #14213d;
  --ink-2: #4b5563;
  --muted: #7b8494;
  --line: #e3e6ee;
  --c-newsletter: #f4832b;
  --c-labs: #3b82f6;
  --c-agents: #10b981;
  --c-infra: #8b5cf6;
  --c-asia: #ec4899;
  --sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", -apple-system, sans-serif;
  --num: "Inter", "Noto Sans TC", -apple-system, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #0b1220;
    --card: #111a2e;
    --ink: #eef1f7;
    --ink-2: #c3c9d6;
    --muted: #8a93a6;
    --line: #223054;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 64px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 16px/1.7 var(--sans);
}
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; border-radius: 4px; }
img { max-width: 100%; }
.wrap { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
.skip { position: absolute; left: -9999px; top: 0; background: var(--orange); color: #000; padding: 8px 12px; z-index: 100; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip:focus { left: 12px; top: 12px; }

/* 品牌字：AI 白 + Daily 橘，模仿 logo 的橘點 */
.brand, .site-footer strong { font-family: var(--num); font-weight: 800; letter-spacing: -0.01em; }
.brand i, .site-footer i { font-style: normal; color: var(--orange); }

/* masthead */
.masthead { background: var(--navy); color: #fff; }
.masthead .wrap { display: flex; align-items: center; justify-content: space-between; height: 56px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 20px; color: #fff; }
.brand img { border-radius: 7px; }
.topnav a { margin-left: 22px; font-size: 14px; color: #c9d2e8; font-weight: 500; }
.topnav a:hover { color: #fff; }

/* 早報板：深藍、大日期、今日重點 */
.board { background: linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%); color: #fff; padding: 28px 0 32px; position: relative; overflow: hidden; }
.board::after {
  /* logo 那道弧 */
  content: ""; position: absolute; right: -180px; top: -260px; width: 620px; height: 620px;
  border-radius: 50%; border: 90px solid rgba(255,255,255,0.04); pointer-events: none;
}
.board .wrap { position: relative; }
.board-head { display: grid; grid-template-columns: auto 1fr auto; gap: 8px 28px; align-items: end; }
.date { display: flex; flex-direction: column; line-height: 1; margin: 0; font-weight: inherit; }
.pick-title, .item .t { margin: 0; }
.item-meta time { font-family: var(--num); }
.date .md { font-family: var(--num); font-weight: 800; font-size: 64px; letter-spacing: -0.04em; }
.date .md b { color: var(--orange); font-weight: 800; }
.date .yw { margin-top: 8px; font-size: 14px; color: #b7c3e0; font-weight: 500; }
.stat { margin: 0 0 6px; font-size: 17px; color: #e5eaf6; max-width: 34em; }
.daynav { display: flex; gap: 14px; font-family: var(--num); font-size: 13px; font-weight: 500; }
.daynav a { color: #b7c3e0; border: 1px solid rgba(255,255,255,0.18); border-radius: 999px; padding: 4px 12px; }
.daynav a:hover { color: #fff; border-color: rgba(255,255,255,0.5); }

/* 1 張大卡撐滿左欄；其餘小卡在右欄直排，數量 2–5 條都排得滿，不留空格 */
.picks { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: repeat(4, auto); gap: 12px 16px; }
.pick { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.pick:first-child { grid-column: 1; grid-row: 1 / -1; }
.pick:first-child .pick-img { flex: 1 1 auto; aspect-ratio: auto; min-height: 220px; }
.pick:first-child .pick-body { flex: 0 0 auto; }
.pick:not(:first-child) { grid-column: 2; flex-direction: row; align-items: stretch; }
.pick:not(:first-child) .pick-img { flex: 0 0 38%; aspect-ratio: 1.91 / 1; align-self: center; margin: 10px 0 10px 10px; border-radius: 8px; overflow: hidden; }
.pick:not(:first-child) .pick-body { padding: 10px 14px; justify-content: center; }
.pick:not(:first-child) .pick-src { margin-top: 2px; }
.pick-img { display: block; aspect-ratio: 1.91 / 1; background: #0a1530; }
.pick-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pick-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pick .n { font-family: var(--num); font-weight: 800; font-size: 13px; color: var(--orange); }
.pick .n::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); margin-right: 6px; vertical-align: 1px; }
.pick-title { font-weight: 700; font-size: 15px; line-height: 1.45; color: #fff; }
.pick:first-child .pick-title { font-size: 22px; line-height: 1.35; }
.pick-why { margin: 0; font-size: 13px; line-height: 1.6; color: #b7c3e0; }
.pick:first-child .pick-why { font-size: 15px; }
.pick-src { margin-top: auto; font-size: 12px; color: #9fb0d6; padding-top: 4px; }
.pick-src::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 6px; background: currentColor; }
.pick:hover { border-color: rgba(255,255,255,0.28); }

/* 分類導覽列（黏頂） */
.catbar { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--paper) 88%, transparent); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--line); }
.catbar .wrap { display: flex; gap: 6px; overflow-x: auto; padding-top: 8px; padding-bottom: 8px; scrollbar-width: none; }
.catbar .wrap::-webkit-scrollbar { display: none; }
.catbar a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 500; color: var(--ink-2); padding: 5px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); }
.catbar a:hover { color: var(--ink); border-color: var(--muted); }
.catbar a small, .cat h2 small { font-family: var(--num); font-size: 12px; color: var(--muted); font-weight: 500; }
.catbar i, .cat h2 i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }

/* 分類色點 */
.cat-newsletter i, .cat-newsletter.pick-src { color: var(--c-newsletter); background-color: var(--c-newsletter); }
.cat-labs i, .cat-labs.pick-src { color: var(--c-labs); background-color: var(--c-labs); }
.cat-agents i, .cat-agents.pick-src { color: var(--c-agents); background-color: var(--c-agents); }
.cat-infra i, .cat-infra.pick-src { color: var(--c-infra); background-color: var(--c-infra); }
.cat-asia i, .cat-asia.pick-src { color: var(--c-asia); background-color: var(--c-asia); }
.pick-src { background-color: transparent !important; }

/* 內文 */
.body { padding: 8px 20px 56px; }
.cat h2 { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 900; margin: 40px 0 14px; letter-spacing: -0.01em; }
.cat h2 small { margin-left: 4px; }
.items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.item { display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.item .thumb { display: block; aspect-ratio: 1.91 / 1; background: var(--line); }
.item .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.item-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.item .t { font-weight: 700; font-size: 16px; line-height: 1.45; }
.item .t:hover { color: var(--orange); }
.sum { margin: 0; font-size: 14px; line-height: 1.7; color: var(--ink-2); }
.item-meta { margin-top: auto; padding-top: 6px; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12px; color: var(--muted); align-items: baseline; }
.item-meta .src { font-weight: 700; color: var(--ink-2); }
.item-meta .orig { flex: 1 1 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.empty, .gen { color: var(--muted); font-size: 13px; }
.gen { margin-top: 40px; font-family: var(--num); }
.errors { margin-top: 32px; font-size: 13px; color: var(--muted); }

/* 歸檔、來源 */
.page { padding: 32px 20px 56px; }
.page h1 { font-size: 30px; font-weight: 900; margin: 0 0 18px; letter-spacing: -0.01em; }
.archive { list-style: none; padding: 0; margin: 0; }
.archive li { display: grid; grid-template-columns: 150px 1fr; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.archive li a { font-family: var(--num); font-weight: 800; font-size: 18px; letter-spacing: -0.02em; }
.archive li a:hover { color: var(--orange); }
.archive .wd { font-size: 13px; color: var(--muted); margin-left: 6px; font-family: var(--sans); font-weight: 400; }
.archive .meta { font-size: 14px; color: var(--ink-2); margin: 0; }
.srclist { list-style: none; padding: 0; margin: 0 0 8px; }
.srclist li { padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 15px; }
.srclist li a { font-weight: 700; }
.srclist li a:hover { color: var(--orange); }
.srclist li.disabled a { color: var(--muted); text-decoration: line-through; font-weight: 500; }
.srclist .meta { margin-left: 8px; font-size: 13px; color: var(--muted); }
.page .cat h2 { margin-top: 28px; }
.page .lead { color: var(--ink-2); margin: 0 0 8px; max-width: 40em; }

.site-footer { border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; padding: 20px 0 28px; }
.site-footer p { margin: 0 0 4px; }
.site-footer strong { color: var(--ink); font-size: 15px; }
.fine { opacity: 0.8; }

/* 響應式 */
@media (max-width: 900px) {
  .picks { grid-template-columns: 1fr; grid-template-rows: none; }
  .pick:first-child { grid-column: auto; grid-row: auto; }
  .pick:not(:first-child) { grid-column: auto; }
  .items { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .board { padding: 20px 0 24px; }
  .board-head { grid-template-columns: 1fr; align-items: start; }
  .date .md { font-size: 52px; }
  .stat { font-size: 15px; }
  .picks { gap: 10px; }
  .pick:not(:first-child) .pick-img { flex-basis: 34%; margin-left: 8px; }
  .pick:first-child .pick-title { font-size: 19px; }
  .pick-body { padding: 10px 12px; }
  .item { flex-direction: row; }
  .item .thumb { flex: 0 0 104px; aspect-ratio: auto; }
  .item-body { padding: 10px 12px; }
  .item .t { font-size: 15px; }
  .sum { font-size: 13px; }
  .topnav a { margin-left: 14px; }
  .archive li { grid-template-columns: 1fr; gap: 4px; }
}

/* 卡片整張可點（無文字覆蓋連結，對 AI 抽取友善）、純文字標題 */
.pick, .item { position: relative; }
.cover { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.cover:focus-visible { outline: 3px solid var(--orange); outline-offset: -3px; }
.pick:hover .pick-title, .item:hover .t { color: var(--orange); }
.pick .pick-title { color: #fff; }
.pick:hover .pick-title { color: var(--orange-2); }
.pick-img, .thumb { display: block; }
.item-meta a, .pick-src { position: relative; z-index: 2; }

/* 今日摘要：統計表 + 重點清單 */
.digest h2 { margin-top: 28px; }
.digest > p { color: var(--ink-2); max-width: 44em; margin: 0 0 12px; }
.stats { border-collapse: collapse; width: 100%; font-size: 14px; margin: 0 0 12px; }
.stats th, .stats td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.stats th { color: var(--muted); font-weight: 500; font-size: 12px; }
.stats td:nth-child(2) { font-family: var(--num); font-weight: 700; white-space: nowrap; }
.stats td:first-child a { font-weight: 700; }
.stats td:first-child a:hover { color: var(--orange); }
.facts { margin: 0; padding-left: 20px; color: var(--ink-2); font-size: 14px; }
.facts li { margin: 4px 0; }
@media (max-width: 640px) { .stats td:nth-child(3) { display: none; } .stats th:nth-child(3) { display: none; } }
