/*
Theme Name: Stuffer Shack
Theme URI: https://stuffershack.com/
Author: MongerGames
Description: The Stuffer Shack site design: Shadowrun tools on the front page, and every article on its own page in the same look.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: stuffer-shack
*/

:root {
  --ground: #1a0a06;
  --panel: #251311;
  --ink: #f8f4fb;
  --ink-dim: #d6cde0;
  --ink-faint: #bdb1bf;
  --blue: #3b52f0;
  --blue-bright: #7d92ff;
  --blue-line: rgba(120,140,255,.45);
  --violet: #a88bff;
  --ember: #ff9a3c;
  --mint: #59f0c4;
  --field: rgba(10,6,12,.55);
  --danger: #ff6b6b;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body {
  background: var(--ground);
  color: var(--ink);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  padding-block: 20px 40px;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
.wrap { max-width: 1240px; margin: 0 auto; }
.mono { font-family: "Inter", system-ui, sans-serif; }

/* header */
header.top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--blue-line); }
.logo { width: min(380px, 100%); height: auto; mix-blend-mode: lighten; display: block; margin: 0 auto; }
.bits { display: flex; flex-direction: column; gap: 4px; font-family: "Inter", system-ui, sans-serif; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-faint); }
.bits .on { color: var(--mint); }
.bits .on::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--mint); margin-right: 8px; box-shadow: 0 0 8px var(--mint); }
nav.links { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; }
nav.links a { font-family: "Inter", system-ui, sans-serif; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; font-size: 15px; color: var(--blue-bright); text-decoration: none; padding: 2px 0; }
nav.links a:hover { color: var(--ink); text-decoration: underline; }
@media (max-width: 760px) {
  header.top { grid-template-columns: 1fr 1fr; }
  .logo-wrap { grid-column: 1 / -1; order: -1; }
}

/* buttons */
button, select, input { font: inherit; color: inherit; }
.btn {
  background: transparent; border: 1px solid var(--blue-line); color: var(--blue-bright);
  padding: 8px 14px; border-radius: 6px; cursor: pointer; min-height: 40px;
  font-family: "Inter", system-ui, sans-serif; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 14px;
}
.btn:hover { background: rgba(59,82,240,.18); }
.btn:focus-visible, .mini:focus-visible, .expand:focus-visible, .close:focus-visible, .tab:focus-visible, .readmore:focus-visible, select:focus-visible, input:focus-visible, nav.links a:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.btn.primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.btn.primary:hover { background: #4d63ff; }
.btn.ember { border-color: rgba(255,154,60,.55); color: var(--ember); }
.btn.ember:hover { background: rgba(255,154,60,.12); }
.mini {
  background: transparent; border: 1px solid transparent; color: var(--ink-faint);
  width: 32px; height: 32px; border-radius: 6px; cursor: pointer; font-size: 16px; line-height: 1; flex: none;
}
.mini:hover { color: var(--violet); border-color: var(--blue-line); }

/* widgets */
.row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(310px, 100%), 1fr)); gap: 16px; margin-top: 16px; }
.slot { height: clamp(400px, calc(100vh - 230px), 560px); min-width: 0; }
.widget { background: var(--panel); border: 1px solid var(--blue-line); border-radius: 10px; height: 100%; display: flex; flex-direction: column; min-width: 0; box-shadow: 0 0 24px rgba(59,82,240,.08); overflow: hidden; }
.widget > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px 10px 16px; border-bottom: 1px solid rgba(120,140,255,.25); background: rgba(59,82,240,.08); flex: none; }
.widget h3 { font-family: "Inter", system-ui, sans-serif; font-size: 19px; letter-spacing: .05em; text-transform: uppercase; margin: 0; }
.expand, .close { background: transparent; border: 1px solid var(--blue-line); color: var(--blue-bright); border-radius: 6px; width: 36px; height: 36px; cursor: pointer; font-size: 18px; line-height: 1; flex: none; }
.expand:hover, .close:hover { background: rgba(59,82,240,.25); color: var(--ink); }
.w-body { flex: 1; min-height: 0; overflow-y: auto; padding: 12px 16px 16px; display: flex; flex-direction: column; gap: 12px; overscroll-behavior: contain; }
.backdrop { position: fixed; inset: 0; background: rgba(5,2,4,.78); z-index: 40; }
body.locked { overflow: hidden; }
.widget.is-open { position: fixed; z-index: 50; top: max(3vh, env(safe-area-inset-top, 0px)); bottom: max(3vh, env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%); width: min(1100px, calc(100vw - 32px)); height: auto; box-shadow: 0 0 60px rgba(59,82,240,.35); }
[data-slot="blog"] .widget.is-open { width: min(770px, calc(100vw - 32px)); }
@media (max-width: 640px) { .widget.is-open { top: 0; bottom: 0; width: 100vw; border-radius: 0; border-width: 0; } }

/* tabs */
.tabs { display: flex; gap: 4px; padding: 8px 12px 0; border-bottom: 1px solid rgba(120,140,255,.25); flex: none; }
.tab { background: transparent; border: 1px solid transparent; border-bottom: 0; color: var(--ink-dim); padding: 8px 14px; border-radius: 6px 6px 0 0; cursor: pointer; font-family: "Inter", system-ui, sans-serif; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; font-size: 15px; min-height: 40px; }
.tab[aria-selected="true"] { color: var(--ink); background: var(--panel); border-color: var(--blue-line); margin-bottom: -1px; }
.tab:hover { color: var(--ink); }

/* posts */
ul.posts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.post { display: flex; gap: 14px; padding-bottom: 14px; border-bottom: 1px dashed rgba(120,140,255,.25); cursor: pointer; border-radius: 6px; }
.post:last-child { border-bottom: 0; }
.post:hover h4, .card-post:hover h4 { color: var(--blue-bright); }
.post:focus-visible, .card-post:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 3px; }
.thumb { flex: none; width: 96px; height: 96px; border-radius: 10px; display: grid; place-items: center; font-family: "Noto Sans Runic", serif; font-size: 44px; color: hsl(var(--hue) 90% 80%); background: linear-gradient(135deg, hsl(var(--hue) 70% 22%), hsl(calc(var(--hue) + 40) 60% 12%)); border: 1px solid hsl(var(--hue) 70% 45% / .6); }
.ptext { min-width: 0; flex: 1; }
.ptext h4 { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.pdate { font-size: 12px; color: var(--violet); margin: 3px 0; }
.excerpt { margin: 2px 0 0; color: var(--ink-dim); font-size: 14px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* article view (inside the expanded blog widget) */
#article-view { display: none; }
.is-open #article-view { display: block; }
.is-open #post-list { display: none; }
.art-cols { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 24px; align-items: start; }
.art-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.art-side { position: sticky; top: var(--art-bar, 64px); border: 1px solid rgba(120,140,255,.25); border-radius: 10px; background: var(--field); padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.side-h { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-faint); margin: 8px 0 2px; }
.side-h:first-child { margin-top: 0; }
.qlink { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 7px 4px; border-radius: 6px; color: var(--blue-bright); font-size: 14px; font-weight: 500; cursor: pointer; text-decoration: none; }
.qlink:hover { color: var(--ink); background: rgba(59,82,240,.18); }
.qlink:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.art-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.art-bar .collapse { margin-left: auto; }
.collapse { background: transparent; border: 1px solid var(--blue-line); color: var(--blue-bright); border-radius: 6px; padding: 6px 12px; min-height: 36px; cursor: pointer; font-weight: 600; font-size: 13px; }
.collapse:hover { background: rgba(59,82,240,.25); color: var(--ink); }
.collapse:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.article { border: 1px solid var(--blue-line); border-radius: 12px; padding: 12px 16px 16px; background: rgba(59,82,240,.05); }
.article h2 { font-size: 16px; font-weight: 600; line-height: 1.25; margin: 6px 0 0; }
.article .pdate { margin: 3px 0 12px; }
.art-img { float: left; width: 25%; min-width: 110px; aspect-ratio: 1; margin: 0 16px 8px 0; border-radius: 10px; display: grid; place-items: center; font-family: "Noto Sans Runic", serif; font-size: 56px; color: hsl(var(--hue) 90% 80%); background: linear-gradient(135deg, hsl(var(--hue) 70% 22%), hsl(calc(var(--hue) + 40) 60% 12%)); border: 1px solid hsl(var(--hue) 70% 45% / .6); }
.abody p { font-size: 13.5px; line-height: 1.6; color: var(--ink-dim); margin: 0 0 10px; }
.abody::after { content: ""; display: block; clear: both; }
.older-h { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-faint); margin: 6px 0 0; }
.older { display: flex; flex-direction: column; gap: 14px; }
.card-post { display: flex; gap: 16px; padding: 14px; border: 1px solid rgba(120,140,255,.25); border-radius: 12px; background: var(--field); cursor: pointer; }
.card-post .thumb { width: 144px; height: 144px; font-size: 64px; }
.card-post h4 { font-size: 16px; }
.card-post .excerpt { display: block; -webkit-line-clamp: unset; overflow: visible; font-size: 13.5px; line-height: 1.6; }
@media (max-width: 700px) {
  .art-cols { grid-template-columns: minmax(0, 1fr); }
  .art-side { position: static; order: 2; }
  .art-img { float: none; width: 100%; aspect-ratio: 16 / 7; min-width: 0; margin: 0 0 12px; font-size: 48px; }
  .card-post { flex-direction: column; }
  .card-post .thumb { width: 100%; height: 120px; }
}

/* widget header button + hidden scrollbars */
.head-btn { background: none; border: 0; padding: 0; margin: 0; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; text-align: left; }
.is-open .head-btn { cursor: default; }
.head-btn:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 4px; }
.w-body { scrollbar-width: none; -ms-overflow-style: none; }
.w-body::-webkit-scrollbar { display: none; }

/* tools expanded: fields in columns */
.fields { display: flex; flex-direction: column; gap: 12px; }
.is-open .fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); align-items: start; }

/* generator fields */
.field { background: var(--field); border: 1px solid rgba(120,140,255,.25); border-radius: 8px; padding: 10px 12px; display: flex; gap: 8px; align-items: flex-start; min-width: 0; }
.field .fbody { flex: 1; min-width: 0; }
.field .val { margin: 2px 0 0; overflow-wrap: anywhere; }
.field .sub { margin: 4px 0 0; color: var(--ink-dim); font-size: 14px; overflow-wrap: anywhere; }
.tag { display: inline-block; font-family: "Inter", system-ui, sans-serif; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--ember); border: 1px solid rgba(255,154,60,.5); border-radius: 4px; padding: 0 6px; margin-left: 8px; }
.field.prompt .val { font-family: "Inter", system-ui, sans-serif; font-size: 13px; color: var(--ink-dim); }
.actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.note { font-family: "Inter", system-ui, sans-serif; font-size: 12px; color: var(--mint); min-height: 1.4em; }

/* dice */
.pool-row { display: flex; gap: 8px; align-items: end; flex-wrap: wrap; }
.stepper { display: flex; gap: 6px; align-items: center; }
.stepper input { width: 84px; text-align: center; }
.stepper .btn { min-width: 40px; padding: 8px 0; font-size: 18px; }
ul.faces { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.die { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; border: 1px solid rgba(120,140,255,.3); background: var(--field); font-family: "Inter", system-ui, sans-serif; font-size: 16px; color: var(--ink-dim); }
.die.hit { border-color: var(--mint); color: var(--mint); background: rgba(89,240,196,.1); box-shadow: 0 0 10px rgba(89,240,196,.25); font-weight: 500; }
.die.one { border-color: rgba(255,154,60,.7); color: var(--ember); }
.readouts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.readout { background: var(--field); border: 1px solid rgba(120,140,255,.25); border-radius: 8px; padding: 8px 12px; }
.readout-value { font-family: "Inter", system-ui, sans-serif; font-size: 28px; font-weight: 700; line-height: 1.1; display: block; }
#dice-hits { color: var(--mint); }
.is-clean { color: var(--ink-dim); }
.is-glitch { color: var(--ember); }
.is-critical { color: var(--danger); }
ul.hist { list-style: none; margin: 0; padding: 0; font-family: "Inter", system-ui, sans-serif; font-size: 12px; color: var(--ink-faint); display: flex; flex-direction: column; gap: 2px; }
.rule { font-size: 12px; color: var(--ink-faint); margin: 0; }
.edition { font-family: "Inter", system-ui, sans-serif; font-size: 11px; color: var(--violet); border: 1px solid var(--blue-line); border-radius: 4px; padding: 2px 8px; letter-spacing: .04em; text-transform: uppercase; }

/* offline items */
.offline-field { border-style: dashed; border-color: rgba(255,154,60,.45); }
.offline-field .label { color: var(--ink-dim); }
/* offline cards (legacy) */
.card.offline { border: 1px dashed rgba(255,154,60,.5); box-shadow: none; }
.card.offline h3 { color: var(--ink-dim); }
.offline-tag { font-family: "Inter", system-ui, sans-serif; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--ember); border: 1px solid rgba(255,154,60,.5); border-radius: 4px; padding: 2px 8px; }
.offline .card-body { align-items: flex-start; color: var(--ink-faint); }
.offline .card-body p { margin: 0; }
.offline .card-body .big { font-family: "Inter", system-ui, sans-serif; font-size: 18px; color: var(--ink-dim); letter-spacing: .06em; text-transform: uppercase; }

footer { margin-top: 32px; padding-top: 16px; border-top: 1px solid rgba(120,140,255,.2); color: var(--ink-faint); font-size: 13px; text-align: center; }

/* ===== data-terminal pass ===== */
:root { --r: 4px; --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }
body { background-image: linear-gradient(rgba(125,146,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(125,146,255,.05) 1px, transparent 1px); background-size: 28px 28px; }
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.left { min-width: 0; }
.row { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.rail { position: relative; height: auto; align-self: stretch; min-height: 400px; }
.rail .widget:not(.is-open) { position: absolute; inset: 0; height: auto; }
@media (max-width: 720px) {
  .layout { grid-template-columns: minmax(0, 1fr); }
  .row { grid-template-columns: repeat(auto-fit, minmax(min(310px, 100%), 1fr)); }
  .rail { height: 460px; }
}

/* header readouts */
.kv { display: flex; align-items: baseline; gap: 8px; font-family: var(--mono); font-size: 12px; letter-spacing: .06em; color: var(--ink-faint); }
.kv i { flex: 1; border-bottom: 1px dotted rgba(125,146,255,.4); min-width: 12px; transform: translateY(-3px); }
.kv b { font-weight: 500; color: var(--ink); }
.kv b.on { color: var(--mint); }
.kv b.on::before { content: ""; display: inline-block; width: 7px; height: 7px; background: var(--mint); margin-right: 7px; box-shadow: 0 0 8px var(--mint); }
.bits { gap: 6px; max-width: 260px; }
nav.links a { font-family: var(--mono); font-size: 13px; letter-spacing: .08em; }
nav.links a::before { content: "> "; color: var(--violet); }
header.top { border-bottom: 1px solid var(--blue-line); }

/* panels */
.widget { border-radius: var(--r); position: relative; background: #1f0f0c; box-shadow: none; border-color: var(--blue-line); }
.widget::before, .widget::after { content: ""; position: absolute; width: 12px; height: 12px; pointer-events: none; z-index: 2; border: 2px solid var(--blue-bright); }
.widget::before { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.widget::after { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.widget > header { background: rgba(59,82,240,.14); }
.widget h3 { font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .14em; }
.widget h3::before { content: "// "; color: var(--violet); }
.expand, .close, .collapse, .btn, .tab, .mini, select, input[type=number] { border-radius: 3px; }
.btn, .tab, .collapse { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .08em; }
.tab { font-size: 12px; }
.tab[aria-selected="true"] { border-top: 2px solid var(--blue-bright); color: var(--ink); }
.label, .ctl label, .side-h, .older-h { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .1em; }
.pdate { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.note, .tag, .edition, .offline-tag { font-family: var(--mono); }
.readout-value, .die, ul.hist, .rule { font-family: var(--mono); }
.readout-value { font-weight: 500; }
.readout, .field { border-radius: 3px; }
.field { border-left: 3px solid var(--blue); background: rgba(10,6,12,.6); }
.field.offline-field { border-left-color: var(--ember); }
.field .val { font-size: 15px; }
.die { border-radius: 3px; }

/* news rail rows */
.post { border: 1px solid rgba(120,140,255,.3); border-left: 3px solid var(--blue); border-radius: 3px; padding: 10px; background: rgba(10,6,12,.6); }
.post:last-child { border-bottom: 1px solid rgba(120,140,255,.3); }
.post:hover { background: rgba(59,82,240,.14); }
ul.posts { gap: 10px; }
.thumb, .art-img { border-radius: 3px; }
.card-post, .article, .art-side { border-radius: var(--r); }
.card-post { border-left: 3px solid var(--blue); }
.qlink { font-family: var(--mono); font-size: 13px; letter-spacing: .04em; border-radius: 3px; }
.qlink::before { content: "> "; color: var(--violet); }
footer { font-family: var(--mono); font-size: 11px; letter-spacing: .04em; }
footer::before { content: "// "; color: var(--violet); }

/* ===== menu, tabs, mobile scrolling ===== */
.hdr-right { display: flex; justify-content: flex-end; align-self: start; }
.menu-btn { width: 40px; height: 40px; border: 1px solid var(--blue-line); background: transparent; color: var(--blue-bright); border-radius: 3px; font-size: 22px; line-height: 1; cursor: pointer; }
.menu-btn:hover { background: rgba(59,82,240,.25); color: var(--ink); }
.menu-btn:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.info-slot .widget:not(.is-open) { display: none; }
[data-slot="info"] .widget.is-open { width: min(770px, calc(100vw - 32px)); }
.info-sec h4 { margin: 0 0 4px; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--violet); }
.info-sec p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--ink-dim); }
.info-sec + .info-sec { padding-top: 12px; border-top: 1px solid rgba(120,140,255,.2); }
.tabs { overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tab { flex: none; white-space: nowrap; }
.tab.off { color: var(--ink-faint); }
.tab.off::after { content: ""; display: inline-block; width: 6px; height: 6px; background: var(--ember); margin-left: 7px; vertical-align: middle; }
.fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 10px; align-items: start; }
.start .lead { margin: 0 0 12px; font-size: 16px; line-height: 1.6; color: var(--ink); max-width: 62ch; }
.start ul.what { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--ink-dim); }
.start ul.what b { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-bright); margin-right: 8px; }
.start .fine { margin: 0; font-size: 12px; color: var(--ink-faint); max-width: 62ch; }
.w-body { overscroll-behavior: auto; }
.widget.is-open .w-body { overscroll-behavior: contain; }
.slot.info-slot { height: 0; }
@media (max-width: 720px) {
  .slot { height: auto; }
  .slot.info-slot { height: 0; }
  .widget:not(.is-open) { height: auto; }
  .widget:not(.is-open) .w-body { overflow: visible; }
  .rail { height: auto; min-height: 0; }
  .rail .widget:not(.is-open) { position: relative; }
  .rail .post:nth-child(n+7) { display: none; }
}
.row { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 720px) { .row { grid-template-columns: minmax(0, 1fr); } }

/* ===== images: same shape in portrait and landscape ===== */
.thumb { width: clamp(80px, 22vw, 96px); height: auto; aspect-ratio: 1; flex: none; align-self: flex-start; font-size: clamp(34px, 9vw, 44px); }
.card-post { flex-direction: row; }
.card-post .thumb { width: clamp(96px, 24vw, 144px); height: auto; aspect-ratio: 1; font-size: clamp(40px, 10vw, 64px); }
.art-img { float: left; width: clamp(96px, 25%, 200px); min-width: 0; height: auto; aspect-ratio: 1; margin: 0 16px 8px 0; font-size: clamp(36px, 9vw, 56px); }
@media (max-width: 700px) {
  .card-post { flex-direction: row; }
  .card-post .thumb { width: clamp(96px, 24vw, 144px); height: auto; aspect-ratio: 1; }
  .art-img { float: left; width: clamp(96px, 25%, 200px); aspect-ratio: 1; margin: 0 14px 8px 0; font-size: clamp(36px, 9vw, 56px); }
}

/* excerpts: title and date centered beside the image, no excerpt text */
.post, .card-post { align-items: center; }
.thumb, .card-post .thumb { align-self: center; }
.ptext { align-self: center; }

/* excerpts: image floats left, text wraps beside it and then underneath */
.post, .card-post { display: flow-root; align-items: initial; }
.thumb, .card-post .thumb { float: left; align-self: auto; margin: 0 12px 6px 0; }
.card-post .thumb { margin-right: 14px; }
.ptext { display: block; align-self: auto; flex: none; }
.excerpt, .card-post .excerpt { display: block; -webkit-line-clamp: unset; overflow: visible; margin: 4px 0 0; }

/* phone: expanded views start below the app's top bar, not under it */
@media (max-width: 640px) {
  .widget.is-open { top: calc(env(safe-area-inset-top, 0px) + 8px); bottom: env(safe-area-inset-bottom, 0px); }
}
:root { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* ===== HUD graphics: circuit header, angled corners, label tabs ===== */
header.top { position: relative; isolation: isolate; }
header.top::before { content: ""; position: absolute; inset: -12px -4px 0 -4px; z-index: -1; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22960%22 height=%22200%22 viewBox=%220 0 960 200%22%3E%3Cg fill=%22none%22 stroke=%22%237d92ff%22 stroke-opacity=%22.34%22 stroke-width=%221%22%3E%3Cpath d=%22M450 110H650l40 40H900%22/%3E%3Cpath d=%22M450 120H640l40 40H900%22/%3E%3Cpath d=%22M450 130H630l40 40H900%22/%3E%3Cpath d=%22M450 140H620l40 40H900%22/%3E%3Cpath d=%22M450 150H610l40 40H900%22/%3E%3Cpath d=%22M450 160H600l40 40H900%22/%3E%3Cpath d=%22M250 30H520l-30 -30H660%22/%3E%3Cpath d=%22M250 40H530l-30 -30H660%22/%3E%3Cpath d=%22M250 50H540l-30 -30H660%22/%3E%3Cpath d=%22M250 60H550l-30 -30H660%22/%3E%3Cpath d=%22M10 40H290l-30 -30H470%22/%3E%3Cpath d=%22M10 50H300l-30 -30H470%22/%3E%3Cpath d=%22M10 60H310l-30 -30H470%22/%3E%3Cpath d=%22M10 70H320l-30 -30H470%22/%3E%3Cpath d=%22M10 80H330l-30 -30H470%22/%3E%3Cpath d=%22M10 90H340l-30 -30H470%22/%3E%3Cpath d=%22M510 120H740l-20 -20H930%22/%3E%3Cpath d=%22M510 130H750l-20 -20H930%22/%3E%3Cpath d=%22M510 140H760l-20 -20H930%22/%3E%3Cpath d=%22M510 150H770l-20 -20H930%22/%3E%3Cpath d=%22M510 160H780l-20 -20H930%22/%3E%3Cpath d=%22M510 170H790l-20 -20H930%22/%3E%3Cpath d=%22M510 180H800l-20 -20H930%22/%3E%3Cpath d=%22M260 10H340l-20 -20H500%22/%3E%3Cpath d=%22M260 20H350l-20 -20H500%22/%3E%3Cpath d=%22M260 30H360l-20 -20H500%22/%3E%3Cpath d=%22M260 40H370l-20 -20H500%22/%3E%3Cpath d=%22M260 50H380l-20 -20H500%22/%3E%3Cpath d=%22M260 60H390l-20 -20H500%22/%3E%3Cpath d=%22M260 70H400l-20 -20H500%22/%3E%3Cpath d=%22M220 10H460l40 40H570%22/%3E%3Cpath d=%22M220 20H450l40 40H570%22/%3E%3Cpath d=%22M220 30H440l40 40H570%22/%3E%3Cpath d=%22M220 40H430l40 40H570%22/%3E%3Cpath d=%22M220 50H420l40 40H570%22/%3E%3Cpath d=%22M220 60H410l40 40H570%22/%3E%3Cpath d=%22M220 70H400l40 40H570%22/%3E%3Cpath d=%22M240 80H430l20 20H660%22/%3E%3Cpath d=%22M240 90H420l20 20H660%22/%3E%3Cpath d=%22M240 100H410l20 20H660%22/%3E%3Cpath d=%22M240 110H400l20 20H660%22/%3E%3Cpath d=%22M530 120H820l20 20H1000%22/%3E%3Cpath d=%22M530 130H810l20 20H1000%22/%3E%3Cpath d=%22M530 140H800l20 20H1000%22/%3E%3Cpath d=%22M530 150H790l20 20H1000%22/%3E%3Cpath d=%22M530 160H780l20 20H1000%22/%3E%3Cpath d=%22M530 170H770l20 20H1000%22/%3E%3Cpath d=%22M-20 70H70l-30 -30H370%22/%3E%3Cpath d=%22M-20 80H80l-30 -30H370%22/%3E%3Cpath d=%22M-20 90H90l-30 -30H370%22/%3E%3Cpath d=%22M-20 100H100l-30 -30H370%22/%3E%3Cpath d=%22M500 50H560l-20 -20H970%22/%3E%3Cpath d=%22M500 60H570l-20 -20H970%22/%3E%3Cpath d=%22M500 70H580l-20 -20H970%22/%3E%3Cpath d=%22M500 80H590l-20 -20H970%22/%3E%3Cpath d=%22M500 90H600l-20 -20H970%22/%3E%3Cpath d=%22M520 60H590l-20 -20H860%22/%3E%3Cpath d=%22M520 70H600l-20 -20H860%22/%3E%3Cpath d=%22M520 80H610l-20 -20H860%22/%3E%3Cpath d=%22M140 50H230l-30 -30H360%22/%3E%3Cpath d=%22M140 60H240l-30 -30H360%22/%3E%3Cpath d=%22M140 70H250l-30 -30H360%22/%3E%3Cpath d=%22M140 80H260l-30 -30H360%22/%3E%3Cpath d=%22M140 90H270l-30 -30H360%22/%3E%3Cpath d=%22M20 40H160l-20 -20H260%22/%3E%3Cpath d=%22M20 50H170l-20 -20H260%22/%3E%3Cpath d=%22M20 60H180l-20 -20H260%22/%3E%3Cpath d=%22M20 70H190l-20 -20H260%22/%3E%3Cpath d=%22M250 30H600l30 30H770%22/%3E%3Cpath d=%22M250 40H590l30 30H770%22/%3E%3Cpath d=%22M250 50H580l30 30H770%22/%3E%3Cpath d=%22M250 60H570l30 30H770%22/%3E%3Cpath d=%22M250 70H560l30 30H770%22/%3E%3Cpath d=%22M250 80H550l30 30H770%22/%3E%3Cpath d=%22M250 90H540l30 30H770%22/%3E%3Cpath d=%22M200 20H300l40 40H480%22/%3E%3Cpath d=%22M200 30H290l40 40H480%22/%3E%3Cpath d=%22M200 40H280l40 40H480%22/%3E%3Cpath d=%22M200 50H270l40 40H480%22/%3E%3Cpath d=%22M200 60H260l40 40H480%22/%3E%3Cpath d=%22M200 70H250l40 40H480%22/%3E%3Cpath d=%22M940 -20V110l30 30V140%22/%3E%3Cpath d=%22M950 -20V100l30 30V140%22/%3E%3Cpath d=%22M960 -20V90l30 30V140%22/%3E%3Cpath d=%22M970 -20V80l30 30V140%22/%3E%3Cpath d=%22M60 -10V20l30 30V160%22/%3E%3Cpath d=%22M70 -10V10l30 30V160%22/%3E%3Cpath d=%22M780 10V50l30 30V130%22/%3E%3Cpath d=%22M790 10V40l30 30V130%22/%3E%3Cpath d=%22M800 10V30l30 30V130%22/%3E%3Cpath d=%22M810 10V20l30 30V130%22/%3E%3Cpath d=%22M30 10V50l30 30V180%22/%3E%3Cpath d=%22M40 10V40l30 30V180%22/%3E%3Cpath d=%22M50 10V30l30 30V180%22/%3E%3Cpath d=%22M790 -10V90l20 20V160%22/%3E%3Cpath d=%22M800 -10V80l20 20V160%22/%3E%3Cpath d=%22M810 -10V70l20 20V160%22/%3E%3Cpath d=%22M820 -10V60l20 20V160%22/%3E%3Cpath d=%22M830 -10V50l20 20V160%22/%3E%3Cpath d=%22M770 0V90l30 30V140%22/%3E%3Cpath d=%22M780 0V80l30 30V140%22/%3E%3Cpath d=%22M790 0V70l30 30V140%22/%3E%3Cpath d=%22M650 10V50l-20 20V170%22/%3E%3Cpath d=%22M660 10V60l-20 20V170%22/%3E%3Cpath d=%22M670 10V70l-20 20V170%22/%3E%3Cpath d=%22M120 20V100l20 20V150%22/%3E%3Cpath d=%22M130 20V90l20 20V150%22/%3E%3Cpath d=%22M410 50V110l30 30V170%22/%3E%3Cpath d=%22M420 50V100l30 30V170%22/%3E%3Cpath d=%22M430 50V90l30 30V170%22/%3E%3Cpath d=%22M440 50V80l30 30V170%22/%3E%3C/g%3E%3Cg fill=%22%23a9b8ff%22 fill-opacity=%22.7%22%3E%3Ccircle cx=%22450%22 cy=%22110%22 r=%222%22/%3E%3Ccircle cx=%22900%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%22450%22 cy=%22120%22 r=%222%22/%3E%3Ccircle cx=%22900%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22450%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%22900%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22450%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22900%22 cy=%22180%22 r=%222%22/%3E%3Ccircle cx=%22450%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%22900%22 cy=%22190%22 r=%222%22/%3E%3Ccircle cx=%22450%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22900%22 cy=%22200%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%220%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22470%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22470%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22470%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22470%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22470%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22470%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22510%22 cy=%22120%22 r=%222%22/%3E%3Ccircle cx=%22930%22 cy=%22100%22 r=%222%22/%3E%3Ccircle cx=%22510%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%22930%22 cy=%22110%22 r=%222%22/%3E%3Ccircle cx=%22510%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22930%22 cy=%22120%22 r=%222%22/%3E%3Ccircle cx=%22510%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%22930%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%22510%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22930%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22510%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22930%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%22510%22 cy=%22180%22 r=%222%22/%3E%3Ccircle cx=%22930%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%220%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22220%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22570%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22220%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22570%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22220%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22570%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22220%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22570%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22220%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22570%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22220%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22570%22 cy=%22100%22 r=%222%22/%3E%3Ccircle cx=%22220%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22570%22 cy=%22110%22 r=%222%22/%3E%3Ccircle cx=%22240%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%22100%22 r=%222%22/%3E%3Ccircle cx=%22240%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%22110%22 r=%222%22/%3E%3Ccircle cx=%22240%22 cy=%22100%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%22120%22 r=%222%22/%3E%3Ccircle cx=%22240%22 cy=%22110%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%22530%22 cy=%22120%22 r=%222%22/%3E%3Ccircle cx=%221000%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22530%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%221000%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%22530%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%221000%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22530%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%221000%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22530%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%221000%22 cy=%22180%22 r=%222%22/%3E%3Ccircle cx=%22530%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%221000%22 cy=%22190%22 r=%222%22/%3E%3Ccircle cx=%22-20%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22370%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22-20%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22370%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22-20%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22370%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22-20%22 cy=%22100%22 r=%222%22/%3E%3Ccircle cx=%22370%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22970%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22970%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22970%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22970%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22500%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22970%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22520%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22860%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22520%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22860%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22520%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22860%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22140%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22360%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22140%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22360%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22140%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22360%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22140%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22360%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22140%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22360%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%2220%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%2220%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%2220%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%2220%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22260%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%22100%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%22110%22 r=%222%22/%3E%3Ccircle cx=%22250%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%22120%22 r=%222%22/%3E%3Ccircle cx=%22200%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22480%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22200%22 cy=%2230%22 r=%222%22/%3E%3Ccircle cx=%22480%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22200%22 cy=%2240%22 r=%222%22/%3E%3Ccircle cx=%22480%22 cy=%2280%22 r=%222%22/%3E%3Ccircle cx=%22200%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22480%22 cy=%2290%22 r=%222%22/%3E%3Ccircle cx=%22200%22 cy=%2260%22 r=%222%22/%3E%3Ccircle cx=%22480%22 cy=%22100%22 r=%222%22/%3E%3Ccircle cx=%22200%22 cy=%2270%22 r=%222%22/%3E%3Ccircle cx=%22480%22 cy=%22110%22 r=%222%22/%3E%3Ccircle cx=%22940%22 cy=%22-20%22 r=%222%22/%3E%3Ccircle cx=%22970%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22950%22 cy=%22-20%22 r=%222%22/%3E%3Ccircle cx=%22980%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22960%22 cy=%22-20%22 r=%222%22/%3E%3Ccircle cx=%22990%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22970%22 cy=%22-20%22 r=%222%22/%3E%3Ccircle cx=%221000%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%2260%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%2290%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%2270%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%22100%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22780%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22810%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%22790%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22820%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%22800%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22830%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%22810%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22840%22 cy=%22130%22 r=%222%22/%3E%3Ccircle cx=%2230%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%2260%22 cy=%22180%22 r=%222%22/%3E%3Ccircle cx=%2240%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%2270%22 cy=%22180%22 r=%222%22/%3E%3Ccircle cx=%2250%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%2280%22 cy=%22180%22 r=%222%22/%3E%3Ccircle cx=%22790%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%22810%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22800%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%22820%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22810%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%22830%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22820%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%22840%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22830%22 cy=%22-10%22 r=%222%22/%3E%3Ccircle cx=%22850%22 cy=%22160%22 r=%222%22/%3E%3Ccircle cx=%22770%22 cy=%220%22 r=%222%22/%3E%3Ccircle cx=%22800%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22780%22 cy=%220%22 r=%222%22/%3E%3Ccircle cx=%22810%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22790%22 cy=%220%22 r=%222%22/%3E%3Ccircle cx=%22820%22 cy=%22140%22 r=%222%22/%3E%3Ccircle cx=%22650%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22630%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22660%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22640%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22670%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%22650%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22120%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22140%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%22130%22 cy=%2220%22 r=%222%22/%3E%3Ccircle cx=%22150%22 cy=%22150%22 r=%222%22/%3E%3Ccircle cx=%22410%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22440%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22420%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22450%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22430%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22460%22 cy=%22170%22 r=%222%22/%3E%3Ccircle cx=%22440%22 cy=%2250%22 r=%222%22/%3E%3Ccircle cx=%22470%22 cy=%22170%22 r=%222%22/%3E%3C/g%3E%3C/svg%3E") center top / 960px 200px repeat-x; -webkit-mask-image: linear-gradient(to bottom, #000 25%, transparent 100%); mask-image: linear-gradient(to bottom, #000 25%, transparent 100%); }
.widget { border-radius: 0; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); padding-top: 18px; }
.widget::before, .widget::after { width: 15px; height: 15px; border: 0; z-index: 3; background: linear-gradient(to bottom left, transparent calc(50% - 1.5px), var(--blue-bright) calc(50% - 1.5px), var(--blue-bright) calc(50% + 1.5px), transparent calc(50% + 1.5px)); }
.widget::before { top: 0; right: 0; left: auto; bottom: auto; }
.widget::after { bottom: 0; left: 0; right: auto; top: auto; }
.blk { position: absolute; top: 0; left: 18px; z-index: 3; font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); background: rgba(59,82,240,.45); padding: 2px 16px 2px 9px; clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%); }
/* article image matches the excerpt images */
.art-img, .article .art-img { width: clamp(96px, 24vw, 144px); font-size: clamp(40px, 10vw, 64px); }
@media (max-width: 700px) { .art-img, .article .art-img { width: clamp(96px, 24vw, 144px); font-size: clamp(40px, 10vw, 64px); } }
/* blue edge: thinner, runs along left and bottom; article matches excerpts */
.post, .card-post, .article { border: 1px solid rgba(120,140,255,.3); border-left: 2px solid var(--blue); border-bottom: 2px solid var(--blue); border-radius: 3px; }
.post:last-child { border-bottom: 2px solid var(--blue); }
.article { background: var(--field); padding: 14px; }
/* standard web sizes: 16px reading text, 17-18px titles, 12-13px small labels; wider page */
.wrap { max-width: 1440px; }
body { font-size: 16px; line-height: 1.55; }
.ptext h4, .card-post h4 { font-size: 17px; }
.article h2 { font-size: 20px; }
.excerpt, .card-post .excerpt, .abody p, .field .sub, .info-sec p, .start ul.what, .qlink { font-size: 16px; }
.field .val { font-size: 16px; }
.field.prompt .val { font-size: 15px; }
.pdate, .kv, .note, ul.hist, .rule, .start .fine, .tag, .edition, .offline-tag, footer { font-size: 12.5px; }
.label, .ctl label, .side-h, .older-h, .info-sec h4 { font-size: 12.5px; }
.btn, .tab, .collapse, nav.links a, .widget h3 { font-size: 13px; }
.blk { font-size: 11px; }
.start .lead { font-size: 17px; }
.start ul.what b { font-size: 13px; }
input, select, textarea { font-size: 16px; }
/* softer unfinished tabs, brighter menu button */
.tab.off { color: var(--ink-faint); opacity: .6; font-weight: 400; }
.tab.off:hover, .tab.off[aria-selected="true"] { opacity: .9; }
.menu-btn { border: 1px solid var(--blue-bright); background: rgba(59,82,240,.4); color: #fff; box-shadow: 0 0 10px rgba(110,130,255,.45); }
.menu-btn:hover { background: rgba(59,82,240,.7); }
/* phone: tabs wrap into a 4-wide grid so all are visible */
@media (max-width: 720px) {
  .tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 12px 12px 12px; overflow: visible; }
  .tab { min-width: 0; padding: 8px 2px; min-height: 40px; text-align: center; border: 1px solid var(--blue-line); border-radius: 3px; letter-spacing: .04em; font-size: 12.5px; }
  .tab[aria-selected="true"] { margin-bottom: 0; background: rgba(59,82,240,.3); border-color: var(--blue-bright); border-top: 1px solid var(--blue-bright); }
  .tab.off::after { margin-left: 5px; }
}
/* no line under the header; news feed on the front page has no frame; titles match the date style */
header.top { border-bottom: 0; }
.rail .widget:not(.is-open) { border: 0; background: transparent; clip-path: none; box-shadow: none; }
.rail .widget:not(.is-open)::before, .rail .widget:not(.is-open)::after { display: none; }
.rail .widget:not(.is-open) .excerpt { display: none; }
.ptext h4, .card-post h4, .article h2 { font-family: var(--mono); color: var(--violet); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; font-size: 14px; line-height: 1.35; }
.article h2 { font-size: 15px; }
.post:hover h4, .card-post:hover h4 { color: var(--blue-bright); }
/* excerpt cards and article: thin border on all four sides, with the tools panel's cut corners (top right, bottom left) */
.post, .post:last-child, .card-post, .article { position: relative; border: 1px solid var(--blue-line); border-radius: 0; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)); }
.post::before, .card-post::before, .article::before, .post::after, .card-post::after, .article::after { content: ""; position: absolute; width: 11px; height: 11px; pointer-events: none; z-index: 2; background: linear-gradient(to bottom left, transparent calc(50% - 1px), var(--blue-bright) calc(50% - 1px), var(--blue-bright) calc(50% + 1px), transparent calc(50% + 1px)); }
.post::before, .card-post::before, .article::before { top: 0; right: 0; }
.post::after, .card-post::after, .article::after { bottom: 0; left: 0; }
/* news page: no outer frame, content runs down the full height; see-more button */
[data-slot="blog"] .widget.is-open { border: 0; background: transparent; clip-path: none; box-shadow: none; bottom: 0; }
[data-slot="blog"] .widget.is-open::before, [data-slot="blog"] .widget.is-open::after { display: none; }
[data-slot="blog"] .widget.is-open .w-body { padding-bottom: 8vh; }
.see-more { align-self: center; background: rgba(59,82,240,.18); color: var(--ink); border: 1px solid var(--pop); padding: 10px 22px; cursor: pointer; font-family: var(--mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)); }
.see-more:hover { background: rgba(59,82,240,.4); }
/* clickable things pop more than plain panel lines */
:root { --pop: rgba(125,146,255,.85); }
.post, .post:last-child, .card-post, .article, .tab, .btn, .collapse, .expand, .close { border-color: var(--pop); }
.tab { border-color: transparent; }
/* quick links panel gets the same cut corners */
.art-side { border: 1px solid var(--blue-line); border-radius: 0; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)); }
.art-side::before, .art-side::after { content: ""; position: absolute; width: 11px; height: 11px; pointer-events: none; background: linear-gradient(to bottom left, transparent calc(50% - 1px), var(--blue-bright) calc(50% - 1px), var(--blue-bright) calc(50% + 1px), transparent calc(50% + 1px)); }
.art-side::before { top: 0; right: 0; }
.art-side::after { bottom: 0; left: 0; }
/* titles: easier to read (normal case, less spacing) */
.ptext h4, .card-post h4, .article h2 { text-transform: none; letter-spacing: .01em; font-size: 15px; line-height: 1.4; }
.article h2 { font-size: 16px; }
/* same wrap whenever the tools panel itself is narrow (small windows, side panels, split screens), not only on phones */
.widget[aria-label="Tools"] { container-type: inline-size; container-name: tools; }
@container tools (max-width: 840px) {
  .tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 12px 12px 12px; overflow: visible; }
  .tab { min-width: 0; padding: 8px 2px; min-height: 40px; text-align: center; border: 1px solid var(--blue-line); border-radius: 3px; letter-spacing: .04em; font-size: 12.5px; }
  .tab[aria-selected="true"] { margin-bottom: 0; background: rgba(59,82,240,.3); border-color: var(--blue-bright); border-top: 1px solid var(--blue-bright); }
  .tab.off::after { margin-left: 5px; }
}
@media (min-width: 721px) and (max-width: 960px) { .layout { grid-template-columns: minmax(0, 1fr) 280px; } }
/* titles in the body font, bold, bigger on the news page; wider news page */
.ptext h4, .card-post h4, .article h2 { font-family: "Inter", system-ui, sans-serif; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--violet); }
.ptext h4 { font-size: 16px; line-height: 1.35; }
.card-post h4 { font-size: 18px; line-height: 1.3; }
.article h2 { font-size: 20px; line-height: 1.3; }
[data-slot="blog"] .widget.is-open { width: min(980px, calc(100vw - 32px)); }
/* desktop: news feed starts level with the top of the tools panel */
@media (min-width: 721px) {
  .left { display: contents; }
  header.top { grid-column: 1; grid-row: 1; }
  main.row { grid-column: 1; grid-row: 2; margin-top: 0; }
  .rail { grid-column: 2; grid-row: 1 / span 2; }
}
/* news feed label sits in the free space above the feed; first excerpt lines up with the tools panel top */
.feed-label { align-self: end; justify-self: start; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); background: rgba(59,82,240,.45); padding: 4px 18px 4px 10px; clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%); }
.rail .widget:not(.is-open) { padding-top: 0; }
.rail .widget:not(.is-open) > .blk { display: none; }
.rail .widget:not(.is-open) .w-body { padding: 0 0 4px; }
@media (min-width: 721px) { .feed-label { grid-column: 2; grid-row: 1; margin-bottom: 0; } }
@media (max-width: 720px) { .feed-label { margin-top: 8px; } }
/* all titles: same look as the Start tab intro text (Inter regular, 17px, white) */
.ptext h4, .card-post h4, .article h2 { font-family: "Inter", system-ui, sans-serif; font-weight: 400; font-size: 17px; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--ink); }
.post:hover h4, .card-post:hover h4 { color: var(--blue-bright); }
/* news page: solid backgrounds inside each field so the page underneath can't show through the text */
[data-slot="blog"] .widget.is-open .card-post, [data-slot="blog"] .widget.is-open .article, [data-slot="blog"] .widget.is-open .art-side { background: #0b0610; }
/* no news feed tab; tighter lines with clearer paragraph breaks */
[data-slot="blog"] .blk { display: none; }
[data-slot="blog"] .widget { padding-top: 0; }
.abody p { line-height: 1.45; margin: 0 0 16px; }
.excerpt, .card-post .excerpt { line-height: 1.4; }
.ptext h4, .card-post h4, .article h2 { line-height: 1.35; }
.start .lead { line-height: 1.5; }
/* tab borders pop when tabs are boxed (narrow panel or phone); must come after the boxed-tab rules above */
@media (max-width: 720px) { .tab { border-color: var(--pop); } .tab[aria-selected="true"] { border-color: var(--blue-bright); } }
@container tools (max-width: 840px) { .tab { border-color: var(--pop); } .tab[aria-selected="true"] { border-color: var(--blue-bright); } }

/* WordPress article content */
.abody img, .abody .art-photo { float:right; max-width:33%; height:auto; margin:4px 0 12px 20px; }
@media (max-width:720px){ .abody img, .abody .art-photo { float:none; display:block; width:100%; max-width:100%; margin:0 0 16px; } }
.abody a { color:var(--pop-link, #9db0ff); text-decoration:underline; }
.abody ul, .abody ol { margin:0 0 16px; padding-left:22px; font-size:16px; line-height:1.45; color:var(--ink-dim); }
.abody li { margin:0 0 6px; }
.article h2 { font-size:24px; line-height:1.3; margin:0 0 8px; }
.article .abody { margin-top:24px; }
.abody h3, .abody h4 { font-family:"Inter",system-ui,sans-serif; font-weight:600; color:var(--ink); margin:20px 0 8px; line-height:1.3; }
.abody h3 { font-size:19px; } .abody h4 { font-size:17px; }
.abody blockquote { margin:0 0 16px; padding:2px 0 2px 14px; border-left:2px solid rgba(125,146,255,.5); color:var(--ink-dim); }
.abody blockquote p { margin:0 0 8px; }
.abody strong, .abody b { color:var(--ink); }
.abody figure { margin:0 0 16px; } .abody figcaption { font-size:13px; color:var(--ink-dim); }

/* bigger title on wide screens; even spacing above the tabs */
.logo { width: min(1054px, 100%); }
[data-slot="tools"] .widget { padding-top: 0; }
[data-slot="tools"] .tabs { padding-top: 12px; }

/* title size, menu button always centred on the title, sticky back bar */
.logo { width: min(680px, 100%); }
.hdr-right { align-self: center; }
@media (max-width: 760px) {
  header.top { grid-template-columns: minmax(0, 1fr) 40px; gap: 8px; }
  .hdr-left { display: none; }
  .logo-wrap { grid-column: 1; grid-row: 1; order: 0; }
  .hdr-right { grid-column: 2; grid-row: 1; }
}
.chip-row { display: flex; flex-wrap: wrap; gap: 0 16px; margin: 0; }
.pdate-tag, .pdate-author { background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.pdate-tag { padding: 8px 0; }
.pdate-tag:hover, .pdate-author:hover { text-decoration: underline; }
.pdate-author { display: block; font-weight: 700; margin: 3px 0 0 !important; }
.article .pdate.pdate-after { margin-top: 2px; }
.article .pdate.pdate-tag { margin: 0; }
.filter-h { font-size: 24px; margin: 4px 0 16px; }
.feed-bar { display: flex; align-items: center; gap: 8px; min-height: 28px; }
.feed-bar .feed-t { margin: 0; }
.feed-s, .search-go { background: none; border: 0; padding: 6px; color: var(--violet); cursor: pointer; display: inline-grid; place-items: center; line-height: 0; }
.feed-s:hover, .search-go:hover { color: var(--blue-bright); }
.search-q { background: transparent; border: 0; border-bottom: 1px solid var(--violet); border-radius: 0; color: var(--violet); padding: 4px 2px; width: 140px; min-width: 0; outline: none; -webkit-appearance: none; appearance: none; margin: 0 !important; }
.search-q::placeholder { color: var(--ink-faint); opacity: .8; }
.search-q:focus, .search-q:focus-visible { border-bottom-color: var(--blue-bright); outline: none !important; box-shadow: none; }
.search-q::-webkit-search-cancel-button { display: none; }
@media (hover: none) { .search-q { font-size: 16px; } }
@media (min-width: 701px) { .art-top { padding-right: 234px !important; } }
.art-top { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.art-top .art-back { justify-self: start; }
.feed-nav { display: flex; align-items: center; justify-content: center; gap: 6px; }
.feed-link { background: none; border: 0; padding: 10px; margin: 0; cursor: pointer; white-space: nowrap; }
.feed-link:hover { color: var(--blue-bright); }
.feed-link.on { color: var(--ink); text-decoration: underline; text-underline-offset: 5px; }
.bar-search { justify-self: end; display: flex; align-items: center; gap: 4px; min-width: 0; }
.bar-search .search-q { width: 130px; }
@media (max-width: 720px) { .art-top.searching .feed-nav { display: none; } .art-top.searching { grid-template-columns: auto 1fr; } .art-top.searching .bar-search { justify-self: stretch; } .art-top.searching .bar-search .search-q { flex: 1; width: auto; } .feed-link { padding: 10px 6px; } }
.is-open .feed-bar { display: none; }
.feed-bar { position: sticky; top: 0; z-index: 5; background: var(--ground); padding: 4px 0; }
.bar-search .search-go { padding: 12px 14px; }
.feed-none { list-style: none; margin: 4px 0; }
.post:hover, .card-post:hover, .card-post.is-current { background: linear-gradient(rgba(59,82,240,.22), rgba(59,82,240,.22)), #0b0610 !important; box-shadow: inset 0 0 0 1px var(--blue-bright); }
.art-top { position: sticky; top: -12px; z-index: 6; padding: 12px 0 12px; background: linear-gradient(to bottom, #0b0610 78%, rgba(11,6,16,0)); }
.art-back { font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .08em; color: var(--blue-bright); background: #0b0610; border: 1px solid var(--pop); border-radius: 3px; padding: 10px 18px; min-height: 44px; cursor: pointer; }
.art-back:hover { color: var(--ink); background: rgba(59,82,240,.25); }
.art-back:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }

/* page basics (same as the old static page) */
html{color-scheme:dark}body{margin:0;background:var(--ground);font-family:system-ui,sans-serif}img{max-width:100%}[hidden]{display:none!important}

/* ===== WordPress theme additions ===== */
/* excerpts are real links now (open in a new tab, copy link, etc.) */
a.post, a.card-post { color: inherit; text-decoration: none; }
ul.posts > li { list-style: none; margin: 0; padding: 0; }
@media (max-width: 720px) { .rail ul.posts > li:nth-child(n+7) { display: none; } }
/* plain copy of the article for search engines and browsers without JavaScript */
.ss-static { max-width: 760px; margin: 24px auto 0; padding: 16px; background: #0b0610; border: 1px solid var(--blue-line); }
.ss-static h1 { font-size: 24px; font-weight: 400; margin: 0 0 6px; }
.ss-static .abody { margin-top: 16px; }
.js .ss-static { display: none; }
.abody .ss-note { color: var(--ink-faint); font-size: 14px; }
.abody .ss-note a { color: #9db0ff; }
/* keep open pages clear of the WordPress admin bar (only shows when you're logged in) */
body.admin-bar .widget.is-open { top: calc(32px + 3vh); }
@media (max-width: 782px) { body.admin-bar .widget.is-open { top: 54px; } }
.logo-wrap a { display: block; }

/* ===== menu button, menu panel, site pages (Oct 18b) ===== */
.menu-btn { width: auto; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.menu-btn svg { flex: none; }
@media (max-width: 760px) { header.top { grid-template-columns: minmax(0, 1fr) auto; } }
.bar-right { justify-self: end; display: flex; align-items: center; gap: 4px; min-width: 0; }
.bar-right .bar-search { justify-self: auto; }
.top-menu { height: 40px; padding: 0 12px; font-size: 12px; box-shadow: none; }
@media (max-width: 720px) {
  .top-menu { padding: 0 10px; }
  .top-menu .menu-txt { display: none; }
  .art-top.searching .bar-right { justify-self: stretch; }
  .art-top.searching .bar-right .bar-search { flex: 1; }
}
[data-slot="info"] .widget.is-open { width: min(420px, calc(100vw - 32px)); bottom: auto; max-height: 94vh; }
@media (max-width: 640px) { [data-slot="info"] .widget.is-open { width: 100vw; bottom: 0; max-height: none; } }
.menu-sec h4 { margin: 4px 0 6px; font-family: var(--mono); font-size: 12.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--violet); }
.menu-link { display: block; padding: 12px 4px; font-family: var(--mono); font-size: 15px; letter-spacing: .04em; color: var(--blue-bright); text-decoration: none; border-bottom: 1px solid rgba(120,140,255,.2); }
.menu-link::before { content: "> "; color: var(--violet); }
.menu-link:hover { color: var(--ink); background: rgba(59,82,240,.18); }
.menu-link:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.menu-none { color: var(--ink-faint); font-size: 14px; margin: 0; }
/* site pages (About, Disclaimer): one centred reading column, no list, no sidebar */
#article-view.is-page .art-top { padding-right: 0 !important; max-width: 760px; margin: 0 auto; }
#article-view.is-page .art-cols { grid-template-columns: minmax(0, 1fr); max-width: 760px; margin: 0 auto; }
.article.page-article h2 { margin-bottom: 0; }
/* phone: top bar fits Back, both feeds, search and menu on one line */
@media (max-width: 720px) {
  .art-top { grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px; }
  .art-back { padding: 10px 12px; white-space: nowrap; }
  .feed-nav { gap: 0; min-width: 0; }
  .feed-link { padding: 10px 4px; letter-spacing: .02em; }
  .bar-search .search-go { padding: 12px 8px; }
}
@media (max-width: 480px) { .feed-pre { display: none; } .feed-nav { gap: 6px; } .feed-link { padding: 10px 6px; } }
