/* The time of day colours the screen only. Print retains the paper edition. */
@media screen {
  html[data-appearance], html[data-appearance] body {
    --paper: var(--appearance-paper);
    --ink: var(--appearance-ink);
    --muted: var(--appearance-muted);
    --signal: var(--appearance-signal);
    --accent: var(--signal);
    --hair: var(--appearance-hair);
    --ink-soft: var(--muted);
    --ink-faint: var(--muted);
    --closing-bg: var(--appearance-closing-bg);
    --closing-fg: var(--appearance-closing-fg);
    --closing-muted: var(--appearance-closing-muted);
    --closing-signal: var(--appearance-closing-signal);
    --closing-rule: var(--appearance-closing-rule);
    --method-bg: var(--appearance-method-bg);
    --method-rule: var(--appearance-method-rule);
  }
  html[data-appearance-scheme="light"] { color-scheme: light; }
  html[data-appearance-scheme="dark"] { color-scheme: dark; }
  /* Text and paper change together, without low-contrast intermediate colours. */
  html[data-appearance] body :is(a, button, summary, input) { transition: none; }
  html[data-appearance] .note-entry :is(.date, .go) { transition: none; }
  html[data-appearance] .editorial-home .approach { background: var(--method-bg); }
  html[data-appearance] .editorial-home .model-table tbody tr { border-color: var(--method-rule); }
  .appearance-slot { display: none; }
  html[data-appearance] .appearance-slot { display: block; min-height: 3.5rem; }
  .appearance, .appearance * { box-sizing: border-box; }
  .appearance { position: relative; color: var(--ink); font: 400 .9375rem/1.5 "Bradford Editorial", Georgia, serif; letter-spacing: 0; }
  .appearance .appearance__summary { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem 1.5rem; flex-wrap: wrap; min-height: 2.75rem; padding: .65rem 0; border: 0; color: var(--muted); list-style: none; cursor: pointer; text-transform: none; font: inherit; }
  .appearance__summary::-webkit-details-marker { display: none; }
  .appearance__summary::marker { content: ''; }
  .appearance .appearance__label { color: var(--muted); }
  .appearance__action { display: inline-flex; align-items: baseline; gap: .9rem; color: var(--ink); white-space: nowrap; }
  .appearance__mark { font-size: 1.2rem; width: .8rem; line-height: 1; }
  .appearance__summary:hover .appearance__action { color: var(--signal); }
  .appearance[open] .appearance__summary { border-bottom: 1px solid var(--hair); }
  .appearance__panel { padding: 1.5rem 0 1rem; max-width: 38rem; margin-left: auto; }
  .appearance .appearance__choices { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .1rem 1rem; margin: 0 0 1.5rem; padding: 0; border: 0; min-width: 0; }
  .appearance .appearance__choices legend { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }
  .appearance .appearance__choice { display: flex; align-items: center; gap: .65rem; min-height: 2.75rem; font: inherit; cursor: pointer; color: var(--ink); }
  .appearance__choice input { flex: 0 0 auto; appearance: auto; accent-color: var(--signal); width: 1rem; height: 1rem; margin: 0; }
  .appearance .appearance__actual { margin: 0 0 .25rem; color: var(--ink); }
  .appearance .appearance__times { color: var(--muted); margin: 0 0 1.25rem; font-variant-numeric: tabular-nums; }
  .appearance .appearance__explanation { color: var(--muted); font: inherit; margin: 1.25rem 0 .4rem; max-width: 58ch; }
  .appearance .appearance__source { color: var(--signal); text-decoration: underline; text-underline-offset: .2em; }
  .appearance .appearance__storage { color: var(--muted); margin: 1rem 0; }
  .appearance .appearance__close { display: block; color: var(--ink); font: inherit; margin: .5rem 0 0 auto; padding: .65rem 0; min-height: 2.75rem; border: 0; border-bottom: 1px solid var(--hair); background: none; cursor: pointer; }
  .appearance :where(summary,input,a,button):focus-visible { outline: 2px solid var(--signal); outline-offset: 5px; box-shadow: none; }
  @supports (mask-image: url('/images/continuity.svg')) {
    html[data-appearance] :is(.hero__art, .notes-masthead__art) { position: relative; }
    html[data-appearance] :is(.hero__art, .notes-masthead__art)::after {
      content: ''; position: absolute; inset: 0;
      background: linear-gradient(var(--appearance-art-angle), var(--appearance-art-shadow), var(--appearance-art-middle) 47%, var(--appearance-art-edge) 86%, var(--appearance-art-middle));
      mask: url('/images/continuity.svg') center / contain no-repeat;
    }
    html[data-appearance] :is(.hero__art, .notes-masthead__art) img { opacity: 0; }
    @media(max-width:47.999rem) {
      html[data-appearance] :is(.hero__art, .notes-masthead__art)::after { mask-image: url('/images/continuity-small.svg'); }
    }
  }
  @media(max-width:24rem) {
    .appearance .appearance__choices { grid-template-columns: minmax(0,1fr); }
  }
  @media(prefers-contrast: more) {
    html[data-appearance], html[data-appearance] body { --muted: var(--ink); --hair: var(--ink); }
  }
  @media(forced-colors: active) {
    html[data-appearance], html[data-appearance] body { --paper: Canvas; --ink: CanvasText; --muted: CanvasText; --signal: LinkText; --hair: CanvasText; --closing-bg: Canvas; --closing-fg: CanvasText; --closing-muted: CanvasText; --closing-signal: LinkText; --closing-rule: CanvasText; --method-bg: Canvas; --method-rule: CanvasText; }
    html[data-appearance] :is(.hero__art, .notes-masthead__art)::after { background: CanvasText; forced-color-adjust: none; }
  }
}
@media print { .appearance-slot { display: none !important; } }
/* Settings are a quiet utility; the light itself belongs to the page. */
@media screen {
  .appearance { font-family: var(--sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); font-size: .8125rem; }
  html[data-appearance] .appearance-slot--footer { min-width: 0; min-height: 44px; width: 100%; flex-basis: 100%; grid-column: 1 / -1; margin-top: 1.5rem; border-top: 1px solid var(--hair); container: appearance / inline-size; }
  .appearance-slot--footer .appearance__summary { min-height: 44px; padding-block: 1rem; scroll-margin-top: 1rem; }
  .appearance-slot--footer .appearance__label { min-width: 0; overflow-wrap: anywhere; }
  .appearance-slot--footer .appearance__action { gap: .5rem; margin-left: auto; }
  .appearance-slot--footer .appearance__panel { width: 100%; max-width: 38rem; padding-block: 1.5rem 1rem; }
  .appearance-slot--footer .appearance__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .appearance-slot--footer .appearance__choice { min-width: 0; }
  .appearance-slot--footer :is(.appearance__choice, .appearance__close, .appearance__source) { scroll-margin-block: .5rem; }
  .appearance-slot--footer :is(p, a, button, .appearance__choice span) { overflow-wrap: anywhere; }
  .site-utility-footer { display: none; max-width: 82.5rem; margin: 3rem auto 1.5rem; }
  html[data-appearance] .site-utility-footer { display: block; }
  body:has(> .not-found) .site-utility-footer { width: calc(100% - 2 * var(--pad)); }
  @container appearance (max-width: 30rem) {
    .appearance-slot--footer .appearance__choices { grid-template-columns: minmax(0, 1fr); }
    .appearance-slot--footer .appearance__summary { align-items: start; }
    .appearance-slot--footer .appearance__label { flex: 1 1 100%; }
    .appearance-slot--footer .appearance__action { width: 100%; margin-left: 0; justify-content: space-between; }
  }
}
@media print { .site-utility-footer { display: none !important; } }
