/* G24 DECISION_LOCKED + SPEC_LOCKED: human-first AI System Atlas projection. */
body.g24-atlas-ready .page > .toolbar,
body.g24-atlas-ready .page > .atlas-layout,
body.g24-atlas-ready .back-to-map { display: none !important; }

.g24-atlas { min-width: 0; }
.g24-controls { position: sticky; top: 62px; z-index: 55; margin: 0 0 18px; padding: 12px 0 10px; background: linear-gradient(180deg, rgba(3,7,18,.98) 78%, rgba(3,7,18,.84) 90%, transparent); }
.g24-control-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.g24-mode { display: inline-flex; flex: 0 0 auto; padding: 4px; border: 1px solid var(--map-line); border-radius: 999px; background: #071020; }
.g24-mode button { min-width: 92px; min-height: 44px; padding: 8px 13px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: #aab5c8; cursor: pointer; }
.g24-mode button[aria-pressed="true"] { border-color: rgba(247,197,72,.42); background: rgba(247,197,72,.11); color: var(--gold-light); }
.g24-search { position: relative; width: min(100%, 560px); min-width: 0; max-width: 100%; }
.g24-search input { width: 100%; min-height: 46px; padding: 10px 88px 10px 42px; border: 1px solid var(--map-line); border-radius: 12px; outline: none; background: linear-gradient(180deg,#091326,#071020); color: var(--text); font-size: 1rem; }
.g24-search input:focus { border-color: var(--map-blue); box-shadow: 0 0 0 3px rgba(112,174,241,.14); }
.g24-search-icon { position: absolute; left: 14px; top: 12px; color: var(--map-blue); }
.g24-search kbd { position: absolute; right: 12px; top: 12px; padding: 2px 7px; border: 1px solid var(--map-line); border-radius: 6px; background: rgba(255,255,255,.035); color: var(--text-muted); font: .65rem var(--mono); }
.g24-search-clear { position: absolute; z-index: 2; right: 1px; top: 1px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #aab5c8; cursor: pointer; }
.g24-search-clear:hover,.g24-search-clear:focus-visible { border-color: var(--map-blue); background: rgba(112,174,241,.1); color: #fff; outline: none; }
.g24-search:has(.g24-search-clear:not([hidden])) kbd { display: none; }
.g24-suggestions { position: absolute; z-index: 90; left: 0; right: 0; top: calc(100% + 7px); max-height: min(58vh,440px); overflow-y: auto; padding: 7px; border: 1px solid rgba(112,174,241,.36); border-radius: 14px; background: rgba(6,14,29,.99); box-shadow: 0 20px 55px rgba(0,0,0,.48); }
.g24-suggestion { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: center; width: 100%; min-height: 48px; padding: 8px 10px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #dce5f4; text-align: left; cursor: pointer; }
.g24-suggestion:hover,.g24-suggestion[aria-selected="true"] { border-color: rgba(112,174,241,.32); background: rgba(112,174,241,.1); }
.g24-suggestion strong,.g24-suggestion span { min-width: 0; overflow-wrap: anywhere; }
.g24-suggestion small { display: block; margin-top: 2px; color: #93a0b5; }
.g24-view-tabs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; margin-top: 10px; }
.g24-view-tab { min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid var(--map-line); border-radius: 9px; background: #071020; color: #aeb9ca; cursor: pointer; white-space: nowrap; }
.g24-view-tab:hover { border-color: rgba(255,255,255,.2); color: #fff; }
.g24-view-tab[aria-selected="true"] { border-color: var(--map-blue); background: rgba(112,174,241,.11); color: #eff6ff; box-shadow: inset 0 -2px 0 var(--map-blue); }
.g24-view-tab:focus-visible,.g24-card:focus-visible,.g24-workflow-step:focus-visible,.g24-filter select:focus-visible,.g24-filter button:focus-visible,.g24-detail-close:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.g24-status { min-height: 1.35em; margin: 8px 0 0; color: #9eabc0; font-size: .74rem; overflow-wrap: anywhere; word-break: break-word; }
.g24-panel { min-width: 0; }
.g24-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 4px 0 16px; }
.g24-panel-head h2 { font-size: clamp(1.5rem,3vw,2rem); }
.g24-panel-head p { max-width: 68ch; margin: 6px 0 0; color: #9da9bc; line-height: 1.6; }
.g24-source-state { flex: 0 0 auto; max-width: 440px; padding: 9px 11px; border: 1px solid rgba(247,197,72,.26); border-radius: 9px; background: rgba(247,197,72,.055); color: #c7b784; font: .65rem/1.55 var(--mono); overflow-wrap: anywhere; }
.g24-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.g24-grid-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.g24-card { min-width: 0; min-height: 126px; padding: 15px; border: 1px solid var(--map-line); border-radius: 13px; background: linear-gradient(145deg,rgba(112,174,241,.065),#071020 42%); color: inherit; text-align: left; overflow-wrap: anywhere; }
button.g24-card { cursor: pointer; }
button.g24-card:hover { border-color: rgba(112,174,241,.42); background: linear-gradient(145deg,rgba(112,174,241,.11),#081326 42%); }
.g24-card h3 { font-size: .98rem; }
.g24-card p { margin: 6px 0 0; color: #9da9bb; font-size: .8rem; line-height: 1.55; }
.g24-card-kicker { display: block; margin-bottom: 8px; color: var(--map-blue); font: .66rem var(--mono); }
.g24-signals { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.g24-pill { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.035); color: #b8c4d6; font-size: .64rem; }
.g24-pill b { margin-right: 5px; color: #e3eaf5; }
.g24-pill[data-dimension="importance"] { border-color: rgba(247,197,72,.3); }
.g24-pill[data-dimension="lifecycle"] { border-color: rgba(112,174,241,.31); }
.g24-pill[data-dimension="health"] { border-color: rgba(185,140,255,.3); }
.g24-tech { margin-top: 11px; padding-top: 10px; border-top: 1px solid var(--map-line); color: #8997ac; font: .66rem/1.6 var(--mono); overflow-wrap: anywhere; }
.g24-section { margin-top: 18px; }
.g24-section h3 { margin-bottom: 10px; }
.g24-journey { display: grid; grid-template-columns: repeat(5,minmax(170px,1fr)); gap: 8px; overflow-x: auto; padding: 2px 1px 10px; scrollbar-color: rgba(112,174,241,.5) transparent; }
.g24-workflow-picker { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.g24-workflow-picker button,.g24-filter button { min-height: 44px; padding: 8px 13px; border: 1px solid var(--map-line); border-radius: 9px; background: #071020; color: #c5cfdf; cursor: pointer; }
.g24-workflow-picker button[aria-pressed="true"] { border-color: var(--map-blue); background: rgba(112,174,241,.1); color: #fff; }
.g24-workflow-step { min-width: 0; min-height: 116px; padding: 13px; border: 1px solid var(--map-line); border-top: 2px solid var(--map-blue); border-radius: 10px; background: #081326; color: inherit; text-align: left; overflow-wrap: anywhere; }
button.g24-workflow-step { cursor: pointer; }
.g24-step-number { display: block; margin-bottom: 7px; color: var(--map-blue); font: .65rem var(--mono); }
.g24-workflow-step strong { font-size: .82rem; }
.g24-workflow-step small { display: block; margin-top: 6px; color: #8f9db1; line-height: 1.45; }
.g24-rule-group { margin-top: 18px; }
.g24-rule-group > h3 { padding-bottom: 8px; border-bottom: 1px solid var(--map-line); }
.g24-filter { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-bottom: 14px; }
.g24-filter label { display: grid; gap: 5px; color: #96a4b8; font-size: .72rem; }
.g24-filter select { width: 100%; min-width: 0; min-height: 44px; padding: 7px 9px; border: 1px solid var(--map-line); border-radius: 9px; background: #071020; color: #d5deec; }
.g24-empty,.g24-partial,.g24-error { grid-column: 1/-1; padding: 18px; border: 1px dashed var(--map-line); border-radius: 12px; color: #a7b4c7; background: rgba(255,255,255,.025); }
.g24-partial { border-color: rgba(247,197,72,.28); }
.g24-detail { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(1,4,12,.77); backdrop-filter: blur(5px); }
.g24-detail[hidden] { display: none; }
.g24-detail-card { width: min(720px,100%); max-height: min(88vh,820px); overflow-y: auto; padding: 22px; border: 1px solid rgba(112,174,241,.34); border-radius: 18px; background: #071020; box-shadow: 0 35px 100px rgba(0,0,0,.7); }
.g24-detail-close { float: right; display: grid; place-items: center; width: 44px; height: 44px; margin: -6px -6px 8px 12px; border: 1px solid var(--map-line); border-radius: 11px; background: #0b172a; color: #d9e2f1; cursor: pointer; }
.g24-detail-card h2 { padding-right: 48px; overflow-wrap: anywhere; }
.g24-detail-card p { color: #aeb9cb; line-height: 1.65; }
.g24-warning { margin-top: 14px; padding: 11px 13px; border-left: 3px solid var(--gold); background: rgba(247,197,72,.06); color: #c8b987; font-size: .76rem; }

@media (max-width:1199px) { .g24-grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:1023px) {
  .g24-control-top { align-items: stretch; flex-direction: column; }
  .g24-search { width: 100%; }
  .g24-view-tabs { display: flex; overflow-x: auto; padding-bottom: 8px; mask-image: linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent); }
  .g24-view-tab { flex: 0 0 142px; }
  .g24-filter { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .g24-panel-head { align-items: flex-start; flex-direction: column; }
  .g24-source-state { max-width: 100%; }
}
@media (max-width:767px) {
  .g24-grid,.g24-grid-4 { grid-template-columns: 1fr; }
  .g24-journey { display: grid; grid-template-columns: 1fr; overflow: visible; }
  .g24-workflow-step { min-height: 0; }
  .g24-controls { position: sticky; top: 58px; }
}
@media (max-width:479px) {
  .g24-mode { width: 100%; }
  .g24-mode button { flex: 1; min-width: 0; }
  .g24-filter { grid-template-columns: 1fr; }
  .g24-detail { align-items: end; padding: 0; }
  .g24-detail-card { width: 100%; max-height: 94vh; border-radius: 18px 18px 0 0; padding: 18px; }
  .verified .chip { flex: 0 0 auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .aknav { gap: 6px; justify-content: flex-start; padding-inline: 12px; }
  .aknav-logo { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }
  #auth-nav-btn { position: static !important; right: auto !important; flex: 0 0 auto; margin-left: auto; }
  .aknav-burger { flex: 0 0 44px; }
}
@media (max-width:359px) {
  .g24-view-tab { flex-basis: 126px; }
  .g24-card { padding: 13px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* G24 REDESIGN · EXPLODED AUTHORITY SHEET
   The public Registry remains the data boundary; this layer replaces only the Atlas presentation. */
body.g24-atlas-ready {
  --patent-paper: #f2efe5;
  --patent-paper-deep: #e8e3d7;
  --patent-ink: #1b1916;
  --patent-muted: #625d54;
  --patent-rule: rgba(27, 25, 22, .34);
  --patent-rule-soft: rgba(27, 25, 22, .16);
  --patent-red: #a52a24;
  --patent-red-soft: rgba(165, 42, 36, .08);
  --patent-serif: 'Noto Serif Thai', Georgia, serif;
  background: #171512;
  color: var(--patent-ink);
  font-family: 'Sarabun', sans-serif;
  scrollbar-color: #7f786d #171512;
}
body.g24-atlas-ready ::selection { background: var(--patent-red); color: var(--patent-paper); }
body.g24-atlas-ready :where(button, input, select) { accent-color: var(--patent-red); }
body.g24-atlas-ready .map-bg { display: none; }
body.g24-atlas-ready .page {
  width: min(100%, 1580px);
  max-width: 1580px;
  padding: 92px 24px 80px;
}
body.g24-atlas-ready .atlas-header {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 430px);
  gap: 34px;
  align-items: end;
  margin: 18px 0 0;
  padding: 30px 34px 28px;
  border: 1px solid var(--patent-ink);
  border-bottom: 0;
  border-radius: 0;
  background: var(--patent-paper);
  color: var(--patent-ink);
  box-shadow: 8px 10px 0 rgba(0, 0, 0, .22);
}
body.g24-atlas-ready .atlas-header::after {
  content: '';
  position: absolute;
  inset: 7px;
  border: 1px solid var(--patent-rule-soft);
  pointer-events: none;
}
body.g24-atlas-ready .atlas-title-group,
body.g24-atlas-ready .atlas-counts { position: relative; z-index: 1; }
body.g24-atlas-ready .atlas-title-group { max-width: 900px; }
body.g24-atlas-ready .atlas-header h1 {
  max-width: 920px;
  color: var(--patent-ink);
  font-family: var(--patent-serif);
  font-size: clamp(2.35rem, 4.5vw, 4.8rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.035em;
}
body.g24-atlas-ready .atlas-title-en {
  display: block;
  margin-top: 10px;
  color: var(--patent-red);
  font-family: var(--mono);
  font-size: clamp(.8rem, 1.1vw, .9rem);
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
body.g24-atlas-ready .atlas-header p {
  max-width: 70ch;
  margin: 17px 0 0;
  color: var(--patent-muted);
  font-size: 1rem;
  line-height: 1.75;
}
body.g24-atlas-ready .atlas-counts {
  display: grid;
  gap: 0;
  justify-content: stretch;
  max-width: none;
  border: 1px solid var(--patent-rule);
}
body.g24-atlas-ready .atlas-sheet-number,
body.g24-atlas-ready .atlas-counts .chip {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 12px;
  border: 0;
  border-bottom: 1px solid var(--patent-rule-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--patent-ink);
  font-size: .8rem;
  text-decoration: none;
  white-space: normal;
}
body.g24-atlas-ready .atlas-sheet-number {
  color: var(--patent-red);
  font-family: var(--mono);
  font-size: .75rem;
  letter-spacing: .08em;
}
body.g24-atlas-ready .atlas-counts .chip:last-child { border-bottom: 0; }
body.g24-atlas-ready .atlas-counts a.chip:hover,
body.g24-atlas-ready .atlas-counts a.chip:focus-visible { background: var(--patent-red-soft); outline: 2px solid var(--patent-red); outline-offset: -3px; }

body.g24-atlas-ready .g24-atlas {
  position: relative;
  min-width: 0;
  padding: 0 34px 34px;
  border: 1px solid var(--patent-ink);
  border-top: 0;
  background-color: var(--patent-paper);
  background-image: repeating-linear-gradient(0deg, transparent 0, transparent 31px, rgba(27, 25, 22, .018) 31px, rgba(27, 25, 22, .018) 32px);
  box-shadow: 10px 12px 0 rgba(0, 0, 0, .22);
}
body.g24-atlas-ready .g24-atlas::after {
  content: '';
  position: absolute;
  inset: 0 7px 7px;
  border: 1px solid var(--patent-rule-soft);
  border-top: 0;
  pointer-events: none;
}
body.g24-atlas-ready .g24-controls {
  position: sticky;
  z-index: 55;
  top: 61px;
  margin: 0;
  padding: 16px 0 13px;
  border-top: 1px solid var(--patent-rule);
  border-bottom: 1px solid var(--patent-ink);
  background: rgba(242, 239, 229, .97);
  backdrop-filter: blur(10px);
}
body.g24-atlas-ready .g24-control-top { gap: 18px; }
body.g24-atlas-ready .g24-search { width: min(100%, 640px); }
body.g24-atlas-ready .g24-search input {
  min-height: 48px;
  padding: 10px 82px 10px 45px;
  border: 1px solid var(--patent-ink);
  border-radius: 0;
  background: rgba(255, 255, 255, .28);
  box-shadow: inset 0 0 0 4px var(--patent-paper), inset 0 0 0 5px var(--patent-rule-soft);
  color: var(--patent-ink);
  font-size: 1rem;
  caret-color: var(--patent-red);
}
body.g24-atlas-ready .g24-search input::placeholder { color: #746e64; opacity: 1; }
body.g24-atlas-ready .g24-search input:focus { border-color: var(--patent-red); box-shadow: 0 0 0 3px rgba(165, 42, 36, .16), inset 0 0 0 4px var(--patent-paper); }
body.g24-atlas-ready .g24-search-icon { top: 14px; color: var(--patent-red); }
body.g24-atlas-ready .g24-search kbd { top: 13px; border-color: var(--patent-rule); border-radius: 0; background: transparent; color: var(--patent-muted); }
body.g24-atlas-ready .g24-search-clear { border-radius: 0; color: var(--patent-ink); }
body.g24-atlas-ready .g24-search-clear:hover,
body.g24-atlas-ready .g24-search-clear:focus-visible { border-color: var(--patent-red); background: var(--patent-red-soft); color: var(--patent-red); }
body.g24-atlas-ready .g24-suggestions {
  border: 1px solid var(--patent-ink);
  border-radius: 0;
  background: var(--patent-paper);
  box-shadow: 6px 8px 0 rgba(0, 0, 0, .2);
}
body.g24-atlas-ready .g24-suggestion { border-radius: 0; color: var(--patent-ink); }
body.g24-atlas-ready .g24-suggestion small { color: var(--patent-muted); }
body.g24-atlas-ready .g24-suggestion:hover,
body.g24-atlas-ready .g24-suggestion[aria-selected='true'] { border-color: var(--patent-red); background: var(--patent-red-soft); }
body.g24-atlas-ready .g24-mode { padding: 0; border-color: var(--patent-ink); border-radius: 0; background: transparent; }
body.g24-atlas-ready .g24-mode button { min-width: 106px; border-radius: 0; color: var(--patent-muted); }
body.g24-atlas-ready .g24-mode button + button { border-left-color: var(--patent-rule); }
body.g24-atlas-ready .g24-mode button[aria-pressed='true'] { border-color: var(--patent-red); background: repeating-linear-gradient(135deg, var(--patent-red-soft) 0 3px, transparent 3px 7px); color: var(--patent-red); }
body.g24-atlas-ready .g24-status { margin: 8px 0 0; color: var(--patent-muted); font-size: .8rem; }
body.g24-atlas-ready .g24-view-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin-top: 11px;
  border: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-view-tab {
  min-height: 48px;
  padding: 9px 8px;
  border: 0;
  border-right: 1px solid var(--patent-rule);
  border-radius: 0;
  background: transparent;
  color: var(--patent-muted);
  white-space: normal;
}
body.g24-atlas-ready .g24-view-tab:last-child { border-right: 0; }
body.g24-atlas-ready .g24-view-tab:hover { background: rgba(27, 25, 22, .04); color: var(--patent-ink); }
body.g24-atlas-ready .g24-view-tab[aria-selected='true'] {
  border-color: transparent;
  background: repeating-linear-gradient(135deg, var(--patent-red-soft) 0 3px, transparent 3px 8px);
  box-shadow: inset 0 -3px 0 var(--patent-red);
  color: var(--patent-red);
}
body.g24-atlas-ready :where(.g24-view-tab, .g24-anchor-part, .g24-domain-part, .g24-sheet-action, .g24-reference-index button):focus-visible {
  outline: 2px solid var(--patent-red);
  outline-offset: 3px;
}
body.g24-atlas-ready .g24-panel { position: relative; z-index: 1; padding-top: 22px; color: var(--patent-ink); }

body.g24-atlas-ready .g24-patent-sheet {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  border: 1px solid var(--patent-ink);
  background: rgba(255, 255, 255, .14);
}
body.g24-atlas-ready .g24-figure-label,
body.g24-atlas-ready .g24-exploded-figure figcaption span,
body.g24-atlas-ready .g24-index-heading,
body.g24-atlas-ready .g24-domain-plate > header > span,
body.g24-atlas-ready .g24-journey-plate > header > span {
  color: var(--patent-red);
  font-family: var(--mono);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.g24-atlas-ready .g24-claim-column {
  grid-column: 1 / 4;
  min-width: 0;
  padding: 28px 25px;
  border-right: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-claim-column h2 {
  margin-top: 26px;
  color: var(--patent-ink);
  font-family: var(--patent-serif);
  font-size: clamp(2rem, 3.4vw, 4.25rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.035em;
}
body.g24-atlas-ready .g24-claim-column h2 em { color: var(--patent-red); font-style: normal; }
body.g24-atlas-ready .g24-claim-column > p:not(.g24-figure-label) { margin: 24px 0 0; color: var(--patent-muted); font-size: .98rem; line-height: 1.8; }
body.g24-atlas-ready .g24-sheet-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  margin-top: 30px;
  padding: 10px 13px;
  border: 1px solid var(--patent-ink);
  border-radius: 0;
  background: transparent;
  color: var(--patent-ink);
  cursor: pointer;
}
body.g24-atlas-ready .g24-sheet-action:hover { background: var(--patent-red-soft); color: var(--patent-red); }
body.g24-atlas-ready .g24-exploded-figure {
  position: relative;
  grid-column: 4 / 10;
  min-width: 0;
  margin: 0;
  padding: 23px 22px 22px;
  overflow: hidden;
  border-right: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-exploded-figure figcaption { display: flex; align-items: baseline; gap: 14px; padding-bottom: 13px; border-bottom: 1px solid var(--patent-rule); }
body.g24-atlas-ready .g24-exploded-figure figcaption strong { font-family: var(--patent-serif); font-size: 1.12rem; font-weight: 600; }
body.g24-atlas-ready .g24-annotation-lines { position: absolute; z-index: 0; inset: 73px 20px 53px; width: calc(100% - 40px); height: calc(100% - 126px); pointer-events: none; }
body.g24-atlas-ready .g24-annotation-lines path { fill: none; stroke: var(--patent-rule); stroke-width: .28; stroke-dasharray: 1.2 1.2; vector-effect: non-scaling-stroke; }
body.g24-atlas-ready .g24-assembly { position: relative; z-index: 1; display: grid; gap: 8px; padding: 19px 0 15px; }
body.g24-atlas-ready .g24-anchor-part {
  display: grid;
  grid-template-columns: 34px 39px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  width: 86%;
  min-height: 70px;
  padding: 8px 10px;
  border: 1px solid var(--patent-rule);
  border-radius: 0;
  background: rgba(242, 239, 229, .94);
  color: var(--patent-ink);
  text-align: left;
  cursor: pointer;
}
body.g24-atlas-ready .g24-anchor-part:nth-child(odd) { justify-self: start; }
body.g24-atlas-ready .g24-anchor-part:nth-child(even) { justify-self: end; }
body.g24-atlas-ready .g24-anchor-part:hover { border-color: var(--patent-red); background: var(--patent-red-soft); }
body.g24-atlas-ready .g24-ref { color: var(--patent-red); font-family: var(--patent-serif); font-size: 1.18rem; font-weight: 600; font-variant-numeric: tabular-nums; }
body.g24-atlas-ready .g24-part-icon,
body.g24-atlas-ready .g24-domain-icon,
body.g24-atlas-ready .g24-step-icon { display: grid; place-items: center; width: 34px; min-width: 34px; height: 34px; font-size: 1.05rem; }
body.g24-atlas-ready .g24-part-copy { display: block; min-width: 0; }
body.g24-atlas-ready .g24-part-copy strong { display: block; font-size: .86rem; line-height: 1.4; }
body.g24-atlas-ready .g24-part-copy small,
body.g24-atlas-ready .g24-domain-part small { display: block; margin-top: 1px; color: var(--patent-red); font: .78rem/1.35 var(--mono); letter-spacing: .02em; }
body.g24-atlas-ready .g24-part-copy > span { display: block; margin-top: 3px; color: var(--patent-muted); font-size: .8rem; line-height: 1.45; }
body.g24-atlas-ready .g24-sheet-note { margin: 0; padding-top: 10px; border-top: 1px solid var(--patent-rule-soft); color: var(--patent-muted); font-size: .78rem; line-height: 1.55; }

body.g24-atlas-ready .g24-reference-index { grid-column: 10 / 13; min-width: 0; padding: 23px 20px; }
body.g24-atlas-ready .g24-index-heading { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 13px; border-bottom: 1px solid var(--patent-rule); }
body.g24-atlas-ready .g24-reference-index ol { margin: 10px 0 0; padding: 0; list-style: none; }
body.g24-atlas-ready .g24-reference-index li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 7px; align-items: start; padding: 7px 0; border-bottom: 1px solid var(--patent-rule-soft); }
body.g24-atlas-ready .g24-reference-index li > span { color: var(--patent-red); font-family: var(--patent-serif); font-weight: 600; }
body.g24-atlas-ready .g24-reference-index button { min-height: 30px; padding: 0; border: 0; background: transparent; color: var(--patent-ink); font-size: .8rem; line-height: 1.45; text-align: left; cursor: pointer; }
body.g24-atlas-ready .g24-reference-index button:hover { color: var(--patent-red); text-decoration: underline; text-underline-offset: 3px; }
body.g24-atlas-ready .g24-reference-index > p { margin: 16px 0 0; color: var(--patent-muted); font-size: .78rem; line-height: 1.55; }

body.g24-atlas-ready .g24-domain-plate,
body.g24-atlas-ready .g24-journey-plate,
body.g24-atlas-ready .g24-source-foot { grid-column: 1 / -1; border-top: 1px solid var(--patent-ink); }
body.g24-atlas-ready .g24-domain-plate > header,
body.g24-atlas-ready .g24-journey-plate > header { display: grid; grid-template-columns: minmax(170px, .55fr) minmax(220px, 1fr) minmax(220px, 1fr); gap: 18px; align-items: baseline; padding: 15px 20px; border-bottom: 1px solid var(--patent-rule); }
body.g24-atlas-ready .g24-domain-plate h3,
body.g24-atlas-ready .g24-journey-plate h3 { font-family: var(--patent-serif); font-size: 1.12rem; }
body.g24-atlas-ready .g24-domain-plate header p { margin: 0; color: var(--patent-muted); font-size: .8rem; }
body.g24-atlas-ready .g24-domain-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.g24-atlas-ready .g24-domain-part {
  display: grid;
  grid-template-columns: 29px 38px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-width: 0;
  min-height: 118px;
  padding: 15px 13px;
  border: 0;
  border-right: 1px solid var(--patent-rule-soft);
  border-bottom: 1px solid var(--patent-rule-soft);
  background: transparent;
  color: var(--patent-ink);
  text-align: left;
  cursor: pointer;
}
body.g24-atlas-ready .g24-domain-part:nth-child(4n) { border-right: 0; }
body.g24-atlas-ready .g24-domain-part:nth-last-child(-n+4) { border-bottom: 0; }
body.g24-atlas-ready .g24-domain-part:hover { background: repeating-linear-gradient(135deg, var(--patent-red-soft) 0 3px, transparent 3px 8px); }
body.g24-atlas-ready .g24-domain-part strong { display: block; font-size: .84rem; }
body.g24-atlas-ready .g24-domain-part em { display: block; margin-top: 6px; color: var(--patent-muted); font-size: .78rem; font-style: normal; line-height: 1.5; }

body.g24-atlas-ready .g24-journey-plate > header { grid-template-columns: minmax(170px, .55fr) 1fr; }
body.g24-atlas-ready .g24-journey {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  list-style: none;
}
body.g24-atlas-ready .g24-journey li {
  position: relative;
  display: grid;
  grid-template-columns: 28px 34px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-width: 0;
  min-height: 96px;
  padding: 13px 10px;
  border-right: 1px solid var(--patent-rule-soft);
}
body.g24-atlas-ready .g24-journey li:last-child { border-right: 0; }
body.g24-atlas-ready .g24-journey li:not(:last-child)::after { content: '→'; position: absolute; z-index: 2; right: -8px; top: 50%; width: 16px; background: var(--patent-paper); color: var(--patent-red); font-family: var(--mono); text-align: center; transform: translateY(-50%); }
body.g24-atlas-ready .g24-journey .g24-step-number { margin: 0; color: var(--patent-red); font: .78rem var(--mono); }
body.g24-atlas-ready .g24-journey strong { display: block; font-size: .82rem; line-height: 1.4; }
body.g24-atlas-ready .g24-journey small { display: block; grid-column: 3; margin-top: -4px; color: var(--patent-muted); font: .78rem/1.4 var(--mono); overflow-wrap: anywhere; }
body.g24-atlas-ready .g24-source-foot { display: grid; grid-template-columns: minmax(220px, .7fr) 1.6fr; gap: 18px; padding: 14px 20px; color: var(--patent-muted); font-size: .78rem; line-height: 1.55; }
body.g24-atlas-ready .g24-source-foot strong { color: var(--patent-red); }

@media (max-width: 1100px) {
  body.g24-atlas-ready .atlas-header { grid-template-columns: 1fr; gap: 24px; }
  body.g24-atlas-ready .atlas-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.g24-atlas-ready .atlas-sheet-number { grid-column: 1 / -1; }
  body.g24-atlas-ready .atlas-counts .chip { border-right: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-claim-column { grid-column: 1 / 5; }
  body.g24-atlas-ready .g24-exploded-figure { grid-column: 5 / 13; border-right: 0; }
  body.g24-atlas-ready .g24-reference-index { grid-column: 1 / 13; border-top: 1px solid var(--patent-ink); }
  body.g24-atlas-ready .g24-reference-index ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
  body.g24-atlas-ready .g24-domain-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.g24-atlas-ready .g24-domain-part:nth-child(4n) { border-right: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-domain-part:nth-child(2n) { border-right: 0; }
  body.g24-atlas-ready .g24-domain-part:nth-last-child(-n+4) { border-bottom: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-domain-part:nth-last-child(-n+2) { border-bottom: 0; }
  body.g24-atlas-ready .g24-journey { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.g24-atlas-ready .g24-journey li:nth-child(3) { border-right: 0; }
  body.g24-atlas-ready .g24-journey li:nth-child(-n+3) { border-bottom: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-journey li:nth-child(3)::after { display: none; }
}

@media (max-width: 760px) {
  body.g24-atlas-ready .page { padding: 74px 10px 54px; }
  body.g24-atlas-ready #system-map,
  body.g24-atlas-ready :where(.g24-patent-sheet, .g24-workflow-sheet, .g24-parts-ledger, .g24-detail) { scroll-margin-top: 68px; }
  body.g24-atlas-ready .atlas-header { gap: 18px; margin: 4px 0 0; padding: 20px 20px 16px; }
  body.g24-atlas-ready .atlas-header h1 { font-size: clamp(2rem, 11vw, 3rem); }
  body.g24-atlas-ready .atlas-header p { font-size: .86rem; line-height: 1.6; }
  body.g24-atlas-ready .atlas-counts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.g24-atlas-ready .atlas-sheet-number { grid-column: 1 / -1; min-height: 36px; padding-block: 6px; }
  body.g24-atlas-ready .atlas-counts .chip { align-items: flex-start; min-height: 52px; padding: 7px 6px; border-right: 1px solid var(--patent-rule-soft); border-bottom: 0; font-size: .75rem; line-height: 1.4; }
  body.g24-atlas-ready .atlas-counts .chip:last-child { border-right: 0; }
  body.g24-atlas-ready .g24-atlas { padding: 0 12px 18px; }
  body.g24-atlas-ready .g24-controls { position: sticky; top: 60px; z-index: 55; padding: 10px 0; }
  body.g24-atlas-ready .g24-control-top { align-items: stretch; flex-direction: column; }
  body.g24-atlas-ready .g24-search { width: 100%; }
  body.g24-atlas-ready .g24-mode { align-self: flex-start; }
  body.g24-atlas-ready .g24-view-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.g24-atlas-ready .g24-view-tab { min-height: 58px; padding: 5px 4px; border-bottom: 1px solid var(--patent-rule-soft); font-size: .78rem; line-height: 1.3; }
  body.g24-atlas-ready .g24-status { min-height: 0; margin-top: 5px; font-size: .75rem; line-height: 1.35; }
  body.g24-atlas-ready .g24-view-tab:nth-child(3n) { border-right: 0; }
  body.g24-atlas-ready .g24-view-tab:nth-last-child(-n+3) { border-bottom: 0; }
  body.g24-atlas-ready .g24-panel { padding-top: 14px; }
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact .g24-controls { padding: 0; border-top: 0; background: rgba(242, 239, 229, .985); box-shadow: 0 5px 0 rgba(27, 25, 22, .14); }
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact .g24-control-top,
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact .g24-status { display: none; }
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact .g24-view-tabs { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0; }
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact .g24-view-tab { min-height: 52px; border-right: 1px solid var(--patent-rule-soft); border-bottom: 0; font-size: 1rem; }
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact .g24-view-tab:last-child { border-right: 0; }
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact :where(.g24-patent-sheet, .g24-workflow-sheet, .g24-parts-ledger, .g24-detail) { scroll-margin-top: 131px; }
  body.g24-atlas-ready .g24-atlas.mobile-controls-compact .g24-tab-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  body.g24-atlas-ready .g24-claim-column,
  body.g24-atlas-ready .g24-exploded-figure,
  body.g24-atlas-ready .g24-reference-index { grid-column: 1 / -1; border-right: 0; }
  body.g24-atlas-ready .g24-claim-column { padding: 24px 18px; }
  body.g24-atlas-ready .g24-claim-column h2 { margin-top: 18px; font-size: 2.45rem; }
  body.g24-atlas-ready .g24-exploded-figure,
  body.g24-atlas-ready .g24-reference-index { border-top: 1px solid var(--patent-ink); }
  body.g24-atlas-ready .g24-exploded-figure { padding: 20px 14px; }
  body.g24-atlas-ready .g24-annotation-lines { display: none; }
  body.g24-atlas-ready .g24-anchor-part { width: 100%; min-height: 76px; }
  body.g24-atlas-ready .g24-reference-index ol { grid-template-columns: 1fr; }
  body.g24-atlas-ready .g24-domain-plate > header,
  body.g24-atlas-ready .g24-journey-plate > header { grid-template-columns: 1fr; gap: 5px; padding: 14px; }
  body.g24-atlas-ready .g24-domain-list { grid-template-columns: 1fr; }
  body.g24-atlas-ready .g24-domain-part { min-height: 104px; border-right: 0 !important; border-bottom: 1px solid var(--patent-rule-soft) !important; }
  body.g24-atlas-ready .g24-domain-part:last-child { border-bottom: 0 !important; }
  body.g24-atlas-ready .g24-journey { grid-template-columns: 1fr; }
  body.g24-atlas-ready .g24-journey li { min-height: 82px; border-right: 0; border-bottom: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-journey li:nth-child(3) { border-right: 0; }
  body.g24-atlas-ready .g24-journey li:last-child { border-bottom: 0; }
  body.g24-atlas-ready .g24-journey li:not(:last-child)::after { display: block; top: auto; right: 18px; bottom: -10px; transform: rotate(90deg); }
  body.g24-atlas-ready .g24-source-foot { grid-template-columns: 1fr; gap: 5px; padding: 14px; }
}

@media (prefers-contrast: more) {
  body.g24-atlas-ready { --patent-rule: rgba(0, 0, 0, .7); --patent-rule-soft: rgba(0, 0, 0, .42); }
  body.g24-atlas-ready :where(button, input):focus-visible { outline-width: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  body.g24-atlas-ready .g24-anchor-part,
  body.g24-atlas-ready .g24-domain-part,
  body.g24-atlas-ready .g24-view-tab { transition: none !important; transform: none !important; }
}

/* FIG. 4–5 · verified workflow chains */
body.g24-atlas-ready .g24-panel-head {
  align-items: flex-end;
  margin: 0 0 18px;
  padding: 18px 0 16px;
  border-top: 1px solid var(--patent-rule);
  border-bottom: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-panel-head h2 { color: var(--patent-ink); font-family: var(--patent-serif); font-size: clamp(1.85rem, 3vw, 3rem); font-weight: 500; }
body.g24-atlas-ready .g24-panel-head p { max-width: 72ch; color: var(--patent-muted); font-size: .9rem; }
body.g24-atlas-ready .g24-source-state {
  max-width: 470px;
  padding: 8px 10px;
  border: 1px solid var(--patent-rule);
  border-radius: 0;
  background: transparent;
  color: var(--patent-red);
  font: .78rem/1.55 var(--mono);
}
body.g24-atlas-ready .g24-workflow-picker { gap: 0; margin: 0 0 13px; border: 1px solid var(--patent-ink); }
body.g24-atlas-ready .g24-workflow-picker button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 0 8px;
  align-items: center;
  min-width: min(260px, 50%);
  min-height: 56px;
  padding: 7px 13px;
  border: 0;
  border-right: 1px solid var(--patent-rule);
  border-radius: 0;
  background: transparent;
  color: var(--patent-muted);
  text-align: left;
}
body.g24-atlas-ready .g24-workflow-picker button:last-child { border-right: 0; }
body.g24-atlas-ready .g24-workflow-picker button > span { grid-row: 1 / 3; font-size: 1.15rem; }
body.g24-atlas-ready .g24-workflow-picker button strong { font-size: .82rem; }
body.g24-atlas-ready .g24-workflow-picker button small { color: inherit; font: .78rem var(--mono); }
body.g24-atlas-ready .g24-workflow-picker button[aria-pressed='true'] { border-color: transparent; background: repeating-linear-gradient(135deg, var(--patent-red-soft) 0 3px, transparent 3px 8px); color: var(--patent-red); box-shadow: inset 0 -3px 0 var(--patent-red); }
body.g24-atlas-ready .g24-workflow-picker button:focus-visible { outline: 2px solid var(--patent-red); outline-offset: 3px; }
body.g24-atlas-ready .g24-workflow-sheet { border: 1px solid var(--patent-ink); }
body.g24-atlas-ready .g24-workflow-sheet > header {
  display: grid;
  grid-template-columns: minmax(190px, .55fr) minmax(220px, 1fr) minmax(240px, 1fr);
  gap: 18px;
  align-items: baseline;
  padding: 16px 18px;
  border-bottom: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-workflow-sheet > header > span { color: var(--patent-red); font: .78rem var(--mono); letter-spacing: .08em; }
body.g24-atlas-ready .g24-workflow-sheet > header h3 { font-family: var(--patent-serif); font-size: 1.15rem; }
body.g24-atlas-ready .g24-workflow-sheet > header p { margin: 0; color: var(--patent-muted); font-size: .8rem; }
body.g24-atlas-ready .g24-workflow-chain {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 38px 28px;
  margin: 0;
  padding: 34px 30px;
  overflow: visible;
  list-style: none;
  background-image: linear-gradient(var(--patent-rule-soft) 1px, transparent 1px), linear-gradient(90deg, var(--patent-rule-soft) 1px, transparent 1px);
  background-size: 28px 28px;
}
body.g24-atlas-ready .g24-workflow-node { position: relative; min-width: 0; }
body.g24-atlas-ready .g24-workflow-node:nth-child(6) { grid-column: 5; grid-row: 2; }
body.g24-atlas-ready .g24-workflow-node:nth-child(7) { grid-column: 4; grid-row: 2; }
body.g24-atlas-ready .g24-workflow-node:nth-child(8) { grid-column: 3; grid-row: 2; }
body.g24-atlas-ready .g24-workflow-node:nth-child(9) { grid-column: 2; grid-row: 2; }
body.g24-atlas-ready .g24-workflow-node:nth-child(10) { grid-column: 1; grid-row: 2; }
body.g24-atlas-ready .g24-workflow-step {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 24px;
  gap: 9px;
  align-items: start;
  width: 100%;
  min-height: 128px;
  padding: 12px 10px;
  border: 1px solid var(--patent-ink);
  border-top: 1px solid var(--patent-ink);
  border-radius: 0;
  background: rgba(242, 239, 229, .96);
  color: var(--patent-ink);
  text-align: left;
}
body.g24-atlas-ready .g24-workflow-step:hover { border-color: var(--patent-red); background: var(--patent-red-soft); }
body.g24-atlas-ready .g24-workflow-step:focus-visible { outline: 2px solid var(--patent-red); outline-offset: 3px; }
body.g24-atlas-ready .g24-workflow-step .g24-step-number { margin: 0; color: var(--patent-red); font: .78rem var(--mono); }
body.g24-atlas-ready .g24-workflow-copy { min-width: 0; }
body.g24-atlas-ready .g24-workflow-copy em { display: block; color: var(--patent-red); font: .78rem var(--mono); letter-spacing: .06em; }
body.g24-atlas-ready .g24-workflow-copy strong { display: block; margin-top: 8px; font-family: var(--patent-serif); font-size: .86rem; line-height: 1.45; }
body.g24-atlas-ready .g24-workflow-copy small { display: block; margin-top: 5px; color: var(--patent-muted); font: .78rem/1.45 var(--mono); overflow-wrap: anywhere; }
body.g24-atlas-ready .g24-node-state { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid var(--patent-rule); border-radius: 50%; color: var(--patent-muted); font-family: var(--mono); font-size: .78rem; }
body.g24-atlas-ready .is-resolved .g24-node-state { border-color: var(--patent-red); color: var(--patent-red); }
body.g24-atlas-ready .g24-flow-connector { position: absolute; z-index: 2; top: 50%; right: -28px; display: flex; align-items: center; width: 28px; color: var(--patent-red); transform: translateY(-50%); pointer-events: none; }
body.g24-atlas-ready .g24-flow-connector i { width: 100%; height: 1px; background: var(--patent-red); }
body.g24-atlas-ready .g24-flow-connector b { margin-left: -2px; background: var(--patent-paper); font: .78rem var(--mono); }
body.g24-atlas-ready .g24-workflow-node:nth-child(5) .g24-flow-connector { top: auto; right: 50%; bottom: -38px; width: 1px; height: 38px; flex-direction: column; transform: translateX(50%); }
body.g24-atlas-ready .g24-workflow-node:nth-child(5) .g24-flow-connector i { width: 1px; height: 100%; }
body.g24-atlas-ready .g24-workflow-node:nth-child(5) .g24-flow-connector b { margin: -5px 0 0; transform: rotate(90deg); }
body.g24-atlas-ready .g24-workflow-node:nth-child(n+6):not(:last-child) .g24-flow-connector { right: auto; left: -28px; flex-direction: row-reverse; }
body.g24-atlas-ready .g24-workflow-node:nth-child(n+6):not(:last-child) .g24-flow-connector b { margin: 0 -2px 0 0; transform: rotate(180deg); }
body.g24-atlas-ready .g24-missing-summary {
  display: grid;
  grid-template-columns: 34px minmax(190px, .65fr) minmax(0, 1.35fr);
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  border-top: 1px solid var(--patent-ink);
  color: var(--patent-muted);
}
body.g24-atlas-ready .g24-missing-summary > span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px dashed var(--patent-muted); border-radius: 50%; }
body.g24-atlas-ready .g24-missing-summary strong { color: var(--patent-ink); font-size: .78rem; }
body.g24-atlas-ready .g24-missing-summary p { margin: 0; font-size: .78rem; line-height: 1.55; }

@media (max-width: 900px) {
  body.g24-atlas-ready .g24-panel-head { align-items: flex-start; flex-direction: column; }
  body.g24-atlas-ready .g24-source-state { max-width: 100%; }
  body.g24-atlas-ready .g24-workflow-sheet > header { grid-template-columns: 1fr; gap: 5px; }
  body.g24-atlas-ready .g24-workflow-chain { grid-template-columns: 1fr; gap: 28px; padding: 24px 18px; background-size: 24px 24px; }
  body.g24-atlas-ready .g24-workflow-node,
  body.g24-atlas-ready .g24-workflow-node:nth-child(n) { grid-column: 1; grid-row: auto; }
  body.g24-atlas-ready .g24-workflow-step { min-height: 102px; }
  body.g24-atlas-ready .g24-flow-connector,
  body.g24-atlas-ready .g24-workflow-node:nth-child(5) .g24-flow-connector,
  body.g24-atlas-ready .g24-workflow-node:nth-child(n+6):not(:last-child) .g24-flow-connector {
    top: auto;
    right: 28px;
    bottom: -28px;
    left: auto;
    width: 1px;
    height: 28px;
    flex-direction: column;
    transform: none;
  }
  body.g24-atlas-ready .g24-flow-connector i,
  body.g24-atlas-ready .g24-workflow-node:nth-child(5) .g24-flow-connector i { width: 1px; height: 100%; }
  body.g24-atlas-ready .g24-flow-connector b,
  body.g24-atlas-ready .g24-workflow-node:nth-child(5) .g24-flow-connector b,
  body.g24-atlas-ready .g24-workflow-node:nth-child(n+6):not(:last-child) .g24-flow-connector b { margin: -5px 0 0; transform: rotate(90deg); }
  body.g24-atlas-ready .g24-missing-summary { grid-template-columns: 32px 1fr; }
  body.g24-atlas-ready .g24-missing-summary p { grid-column: 2; }
}

@media (max-width: 520px) {
  body.g24-atlas-ready .g24-workflow-picker { display: grid; grid-template-columns: 1fr 1fr; }
  body.g24-atlas-ready .g24-workflow-picker button { min-width: 0; width: 100%; padding-inline: 9px; }
  body.g24-atlas-ready .g24-workflow-step { min-height: 112px; }
}

/* Parts ledger · dense facts without repeated card chrome */
body.g24-atlas-ready .g24-filter-drawer { margin: 0 0 14px; border: 1px solid var(--patent-ink); }
body.g24-atlas-ready .g24-filter-drawer summary {
  display: grid;
  grid-template-columns: auto 28px minmax(0, 1fr) 24px;
  gap: 9px;
  align-items: center;
  min-height: 48px;
  padding: 8px 13px;
  color: var(--patent-ink);
  cursor: pointer;
  list-style: none;
}
body.g24-atlas-ready .g24-filter-drawer summary::-webkit-details-marker { display: none; }
body.g24-atlas-ready .g24-filter-drawer summary::after { content: '+'; grid-column: 4; justify-self: end; color: var(--patent-red); font: 1rem var(--mono); }
body.g24-atlas-ready .g24-filter-drawer[open] summary::after { content: '−'; }
body.g24-atlas-ready .g24-filter-drawer summary b { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--patent-rule); border-radius: 50%; color: var(--patent-red); font: .75rem var(--mono); }
body.g24-atlas-ready .g24-filter-drawer summary small { color: var(--patent-muted); font-size: .78rem; }
body.g24-atlas-ready .g24-filter-drawer summary:focus-visible { outline: 2px solid var(--patent-red); outline-offset: 3px; }
body.g24-atlas-ready .g24-filter {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--patent-rule);
}
body.g24-atlas-ready .g24-filter label { gap: 6px; min-width: 0; padding: 10px; border-right: 1px solid var(--patent-rule-soft); color: var(--patent-muted); font-size: .78rem; }
body.g24-atlas-ready .g24-filter label:last-child { border-right: 0; }
body.g24-atlas-ready .g24-filter select,
body.g24-atlas-ready .g24-filter button {
  width: 100%;
  min-height: 44px;
  padding: 7px 9px;
  border: 1px solid var(--patent-rule);
  border-radius: 0;
  background: rgba(255, 255, 255, .22);
  color: var(--patent-ink);
}
body.g24-atlas-ready .g24-filter select:focus-visible,
body.g24-atlas-ready .g24-filter button:focus-visible { outline: 2px solid var(--patent-red); outline-offset: 2px; border-color: var(--patent-red); }
body.g24-atlas-ready .g24-filter button:hover { background: var(--patent-red-soft); color: var(--patent-red); }
body.g24-atlas-ready .g24-parts-ledger { border: 1px solid var(--patent-ink); }
body.g24-atlas-ready .g24-parts-ledger > header {
  display: grid;
  grid-template-columns: minmax(200px, .6fr) minmax(220px, 1fr) auto;
  gap: 18px;
  align-items: baseline;
  padding: 15px 17px;
  border-bottom: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-parts-ledger > header > span { color: var(--patent-red); font: .78rem var(--mono); letter-spacing: .08em; }
body.g24-atlas-ready .g24-parts-ledger > header h3 { font-family: var(--patent-serif); font-size: 1.12rem; }
body.g24-atlas-ready .g24-parts-ledger > header p { margin: 0; color: var(--patent-muted); font: .78rem var(--mono); }
body.g24-atlas-ready .g24-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.g24-atlas-ready .g24-ledger-row {
  display: grid;
  grid-template-columns: 31px 38px minmax(0, 1fr) minmax(112px, auto);
  gap: 10px;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 88px;
  padding: 11px 13px;
  border: 0;
  border-right: 1px solid var(--patent-rule-soft);
  border-bottom: 1px solid var(--patent-rule-soft);
  border-radius: 0;
  background: transparent;
  color: var(--patent-ink);
  text-align: left;
  cursor: pointer;
}
body.g24-atlas-ready .g24-ledger-row:nth-child(2n) { border-right: 0; }
body.g24-atlas-ready .g24-ledger-row:hover { background: repeating-linear-gradient(135deg, var(--patent-red-soft) 0 3px, transparent 3px 8px); }
body.g24-atlas-ready .g24-ledger-row:focus-visible { position: relative; z-index: 2; outline: 2px solid var(--patent-red); outline-offset: -3px; }
body.g24-atlas-ready .g24-ledger-ref { color: var(--patent-red); font: .78rem var(--mono); font-variant-numeric: tabular-nums; }
body.g24-atlas-ready .g24-record-icon { display: grid; place-items: center; width: 36px; height: 36px; font-size: 1.05rem; }
body.g24-atlas-ready .g24-record-copy { min-width: 0; }
body.g24-atlas-ready .g24-record-copy strong { display: block; overflow-wrap: anywhere; font-family: var(--patent-serif); font-size: .82rem; line-height: 1.4; }
body.g24-atlas-ready .g24-record-purpose { display: block; margin-top: 3px; color: var(--patent-muted); font-size: .78rem; line-height: 1.45; }
body.g24-atlas-ready .g24-ledger-tech { display: block; margin-top: 5px; color: var(--patent-red); font: .78rem/1.45 var(--mono); overflow-wrap: anywhere; }
body.g24-atlas-ready .g24-record-state { display: inline-flex; align-items: center; justify-content: flex-start; gap: 6px; min-height: 30px; color: var(--patent-muted); font-size: .78rem; white-space: normal; }
body.g24-atlas-ready .g24-record-state b { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; border: 1px solid currentColor; border-radius: 50%; font: .75rem var(--mono); }
body.g24-atlas-ready .g24-record-state[data-state='active'],
body.g24-atlas-ready .g24-record-state[data-state='verified'] { color: var(--patent-ink); }
body.g24-atlas-ready .g24-record-state[data-state='attention'] { color: #8a5a11; }
body.g24-atlas-ready .g24-record-state[data-state='retired'] { color: #79736a; text-decoration: line-through; }
body.g24-atlas-ready .g24-parts-ledger > footer { padding: 13px 17px; border-top: 1px solid var(--patent-ink); color: var(--patent-muted); font-size: .78rem; line-height: 1.55; }
body.g24-atlas-ready .g24-empty,
body.g24-atlas-ready .g24-partial,
body.g24-atlas-ready .g24-error { border-color: var(--patent-rule); border-radius: 0; background: transparent; color: var(--patent-muted); }

@media (max-width: 1050px) {
  body.g24-atlas-ready .g24-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.g24-atlas-ready .g24-filter label:nth-child(2n) { border-right: 0; }
  body.g24-atlas-ready .g24-ledger { grid-template-columns: 1fr; }
  body.g24-atlas-ready .g24-ledger-row { border-right: 0; }
}

@media (max-width: 620px) {
  body.g24-atlas-ready .g24-filter { grid-template-columns: 1fr; }
  body.g24-atlas-ready .g24-filter label { border-right: 0; border-bottom: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-filter label:last-child { border-bottom: 0; }
  body.g24-atlas-ready .g24-parts-ledger > header { grid-template-columns: 1fr auto; gap: 4px 10px; }
  body.g24-atlas-ready .g24-parts-ledger > header > span { grid-column: 1 / -1; }
  body.g24-atlas-ready .g24-ledger-row { grid-template-columns: 27px 34px minmax(0, 1fr); min-height: 102px; padding: 11px 9px; }
  body.g24-atlas-ready .g24-record-state { grid-column: 3; }
}

/* Contextual inspector · preserves the sheet instead of opening a modal */
body.g24-atlas-ready .g24-atlas.is-inspecting {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
  column-gap: 22px;
  align-items: start;
}
body.g24-atlas-ready .g24-atlas.is-inspecting .g24-controls { grid-column: 1 / -1; }
body.g24-atlas-ready .g24-atlas.is-inspecting .g24-panel { grid-column: 1; min-width: 0; }
body.g24-atlas-ready .g24-detail {
  position: sticky;
  z-index: 4;
  top: 186px;
  grid-column: 2;
  align-items: initial;
  justify-content: initial;
  min-width: 0;
  max-height: calc(100vh - 210px);
  padding: 0;
  overflow: auto;
  background: transparent;
  backdrop-filter: none;
}
body.g24-atlas-ready .g24-detail-card {
  position: relative;
  width: 100%;
  max-width: none;
  max-height: none;
  padding: 28px 22px 22px;
  overflow: visible;
  border: 1px solid var(--patent-ink);
  border-radius: 0;
  background-color: var(--patent-paper-deep);
  background-image: repeating-linear-gradient(0deg, transparent 0, transparent 27px, rgba(27, 25, 22, .028) 27px, rgba(27, 25, 22, .028) 28px);
  color: var(--patent-ink);
  box-shadow: 9px 12px 0 rgba(27, 25, 22, .15);
}
body.g24-atlas-ready .g24-detail-card::after { content: ''; position: absolute; inset: 6px; border: 1px solid var(--patent-rule-soft); pointer-events: none; }
body.g24-atlas-ready .g24-detail-close {
  position: absolute;
  z-index: 2;
  top: 8px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--patent-ink);
}
body.g24-atlas-ready .g24-detail-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
body.g24-atlas-ready .g24-detail-close:hover { border-color: var(--patent-red); background: var(--patent-red-soft); color: var(--patent-red); }
body.g24-atlas-ready .g24-detail-close:focus-visible { outline: 2px solid var(--patent-red); outline-offset: 2px; }
body.g24-atlas-ready .g24-detail-body,
body.g24-atlas-ready #g24DetailBody { position: relative; z-index: 1; }
body.g24-atlas-ready #g24DetailBody .g24-card-kicker { display: block; margin: 0 52px 12px 0; color: var(--patent-red); font: .78rem var(--mono); letter-spacing: .09em; }
body.g24-atlas-ready #g24DetailBody h2 { padding-bottom: 14px; border-bottom: 1px solid var(--patent-ink); font-family: var(--patent-serif); font-size: 1.55rem; line-height: 1.3; }
body.g24-atlas-ready .g24-detail-purpose { margin: 13px 0; color: var(--patent-muted); font-size: .82rem; line-height: 1.55; }
body.g24-atlas-ready #g24DetailBody .g24-signals { gap: 4px; margin: 0 0 16px; }
body.g24-atlas-ready #g24DetailBody .g24-pill { border-color: var(--patent-rule); border-radius: 0; background: transparent; color: var(--patent-muted); font-size: .78rem; }
body.g24-atlas-ready #g24DetailBody .g24-pill b { color: var(--patent-ink); }
body.g24-atlas-ready .g24-detail-facts { margin: 0; border-top: 1px solid var(--patent-rule); }
body.g24-atlas-ready .g24-detail-facts > div { display: grid; grid-template-columns: minmax(88px, .48fr) minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--patent-rule-soft); }
body.g24-atlas-ready .g24-detail-facts dt { color: var(--patent-red); font-size: .78rem; }
body.g24-atlas-ready .g24-detail-facts dd { margin: 0; color: var(--patent-ink); font: .78rem/1.55 var(--mono); overflow-wrap: anywhere; }
body.g24-atlas-ready .g24-detail-note { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--patent-rule); }
body.g24-atlas-ready .g24-detail-note strong { color: var(--patent-red); font-size: .78rem; }
body.g24-atlas-ready .g24-detail-note p { margin: 5px 0 0; color: var(--patent-muted); font-size: .78rem; line-height: 1.55; }
body.g24-atlas-ready #g24DetailBody .g24-warning { margin-top: 15px; border-color: #8a5a11; border-radius: 0; background: rgba(138, 90, 17, .08); color: #70480c; }

@media (max-width: 1180px) {
  body.g24-atlas-ready .g24-atlas.is-inspecting { grid-template-columns: minmax(0, 1fr); }
  body.g24-atlas-ready .g24-atlas.is-inspecting .g24-detail { position: relative; top: auto; grid-column: 1; grid-row: 2; max-height: none; margin-top: 18px; }
  body.g24-atlas-ready .g24-atlas.is-inspecting .g24-panel { grid-column: 1; grid-row: 3; }
  body.g24-atlas-ready .g24-detail-card { box-shadow: 6px 8px 0 rgba(27, 25, 22, .13); }
}

/* Rule volume · one continuous reference document */
body.g24-atlas-ready .g24-rule-volume { border: 1px solid var(--patent-ink); }
body.g24-atlas-ready .g24-rule-volume > header {
  display: grid;
  grid-template-columns: minmax(210px, .65fr) minmax(220px, 1fr) auto;
  gap: 18px;
  align-items: baseline;
  padding: 16px 18px;
  border-bottom: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-rule-volume > header > span { color: var(--patent-red); font: .78rem var(--mono); letter-spacing: .08em; }
body.g24-atlas-ready .g24-rule-volume > header h3 { font-family: var(--patent-serif); font-size: 1.14rem; }
body.g24-atlas-ready .g24-rule-volume > header p { margin: 0; color: var(--patent-muted); font-size: .78rem; }
body.g24-atlas-ready .g24-rule-chapter { border-bottom: 1px solid var(--patent-ink); }
body.g24-atlas-ready .g24-rule-chapter:last-child { border-bottom: 0; }
body.g24-atlas-ready .g24-rule-chapter > summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px 24px;
  gap: 12px;
  align-items: center;
  min-height: 68px;
  padding: 10px 16px;
  list-style: none;
  color: var(--patent-ink);
  cursor: pointer;
}
body.g24-atlas-ready .g24-rule-chapter > summary::-webkit-details-marker { display: none; }
body.g24-atlas-ready .g24-rule-chapter > summary::after { content: '+'; grid-column: 4; color: var(--patent-red); font: 1rem var(--mono); }
body.g24-atlas-ready .g24-rule-chapter[open] > summary::after { content: '−'; }
body.g24-atlas-ready .g24-rule-chapter > summary:hover { background: var(--patent-red-soft); }
body.g24-atlas-ready .g24-rule-chapter > summary:focus-visible { outline: 2px solid var(--patent-red); outline-offset: -3px; }
body.g24-atlas-ready .g24-rule-icon { display: grid; place-items: center; width: 38px; height: 38px; font-size: 1.1rem; }
body.g24-atlas-ready .g24-rule-chapter > summary strong { display: block; font-family: var(--patent-serif); font-size: .95rem; }
body.g24-atlas-ready .g24-rule-chapter > summary small { display: block; margin-top: 2px; color: var(--patent-red); font: .78rem var(--mono); }
body.g24-atlas-ready .g24-rule-chapter > summary b { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--patent-rule); border-radius: 50%; color: var(--patent-muted); font: .75rem var(--mono); }
body.g24-atlas-ready .g24-rule-chapter > ol { margin: 0; padding: 0; border-top: 1px solid var(--patent-rule); list-style: none; }
body.g24-atlas-ready .g24-rule-chapter [data-rule] {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 16px;
  padding: 19px 18px;
  border-bottom: 1px solid var(--patent-rule-soft);
  background-image: linear-gradient(90deg, transparent 57px, var(--patent-rule-soft) 57px, var(--patent-rule-soft) 58px, transparent 58px);
}
body.g24-atlas-ready .g24-rule-chapter [data-rule]:last-child { border-bottom: 0; }
body.g24-atlas-ready .g24-rule-ref { color: var(--patent-red); font: .78rem var(--mono); }
body.g24-atlas-ready .g24-rule-copy { min-width: 0; }
body.g24-atlas-ready .g24-rule-copy h3 { font-family: var(--patent-serif); font-size: 1rem; line-height: 1.45; }
body.g24-atlas-ready .g24-rule-copy > small { display: block; margin-top: 3px; color: var(--patent-red); font: .78rem/1.45 var(--mono); }
body.g24-atlas-ready .g24-rule-copy > p { max-width: 76ch; margin: 10px 0 0; color: var(--patent-muted); font-size: .8rem; line-height: 1.65; }
body.g24-atlas-ready .g24-rule-copy dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 14px 0 0; border-top: 1px solid var(--patent-rule); border-bottom: 1px solid var(--patent-rule); }
body.g24-atlas-ready .g24-rule-copy dl > div { min-width: 0; padding: 7px 9px; border-right: 1px solid var(--patent-rule-soft); }
body.g24-atlas-ready .g24-rule-copy dl > div:last-child { border-right: 0; }
body.g24-atlas-ready .g24-rule-copy dt { color: var(--patent-muted); font-size: .78rem; }
body.g24-atlas-ready .g24-rule-copy dd { margin: 3px 0 0; color: var(--patent-ink); font: .78rem/1.45 var(--mono); overflow-wrap: anywhere; }

@media (max-width: 680px) {
  body.g24-atlas-ready .g24-rule-volume > header { grid-template-columns: 1fr auto; gap: 5px 10px; }
  body.g24-atlas-ready .g24-rule-volume > header > span { grid-column: 1 / -1; }
  body.g24-atlas-ready .g24-rule-chapter > summary { grid-template-columns: 38px minmax(0, 1fr) 30px 22px; padding-inline: 10px; }
  body.g24-atlas-ready .g24-rule-chapter > summary::after { grid-column: 4; }
  body.g24-atlas-ready .g24-rule-chapter [data-rule] { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; padding: 16px 10px; background-position: -14px 0; }
  body.g24-atlas-ready .g24-rule-copy dl { grid-template-columns: 1fr; }
  body.g24-atlas-ready .g24-rule-copy dl > div { border-right: 0; border-bottom: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-rule-copy dl > div:last-child { border-bottom: 0; }
}

/* Automation boundary and historical quarantine */
body.g24-atlas-ready .g24-automation-boundary,
body.g24-atlas-ready .g24-quarantine-note {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 0 13px;
  padding: 12px 15px;
  border: 1px solid var(--patent-ink);
}
body.g24-atlas-ready .g24-automation-boundary > span,
body.g24-atlas-ready .g24-quarantine-note > span { display: grid; place-items: center; width: 42px; height: 42px; font-size: 1.2rem; }
body.g24-atlas-ready .g24-automation-boundary dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
body.g24-atlas-ready .g24-automation-boundary dl > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px; padding: 5px 11px; border-right: 1px solid var(--patent-rule-soft); }
body.g24-atlas-ready .g24-automation-boundary dl > div:last-child { border-right: 0; }
body.g24-atlas-ready .g24-automation-boundary dt { color: var(--patent-red); font-size: .78rem; }
body.g24-atlas-ready .g24-automation-boundary dd { margin: 0; color: var(--patent-ink); font-size: .78rem; }
body.g24-atlas-ready .g24-quarantine-note {
  background: repeating-linear-gradient(135deg, rgba(138, 90, 17, .07) 0 4px, transparent 4px 10px);
  border-style: double;
  border-width: 3px;
}
body.g24-atlas-ready .g24-quarantine-note strong { color: #70480c; font-family: var(--patent-serif); font-size: .87rem; }
body.g24-atlas-ready .g24-quarantine-note p { margin: 4px 0 0; color: var(--patent-muted); font-size: .78rem; line-height: 1.55; }
body.g24-atlas-ready .g24-archive-ledger .g24-ledger-row { background-image: repeating-linear-gradient(135deg, rgba(27, 25, 22, .026) 0 2px, transparent 2px 8px); }
body.g24-atlas-ready .g24-archive-ledger .g24-record-icon { filter: grayscale(1); opacity: .7; }

@media (max-width: 760px) {
  body.g24-atlas-ready .g24-automation-boundary,
  body.g24-atlas-ready .g24-quarantine-note { grid-template-columns: 38px minmax(0, 1fr); padding-inline: 10px; }
  body.g24-atlas-ready .g24-automation-boundary > span,
  body.g24-atlas-ready .g24-quarantine-note > span { width: 34px; height: 34px; }
  body.g24-atlas-ready .g24-automation-boundary dl { grid-template-columns: 1fr; }
  body.g24-atlas-ready .g24-automation-boundary dl > div { padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--patent-rule-soft); }
  body.g24-atlas-ready .g24-automation-boundary dl > div:last-child { border-bottom: 0; }
}
