/* Sacred Wire 28 website chrome: ink and paper, three typefaces, no blue, no red.
   Loaded last on every page (after ds-web.css, a build copy of zine/ds/web.css).
   Part 1: shared header. Part 2: page parts for Home and Print kit. Part 3: legacy overrides for the other pages. */

:root {
    --app-menu-height: 82px;
    --nav-h: 52px;
    --sticky-top: var(--app-menu-height);
    --font-heading: "Saira Condensed", sans-serif;
    --font-body: "PT Serif", Georgia, serif;
    --font-mono: "Ubuntu Mono", monospace;
    --color-corporate: #000;
    --color-corporate-dark: #000;
    --color-red: #000;
    --color-red-light: #000;
    --color-text: #000;
    --color-text-muted: #444;
    --color-row-alt: #f2f2f2;
    --color-row-hover: #e6e6e6;
    --color-row-border: #bdbdbd;
}

/* ---------- 1. Shared header ---------- */
.w-top { position: fixed; top: 0; left: 0; right: 0; z-index: 2000; background: #fff; max-width: 100vw; font-size: 16px; }
.w-top .w-nav { position: relative; }
.w-top .w-nav a.w-nav__brand { padding: 0; margin-right: 22px; gap: 10px; font-weight: 800; font-size: 22px; letter-spacing: 2px; }
.w-nav__links { display: contents; }
.w-nav__links a.on { background: #fff; color: #000; }
.w-nav__links a:not(.on):hover { background: #333; }
.w-nav .meta { white-space: nowrap; }
.w-burger { display: none; position: relative; align-self: center; height: 44px; margin: 0 -8px 0 auto; padding: 0 28px 0 26px; align-items: center; background: none; border: 0; color: #fff; cursor: pointer; font-family: "Saira Condensed", sans-serif; font-weight: 700; font-size: 17px; letter-spacing: 1.5px; text-transform: uppercase; }
.w-sheet { display: none; }
.w-burger:focus-visible, .w-mt:focus-visible { outline: 3px solid #f6df5e; outline-offset: -3px; }
.w-burger .lab { display: grid; position: relative; z-index: 1; background: #000; padding: 0 3px; }
.w-burger .lab > span { grid-area: 1 / 1; white-space: nowrap; transition: opacity 120ms; }
.w-burger .cl, .w-burger[aria-expanded="true"] .mn { opacity: 0; }
.w-burger[aria-expanded="true"] .cl { opacity: 1; }
.w-burger .cab, .w-burger .pl { position: absolute; top: 50%; background: #fff; transition: left 200ms ease, width 200ms ease, background 200ms; }
.w-burger .cab { z-index: 0; height: 2px; margin-top: -1px; left: calc(100% - 28px); width: 12px; }
.w-burger .pl { z-index: 2; width: 8px; height: 12px; margin-top: -6px; left: calc(100% - 16px); }
.w-burger[aria-expanded="true"] .cab { left: 12px; width: calc(100% - 28px); }
.w-burger[aria-expanded="true"] .pl { left: 4px; background: #f6df5e; }
@media (prefers-reduced-motion: reduce) { .w-burger .cab, .w-burger .pl, .w-burger .lab > span { transition: none; } }
.w-formbar .fb-short { display: none; }
/* Form strip: hangs under the nav (out of flow, so the nav height and the page offset never change) and slides up
   behind it while scrolling down; scrolling up or reaching the top brings it back. Toggled by .w-strip-off on <html>. */
.w-top .w-nav { z-index: 2; }
.w-top .w-formbar { position: absolute; top: 100%; left: 0; right: 0; z-index: 0; background: #fff; box-sizing: border-box; transition: transform 150ms ease-out; will-change: transform; }
.w-strip-off .w-top .w-formbar { transform: translateY(-101%); }
/* One offset for every sticky bar under the nav: nav plus form strip while the strip shows, nav alone when it is hidden. */
html.w-strip-off { --sticky-top: var(--nav-h); }
@media (prefers-reduced-motion: reduce) { .w-top .w-formbar { transition: none; } }
body.has-app-menu { padding-top: var(--app-menu-height); }

@media (max-width: 1360px) { .w-nav .meta { display: none; } }
@media (max-width: 1280px) {
    .w-top .w-nav { padding: 0 16px; }
    .w-burger { display: flex; }
    .w-nav__links { display: none; }
    html.w-menu-open, html.w-menu-open body { overflow: hidden; }
    .w-sheet { display: block; position: fixed; top: 52px; left: 0; right: 0; bottom: 0; z-index: 1; background: rgba(0,0,0,.55); opacity: 0; visibility: hidden; transition: opacity 200ms, visibility 0s 300ms; }
    .w-top[data-menu="open"] .w-sheet { opacity: 1; visibility: visible; transition: opacity 200ms; }
    .w-sheet__panel { max-height: 100%; overflow-y: auto; box-sizing: border-box; background: #000; border-bottom: 3px solid #fff; padding: 12px; transform: translateY(-102%); transition: transform 300ms cubic-bezier(.2,.8,.2,1); }
    .w-top[data-menu="open"] .w-sheet__panel { transform: none; }
    .w-top .w-mts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; grid-auto-rows: clamp(76px, calc((100dvh - 52px - 24px - 24px - 3px - 30px - 24px) / 4), 136px); }
    .w-top .w-mt { position: relative; box-sizing: border-box; min-width: 0; border: 2px solid #fff; padding: 8px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; text-decoration: none; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 26px; line-height: 1.05; letter-spacing: 1px; text-transform: uppercase; overflow-wrap: break-word; }
    .w-top .w-mt .u { font: 12px "Ubuntu Mono", monospace; letter-spacing: 0; color: #aaa; }
    .w-top .w-mt .w-tx { padding-right: 4px; }
    @media (max-width: 360px) { .w-top .w-mt { font-size: 22px; letter-spacing: .5px; } }
    .w-top .w-mt small { display: block; font: 12px "Ubuntu Mono", monospace; letter-spacing: 0; text-transform: none; color: #aaa; margin-top: 2px; }
    .w-top .w-mt .sw-arrow { position: absolute; right: 10px; bottom: 10px; margin: 0; opacity: 0; transition: opacity 150ms; }
    .w-top .w-mt .sw-arrow::before, .w-mt .sw-arrow::after { transition: width 150ms linear, transform 150ms linear; }
    .w-top .w-mt:is(:hover, :focus-visible, [aria-current]) .sw-arrow { opacity: 1; --t: 8px; }
    .w-top .w-mt:is(:hover, :focus-visible) { background: #fff; color: #000; }
    .w-top .w-mt:is(:hover, :focus-visible) :is(.u, small) { color: #000; }
    .w-top .w-mt[aria-current] { background: #f6df5e; border-color: #f6df5e; color: #000; }
    .w-top .w-mt[aria-current] .u { color: #000; }
    .w-sheet__ft { margin-top: 10px; font: 12px "Ubuntu Mono", monospace; color: #aaa; }
    @media (prefers-reduced-motion: reduce) { .w-sheet, .w-sheet__panel, .w-mt .sw-arrow, .w-mt .sw-arrow::before, .w-mt .sw-arrow::after { transition: none !important; } }
    /* Heresy alert (phone easter egg, first menu open per session): ink and yellow only. */
    .w-sheet__panel { position: relative; }
    .w-alert { position: absolute; inset: 0; z-index: 3; box-sizing: border-box; background: #000; color: #f6df5e; padding: 24px 16px; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
    .w-alert[hidden] { display: none; }
    .w-alert__t { margin: 0; font: 800 34px/1 "Saira Condensed", sans-serif; letter-spacing: 1px; text-transform: uppercase; overflow-wrap: break-word; }
    .w-alert__s { margin: 0; font: 13px/1.4 "Ubuntu Mono", monospace; color: #fff; }
    .w-alert__b { position: relative; align-self: flex-start; margin-top: 10px; display: flex; align-items: center; gap: 10px; padding: 12px 14px 12px 16px; border: 2px solid #f6df5e; background: #f6df5e; color: #000; font: 800 20px/1 "Saira Condensed", sans-serif; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; }
    .w-alert__b:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
    .w-alert__b .ca { width: 26px; height: 2px; background: #000; transform: translateX(-10px); transition: transform 300ms cubic-bezier(.3,1.6,.5,1); }
    .w-alert__b .pg { width: 8px; height: 14px; background: #000; margin-left: -10px; transform: translateX(-12px); transition: transform 300ms cubic-bezier(.3,1.6,.5,1); }
    .w-top[data-egg="plug"] .w-alert__b .ca, .w-top[data-egg="plug"] .w-alert__b .pg { transform: none; }
    .w-top[data-egg="glitch"] .w-mts { animation: w-gl 560ms steps(1) both; }
    .w-top[data-egg="glitch"] .w-mt:nth-child(odd) { animation: w-gla 560ms steps(1) both; }
    .w-top[data-egg="glitch"] .w-mt:nth-child(3n) { animation: w-glb 560ms steps(1) both; }
    @keyframes w-gl { 0% { clip-path: inset(0 0 60% 0); } 15% { clip-path: inset(30% 0 20% 0); } 30% { clip-path: none; } 45% { clip-path: inset(55% 0 0 0); } 60% { clip-path: none; } 75% { clip-path: inset(10% 0 45% 0); } 100% { clip-path: none; } }
    @keyframes w-gla { 0% { transform: translateX(-8px); } 20% { transform: translateX(10px); background: #f6df5e; color: #000; } 40% { transform: translateX(-4px); } 60% { transform: skewX(-8deg); } 80% { transform: translateX(6px); background: #f6df5e; color: #000; } 100% { transform: none; } }
    @keyframes w-glb { 0% { transform: translateX(9px); } 25% { transform: translateX(-12px); } 50% { transform: none; background: #fff; color: #000; } 75% { transform: translateX(5px) skewX(6deg); } 100% { transform: none; } }
    @media (prefers-reduced-motion: reduce) { .w-top .w-mts, .w-top .w-mt { animation: none !important; } .w-alert__b .ca, .w-alert__b .pg { transition: none; } }
    .w-formbar { padding: 6px 16px; font-size: 11px; }
    .w-formbar .fb-long { display: none; }
    .w-formbar .fb-short { display: inline; }
}

/* ---------- 2. Home and Print kit ---------- */
body.w { margin: 0; }
.w-hero { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: end; padding-top: 56px; }
.w-hero--kit { grid-template-columns: minmax(0, 1fr) 340px; padding-top: 48px; }
.w-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.w-ctas--col { flex-direction: column; gap: 10px; }
.w-ctas--col .w-btn { justify-content: space-between; }
.w-hero .w-lead { margin: 18px 0 26px 0; }
.w-hero--kit .w-lead { margin: 16px 0 0 0; }
.w-hero--kit .w-h1 { font-size: 80px; }
.w-hero .sw-memo { margin: 0; }
.w-hero .sw-memo__note { padding: 12px 14px; font-size: 15px; line-height: 1.5; font-style: italic; }
.w-hero .sw-memo__fields { border-top: 1px solid #000; }
.w-col2 { gap: 48px; }
.w-col2 p { margin: 0 0 12px 0; }
.w-stack { display: grid; gap: 12px; }
.w-spec { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid #000; }
.w-spec > div { padding: 16px 18px 18px 0; border-bottom: 1px solid #000; }
.w-spec .w-h3 a { text-decoration: none; }
.w-spec .w-h3 a:hover { text-decoration: underline; }
.w-spec p { margin: 0; font-size: 15px; line-height: 1.45; }
.w-sechead { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.w-sechead > a { font-family: "Ubuntu Mono", monospace; font-size: 14px; margin-bottom: 18px; }
.w-tile--row { flex-direction: row; gap: 14px; align-items: flex-start; min-height: 0; }
.w-tile--row .num { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 34px; line-height: 0.85; padding-right: 12px; border-right: 2px solid #000; }
.w-tile--row .w-tile__t { margin: 0 0 4px 0; font-size: 22px; display: block; }
.w-tile--row .w-tile__d { font-size: 14px; display: block; }
.w-tile--sm .w-tile__t { font-size: 22px; }
.w-tile--sm .w-tile__d { font-size: 14px; }
a.w-tile:hover { outline: 2px solid #000; outline-offset: 2px; }
.w-tile--off { border-style: dashed; color: #444; }
.w-tile--off .w-tile__f { border-top-style: dashed; }
.w-tile__f a { color: inherit; }
.w-tile__f .links { display: flex; gap: 14px; }
.w .w-note { font-family: "Ubuntu Mono", monospace; font-size: 12px; letter-spacing: 0.5px; margin: 12px 0 0 0; }
.w-foot .w-wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.w-foot a { text-decoration: underline; }

@media (max-width: 900px) {
    .w-wrap { padding: 0 16px; }
    .w-hero, .w-hero--kit { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 30px; }
    .w-sec { padding: 26px 0; }
    .w-h1 { font-size: 64px; }
    .w-hero--kit .w-h1 { font-size: 56px; }
    .w-h2, .w-h2 .n { font-size: 30px; }
    .w-grid--2, .w-grid--3, .w-grid--4, .w-spec { grid-template-columns: minmax(0, 1fr); }
    .w-col2 { gap: 28px; }
    .w-hero .w-lead { font-size: 17px; margin: 14px 0 20px 0; }
    .w-ctas { flex-direction: column; gap: 10px; }
    .w-ctas .w-btn { justify-content: space-between; white-space: normal; height: auto; min-height: 46px; padding: 8px 14px; }
    .w-sechead { flex-direction: column; align-items: flex-start; gap: 0; }
    .w-sechead > a { margin: -6px 0 14px 0; }
}

/* ---------- 3. Legacy pages: same identity until their own restyle ---------- */
body { font-family: "PT Serif", Georgia, serif; color: #000; }
.content a, .landing-content a { color: #000; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.content a:hover, .landing-content a:hover { color: #000; background: #ececec; }
.mobile-toc-btn, .mobile-toc-btn:hover { background: #000 !important; }

/* ---------- 5. Scenario generator (work order) ---------- */
body .wo { background: #fff; color: #000; min-height: 60vh; font-family: "PT Serif", Georgia, serif; font-size: 16px; line-height: 1.5; }
body .wo * { box-sizing: border-box; }
body .wo .wo-wrap { max-width: 1240px; padding: 0 40px 56px; }
.wo-head { display: flex; align-items: flex-end; gap: 16px; padding: 28px 0 18px; flex-wrap: wrap; position: relative; }
.wo-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: var(--w-slim) no-repeat 0 0 / 100% 100%; }
.wo-head__title { flex: 1 1 320px; min-width: 0; }
.wo .w-h1 { font-size: 64px; overflow-wrap: anywhere; }
.wo-head__tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.wo .wo-gap { width: 210px; }
.wo .wo-gap input { flex: 1; min-width: 0; border: 0; border-radius: 0; background: #fff; color: #000; font-family: "Ubuntu Mono", monospace; font-size: 16px; font-weight: 700; padding: 0 12px; outline: none; }
.wo .wo-gap:focus-within { outline: 2px solid #000; outline-offset: 2px; }
.wo button.w-btn { cursor: pointer; font-family: "Saira Condensed", sans-serif; }
.wo-body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; padding-top: 22px; align-items: start; }
.wo-lore { font-size: 17px; margin: 0 0 16px; max-width: none; }
.wo { counter-reset: u; }
.wo .wo-sub { margin: 22px 0 6px; padding-bottom: 4px; display: flex; align-items: center; gap: 10px; counter-increment: u; }
.wo .wo-sub::before { content: "U" counter(u); font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 12px; line-height: 1; border: 1.5px solid #000; padding: 3px 5px; flex: 0 0 auto; }
.wo .wo-sub::after { content: ""; flex: 1 1 24px; height: 8px; background: no-repeat 0 0 / 100% 100%; background-image: var(--w-rule); }
.wo .wo-ledger { font-size: 15px; margin-top: 8px; }
.wo .wo-ledger th { padding: 3px 8px; }
.wo .wo-ledger td { padding: 6px 8px; vertical-align: top; }
.wo .wo-ledger td.sw-roll { width: 74px; }
.wo .wo-ledger td.sw-name { width: 170px; white-space: normal; }
.wo .wo-res { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 18px; text-transform: uppercase; width: 190px; }
.wo .wo-act { width: 44px; text-align: right; }
.wo-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wo .wo-reroll { background: #fff; color: #000; cursor: pointer; padding: 0; font-size: 16px; }
.wo .wo-reroll:hover { background: #ececec; }
.wo code { font-family: "Ubuntu Mono", monospace; font-weight: 700; border-bottom: 1px dotted #000; background: none; padding: 0; }
.wo-units { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.wo-block { border: 1.5px solid #000; padding: 12px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.wo-unit { display: flex; gap: 8px; align-items: flex-start; border-bottom: 1px solid #9e9e9e; padding-bottom: 10px; }
.wo-unit:last-of-type { border-bottom: 0; }
.wo-unit__main { flex: 1; min-width: 0; }
.wo-unit__label { font-family: "Saira Condensed", sans-serif; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; font-size: 14px; }
.wo-unit__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.wo-unit__name { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 20px; text-transform: uppercase; }
.wo-unit__n, .wo-tag { font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 13px; }
.wo-tag { border: 1px solid #000; padding: 0 5px; }
.wo-unit__weapon { font-size: 14px; margin: 4px 0; }
.wo-stats { display: flex; border: 1.5px solid #000; }
.wo-stats > div { flex: 1 1 0; text-align: center; border-left: 1px solid #000; min-width: 0; }
.wo-stats > div:first-child { border-left: 0; }
.wo-stats b { display: block; background: #000; color: #fff; font-family: "Ubuntu Mono", monospace; font-size: 11px; line-height: 1.3; }
.wo-stats span { display: block; font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 14px; }
.wo-special { border-left: 3px solid #000; padding-left: 10px; font-size: 14px; }
.wo-behavior { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.wo-behavior th { background: #000; color: #fff; font-family: "Saira Condensed", sans-serif; letter-spacing: 1px; text-transform: uppercase; padding: 2px 4px; text-align: center; font-weight: 700; }
.wo-behavior tr.sub th { background: #fff; color: #000; border-bottom: 1.5px solid #000; }
.wo-behavior td { border-bottom: 1px solid #9e9e9e; padding: 2px 4px; text-align: center; overflow-wrap: anywhere; }
.wo-behavior td.sw-roll { background: #ececec; font-family: "Ubuntu Mono", monospace; font-weight: 700; width: 3rem; }
.wo-side { min-width: 0; }
.wo-plate { padding: 12px; }
.wo-cap { margin: 8px 0 0; }
.wo-panel { border-top: 3px solid #000; padding-top: 6px; margin-top: 16px; font-size: 15px; }
.wo-panel p { margin: 0 0 8px; }
.wo-panel blockquote { margin: 0 0 8px; padding-left: 10px; border-left: 2px solid #000; font-style: italic; }
.wo-none { font-style: italic; }
.wo-adv { display: flex; gap: 8px; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid #9e9e9e; padding: 6px 0; }
.wo-adv__text { min-width: 0; }
.wo-adv .sw-roll { font-family: "Ubuntu Mono", monospace; background: #ececec; padding: 0 4px; }
.wo-foot { text-align: center; padding: 1.5rem 1rem; font-family: "Ubuntu Mono", monospace; font-size: 13px; border-top: 1px solid #000; }
.wo-foot a { color: #000; }
@media (max-width: 1100px) {
    .wo-body { grid-template-columns: minmax(0, 1fr); }
    .wo-side { order: -1; max-width: 420px; }
}
@media (max-width: 900px) {
    body .wo .wo-wrap { padding: 0 16px 40px; }
    .wo .w-h1 { font-size: 48px; }
    .wo-head { padding: 20px 0 14px; }
    .wo-head__tools { width: 100%; }
    .wo-head__tools .w-btn { flex: 1 1 auto; justify-content: center; padding: 0 12px; min-width: 0; }
    .wo .wo-gap { width: 100%; }
    .wo-units { grid-template-columns: minmax(0, 1fr); }
    .wo .wo-ledger, .wo .wo-ledger tbody, .wo .wo-ledger tr, .wo .wo-ledger td { display: block; width: auto; }
    .wo .wo-ledger thead { display: none; }
    .wo .wo-ledger tr { display: grid; grid-template-columns: 1fr auto 44px; gap: 0 8px; border-bottom: 1px solid #000; padding: 6px 0; }
    .wo .wo-ledger td { border: 0; padding: 1px 0; }
    .wo .wo-ledger td.sw-name { width: auto; grid-column: 1; font-size: 13px; }
    .wo .wo-ledger td.sw-roll { grid-column: 2; width: auto; padding: 1px 6px; }
    .wo .wo-ledger td.wo-act { grid-column: 3; grid-row: 1 / span 2; }
    .wo .wo-ledger td.wo-res { width: auto; grid-column: 1 / span 2; }
    .wo .wo-ledger td.wo-eff { grid-column: 1 / span 2; font-size: 14px; }
}

.wo table.sw-ledger { margin-bottom: 8px; }
.wo table.sw-ledger tr, .wo table.sw-ledger tbody tr:nth-child(even), .wo table.sw-ledger tbody tr:nth-child(odd) { background: #fff; }
.wo table.sw-ledger td { text-align: left; color: #000; }
.wo table.sw-ledger td.sw-roll { text-align: center; background: #ececec; }
.wo table.sw-ledger td.wo-act { text-align: right; }
.wo table.sw-ledger th { background: #000; color: #fff; text-align: left; }
.wo table.sw-ledger td.sw-name { font-family: "Saira Condensed", sans-serif; font-weight: 700; font-size: 16px; }
.wo blockquote { background: none; }

/* ---------- 6. Squad builder (personnel registry) ---------- */
[data-theme="corporate"] body, [data-theme="corporate"] .wbx { background: #fff; color: #000; font-family: "PT Serif", Georgia, serif; }
[data-theme="corporate"] .wbx .rounded, [data-theme="corporate"] .wbx .rounded-lg, [data-theme="corporate"] .wbx .rounded-l, [data-theme="corporate"] .wbx .rounded-r,
[data-theme="corporate"] .wbx .rounded-full { border-radius: 0 !important; }
[data-theme="corporate"] .wbx .shadow-lg, [data-theme="corporate"] .wbx .shadow-xl { box-shadow: none !important; }
[data-theme="corporate"] .wbx .wb-text-primary { color: #000 !important; }
[data-theme="corporate"] .wbx .wb-text-danger, [data-theme="corporate"] .wbx .wb-text-danger-hover { color: #000 !important; }
[data-theme="corporate"] .wbx .max-w-7xl { max-width: 1240px; }
.wbx .font-heading { font-family: "Saira Condensed", sans-serif; }
.wbx .wbx-reg { padding: 14px 0 22px; position: relative; }
.wbx .wbx-reg::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: var(--w-double) no-repeat 0 0 / 100% 100%; }
.wbx .wbx-reg__row { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; min-width: 0; max-width: 100%; }
.wbx .wbx-reg__row > * { max-width: 100%; }
.wbx .wbx-reg__row--sel { padding: 12px 0 0; align-items: center; gap: 10px; }
.wbx .wbx-reg__row--chips { padding: 12px 0 0; align-items: center; gap: 26px; }
.wbx .wbx-reg__squad { flex: 1 1 360px; min-width: 0; }
.wbx .wbx-field { background: #fff; }
.wbx .wbx-field input { flex: 1 1 auto; min-width: 0; border: 0; background: #fff; color: #000; outline: none; border-radius: 0; padding: 0 12px; font-family: "Ubuntu Mono", monospace; font-size: 18px; font-weight: 700; }
.wbx .wbx-field:focus-within { outline: 2px solid #000; outline-offset: 2px; }
.wbx .wbx-field--big { height: 56px; }
.wbx .wbx-field--big label { font-size: 16px; }
.wbx .wbx-reg__squad .wbx-field input { font-family: "Saira Condensed", sans-serif; font-size: 30px; text-transform: uppercase; }
.wbx .wbx-subs { width: 280px; flex: 0 0 auto; }
.wbx .wbx-subs input { width: 80px; flex: 0 0 auto; font-size: 24px; }
.wbx .wbx-subs input { -moz-appearance: textfield; } .wbx .wbx-subs input::-webkit-inner-spin-button, .wbx .wbx-subs input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.wbx .wbx-spent { font-family: "Ubuntu Mono", monospace; font-size: 13px; display: flex; align-items: center; padding-right: 10px; white-space: nowrap; }
.wbx .wbx-dice { background: #fff; border: 0; border-left: 1.5px solid #000; padding: 0 14px; cursor: pointer; color: #000; }
.wbx .wbx-dice:hover { background: #ececec; }
.wbx .wbx-mode { display: flex; align-items: stretch; height: 56px; }
.wbx .wbx-mode > div { border: 2px solid #000; border-radius: 0; overflow: visible; }
.wbx .wbx-mode > div button { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 17px; letter-spacing: 1.5px; text-transform: uppercase; padding: 0 18px; background: #fff; color: #000; cursor: pointer; }
.wbx .wbx-mode > div button.wbx-on { background: #000 !important; color: #fff !important; }
.wbx .wbx-theme, .wbx .wbx-select { border: 1.5px solid #000; background: #fff; color: #000; font-family: "Ubuntu Mono", monospace; font-size: 13px; padding: 0 8px; border-radius: 0; }
.wbx .wbx-theme { margin-left: 10px; }
.wbx .wbx-select { height: 34px; }
/* every native dropdown: square, own chevron inset from the edge, text never under it */
select:not([multiple]):not([size]) { -webkit-appearance: none; appearance: none; border-radius: 0 !important; padding-right: 32px !important; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: right 16px center, right 11px center; background-size: 5px 5px; background-repeat: no-repeat; text-overflow: ellipsis; }
.wbx .wbx-chips { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.wbx .wbx-chips > div { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.wbx .w-h3 { margin: 0; }
.wbx .wbx-chip { background: #fff; color: #000; cursor: pointer; padding: 0; line-height: 1; }
.wbx .wbx-chip:hover { background: #ececec; }
.wbx .wbx-chip.on { background: #000; color: #fff; }
.wbx .wbx-count { margin-left: 8px; font-size: 12px; }
.wbx .wbx-alert { display: flex; gap: 8px; align-items: center; border: 1.5px solid #000; border-top-width: 3px; padding: 4px 10px; font-size: 14px; }
.wbx .w-btn { cursor: pointer; }

/* Model blocks */
.wbx .wbx-model { border: 1.5px solid #000 !important; background: #fff; }
.wbx .wbx-model > div:first-child { background: #fff !important; border-bottom: 1.5px solid #000 !important; color: #000; }
.wbx .wbx-model > div:first-child *:not(.wbx-bar) { color: #000 !important; }
.wbx .wbx-model > div:first-child input[type="text"] { border: 0; border-bottom: 1.5px solid #000; background: #fff; padding: 2px 6px; font-family: "Ubuntu Mono", monospace; font-weight: 700; min-width: 0; }
.wbx .wbx-model > div:first-child input[type="text"]:focus { outline: 2px solid #000; }
.wbx .wbx-model > div:first-child .flex.flex-wrap { gap: 6px; }
.wbx .wbx-bar { background: #000; color: #fff; padding: 2px 8px; align-self: stretch; display: flex; align-items: center; font-family: "Saira Condensed", sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.wbx .wbx-model select { border: 1.5px solid #000; border-radius: 0; background-color: #fff; color: #000; }
.wbx .wbx-ladder { gap: 4px 6px; margin: 4px 4px 8px; flex-wrap: wrap; justify-content: center; }
.wbx .wbx-model .flex > .flex-1 { min-width: 0; }
.wbx .wbx-ladder .sw-ladder__step { font-size: 12px; line-height: 20px; }
.wbx .wbx-ladder .sw-ladder__step--on { background: var(--ink, #000); color: var(--paper, #fff); }
/* Read-only gauge, not buttons: one joined track, unlit steps faded, no pointer. */
.wbx .wbx-ladder, .wbx .wbx-sumladder { gap: 0; flex-wrap: nowrap; cursor: default; user-select: none; }
.wbx .wbx-ladder .sw-ladder__step, .wbx .wbx-sumladder .sw-ladder__step { border: 0; border-top: 2px solid var(--ink, #000); border-bottom: 2px solid var(--ink, #000); color: #6b6b6b; font-weight: 400; }
.wbx .wbx-ladder .sw-ladder__step:first-of-type, .wbx .wbx-sumladder .sw-ladder__step:first-of-type { border-left: 2px solid var(--ink, #000); }
.wbx .wbx-ladder .sw-ladder__step:last-child, .wbx .wbx-sumladder .sw-ladder__step:last-child { border-right: 2px solid var(--ink, #000); }
.wbx .wbx-ladder .sw-ladder__step--on, .wbx .wbx-sumladder .sw-ladder__step--on { color: var(--paper, #fff); font-weight: 700; }
.wbx .wbx-model .font-mono.font-bold.text-xl { font-size: 13px; }
.wbx .border-dashed { border-color: #000; }
.wbx .wbx-model button.wb-bg-accent { background: #000; color: #fff; }
.wbx .justify-center.flex-wrap > button, .wbx .justify-center.flex-wrap > label { border: 2px solid #000 !important; background: #fff; color: #000; font-family: "Saira Condensed", sans-serif; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; border-radius: 0; cursor: pointer; }
.wbx .justify-center.flex-wrap > button.wb-bg-primary { background: #f6df5e; color: #0c0c0c !important; }
.wbx .justify-center.flex-wrap > button.wb-bg-danger { background: #fff; color: #000 !important; }
.wbx .justify-center.flex-wrap > button:hover, .wbx .justify-center.flex-wrap > label:hover { background: #ececec; }
.wbx .justify-center.flex-wrap > button.wb-bg-primary:hover { background: #d89a00; }
@media (max-width: 700px) {
    .wbx .wbx-subs { width: 100%; }
    .wbx .wbx-mode { width: 100%; height: 48px; }
    .wbx .wbx-mode > div { flex: 1 1 auto; display: flex; }
    .wbx .wbx-mode > div button { flex: 1 1 0; padding: 0 6px; }
    .wbx .wbx-theme { margin-left: 6px; max-width: 110px; }
    .wbx .wbx-reg__squad .wbx-field input { font-size: 22px; }
    .wbx .wbx-reg__squad .wbx-field input::placeholder { font-size: 17px; }
    .wbx .wbx-reg__row--chips { gap: 14px; }
}
.wbx .wbx-model > div:first-child .wb-bg-accent { background: #fff !important; border: 1px solid #000; }
.wbx .wbx-ladder { gap: 6px; }
[data-theme="corporate"] .wbx [class*="wb-text-primary"] { color: #000 !important; }
[data-theme="corporate"] .wbx [class*="wb-border-primary"] { border-color: #000 !important; }
[data-theme="corporate"] .fixed.rounded-full { border-radius: 0 !important; background: #fff; color: #000; border: 2px solid #000; }

/* ---------- 7. Rules reader ---------- */
body.has-app-menu .manual-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr) 240px; max-width: 1400px; margin: 0 auto; background: #fff; min-height: calc(100vh - var(--app-menu-height)); }
.manual-layout .sidebar { grid-column: 1; grid-row: 1; position: sticky; top: var(--sticky-top); left: auto; width: auto; height: calc(100vh - var(--sticky-top)); align-self: start; background: #fff; border-right: 1px solid #000; box-shadow: none; padding: 18px 14px 28px; font-size: 14px; }
.manual-layout .content { grid-column: 2; grid-row: 1; margin-left: 0; max-width: 780px; width: 100%; padding: 30px 56px 64px; font-size: 16px; line-height: 1.55; justify-self: center; }
.rd-find { height: 38px; margin: 0 0 16px; }
.rd-find input { flex: 1; min-width: 0; border: 0; border-radius: 0; background: #fff; color: #000; font-family: "Ubuntu Mono", monospace; font-size: 14px; padding: 0 10px; outline: none; }
.rd-find:focus-within { outline: 2px solid #000; outline-offset: 2px; }
.sidebar-nav li[hidden] { display: none; }
.sidebar-nav a { border-radius: 0; color: #000; transition: none; }
.sidebar-nav a:hover { background: #ececec; color: #000; }
.sidebar-nav .toc-h1 { margin-top: 10px; }
.sidebar-nav .toc-h1 > a { display: flex; gap: 10px; align-items: baseline; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 17px; letter-spacing: 0.5px; text-transform: uppercase; padding: 3px 8px; }
.sidebar-nav .toc-h1 .n { flex: 0 0 22px; }
.sidebar-nav .tx { flex: 1; min-width: 0; }
.sidebar-nav .pg { margin-left: auto; font-family: "Ubuntu Mono", monospace; font-weight: 400; font-size: 11px; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.sidebar-nav .toc-h2 { padding-left: 0; }
.sidebar-nav .toc-h2 > a { display: flex; align-items: baseline; font-size: 14px; color: #000; padding: 2px 8px 2px 38px; }
.sidebar-nav .toc-h3 { padding-left: 0; }
.sidebar-nav .toc-h3 > a { font-size: 13px; color: #444; padding: 1px 8px 1px 54px; }
.sidebar-nav a.active, .sidebar-nav .toc-h2 > a.active, .sidebar-nav .toc-h3 > a.active { background: #000; color: #fff; box-shadow: none; font-weight: 700; }
.sidebar-nav a.active .pg { color: #fff; }
.sidebar-nav .toc-h3 > a.active { background: #fff; color: #000; border-left: 3px solid #000; padding-left: 51px; }
.rd-rail { grid-column: 3; grid-row: 1; position: sticky; top: var(--sticky-top); height: calc(100vh - var(--sticky-top)); align-self: start; overflow-y: auto; border-left: 1px solid #000; padding: 30px 18px; font-family: "Ubuntu Mono", monospace; font-size: 13px; line-height: 1.6; }
.rd-rail a { display: block; color: #000; text-decoration: none; padding: 1px 0; }
.rd-rail a:hover { text-decoration: underline; }
.rd-rail__t { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 16px; letter-spacing: 1px; text-transform: uppercase; }
.rd-rail__pg { margin-bottom: 14px; }
.rd-rail__h { margin-top: 22px; padding-top: 8px; border-top: 1px solid #000; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.rd-rail__note { margin-top: 22px; padding-top: 10px; border-top: 1px solid #000; font-family: "PT Serif", serif; font-size: 13px; line-height: 1.4; }
/* Booklet typography */
.manual-layout .content h1 { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 52px; line-height: 0.95; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 22px; padding-top: 28px; border: 0; color: #000; }
.manual-layout .content h2 { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 32px; line-height: 1; letter-spacing: 1px; text-transform: uppercase; margin: 36px 0 12px; padding: 0 0 4px; border: 0; color: #000; }
.manual-layout .content h3 { font-family: "Saira Condensed", sans-serif; font-weight: 700; font-size: 22px; letter-spacing: 1px; text-transform: uppercase; margin: 22px 0 6px; color: #000; }
.manual-layout .content h4 { font-family: "Saira Condensed", sans-serif; font-weight: 700; font-size: 17px; letter-spacing: 1px; text-transform: uppercase; margin: 16px 0 4px; color: #000; }
.manual-layout .content p { margin: 0 0 12px; }
.manual-layout .content a { color: #000; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.manual-layout .content a:hover { background: #ececec; }
.manual-layout .content code { font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 0.95em; background: none; padding: 0; border-radius: 0; border-bottom: 1px dotted #000; }
.manual-layout .content blockquote { border: 0; border-top: 3px solid #000; border-left: 0; padding: 6px 0 0; margin: 16px 0; font-style: italic; background: none; }
.manual-layout .content table { border-collapse: collapse; width: 100%; font-size: 15px; margin: 12px 0 20px; }
.manual-layout .content th { background: #000; color: #fff; font-family: "Saira Condensed", sans-serif; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; text-align: left; padding: 3px 8px; border: 0; }
.manual-layout .content td { border: 0; border-bottom: 1px solid #9e9e9e; padding: 3px 8px; vertical-align: top; background: #fff; }
.manual-layout .content td:first-child { font-family: "Saira Condensed", sans-serif; font-weight: 700; background: #ececec; }
.manual-layout .content ul, .manual-layout .content ol { margin: 0 0 14px; padding-left: 1.3em; }
.manual-layout .content li { margin: 0 0 4px; }
.manual-layout .content img { max-width: 100%; height: auto; }
@media (max-width: 1240px) {
    body.has-app-menu .manual-layout { grid-template-columns: 290px minmax(0, 1fr); }
    .rd-rail { display: none; }
}
@media (max-width: 900px) {
    body.has-app-menu .manual-layout { display: block; }
    .manual-layout .content { padding: 20px 16px 48px; max-width: 100%; }
    .manual-layout .content h1 { font-size: 40px; }
    .manual-layout .content h2 { font-size: 26px; }
    .manual-layout .content table { display: block; overflow-x: auto; font-size: 14px; }
    .manual-layout .content td, .manual-layout .content th { white-space: normal; }
    .manual-layout .content table.w-stack { overflow-x: visible; }
    .manual-layout .content table.w-stack thead, .manual-layout .content table.w-stack tbody { display: block; }
    .manual-layout .content table.w-stack tr { display: grid; grid-template-columns: var(--stack-cols); }
    .manual-layout .content table.w-stack tr > .w-full { grid-column: 1 / -1; order: 1; text-align: left; }
    .manual-layout .content .w-swipe { font: 12px "Ubuntu Mono", monospace; margin: 0 0 4px; }
    .manual-layout .sidebar.mobile-open { position: fixed; width: 290px; background: #fff; }
}
html:has(.manual-layout), body:has(.manual-layout) { overflow-x: clip; }
body:has(.manual-layout) { background: #fff; }
.manual-layout .content { box-sizing: border-box; }
@media (max-width: 980px) {
    .manual-layout .content { width: 100%; max-width: 100%; margin: 0; left: auto; position: static; transform: none; zoom: 1; }
}

/* ---------- 6. Website spec v2: one accent, no shadows, no rounded corners ---------- */
:root { --canary: #f6df5e; }
*, *::before, *::after { border-radius: 0 !important; box-shadow: none !important; text-shadow: none !important; }
.w-nav__brand i { background: #fff; }
.w-btn--ink, .w-chipnum.on { color: #0c0c0c !important; }
.w-btn--ink { background: var(--canary); }
.w-chipnum.on { background: #000; color: #fff !important; }

/* Heading with boxed designator (U1, U2...) and a rule that ends in a terminal square */
.w-h2--wired { display: flex; align-items: center; gap: 12px; text-wrap: balance; }
.w-h2--wired .des { font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 14px; line-height: 1; letter-spacing: 0; border: 1.5px solid #000; padding: 4px 6px; flex: 0 0 auto; align-self: center; }
.w-h2--wired::after { content: ""; flex: 1 1 24px; height: 8px; background-repeat: no-repeat; background-size: 100% 100%; align-self: center; }
.w-sec--nr { border-bottom: 0; }
.w-wrap > .w-wire { margin: 0; }

/* Footer: wire, then the reference line with barcode */
.w-foot { background: #000; color: #fff; padding: 22px 0; }
.w-foot .w-wrap { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.w-foot__ref { flex: 1 1 auto; }
.w-foot__bc { display: inline-flex; align-items: center; flex: 0 0 auto; }
.w-foot__bc svg { display: block; height: 14px; width: auto; }
.w-swatch { display: inline-block; width: 12px; height: 12px; border: 1.5px solid currentColor; margin-right: 8px; vertical-align: -1px; }
.w-tile--all { flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; min-height: 0; margin-top: 20px; border: 1.5px solid #000; padding: 16px 18px; }
.w-tile--all .links { display: flex; gap: 14px; font-family: "Ubuntu Mono", monospace; font-size: 13px; flex-wrap: wrap; }
.w-spec--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 0; }
.w-spec--4 > div { border-bottom: 0; }
.w-wire--foot { margin-top: 40px; }
.w-sec--nr { padding: 36px 0; }
@media (max-width: 900px) { .w-spec--4 { grid-template-columns: minmax(0, 1fr); } .w-tile--all { flex-direction: column; align-items: flex-start; } }
.wbx .wbx-acts { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.wbx .wbx-subs { width: 340px; }
/* Rules reader: active chapter reversed, current section bold with a left rule; fix-log notes in the rail */
.sidebar-nav .toc-h2 > a.active, .sidebar-nav .toc-h3 > a.active { background: transparent; color: #000; border-left: 3px solid #000; }
.sidebar-nav .toc-h2 > a.active .pg, .sidebar-nav .toc-h3 > a.active .pg { color: #000; }
.sidebar-nav a.rd-chap { background: #000; color: #fff; }
.sidebar-nav a.rd-chap .pg, .sidebar-nav a.rd-chap .n { color: #fff; }
.rd-rail__fix { margin-top: 22px; padding-top: 10px; border-top: 1px solid #000; font-family: "PT Serif", serif; font-size: 13px; line-height: 1.4; }
.rd-rail__fl { font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 12px; letter-spacing: 1px; margin-bottom: 4px; }
/* Legacy in-text search: keep it off the rail */
#rb-search { top: auto !important; bottom: 14px !important; right: 240px !important; border: 1.5px solid #000 !important; background: #fff !important; }
@media (max-width: 1240px) { #rb-search { right: 16px !important; } }
.w-tile__pdf { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #fff; font-family: "Ubuntu Mono", monospace; font-size: 12px; }
.w-tile__pdf b { letter-spacing: 1px; }
.w-tile__pdf a { color: inherit; }
.wbx .wbx-subs { min-width: 0; max-width: 100%; }
@media (max-width: 480px) { .wbx .wbx-subs { width: 100%; } .wbx .wbx-subs input { width: 76px; font-size: 20px; } .wbx .wbx-spent { font-size: 11px; padding-right: 6px; } .wbx .wbx-subs label { padding: 0 8px; } }

/* Rules reader: h2 = boxed U designator + wire rule ending in a terminal square (replaces the booklet hairline) */
.manual-layout .content h2.w-h2--wired { display: flex; align-items: center; gap: 12px; padding: 0; }
.manual-layout .content h2.w-h2--wired .tx { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; }
.rd-rail__fl a, .rd-rail__note a { text-decoration: underline; }
.rd-rail .rd-rail__note a { display: inline; }

/* ---------- Feedback form ---------- */
.fb-page { max-width: 760px; padding-top: 44px; padding-bottom: 64px; }
.fb-h1 { font-size: 64px; margin-bottom: 18px; }
.fb-page > p { font-size: 19px; line-height: 1.5; font-style: italic; margin: 0 0 8px; max-width: 680px; }
.fb-form { margin: 28px 0 8px; padding-top: 24px; border-top: 3px solid #000; }
.fb-field { margin-bottom: 22px; }
.fb-form label { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 8px; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 19px; letter-spacing: 1.5px; text-transform: uppercase; color: #000; }
.fb-form .fb-hint { font-family: "Ubuntu Mono", monospace; font-weight: 400; font-size: 12px; letter-spacing: 0; text-transform: none; }
.fb-form input[type=text], .fb-form textarea { box-sizing: border-box; display: block; width: 100%; padding: 10px 12px; border: 2px solid #000; border-radius: 0; background: #fff; color: #000; font: 400 16px/1.5 "PT Serif", Georgia, serif; -webkit-appearance: none; appearance: none; }
.fb-form textarea { min-height: 112px; resize: vertical; }
.fb-form ::placeholder { color: #666; opacity: 1; }
.fb-form input[type=text]:focus, .fb-form textarea:focus { outline: 3px solid #f6df5e; outline-offset: 0; box-shadow: 0 0 0 2px #000; }
.fb-seg { display: flex; flex-wrap: wrap; gap: 8px; }
.fb-seg input { position: absolute; opacity: 0; width: 0; height: 0; }
.fb-form .fb-seg label { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; height: 46px; box-sizing: border-box; padding: 0 16px; margin: 0; border: 2px solid #000; background: #fff; color: #000; font-size: 19px; letter-spacing: 1.5px; cursor: pointer; }
.fb-form .fb-seg label:hover { background: #f6df5e; }
.fb-form .fb-seg input:checked + label { background: #000; color: #fff; }
.fb-seg input:focus-visible + label { outline: 3px solid #f6df5e; outline-offset: 2px; box-shadow: 0 0 0 2px #000; }
.fb-form button[type=submit] { display: inline-flex; align-items: center; justify-content: center; height: 56px; padding: 0 28px; border: 2px solid #000; border-radius: 0; background: #f6df5e; color: #000; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 22px; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; transition: transform 90ms linear; }
.fb-form button[type=submit]:hover, .fb-form button[type=submit]:focus-visible { transform: translateX(-2px); }
.fb-form button[type=submit]:focus-visible { outline: 2px solid #000; outline-offset: 2px; }
.fb-form .fb-privacy { font-family: "Ubuntu Mono", monospace; font-size: 12px; line-height: 1.5; margin: 14px 0 0; max-width: 560px; }
.fb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#fb-status { min-height: 1.5em; margin: 16px 0 0; font-family: "Ubuntu Mono", monospace; font-weight: 700; font-size: 14px; text-transform: uppercase; }
#fb-status.fb-ok, #fb-status.fb-err { display: block; padding: 10px 12px; border: 2px solid #000; }
#fb-status.fb-ok { background: #f6df5e; }
#fb-status.fb-err { background: #000; color: #fff; }
@media (max-width: 640px) {
    .fb-page { padding-top: 28px; }
    .fb-h1 { font-size: 44px; }
    .fb-page > p { font-size: 17px; }
    .fb-form button[type=submit] { width: 100%; height: 50px; font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) { .fb-form button[type=submit] { transition: none; } }
body.w:has(.fb-page) { background: #fff; }

/* ---------- Mobile TOC drawer (manual pages): flush under the nav, no layout shift on the active entry ---------- */
.rd-none { font-family: "Ubuntu Mono", monospace; font-size: 13px; padding: 6px 8px; color: #444; }
.mobile-toc-btn svg { display: block; }
@media (max-width: 900px) {
    html.toc-locked, html.toc-locked body { overflow: hidden; }
    .manual-layout .sidebar.mobile-open { position: fixed; top: var(--toc-top, 52px); left: 0; height: calc(100vh - var(--toc-top, 52px)); height: calc(100dvh - var(--toc-top, 52px)); max-height: none; width: 100%; max-width: 100%; z-index: 1500; overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; border-right: 0; border-top: 3px solid #000; padding: 16px 16px 32px; }
    .sidebar-overlay { top: var(--toc-top, 52px); background: rgba(0,0,0,.4); z-index: 1400; }
    .mobile-toc-btn { border-radius: 0; width: 48px; height: 48px; right: 16px; bottom: 16px; background: #000; color: #fff; border: 2px solid #fff; z-index: 1300; }
    .mobile-toc-btn::before { display: none; }
    .mobile-toc-btn:focus-visible { outline: 3px solid #f6df5e; outline-offset: 2px; }
    html.toc-locked .mobile-toc-btn { display: none; }
    .manual-layout .content { padding-bottom: 88px; }
    .sidebar-nav a.active, .sidebar-nav .toc-h2 > a.active, .sidebar-nav .toc-h3 > a.active { border-left: 0; font-weight: inherit; background: #f6df5e; color: #000; }
    .sidebar-nav .toc-h2 > a.active { padding-left: 38px; }
    .sidebar-nav .toc-h3 > a.active { padding-left: 54px; }
    .sidebar-nav .toc-h1 > a.active, .sidebar-nav a.rd-chap { background: #000; color: #fff; }
    .sidebar-nav .toc-h1 > a.active .pg, .sidebar-nav .toc-h1 > a.active .n { color: #fff; }
    .sidebar-nav .toc-h2 > a, .sidebar-nav .toc-h3 > a { padding-top: 7px; padding-bottom: 7px; }
}

.chips { transition: top 150ms ease-out; }
@media (prefers-reduced-motion: reduce) { .chips { transition: none; } }
.w-nav__brand .w-nav__sigil { width: 22px; height: 22px; flex: none; display: block; }
/* interface guidelines pass: touch, numbers, overscroll, focus */
a, button, [role="button"], .w-mt, .sw-ladder__step, .tier, .chip, select, label { touch-action: manipulation; }
.wbx input[type="number"], .wbx .wbx-subs input, .wbx .wbx-spent, .fg .sandbox .die, .fg .sandbox .tot, .sidebar .pg, .pg-chip, .w-tile__f { font-variant-numeric: tabular-nums; }
.w-sheet__panel, .h28-modal, .h28-modal__box, [role="alertdialog"], [role="dialog"] { overscroll-behavior: contain; }
.wbx .wbx-model input[type="text"]:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.w-skip { position: absolute; left: 8px; top: -60px; z-index: 3000; background: #f6df5e; color: #0c0c0c; font: 800 14px "Saira Condensed", sans-serif; letter-spacing: 1px; text-transform: uppercase; padding: 10px 14px; border: 2px solid #0c0c0c; text-decoration: none; }
.w-skip:focus { top: 8px; }
.w-tile__f .links a { display: inline-flex; align-items: center; min-height: 24px; min-width: 24px; }

/* ---------- Rule IDs and notes ---------- */
.manual-layout .content a.des { text-decoration: none; color: #000; }
.manual-layout .content a.des:hover { background: #000; color: #fff; }
.manual-layout .content h2 { scroll-margin-top: calc(var(--sticky-top) + 12px); }
.manual-layout .content details.rule-note { border-left: 2px solid #000; padding: 2px 0 2px 12px; margin: 0 0 14px; font-size: 14px; line-height: 1.45; }
.manual-layout .content .rule-note summary { font-family: "Saira Condensed", sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; min-height: 24px; }
.manual-layout .content .rule-note p { margin: 4px 0 0; }
@media (min-width: 1100px) {
  .manual-layout .content details.rule-note { float: right; clear: right; width: 230px; margin: 4px -56px 12px 24px; }
  .manual-layout .content .rule-note summary { pointer-events: none; list-style: none; cursor: default; }
  .manual-layout .content .rule-note summary::-webkit-details-marker { display: none; }
}
/* ---------- 4. Poster parts (Home, Print kit, How to print): zine covers on their paper stocks ---------- */
.pz-acts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; align-items: center; }
.pz-b { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 0 18px; border: 2px solid #000; background: #fff; color: #000 !important; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 22px; line-height: 1; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none !important; white-space: nowrap; }
.pz-b:hover { transform: translateX(-2px); }
.pz-b--k { background: #000; color: #fff !important; }
.pz-b--y { background: #f6df5e; }
.pz-b--ghost { background: transparent; }
.pz-b--big { min-height: 56px; padding: 0 24px; font-size: 26px; }
.pz-b:focus-visible, .pz-aid a:focus-visible, .pz-more summary:focus-visible { outline: 3px solid #000; outline-offset: 2px; }
.pz-covers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; background: #000; }
.pz-cv { background: var(--stock, #fff); padding: 24px 16px 28px; display: flex; min-width: 0; container-type: inline-size; scroll-margin-top: calc(var(--app-menu-height) + 8px); }
.pz-cv__in { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.pz-cv__b { flex: 1; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pz-cv__pic { border: 2px solid #000; background: #fff; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 12px; }
.pz-cv__pic img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.pz-cv__m { margin: 0; font-family: "Ubuntu Mono", monospace; font-size: 13px; }
.pz-cv__t { margin: 0 0 12px; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 36px; line-height: 1; letter-spacing: 0; text-transform: uppercase; }
.pz-cv .pz-acts { margin-top: auto; }
@container (min-width: 560px) {
    .pz-cv__in { flex-direction: row; gap: 24px; }
    .pz-cv__pic { flex: 0 0 40%; margin: 0; aspect-ratio: 1 / 1; align-self: flex-start; }
}
@media (min-width: 601px) {
    .pz-covers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pz-cv { padding: 28px 24px 32px; }
    .pz-cv__pic { aspect-ratio: 1 / 1; }
}
@media (min-width: 601px) and (max-width: 900px) {
    .pz-cv:nth-child(odd):last-child { grid-column: 1 / -1; }
}
@media (min-width: 901px) {
    .pz-covers { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .pz-cv { grid-column: span 3; }
    .pz-covers:has(> :nth-child(3):last-child) .pz-cv { grid-column: span 4; }
    .pz-covers:has(> :nth-child(5):last-child) .pz-cv { grid-column: span 4; }
    .pz-covers:has(> :nth-child(5):last-child) .pz-cv:nth-child(n+4) { grid-column: span 6; }
}
.pz-more { margin-top: 14px; font-family: "Ubuntu Mono", monospace; font-size: 14px; }
.pz-more summary { cursor: pointer; display: flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.pz-more .fm { display: flex; flex-direction: column; }
.pz-more .fm a { display: flex; align-items: center; min-height: 44px; border-top: 1px solid #000; }
.pz-more[open] summary { text-decoration: none; font-weight: 700; }
/* Print kit */
.pz-ph { background: #f6df5e; padding: 36px 32px 32px; border-bottom: 3px solid #000; display: flex; flex-direction: column; gap: 22px; }
.pz-ph h1 { margin: 0; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: clamp(80px, 20vw, 290px); line-height: 0.8; text-transform: uppercase; letter-spacing: 0; white-space: nowrap; }
html[lang="es"] .pz-ph h1 { font-size: clamp(40px, 12vw, 170px); }
.pz-ph__r { display: flex; align-items: center; gap: 12px 24px; flex-wrap: wrap; }
.pz-ph p { margin: 0; font-style: italic; font-size: 22px; line-height: 1.3; }
.pz-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 22px 32px; border-bottom: 3px solid #000; }
.pz-row__t { margin: 0; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 30px; line-height: 1; text-transform: uppercase; }
.pz-row__d { margin: 4px 0 0; font-family: "Ubuntu Mono", monospace; font-size: 13px; }
.pz-sh { margin: 0; padding: 30px 32px 12px; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 30px; line-height: 1; text-transform: uppercase; }
.pz-aids { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #000; }
.pz-aid { display: flex; flex-direction: column; padding: 0 32px 6px; border-bottom: 1px solid #000; border-right: 1px solid #000; min-width: 0; }
.pz-aid > a { display: grid; gap: 4px; padding: 18px 0 14px; text-decoration: none !important; color: #000; }
.pz-aid > a:hover .pz-aid__t { text-decoration: underline; }
.pz-aid__k { font-family: "Ubuntu Mono", monospace; font-size: 13px; display: flex; align-items: center; gap: 8px; }
.pz-aid__k i { display: inline-block; width: 14px; height: 14px; border: 1.5px solid #000; }
.pz-aid__t { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 26px; line-height: 1; text-transform: uppercase; }
.pz-aid__m { font-family: "Ubuntu Mono", monospace; font-size: 13px; }
.pz-aid .pz-more { margin: 0 0 8px; }
.pz-aid--y { background: #f6df5e; grid-column: span 2; }
.pz-aid--y .pz-aid__t { font-size: 40px; }
.pz-aid--off { color: #444; }
.pz-note a { margin-left: 14px; display: inline-flex; align-items: center; min-height: 24px; }
.pz-note { margin: 0; padding: 14px 32px; font-family: "Ubuntu Mono", monospace; font-size: 13px; }
@media (max-width: 900px) {
    .pz-ph { padding: 24px 16px 22px; gap: 18px; }
    .pz-ph__r .pz-b { width: 100%; }
    .pz-row { padding: 18px 16px; }
    .pz-sh { padding: 24px 16px 10px; }
    .pz-aids { grid-template-columns: minmax(0, 1fr); }
    .pz-aid { padding: 0 16px 6px; border-right: 0; }
    .pz-aid--y { grid-column: auto; }
    .pz-note { padding: 14px 16px; }
}

/* Print kit job sheet: three groups of rows (thumbnail, name, count, paper, one action, Formats) */
.pk-wrap { max-width: 1200px; margin: 0 auto; padding: 8px 32px 36px; }
.pk-g { margin-top: 36px; }
.pk-gh { margin: 0; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 36px; line-height: 1; text-transform: uppercase; letter-spacing: 0; }
.pk-gi { margin: 8px 0 14px; max-width: 65ch; font-family: "Ubuntu Mono", monospace; font-size: 14px; line-height: 1.5; }
.pk-h { display: grid; grid-template-columns: 88px minmax(0, 1fr) 120px 150px 190px; column-gap: 20px; padding: 6px 0; border-top: 3px solid #000; font-family: "Ubuntu Mono", monospace; font-size: 13px; }
.pk-h span:first-child { grid-column: 3; }
.pk-l { list-style: none; margin: 0; padding: 0; }
.pk-r { display: grid; grid-template-columns: 88px minmax(0, 1fr) 120px 150px 190px; column-gap: 20px; align-items: center; padding: 14px 0; border-top: 1px solid #000; }
.pk-r:first-child { border-top: 0; }
.pk-r > p { margin: 0; }
.pk-pic-w { grid-column: 1; grid-row: 1; }
.pk-pic { display: block; width: 72px; height: 96px; border: 2px solid #000; background: #fff; overflow: hidden; position: relative; }
.pk-pic img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; }
.pk-pic img.pk-wide { object-fit: contain; object-position: 50% 50%; }
.pk-pic--stack img { position: absolute; width: 70%; height: 70%; object-fit: cover; object-position: 50% 0; border: 1px solid #000; background: #fff; }
.pk-pic--stack img:nth-child(1) { left: 0; top: 0; }
.pk-pic--stack img:nth-child(2) { left: 15%; top: 15%; }
.pk-pic--stack img:nth-child(3) { left: 30%; top: 30%; }
.pk-t { margin: 0; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 28px; line-height: 1; text-transform: uppercase; letter-spacing: 0; }
.pk-d { margin: 4px 0 0; font-family: "Ubuntu Mono", monospace; font-size: 14px; line-height: 1.4; }
.pk-n { font-family: "Ubuntu Mono", monospace; font-size: 14px; font-variant-numeric: tabular-nums; }
.pk-sw { display: inline-flex; align-items: center; gap: 8px; font-family: "Ubuntu Mono", monospace; font-size: 14px; }
.pk-sw i { display: inline-block; width: 18px; height: 18px; border: 2px solid #000; flex: none; }
.pk-a { display: flex; gap: 8px; justify-content: flex-end; }
.pk-a .pz-b { min-height: 44px; padding: 0 16px; font-size: 20px; }
.pk-off { font-family: "Ubuntu Mono", monospace; font-size: 14px; }
.pk-f { grid-column: 2 / -1; margin-top: 6px; font-family: "Ubuntu Mono", monospace; font-size: 14px; }
.pk-f summary { cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.pk-f summary:focus-visible, .pk-g a:focus-visible { outline: 3px solid #000; outline-offset: 2px; }
.pk-f[open] summary { text-decoration: none; font-weight: 700; }
.pk-f .fm { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); column-gap: 20px; }
.pk-f .fm a { display: flex; align-items: center; min-height: 44px; border-top: 1px solid #000; color: #000; }
.pk-note { margin: 28px 0 0; font-family: "Ubuntu Mono", monospace; font-size: 14px; }
.pk-note a { display: inline-flex; align-items: center; min-height: 44px; color: #000; }
@media (max-width: 860px) {
    .pk-wrap { padding: 4px 16px 28px; }
    .pk-gh { font-size: 32px; }
    .pk-h { display: none; }
    .pk-l { border-top: 3px solid #000; }
    .pk-r { grid-template-columns: 72px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: start; padding: 14px 0; }
    .pk-pic-w { grid-row: 1 / span 3; }
    .pk-b, .pk-n, .pk-p { grid-column: 2; }
    .pk-p:empty { display: none; }
    .pk-a { grid-column: 1 / -1; justify-content: stretch; margin-top: 10px; }
    .pk-a .pz-b { flex: 1; }
    .pk-f { grid-column: 1 / -1; }
}

/* How to print */
.pz-how { max-width: 760px; padding: 40px 32px 20px; }
.pz-how h1 { margin: 0 0 12px; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: clamp(56px, 10vw, 120px); line-height: 0.85; text-transform: uppercase; }
.pz-how h2 { margin: 36px 0 12px; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 30px; line-height: 1; text-transform: uppercase; }
.pz-how ol { margin: 0; padding-left: 1.4em; }
.pz-how li { margin-bottom: 8px; }
.pz-stocks { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 2px solid #000; margin: 14px 0; }
.pz-stocks > div { padding: 16px; background: var(--stock); border-right: 2px solid #000; display: grid; gap: 6px; align-content: start; }
.pz-stocks > div:last-child { border-right: 0; }
.pz-stocks b { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 22px; text-transform: uppercase; line-height: 1; }
.pz-stocks span { font-family: "Ubuntu Mono", monospace; font-size: 13px; }
.pz-stocks a { color: #000; display: inline-flex; align-items: center; min-height: 44px; }
.pz-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 0; padding: 0; list-style: none; border-top: 2px solid #000; }
.pz-checks li { padding: 12px 0; border-bottom: 1px solid #000; margin: 0; }
.pz-checks b { display: block; font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 20px; text-transform: uppercase; }
@media (max-width: 900px) {
    .pz-how { padding: 28px 16px 12px; }
    .pz-stocks { grid-template-columns: minmax(0, 1fr); }
    .pz-stocks > div { border-right: 0; border-bottom: 2px solid #000; }
    .pz-stocks > div:last-child { border-bottom: 0; }
    .pz-checks { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .pz-b:hover { transform: none; } }

/* ---------- 8. Grouped navigation: four drop-down menus (Learn / Play / Campaign / Print) ---------- */
.dd { position: relative; display: flex; }
.dd__b { display: flex; align-items: center; gap: 8px; height: 100%; padding: 0 14px; background: none; border: 0; border-bottom: 4px solid transparent; color: #fff; cursor: pointer; font: 700 15px "Saira Condensed", sans-serif; letter-spacing: 1.5px; text-transform: uppercase; white-space: nowrap; }
.dd__b.cur { border-bottom-color: #f6df5e; }
.dd__b:hover, .dd.open > .dd__b { background: #fff; color: #000; }
.dd__b:focus-visible, .dd__p a:focus-visible { outline: 3px solid #f6df5e; outline-offset: -3px; }
.dd.open > .dd__b:focus-visible { outline-color: #000; }
.dd__c { display: block; flex: none; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid currentColor; transition: transform 120ms; }
.dd.open .dd__c { transform: rotate(180deg); }
.dd__p { display: none; position: absolute; top: 100%; left: 0; min-width: 100%; width: max-content; background: #000; border: 2px solid #fff; border-top: 0; z-index: 3; }
.dd.open > .dd__p { display: block; }
.w-nav .dd__p a { height: 46px; padding: 0 18px; border-top: 2px solid #fff; white-space: nowrap; font-size: 16px; }
.w-nav .dd__p a:first-child { border-top: 0; }
.w-nav .dd__p a:hover { background: #fff; color: #000; }
.w-nav .dd__p a[aria-current] { background: #f6df5e; color: #000; }
.w-nav .dd__p a[aria-current]:focus-visible { outline-color: #000; }
@media (prefers-reduced-motion: reduce) { .dd__c { transition: none; } }
@media (max-width: 1280px) {
    .w-top .w-mts { grid-auto-rows: auto; }
    .w-top .w-mt { min-height: 64px; }
    .w-top .w-mg { grid-column: 1 / -1; margin: 6px 0 0; font: 700 11px/1 "Ubuntu Mono", monospace; letter-spacing: 1px; text-transform: uppercase; color: #a6a6a6; border-top: 1px solid #444; padding-top: 8px; }
    .w-top .w-mg:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
    .w-top .w-mx { grid-column: 1 / -1; display: flex; gap: 8px; margin-top: 6px; }
    .w-top .w-mx a { flex: 1; box-sizing: border-box; min-height: 44px; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; color: #fff; text-decoration: none; font: 700 15px "Saira Condensed", sans-serif; letter-spacing: 1.5px; text-transform: uppercase; }
    .w-top .w-mx a:is(:hover, :focus-visible) { background: #fff; color: #000; }
    .w-top .w-mx a[aria-current] { background: #f6df5e; border-color: #f6df5e; color: #000; }
}

/* ---------- 9. Book pages (teach path / lookup index) ---------- */
.bk-page { max-width: 640px; }
.bk-crumb ol { display: flex; flex-wrap: wrap; gap: 2px 8px; list-style: none; margin: 0 0 14px; padding: 0; font: 13px/1.4 "Ubuntu Mono", monospace; }
.bk-crumb li + li::before { content: "/"; margin-right: 8px; color: #555; }
.bk-crumb [aria-current] { color: #000; font-weight: 700; }
.manual-layout .content .bk-crumb a { text-decoration: none; border-bottom: 1px solid #000; }
.bk-meta { display: flex; justify-content: space-between; gap: 12px; font: 13px/1.4 "Ubuntu Mono", monospace; margin-bottom: 6px; }
.bk-meta__c { font-weight: 700; }
.bk-prog { height: 8px; border: 1.5px solid #000; background: #fff; margin-bottom: 4px; }
.bk-prog i { display: block; height: 100%; background: #000; }
.manual-layout .content h1.bk-title { font-family: "Saira Condensed", sans-serif; font-weight: 800; font-size: 34px; line-height: 1; letter-spacing: 1px; text-transform: uppercase; margin: 22px 0 14px; padding: 0; color: #000; }
.manual-layout .content h1.bk-title .tx { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; }
.bk-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 36px 0 0; border-top: 3px solid #000; padding-top: 14px; }
.manual-layout .content a.bk-pg { display: flex; flex-direction: column; justify-content: space-between; gap: 6px; min-height: 76px; box-sizing: border-box; padding: 10px 12px; border: 2px solid #000; background: #fff; color: #000; text-decoration: none; }
.manual-layout .content a.bk-pg:hover { background: #000; color: #fff; }
.manual-layout .content a.bk-pg--next { text-align: right; align-items: flex-end; }
.bk-pg__k { font: 700 12px/1.2 "Ubuntu Mono", monospace; letter-spacing: 1px; text-transform: uppercase; }
.bk-pg__t { font: 800 21px/1.05 "Saira Condensed", sans-serif; letter-spacing: 1px; text-transform: uppercase; overflow-wrap: anywhere; }
.manual-layout .content h1.bk-h1 { font-size: 54px; line-height: .95; margin: 8px 0 6px; }
.bk-vol { font: 13px "Ubuntu Mono", monospace; margin: 0 0 12px; }
.bk-lead { font-size: 18px; margin: 0 0 14px; }
.bk-find { margin: 22px 0 6px; }
.bk-find label { white-space: nowrap; }
.manual-layout .content h2.bk-h2 { font-size: 24px; margin: 28px 0 8px; display: flex; gap: 12px; align-items: baseline; border-bottom: 3px solid #000; padding-bottom: 4px; }
.bk-h2 .n { font: 700 14px "Ubuntu Mono", monospace; letter-spacing: 0; }
.bk-list { list-style: none; margin: 0 0 8px !important; padding: 0 !important; display: grid; grid-template-columns: 1fr; }
.manual-layout .content .bk-list li { margin: 0; }
.manual-layout .content .bk-list a { display: flex; align-items: baseline; gap: 12px; min-height: 44px; box-sizing: border-box; padding: 8px 6px; text-decoration: none; border-bottom: 1px solid #bdbdbd; }
.bk-list li:nth-child(even) a { background: #f2f2f2; }
.manual-layout .content .bk-list a:hover { background: #000; color: #fff; }
.bk-list .des { flex: 0 0 56px; font: 700 12px "Ubuntu Mono", monospace; }
.bk-list .tx { flex: 1; min-width: 0; font: 700 20px/1.1 "Saira Condensed", sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.bk-list .pg { font: 12px "Ubuntu Mono", monospace; white-space: nowrap; }
.bk-list li[hidden] { display: none; }
.bk-none { font: 13px "Ubuntu Mono", monospace; }
@media (max-width: 900px) {
    .bk-page { max-width: none; }
    .manual-layout .content h1.bk-title { font-size: 28px; }
    .manual-layout .content h1.bk-h1 { font-size: 42px; }
    .bk-pager { grid-template-columns: 1fr; }
    .manual-layout .content a.bk-pg--next { text-align: left; align-items: flex-start; }
    .bk-pg--next { order: -1; }
}
@media (max-width: 340px) { .w-top .w-nav a.w-nav__brand { white-space: nowrap; font-size: 18px; letter-spacing: 1px; gap: 8px; margin-right: 8px; } }
