/* Static original scenery belongs to the same cartoon world on every page. */
:root {
  --paper: #eaf6ff;
  --sky-top: #e2f3ff;
  --sky-bottom: #f2fbff;
  --sky-scene: url("assets/site-sky.svg");
  --sky-opacity: 1;
  --reading-surface: #fffefb;
  --reading-soft: #e7f4fb;
  --reading-ink: #243f60;
  --reading-muted: #4b617b;
  --reading-line: #b7cbde;
  --reading-link: #28699e;
}
html { min-height: 100%; }
body, body.policy-page, html[data-theme] body {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background: linear-gradient(160deg, var(--sky-top), var(--sky-bottom));
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--sky-scene) center / cover no-repeat;
  opacity: var(--sky-opacity);
}
body.focus-play::before { opacity: .35; }
body.wide-play::before { display: none; }

/* Policies and admin reports remain calm reading surfaces with cartoon edges. */
.policy-page {
  --ink: var(--reading-ink);
  --surface: var(--reading-surface);
  --soft: var(--reading-soft);
  --line: var(--reading-line);
  --blue: var(--reading-link);
  color: var(--reading-ink);
}
.policy-page a, .policy-brand { color: var(--reading-link); }
.policy-page a:hover { color: var(--reading-ink); }
.policy-page a:focus-visible, .policy-page button:focus-visible, .policy-page select:focus-visible { outline-color: var(--reading-link); }
.policy-page .skip-link { background: var(--reading-surface); color: var(--reading-link); z-index: 2; }
.policy-content {
  color: var(--reading-ink);
  background: var(--reading-surface);
  border: 2px solid var(--reading-ink);
  border-radius: 25px;
  box-shadow: 0 7px 0 #b9d4e7;
}
.policy-content h1, .policy-brand { font-weight: 800; letter-spacing: -.025em; }
.policy-updated { color: var(--reading-muted); }
.policy-notice { background: var(--reading-soft); border-color: var(--reading-link); border-radius: 0 15px 15px 0; }
.stats-page :is(.stats-card, .stats-metric, .stats-access, .stats-account-error, .stats-network-error) {
  background: var(--reading-surface);
  border: 2px solid var(--reading-ink);
  border-radius: 22px;
  box-shadow: 0 5px 0 #b9d4e7;
}
.stats-page :is(.stats-intro, .stats-eyebrow, .stats-status, .stats-network-attribution, .stats-section-note, .stats-report-meta p, .stats-tools label, .stats-section-heading p, thead th) { color: var(--reading-muted); }
.stats-page :is(button, select) { color: var(--reading-ink); background: var(--reading-surface); border: 2px solid var(--reading-ink); border-radius: 12px; }
.stats-page button:hover { background: var(--reading-soft); }
.stats-page :is(.stats-method, .stats-empty, .stats-collection-status) { background: var(--reading-soft); border-radius: 13px; }
.stats-page .stats-collection-status { color: var(--reading-link) !important; }
.stats-page .stats-method strong { color: var(--reading-ink); }
.stats-page :is(.stats-number, .stats-breakdown-count, .stats-account-name, .stats-network-ips-table [aria-sort] .stats-sort-button) { color: var(--reading-link); }
.stats-page :is(th, td, .stats-account-details, .stats-breakdown li) { border-color: var(--reading-line); }
.stats-page .stats-breakdown-track { background: var(--reading-line); }
.stats-page .stats-daily-chart { border-color: var(--reading-line); }
.stats-page .stats-sort-button { border: 0; border-radius: 0; background: transparent; }
.policy-header > a:last-child { min-height: 44px; display: inline-flex; align-items: center; padding: 6px 13px; border: 2px solid var(--reading-ink); border-radius: 14px; background: var(--reading-surface); font-size: .8125rem; font-weight: 650; }
@media (max-width: 600px) { :root { --sky-scene: url("assets/site-sky-mobile.svg"); } }
