/* Sub-diagrams extend the approved atlas. No global or homepage restyling. */
.atlas-explorer { position: relative; }
.drill-pending { position: absolute; z-index: 2; top: .5rem; right: .5rem; display: flex; align-items: center; gap: .75rem; max-width: calc(100% - 1rem); padding: .35rem .6rem .35rem .8rem; border: 1px solid var(--line); border-radius: 8px; background: var(--atlas-teal-soft); color: var(--atlas-teal); font-size: .76rem; }
.drill-pending button { min-height: 44px; border: 0; padding: .5rem; border-radius: 5px; color: inherit; background: var(--panel); }
.drill-pending button:hover { background: var(--sunken); }
.drill { color: var(--ink); background: white; }
.drill [hidden] { display: none !important; }
.drill-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 1.5rem; border-bottom: 1px solid var(--line); background: #f8faf9; }
.drill-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .55rem; font-size: .76rem; }
.drill-breadcrumb > * { min-height: 44px; display: inline-flex; align-items: center; max-width: 100%; }
.drill-breadcrumb > * + *::before { content: '/'; color: var(--muted); margin-right: .55rem; font-weight: 400; }
.drill-breadcrumb a { text-decoration: none; color: var(--atlas-teal); }
.drill-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.drill-breadcrumb [aria-current] { font-weight: 600; }
.drill-topline > button { min-height: 44px; flex-shrink: 0; border: 0; border-radius: 6px; padding: .5rem .7rem; background: #e4f2ed; color: #17675f; font-size: .76rem; }
.drill-heading { display: flex; align-items: start; justify-content: space-between; gap: 2rem; padding: 1.5rem; }
.drill-heading > div { min-width: 0; }
.drill-heading h2 { margin: 0 0 .5rem; font-size: 1.5rem; font-weight: 650; letter-spacing: -.03em; scroll-margin-top: 1.25rem; }
.drill-heading p { font-size: .85rem; max-width: 70ch; color: var(--muted); margin: 0; }
.drill .atlas-view-control { flex-shrink: 0; }
.drill .atlas-view-control button { min-height: 44px; }
.drill-tabs { display: flex; gap: .3rem; padding: 0 1.5rem 1rem; }
.drill-tabs button { min-height: 44px; border: 0; border-radius: 6px; padding: .5rem .8rem; background: transparent; color: var(--muted); font-size: .8rem; }
.drill-tabs button[aria-pressed='true'] { background: var(--navy-950); color: white; }
.drill-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 300px; border-block: 1px solid var(--line); }
.drill-map { position: relative; min-width: 0; min-height: 460px; padding: 2rem 1.5rem 1rem; background-color: #f7faf9; background-image: radial-gradient(#cbd8d6 .8px, transparent .8px); background-size: 16px 16px; }
.atlas-home .drill-edges { position: absolute; inset: 0; width: 100%; height: 100%; stroke: #aebfc2; stroke-width: 1.5; pointer-events: none; }
.drill-edges path { vector-effect: non-scaling-stroke; }
.drill-edges .is-selected { stroke: #17675f; stroke-width: 2.5; }
.drill-parent { position: relative; display: flex; align-items: center; justify-content: center; gap: .6rem; width: fit-content; max-width: 100%; margin: 0 auto 2.75rem; padding: .8rem 1rem; background: #e4f2ed; color: #17675f; border: 1px solid #b9d2c8; border-radius: 8px; font-size: .82rem; }
.drill-parent strong { font-weight: 600; }
.drill-nodes { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.75rem; }
.drill-nodes > button { position: relative; display: flex; flex-direction: column; align-items: start; gap: .7rem; min-height: 138px; min-width: 0; padding: 1rem; border: 1px solid #cbd8da; border-radius: 9px; background: white; color: #244151; text-align: left; transition: background-color .18s ease-out, border-color .18s ease-out; }
.drill-nodes > button strong { font-size: .83rem; line-height: 1.35; letter-spacing: -.015em; font-weight: 650; overflow-wrap: anywhere; }
.drill-node-hint { font-size: .7rem; color: #5a6e78; margin-top: auto; }
.drill-nodes > button:hover { background: #edf7f1; border-color: #579487; color: #17675f; }
.drill-nodes > button[data-drill-last] { background: var(--atlas-teal-soft); border-color: var(--atlas-teal); }
.drill-nodes > button[aria-pressed='true'] { color: white; background: var(--navy-900); border-color: var(--navy-900); box-shadow: 0 0 0 4px #10284712; }
.drill-nodes > button[aria-pressed='true'] .drill-node-hint { color: #c7dce4; }
.drill-map[data-kind='sequence'] { display: flex; flex-direction: column; justify-content: center; }
.drill-map[data-kind='sequence'] .drill-nodes { margin-block: auto; }
.drill-map-caption { position: relative; margin: 2rem 0 0; font-size: .73rem; color: #4a656d; max-width: 75ch; }
.drill-inspector { padding: 1.3rem 1.4rem; min-width: 0; border-left: 1px solid var(--line); }
.drill-context { font-size: .72rem; font-weight: 600; color: #17675f; margin-bottom: 1rem; }
.drill-inspector h3 { font-size: 1.2rem; font-weight: 650; line-height: 1.3; letter-spacing: -.03em; margin-bottom: .75rem; text-wrap: initial; }
.drill-inspector > p:not(.drill-context) { font-size: .83rem; color: var(--muted); line-height: 1.65; }
.drill-facts { font-size: .76rem; margin: 1rem 0; }
.drill-facts > div { padding-block: .65rem; border-top: 1px solid var(--line-soft); }
.drill-facts dt { color: var(--muted); margin-bottom: .3rem; }
.drill-facts dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.drill-proof { background: #f5f3e9; padding: .8rem; border-radius: 6px; color: #655d43; }
.drill-proof > strong { font-size: .72rem; font-weight: 650; }
.drill-proof p { font-size: .76rem; margin: .4rem 0 0; line-height: 1.6; }
.drill-more { font-size: .78rem; margin-top: .5rem; }
.drill-more > summary { min-height: 44px; padding-block: .6rem; color: var(--blue-600); cursor: pointer; }
.drill-more p { line-height: 1.6; overflow-wrap: anywhere; color: var(--muted); }
.drill-more strong { color: var(--ink); }
.drill-sheet { display: flex; justify-content: space-between; align-items: center; min-height: 44px; font-size: .8rem; font-weight: 600; margin-top: .7rem; text-decoration: none; }
.drill-sheet:hover { text-decoration: underline; }
.drill-footer { display: flex; align-items: center; gap: 1rem; padding: .6rem 1.5rem; font-size: .73rem; }
.drill-footer > a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 550; max-width: 50%; }
.drill-footer > span:last-child { margin-left: auto; font-size: .66rem; color: var(--muted); }
.drill-loading { padding: 3rem 1.5rem; color: var(--muted); min-height: 240px; font-size: .9rem; }
.drill-loading button { min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--line); border-radius: 6px; background: #e4f2ed; color: #17675f; font-size: .85rem; }
.drill-loading a { display: inline-flex; align-items: center; min-height: 44px; margin-left: 1rem; font-size: .85rem; }
@media (max-width: 1100px) {
  .drill-workspace { grid-template-columns: minmax(0, 1fr); }
  .drill-inspector { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2rem; border-left: 0; border-top: 1px solid var(--line); }
  .drill-context, .drill-more, .drill-sheet { grid-column: 1 / -1; }
  .drill-inspector h3, .drill-inspector > p { grid-column: 1; }
  .drill-facts { grid-column: 2; grid-row: 2 / 4; margin-top: 0; }
  .drill-proof { grid-column: 1 / -1; }
  .drill-map { min-height: 360px; }
}
@media (max-width: 760px) {
  .drill-heading { flex-direction: column; gap: 1rem; padding: 1rem; }
  .drill-heading h2 { font-size: 1.25rem; }
  .drill-topline { padding: .6rem 1rem; align-items: start; flex-direction: column; gap: .25rem; }
  .drill-breadcrumb { font-size: .72rem; }
  .drill-tabs { padding-inline: 1rem; }
  .drill-map { padding: 1.5rem 1rem 1rem; }
  .drill-nodes { gap: 1.5rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .drill-nodes > button { padding: .8rem; }
  .drill-footer { flex-wrap: wrap; gap: .25rem 1rem; padding: .5rem 1rem; }
  .drill-footer > a { max-width: 100%; }
  .drill-footer > span:last-child { flex-basis: 100%; margin: .4rem 0; }
}
@media (max-width: 540px) {
  .drill-map[data-kind='sequence'] .drill-nodes { grid-template-columns: minmax(0, 1fr); }
  .drill-map[data-kind='sequence'] .drill-nodes > button { min-height: 110px; }
  .drill-inspector { display: block; padding: 1.2rem; }
  .drill-facts { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .drill * { transition: none !important; scroll-behavior: auto !important; } }
@media print { .drill-pending, .drill-topline > button, .drill-tabs, .drill .atlas-view-control, .drill-footer { display: none; } .drill-workspace { display: block; } .drill-map, .drill-inspector { break-inside: avoid; } }
