/* ==========================================================================
   TPR Notes — sideblog stream. Self-contained; reuses the site's self-hosted
   faces (Source Serif 4 from the theme, Archivo from /live-bar/fonts).
   ========================================================================== */

@font-face{ font-family:'Source Serif 4'; font-weight:400; font-style:normal; font-display:swap; src:url('fonts/source-serif-4-latin-400-normal.woff2') format('woff2'); }
@font-face{ font-family:'Archivo'; font-weight:600; font-display:swap; src:url('/live-bar/fonts/archivo-600.woff2') format('woff2'); }
@font-face{ font-family:'Archivo'; font-weight:700; font-display:swap; src:url('/live-bar/fonts/archivo-700.woff2') format('woff2'); }

.tpr-notes{
  --n-ink:#1a1a1a; --n-muted:#6b6b6b; --n-faint:#8b8b86; --n-surface:#fff; --n-raise:#faf9f7;
  --n-line:#e6e4e0; --n-accent:#1d5fbf; --n-tint:#eef4fc;
  --n-sans:'Archivo',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --n-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --n-mono:ui-monospace,'IBM Plex Mono',Menlo,Consolas,monospace;
  background:var(--n-surface); border:1px solid var(--n-line); border-radius:8px; overflow:hidden;
  box-shadow:0 1px 3px rgba(20,20,20,.05); font-family:var(--n-serif); color:var(--n-ink);
}
@media (prefers-color-scheme:dark){
  .tpr-notes{ --n-ink:#e9e8e6; --n-muted:#a2a09b; --n-faint:#8a8883; --n-surface:#1b1b1b; --n-raise:#202020;
    --n-line:#2f2f2d; --n-accent:#5fa0ff; --n-tint:#16233a; }
}

/* header */
.tpr-notes-head{ display:flex; align-items:center; gap:.6rem; padding:.75rem 1rem; background:var(--n-raise);
  border-bottom:1px solid var(--n-line); font-family:var(--n-sans); }
.tpr-notes-title{ font-weight:700; font-size:.74rem; letter-spacing:.09em; text-transform:uppercase; color:var(--n-ink);
  display:flex; align-items:center; gap:.5rem; }
.tpr-notes-title::before{ content:""; width:3px; height:.95rem; background:var(--n-accent); border-radius:2px; }
.tpr-notes-all{ margin-left:auto; font-size:.72rem; font-weight:600; color:var(--n-accent); text-decoration:none; white-space:nowrap; }
.tpr-notes-all:hover{ text-decoration:underline; }

/* day heading — "Tuesday's Updates" */
.tpr-notes-day{
  margin:0; padding:.55rem 1rem .4rem;
  font-family:var(--n-sans); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--n-faint); background:var(--n-raise); border-bottom:1px solid var(--n-line); border-top:1px solid var(--n-line);
}
.tpr-notes-day:first-of-type{ border-top:0; }

/* items — timestamp + linked headline, photo beneath */
.tpr-notes-list{ list-style:none; margin:0; padding:0; }
.tpr-note-item{ padding:.75rem 1rem; }
.tpr-note-item + .tpr-note-item{ border-top:1px solid var(--n-line); }
.tpr-note-item:hover{ background:var(--n-raise); }

.tpr-note-head{ margin:0; }
.tpr-note-time{ font-family:var(--n-mono); font-size:.7rem; color:var(--n-accent); font-variant-numeric:tabular-nums;
  white-space:nowrap; margin-right:.4rem; }
.tpr-note-title{ font-family:var(--n-serif); font-size:.98rem; line-height:1.4; color:var(--n-ink); text-decoration:none;
  border-bottom:1px solid transparent; }
.tpr-note-title:hover{ color:var(--n-accent); border-bottom-color:currentColor; }

.tpr-note-figure{ display:block; margin:.55rem 0 0; line-height:0; }
.tpr-note-photo{ width:100%; height:auto; border-radius:4px; display:block; }

/* footer link to the full index */
.tpr-notes-foot{ padding:.7rem 1rem; border-top:1px solid var(--n-line); background:var(--n-raise); text-align:center; }
.tpr-notes-all{ font-family:var(--n-sans); font-size:.76rem; font-weight:700; letter-spacing:.02em; color:var(--n-accent); text-decoration:none; }
.tpr-notes-all:hover{ text-decoration:underline; }

/* ---------- the full index (/notes/) ---------- */
.tpr-notes-archive{ max-width:720px; margin:0 auto; }
.tpr-notes--index{ border:0; border-radius:0; box-shadow:none; background:transparent; }
.tpr-notes--index .tpr-notes-day{
  background:transparent; border:0; border-bottom:2px solid var(--n-ink); margin:2rem 0 0; padding:0 0 .4rem;
  font-family:var(--n-sans); font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--n-ink);
}
.tpr-notes--index .tpr-notes-day:first-child{ margin-top:0; }
.tpr-notes--index .tpr-note-item{ padding:.9rem 0; }
.tpr-notes--index .tpr-note-item:hover{ background:transparent; }
.tpr-notes--index .tpr-note-item + .tpr-note-item{ border-top:1px solid var(--n-line); }
.tpr-notes--index .tpr-note-title{ font-size:1.08rem; }
.tpr-notes--index .tpr-note-figure{ margin-top:.6rem; }
.tpr-notes--index .tpr-note-photo{ max-width:420px; }

/* day headings are links into that day's page */
.tpr-notes-day a{ color:inherit; text-decoration:none; }
.tpr-notes-day a:hover{ color:var(--n-accent); }

/* ---------- a single day's page ---------- */
.tpr-now-day{ max-width:720px; margin:0 auto; }
.tpr-notes--day{ border:0; border-radius:0; box-shadow:none; background:transparent; }
.tpr-note-item--full{ padding:1.4rem 0; border-top:1px solid var(--n-line); }
.tpr-note-item--full:first-child{ border-top:0; }
.tpr-note-item--full:hover{ background:transparent; }
.tpr-note-item--full .tpr-note-head{ margin:0 0 .35rem; }
.tpr-note-item--full .tpr-note-time{ font-size:.75rem; font-weight:700; text-decoration:none; }
.tpr-note-item--full .tpr-note-time:hover{ text-decoration:underline; }
.tpr-note-item--full .tpr-note-title{ font-family:var(--n-sans); font-weight:700; font-size:1.02rem; }
.tpr-note-body{ font-family:var(--n-serif); font-size:1.02rem; line-height:1.62; color:var(--n-ink); }
.tpr-note-body > *:first-child{ margin-top:0; }
.tpr-note-body > *:last-child{ margin-bottom:0; }
.tpr-note-body a{ color:var(--n-accent); }
.tpr-note-item--full .tpr-note-figure{ margin:.7rem 0 0; }
.tpr-note-item--full .tpr-note-photo{ max-width:520px; }
.tpr-note-item--full:target{ background:var(--n-tint); box-shadow:-1rem 0 0 var(--n-tint),1rem 0 0 var(--n-tint); }

.tpr-now-nav{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin:2.5rem 0 1rem; padding-top:1rem;
  border-top:1px solid var(--n-line); font-family:var(--n-sans); font-size:.82rem; font-weight:600; }
.tpr-now-nav a{ color:var(--n-accent); text-decoration:none; }
.tpr-now-nav a:hover{ text-decoration:underline; }
.tpr-now-nav__all{ margin-left:auto; margin-right:auto; color:var(--n-muted) !important; }

.tpr-notes-pager{ margin:2rem 0 1rem; text-align:center; }
.tpr-notes-more{ display:inline-block; font-family:var(--n-sans); font-size:.85rem; font-weight:700; color:var(--n-accent);
  background:var(--n-surface); border:1px solid var(--n-line); border-radius:6px; padding:.7rem 1.4rem; text-decoration:none; cursor:pointer; }
.tpr-notes-more:hover{ background:var(--n-tint); border-color:var(--n-accent); }
.tpr-notes-end{ font-family:var(--n-sans); font-size:.85rem; font-weight:700; letter-spacing:.14em; color:var(--n-faint); text-align:center; margin:2.5rem 0; }
.tpr-notes-none{ font-family:var(--n-sans); font-size:.9rem; color:var(--n-muted); text-align:center; margin:2.5rem 0; }

/* ---------- calendar ---------- */
.tpr-cal{
  --n-ink:#1a1a1a; --n-muted:#6b6b6b; --n-faint:#8b8b86; --n-surface:#fff; --n-raise:#faf9f7;
  --n-line:#e6e4e0; --n-accent:#1d5fbf; --n-tint:#eef4fc;
  --n-sans:'Archivo',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --n-mono:ui-monospace,'IBM Plex Mono',Menlo,Consolas,monospace;
  display:block; max-width:340px; margin:2rem auto; padding:.75rem .85rem 1rem;
  background:var(--n-surface); border:1px solid var(--n-line); border-radius:8px;
  font-family:var(--n-sans); box-shadow:0 1px 3px rgba(20,20,20,.05);
}
@media (prefers-color-scheme:dark){
  .tpr-cal{ --n-ink:#e9e8e6; --n-muted:#a2a09b; --n-faint:#8a8883; --n-surface:#1b1b1b; --n-raise:#202020;
    --n-line:#2f2f2d; --n-accent:#5fa0ff; --n-tint:#16233a; }
}
.tpr-cal-head{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.6rem; }
.tpr-cal-month{ font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--n-ink); }
.tpr-cal-nav{ font-size:.95rem; line-height:1; text-decoration:none; color:var(--n-accent); padding:.15rem .35rem; border-radius:4px; }
.tpr-cal-nav:hover{ background:var(--n-tint); }
.tpr-cal-nav.is-off{ color:var(--n-line); cursor:default; }

.tpr-cal-grid{ width:100%; border-collapse:collapse; table-layout:fixed; }
.tpr-cal-grid th{
  font-size:.6rem; font-weight:700; letter-spacing:.06em; color:var(--n-faint); padding:.2rem 0 .35rem; text-align:center;
  border:0; background:transparent;
}
.tpr-cal-grid th abbr{ text-decoration:none; border:0; }
.tpr-cal-grid td{
  text-align:center; padding:0; border:0; background:transparent;
  font-family:var(--n-mono); font-size:.76rem; height:2rem; vertical-align:middle;
}
.tpr-cal-grid td span{ color:var(--n-faint); opacity:.55; }
.tpr-cal-grid td a{
  display:inline-flex; align-items:center; justify-content:center; width:1.9rem; height:1.9rem;
  border-radius:50%; text-decoration:none; color:var(--n-accent); font-weight:700; background:var(--n-tint);
}
.tpr-cal-grid td a:hover{ background:var(--n-accent); color:#fff; }
.tpr-cal-grid td.is-today a,.tpr-cal-grid td.is-today span{ box-shadow:0 0 0 1px var(--n-accent) inset; border-radius:50%; }
.tpr-cal-grid td.is-current a{ background:var(--n-accent); color:#fff; }

/* Single note + archive: keep short posts from looking like a broken article. */
.single-tpr_note .entry-content,
.post-type-archive-tpr_note .entry-content{ font-family:var(--n-serif); }
.single-tpr_note .entry-content > p:first-child{ font-size:1.15rem; line-height:1.6; }
