@font-face {
  font-family: "IBM Plex Sans Local";
  src: url("fonts/IBMPlexSans-Regular.5aaadb685d3c.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Local";
  src: url("fonts/IBMPlexSans-Medium.02ec16345450.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Local";
  src: url("fonts/IBMPlexSans-SemiBold.51d76d33ef85.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  color-scheme: light;
  --canvas: #f5f7f8;
  --surface: #fcfdfd;
  --surface-subtle: #eef3f4;
  --ink: #18252b;
  --ink-soft: #5f7078;
  --line: #d7e0e4;
  --line-strong: #798c95;
  --accent: #08786d;
  --accent-strong: #07594f;
  --accent-hover: #064a43;
  --accent-soft: #e3f1ed;
  --on-accent: #fff;
  --danger: #a83f49;
  --danger-soft: #f8e5e7;
  --focus: #07594f;
  --fixed-white: #fff;
  --header-surface: color-mix(in srgb, var(--surface) 92%, transparent);
  --token-bg: var(--surface-subtle);
  --token-border: var(--line-strong);
  --token-text: #294047;
  --token-selected-bg: var(--accent-soft);
  --token-selected-border: var(--accent);
  --token-selected-text: var(--accent-strong);
  --shadow: 0 12px 36px rgb(24 37 43 / 7%);
  --shadow-sm: 0 1px 3px rgb(24 37 43 / 10%);
  --token-selected-ring: inset 0 0 0 1px var(--token-selected-border);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --border-thin: 1px;
  --border-nav: 2px;
  --border-emphasis: 3px;
  --border-message: 4px;
  --focus-width: 3px;
  --focus-offset: 3px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-badge-block: 2px;
  --space-badge-inline: 7px;
  --offset-skip-hidden: -80px;
  --font-ui: "IBM Plex Sans Local", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-reading: var(--font-ui);
  --container-width: 1240px;
  --content-width: 760px;
  --story-column-min-width: 420px;
  --page-gutter: clamp(32px, 5vw, 40px);
  --page-padding: clamp(48px, 8vw, 88px);
  --control-rail-width: 288px;
  --reader-rail-collapsed-width: 68px;
  --reader-rail-top: var(--header-height);
  --reader-rail-height: calc(100vh - var(--reader-rail-top));
  --touch-target: 44px;
  --control-height: var(--touch-target);
  --textarea-min-height: 120px;
  --select-chevron-size: 6px;
  --select-chevron-angle-start: 45deg;
  --select-chevron-angle-end: 135deg;
  --header-height: 68px;
  --header-height-compact: 62px;
  --hidden-size: 1px;
  --brand-mark-size: 28px;
  --checkbox-size: 20px;
  --badge-min-width: 25px;
  --token-height: 36px;
  --form-width: 600px;
  --qr-width: 320px;
  --control-bg: var(--surface);
  --control-border: var(--line);
  --control-text: var(--ink);
  --control-icon: var(--ink-soft);
  --control-placeholder: var(--ink-soft);
  --control-disabled-bg: var(--surface-subtle);
  --panel-bg: var(--surface);
  --panel-muted-bg: var(--surface-subtle);
  --panel-border: var(--line);
  --control-radius: var(--radius-sm);
  --panel-radius: var(--radius-md);
  --panel-shadow: none;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-ui: 14px;
  --text-md: 15px;
  --text-brand: 19px;
  --text-body: 1rem;
  --text-heading-sm: 1.1rem;
  --text-heading-md: 1.25rem;
  --text-heading-lg: 1.5rem;
  --text-prose: 1.16rem;
  --text-story-title: clamp(1.35rem, 3vw, 1.7rem);
  --text-lead: clamp(1.18rem, 2.4vw, 1.45rem);
  --text-desk-title: clamp(2rem, 4vw, 2.75rem);
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --leading-body: 1.55;
  --leading-tight: 1.05;
  --leading-token: 1.2;
  --leading-compact: 1.3;
  --leading-story: 1.32;
  --leading-card: 1.35;
  --leading-lead: 1.6;
  --leading-prose: 1.75;
  --tracking-page-title: -.035em;
  --tracking-eyebrow: .1em;
  --underline-offset: .2em;
  --external-mark-scale: .8em;
  --disabled-opacity: .58;
  --z-header: 20;
  --z-skip-link: 100;
}

[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #101719;
  --surface: #172126;
  --surface-subtle: #213037;
  --ink: #e8eff1;
  --ink-soft: #a8b7bd;
  --line: #34454c;
  --line-strong: #647d87;
  --accent: #52c8b1;
  --accent-strong: #8be2ce;
  --accent-hover: #a9eddc;
  --accent-soft: #183735;
  --on-accent: #102321;
  --danger: #f19aa4;
  --danger-soft: #482b31;
  --focus: #8ee1cf;
  --token-text: #d3dfe3;
  --shadow: 0 16px 40px rgb(0 0 0 / 24%);
  --shadow-sm: 0 1px 4px rgb(0 0 0 / 28%);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); color: var(--ink); font-family: var(--font-ui); }
body { min-height: 100vh; margin: 0; display: flex; flex-direction: column; line-height: var(--leading-body); }
a { color: inherit; text-underline-offset: var(--underline-offset); }
a:hover { color: var(--accent-strong); }
:focus-visible { outline: var(--focus-width) solid var(--focus); outline-offset: var(--focus-offset); }
button, .form-control { font: inherit; }
.form-control { width: 100%; min-width: 0; max-width: 100%; min-height: var(--control-height); padding: 0 var(--space-3); border: var(--border-thin) solid var(--control-border); border-radius: var(--control-radius); background-color: var(--control-bg); color: var(--control-text); }
.form-control:hover:not(:disabled) { border-color: var(--line-strong); }
.form-control::placeholder { color: var(--control-placeholder); opacity: 1; }
textarea.form-control { min-height: var(--textarea-min-height); padding-block: var(--space-3); resize: vertical; }
select.form-control { appearance: none; padding-right: calc(var(--space-6) + var(--space-2)); background-image: linear-gradient(var(--select-chevron-angle-start), transparent 50%, var(--control-icon) 50%), linear-gradient(var(--select-chevron-angle-end), var(--control-icon) 50%, transparent 50%); background-position: calc(100% - var(--space-4)) 50%, calc(100% - var(--space-3)) 50%; background-repeat: no-repeat; background-size: var(--select-chevron-size) var(--select-chevron-size), var(--select-chevron-size) var(--select-chevron-size); text-align: left; }
select.form-control option, select.form-control optgroup { background: var(--control-bg); color: var(--control-text); }
.form-control:disabled { background-color: var(--control-disabled-bg); cursor: not-allowed; opacity: var(--disabled-opacity); }
.form-control[aria-invalid="true"] { border-color: var(--danger); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--accent-strong); }
.panel { border: var(--border-thin) solid var(--panel-border); border-radius: var(--panel-radius); background: var(--panel-bg); box-shadow: var(--panel-shadow); }
.panel-muted { background: var(--panel-muted-bg); box-shadow: none; }
.visually-hidden { position: absolute; width: var(--hidden-size); height: var(--hidden-size); padding: 0; margin: calc(var(--hidden-size) * -1); overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: var(--space-4); top: var(--offset-skip-hidden); z-index: var(--z-skip-link); padding: var(--space-3) var(--space-4); background: var(--ink); color: var(--canvas); border-radius: var(--radius-sm); }
.skip-link:focus { top: var(--space-4); }

.site-header { position: sticky; top: 0; z-index: var(--z-header); background: var(--header-surface); border-bottom: var(--border-thin) solid var(--line); backdrop-filter: blur(var(--space-3)); }
.header-inner { width: min(calc(100% - var(--page-gutter)), var(--container-width)); min-height: var(--header-height); margin-inline: auto; display: flex; align-items: center; gap: var(--space-6); }
.brand { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--ink); font-size: var(--text-brand); font-weight: var(--weight-semibold); text-decoration: none; white-space: nowrap; }
.brand-mark { width: var(--brand-mark-size); height: var(--brand-mark-size); flex: 0 0 auto; background: var(--accent); -webkit-mask: url("brand-mark.478df568335c.svg") center / contain no-repeat; mask: url("brand-mark.478df568335c.svg") center / contain no-repeat; }
.brand-label { letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; }
.primary-nav { display: flex; align-self: stretch; gap: var(--space-5); }
.primary-nav a { display: inline-flex; align-items: center; color: var(--ink-soft); font-size: var(--text-ui); font-weight: var(--weight-medium); text-decoration: none; border-bottom: var(--border-nav) solid transparent; }
.primary-nav a:hover { color: var(--ink); border-color: var(--accent); }
.primary-nav a[aria-current="page"] { color: var(--ink); border-color: var(--accent); }
.theme-toggle { appearance: none; margin-left: auto; width: var(--touch-target); height: var(--touch-target); display: inline-grid; place-items: center; padding: 0; border: var(--border-thin) solid var(--line); border-radius: var(--control-radius); background: var(--surface); color: var(--ink-soft); cursor: pointer; box-shadow: var(--shadow-sm); }
.theme-toggle:hover { color: var(--accent-strong); border-color: var(--accent); }
.theme-toggle-icon { display: inline-grid; place-items: center; }
.theme-icon { width: var(--text-brand); height: var(--text-brand); fill: none; stroke: currentcolor; stroke-width: var(--border-nav); stroke-linecap: round; stroke-linejoin: round; }
[data-theme="light"] .theme-icon-sun, [data-theme="dark"] .theme-icon-moon { display: none; }
.reader-session .header-inner { width: 100%; padding-right: var(--page-gutter); display: grid; grid-template-columns: var(--control-rail-width) minmax(0, 1fr) auto; gap: 0; }
.reader-session .site-header .brand { justify-self: start; align-self: center; padding-left: var(--space-5); }
.reader-session .site-header .primary-nav { margin-left: var(--space-7); }
.reader-session .site-header .theme-toggle { grid-column: 3; margin-left: 0; }
.reader-session[data-topic-rail-state="collapsed"] .header-inner { grid-template-columns: var(--reader-rail-collapsed-width) minmax(0, 1fr) auto; }
.reader-session[data-topic-rail-state="collapsed"] .site-header .brand { justify-self: center; padding-left: 0; }
.reader-session[data-topic-rail-state="collapsed"] .site-header .brand-label { display: none; }

.page-shell { width: min(calc(100% - var(--page-gutter)), var(--container-width)); margin-inline: auto; padding-block: var(--page-padding); flex: 1 0 auto; }
.page-shell-full { width: 100%; margin-inline: 0; padding-block: 0; }
.eyebrow { margin: 0 0 var(--space-3); color: var(--accent-strong); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; }
h1, h2, h3 { color: var(--ink); font-family: var(--font-reading); font-weight: var(--weight-medium); text-wrap: balance; }
h1 { margin: 0; font-size: var(--text-desk-title); line-height: var(--leading-tight); letter-spacing: var(--tracking-page-title); }
.lead { max-width: var(--content-width); margin: var(--space-5) 0 0; color: var(--ink-soft); font-family: var(--font-reading); font-size: var(--text-lead); line-height: var(--leading-lead); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-4); border-bottom: var(--border-thin) solid var(--line-strong); }
.section-heading h2 { margin: 0; font-size: var(--text-heading-md); }
.section-heading p { margin: 0; color: var(--ink-soft); font-size: var(--text-sm); }
.public-layout { min-height: var(--reader-rail-height); display: grid; grid-template-columns: var(--control-rail-width) minmax(0, 1fr); align-content: start; align-items: start; column-gap: var(--space-7); row-gap: var(--space-5); padding-right: var(--page-gutter); }
.public-layout[data-topic-rail-state="collapsed"] { grid-template-columns: var(--reader-rail-collapsed-width) minmax(0, 1fr); }
.story-stream { min-width: 0; grid-column: 2; grid-row: 1; padding: var(--space-5) 0 var(--page-padding); }
.taxonomy-rail { min-width: 0; height: 0; grid-column: 1; grid-row: 1; }
.topic-navigation { position: fixed; top: var(--reader-rail-top); left: 0; width: var(--control-rail-width); height: var(--reader-rail-height); overflow: hidden auto; border-top: 0; border-bottom: 0; border-left: 0; border-radius: 0; }
.topic-navigation-head { position: relative; padding: var(--space-5); border-bottom: var(--border-thin) solid var(--panel-border); }
.topic-navigation-copy { min-width: 0; }
.topic-navigation-head h2 { margin: 0; font-size: var(--text-heading-md); line-height: var(--leading-compact); white-space: nowrap; }
.topic-navigation-head p:last-child { margin: var(--space-2) 0 0; color: var(--ink-soft); font-size: var(--text-sm); white-space: nowrap; }
.topic-navigation-toggle { position: absolute; top: var(--space-5); right: var(--space-5); width: var(--touch-target); min-width: var(--touch-target); padding: 0; }
.topic-navigation-toggle[hidden] { display: none; }
.public-layout[data-topic-rail-state="collapsed"] .topic-navigation-head { min-height: var(--reader-rail-collapsed-width); padding: var(--space-3); }
.public-layout[data-topic-rail-state="collapsed"] .topic-navigation-copy, .public-layout[data-topic-rail-state="collapsed"] .topic-navigation nav { display: none; }
.public-layout[data-topic-rail-state="collapsed"] .topic-navigation-toggle { top: var(--space-3); right: var(--space-3); }
.public-layout[data-topic-rail-state="collapsed"] .topic-navigation { width: var(--reader-rail-collapsed-width); }
.archive-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-1); padding: var(--space-1); border-bottom: var(--border-thin) solid var(--line); background: var(--surface-subtle); }
.archive-mode-switch a { min-height: var(--touch-target); display: inline-grid; place-items: center; padding-inline: var(--space-2); border: var(--border-thin) solid transparent; border-radius: var(--control-radius); color: var(--ink-soft); font-size: var(--text-sm); font-weight: var(--weight-medium); text-decoration: none; }
.archive-mode-switch a:hover { color: var(--ink); }
.archive-mode-switch a[aria-current="page"] { border-color: var(--line); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
.archive-filter-list { display: grid; }
.topic-nav-link { min-height: var(--touch-target); display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-left: var(--border-emphasis) solid transparent; color: var(--ink-soft); font-size: var(--text-ui); font-weight: var(--weight-medium); text-decoration: none; }
.topic-nav-link + .topic-nav-link { border-top: var(--border-thin) solid var(--line); }
.topic-nav-link:hover { border-left-color: var(--accent); background: var(--surface-subtle); color: var(--ink); }
.topic-nav-link[aria-current="page"] { border-left-color: var(--accent); background: var(--accent-soft); color: var(--ink); }
.topic-count { min-width: var(--badge-min-width); display: inline-grid; place-items: center; padding: var(--space-badge-block) var(--space-badge-inline); border-radius: var(--radius-pill); background: var(--surface-subtle); color: var(--ink-soft); font-size: var(--text-xs); font-weight: var(--weight-semibold); }
.topic-nav-link[aria-current="page"] .topic-count { background: var(--surface); color: var(--accent-strong); }

.story-list, .review-list { list-style: none; margin: 0; padding: 0; }
.story-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--story-column-min-width)), 1fr)); column-gap: var(--space-7); }
.story-list li { min-width: 0; border-bottom: var(--border-thin) solid var(--line); }
.story-list article { height: 100%; padding-block: var(--space-6); }
.metadata { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-3); color: var(--ink-soft); font-size: var(--text-sm); font-weight: var(--weight-regular); }
.source-name { color: var(--accent-strong); font-weight: var(--weight-semibold); text-decoration: none; }
a.source-name:hover { text-decoration: underline; text-decoration-thickness: var(--border-thin); }
.story-list h3 { max-width: var(--content-width); margin: 0; font-size: var(--text-story-title); line-height: var(--leading-story); }
.story-list h3 a { text-decoration: none; }
.story-list h3 a:hover { text-decoration: underline; text-decoration-thickness: var(--border-thin); }
.external-mark { display: inline-block; margin-left: var(--space-2); color: var(--accent); font-family: var(--font-ui); font-size: var(--external-mark-scale); }
.story-taxonomy { margin: var(--space-4) 0 0; }
.taxonomy-token { min-height: var(--token-height); display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border: var(--border-thin) solid var(--token-border); border-radius: var(--radius-pill); background: var(--token-bg); color: var(--token-text); font-size: var(--text-xs); font-weight: var(--weight-semibold); line-height: var(--leading-token); text-decoration: none; }
a.taxonomy-token:hover, .taxonomy-token.is-selected { border-color: var(--token-selected-border); background: var(--token-selected-bg); color: var(--token-selected-text); }
.taxonomy-token-list { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pagination { display: flex; justify-content: space-between; padding-top: var(--space-6); }
.empty-state { padding: clamp(var(--space-5), 6vw, var(--space-7)); }
.empty-state h2 { margin: 0 0 var(--space-2); font-size: var(--text-heading-lg); }
.empty-state p:last-child { margin-bottom: 0; color: var(--ink-soft); }

.page-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-6); margin-bottom: var(--space-5); padding-bottom: var(--space-5); border-bottom: var(--border-thin) solid var(--line); }
.page-header-copy { max-width: var(--content-width); }
.page-header .lead { max-width: var(--content-width); margin-top: var(--space-3); font-size: var(--text-body); line-height: var(--leading-body); }
.header-actions, .actions { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.page-header .header-actions { align-self: start; flex-wrap: nowrap; }
.header-actions form, .actions form { margin: 0; }
.button { appearance: none; min-height: var(--control-height); display: inline-flex; align-items: center; justify-content: center; padding: 0 var(--space-4); border: var(--border-thin) solid var(--accent-strong); border-radius: var(--control-radius); background: var(--accent-strong); color: var(--on-accent); font-weight: var(--weight-semibold); text-decoration: none; cursor: pointer; }
.button:hover { border-color: var(--accent-hover); background: var(--accent-hover); color: var(--on-accent); }
.button:disabled { cursor: not-allowed; opacity: var(--disabled-opacity); }
.button-secondary { border-color: var(--line-strong); background: var(--surface); color: var(--ink); }
.button-secondary:hover { border-color: var(--accent); background: var(--surface-subtle); color: var(--ink); }
.button-danger { border-color: var(--danger); background: transparent; color: var(--danger); }
.button-danger:hover { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }
.status-nav { display: flex; gap: var(--space-2); margin-bottom: var(--space-5); padding: var(--space-1); overflow-x: auto; border: var(--border-thin) solid var(--line); border-radius: var(--radius-md); background: var(--surface-subtle); }
.status-nav a { min-height: var(--touch-target); display: inline-flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-4); border: var(--border-thin) solid transparent; border-radius: var(--radius-sm); color: var(--ink-soft); font-size: var(--text-ui); font-weight: var(--weight-medium); text-decoration: none; white-space: nowrap; }
.status-nav a[aria-current="page"] { border-color: var(--line); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
.queue-count { min-width: var(--badge-min-width); display: inline-grid; place-items: center; padding: var(--space-badge-block) var(--space-badge-inline); border-radius: var(--radius-pill); background: var(--surface-subtle); color: var(--ink-soft); font-size: var(--text-xs); font-weight: var(--weight-semibold); }
.status-nav a[aria-current="page"] .queue-count { background: var(--accent-soft); color: var(--accent-strong); }
.uncategorized-queue { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); padding: var(--space-4) var(--space-5); text-decoration: none; }
.uncategorized-queue:hover, .uncategorized-queue.is-active { border-color: var(--accent); background: var(--accent-soft); }
.uncategorized-queue > span:first-child { display: grid; }
.uncategorized-queue small { color: var(--ink-soft); }
.filter-form { display: flex; align-items: end; gap: var(--space-3); margin-bottom: var(--space-5); }
.filter-form label { display: block; margin-bottom: var(--space-1); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; padding: var(--space-5); }
.filter-actions { min-height: var(--touch-target); display: flex; align-items: center; gap: var(--space-4); }
.filter-actions a { color: var(--ink-soft); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.bulk-bar { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); padding: var(--space-4); }
.bulk-bar label { font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.bulk-bar select { max-width: var(--control-rail-width); flex: 1; }
.story-card-head > div { min-width: 0; }
.bulk-check { width: var(--touch-target); height: var(--touch-target); display: grid; flex: 0 0 auto; place-items: center; margin: calc(var(--space-2) * -1) 0 0 calc(var(--space-2) * -1); cursor: pointer; }
.bulk-check input { width: var(--checkbox-size); height: var(--checkbox-size); }
.story-editor { margin: 0 0 var(--space-4); }
.story-editor summary { min-height: var(--touch-target); padding: var(--space-3) var(--space-4); cursor: pointer; color: var(--ink-soft); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.story-editor[open] summary { border-bottom: var(--border-thin) solid var(--line); }
.story-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: var(--space-3); padding: var(--space-4); }
.story-edit-form div { min-width: 0; }
.story-edit-form label { display: block; margin-bottom: var(--space-1); color: var(--ink-soft); font-size: var(--text-xs); font-weight: var(--weight-semibold); }
.story-edit-form button { justify-self: start; }
.taxonomy-summary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); }
.review-flag { color: var(--danger); font-size: var(--text-xs); font-weight: var(--weight-semibold); }
.classification-reason, .classification-failed { margin: 0 0 var(--space-4); color: var(--ink-soft); font-size: var(--text-sm); }
.classification-reason span { white-space: nowrap; }
.classification-failed { padding: var(--space-3); border-left: var(--border-emphasis) solid var(--danger); background: var(--danger-soft); color: var(--ink); }
.taxonomy-retry { margin: var(--space-3) 0 0; }

/* Route modifiers change composition, never the shared outer rail or page inset. */
.editorial-desk { min-width: 0; }
.page-shell-editorial .header-actions { justify-content: flex-end; }
.page-shell-editorial .message { margin: 0 0 var(--space-5); }
.page-shell-editorial .status-nav { margin-bottom: var(--space-5); box-shadow: none; scrollbar-width: thin; }

.editorial-workspace { display: grid; grid-template-columns: minmax(0, var(--control-rail-width)) minmax(0, 1fr); align-items: start; gap: var(--space-5); }
.desk-sidebar { display: grid; gap: var(--space-4); min-width: 0; }
.control-panel, .page-shell-editorial .manual-add { overflow: hidden; }
.control-panel-head { padding: var(--space-4) var(--space-4) 0; }
.control-panel-head .eyebrow, .queue-head .eyebrow { margin-bottom: var(--space-1); }
.control-panel-head h2, .queue-head h2 { margin: 0; font-size: var(--text-heading-sm); line-height: var(--leading-compact); }
.desk-sidebar .uncategorized-queue { margin: 0; padding: var(--space-4); border-radius: var(--radius-md); }
.desk-sidebar .filter-form { margin: 0; }
.desk-sidebar .filter-grid { grid-template-columns: 1fr; gap: var(--space-3); padding: var(--space-4); border: 0; border-radius: 0; background: transparent; }
.desk-sidebar .filter-actions { flex-wrap: wrap; }
.page-shell-editorial .manual-add { margin: 0; }
.page-shell-editorial .manual-add summary { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) calc(var(--space-6) + var(--space-3)) var(--space-4) var(--space-4); cursor: pointer; font-weight: var(--weight-semibold); }
.page-shell-editorial .manual-add summary small { color: var(--ink-soft); font-weight: var(--weight-medium); }
.page-shell-editorial .manual-add[open] summary { border-bottom: var(--border-thin) solid var(--line); }
.page-shell-editorial .manual-add summary, .page-shell-editorial .story-editor summary { list-style: none; }
.page-shell-editorial .manual-add summary::marker, .page-shell-editorial .story-editor summary::marker { content: ""; }
.page-shell-editorial .manual-add summary::-webkit-details-marker, .page-shell-editorial .story-editor summary::-webkit-details-marker { display: none; }
.page-shell-editorial .manual-add summary::after, .page-shell-editorial .story-editor summary::after { content: "+"; position: absolute; top: 50%; right: var(--space-4); color: var(--ink-soft); font-size: var(--text-heading-md); font-weight: var(--weight-regular); line-height: var(--leading-tight); transform: translateY(-50%); }
.page-shell-editorial .manual-add[open] summary::after, .page-shell-editorial .story-editor[open] summary::after { content: "\2212"; }
.page-shell-editorial .manual-add .stacked-form { margin-top: 0; padding: var(--space-4); }

.desk-main { min-width: 0; }
.queue-head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-3); padding: 0 var(--space-1); }
.queue-head > p { margin: 0; color: var(--ink-soft); font-size: var(--text-sm); }
.page-shell-editorial .review-list { display: block; overflow: hidden; }
.page-shell-editorial .review-list li { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page-shell-editorial .review-list li + li { border-top: var(--border-thin) solid var(--line); }
.page-shell-editorial .review-list article { padding: 0; }
.page-shell-editorial .story-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: var(--space-3); padding: var(--space-5); }
.page-shell-editorial .story-card-head > div { grid-column: 2; }
.page-shell-editorial .story-card-head .metadata { margin-bottom: var(--space-2); }
.page-shell-editorial .review-list h2 { margin: 0; font-size: var(--text-heading-md); line-height: var(--leading-card); }
.page-shell-editorial .review-list h2 a { text-decoration-thickness: var(--border-thin); }
.page-shell-editorial .editorial-category { grid-column: 3; align-self: start; margin: 0; }
.story-card-body { padding: 0 var(--space-5) var(--space-4); }
.page-shell-editorial .story-editor { margin: 0; }
.page-shell-editorial .story-editor summary { position: relative; padding-right: calc(var(--space-6) + var(--space-3)); }
.page-shell-editorial .story-edit-form button { grid-column: auto; justify-self: start; }
.page-shell-editorial .taxonomy-summary { margin-top: var(--space-4); }
.story-card-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-top: var(--border-thin) solid var(--line); background: var(--surface-subtle); }
.taxonomy-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); flex-wrap: wrap; }
.taxonomy-actions form { margin: 0; }
.taxonomy-actions .taxonomy-retry { margin: 0; }
.page-shell-editorial .bulk-bar { margin: var(--space-4) 0 0; border-style: dashed; background: var(--surface-subtle); box-shadow: none; }
.page-shell-editorial .pagination { padding-top: var(--space-5); }

.taxonomy-review-head { margin-bottom: var(--space-5); }
.taxonomy-review-head .lead a { color: var(--ink); text-decoration-color: var(--line-strong); }
.classification-evidence { margin-bottom: var(--space-5); padding: var(--space-5); }
.classification-evidence h2 { margin: 0 0 var(--space-3); font-size: var(--text-heading-md); }
.classification-evidence > p { margin: 0 0 var(--space-3); }
.classification-evidence > p:last-child { margin-bottom: 0; }
.taxonomy-review-form { display: grid; gap: var(--space-4); }
.taxonomy-review-form fieldset { margin: 0; padding: var(--space-5); }
.taxonomy-review-form legend { width: 100%; margin-bottom: var(--space-3); color: var(--ink); font-size: var(--text-md); font-weight: var(--weight-semibold); }
.taxonomy-review-form legend small { margin-left: var(--space-2); color: var(--ink-soft); font-size: var(--text-xs); font-weight: var(--weight-regular); }
.taxonomy-choice { min-height: var(--touch-target); position: relative; cursor: pointer; }
.taxonomy-choice input { position: absolute; width: var(--hidden-size); height: var(--hidden-size); opacity: 0; }
.taxonomy-choice:has(input:checked) { border-color: var(--token-selected-border); background: var(--token-selected-bg); color: var(--token-selected-text); box-shadow: var(--token-selected-ring); }
.taxonomy-choice:has(input:focus-visible) { outline: var(--focus-width) solid var(--focus); outline-offset: var(--focus-offset); }

.narrow { max-width: var(--form-width); padding: clamp(var(--space-5), 5vw, var(--space-7)); }
.back-link { margin: 0 0 var(--space-5); color: var(--ink-soft); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.stacked-form { display: grid; gap: var(--space-5); margin-top: var(--space-6); }
.page-header + .stacked-form { margin-top: 0; }
.stacked-form > div { display: grid; gap: var(--space-2); }
.stacked-form label { color: var(--ink); font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.stacked-form input[type="checkbox"] { width: var(--checkbox-size); min-height: var(--checkbox-size); padding: 0; }
.stacked-form > div:has(> input[type="checkbox"]) { grid-template-columns: var(--checkbox-size) minmax(0, 1fr); align-items: start; }
.stacked-form > div:has(> input[type="checkbox"]) input { grid-column: 1; grid-row: 1; margin-top: var(--space-1); }
.stacked-form > div:has(> input[type="checkbox"]) label { grid-column: 2; grid-row: 1; }
.stacked-form > div:has(> input[type="checkbox"]) .helptext, .stacked-form > div:has(> input[type="checkbox"]) .errorlist { grid-column: 2; }
.form-actions, .source-actions { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.helptext { color: var(--ink-soft); font-size: var(--text-sm); }
.errorlist { margin: 0; color: var(--danger); }
.message { padding: var(--space-4); border: var(--border-thin) solid var(--line); border-left: var(--border-message) solid var(--accent); border-radius: var(--radius-sm); background: var(--accent-soft); }
.prose { max-width: var(--content-width); }
.prose p { color: var(--ink-soft); font-family: var(--font-reading); font-size: var(--text-prose); line-height: var(--leading-prose); }
.prose > p { margin: 0; }
.prose > p + p { margin-top: var(--space-5); }
.prose a { color: var(--accent-strong); }
.error-state { text-align: left; }
.error-state h1 { margin: 0 0 var(--space-3); font-size: var(--text-desk-title); line-height: var(--leading-tight); }
.error-state > p { max-width: var(--content-width); }
.error-state .button { margin-top: var(--space-3); }
.totp-qr { display: block; width: min(100%, var(--qr-width)); height: auto; margin-block: var(--space-5); padding: var(--space-4); background: var(--fixed-white); border: var(--border-thin) solid var(--line); border-radius: var(--radius-sm); }

.source-list { list-style: none; display: grid; gap: var(--space-5); margin: 0; padding: 0; }
.source-list li { overflow: hidden; }
.source-list article { padding: 0; }
.source-card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding: var(--space-5); }
.source-card-title { min-width: 0; }
.source-card-title .eyebrow { margin-bottom: var(--space-2); }
.source-card-head h2 { margin: 0 0 var(--space-2); font-size: var(--text-heading-lg); }
.source-health-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--border-thin); margin: 0; overflow: hidden; border-block: var(--border-thin) solid var(--line); background: var(--line); }
.source-health-grid div { min-width: 0; padding: var(--space-4) var(--space-5); background: var(--surface-subtle); }
.source-health-grid dt { margin-bottom: var(--space-1); color: var(--ink-soft); font-size: var(--text-xs); font-weight: var(--weight-semibold); text-transform: uppercase; }
.source-health-grid dd { margin: 0; overflow-wrap: anywhere; font-size: var(--text-ui); }
.source-card-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); background: var(--surface); }
.source-actions form { margin: 0; }
.action-note { max-width: var(--content-width); margin: 0; color: var(--ink-soft); font-size: var(--text-sm); }
.source-form-shell { max-width: var(--form-width); }

.site-footer { position: relative; z-index: var(--z-header); margin-top: auto; border-top: var(--border-thin) solid var(--line); background: var(--surface); }
.footer-inner { width: min(calc(100% - var(--page-gutter)), var(--container-width)); min-height: var(--header-height); margin-inline: auto; display: flex; align-items: center; justify-content: flex-end; gap: var(--space-6); color: var(--ink-soft); font-size: var(--text-sm); }
.footer-inner nav { display: flex; gap: var(--space-5); flex-wrap: wrap; }
.footer-inner nav a { text-decoration: none; }

/* Supported browsers receive a fully tokenized picker; native fallback remains accessible. */
@media (hover: hover) and (pointer: fine) {
  @supports (appearance: base-select) {
    select.form-control, select.form-control::picker(select) { appearance: base-select; }
    select.form-control { align-items: center; padding-right: var(--space-3); background-image: none; }
    select.form-control::picker-icon { content: ""; width: var(--select-chevron-size); height: var(--select-chevron-size); margin-right: 0; flex: 0 0 auto; border-right: var(--border-nav) solid var(--control-icon); border-bottom: var(--border-nav) solid var(--control-icon); color: var(--control-icon); transform: rotate(var(--select-chevron-angle-start)); }
    select.form-control::picker(select) { margin-top: var(--space-1); padding: var(--space-1); border: var(--border-thin) solid var(--panel-border); border-radius: var(--control-radius); background: var(--panel-bg); box-shadow: var(--shadow); }
    select.form-control option { min-height: var(--control-height); display: flex; align-items: center; padding: 0 var(--space-3); border-radius: var(--control-radius); }
    select.form-control option:hover, select.form-control option:focus, select.form-control option:checked { background: var(--accent-soft); color: var(--accent-strong); }
    select.form-control option::checkmark { color: var(--accent-strong); }
  }
}

@media (max-width: 1000px) {
  .reader-session .header-inner, .reader-session[data-topic-rail-state="collapsed"] .header-inner { width: min(calc(100% - var(--page-gutter)), var(--container-width)); padding-right: 0; display: flex; gap: var(--space-6); }
  .reader-session .site-header .brand, .reader-session[data-topic-rail-state="collapsed"] .site-header .brand { justify-self: auto; padding-left: 0; }
  .reader-session[data-topic-rail-state="collapsed"] .site-header .brand-label { display: inline; }
  .reader-session .site-header .primary-nav { margin-left: 0; }
  .reader-session .theme-toggle { margin-left: auto; }
  .page-shell-full { width: min(calc(100% - var(--page-gutter)), var(--container-width)); margin-inline: auto; padding-block: var(--page-padding); }
  .public-layout, .public-layout[data-topic-rail-state="collapsed"] { width: 100%; min-width: 0; min-height: auto; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding-right: 0; }
  .taxonomy-rail { width: 100%; max-width: 100%; height: auto; grid-column: 1; grid-row: 1; }
  .story-stream { grid-column: 1; grid-row: 2; padding-block: 0; }
  .topic-navigation, .public-layout[data-topic-rail-state="collapsed"] .topic-navigation { position: static; width: 100%; max-width: 100%; height: auto; overflow: visible; border: 0; border-radius: 0; background: transparent; }
  .topic-navigation-head, .public-layout[data-topic-rail-state="collapsed"] .topic-navigation-head { display: block; padding: 0 0 var(--space-3); border: 0; }
  .public-layout[data-topic-rail-state="collapsed"] .topic-navigation-copy { display: block; }
  .topic-navigation-toggle { display: none; }
  .topic-navigation-head p:last-child { display: none; }
  .archive-mode-switch, .public-layout[data-topic-rail-state="collapsed"] .topic-navigation .archive-mode-switch { width: 100%; display: grid; margin-bottom: var(--space-3); border: var(--border-thin) solid var(--line); border-radius: var(--panel-radius); }
  .archive-filter-list, .public-layout[data-topic-rail-state="collapsed"] .topic-navigation .archive-filter-list { width: 100%; max-width: 100%; min-width: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); padding-bottom: var(--space-2); }
  .topic-nav-link { flex: 0 0 auto; min-height: var(--token-height); padding: var(--space-2) var(--space-3); border: var(--border-thin) solid var(--token-border); border-radius: var(--radius-pill); background: var(--token-bg); font-size: var(--text-xs); font-weight: var(--weight-semibold); }
  .topic-nav-link + .topic-nav-link { border-top: var(--border-thin) solid var(--token-border); }
  .topic-nav-link:hover, .topic-nav-link[aria-current="page"] { border-color: var(--token-selected-border); background: var(--token-selected-bg); color: var(--token-selected-text); }
  .story-list { grid-template-columns: minmax(0, 1fr); }
  .editorial-workspace { grid-template-columns: 1fr; }
  .desk-sidebar .filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .source-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .header-inner { min-height: var(--header-height-compact); gap: var(--space-4); }
  .primary-nav { gap: var(--space-4); }
  .primary-nav a { font-size: var(--text-sm); }
  .staff-session .header-inner { flex-wrap: wrap; padding-block: var(--space-2); }
  .staff-session .primary-nav { order: 3; width: 100%; min-height: var(--touch-target); overflow-x: auto; border-top: var(--border-thin) solid var(--line); }
  .staff-session .primary-nav a { flex: 0 0 auto; }
  .page-shell { padding-block: var(--space-5) var(--space-7); }
  .page-header { grid-template-columns: 1fr; align-items: stretch; gap: var(--space-4); }
  .page-header .header-actions { justify-content: flex-start; flex-wrap: wrap; }
  .footer-inner { min-height: var(--header-height-compact); }
  .manual-add summary { flex-direction: column; }
  .filter-grid, .story-edit-form { grid-template-columns: 1fr; }
  .desk-sidebar .filter-grid, .page-shell-editorial .story-edit-form { grid-template-columns: 1fr; }
  .story-edit-form button { grid-column: 1; }
  .page-shell-editorial .story-card-head { grid-template-columns: auto minmax(0, 1fr); padding: var(--space-4); }
  .page-shell-editorial .story-card-head > div { grid-column: 2; }
  .page-shell-editorial .editorial-category { grid-column: 2; }
  .story-card-body { padding: 0 var(--space-4) var(--space-4); }
  .story-card-actions { align-items: stretch; flex-direction: column; padding-inline: var(--space-4); }
  .story-card-actions .actions, .taxonomy-actions { justify-content: flex-start; }
  .bulk-bar, .source-card-head, .source-card-footer { align-items: stretch; flex-direction: column; }
  .bulk-bar select { max-width: none; }
  .source-health-grid { grid-template-columns: 1fr; }
}

@media (max-width: 440px) {
  .section-heading p { display: none; }
  .page-header .header-actions > * { flex: 1 1 auto; }
  .page-header .header-actions .button { width: 100%; }
  .page-shell-editorial .story-card-head { grid-template-columns: 1fr; }
  .page-shell-editorial .bulk-check { grid-row: 1; margin: 0; }
  .page-shell-editorial .story-card-head > div { grid-column: 1; }
  .page-shell-editorial .editorial-category { grid-column: 1; }
  .story-card-actions .actions > *, .taxonomy-actions > * { width: 100%; }
  .story-card-actions button, .taxonomy-actions .button { width: 100%; }
}

@media (forced-colors: active) {
  select.form-control { appearance: auto; padding-right: var(--space-3); background-image: none; }
  .taxonomy-choice input { position: static; width: var(--checkbox-size); height: var(--checkbox-size); flex: 0 0 auto; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
