/*
 * OMERTA interface foundation
 * Artifact-led noir: cinematic at the threshold, documentary everywhere else.
 *
 * Token tiers:
 *   1. --om-* primitives are the stable palette, spacing, type, and geometry.
 *   2. semantic aliases describe intent rather than a particular colour.
 *   3. legacy aliases keep the existing console and public pages compatible.
 */
@font-face {
  font-family: "Omerta Display";
  src: url("/art/display.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  color-scheme: dark;

  --om-color-ink-950: #0a0909;
  --om-color-ink-900: #0e0d0e;
  --om-color-ink-850: #141214;
  --om-color-ink-800: #1a1719;
  --om-color-ink-750: #211d20;
  --om-color-ink-700: #302a2d;
  --om-color-paper-100: #eee6d7;
  --om-color-paper-300: #c9c0b1;
  --om-color-paper-500: #9f9688;
  --om-color-paper-650: #8d8578;
  --om-color-gold-300: #e0bd72;
  --om-color-gold-500: #cda653;
  --om-color-gold-700: #80652f;
  --om-color-blood-400: #d36b61;
  --om-color-blood-600: #a73d38;
  --om-color-green-400: #78ae8a;
  --om-color-blue-400: #80a6c1;
  --om-color-machine-400: #79b3c7;

  --om-surface-canvas: var(--om-color-ink-950);
  --om-surface-sunken: var(--om-color-ink-900);
  --om-surface-panel: var(--om-color-ink-850);
  --om-surface-raised: var(--om-color-ink-800);
  --om-border-subtle: var(--om-color-ink-700);
  --om-border-strong: #433a3e;
  --om-text-primary: var(--om-color-paper-100);
  --om-text-secondary: var(--om-color-paper-300);
  --om-text-muted: var(--om-color-paper-500);
  --om-text-faint: var(--om-color-paper-650);
  --om-action-primary: var(--om-color-gold-500);
  --om-action-primary-hover: var(--om-color-gold-300);
  --om-status-danger: var(--om-color-blood-400);
  --om-status-warning: var(--om-color-gold-300);
  --om-status-success: var(--om-color-green-400);
  --om-status-info: var(--om-color-blue-400);

  --om-font-display: "Omerta Display", "Arial Narrow", "Helvetica Neue", sans-serif;
  --om-font-body: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --om-font-data: ui-monospace, "Cascadia Code", "SFMono-Regular", Menlo, Consolas, monospace;

  /* One operational scale. Public prose may stay larger; product copy never drops below meta. */
  --om-type-meta: 12px;
  --om-type-label: 13px;
  --om-type-body: 14px;
  --om-type-public: 16px;
  --om-type-title: 20px;

  --om-space-1: 4px;
  --om-space-2: 8px;
  --om-space-3: 12px;
  --om-space-4: 16px;
  --om-space-5: 24px;
  --om-space-6: 32px;
  --om-space-7: 48px;
  --om-space-8: 64px;
  --om-radius-sm: 3px;
  --om-radius-md: 6px;
  --om-radius-lg: 10px;
  --om-shadow-raised: 0 18px 48px -28px rgb(0 0 0 / 90%);
  --om-focus-ring: 0 0 0 2px var(--om-surface-canvas), 0 0 0 4px var(--om-action-primary-hover);
  --om-target-min: 44px;
  --om-duration-fast: 120ms;
  --om-duration-base: 180ms;
  --om-ease-out: cubic-bezier(.2, .8, .2, 1);
  --om-safe-area-top: env(safe-area-inset-top, 0px);

  /* Shared interaction grammar: direct feedback is quick; entrances get room to settle. */
  --duration-stagger: 40ms;
  --duration-micro: 80ms;
  --duration-quick: 150ms;
  --duration-fast: 250ms;
  --duration-medium: 350ms;
  --duration-slow: 400ms;
  --duration-very-slow: 500ms;
  --ease-smooth-out: cubic-bezier(.22, 1, .36, 1);
  --ease-in-out: ease-in-out;
  --ease-out: ease-out;
  --ease-linear: linear;
  --distance-micro: 4px;
  --distance-small: 6px;
  --distance-base: 8px;
  --distance-medium: 12px;
  --distance-large: 30px;
  --scale-modal: .96;
  --scale-dropdown: .97;
  --scale-tooltip: .98;
  --scale-close: .99;
  --blur-micro: 2px;
  --blur-small: 3px;
  --blur-large: 8px;
  --om-z-nav: 40;
  --om-z-dropdown: 50;
  --om-z-modal-backdrop: 100;
  --om-z-modal: 110;
  --om-z-toast: 120;
  --om-z-tooltip: 130;
  --om-z-skip: 1000;

  /* Compatibility layer for the existing pages. */
  --bg: var(--om-surface-canvas);
  --panel: var(--om-surface-panel);
  --panel2: var(--om-surface-raised);
  --raise: var(--om-color-ink-750);
  --line: var(--om-border-subtle);
  --line2: var(--om-border-strong);
  --ink: var(--om-text-primary);
  --fg: var(--om-text-primary);
  --dim: var(--om-text-muted);
  --faint: var(--om-text-faint);
  --neon: var(--om-action-primary);
  --gold: var(--om-action-primary);
  --blood: var(--om-color-blood-600);
  --bad: var(--om-status-danger);
  --warn: var(--om-status-danger);
  --ok: var(--om-status-success);
  --cold: var(--om-status-info);
  --mach: var(--om-color-machine-400);
  --display: var(--om-font-display);
  --serif: var(--om-font-body);
  --mono: var(--om-font-data);
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  inset: var(--om-space-3) auto auto var(--om-space-3);
  z-index: var(--om-z-skip);
  min-height: var(--om-target-min);
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  color: var(--om-surface-canvas);
  background: var(--om-action-primary-hover);
  border-radius: var(--om-radius-sm);
  font: 700 var(--om-type-body)/1 var(--om-font-data);
  transform: translateY(-180%);
  transition: transform var(--om-duration-fast) var(--om-ease-out);
}

.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 0;
  box-shadow: var(--om-focus-ring);
}

.public-page,
.public-page *,
.public-page *::before,
.public-page *::after { box-sizing: border-box; }

body.public-page {
  margin: 0;
  min-height: 100vh;
  overflow-x: clip;
  background:
    radial-gradient(900px 520px at 84% -18%, rgb(205 166 83 / 8%), transparent 62%),
    var(--om-surface-canvas);
  color: var(--om-text-primary);
  font-family: var(--om-font-body);
}

.public-page :where(main, aside, article, section),
.public-page #wrap > * { min-width: 0; }

.public-nav {
  position: sticky;
  top: 0;
  z-index: var(--om-z-nav);
  display: flex;
  align-items: center;
  gap: var(--om-space-4);
  width: 100%;
  min-height: 58px;
  padding: calc(8px + var(--om-safe-area-top)) max(16px, calc((100vw - 1120px) / 2)) 8px;
  border-bottom: 1px solid var(--om-border-subtle);
  background: color-mix(in srgb, var(--om-surface-canvas) 91%, transparent);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.public-nav__brand {
  flex: 0 0 auto;
  min-height: var(--om-target-min);
  display: inline-flex;
  align-items: center;
  color: var(--om-action-primary);
  font: 600 20px/1 var(--om-font-display);
  letter-spacing: .22em;
  text-decoration: none;
}

.public-nav__links {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}

.public-nav__menu { display: none; position: relative; margin-left: auto; }
.public-nav__menu summary {
  min-height: var(--om-target-min);
  align-items: center;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: var(--om-radius-sm);
  color: var(--om-text-muted);
  cursor: pointer;
  font: 600 var(--om-type-body)/1 var(--om-font-data);
  letter-spacing: .08em;
  list-style: none;
  text-transform: uppercase;
  transition:
    color var(--duration-quick) var(--ease-out),
    border-color var(--duration-quick) var(--ease-out),
    background-color var(--duration-quick) var(--ease-out),
    transform var(--duration-micro) var(--ease-out);
}
.public-nav__menu summary::-webkit-details-marker { display: none; }
.public-nav__menu summary::after { content: " +"; }
.public-nav__menu[open] summary { color: var(--om-text-primary); border-color: var(--om-border-subtle); background: var(--om-surface-raised); }
.public-nav__menu[open] summary::after { content: " −"; }
.public-nav__menu-list {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  display: grid;
  min-width: 210px;
  padding: 6px;
  border: 1px solid var(--om-border-strong);
  border-radius: var(--om-radius-md);
  background: var(--om-surface-raised);
  box-shadow: 0 16px 34px -22px rgb(0 0 0 / 95%);
  transform-origin: top right;
}
.public-nav__menu[open] .public-nav__menu-list {
  animation: om-public-menu-in var(--duration-fast) var(--ease-smooth-out) both;
}
@keyframes om-public-menu-in {
  from { opacity: 0; filter: blur(var(--blur-micro)); transform: translateY(calc(-1 * var(--distance-base))) scale(var(--scale-dropdown)); }
  to { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); }
}
.public-nav__menu-list a {
  min-height: var(--om-target-min);
  display: flex;
  align-items: center;
  padding: 0 10px;
  color: var(--om-text-secondary);
  font: 600 var(--om-type-body)/1.3 var(--om-font-data);
  text-decoration: none;
  transition:
    color var(--duration-quick) var(--ease-out),
    background-color var(--duration-quick) var(--ease-out),
    transform var(--duration-micro) var(--ease-out);
}
.public-nav__menu-list a:hover,
.public-nav__menu-list a[aria-current="page"] { color: var(--om-text-primary); background: var(--om-surface-panel); }

.public-nav__links a {
  min-height: var(--om-target-min);
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: var(--om-radius-sm);
  color: var(--om-text-muted);
  font: 600 var(--om-type-body)/1 var(--om-font-data);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    color var(--duration-quick) var(--ease-out),
    border-color var(--duration-quick) var(--ease-out),
    background-color var(--duration-quick) var(--ease-out),
    transform var(--duration-micro) var(--ease-out);
}

.public-nav__menu summary:active,
.public-nav__menu-list a:active,
.public-nav__links a:active { transform: translateY(1px); }

.public-nav__links a:hover,
.public-nav__links a[aria-current="page"] {
  color: var(--om-text-primary);
  background: var(--om-surface-raised);
  border-color: var(--om-border-subtle);
}

.public-nav__links .public-nav__cta {
  color: var(--om-surface-canvas);
  background: var(--om-action-primary);
  border-color: var(--om-action-primary);
}

.public-nav__links .public-nav__cta:hover {
  color: var(--om-surface-canvas);
  background: var(--om-action-primary-hover);
  border-color: var(--om-action-primary-hover);
}

.artifact-kicker {
  color: var(--om-color-machine-400);
  font: 600 10px/1.3 var(--om-font-data);
  letter-spacing: .22em;
  text-transform: uppercase;
}

.artifact-deck {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--om-space-3);
  margin: var(--om-space-5) 0;
}

.artifact-card {
  min-width: 0;
  padding: var(--om-space-4);
  border: 1px solid var(--om-border-subtle);
  border-radius: var(--om-radius-md);
  background: var(--om-surface-panel);
}

a.artifact-card {
  color: inherit;
  text-decoration: none;
  transition:
    border-color var(--duration-quick) var(--ease-out),
    background-color var(--duration-quick) var(--ease-out),
    box-shadow var(--duration-fast) var(--ease-smooth-out),
    transform var(--duration-fast) var(--ease-smooth-out);
}

a.artifact-card:hover {
  border-color: var(--om-border-strong);
  background: var(--om-surface-raised);
  box-shadow: var(--om-shadow-raised);
  transform: translateY(-2px);
}

a.artifact-card:active { transform: translateY(0) scale(var(--scale-close)); }

.artifact-card__label {
  display: block;
  margin-bottom: 5px;
  color: var(--om-text-faint);
  font: 600 var(--om-type-meta)/1.3 var(--om-font-data);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.artifact-card strong { color: var(--om-text-primary); }
.artifact-card p { margin: 4px 0 0; color: var(--om-text-muted); }
#screen-auth .artifact-card p { font-size: var(--om-type-public); }

.artifact-notice {
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--om-status-info) 42%, var(--om-border-subtle));
  border-radius: var(--om-radius-sm);
  background: color-mix(in srgb, var(--om-status-info) 8%, var(--om-surface-panel));
  color: var(--om-text-secondary);
}

.artifact-notice--warning {
  border-color: color-mix(in srgb, var(--om-status-danger) 46%, var(--om-border-subtle));
  background: color-mix(in srgb, var(--om-status-danger) 8%, var(--om-surface-panel));
}

.artifact-notice--status {
  border-color: color-mix(in srgb, var(--om-action-primary) 38%, var(--om-border-subtle));
  background: color-mix(in srgb, var(--om-action-primary) 6%, var(--om-surface-panel));
}

.artifact-notice strong,
.artifact-notice b { color: var(--om-text-primary); }

/* Public profile and rivalry links use the same city shell as the Codex and Arena. */
.share-page {
  isolation: isolate;
  position: relative;
  background: var(--om-surface-canvas);
}
.share-page::before,
.share-page::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}
.share-page::before {
  z-index: 0;
  background: url("/art/hero-poster.jpg") center 62% / cover no-repeat;
  opacity: .44;
}
.share-page::after {
  z-index: 1;
  background:
    radial-gradient(110% 82% at 50% 34%, rgb(14 13 14 / 68%), rgb(10 9 9 / 94%) 67%, var(--om-surface-canvas) 100%),
    linear-gradient(180deg, transparent 54%, rgb(10 9 9 / 84%));
}
.share-shell {
  position: relative;
  z-index: 2;
  min-height: calc(100svh - 58px);
  display: grid;
  place-items: center;
  padding: clamp(28px, 6vw, 72px) 18px;
}
.share-wrap { width: min(100%, 780px); text-align: center; }
.share-heading {
  margin: 0 0 18px;
  color: var(--om-action-primary);
  font: 600 clamp(14px, 2vw, 16px)/1.25 var(--om-font-display);
  letter-spacing: .26em;
  text-transform: uppercase;
  text-wrap: balance;
}
.share-heading--blood { color: var(--om-status-danger); }
.share-card {
  width: 100%;
  margin-bottom: 24px;
  overflow: hidden;
  border: 1px solid var(--om-border-strong);
  border-radius: var(--om-radius-md);
  background: var(--om-surface-panel);
  box-shadow: 0 26px 70px -34px rgb(0 0 0 / 96%);
  animation: om-share-card-in var(--duration-slow) var(--ease-smooth-out) both;
}
.share-card svg { display: block; width: 100%; height: auto; }
@keyframes om-share-card-in {
  from { opacity: 0; filter: blur(var(--blur-small)); transform: translateY(var(--distance-medium)) scale(var(--scale-close)); }
  to { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); }
}
.share-avatar {
  display: block;
  width: 96px;
  height: 96px;
  margin: 0 auto 16px;
  border: 2px solid var(--om-action-primary);
  border-radius: 50%;
  background: var(--om-surface-canvas);
  box-shadow: 0 14px 36px -18px rgb(0 0 0 / 100%);
}
.share-dossier,
.share-page .dossier {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 22px;
}
.share-stat {
  min-width: 84px;
  padding: 9px 14px;
  border: 1px solid var(--om-border-subtle);
  border-radius: var(--om-radius-sm);
  background: color-mix(in srgb, var(--om-surface-panel) 86%, transparent);
}
.share-stat__value {
  color: var(--om-action-primary);
  font: 600 20px/1.15 var(--om-font-display);
}
.share-stat__value--compact { font-size: 15px; }
.share-stat__label {
  margin-top: 3px;
  color: var(--om-text-muted);
  font: 600 10px/1.3 var(--om-font-data);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.share-stat--warning .share-stat__value { color: var(--om-status-warning); }
.share-cta {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 30px;
  border: 1px solid var(--om-action-primary);
  border-radius: var(--om-radius-sm);
  background: var(--om-action-primary);
  color: var(--om-surface-canvas);
  font: 600 clamp(16px, 3vw, 19px)/1 var(--om-font-display);
  letter-spacing: .05em;
  text-decoration: none;
  transition:
    border-color var(--duration-quick) var(--ease-out),
    background-color var(--duration-quick) var(--ease-out),
    box-shadow var(--duration-fast) var(--ease-smooth-out),
    transform var(--duration-micro) var(--ease-out);
}
.share-cta:hover {
  border-color: var(--om-action-primary-hover);
  background: var(--om-action-primary-hover);
  box-shadow: 0 14px 34px -22px rgb(224 189 114 / 76%);
  transform: translateY(-1px);
}
.share-cta:active { transform: translateY(1px) scale(var(--scale-close)); }
.share-copy {
  max-width: 58ch;
  margin: 16px auto 0;
  color: var(--om-text-muted);
  font-size: var(--om-type-body);
  line-height: 1.6;
}
.share-copy--story { margin-top: 20px; font-size: 15px; }
.share-copy b { color: var(--om-action-primary); font-weight: 600; }
.share-copy--bio { font-style: italic; }

.public-page button,
.public-page summary { min-height: var(--om-target-min); }

.public-page footer a {
  min-height: var(--om-target-min);
  display: inline-flex;
  align-items: center;
}

.public-page summary {
  display: flex;
  align-items: center;
}

.table-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--om-border-subtle);
  border-radius: var(--om-radius-sm);
}

.table-scroll > table { margin: 0 !important; border: 0 !important; }

body.modal-open { overflow: hidden; }

.act[aria-busy="true"] {
  position: relative;
  padding-inline-end: 34px !important;
  cursor: progress !important;
}

.act[aria-busy="true"]::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 50%;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border: 1.5px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: om-spin .7s linear infinite;
}

@keyframes om-spin { to { transform: rotate(360deg); } }

#toast.show { pointer-events: auto; }
#toast .toast-act,
#toast .toast-x { min-height: var(--om-target-min); }
#top .help { padding: 0; background: transparent; font-family: var(--om-font-data); }

#tabpanel {
  background: linear-gradient(180deg, var(--panel2), var(--panel));
}

#sheet,
#wirepanel { border-top-color: color-mix(in srgb, var(--om-action-primary) 38%, var(--line)); }

.modal[role="dialog"] { outline: 0; }

.loading-skeleton {
  overflow: hidden;
  position: relative;
  color: transparent !important;
  background: var(--om-surface-panel);
}

.loading-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 15%, rgb(255 255 255 / 7%) 45%, transparent 75%);
  transform: translateX(-100%);
  animation: om-skeleton 1.5s linear infinite;
}

@keyframes om-skeleton { to { transform: translateX(100%); } }

/* Landing: the threshold is cinematic; proof and choices arrive immediately after. */
#screen-auth.landing {
  max-width: none;
  padding: 0;
}

#screen-auth .public-nav { padding-inline: max(16px, calc((100vw - 1120px) / 2)); }

#screen-auth #landing-main,
#screen-auth .lfoot {
  width: min(100% - 32px, 1080px);
  margin-inline: auto;
}

#screen-auth .hero {
  min-height: min(760px, calc(100vh - 58px - var(--om-safe-area-top)));
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-content: center;
  padding-block: clamp(72px, 12vh, 132px);
}

#screen-auth .hero > * { min-width: 0; max-width: 100%; }
#screen-auth .hero > .hero-art,
#screen-auth .hero > .herovid { max-width: none; }
#screen-auth .hero .wire-ticker { width: 100%; }
#screen-auth .hero #wire-line { min-width: 0; }
#screen-auth #btn-guest {
  background: var(--om-action-primary);
  border-color: var(--om-action-primary-hover);
  color: var(--om-surface-canvas);
  font-weight: 800;
  text-shadow: none;
  box-shadow: 0 12px 30px -16px rgb(0 0 0 / 90%), 0 0 26px rgb(205 166 83 / 22%);
}
#screen-auth #btn-guest:hover { background: var(--om-action-primary-hover); color: var(--om-surface-canvas); }
#screen-auth .hero .tag { max-width: 760px; }
#screen-auth .hero .sub2 { max-width: 680px; }
#screen-auth summary { min-height: var(--om-target-min); display: flex; align-items: center; }

#screen-auth .landing-routes { margin-block: var(--om-space-5) var(--om-space-7); }
#screen-auth .landing-routes strong { font-family: var(--om-font-display); letter-spacing: .04em; }
#screen-auth .pill-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.landing-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: -1px 0 var(--om-space-6);
  border: 1px solid var(--om-border-subtle);
  background: var(--om-surface-sunken);
}

.landing-proof > div {
  padding: 14px 16px;
  border-right: 1px solid var(--om-border-subtle);
}

.landing-proof > div:last-child { border-right: 0; }
.landing-proof b { display: block; font: 600 var(--om-type-label)/1.3 var(--om-font-data); color: var(--om-text-primary); }
.landing-proof span { display: block; margin-top: 3px; font-size: var(--om-type-public); color: var(--om-text-muted); }

/* The agent story reads as a case file: one system map, a ruled brief, and two evidence plates. */
.agent-showcase {
  margin: clamp(34px, 7vw, 76px) 0;
  padding: clamp(28px, 5vw, 54px) 0;
  border-block: 1px solid var(--om-border-strong);
  text-align: left;
}

.agent-showcase__head {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: end;
}

.agent-showcase__head h2 { margin: 7px 0 0; }
.agent-showcase__head p { max-width: 62ch; margin: 0; color: var(--om-text-secondary); font-size: var(--om-type-public); line-height: 1.65; }
.agent-showcase__status {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 20px 0 14px;
  padding-block: 10px;
  border-block: 1px solid var(--om-border-subtle);
  color: var(--om-text-muted);
  font: 750 var(--om-type-meta)/1.35 var(--om-font-data);
  letter-spacing: .07em;
}
.agent-showcase__status span::before { content: "•"; margin-right: 7px; color: var(--om-text-faint); }
.agent-showcase__status .is-live::before { color: var(--om-status-success); }
.agent-showcase__status .is-gated::before { color: var(--om-status-warning); }

.agent-showcase__overview { margin: 0; }
.agent-showcase__overview > a,
.agent-showcase__overview picture { display: block; }
.agent-showcase__overview > a {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--om-border-strong);
  background: var(--om-surface-sunken);
}
.agent-showcase__overview img { display: block; width: 100%; height: 100%; object-fit: cover; }
.agent-showcase__overview figcaption {
  padding: 9px 0 10px;
  border-bottom: 1px solid var(--om-border-subtle);
  color: var(--om-text-muted);
  font: 700 var(--om-type-meta)/1.4 var(--om-font-data);
  letter-spacing: .07em;
}

.agent-showcase__body {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 4vw, 52px);
  margin-top: clamp(24px, 4vw, 42px);
}
.agent-showcase__brief dl { margin: 0; }
.agent-showcase__brief dl > div { padding: 13px 0; border-top: 1px solid var(--om-border-subtle); }
.agent-showcase__brief dl > div:last-child { border-bottom: 1px solid var(--om-border-subtle); }
.agent-showcase__brief dt { color: var(--om-action-primary); font: 750 var(--om-type-label)/1.35 var(--om-font-data); letter-spacing: .07em; }
.agent-showcase__brief dd { margin: 4px 0 0; color: var(--om-text-secondary); font-size: var(--om-type-body); line-height: 1.55; }
.agent-showcase__actions { display: flex; flex-wrap: wrap; gap: 13px 18px; align-items: center; margin-top: 20px; }
.agent-showcase__text-link { color: var(--om-text-secondary); font: 700 var(--om-type-label)/1.35 var(--om-font-data); letter-spacing: .04em; }
.agent-showcase__text-link:hover { color: var(--om-action-primary-hover); }

.agent-showcase__rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; min-width: 0; }
.agent-showcase__plate { min-width: 0; color: var(--om-text-secondary); text-decoration: none; }
.agent-showcase__plate picture {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border: 1px solid var(--om-border-subtle);
  background: var(--om-surface-sunken);
}
.agent-showcase__plate img { display: block; width: 100%; height: 100%; object-fit: cover; }
.agent-showcase__plate span { display: block; padding-top: 8px; font: 700 var(--om-type-meta)/1.4 var(--om-font-data); letter-spacing: .05em; }
.agent-showcase__overview > a:focus-visible,
.agent-showcase__plate:focus-visible,
.agent-showcase__text-link:focus-visible { outline: 2px solid var(--om-action-primary); outline-offset: 4px; }
.agent-showcase__overview > a:hover,
.agent-showcase__plate:hover picture { border-color: var(--om-action-primary); }

#screen-auth .signin .sub,
#screen-auth #invite-row .sub { font-size: var(--om-type-body); line-height: 1.55; }
#screen-auth .signin button { font-size: var(--om-type-body); }
#screen-auth .signin input,
#screen-auth #invite-row input { font-size: var(--om-type-public); }

.landing .band--ledger { text-align: left; }
.landing .band--ledger p { max-width: 74ch; margin-inline: 0; }
.landing .band--ledger details { margin-top: 14px; }
.landing .band--ledger summary { color: var(--om-action-primary); cursor: pointer; font-family: var(--om-font-data); }

.dossier-create {
  width: min(100% - 28px, 520px);
  margin: clamp(42px, 10vh, 110px) auto;
  padding: 28px;
  text-align: left;
  border: 1px solid var(--om-border-strong);
  border-top: 3px solid var(--om-action-primary);
  background: linear-gradient(155deg, var(--om-surface-raised), var(--om-surface-panel));
  box-shadow: var(--om-shadow-raised);
}

.dossier-create h1 { margin-top: 0; }
.dossier-create label { display: block; margin: 14px 0 5px; color: var(--om-text-secondary); font: 600 var(--om-type-label)/1.3 var(--om-font-data); letter-spacing: .06em; text-transform: uppercase; }
.dossier-create input { width: 100% !important; }
.dossier-create .dossier-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.dossier-create .dossier-note { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--om-border-subtle); font-size: var(--om-type-body); }
.dossier-create .field-hint { margin: 5px 0 0; color: var(--om-text-muted); font-size: var(--om-type-body); }
.dossier-create .field-error { min-height: 1.4em; margin: 7px 0 0; color: var(--om-status-danger); font: 600 var(--om-type-body)/1.4 var(--om-font-data); }
.dossier-create .referral { margin-top: 14px; border-top: 1px solid var(--om-border-subtle); }
.dossier-create .referral summary { color: var(--om-text-muted); cursor: pointer; font-size: var(--om-type-body); }

/* Operational readability overrides the legacy console's compact literals. These selectors are
   intentionally semantic and late in the cascade so shared content reads at the documented floor. */
#screen-main .card { font-size: var(--om-type-body); }
#screen-main .card .d,
#screen-main .rank .d,
#screen-main #coach .ch,
#screen-main #coach .c5 .d { font-size: var(--om-type-body) !important; line-height: 1.5; }
#screen-main .panel h2,
#screen-main #grouprail button { font-size: var(--om-type-label); }
#screen-main .chip,
#screen-main #coach .cwho,
#screen-main #coach .c5 .c5t { font-size: var(--om-type-meta); }
#screen-main #online-badge { font-size: var(--om-type-label); }

/* Your Turn is an operation ledger, not another dashboard card. The current order leads; state and
   resources sit on its baseline; each response leaves a compact receipt directly underneath. */
#operation-desk { margin: 0 0 8px; }
#operation-desk #coach {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 0;
  border-radius: var(--om-radius-md) var(--om-radius-md) 0 0;
  box-shadow: none;
}
#operation-desk #coach:has(.cplan) { grid-template-columns: minmax(0, 1.65fr) minmax(250px, .85fr); column-gap: 22px; }
.operation-desk__eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 5px; }
#operation-desk .operation-desk__eyebrow { grid-column: 1 / -1; }
#operation-desk #coach .cl { color: var(--om-text-primary); font: 650 var(--om-type-title)/1.25 var(--om-font-data); }
#operation-desk #coach .ch { max-width: 86ch; margin-block: 4px 8px; color: var(--om-text-secondary); }
.operation-state {
  flex: none;
  padding: 2px 7px;
  border: 1px solid var(--om-border-strong);
  color: var(--om-text-secondary);
  font: 700 var(--om-type-meta)/1.3 var(--om-font-data);
  letter-spacing: .08em;
}
.operation-state--ready { border-color: color-mix(in srgb, var(--om-status-success) 52%, var(--om-border-subtle)); color: var(--om-status-success); }
.operation-state--caution { border-color: color-mix(in srgb, var(--om-status-warning) 60%, var(--om-border-subtle)); color: var(--om-status-warning); }
.operation-state--blocked { border-color: color-mix(in srgb, var(--om-status-danger) 62%, var(--om-border-subtle)); color: var(--om-status-danger); }
.operation-readiness { margin: 0 0 8px; color: var(--om-text-muted); font-size: var(--om-type-body); }
.operation-resources { display: flex; flex-wrap: wrap; gap: 5px 14px; margin: 0 0 9px; color: var(--om-text-muted); font: var(--om-type-label)/1.4 var(--om-font-data); }
.operation-resources span { white-space: nowrap; }
.operation-resources b { color: var(--om-text-primary); font-weight: 700; }
#operation-desk #coach-go { justify-self: start; padding: 7px 13px; font-size: var(--om-type-label); }
#operation-desk #coach .cplan {
  grid-column: 2;
  grid-row: 2 / span 7;
  align-self: stretch;
  margin-top: 0;
  padding-left: 16px;
  border-left: 1px solid var(--om-border-subtle);
}
.operation-action-terms { margin-block: 5px 8px; }
.operation-terms { color: var(--om-text-secondary) !important; font-size: var(--om-type-body) !important; line-height: 1.45; }
.operation-terms b { color: var(--om-text-primary); font-family: var(--om-font-data); font-size: var(--om-type-label); letter-spacing: .04em; }
.operation-choice-terms { margin-top: 3px; color: var(--om-text-muted) !important; font-size: var(--om-type-body) !important; line-height: 1.45; }
.operation-choice-terms b { color: var(--om-text-secondary); font-family: var(--om-font-data); font-size: var(--om-type-label); }
.operation-pending {
  padding: 7px 11px;
  border: 1px solid var(--om-action-primary);
  border-top: 0;
  background: var(--om-surface-sunken);
  color: var(--om-action-primary);
  font: 650 var(--om-type-body)/1.35 var(--om-font-data);
}
.operation-desk__history {
  padding: 8px 10px 9px;
  border: 1px solid var(--om-border-subtle);
  border-top: 0;
  background: color-mix(in srgb, var(--om-surface-sunken) 72%, transparent);
}
.operation-desk__history-title { margin-bottom: 5px; color: var(--om-text-muted); font: 650 var(--om-type-meta)/1.3 var(--om-font-data); letter-spacing: .09em; }
#operation-feed { min-width: 0; }
.operation-feed__empty { margin: 0; color: var(--om-text-muted); font-size: var(--om-type-body); }
.operation-receipt { padding: 7px 8px; border-left: 2px solid var(--om-border-strong); background: color-mix(in srgb, var(--om-surface-panel) 78%, transparent); }
.operation-receipt--success { border-left-color: var(--om-status-success); }
.operation-receipt--error { border-left-color: var(--om-status-danger); }
.operation-receipt__head { display: flex; align-items: baseline; gap: 7px; min-width: 0; font: var(--om-type-label)/1.35 var(--om-font-data); }
.operation-receipt__head b { min-width: 0; overflow: hidden; color: var(--om-text-primary); text-overflow: ellipsis; white-space: nowrap; }
.operation-receipt__head time { margin-left: auto; color: var(--om-text-muted); font-size: var(--om-type-meta); white-space: nowrap; }
.operation-receipt__mark { color: var(--om-status-success); font-weight: 800; }
.operation-receipt--error .operation-receipt__mark { color: var(--om-status-danger); }
.operation-receipt__summary { margin-top: 2px; color: var(--om-text-secondary); font-size: var(--om-type-body); line-height: 1.4; }
.operation-receipt__delta { margin-top: 3px; color: var(--om-action-primary); font: var(--om-type-label)/1.35 var(--om-font-data); }
.operation-receipt__recovery { display: flex; align-items: center; gap: 8px; margin-top: 6px; color: var(--om-text-secondary); font-size: var(--om-type-body); line-height: 1.4; }
.operation-receipt__recovery span { flex: 1; min-width: 0; }
.operation-feed__earlier { margin-top: 5px; border-top: 1px solid var(--om-border-subtle); }
.operation-feed__earlier summary { min-height: var(--om-target-min); padding-block: 6px; color: var(--om-text-muted); cursor: pointer; font-size: var(--om-type-body); }
.operation-feed__earlier .operation-receipt + .operation-receipt { margin-top: 5px; }
#operation-desk[aria-busy="true"] #coach { border-color: var(--om-action-primary); }

/* THE CAPITAL DESK — one ruled finance instrument for every $OMR / chain surface. It deliberately
   avoids the generic dashboard-card pile: the launch, balances, readiness and live market lenses are
   regions of one ledger, with a single compact index into the existing operational controls below. */
#top .capital-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-color: color-mix(in srgb, var(--om-color-green-400) 42%, var(--om-border-strong));
  color: var(--om-color-green-400);
  font-family: var(--om-font-data);
  font-variant-numeric: tabular-nums;
}
#top .capital-trigger:hover { border-color: var(--om-color-green-400); color: var(--om-text-primary); }
.capital-trigger__mark { font-weight: 800; letter-spacing: .06em; }
.capital-trigger__label { color: var(--om-text-muted); font-size: var(--om-type-meta); letter-spacing: .08em; text-transform: uppercase; }
.capital-trigger__balance { color: var(--om-text-primary); font-size: var(--om-type-label); }

.capital-desk {
  margin: 0 0 var(--om-space-4);
  scroll-margin-top: 76px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--om-color-green-400) 34%, var(--om-border-subtle));
  border-radius: var(--om-radius-md);
  background: var(--om-surface-sunken);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 3%);
}
.capital-desk__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--om-space-4);
  padding: var(--om-space-4);
  border-bottom: 1px solid var(--om-border-subtle);
  background: color-mix(in srgb, var(--om-color-green-400) 5%, var(--om-surface-panel));
}
.capital-desk__eyebrow {
  display: block;
  margin-bottom: 4px;
  color: var(--om-color-green-400);
  font: 750 var(--om-type-meta)/1.3 var(--om-font-data);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.capital-desk__title {
  margin: 0;
  color: var(--om-text-primary);
  font: 650 24px/1.1 var(--om-font-display);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.capital-desk__lede { max-width: 68ch; margin: 6px 0 0; color: var(--om-text-secondary); font-size: var(--om-type-body); }
.capital-state {
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid var(--om-border-strong);
  color: var(--om-text-secondary);
  font: 750 var(--om-type-meta)/1.3 var(--om-font-data);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.capital-state--live { border-color: color-mix(in srgb, var(--om-status-success) 55%, var(--om-border-subtle)); color: var(--om-status-success); }
.capital-state--closed { border-color: color-mix(in srgb, var(--om-status-warning) 58%, var(--om-border-subtle)); color: var(--om-status-warning); }
.capital-state--failed { border-color: color-mix(in srgb, var(--om-status-danger) 60%, var(--om-border-subtle)); color: var(--om-status-danger); }

.capital-nav {
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--om-border-subtle);
}
.capital-nav a {
  min-height: var(--om-target-min);
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 8px 13px;
  border-right: 1px solid var(--om-border-subtle);
  color: var(--om-text-muted);
  font: 700 var(--om-type-meta)/1.2 var(--om-font-data);
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}
.capital-nav a:hover { color: var(--om-text-primary); background: var(--om-surface-raised); }

.capital-ledger { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(220px, .75fr); }
.capital-launch { min-width: 0; padding: var(--om-space-4); border-right: 1px solid var(--om-border-subtle); }
.capital-block-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--om-space-3);
  margin-bottom: 8px;
  color: var(--om-text-muted);
  font: 700 var(--om-type-meta)/1.3 var(--om-font-data);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.capital-block-label b { color: var(--om-text-primary); font-weight: 750; letter-spacing: .04em; }
.capital-progress {
  position: relative;
  height: 12px;
  overflow: hidden;
  border: 1px solid var(--om-border-subtle);
  background: var(--om-surface-canvas);
}
.capital-progress__fill {
  display: block;
  width: var(--capital-progress, 0%);
  height: 100%;
  background: var(--om-color-green-400);
}
.capital-progress--gold .capital-progress__fill {
  background: var(--om-action-primary);
}
.capital-stages {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  margin-top: 8px;
}
.capital-stage { min-width: 0; color: var(--om-text-faint); font: var(--om-type-meta)/1.25 var(--om-font-data); }
.capital-stage::before { content: "○"; margin-right: 3px; }
.capital-stage--done { color: var(--om-status-success); }
.capital-stage--done::before { content: "●"; }
.capital-stage--current { color: var(--om-text-primary); font-weight: 750; }
.capital-stage--current::before { content: "◆"; color: var(--om-action-primary); }
.capital-launch__note { margin: 8px 0 0; color: var(--om-text-muted); font-size: var(--om-type-body); line-height: 1.45; }

.capital-readiness { padding: var(--om-space-4); }
.capital-readiness__row {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: baseline;
  padding: 7px 0;
  border-bottom: 1px dashed var(--om-border-subtle);
  color: var(--om-text-secondary);
  font: var(--om-type-label)/1.35 var(--om-font-data);
}
.capital-readiness__row:last-child { border-bottom: 0; }
.capital-readiness__mark { color: var(--om-status-success); font-weight: 800; }
.capital-readiness__row.is-blocked .capital-readiness__mark { color: var(--om-status-warning); }
.capital-readiness__row small { color: var(--om-text-muted); font-size: var(--om-type-meta); text-align: right; }

.capital-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--om-border-subtle);
}
.capital-metric { min-width: 0; padding: 12px var(--om-space-4); border-right: 1px solid var(--om-border-subtle); }
.capital-metric:last-child { border-right: 0; }
.capital-metric__label { display: block; color: var(--om-text-muted); font: 700 var(--om-type-meta)/1.3 var(--om-font-data); letter-spacing: .08em; text-transform: uppercase; }
.capital-metric__value { display: block; margin-top: 3px; color: var(--om-text-primary); font: 750 18px/1.2 var(--om-font-data); font-variant-numeric: tabular-nums; }
.capital-metric__value.is-money { color: var(--om-color-green-400); }
.capital-metric__note { display: block; margin-top: 3px; color: var(--om-text-faint); font-size: var(--om-type-meta); line-height: 1.35; }

.capital-markets { border-top: 1px solid var(--om-border-subtle); }
.capital-market {
  display: grid;
  grid-template-columns: minmax(130px, .7fr) minmax(0, 1.5fr) auto;
  gap: var(--om-space-3);
  align-items: center;
  padding: 10px var(--om-space-4);
  border-bottom: 1px solid var(--om-border-subtle);
}
.capital-market:last-child { border-bottom: 0; }
.capital-market__name { color: var(--om-text-primary); font: 750 var(--om-type-label)/1.35 var(--om-font-data); }
.capital-market__body { min-width: 0; color: var(--om-text-muted); font-size: var(--om-type-body); line-height: 1.4; }
.capital-market__value { color: var(--om-text-secondary); font: 750 var(--om-type-label)/1.3 var(--om-font-data); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.capital-market__value.is-live { color: var(--om-status-success); }
.capital-market__value.is-closed { color: var(--om-status-warning); }

.capital-desk-board { margin: var(--om-space-4) 0; scroll-margin-top: 76px; }
.capital-desk-board__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--om-border-subtle); }
.capital-desk-board__cell { min-width: 0; padding: 11px 13px; border-right: 1px solid var(--om-border-subtle); }
.capital-desk-board__cell:last-child { border-right: 0; }
.capital-desk-board__cell span { display: block; color: var(--om-text-muted); font: 700 var(--om-type-meta)/1.3 var(--om-font-data); letter-spacing: .07em; text-transform: uppercase; }
.capital-desk-board__cell b { display: block; margin-top: 3px; color: var(--om-text-primary); font: 750 var(--om-type-body)/1.35 var(--om-font-data); font-variant-numeric: tabular-nums; }
.capital-desk-board__note { margin: 8px 0 0; color: var(--om-text-muted); font-size: var(--om-type-body); }
.capital-anchor { scroll-margin-top: 76px; }

@media (max-width: 900px) {
  .capital-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capital-metric:nth-child(2) { border-right: 0; }
  .capital-metric:nth-child(-n + 2) { border-bottom: 1px solid var(--om-border-subtle); }
}

@media (max-width: 760px) {
  #top .capital-trigger { order: 2; padding-inline: 9px; }
  #top .capital-trigger__label { display: none; }
  .capital-desk__head { padding: 13px; }
  .capital-desk__title { font-size: 20px; }
  .capital-ledger { grid-template-columns: 1fr; }
  .capital-launch { padding: 13px; border-right: 0; border-bottom: 1px solid var(--om-border-subtle); }
  .capital-readiness { padding: 8px 13px 10px; }
  .capital-stages { grid-template-columns: repeat(5, minmax(58px, 1fr)); overflow-x: auto; padding-bottom: 3px; }
  .capital-metric { padding: 10px 12px; }
  .capital-market { grid-template-columns: minmax(96px, .7fr) minmax(0, 1.3fr); padding: 10px 12px; }
  .capital-market__value { grid-column: 2; text-align: left; }
  .capital-desk-board__grid { grid-template-columns: 1fr; }
  .capital-desk-board__cell { border-right: 0; border-bottom: 1px solid var(--om-border-subtle); }
  .capital-desk-board__cell:last-child { border-bottom: 0; }
}

@media (max-width: 390px) {
  #top .capital-trigger__balance { display: none; }
  .capital-desk__head { align-items: stretch; flex-direction: column; gap: 8px; }
  .capital-state { align-self: flex-start; }
}

@media (forced-colors: active) {
  .capital-desk,
  .capital-desk-board__grid,
  .capital-progress { border: 1px solid CanvasText; }
  .capital-progress__fill { background: Highlight; }
}

/* Console feedback: restrained motion clarifies origin, arrival, and completion. */
.tab.on { animation: om-panel-in var(--duration-fast) var(--ease-smooth-out) both; }
@keyframes om-panel-in {
  from { opacity: 0; filter: blur(var(--blur-micro)); transform: translateY(var(--distance-base)); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}
.modal-bg:not(.hidden) { animation: om-backdrop-in var(--duration-quick) var(--ease-out) both; }
.modal-bg:not(.hidden) .modal { animation: om-modal-in var(--duration-fast) var(--ease-smooth-out) both; }
@keyframes om-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes om-modal-in {
  from { opacity: 0; filter: blur(var(--blur-small)); transform: translateY(var(--distance-base)) scale(var(--scale-modal)); }
  to { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); }
}
#toast {
  filter: blur(var(--blur-micro));
  transition:
    opacity var(--duration-medium) var(--ease-out),
    transform var(--duration-medium) var(--ease-out),
    filter var(--duration-quick) var(--ease-out);
}
#toast.show {
  filter: blur(0);
  transition-duration: var(--duration-slow), var(--duration-slow), var(--duration-quick);
  transition-timing-function: var(--ease-smooth-out), var(--ease-smooth-out), var(--ease-out);
}
#installbar { animation: om-install-in var(--duration-slow) var(--ease-smooth-out) both; }
#installbar .installbar__icon { flex: 0 0 auto; border-radius: var(--om-radius-md); }
#installbar .installbar__copy { line-height: 1.35; }
#installbar .installbar__detail { margin-top: 2px; color: var(--om-text-muted); font-size: var(--om-type-meta); }
#installbar.is-leaving {
  pointer-events: none;
  animation: om-install-out var(--duration-quick) var(--ease-in-out) both;
}
@keyframes om-install-in {
  from { opacity: 0; filter: blur(var(--blur-small)); transform: translate(-50%, var(--distance-medium)) scale(var(--scale-close)); }
  to { opacity: 1; filter: blur(0); transform: translate(-50%, 0) scale(1); }
}
@keyframes om-install-out {
  from { opacity: 1; transform: translate(-50%, 0) scale(1); }
  to { opacity: 0; transform: translate(-50%, var(--distance-base)) scale(var(--scale-close)); }
}
#operation-feed > .operation-receipt:first-child {
  animation: om-receipt-in var(--duration-fast) var(--ease-smooth-out) both;
}
@keyframes om-receipt-in {
  from { opacity: 0; transform: translateY(var(--distance-small)); }
  to { opacity: 1; transform: translateY(0); }
}
.act:not(:disabled):active { transform: translateY(1px) scale(var(--scale-close)); }

@media (max-width: 760px) {
  #operation-desk #coach:has(.cplan) { grid-template-columns: 1fr; }
  #operation-desk #coach .cplan { grid-column: 1; grid-row: auto; padding-left: 0; border-left: 0; }
  .operation-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 10px; }
  .operation-receipt__recovery { align-items: stretch; flex-direction: column; }
  .operation-receipt__recovery .act { align-self: flex-start; }
}

@media (max-width: 760px) {
  #operation-desk #coach,
  #operation-desk #coach:has(.cplan) { grid-template-columns: minmax(0, 1fr) auto; }
  #operation-desk #coach .operation-desk__eyebrow,
  #operation-desk #coach .ch,
  #operation-desk #coach .c5,
  #operation-desk #coach .cplan,
  #operation-desk #coach .operation-readiness,
  #operation-desk #coach .operation-resources { display: none; }
  #operation-desk:not(:has(.operation-receipt)) .operation-desk__history { display: none; }
}

/* THE CONTENT DESK. One municipal working file, not a dashboard pile: the index behaves like a
   drawer of dossiers and the right side is the currently opened record. Authored state remains
   documentary and compact while every human action keeps a full-size target. */
#tab-desk { color: var(--om-text-secondary); }
.content-desk {
  --desk-rule: color-mix(in srgb, var(--om-action-primary) 22%, var(--om-border-subtle));
  min-width: 0;
  border: 1px solid var(--om-border-strong);
  border-top-color: var(--om-action-primary);
  border-radius: var(--om-radius-md);
  background: var(--om-surface-sunken);
}
.content-desk.is-loading { cursor: progress; }
.desk-mast {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--om-space-4);
  padding: clamp(18px, 3vw, 30px);
  border-bottom: 1px solid var(--desk-rule);
  background: color-mix(in srgb, var(--om-action-primary) 4%, var(--om-surface-panel));
}
.desk-mast h1,
.desk-file-head h2,
.desk-archive__lead h2 {
  margin: 4px 0 0;
  color: var(--om-text-primary);
  font-family: var(--om-font-display);
  font-weight: 600;
  letter-spacing: .035em;
}
.desk-mast h1 { font-size: clamp(26px, 4vw, 42px); line-height: 1; }
.desk-mast p,
.desk-archive__lead p { max-width: 68ch; margin: 9px 0 0; color: var(--om-text-muted); line-height: 1.55; }
.desk-kicker {
  display: block;
  color: var(--om-action-primary);
  font: 750 var(--om-type-meta)/1.35 var(--om-font-data);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.desk-refresh { flex: 0 0 auto; }
.desk-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--om-border-subtle);
  background: var(--om-surface-panel);
}
.desk-summary > div { min-width: 0; padding: 12px 16px; border-right: 1px solid var(--om-border-subtle); }
.desk-summary > div:last-child { border-right: 0; }
.desk-summary b { display: block; color: var(--om-text-primary); font: 750 18px/1.15 var(--om-font-data); font-variant-numeric: tabular-nums; }
.desk-summary span { display: block; margin-top: 3px; color: var(--om-text-muted); font: var(--om-type-meta)/1.3 var(--om-font-data); letter-spacing: .045em; }
.desk-nav {
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--om-border-strong);
  background: var(--om-surface-sunken);
  scrollbar-width: thin;
}
.desk-nav button {
  position: relative;
  min-width: 112px;
  min-height: var(--om-target-min);
  padding: 10px 16px;
  border: 0;
  border-right: 1px solid var(--om-border-subtle);
  color: var(--om-text-muted);
  background: transparent;
  font: 750 var(--om-type-label)/1 var(--om-font-data);
  letter-spacing: .055em;
  cursor: pointer;
}
.desk-nav button::after { content: ''; position: absolute; inset: auto 12px 0; height: 2px; background: transparent; }
.desk-nav button:hover { color: var(--om-text-primary); background: var(--om-surface-panel); }
.desk-nav button.on { color: var(--om-action-primary); background: var(--om-surface-panel); }
.desk-nav button.on::after { background: var(--om-action-primary); }
.desk-layout { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); min-width: 0; }
.desk-index { min-width: 0; border-right: 1px solid var(--om-border-strong); background: color-mix(in srgb, var(--om-surface-panel) 74%, var(--om-surface-sunken)); }
.desk-file {
  position: relative;
  display: grid;
  gap: 6px;
  width: 100%;
  min-height: 94px;
  padding: 15px 42px 15px 16px;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--om-border-subtle);
  color: var(--om-text-secondary);
  background: transparent;
  cursor: pointer;
}
.desk-file::after { content: '›'; position: absolute; top: 50%; right: 15px; color: var(--om-text-faint); font: 24px/1 var(--om-font-data); transform: translateY(-50%); }
.desk-file:hover { background: var(--om-surface-raised); }
.desk-file.on { background: var(--om-surface-raised); box-shadow: inset 3px 0 0 var(--om-action-primary); }
.desk-file.on::after { color: var(--om-action-primary); }
.desk-file > b { overflow-wrap: anywhere; color: var(--om-text-primary); font: 650 var(--om-type-body)/1.35 var(--om-font-data); }
.desk-file__ref { color: var(--om-text-faint); font: 700 var(--om-type-meta)/1.2 var(--om-font-data); letter-spacing: .09em; }
.desk-file .desk-stamp { justify-self: start; }
.desk-detail { min-width: 0; padding: clamp(18px, 3vw, 30px); background: var(--om-surface-sunken); }
.desk-file-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--desk-rule); }
.desk-file-head h2 { max-width: 24ch; font-size: clamp(22px, 3vw, 31px); line-height: 1.12; }
.desk-stamp {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 7px;
  border: 1px solid var(--om-border-strong);
  color: var(--om-text-muted);
  font: 750 10px/1.15 var(--om-font-data);
  letter-spacing: .075em;
  text-transform: uppercase;
  white-space: nowrap;
}
.desk-stamp--ready { border-color: color-mix(in srgb, var(--om-status-success) 54%, var(--om-border-subtle)); color: var(--om-status-success); }
.desk-stamp--notice { border-color: color-mix(in srgb, var(--om-status-info) 52%, var(--om-border-subtle)); color: var(--om-status-info); }
.desk-stamp--caution { border-color: color-mix(in srgb, var(--om-status-warning) 54%, var(--om-border-subtle)); color: var(--om-status-warning); }
.desk-stamp--locked { border-color: color-mix(in srgb, var(--om-status-danger) 56%, var(--om-border-subtle)); color: var(--om-status-danger); }
.desk-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 20px; border-bottom: 1px solid var(--om-border-subtle); }
.desk-meta > span { min-width: 0; padding: 12px 10px 12px 0; overflow-wrap: anywhere; color: var(--om-text-secondary); font: var(--om-type-label)/1.4 var(--om-font-data); }
.desk-meta b { display: block; margin-bottom: 3px; color: var(--om-text-faint); font-size: var(--om-type-meta); letter-spacing: .065em; text-transform: uppercase; }
.desk-brief { margin: 0 0 18px; padding: 13px 15px; border: 1px solid var(--desk-rule); background: var(--om-surface-panel); }
.desk-brief p { margin: 5px 0 0; color: var(--om-text-secondary); line-height: 1.5; }
.desk-clear { margin: 0 0 18px; color: var(--om-status-success); font: var(--om-type-label)/1.4 var(--om-font-data); }
.desk-blockers { display: grid; gap: 6px; margin: 10px 0 18px; padding: 0; list-style: none; }
.desk-blockers li { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--om-status-danger) 28%, var(--om-border-subtle)); background: color-mix(in srgb, var(--om-status-danger) 6%, var(--om-surface-panel)); color: var(--om-text-secondary); }
.desk-blockers li > span { color: var(--om-status-danger); font: 800 var(--om-type-label)/1.4 var(--om-font-data); }
.desk-blockers b { display: block; font: 650 var(--om-type-label)/1.4 var(--om-font-data); }
.desk-blockers small { display: block; margin-top: 1px; color: var(--om-text-muted); font: var(--om-type-meta)/1.35 var(--om-font-data); }
.desk-form { margin-top: 18px; padding: 16px; border: 1px solid var(--om-border-subtle); background: var(--om-surface-panel); }
.desk-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.desk-form label,
.desk-prompt label { display: grid; gap: 5px; min-width: 0; color: var(--om-text-secondary); font: 700 var(--om-type-meta)/1.35 var(--om-font-data); letter-spacing: .06em; text-transform: uppercase; }
.desk-form :where(input, select),
.desk-prompt input { width: 100%; min-height: var(--om-target-min); }
.desk-consent { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 9px !important; min-height: var(--om-target-min); margin-top: 9px; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
.desk-consent input { width: 20px; min-height: 20px; margin: 0; }
.desk-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.desk-actions--footer { padding-top: 18px; border-top: 1px solid var(--om-border-subtle); }
.desk-form-note { margin-right: auto; color: var(--om-text-muted); font-size: var(--om-type-body); }
.desk-deadline { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 0; border-bottom: 1px solid var(--om-border-subtle); color: var(--om-text-muted); font: var(--om-type-label)/1.4 var(--om-font-data); }
.desk-deadline .cdt { color: var(--om-status-warning); font-weight: 800; }
.desk-section-static { margin-top: 22px; }
.desk-section-static > h3,
.desk-section-heading h3 { margin: 0 0 10px; color: var(--om-text-primary); font: 650 17px/1.3 var(--om-font-data); }
.desk-roster { border-top: 1px solid var(--om-border-subtle); }
.desk-member { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding: 9px 10px; border-bottom: 1px solid var(--om-border-subtle); }
.desk-member--me { background: color-mix(in srgb, var(--om-action-primary) 5%, transparent); }
.desk-member > div:first-child { min-width: 0; }
.desk-member b,
.desk-member span { display: block; }
.desk-member b { color: var(--om-text-primary); font: 650 var(--om-type-body)/1.3 var(--om-font-data); }
.desk-member > div:first-child span { margin-top: 2px; color: var(--om-text-muted); font-size: var(--om-type-body); }
.desk-member__marks { display: flex; flex: 0 0 auto; gap: 5px; }
.desk-consent-control { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; color: var(--om-text-muted); font-size: var(--om-type-body); }
.desk-progress { margin: 0; padding: 0; list-style: none; }
.desk-progress li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; min-height: 58px; }
.desk-progress__mark { position: relative; width: 10px; height: 10px; margin-top: 5px; border: 2px solid var(--om-border-strong); border-radius: 50%; }
.desk-progress__mark::after { content: ''; position: absolute; top: 9px; left: 3px; width: 1px; height: calc(100% + 39px); background: var(--om-border-subtle); }
.desk-progress li:last-child .desk-progress__mark::after { display: none; }
.desk-progress__completed .desk-progress__mark { border-color: var(--om-status-success); background: var(--om-status-success); }
.desk-progress__available .desk-progress__mark { border-color: var(--om-action-primary); }
.desk-progress b { color: var(--om-text-primary); font: 650 var(--om-type-body)/1.35 var(--om-font-data); }
.desk-progress p { max-width: 78ch; margin: 3px 0; color: var(--om-text-secondary); line-height: 1.5; }
.desk-progress small { color: var(--om-text-faint); font: var(--om-type-meta)/1.35 var(--om-font-data); letter-spacing: .04em; text-transform: uppercase; }
.desk-issued { display: grid; gap: 12px; margin-top: 22px; }
.desk-prompt { padding: 16px; border: 1px solid var(--desk-rule); background: var(--om-surface-panel); }
.desk-prompt h3 { margin: 5px 0 6px; color: var(--om-text-primary); font: 650 18px/1.3 var(--om-font-data); }
.desk-prompt p { max-width: 74ch; margin: 0 0 13px; line-height: 1.55; }
.desk-prompt label { margin: 12px 0; }
.desk-choice-list { display: grid; gap: 10px; margin-top: 13px; }
.desk-choice { padding: 10px; border: 1px solid var(--om-border-strong); background: var(--om-surface-sunken); }
.desk-choice .desk-blockers { margin: 8px 0 0; }
.desk-awards { margin-bottom: 12px; border-top: 1px solid var(--om-border-subtle); }
.desk-awards > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 8px 0; border-bottom: 1px solid var(--om-border-subtle); }
.desk-awards > div > span:first-child { color: var(--om-text-primary); font: 650 var(--om-type-body)/1.35 var(--om-font-data); }
.desk-section { margin-top: 16px; border: 1px solid var(--om-border-subtle); background: var(--om-surface-panel); }
.desk-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--om-target-min); padding: 10px 13px; color: var(--om-text-primary); cursor: pointer; font: 700 var(--om-type-label)/1.35 var(--om-font-data); list-style-position: inside; }
.desk-section > summary small { margin-left: auto; color: var(--om-text-muted); font: var(--om-type-meta)/1.35 var(--om-font-data); }
.desk-section[open] > summary { border-bottom: 1px solid var(--om-border-subtle); }
.desk-section > :not(summary) { margin-inline: 13px; }
.desk-section > .desk-ledger:last-child,
.desk-section > .desk-operation-list:last-child,
.desk-section > .desk-empty-note:last-child { margin-bottom: 13px; }
.desk-ledger { border-top: 1px solid var(--om-border-subtle); }
.desk-ledger-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 58px; padding: 9px 2px; border-bottom: 1px solid var(--om-border-subtle); }
.desk-ledger-row > div { min-width: 0; }
.desk-ledger-row b,
.desk-ledger-row span { display: block; }
.desk-ledger-row > div:first-child b { color: var(--om-text-primary); font: 650 var(--om-type-body)/1.35 var(--om-font-data); }
.desk-ledger-row span { margin-top: 2px; color: var(--om-text-muted); font-size: var(--om-type-body); }
.desk-ledger-row__value { flex: 0 0 auto; text-align: right; }
.desk-ledger-row__value b { color: var(--om-action-primary); font: 750 var(--om-type-label)/1.3 var(--om-font-data); }
.desk-empty-note { margin: 10px 0; color: var(--om-text-muted); font-size: var(--om-type-body); line-height: 1.5; }
.desk-active-job { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 16px; margin: 20px 0; padding: 16px; border: 1px solid color-mix(in srgb, var(--om-status-warning) 48%, var(--om-border-subtle)); background: color-mix(in srgb, var(--om-status-warning) 5%, var(--om-surface-panel)); }
.desk-active-job h3 { margin: 4px 0 0; color: var(--om-text-primary); font: 650 18px/1.3 var(--om-font-data); }
.desk-active-job .desk-item-list { margin-bottom: 0; }
.desk-active-job__clock { min-width: 96px; text-align: right; }
.desk-active-job__clock > span { display: block; color: var(--om-text-faint); font: 750 10px/1.3 var(--om-font-data); letter-spacing: .08em; }
.desk-active-job__clock > :last-child { display: block; margin-top: 3px; color: var(--om-status-warning); font: 800 18px/1.2 var(--om-font-data); }
.desk-operation-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-block: 12px; }
.desk-operation { min-width: 0; padding: 13px; border: 1px solid var(--om-border-subtle); background: var(--om-surface-sunken); }
.desk-operation > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.desk-operation h4 { margin: 3px 0 0; color: var(--om-text-primary); font: 650 var(--om-type-body)/1.35 var(--om-font-data); }
.desk-operation__terms { margin: 10px 0; color: var(--om-text-muted); font-size: var(--om-type-body); }
.desk-operation__terms b { color: var(--om-text-secondary); font-family: var(--om-font-data); }
.desk-operation__flow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; margin-top: 10px; }
.desk-operation__flow > span { color: var(--om-action-primary); font-family: var(--om-font-data); }
.desk-operation__flow > div > span { color: var(--om-text-faint); font: 750 10px/1.3 var(--om-font-data); letter-spacing: .08em; }
.desk-item-list { display: grid; gap: 3px; margin: 5px 0 10px; padding: 0; list-style: none; }
.desk-item-list li { display: flex; justify-content: space-between; gap: 8px; color: var(--om-text-secondary); font-size: var(--om-type-body); }
.desk-item-list b { font-weight: 600; }
.desk-item-list span { color: var(--om-text-faint); font: var(--om-type-meta)/1.4 var(--om-font-data); }
.desk-missing { margin-top: 8px; padding: 7px 9px; border: 1px solid color-mix(in srgb, var(--om-status-warning) 28%, var(--om-border-subtle)); color: var(--om-text-muted); background: var(--om-surface-panel); font-size: var(--om-type-body); }
.desk-missing b { color: var(--om-status-warning); }
.desk-operation .desk-actions { align-self: end; }
.desk-skill-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 16px; border: 1px solid var(--om-border-subtle); background: var(--om-border-subtle); }
.desk-skill-strip > div { padding: 12px; background: var(--om-surface-panel); }
.desk-skill-strip span,
.desk-skill-strip b,
.desk-skill-strip small { display: block; }
.desk-skill-strip span { color: var(--om-text-muted); font-size: var(--om-type-body); }
.desk-skill-strip b { margin-top: 3px; color: var(--om-text-primary); font: 700 var(--om-type-label)/1.35 var(--om-font-data); }
.desk-skill-strip small { margin-top: 2px; color: var(--om-action-primary); font: var(--om-type-meta)/1.35 var(--om-font-data); }
.desk-rule { display: flex; align-items: baseline; gap: 12px; margin: 18px 0; padding: 11px 13px; border: 1px solid var(--desk-rule); background: var(--om-surface-panel); }
.desk-rule b { flex: 0 0 auto; color: var(--om-action-primary); font: 750 var(--om-type-label)/1.4 var(--om-font-data); }
.desk-rule span { color: var(--om-text-muted); font-size: var(--om-type-body); line-height: 1.45; }
.desk-exchange-builder { display: grid; grid-template-columns: minmax(150px, 1fr) 92px auto minmax(150px, 1fr) 92px; align-items: end; gap: 9px; }
.desk-exchange-arrow { align-self: center; color: var(--om-action-primary); font: 750 var(--om-type-label)/1 var(--om-font-data); text-transform: uppercase; }
.desk-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--om-border-subtle); }
.desk-section-heading > span { color: var(--om-text-faint); font: var(--om-type-meta)/1.35 var(--om-font-data); }
.desk-offers { display: grid; gap: 10px; padding-top: 12px; }
.desk-offer { padding: 13px; border: 1px solid var(--om-border-subtle); background: var(--om-surface-panel); }
.desk-offer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.desk-offer > header b { display: block; margin-top: 4px; color: var(--om-text-primary); font: 650 var(--om-type-body)/1.45 var(--om-font-data); }
.desk-offer > header b span { color: var(--om-action-primary); }
.desk-offer__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--om-border-subtle); color: var(--om-text-muted); font-size: var(--om-type-body); }
.desk-offer__foot .cdt { color: var(--om-status-warning); font-family: var(--om-font-data); }
.desk-archive { padding: clamp(18px, 3vw, 30px); }
.desk-archive__lead { padding-bottom: 18px; border-bottom: 1px solid var(--desk-rule); }
.desk-archive__lead h2 { max-width: 28ch; font-size: clamp(22px, 3vw, 31px); line-height: 1.15; }
.desk-archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.desk-subhead { margin: 16px 13px 8px; color: var(--om-text-primary); font: 650 var(--om-type-label)/1.35 var(--om-font-data); }
.desk-empty { display: grid; place-content: center; min-height: 240px; padding: 30px; text-align: center; border: 1px dashed var(--om-border-strong); color: var(--om-text-muted); }
.desk-empty b { color: var(--om-text-primary); font: 650 17px/1.35 var(--om-font-data); }
.desk-empty span { max-width: 54ch; margin-top: 5px; line-height: 1.5; }
.desk-empty--compact { min-height: 110px; padding: 18px; }
.desk-error { display: grid; place-content: center; justify-items: center; min-height: 300px; padding: 30px; text-align: center; color: var(--om-status-danger); }
.desk-error span { max-width: 60ch; margin: 5px 0 14px; color: var(--om-text-muted); }
.desk-loading { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 430px; }
.desk-loading span { min-height: 78px; border-bottom: 1px solid var(--om-border-subtle); background: var(--om-surface-panel); animation: desk-pulse 1.25s ease-in-out infinite alternate; }
.desk-loading span:nth-child(odd) { border-right: 1px solid var(--om-border-strong); }
.desk-loading span:nth-child(n + 3) { min-height: 352px; animation-delay: .14s; }
@keyframes desk-pulse { from { opacity: .48; } to { opacity: 1; } }

@media (max-width: 980px) {
  .desk-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .desk-operation-list { grid-template-columns: 1fr; }
  .desk-exchange-builder { grid-template-columns: minmax(0, 1fr) 88px; }
  .desk-exchange-arrow { grid-column: 1 / -1; justify-self: center; }
}

@media (max-width: 760px) {
  .desk-mast { align-items: stretch; }
  .desk-mast .desk-refresh { align-self: flex-start; }
  .desk-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .desk-summary > div:nth-child(2) { border-right: 0; }
  .desk-summary > div:nth-child(-n + 2) { border-bottom: 1px solid var(--om-border-subtle); }
  .desk-layout { display: block; }
  .desk-index {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(78vw, 286px);
    gap: 8px;
    overflow-x: auto;
    padding: 10px;
    border-right: 0;
    border-bottom: 1px solid var(--om-border-strong);
    scroll-snap-type: inline mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .desk-file { min-height: 84px; border: 1px solid var(--om-border-subtle); scroll-snap-align: start; }
  .desk-file.on { box-shadow: inset 0 3px 0 var(--om-action-primary); }
  .desk-file-head { align-items: flex-start; }
  .desk-form-grid,
  .desk-skill-strip,
  .desk-archive-grid { grid-template-columns: 1fr; }
  .desk-active-job { grid-template-columns: minmax(0, 1fr) auto; }
  .desk-active-job > button { grid-column: 1 / -1; width: 100%; }
  .desk-rule { display: block; }
  .desk-rule span { display: block; margin-top: 5px; }
  .desk-offer__foot { align-items: stretch; flex-direction: column; }
  .desk-offer__foot .act { width: 100%; }
  .desk-loading { grid-template-columns: minmax(0, 1fr); }
  .desk-loading span:nth-child(odd) { border-right: 0; }
  .desk-loading span:nth-child(n + 3) { min-height: 120px; }

  .public-nav { min-height: 54px; padding-inline: 12px; }
  .public-nav__menu { display: block; }
  .public-nav__links { gap: 0; margin-left: 0; overflow: visible; }
  .public-nav__links a { padding-inline: 10px; white-space: nowrap; }
  .public-nav__links a:not(.public-nav__cta) { display: none; }
  .artifact-deck { grid-template-columns: 1fr; }
  #screen-auth .pill-grid { grid-template-columns: 1fr; }
  .landing-proof { grid-template-columns: 1fr 1fr; }
  .landing-proof > div:nth-child(2) { border-right: 0; }
  .landing-proof > div:nth-child(-n + 2) { border-bottom: 1px solid var(--om-border-subtle); }
  .agent-showcase__head,
  .agent-showcase__body { grid-template-columns: minmax(0, 1fr); }
  .agent-showcase__head { gap: 12px; }
  .agent-showcase__head p { font-size: var(--om-type-public); }
  .agent-showcase__overview > a { aspect-ratio: 4 / 5; }
  .agent-showcase__rail {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(78vw, 360px);
    gap: 13px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 2px 2px 12px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  .agent-showcase__plate { scroll-snap-align: start; }
  #screen-auth .hero { min-height: calc(100svh - 54px - var(--om-safe-area-top)); padding-block: 64px 72px; }
  #screen-auth .hero > .hero-art,
  #screen-auth .hero::before,
  #screen-auth .hero::after,
  #screen-auth .hero .herovid { right: auto; left: 50%; width: 100vw; max-width: none; transform: translateX(-50%); }
  #screen-auth .poster { left: 50%; width: 100vw; transform: translateX(-50%); }
  #top .act,
  #top .help { min-width: var(--om-target-min); min-height: var(--om-target-min); }
  #tabpanel { padding: 7px 10px 12px; }
  button.act,
  a.act,
  .wtab,
  .ffchip,
  #tabs button,
  #grouprail button { min-height: var(--om-target-min); }
  input,
  select { min-height: var(--om-target-min); }
  #bnav button { min-height: 52px; font-size: 11.5px !important; }
  #toast { width: min(calc(100vw - 24px), 520px); max-width: none; }
  #tabart { height: 72px; }
  .public-page #wrap { width: 100%; min-width: 0; }
  .public-page #doc p,
  .public-page #doc li,
  .public-page #doc code,
  .public-page #doc .routes { overflow-wrap: anywhere; }
  .public-page #doc code,
  .public-page #doc .routes { word-break: break-word; }
  .share-shell { min-height: calc(100svh - 54px); padding: 28px 14px 40px; }
  .share-card { margin-bottom: 20px; }
  .share-cta { width: 100%; }
}

@media (max-width: 360px) {
  .public-nav,
  #top.public-nav { gap: 10px; }
  .public-nav__menu summary,
  .public-nav__links a { padding-inline: 8px; }
  .public-nav__menu-list {
    position: fixed;
    top: calc(54px + var(--om-safe-area-top));
    right: 12px;
    left: 12px;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

@media (forced-colors: active) {
  .public-nav,
  .artifact-card,
  .landing-proof,
  .agent-showcase__overview > a,
  .agent-showcase__plate picture { border: 1px solid CanvasText; }
  .public-nav__links .public-nav__cta { border: 2px solid ButtonText; }
}
