/* Shared by the full reader and the brief-only production bundle. */
:root {
  color-scheme: light dark;
  --ink: #0a0a0a;
  --muted: #595959;
  --faint: #6b6b6b;
  --surface: #fff;
  --wash: #fafafa;
  --line: #e8e8e8;
  --hover: #ededed;
  --control-border: #929292;
  --disabled: #999;
  --inverse: #fff;
  --inverse-muted: #ccc;
  --topbar: rgb(255 255 255 / 94%);
  font-family: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Noto Sans SC", sans-serif;
}
@media (prefers-color-scheme: dark) {
  .brand-mark { filter: invert(1); }
  :root {
    --ink: #f2f2f2;
    --muted: #c2c2c2;
    --faint: #aaa;
    --surface: #121212;
    --wash: #191919;
    --line: #383838;
    --hover: #303030;
    --control-border: #777;
    --disabled: #666;
    --inverse: #121212;
    --inverse-muted: #454545;
    --topbar: rgb(18 18 18 / 94%);
  }
}
:is(button, a, input, [tabindex]):focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
.search-field:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.primary-button:focus-visible,
.brief-row.is-active:focus-visible,
.recommended-row.is-active:focus-visible,
.calendar-day.is-selected:focus-visible {
  outline: 2px solid var(--ink);
  box-shadow: inset 0 0 0 2px var(--inverse);
}
.brief-list { padding-top: 4px; }
.brand, .library-tab, .calendar-header strong, .calendar-day.has-content,
.recommended-row strong, .breadcrumb strong, .eyebrow, .recommended-source strong { font-weight: 600; }
.brief-content strong { font-weight: 700; }
.brief-content blockquote { font-weight: 500; }
.library-tab, .calendar-weekdays, .calendar-day, .calendar-clear,
.archive-meta, .month-group h2, .brief-row-copy small, .recommended-row-meta,
.recommended-row small, .sidebar-footer, .eyebrow, .read-indicator,
.brief-content .citation, .brief-content th, .recommended-byline,
.recommended-source small, .article-footer { font-size: 12px; }
.search-field, .recommended-search, .quiet-button { border-color: var(--control-border); }
.calendar-popover { background: var(--surface); border-color: var(--control-border); }
.calendar-weekdays { color: var(--faint); }
.calendar-day { color: var(--disabled); }
.calendar-header button:disabled, .calendar-clear:disabled { color: var(--disabled); }
.calendar-header button:hover:not(:disabled), .calendar-day.has-content:hover,
.brief-row:hover, .recommended-row:hover { background: var(--hover); }
.filter-tabs { background: var(--hover); }
.calendar-day.is-selected, .calendar-day.is-selected:hover,
.brief-row.is-active, .brief-row.is-active:hover,
.recommended-row.is-active, .recommended-row.is-active:hover,
.primary-button, .toast { background: var(--ink); color: var(--inverse); }
.primary-button:hover { background: var(--muted); }
.brief-row.is-active small, .recommended-row.is-active .recommended-row-meta,
.recommended-row.is-active small, .brief-row.is-active .row-arrow { color: var(--inverse-muted); }
.status-dot, .live-dot { background: var(--ink); box-shadow: none; }
.status-dot.is-read { background: transparent; border: 1px solid var(--faint); }
.brief-row.is-active .status-dot { background: var(--inverse); box-shadow: none; }
.brief-row.is-active .status-dot.is-read { background: transparent; border-color: var(--inverse-muted); }
.read-indicator { color: var(--ink); }
.row-arrow, .slash { color: var(--faint); }
.topbar { background: var(--topbar); }
.icon-button { background: var(--surface); }
.reading-progress { height: 3px; background: var(--line); }
.brief-content p, .brief-content li { color: var(--ink); }
.brief-content .citation, .brief-content code { background: var(--hover); }
.brief-content .citation, .brief-content .citation.is-pending { color: var(--muted); }
.brief-content pre code { background: transparent; }
.brief-content a { text-decoration-color: var(--faint); }
.loading-line { background: linear-gradient(90deg, var(--line) 20%, var(--wash) 50%, var(--line) 80%); background-size: 300% 100%; }
.brief-content h1 { line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere; }
.sidebar { height: 100dvh; }
.app-shell { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  :root { --sidebar-width: min(320px, calc(100vw - 44px)); }
  body.sidebar-modal-open { overflow: hidden; }
  .scrim { background: rgb(0 0 0 / 48%); }
}
@media (max-width: 600px) {
  .topbar { height: auto; min-height: var(--topbar-height); flex-wrap: wrap; padding-block: 10px; }
  .topbar-leading { min-width: 0; gap: 8px; }
  .breadcrumb { flex-wrap: wrap; gap: 4px; font-size: 12px; }
  .breadcrumb span:not(strong), .breadcrumb .slash { display: inline; }
  .breadcrumb #workspace-label { max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .quiet-button { display: inline-block; }
  .top-actions { flex-wrap: wrap; margin-left: auto; }
  .quiet-button, .primary-button { padding-inline: 8px; }
  .brief-content h1 { font-size: clamp(28px, 7vw, 34px); }
  .brief-content p, .brief-content li { font-size: 16px; }
  .eyebrow { letter-spacing: .04em; }
  .reader-meta { gap: 12px; }
}
@media print {
  :root { color-scheme: light; --ink: #000; --surface: #fff; --wash: #fff; --muted: #444; --faint: #555; --line: #ddd; --hover: #f2f2f2; }
  body.sidebar-modal-open { overflow: visible; }
  .brief-content h1 { font-size: 28pt; }
  .brief-content p, .brief-content li { font-size: 10.5pt; }
}
