/* Original 2026-10-17 themes, available through Alt-click. */
:root[data-classic="true"] {
& {
  color-scheme: dark;
  --ink: #171715;
  --paper: #f1efe7;
  --muted: #b6b5ab;
  --accent: #ff7849;
  --line: #3e3e37;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--paper);
  background: var(--ink);
}
* { box-sizing: border-box; }
body { margin: 0; }
button, select, input { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--accent); }
button, select, input { color: var(--paper); }
button { cursor: pointer; }
button:disabled, select:disabled, input:disabled { cursor: wait; opacity: .55; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
::selection { background: var(--accent); color: var(--ink); }
[hidden] { display: none !important; }
.shell { width: min(1280px, 100%); margin-inline: auto; padding-inline: clamp(20px, 5vw, 72px); }
.controls label > span, .result-count, .meta, .group-count, .footer {
  font-family: "Courier New", monospace;
}
.header-actions { display: flex; flex-direction: column; align-items: stretch; width: 120px; justify-self: end; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 11px; }
.theme-track { position: relative; width: 36px; height: 20px; border: 1px solid #77776c; border-radius: 10px; background: #30302a; }
.theme-track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); }
.theme-toggle[aria-checked="true"] .theme-track::after { transform: translateX(16px); }
.theme-toggle[aria-checked="false"] > span:first-child,
.theme-toggle[aria-checked="true"] > span:last-child { color: var(--paper); }
.modlabs-mark { display: none; }
.results { min-width: 0; }
.languages { display: flex; gap: 2px; }
.languages button { flex: 1; min-width: 44px; min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: transparent; font-size: 12px; font-weight: 700; }
.languages button[aria-pressed="true"] { color: var(--accent); border-color: var(--accent); }
.languages button:hover { background: #24241f; }
.intro { display: grid; grid-template-columns: auto auto auto; justify-content: space-between; gap: 32px; align-items: center; padding-block: 24px 32px; }
h1 { margin: 0; font-size: clamp(36px, 6vw, 88px); line-height: 1; font-weight: 800; letter-spacing: -.075em; white-space: nowrap; }
h1 span { color: var(--accent); display: inline; margin-left: .1em; letter-spacing: -.055em; }
.intro-detail { display: grid; gap: 8px; }
.intro-line { margin: 0; font-size: clamp(18px, 2vw, 24px); letter-spacing: -.025em; }
.range { margin: 0; font-size: clamp(28px, 3.2vw, 44px); letter-spacing: -.06em; white-space: nowrap; }
.range-accent { color: var(--accent); }
.controls { display: grid; grid-template-columns: 1.25fr 1.35fr 1fr 1fr 1fr; gap: 12px 18px; align-items: end; margin: 0; padding-block: 20px 8px; border-block: 1px solid var(--line); background: var(--ink); position: sticky; top: 0; z-index: 2; }
.controls label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.controls label > span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
select, input[type="date"] { width: 100%; min-width: 0; min-height: 44px; max-width: 100%; border: 1px solid #56564c; border-radius: 0; padding: 8px 30px 8px 12px; background: #20201c; font-size: 13px; }
input[type="date"] { padding-inline: 10px; }
input[aria-invalid="true"] { border-color: var(--accent); }
.filter-status { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.reset { min-height: 44px; padding: 8px 0; color: var(--muted); background: none; border: 0; font-size: 12px; text-decoration: underline; text-underline-offset: .25em; }
.reset:hover:not(:disabled) { color: var(--accent); }
.reset:disabled { cursor: default; opacity: .45; text-decoration: none; }
.result-count { margin: 0; color: var(--muted); font-size: 12px; text-align: right; line-height: 1.5; }
.filter-message { margin: 32px 0; color: var(--paper); font-size: 15px; line-height: 1.6; }
.result-count strong { color: var(--paper); font-weight: 400; }
#archive { min-height: 180px; scroll-margin-top: 180px; }
#archive:focus { outline: none; }
.group { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 28px; padding-top: 40px; }
.group-heading { position: sticky; top: 180px; align-self: start; margin: 0; }
.group-heading h2 { margin: 0; color: var(--accent); font-size: 34px; font-weight: 400; letter-spacing: -.045em; line-height: 1.12; overflow-wrap: anywhere; }
.group.by-topic .group-heading h2 { font-size: 22px; line-height: 1.3; letter-spacing: -.025em; }
.group-count { display: block; color: var(--muted); font-size: 11px; margin-top: 12px; }
.entries { list-style: none; padding: 0; margin: 0; min-width: 0; }
.entry { padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid var(--line); scroll-margin-top: 180px; }
.entry:last-child { margin-bottom: 0; }
.meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 10px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.topic-name { color: var(--accent); }
.date-note { color: var(--paper); }
.entry h3 { margin: 0; font-size: 20px; font-weight: 500; line-height: 1.38; letter-spacing: -.025em; overflow-wrap: anywhere; }
.article-link { text-decoration: none; }
.article-link::after { content: " ↗"; color: var(--accent); font-size: .85em; white-space: nowrap; }
.article-link:hover { text-decoration: underline; }
.original-title { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.entry-excerpt { display: flow-root; }
.entry-image { float: right; width: 120px; height: 90px; object-fit: contain; margin: 12px 0 8px 16px; padding: 3px; border: 1px solid var(--line); background: #f3f3ed; }
.entry-image[data-kind="logo"] { padding: 8px; background: var(--image-logo-bg, #f3f3ed); }
.summary { margin: 12px 0 0; max-width: 85ch; color: #c5c4bb; font-size: 14px; line-height: 1.7; }
.source-note { margin: 12px 0 0; padding-left: 12px; border-left: 2px solid #786958; max-width: 85ch; font-size: 12px; line-height: 1.6; color: var(--muted); }
.alternate { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; font-size: 12px; color: var(--muted); }
.footer { display: flex; justify-content: flex-end; margin-block: 64px 24px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 11px; line-height: 1.7; color: var(--muted); }
.footer a { display: inline-flex; align-items: center; min-height: 44px; flex-shrink: 0; margin-top: -10px; }
.error { margin-block: 32px; padding: 20px; border: 1px solid var(--accent); line-height: 1.5; }
.error button { background: var(--accent); color: var(--ink); border: none; min-height: 44px; padding: 8px 20px; }
.skip-link { position: absolute; top: -100px; left: 20px; z-index: 5; background: var(--paper); color: var(--ink); padding: 14px; }
.skip-link:focus { top: 12px; }
@media (prefers-reduced-motion: no-preference) {
  .intro { animation: arrive .45s ease-out both; }
  .article-link, .languages button { transition: color .15s, background .15s; }
  @keyframes arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 1000px) {
  .controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; position: static; }
  .controls label:last-of-type { grid-column: 1 / -1; }
  .group-heading { top: 20px; }
  #archive, .entry { scroll-margin-top: 24px; }
}
@media (max-width: 760px) {
  .intro { gap: 12px 20px; padding-block: 24px 28px; grid-template-columns: auto auto; }
  .brand-block { grid-column: 1 / -1; }
  .intro-detail { display: contents; }
  .intro-line { grid-column: 1 / -1; font-size: 18px; }
  .header-actions { grid-column: 2; grid-row: 3; }
  .range { font-size: 32px; }
  .group { grid-template-columns: 72px minmax(0, 1fr); gap: 20px; padding-top: 30px; }
  .group-heading h2 { font-size: 27px; }
  .group.by-topic { grid-template-columns: 1fr; gap: 20px; }
  .group.by-topic .group-heading { position: static; }
  .group.by-topic .group-count { display: inline; margin-left: 12px; }
  .entry h3 { font-size: 18px; }
}
@media (max-width: 480px) {
  .intro { gap: 10px 16px; padding-block: 20px 24px; }
  h1 { font-size: clamp(36px, 9.5vw, 48px); }
  .intro-line { font-size: 17px; }
  .range { font-size: 19px; letter-spacing: -.04em; white-space: nowrap; }
  .controls { gap: 12px; padding-block: 14px 4px; }
  select, input[type="date"] { font-size: 12px; padding-left: 8px; padding-right: 8px; }
  .group { grid-template-columns: 1fr; gap: 20px; }
  .group-heading { position: static; display: flex; gap: 12px; align-items: baseline; }
  .group-count { margin: 0; }
  .group.by-topic .group-count { margin: 0; }
  .entry { padding-bottom: 24px; margin-bottom: 24px; }
  .meta { font-size: 10px; gap: 5px 12px; }
  .summary { font-size: 14px; }
}

/* The 2004 green rail, grey reading field and dark hardware header, rebuilt for a fluid archive. */
&[data-theme="modlabs"] {
  color-scheme: light;
  --ink: #e6e8e1;
  --paper: #232b1d;
  --muted: #555f49;
  --accent: #536b0b;
  --line: #c1c8b6;
  --rail: #b9cf55;
  --lime: #c6df78;
  background: #20251c;
}
&[data-theme="modlabs"] body { background: #20251c; padding-block: 20px; }
&[data-theme="modlabs"] .shell { width: min(1320px, calc(100% - 40px)); }
&[data-theme="modlabs"] .theme-toggle { color: #b7c4a8; }
&[data-theme="modlabs"] .theme-toggle[aria-checked="true"] > span:last-child { color: var(--lime); }
&[data-theme="modlabs"] .theme-track { background: #354126; border-color: #7f9260; }
&[data-theme="modlabs"] .theme-track::after { background: var(--lime); }
&[data-theme="modlabs"] .header-actions :focus-visible { outline-color: var(--lime); }
&[data-theme="modlabs"] .languages button { color: #c0cbb3; }
&[data-theme="modlabs"] .languages button[aria-pressed="true"] { color: var(--lime); border-color: var(--lime); }
&[data-theme="modlabs"] .languages button:hover { background: #303a25; }
&[data-theme="modlabs"] main.shell { padding-inline: 0; background: var(--ink); }
&[data-theme="modlabs"] .intro { position: relative; padding: 24px 36px 32px; background: #20251c; color: #e9eedf; border-top: 3px solid #a8c63c; animation: none; }
&[data-theme="modlabs"] .intro::after { content: ""; position: absolute; inset: auto 0 0; height: 7px; background: linear-gradient(#e4e7df, #a2a99a 45%, #707b62 46%, #d5dbc9 85%, #7d896c); }
&[data-theme="modlabs"] .brand-block { display: flex; align-items: center; gap: 26px; min-width: 0; }
&[data-theme="modlabs"] .modlabs-mark { display: block; flex: 0 0 96px; width: 96px; height: 96px; color: #b9d656; }
&[data-theme="modlabs"] .fan-frame { fill: #303b20; stroke: #768c40; stroke-width: 1; }
&[data-theme="modlabs"] .fan-ring { fill: none; stroke: currentColor; stroke-width: 1; opacity: .65; }
&[data-theme="modlabs"] .fan-bolts { fill: #9bae79; }
&[data-theme="modlabs"] .fan-blades { fill: currentColor; opacity: .6; }
&[data-theme="modlabs"] .fan-hub { fill: #20251c; stroke: currentColor; stroke-width: 1; }
&[data-theme="modlabs"] h1 { font-size: clamp(44px, 6vw, 76px); font-style: italic; letter-spacing: -.06em; line-height: 1; white-space: nowrap; }
&[data-theme="modlabs"] h1 span { display: inline; margin: 0 0 0 .1em; font-size: 1em; color: var(--lime); letter-spacing: -.06em; }
&[data-theme="modlabs"] .intro-line { font-size: 17px; margin-bottom: 4px; }
&[data-theme="modlabs"] .range { font-family: "Courier New", monospace; font-size: 28px; letter-spacing: -.07em; }
&[data-theme="modlabs"] .range-accent { color: var(--lime); }
&[data-theme="modlabs"] .archive-layout { display: grid; grid-template-columns: 244px minmax(0, 1fr); align-items: start; background: linear-gradient(90deg, var(--rail) 244px, var(--ink) 244px); }
&[data-theme="modlabs"] .controls { grid-template-columns: minmax(0, 1fr); gap: 19px; align-self: start; padding: 30px 24px 20px; border: 0; border-right: 1px solid #9aaf43; background: var(--rail); position: sticky; top: 0; }
&[data-theme="modlabs"] .controls label:last-of-type { grid-column: auto; }
&[data-theme="modlabs"] .controls label > span { font-weight: 700; color: #36451e; font-size: 11px; }
&[data-theme="modlabs"] .controls select,
&[data-theme="modlabs"] input[type="date"] { background: #dce7b3; border-color: #8fa33f; color: #26331b; font-size: 12px; padding-left: 10px; }
&[data-theme="modlabs"] input[aria-invalid="true"] { border: 2px solid #4c5c26; }
&[data-theme="modlabs"] .filter-status { flex-direction: column-reverse; align-items: stretch; gap: 6px; padding-top: 14px; border-top: 1px solid #94aa3c; }
&[data-theme="modlabs"] .result-count { text-align: left; color: #34431b; }
&[data-theme="modlabs"] .reset { color: #34431b; text-align: left; }
&[data-theme="modlabs"] .reset:hover:not(:disabled) { color: #141e09; }
&[data-theme="modlabs"] .results { padding: 32px 36px; }
&[data-theme="modlabs"] #archive,
&[data-theme="modlabs"] .entry { scroll-margin-top: 24px; }
&[data-theme="modlabs"] .group { grid-template-columns: 70px minmax(0, 1fr); gap: 24px; padding-top: 32px; }
&[data-theme="modlabs"] .group:first-child { padding-top: 0; }
&[data-theme="modlabs"] .group-heading { top: 26px; }
&[data-theme="modlabs"] .group-heading::before { content: ""; display: block; width: 26px; height: 4px; background: #8fae2d; margin-bottom: 12px; }
&[data-theme="modlabs"] .group-heading h2 { color: #36451f; font-family: "Courier New", monospace; font-size: 27px; font-weight: 700; letter-spacing: -.08em; }
&[data-theme="modlabs"] .group.by-topic { grid-template-columns: 1fr; gap: 24px; }
&[data-theme="modlabs"] .group.by-topic .group-heading { position: static; display: flex; align-items: baseline; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid #aeb99d; }
&[data-theme="modlabs"] .group.by-topic .group-heading::before { display: none; }
&[data-theme="modlabs"] .group.by-topic .group-heading h2 { font-size: 20px; letter-spacing: -.04em; }
&[data-theme="modlabs"] .group-count { color: #5b674c; font-size: 11px; }
&[data-theme="modlabs"] .meta { color: #58634c; font-size: 11px; gap: 6px 14px; }
&[data-theme="modlabs"] .topic-name { color: #50660d; }
&[data-theme="modlabs"] .date-note { color: #3b482b; }
&[data-theme="modlabs"] .entry h3 { font-weight: 700; letter-spacing: -.02em; }
&[data-theme="modlabs"] .original-title { color: #59634e; }
&[data-theme="modlabs"] .summary { color: #394231; line-height: 1.75; }
&[data-theme="modlabs"] .source-note { border-color: #91a759; color: #4d5b3e; }
&[data-theme="modlabs"] .alternate { color: #50660d; }
&[data-theme="modlabs"] .footer { margin: 0; padding: 24px 32px; border-top: 4px solid #91ad38; color: #bac7aa; background: #20251c; }
&[data-theme="modlabs"] .footer a:hover { color: var(--lime); }
&[data-theme="modlabs"] .footer :focus-visible { outline-color: var(--lime); }

@media (prefers-reduced-motion: no-preference) {
  &[data-theme="modlabs"] .brand-block,
  &[data-theme="modlabs"] .intro-detail { animation: arrive .45s ease-out both; }
}

@media (max-width: 1100px) {
  &[data-theme="modlabs"] .range { font-size: 22px; }
}
@media (max-height: 620px) {
  &[data-theme="modlabs"] .controls { position: static; }
}
@media (max-width: 900px) {
  &[data-theme="modlabs"] .shell { width: 100%; }
  &[data-theme="modlabs"] body { padding: 0; }
  &[data-theme="modlabs"] .intro { padding: 20px 24px 28px; }
  &[data-theme="modlabs"] .archive-layout { display: block; background: var(--ink); }
  &[data-theme="modlabs"] .controls { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; padding: 22px 24px 12px; border: 0; border-bottom: 1px solid #95a63d; }
  &[data-theme="modlabs"] .controls label:last-of-type { grid-column: 1 / -1; }
  &[data-theme="modlabs"] .filter-status { flex-direction: row; align-items: center; gap: 16px; padding-top: 6px; }
  &[data-theme="modlabs"] .result-count { text-align: right; }
  &[data-theme="modlabs"] .results { padding: 28px 24px; }
  &[data-theme="modlabs"] .group-heading { top: 20px; }
}
@media (max-width: 480px) {
  &[data-theme="modlabs"] .intro { padding-inline: 20px; }
  &[data-theme="modlabs"] .brand-block { gap: 14px; }
  &[data-theme="modlabs"] .modlabs-mark { flex-basis: 52px; width: 52px; height: 52px; }
  &[data-theme="modlabs"] h1 { font-size: clamp(30px, 8vw, 38px); }
  &[data-theme="modlabs"] .intro-line { font-size: 15px; }
  &[data-theme="modlabs"] .range { font-size: 18px; }
  &[data-theme="modlabs"] .controls { padding-inline: 20px; gap: 12px; }
  &[data-theme="modlabs"] .controls select,
  &[data-theme="modlabs"] input[type="date"] { padding-inline: 8px; }
  &[data-theme="modlabs"] .results { padding: 24px 20px; }
  &[data-theme="modlabs"] .group { grid-template-columns: 1fr; gap: 20px; }
  &[data-theme="modlabs"] .group-heading { position: static; gap: 10px; }
  &[data-theme="modlabs"] .group-heading::before { width: 18px; margin: 0 2px 0 0; align-self: center; }
  &[data-theme="modlabs"] .group-heading h2 { font-size: 24px; }
  &[data-theme="modlabs"] .footer { padding-inline: 20px; }
}

  .rail, .controls-grid, .results-body { display: contents; }
  .deck-key, .restomod-mark, h1 .tld, .facet, .rail-label, .status-label,
  .reset-short, .group-index, .days-strip, .results-head, .results-end,
  .footer-mark, .footer-bar, .footer-data, .title-date, .group-top,
  .count-slash, .date-short, .date-numeric, .date-day, .date-monthyear { display: none; }
  .reset { order: -1; }
  .original-label::after { content: ":"; }
  .alternate::after { content: " ↗"; }
  .footer-links { margin: 0; }
}
