/* A contained application: the page moves, the anatomy stays readable. */
.atlas-page .page-hero {min-height:0;padding:30px 0 22px}
.atlas-page .page-hero-grid {display:block;min-height:0}
.atlas-page .page-hero-copy {max-width:850px;padding:0}
.atlas-page .page-hero h1 {font-size:clamp(3rem,6vw,5.8rem);line-height:.95;max-width:none}
.atlas-page .hero-intro {font-size:1rem;max-width:690px;margin-top:12px}
.atlas-page .page-hero-art,.atlas-page .hero-bottom-line,.atlas-page .hero-backdrop {display:none}
.atlas-page .hero-category {margin:12px 0 10px}
.atlas-page .interactive-workspace {max-width:1440px;padding-top:20px}
.atlas-page .tool-local-note {margin-bottom:10px}
.body-explorer {--ax-bg:#101932;--ax-panel:#f5f6fc;--ax-text:#172342;--ax-line:#dbe0ef;--ax-accent:#dfff89;position:relative;background:var(--ax-bg);border-radius:30px;overflow:hidden;color:var(--ax-text);box-shadow:0 28px 75px #14234d26;border:1px solid #7186b044;isolation:isolate}
.body-explorer button {font-family:inherit;font-size:.83rem;line-height:1.3;cursor:pointer;min-height:42px;transition:background .18s,color .18s,box-shadow .18s;border:0}
.body-explorer button:focus-visible,.atlas-diagram-dialog button:focus-visible {outline:3px solid #f48357;outline-offset:3px}
.atlas-topbar {display:flex;align-items:center;justify-content:space-between;padding:25px 30px 18px;color:#fff;background:linear-gradient(120deg,#26365b66,transparent)}
.atlas-topbar h2 {font-size:clamp(2rem,3vw,3rem);line-height:1;margin:7px 0 0;letter-spacing:-.02em;color:inherit}
.atlas-kicker {font-size:.63rem;font-weight:800;letter-spacing:.17em;line-height:1.5;color:#7480a3;display:block}
.atlas-topbar .atlas-kicker {color:#b5c5ed}
.atlas-icon {border-radius:50%;width:44px;height:44px;background:#ffffff12;color:inherit;font-size:1.4rem!important;flex-shrink:0}
.atlas-icon:hover {background:#ffffff29}
.atlas-modelbar {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 30px 20px}
.atlas-segment {display:flex;gap:4px;padding:4px;background:#080f24a6;border:1px solid #ffffff14;border-radius:30px}
.atlas-segment button {padding:9px 20px;border-radius:25px;color:#c2cce6;background:transparent;font-weight:700}
.atlas-segment button[aria-pressed=true] {background:var(--ax-accent);color:#1e2e31;box-shadow:0 3px 12px #0003}
.atlas-stage-layout {display:grid;grid-template-columns:minmax(0,1fr) 365px;margin:0 15px;min-height:650px;position:relative;border-radius:22px;overflow:hidden}
.atlas-viewport {position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#394a76 0,#1b294c 42%,#111a33 78%);height:690px;color:#fff}
.atlas-viewport::before {content:"";position:absolute;inset:0;background-image:linear-gradient(#aebce909 1px,transparent 1px),linear-gradient(90deg,#aebce909 1px,transparent 1px);background-size:55px 55px;pointer-events:none;mask-image:linear-gradient(transparent,#000)}
.atlas-viewport::after {content:"BODY / ATLAS";position:absolute;left:22px;top:42%;writing-mode:vertical-rl;font-size:.62rem;font-weight:800;letter-spacing:.3em;opacity:.3;pointer-events:none}
.atlas-stage-heading {position:absolute;top:23px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;font-size:.6rem;font-weight:800;letter-spacing:.14em;pointer-events:none}
.atlas-live-dot {display:flex;align-items:center;gap:7px;color:#dfff89;white-space:nowrap}
.atlas-live-dot::before {content:"";width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}
.atlas-canvas {position:absolute;inset:45px 0 70px;cursor:grab}
.atlas-canvas:active {cursor:grabbing}
.atlas-canvas canvas {display:block;width:100%;height:100%;touch-action:none}
.atlas-pins {position:absolute;inset:0;pointer-events:none}
.atlas-pin {position:absolute;z-index:3;pointer-events:auto;transform:translate(-50%,-50%);width:34px;height:34px;min-height:34px!important;border:1px solid #faffed99!important;border-radius:50%;background:#172546b8;color:#f8ffe9;font-size:.6rem!important;font-weight:800;backdrop-filter:blur(8px);box-shadow:0 0 0 5px #ffffff0b}
.atlas-pin::after {content:attr(data-label);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);font-size:.68rem;white-space:nowrap;background:#0e172e;padding:7px 10px;border-radius:8px;opacity:0;pointer-events:none}
.atlas-pin:hover::after,.atlas-pin:focus-visible::after {opacity:1}
.atlas-pin.is-selected {color:#203023;background:var(--ax-accent);border-color:var(--ax-accent)!important;box-shadow:0 0 0 7px #dfff8926,0 0 30px #dfff8933}
.atlas-view-actions {position:absolute;bottom:35px;left:20px;right:20px;display:flex;justify-content:space-between;gap:8px;z-index:4}
.atlas-view-actions>div {display:flex;gap:4px}
.atlas-view-actions button {border:1px solid #ffffff1f;border-radius:12px;color:#e9efff;background:#0a132ab5;padding:8px 12px;backdrop-filter:blur(10px);min-height:38px;font-size:.7rem}
.atlas-view-actions button:hover {background:#34456f}
.atlas-gesture {position:absolute;bottom:8px;left:10px;right:10px;text-align:center;color:#a4b3d7;font-size:.63rem;margin:0}
.atlas-loading {position:absolute;inset:65px 25px 90px;z-index:8;background:#14213aed;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;padding:24px;border-radius:20px;font-size:.85rem;color:#fff}
.atlas-loading p {max-width:320px;color:#c4cee4}
.atlas-loader {width:35px;height:35px;border:2px solid #ffffff26;border-top-color:#dfff89;border-radius:50%;animation:atlas-spin 1s linear infinite}
@keyframes atlas-spin {to {transform:rotate(360deg)}}
.atlas-inspector {background:var(--ax-panel);min-width:0;position:relative;color:var(--ax-text)}
.atlas-inspector-scroll {height:690px;overflow:auto;overscroll-behavior:contain;padding:22px 24px;scrollbar-width:thin}
.atlas-tabs {display:flex;gap:6px;border-bottom:1px solid var(--ax-line);padding-bottom:14px;margin-bottom:20px}
.atlas-tabs button {background:transparent;color:#778099;font-weight:800;padding:7px 16px;border-radius:25px}
.atlas-tabs button[aria-pressed=true] {background:#253fe0;color:#fff;box-shadow:0 5px 15px #253fe025}
.atlas-region-list {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}
.atlas-region-list button {border:1px solid var(--ax-line);background:transparent;border-radius:10px;color:var(--ax-text);padding:7px 10px;font-size:.68rem;min-height:34px}
.atlas-region-list button:hover {background:#e4e9f7}
.atlas-region-list button[aria-pressed=true] {background:var(--ax-text);color:var(--ax-panel);border-color:var(--ax-text)}
.atlas-region-detail h3,[data-panel-content=appearance] h3 {font-size:2rem;line-height:1.04;letter-spacing:-.02em;margin:8px 0 18px;color:inherit}
.atlas-region-detail h4 {font-size:.8rem;margin:25px 0 9px;color:inherit}
.atlas-region-detail p,[data-panel-content=appearance] p {font-size:.8rem;line-height:1.75;margin:0 0 17px}
.atlas-region-detail details {border-top:1px solid var(--ax-line);border-bottom:1px solid var(--ax-line);padding:15px 0;margin:20px 0}
.atlas-region-detail summary {font-size:.78rem;font-weight:800;cursor:pointer;line-height:1.6}
.atlas-region-detail details p {margin:12px 0 0}
.atlas-region-detail a {font-size:.8rem;color:#2947c9;font-weight:700}
.atlas-source {display:block!important;font-size:.66rem!important;line-height:1.6;margin-top:17px;font-weight:400!important}
.atlas-organ-note {border-left:3px solid #baa2e5;padding-left:12px}
.atlas-muted {color:#727d94}
.body-explorer fieldset {border:0;border-top:1px solid var(--ax-line);padding:18px 0;margin:15px 0 0;min-width:0}
.body-explorer legend {font-size:.76rem;font-weight:800;padding:0 10px 0 0}
.atlas-layer-options {display:flex;gap:6px;flex-wrap:wrap}
.atlas-layer-options button {background:#e5e9f4;padding:10px 12px;border-radius:12px;color:#33405f;font-size:.73rem;min-height:39px}
.atlas-layer-options button[aria-pressed=true] {background:#273eac;color:#fff}
.atlas-layer-options+p {margin:12px 0 0!important;font-size:.7rem!important}
.atlas-swatches {display:flex;gap:9px;flex-wrap:wrap}
.atlas-swatch {background:var(--swatch);width:33px;height:33px;min-height:33px!important;border-radius:50%;box-shadow:inset 0 0 0 1px #0001}
.atlas-swatch[aria-pressed=true] {outline:2px solid #435ade;outline-offset:3px}
.atlas-detail-button {width:100%;border:1px solid var(--ax-line)!important;border-radius:14px;background:transparent;color:var(--ax-text);padding:14px;margin-top:24px;font-weight:700;text-align:left}
.atlas-inline-action {background:#dfff89;color:#1f303a;border-radius:10px;padding:12px 16px;font-size:.75rem!important;font-weight:800;margin:0 0 10px}
.atlas-footer {display:flex;justify-content:space-between;gap:15px;color:#9caed3;padding:18px 30px;font-size:.61rem;line-height:1.5}
.atlas-footer span:first-child {color:#dfff89}
.atlas-sheet-toggle {display:none}
.atlas-challenge {position:absolute;top:60px;left:20px;right:20px;z-index:5;max-width:380px;border-radius:18px;padding:16px 18px;background:#eef6d8ee;color:#1d3042;box-shadow:0 10px 25px #0002;backdrop-filter:blur(12px)}
.atlas-challenge>span {font-size:.57rem;letter-spacing:.14em;font-weight:800;color:#566837}
.atlas-challenge p {margin:7px 0 0;font-size:.8rem;line-height:1.5}
.atlas-challenge [data-task-feedback] {font-size:.73rem}
.atlas-challenge button {background:#203b30;color:#fff;border-radius:10px;padding:8px 15px;min-height:35px;margin-top:12px}
.body-explorer.is-expanded {position:fixed;inset:10px;z-index:1000;display:flex;flex-direction:column;max-width:none;margin:0;border-radius:24px}
.body-explorer.is-expanded .atlas-stage-layout {flex:1;min-height:0}
.body-explorer.is-expanded .atlas-viewport,.body-explorer.is-expanded .atlas-inspector-scroll {height:100%}
.body-explorer.is-expanded .atlas-inspector {min-height:0;overflow:hidden}
.atlas-diagram-dialog {color:var(--ink,#172342);background:var(--paper,#fff);width:min(960px,calc(100% - 24px));max-height:88dvh;border:0;border-radius:24px;padding:28px;box-shadow:0 30px 100px #0005}
.atlas-diagram-dialog::backdrop {background:#0d172bbb;backdrop-filter:blur(8px)}
.atlas-dialog-heading {display:flex;justify-content:space-between;gap:15px;align-items:center}
.atlas-dialog-heading h2 {font-size:2rem;margin:0}
.atlas-dialog-heading .atlas-icon {background:#24365410;color:inherit}
.atlas-diagram-dialog>p {font-size:.8rem;line-height:1.6}
.atlas-diagram-dialog .atlas-picture {max-height:370px}
.atlas-diagram-dialog .tool-detail h3 {font-size:1.9rem}
.atlas-diagram-dialog .tool-detail h4 {font-size:.9rem}
.atlas-diagram-dialog .tool-detail p {font-size:.85rem}
.atlas-diagram-dialog .atlas-parts {gap:6px}
.atlas-diagram-dialog .atlas-grid {grid-template-columns:1fr 1fr;gap:25px}
[data-theme=dark] .body-explorer {--ax-panel:#1b2440;--ax-text:#e5ebfa;--ax-line:#35405c}
[data-theme=dark] .atlas-region-list button:hover,[data-theme=dark] .atlas-layer-options button {background:#303c5b;color:#edf2ff}
[data-theme=dark] .atlas-muted {color:#a9b7d1}
[data-theme=dark] .atlas-region-detail a {color:#a9beff}
[data-theme=dark] .atlas-layer-options button[aria-pressed=true] {background:#596fea}
[hidden] {display:none!important}
@media(min-width:761px) and (max-width:1000px) {.atlas-stage-layout {grid-template-columns:minmax(0,1fr) 310px}.atlas-inspector-scroll {padding:20px 18px}}
@media(max-width:760px) {
  .atlas-page .page-hero {padding:22px 0 15px}
  .atlas-page .page-hero h1 {font-size:3.4rem}
  .atlas-page .hero-category {font-size:.65rem}
  .atlas-page .hero-intro {font-size:.85rem;line-height:1.6}
  .atlas-page .interactive-workspace {padding-left:10px;padding-right:10px;padding-top:10px}
  .atlas-page .tool-local-note {font-size:.65rem;margin-left:8px}
  .body-explorer {border-radius:24px}
  .atlas-topbar {padding:20px 18px 15px}
  .atlas-topbar h2 {font-size:2rem}
  .atlas-kicker {font-size:.55rem}
  .atlas-modelbar {padding:0 12px 12px;gap:6px}
  .atlas-segment {padding:3px;gap:0}
  .atlas-segment button {font-size:.63rem;padding:8px 10px;min-height:35px}
  .atlas-stage-layout {display:block;min-height:0;margin:0 7px;height:690px;border-radius:18px}
  .atlas-viewport {height:100%}
  .atlas-stage-heading {left:16px;right:16px;top:18px;font-size:.52rem;letter-spacing:.1em}
  .atlas-canvas {inset:42px 0 126px}
  .atlas-view-actions {left:12px;right:12px;bottom:87px;gap:5px}
  .atlas-view-actions button {font-size:.59rem;padding:7px 9px;min-height:35px;border-radius:10px}
  .atlas-gesture {bottom:68px;font-size:.54rem}
  .atlas-inspector {position:absolute;bottom:0;left:0;right:0;z-index:6;max-height:48%;border-radius:22px 22px 0 0;box-shadow:0 -12px 40px #03091640;display:flex;flex-direction:column;transition:max-height .3s ease}
  .atlas-sheet-toggle {display:flex!important;align-items:center;justify-content:space-between;background:transparent;color:var(--ax-text);font-size:.73rem!important;font-weight:800;padding:16px 20px;min-height:55px;flex-shrink:0}
  .atlas-sheet-toggle::before {content:"";position:absolute;top:5px;left:calc(50% - 17px);height:3px;width:34px;border-radius:5px;background:#aab4c6}
  .atlas-sheet-toggle span {transform:rotate(180deg);font-size:1rem}
  .atlas-sheet-open .atlas-sheet-toggle span {transform:none}
  .atlas-inspector-scroll {height:auto;overflow:auto;padding:0 19px 22px;min-height:0}
  .body-explorer:not(.atlas-sheet-open) .atlas-inspector {max-height:55px}
  .body-explorer:not(.atlas-sheet-open) .atlas-inspector-scroll {visibility:hidden}
  .atlas-sheet-open .atlas-canvas {bottom:290px}
  .atlas-tabs {padding-bottom:10px;margin-bottom:15px}
  .atlas-tabs button {min-height:35px;padding:7px 16px;font-size:.75rem}
  .atlas-region-list {margin-bottom:20px}
  .atlas-region-list button {min-height:36px;font-size:.66rem}
  .atlas-pin {width:38px;height:38px;min-height:38px!important;font-size:.61rem!important}
  .atlas-pin::after {display:none}
  .atlas-region-detail h3 {font-size:1.8rem}
  .atlas-footer {padding:14px 18px;flex-direction:column;gap:3px;font-size:.57rem}
  .atlas-challenge {top:47px;left:12px;right:12px;padding:12px 15px;max-width:none}
  .atlas-challenge p {font-size:.7rem}
  .atlas-challenge>span {font-size:.5rem}
  .atlas-challenge [data-task-feedback] {font-size:.65rem}
  .atlas-challenge button {min-height:32px;font-size:.65rem}
  .body-explorer.is-expanded {inset:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .body-explorer.is-expanded .atlas-stage-layout {height:auto}
  .body-explorer.is-expanded .atlas-footer {display:none}
  .body-explorer.is-expanded .atlas-topbar {padding-top:13px}
  .atlas-diagram-dialog {padding:20px 15px;border-radius:18px}
  .atlas-diagram-dialog .atlas-grid {grid-template-columns:1fr;gap:20px}
  .atlas-dialog-heading h2 {font-size:1.8rem}
}
@media(prefers-reduced-motion:reduce) {.body-explorer * {transition:none!important;animation:none!important}.atlas-loader {border-color:#dfff89}}

/* Keep the chosen explanation in view instead of behind the entire area menu. */
.atlas-page .page-hero-grid {padding-block:8px 12px}
.atlas-region-picker {border-bottom:1px solid var(--ax-line);padding-bottom:14px;margin-bottom:22px}
.atlas-region-picker>summary {cursor:pointer;font-size:.74rem;font-weight:800;padding:4px 0}
.atlas-region-picker .atlas-region-list {margin:14px 0 0}
.atlas-pin::before {content:"";position:absolute;top:50%;left:100%;width:17px;height:1px;background:#eaffcd77}
.atlas-sheet-open .atlas-inspector-scroll {scroll-behavior:smooth}
@media(max-width:760px){.atlas-page .page-hero-grid {padding-block:0}.atlas-region-picker {margin-bottom:17px}}

.atlas-organ-legend {position:absolute;bottom:81px;left:22px;right:22px;text-align:center;color:#d0dcf6;font-size:.62rem;line-height:1.7;pointer-events:none;margin:0}
@media(max-width:760px){.atlas-organ-legend {bottom:134px;left:22px;right:22px;font-size:.57rem}.atlas-sheet-open .atlas-organ-legend {bottom:49%}}
