@font-face { font-family: "Atlas Inter"; src: url('/fonts/atlas-inter-latin-400.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Atlas Serif"; src: url('/fonts/atlas-instrument-serif-italic.woff2') format('woff2'); font-style: italic; font-weight: 400; font-display: swap; }
/* Supplied trial font: local design preview only; replace with licensed web files before publication. */
@font-face { font-family: "Atlas Rules"; src: url('/fonts/atlas-rules-trial-compressed-regular.otf') format('opentype'); font-style: normal; font-weight: 400; font-display: swap; }
[data-mundus-atlas][hidden] { display: none !important; }
[data-mundus-atlas] {
  font-family: "Inter", Arial, sans-serif;
  --atlas-surface: #f7f3ea;
  --atlas-ink: #282a27;
  --atlas-muted: #707368;
  --atlas-line: rgba(40,42,39,.16);
  --atlas-active: rgba(37,74,56,.075);
  --atlas-hover: rgba(40,42,39,.045);
  --atlas-texture: url('/assets/mundus-socrates-paper-v2.png');
  --atlas-control-size: 44px;
}
[data-mundus-atlas][data-atlas-size="large"] { --atlas-control-size: 60px; }
[data-mundus-atlas][data-atlas-tone="blue"] { --atlas-surface: #0c2588; --atlas-ink: #fffaf0; --atlas-muted: #c0c9eb; --atlas-line: rgba(255,250,240,.2); --atlas-active: rgba(255,250,240,.12); --atlas-hover: rgba(255,250,240,.06); --atlas-texture: none; }
[data-mundus-atlas][data-atlas-tone="chalk"] { --atlas-surface: #173e32; --atlas-ink: #efe5cf; --atlas-muted: #bac7b6; --atlas-line: rgba(239,229,207,.2); --atlas-active: rgba(239,229,207,.1); --atlas-hover: rgba(239,229,207,.05); --atlas-texture: none; }
[data-mundus-atlas][data-atlas-tone="dark"] { --atlas-surface: #191b1e; --atlas-ink: #f5f5f2; --atlas-muted: #b1b3b7; --atlas-line: rgba(245,245,242,.18); --atlas-active: rgba(245,245,242,.1); --atlas-hover: rgba(245,245,242,.05); --atlas-texture: none; }
body.mundus-active .mundus-header__logo { visibility: hidden; pointer-events: none; }
[data-mundus-atlas] *, [data-mundus-atlas] *::before, [data-mundus-atlas] *::after { box-sizing: border-box; }
.atlas-toggle {
  position: fixed;
  top: max(1.65rem, env(safe-area-inset-top));
  left: max(calc(clamp(1.5rem, 3vw, 3.2rem) - .75rem), env(safe-area-inset-left));
  z-index: 200000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max(44px, clamp(2.35rem, 3.1vw, 3.25rem));
  height: max(44px, clamp(2.5rem, 3.3vw, 3.45rem));
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--atlas-ink);
  cursor: pointer;
  transition: color .2s ease, opacity .18s ease;
}
.atlas-helmet { display: block; width: clamp(2.35rem, 3.1vw, 3.25rem); height: clamp(2.5rem, 3.3vw, 3.45rem); background: currentColor; mask: url('/assets/mundus-helmet.png') center / contain no-repeat; }
[data-atlas-dock="edge"] .atlas-toggle { top: auto; bottom: max(16px, env(safe-area-inset-bottom)); left: max(16px, env(safe-area-inset-left)); width: var(--atlas-control-size); height: var(--atlas-control-size); }
[data-atlas-dock="edge"] .atlas-helmet { width: 30px; height: 34px; }
[data-atlas-dock="edge"][data-atlas-size="large"] .atlas-helmet { width: 52px; height: 56px; }
[data-atlas-dock="edge"][data-atlas-edge$="right"] .atlas-toggle { left: auto; right: max(16px, env(safe-area-inset-right)); }
[data-atlas-dock="edge"][data-atlas-edge^="top"] .atlas-toggle { bottom: auto; top: max(16px, env(safe-area-inset-top)); }
[data-atlas-dock="edge"][data-atlas-edge^="middle"] .atlas-toggle { bottom: auto; top: calc(50dvh - var(--atlas-control-size) / 2); }
[data-atlas-dock="edge"][data-atlas-edge^="free"] .atlas-toggle { bottom: auto; top: var(--atlas-edge-top); }
[data-atlas-dock="edge"][data-atlas-edge="bottom-rail-left"] .atlas-toggle { left: env(safe-area-inset-left, 0px); }
[data-atlas-dock="edge"][data-atlas-edge="bottom-rail-right"] .atlas-toggle { right: env(safe-area-inset-right, 0px); }
[data-atlas-dock="edge"][data-atlas-edge="top-rail-left"] .atlas-toggle { left: env(safe-area-inset-left, 0px); }
[data-atlas-dock="edge"][data-atlas-edge="top-rail-right"] .atlas-toggle { right: env(safe-area-inset-right, 0px); }
[data-mundus-atlas][data-atlas-page="quick"] .atlas-toggle {
  top: max(var(--atlas-quick-top, 16px), env(safe-area-inset-top));
  right: auto;
  bottom: auto;
  left: max(var(--atlas-quick-left, 16px), env(safe-area-inset-left));
  width: var(--atlas-control-size);
  height: var(--atlas-control-size);
}
.atlas-toggle:hover { opacity: .78; }
.atlas-toggle:focus-visible { outline: 2px solid #d9b879; outline-offset: 4px; }
.atlas-panel {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background: #2400ff;
  color: #faf9f4;
  font-family: "Atlas Inter", "Inter", Arial, sans-serif;
  overscroll-behavior: contain;
}
.atlas-panel[open] { animation: atlas-open .2s ease-out; }
.atlas-panel::backdrop { background: #2400ff; }
.atlas-art { position: fixed; inset: 0; pointer-events: none; overflow: clip; }
.atlas-art-side { position: absolute; inset-block: 0; width: calc((100% - 860px) / 2 - 24px); overflow: clip; }
.atlas-art-side--left { left: 0; }
.atlas-art-side--right { right: 0; }
.atlas-art-primary { position: absolute; bottom: 0; height: min(100dvh, calc((100vw - 908px) * .95), 1402px); width: auto; max-width: none; }
.atlas-art-side--left .atlas-art-primary { left: 0; }
.atlas-art-side--right .atlas-art-primary { right: 0; }
@media (max-width: 1100px) { .atlas-art { display: none; } }
.atlas-content { position: relative; display: flex; flex-direction: column; justify-content: center; width: min(860px, 100%); min-height: 100%; margin-inline: auto; padding: max(144px, env(safe-area-inset-top)) 32px max(24px, env(safe-area-inset-bottom)); text-align: center; }
.atlas-heading { margin-bottom: 24px; }
.atlas-eyebrow { margin: 0 0 16px; font: 500 10px/1.4 "Inter", Arial, sans-serif; letter-spacing: .15em; color: #d4dfff; }
.atlas-heading h2 { margin: 0; font: 400 clamp(32px, 4vw, 48px)/1.1 "Atlas Inter", "Inter", Arial, sans-serif; text-wrap: balance; }
.atlas-heading em { font-family: "Atlas Serif", "Instrument Serif", Georgia, serif; font-size: 1.15em; font-weight: 400; }
.atlas-close, .atlas-choose { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0; border: 0; color: #faf9f4; background: transparent; text-decoration: none; font: 400 13px/1.4 "Atlas Inter", "Inter", Arial, sans-serif; text-align: center; cursor: pointer; }
.atlas-close { position: fixed; top: max(84px, env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); z-index: 1; width: 44px; height: 44px; border-radius: 50%; }
.atlas-choose { position: relative; top: 16px; width: fit-content; padding-inline: 12px; }
.atlas-control-label { position: relative; padding-block: 4px; white-space: nowrap; }
.atlas-control-label::after { content: ''; position: absolute; inset: auto 0 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: center; transition: transform .18s ease-out; }
.atlas-control-icon { display: grid; place-items: center; width: 16px; height: 16px; }
.atlas-close .atlas-control-icon { width: 36px; height: 36px; border: 1px solid rgba(250,249,244,.55); border-radius: 50%; transition: background-color .18s ease-out, border-color .18s ease-out; }
.atlas-control-icon svg { display: block; width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease-out; }
.atlas-choose:is(:hover, :focus-visible) .atlas-control-label::after { transform: scaleX(1); }
.atlas-close:is(:hover, :focus-visible) .atlas-control-icon { border-color: currentColor; background: rgba(250,249,244,.1); }
.atlas-close:is(:hover, :focus-visible) svg { transform: rotate(90deg); }
.atlas-destinations { display: grid; }
.atlas-link { display: grid; grid-template-columns: 112px minmax(0, 1fr) 112px; align-items: center; gap: 16px; min-height: 96px; padding: 10px 16px; border-top: 1px solid rgba(250,249,244,.3); border-radius: 0; color: #faf9f4; text-decoration: none; transition: background .16s ease; }
.atlas-link:last-child { border-bottom: 1px solid rgba(250,249,244,.25); }
.atlas-link:hover, .atlas-link[aria-current] { background: rgba(255,255,255,.08); }
.atlas-number { font: 400 10px/1.4 monospace; color: #d4dfff; font-variant-numeric: tabular-nums; }
.atlas-entry-art { display: flex; align-items: center; gap: 12px; }
.atlas-entry-art img { display: block; width: 76px; height: 76px; object-fit: cover; }
.atlas-label { display: grid; justify-items: center; gap: 2px; min-width: 0; }
.atlas-label > span { font: 400 56px/1 "Atlas Rules", "Arial Narrow", sans-serif; }
.atlas-label small { font: 400 12px/1.4 "Atlas Inter", "Inter", Arial, sans-serif; color: #d4dfff; text-wrap: pretty; }
.atlas-arrow { display: grid; place-items: center; justify-self: end; width: 32px; height: 32px; font: 400 20px/1 Arial, sans-serif; }
.atlas-link[aria-current] .atlas-arrow { font-size: 0; }
.atlas-link[aria-current] .atlas-arrow::after { content: ''; display: block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: 1; }
.atlas-link:focus-visible, .atlas-close:focus-visible, .atlas-choose:focus-visible { outline: 2px solid #faf9f4; outline-offset: -2px; }
.atlas-footer { display: grid; justify-items: center; gap: 8px; padding-top: 16px; }
.atlas-location { color: #d4dfff; font: 400 9px/1.4 monospace; letter-spacing: .06em; }
@keyframes atlas-open { from { opacity: 0; } to { opacity: 1; } }
@media (min-width: 601px) and (max-height: 850px) {
  .atlas-content { padding-top: max(140px, env(safe-area-inset-top)); padding-bottom: max(20px, env(safe-area-inset-bottom)); }
  .atlas-heading { margin-bottom: 12px; }
  .atlas-heading h2 { font-size: 40px; }
  .atlas-link { min-height: 72px; padding-block: 4px; }
  .atlas-entry-art img { width: 54px; height: 54px; }
  .atlas-label > span { font-size: 42px; }
}
@media (max-width: 600px) {
  .atlas-toggle { top: max(14px, env(safe-area-inset-top)); left: max(14px, env(safe-area-inset-left)); }
  .atlas-content { padding-top: max(140px, env(safe-area-inset-top)); padding-inline: 24px; }
  .atlas-heading { margin-bottom: 24px; }
  .atlas-link { grid-template-columns: 64px minmax(0, 1fr) 64px; min-height: 82px; padding-inline: 8px; gap: 8px; }
  .atlas-entry-art { gap: 6px; }
  .atlas-entry-art img { width: 46px; height: 46px; }
  .atlas-number { font-size: 8px; }
  .atlas-label > span { font-size: 40px; }
  .atlas-label small { font-size: 11px; }
  .atlas-close { top: max(80px, env(safe-area-inset-top)); }
  .atlas-art { display: none; }
}
@media (hover: hover) and (pointer: fine) {
  html, body, body *, .atlas-panel::backdrop { cursor: var(--mundus-cursor, url('/assets/mundus-cursor.png') 3 3, default) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .atlas-panel[open] { animation: none; }
  .atlas-control-label::after, .atlas-control-icon, .atlas-control-icon svg { transition: none; }
  .atlas-close:is(:hover, :focus-visible) svg { transform: none; }
}
