    :root {
      --rust: #B44A28;
      --rust-dark: #8A341C;
      --rust-soft: #E8C7B6;
      --ink: #1A1614;
      --ink-soft: #3A342F;
      --muted: #6A635B;
      --rule: #D8D0C4;
      --paper: #F3EEE4;
      --paper-2: #EBE4D6;
      --card: #FBF8F1;
      --chip: #E8E1D4;
      --mast: #14110F;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    html, body { background: var(--paper); color: var(--ink); }
    body {
      font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 16px;
      line-height: 1.5;
      min-height: 100vh;
    }
    a { color: inherit; }
    img, svg { display: block; }

    /* Seal */
    .seal { width: 44px; height: 44px; flex: 0 0 auto; color: var(--rust); }
    .seal-lg { width: 44px; height: 44px; }

    /* Masthead */
    .masthead {
      background: var(--mast);
      color: var(--paper);
      text-align: center;
      padding: 18px 20px 20px;
      overflow: hidden;
    }
    .masthead-inner {
      max-width: 1120px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
    }
    .brand-row {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      color: inherit;
    }
    .brand-row { flex-wrap: nowrap; max-width: 100%; }
    .wordmark {
      font-family: Anton, "Arial Narrow", sans-serif;
      font-weight: 400;
      font-size: 36px;
      line-height: 0.9;
      letter-spacing: 0.02em;
      color: var(--paper);
      white-space: nowrap;
    }
    .wordmark .accent { color: var(--rust); }
    .tagline {
      font-family: Newsreader, Georgia, serif;
      font-style: italic;
      font-weight: 400;
      font-size: 15px;
      color: #C9C0B3;
    }
    .edition {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #A39A8E;
    }

    .wrap {
      max-width: 1120px;
      margin: 0 auto;
      padding: 0 16px 56px;
    }

    /* Shared story bits */
    .kicker {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--rust);
      margin-bottom: 10px;
    }
    .take {
      font-size: 15px;
      color: var(--ink-soft);
      margin-top: 8px;
      line-height: 1.5;
    }
    .meta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 12px;
    }
    .chip {
      display: inline-flex;
      align-items: center;
      background: var(--chip);
      color: var(--ink-soft);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      padding: 4px 8px;
      text-decoration: none;
      border-radius: 2px;
      line-height: 1.3;
      white-space: nowrap;
    }
    a.chip:hover { background: var(--rust-soft); color: var(--rust-dark); }
    .meter {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .ticks { display: inline-flex; gap: 3px; }
    .ticks i {
      width: 8px;
      height: 8px;
      border-radius: 1px;
      background: var(--chip);
      box-shadow: inset 0 0 0 1px #C9C0B3;
      display: block;
    }
    .ticks i.on { background: var(--rust); box-shadow: none; }
    .share {
      display: inline-flex;
      gap: 6px;
      margin-left: 0;
    }
    .share button, .share a {
      appearance: none;
      border: 1px solid var(--rule);
      background: var(--card);
      color: var(--ink-soft);
      font: 600 11px/1 "IBM Plex Sans", sans-serif;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 7px 9px;
      text-decoration: none;
      cursor: pointer;
      border-radius: 2px;
      min-height: 32px;
      display: inline-flex;
      align-items: center;
      gap: 5px;
    }
    .share button:hover, .share a:hover { border-color: var(--rust); color: var(--rust-dark); }
    .share svg { width: 11px; height: 11px; }

    /* Lead */
    .lead {
      padding: 28px 0 24px;
      border-bottom: 1px solid var(--rule);
    }
    .lead h1 {
      font-family: Newsreader, Georgia, serif;
      font-optical-sizing: auto;
      font-weight: 600;
      font-size: clamp(26px, 5.4vw, 44px);
      line-height: 1.12;
      letter-spacing: -0.02em;
    }
    .lead h1 a { text-decoration: none; }
    .lead h1 a:hover { color: var(--rust); }
    .lead .take {
      font-family: Newsreader, Georgia, serif;
      font-size: 17px;
      margin-top: 14px;
      max-width: 46em;
      color: var(--ink);
    }

    /* Rot of the Week */
    .rot-week {
      margin: 24px 0 8px;
      background: var(--card);
      border: 1px solid var(--ink);
      border-left: 6px solid var(--rust);
      padding: 22px 20px 20px;
    }
    .rot-week h2 {
      font-family: Newsreader, Georgia, serif;
      font-optical-sizing: auto;
      font-weight: 600;
      font-size: clamp(22px, 3.2vw, 32px);
      line-height: 1.18;
      letter-spacing: -0.015em;
    }
    .rot-week h2 a { text-decoration: none; }
    .rot-week h2 a:hover { color: var(--rust); }
    .rot-week .take {
      font-family: Newsreader, Georgia, serif;
      font-size: 16px;
      max-width: 44em;
      color: var(--ink);
    }

    /* Sections */
    .grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
    .col { padding: 8px 0 4px; }
    .section-head {
      display: flex;
      align-items: center;
      gap: 8px;
      border-bottom: 2px solid var(--ink);
      padding-bottom: 8px;
      margin: 20px 0 4px;
    }
    .section-head svg { width: 16px; height: 16px; color: var(--rust); flex: 0 0 auto; }
    .section-head h3 {
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 700;
      font-size: 12px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--ink);
    }
    article.item {
      padding: 16px 0 14px;
      border-bottom: 1px solid var(--rule);
    }
    article.item:last-child { border-bottom: 0; }
    article.item h4 {
      font-family: Newsreader, Georgia, serif;
      font-optical-sizing: auto;
      font-weight: 600;
      font-size: 18px;
      line-height: 1.25;
    }
    article.item h4 a { text-decoration: none; }
    article.item h4 a:hover { color: var(--rust); }
    article.item .take { font-size: 14.5px; }
    article.item .share { margin-left: 0; }
    article.item .meta { gap: 6px 8px; }

    /* Newsletter */
    .signup {
      margin-top: 40px;
      background: var(--mast);
      color: var(--paper);
      padding: 28px 20px;
    }
    .signup h2 {
      font-family: Anton, sans-serif;
      font-size: 28px;
      letter-spacing: 0.04em;
      line-height: 1.05;
    }
    .signup p {
      margin-top: 10px;
      color: #C9C0B3;
      font-size: 15px;
      max-width: 420px;
    }
    form { display: grid; gap: 10px; margin-top: 20px; }
    .signup form label {
      position: absolute;
      width: 1px; height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
    }
    form input[type="text"],
    form input[type="email"] {
      width: 100%;
      border: 0;
      background: #2A2623;
      color: #fff;
      padding: 12px 14px;
      font: 15px "IBM Plex Sans", sans-serif;
      outline: none;
      border-radius: 2px;
    }
    form input::placeholder { color: #8A8378; }
    form input:focus { box-shadow: inset 0 0 0 2px var(--rust); }
    form button {
      border: 0;
      background: var(--rust);
      color: #fff;
      font: 400 16px/1 Anton, sans-serif;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 14px 16px;
      cursor: pointer;
      border-radius: 2px;
    }
    form button:hover { background: #C65632; }
    .fine { font-size: 11px; color: #8A8378; }

    footer {
      padding: 28px 0 8px;
      border-top: 3px solid var(--ink);
      color: var(--muted);
      font-size: 13px;
    }
    footer .foot-brand {
      font-family: Anton, sans-serif;
      letter-spacing: 0.12em;
      color: var(--ink);
      font-size: 18px;
      margin-bottom: 8px;
    }
    footer .foot-brand span { color: var(--rust); }
    footer p { max-width: 760px; }

    @media (min-width: 700px) {
      .wrap { padding: 0 24px 64px; }
      .masthead { padding: 28px 24px 32px; }
      .wordmark { font-size: 80px; }
      .seal-lg { width: 70px; height: 70px; }
      .tagline { font-size: 18px; }
      .lead .share, .rot-week .share { margin-left: auto; }
      .rot-week { padding: 28px 28px 26px; }
      .signup {
        margin-top: 48px;
        padding: 36px 40px;
        display: grid;
        grid-template-columns: 1.1fr 1fr;
        gap: 32px;
        align-items: center;
      }
      form { margin-top: 0; }
    }
    @media (min-width: 960px) {
      .grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 0 36px;
      }
      .grid + .grid { border-top: 1px solid var(--rule); }
      .col + .col {
        border-left: 1px solid var(--rule);
        padding-left: 36px;
      }
      .section-head { margin-top: 24px; }
      article.item h4 { font-size: 17.5px; }
    }

    .ed-note {
      font-family: Newsreader, Georgia, serif;
      font-style: italic;
      font-size: 15px;
      color: var(--ink-soft);
      padding: 18px 0 0;
      max-width: 46em;
    }
    .chip.buried {
      background: transparent;
      box-shadow: inset 0 0 0 1px var(--rust);
      color: var(--rust-dark);
      letter-spacing: 0.03em;
    }

    .item-kicker {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--rust);
      margin-bottom: 6px;
    }
    .chip.intl {
      background: var(--ink);
      color: var(--paper);
      letter-spacing: 0.08em;
    }

    .subversion {
      margin-top: 10px;
      font-family: Newsreader, Georgia, serif;
      font-style: italic;
      font-size: 14.5px;
      color: var(--ink);
      line-height: 1.45;
      max-width: 46em;
    }
    .lead .subversion { font-size: 17px; margin-top: 12px; }
    .rot-week .subversion { font-size: 16px; }
    .subversion b {
      font-style: normal;
      font-family: "IBM Plex Sans", sans-serif;
      font-weight: 700;
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--rust);
      margin-right: 6px;
    }
    .fight {
      margin-top: 12px;
      padding: 10px 12px;
      background: #F6EDE6;
      border-left: 3px solid var(--rust);
      font-size: 13.5px;
      color: var(--ink-soft);
      line-height: 1.45;
      max-width: 46em;
    }
    .lead .fight, .rot-week .fight { font-size: 14.5px; }
    .fight b {
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--rust-dark);
      margin-right: 6px;
    }
    .fight a {
      color: var(--rust-dark);
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    .fight a:hover { color: var(--rust); }
    .chip.inst {
      background: transparent;
      box-shadow: inset 0 0 0 1px #C9C0B3;
      color: var(--ink-soft);
    }
    .involved {
      margin-top: 36px;
      background: var(--card);
      border: 1px solid var(--ink);
      border-left: 6px solid var(--rust);
      padding: 22px 20px 20px;
    }
    .involved h2 {
      font-family: Anton, sans-serif;
      font-size: 28px;
      letter-spacing: 0.04em;
      line-height: 1.05;
    }
    .involved .lede {
      font-family: Newsreader, Georgia, serif;
      font-style: italic;
      margin-top: 8px;
      font-size: 16px;
      color: var(--ink-soft);
      max-width: 44em;
    }
    .involved ul {
      margin-top: 16px;
      padding-left: 1.15em;
      display: grid;
      gap: 10px;
      max-width: 54em;
    }
    .involved li { font-size: 14.5px; color: var(--ink); line-height: 1.45; }
    .involved a {
      color: var(--rust-dark);
      text-decoration: underline;
      text-underline-offset: 2px;
    }
    @media (min-width: 700px) {
      .involved { padding: 28px 28px 26px; }
    }
    @media (min-width: 960px) {
      .grid.grid-2 {
        grid-template-columns: 1fr 1fr;
        gap: 0 36px;
      }
    }


    /* --- Site chrome (multi-page) --- */
    .masthead-inner { width: 100%; }
    .nav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 4px 2px;
      margin-top: 10px;
      max-width: 100%;
    }
    .nav a {
      color: #C9C0B3;
      text-decoration: none;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 8px 10px;
      border-radius: 2px;
      min-height: 36px;
      display: inline-flex;
      align-items: center;
    }
    .nav a:hover { color: var(--paper); background: #2A2623; }
    .nav a[aria-current="page"] {
      color: var(--paper);
      box-shadow: inset 0 -2px 0 var(--rust);
    }

    .page-head {
      padding: 28px 0 20px;
      border-bottom: 1px solid var(--rule);
      max-width: 46em;
    }
    .page-head h1 {
      font-family: Newsreader, Georgia, serif;
      font-weight: 600;
      font-size: clamp(28px, 5vw, 42px);
      line-height: 1.12;
      letter-spacing: -0.02em;
    }
    .page-head .lede {
      font-family: Newsreader, Georgia, serif;
      font-style: italic;
      font-size: 17px;
      color: var(--ink-soft);
      margin-top: 12px;
    }

    .prose { max-width: 46em; padding: 24px 0 8px; }
    .prose h2 {
      font-family: Newsreader, Georgia, serif;
      font-weight: 600;
      font-size: 24px;
      margin: 28px 0 10px;
      letter-spacing: -0.015em;
    }
    .prose h3 {
      font-family: "IBM Plex Sans", sans-serif;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      margin: 22px 0 8px;
    }
    .prose p, .prose li { font-size: 16px; color: var(--ink); line-height: 1.55; }
    .prose p + p { margin-top: 12px; }
    .prose ul, .prose ol { padding-left: 1.2em; display: grid; gap: 8px; margin: 10px 0 16px; }
    .prose a { color: var(--rust-dark); text-underline-offset: 2px; }
    .prose a:hover { color: var(--rust); }

    /* Wins */
    .win-list { display: grid; gap: 16px; padding: 24px 0 8px; }
    .win {
      background: var(--card);
      border: 1px solid var(--rule);
      border-left: 6px solid var(--rust);
      padding: 20px 20px 18px;
    }
    .win .kicker { margin-bottom: 8px; }
    .win h2 {
      font-family: Newsreader, Georgia, serif;
      font-weight: 600;
      font-size: clamp(20px, 2.6vw, 26px);
      line-height: 1.2;
      letter-spacing: -0.015em;
    }
    .win h2 a { text-decoration: none; }
    .win h2 a:hover { color: var(--rust); }
    .empty-note {
      margin: 12px 0 8px;
      padding: 18px 16px;
      background: var(--paper-2);
      border: 1px dashed #C9C0B3;
      color: var(--ink-soft);
      font-family: Newsreader, Georgia, serif;
      font-style: italic;
      font-size: 16px;
      max-width: 46em;
    }

    /* Forms */
    .form-card {
      margin: 20px 0 8px;
      background: var(--card);
      border: 1px solid var(--rule);
      padding: 22px 20px;
      max-width: 36em;
    }
    .form-card form { margin-top: 0; display: grid; gap: 12px; }
    .form-card label.field {
      position: static;
      width: auto; height: auto;
      overflow: visible;
      clip: auto;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ink-soft);
      display: grid;
      gap: 6px;
    }
    .form-card input[type="text"],
    .form-card input[type="email"],
    .form-card input[type="url"],
    .form-card textarea {
      width: 100%;
      border: 1px solid var(--rule);
      background: #fff;
      color: var(--ink);
      padding: 12px 14px;
      font: 15px "IBM Plex Sans", sans-serif;
      outline: none;
      border-radius: 2px;
    }
    .form-card textarea { min-height: 160px; resize: vertical; }
    .form-card input:focus, .form-card textarea:focus { box-shadow: inset 0 0 0 2px var(--rust); border-color: var(--rust); }
    .form-card .opt { font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--muted); margin-left: 6px; }
    .form-card label.check, .check {
      position: static;
      width: auto;
      height: auto;
      overflow: visible;
      clip: auto;
      display: flex;
      gap: 10px;
      align-items: flex-start;
      font-size: 14px;
      color: var(--ink-soft);
    }
    .check input { margin-top: 3px; flex: 0 0 auto; }
    .form-card button {
      border: 0;
      background: var(--rust);
      color: #fff;
      font: 400 16px/1 Anton, sans-serif;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 14px 16px;
      cursor: pointer;
      border-radius: 2px;
      justify-self: start;
    }
    .form-card button:hover { background: #C65632; }
    .form-msg {
      display: none;
      padding: 12px 14px;
      background: var(--paper-2);
      border-left: 3px solid var(--rust);
      font-size: 14px;
      color: var(--ink);
    }
    .form-msg.show { display: block; }
    .warn {
      background: #F6EDE6;
      border-left: 3px solid var(--rust);
      padding: 14px 16px;
      margin: 16px 0;
      font-size: 15px;
      color: var(--ink);
      max-width: 46em;
    }

    /* Act finder */
    .finder {
      margin: 20px 0 8px;
      background: var(--card);
      border: 1px solid var(--ink);
      border-left: 6px solid var(--rust);
      padding: 22px 20px;
      max-width: 40em;
    }
    .finder h2 {
      font-family: Anton, sans-serif;
      font-size: 26px;
      letter-spacing: 0.04em;
    }
    .finder p { margin-top: 8px; color: var(--ink-soft); font-size: 15px; }
    .finder form {
      margin-top: 16px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: end;
    }
    .finder label.field {
      position: static; width: auto; height: auto; overflow: visible; clip: auto;
      display: grid; gap: 6px;
      font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--ink-soft);
      flex: 1 1 160px;
    }
    .finder input[type="text"] {
      width: 100%;
      border: 1px solid var(--rule);
      background: #fff;
      color: var(--ink);
      padding: 12px 14px;
      font: 16px "IBM Plex Sans", sans-serif;
      letter-spacing: 0.12em;
    }
    .finder button, .out-links a {
      border: 0;
      background: var(--rust);
      color: #fff;
      font: 400 15px/1 Anton, sans-serif;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 14px 16px;
      cursor: pointer;
      border-radius: 2px;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
    }
    .finder button:hover, .out-links a:hover { background: #C65632; }
    .out-links {
      display: none;
      grid-gap: 10px;
      margin-top: 16px;
    }
    .out-links.show { display: grid; }
    .out-links a { background: var(--ink); justify-content: center; text-align: center; }
    .out-links a:hover { background: var(--rust-dark); }
    .finder .err { color: var(--rust-dark); font-size: 14px; margin-top: 8px; display: none; }
    .finder .err.show { display: block; }

    /* Archive */
    .filters {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      padding: 20px 0 8px;
      align-items: end;
      border-bottom: 1px solid var(--rule);
    }
    .filters label {
      display: grid;
      gap: 6px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .filters select, .filters input[type="search"] {
      border: 1px solid var(--rule);
      background: var(--card);
      color: var(--ink);
      padding: 10px 12px;
      font: 14px "IBM Plex Sans", sans-serif;
      min-width: 180px;
      min-height: 40px;
    }
    .arch-count { font-size: 13px; color: var(--muted); margin-top: 12px; }
    .arch-list { display: grid; gap: 0; padding: 8px 0 24px; }
    .arch-item {
      padding: 18px 0 16px;
      border-bottom: 1px solid var(--rule);
    }
    .arch-item h2 {
      font-family: Newsreader, Georgia, serif;
      font-weight: 600;
      font-size: 20px;
      line-height: 1.25;
    }
    .arch-item h2 a { text-decoration: none; }
    .arch-item h2 a:hover { color: var(--rust); }
    footer .foot-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 16px;
      margin: 12px 0 14px;
    }
    footer .foot-nav a {
      color: var(--ink-soft);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      text-decoration: none;
    }
    footer .foot-nav a:hover { color: var(--rust); }
    .involved a.more {
      display: inline-block;
      margin-top: 14px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      font-size: 12px;
      color: var(--rust-dark);
    }
