/* Wise Paper · WiseDrive extension (load after wise-paper.css) — generated by scripts/build.mjs from the wise-paper repo. Do not edit. */
:root {
  --sidebar: 16rem;
}

/* Wise Paper · WiseDrive extension — load after the Wise Paper core stylesheet.
   Adds the drive reader: sidebar, record heading, pager, live-change marks. The header is the core shell (ww-shell). */

/* ---- reader ---- */
.wd-main { padding-block: var(--space-7); }
.wd-reader { display: grid; gap: var(--space-8); }
@media (min-width: 64rem) { .wd-reader { grid-template-columns: var(--sidebar) minmax(0, 1fr); } .wd-sidebar { position: sticky; top: var(--space-5); align-self: start; } }
.wd-sidebar { font: 400 14px/20px var(--font-sans); }
.wd-sidebar section + section { margin-top: var(--space-6); }
.wd-sidebar .ww-eyebrow { padding-left: var(--space-3); }
.wd-sidebar a { display: block; padding: var(--space-1) 0 var(--space-1) var(--space-3); color: var(--muted); box-shadow: inset 2px 0 0 transparent; }
.wd-sidebar a:hover { color: var(--ink); }
.wd-sidebar a[aria-current] { color: var(--ink); font-weight: 500; box-shadow: inset 2px 0 0 var(--accent); }
.wd-heading { max-width: var(--measure); }
.wd-heading .ww-meta { display: block; margin-bottom: var(--space-3); }
.wd-pager { max-width: var(--measure); margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid var(--hairline); display: flex; justify-content: space-between; gap: var(--space-4); font: 400 14px/20px var(--font-sans); color: var(--muted); }
.wd-pager a:hover { color: var(--ink); }

/* ---- live changes (local reader) ---- */
.wd-live-changed:not(mark) { animation: wd-live-change 5s ease-out both; border-radius: var(--radius-xs); }
@keyframes wd-live-change { 0%, 60% { background-color: var(--orange-soft); } 100% { background-color: transparent; } }
.wd-live-notice { position: fixed; right: var(--space-5); bottom: calc(var(--space-5) + env(safe-area-inset-bottom, 0px)); z-index: 50; display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border: 1px solid var(--field); border-radius: var(--radius-sm); background: var(--surface); font: 400 12px/16px var(--font-mono); letter-spacing: 0.04em; color: var(--ink-2); pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .wd-live-changed:not(mark) { animation: none; background-color: var(--orange-soft); } }

/* ---- phone (bp-sm) ---- */
@media (max-width: 40rem) {
  .wd-main { padding-block: var(--space-5); }
  /* Secondary shell actions the reader can do without on phones, such as Search. */
  .wd-hide-sm { display: none; }
}

/* ---- forced colours (Windows High Contrast) ---- */
@media (forced-colors: active) {
  .wd-sidebar a[aria-current] { box-shadow: none; border-left: 2px solid Highlight; padding-left: calc(var(--space-3) - 2px); }
}

/* ---- print ---- */
@media print {
  .wd-sidebar, .wd-pager, .wd-live-notice { display: none !important; }
  .wd-reader { display: block; }
  .wd-heading { max-width: none; }
  .wd-live-changed { animation: none; background: none; }
}
