:root {
  --apu-paper: #f1efe8;
  --apu-ink: #171915;
  --apu-muted: #5f625a;
  --apu-line: rgba(23, 25, 21, 0.22);
  --apu-soft-line: rgba(23, 25, 21, 0.10);
  --apu-marker: #8f542f;
  --apu-panel: rgba(255,255,255,0.38);
  --apu-shadow: 0 20px 70px rgba(31, 31, 25, 0.08);
  --apu-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --apu-serif: Iowan Old Style, Baskerville, "Times New Roman", serif;
  --apu-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    linear-gradient(to right, transparent 0 31px, var(--apu-soft-line) 32px, transparent 33px) 0 0 / 32px 32px,
    linear-gradient(to bottom, transparent 0 31px, var(--apu-soft-line) 32px, transparent 33px) 0 0 / 32px 32px,
    var(--apu-paper);
  color: var(--apu-ink);
  font-family: var(--apu-sans);
  line-height: 1.5;
}
a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--apu-marker); outline-offset: 4px; }
.apu-skip { position:absolute; left:-999px; top:0; background:var(--apu-ink); color:white; padding:.75rem 1rem; z-index:99; }
.apu-skip:focus { left:1rem; top:1rem; }
.apu-frame { width:min(1420px, calc(100% - 32px)); margin:0 auto; }
.apu-global-context { border-bottom:1px solid var(--apu-line); background:rgba(241,239,232,.92); backdrop-filter: blur(10px); }
.apu-global-context__row { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:20px; font:700 .72rem/1 var(--apu-mono); letter-spacing:.08em; text-transform:uppercase; }
.apu-global-context__row a { text-decoration:none; }
.apu-slot-row { display:flex; align-items:center; gap:12px; }
.apu-slot[data-slot-state="unbound"] { display:none; }
.apu-breadcrumbs { margin:0; padding:12px 0; display:flex; align-items:center; gap:8px; list-style:none; color:var(--apu-muted); font-size:.82rem; }
.apu-breadcrumbs a { text-decoration-thickness:1px; text-underline-offset:3px; }
.apu-universe-head { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--apu-line); background:rgba(241,239,232,.94); backdrop-filter:blur(14px); }
.apu-universe-head__row { display:grid; grid-template-columns:minmax(220px, 1fr) auto; gap:28px; align-items:center; min-height:78px; }
.apu-wordmark { text-decoration:none; display:flex; flex-direction:column; gap:2px; }
.apu-wordmark strong { font-family:var(--apu-serif); font-size:1.3rem; font-weight:500; }
.apu-wordmark span { font:700 .65rem/1 var(--apu-mono); letter-spacing:.15em; text-transform:uppercase; color:var(--apu-muted); }
.apu-nav ul { display:flex; gap:4px; list-style:none; margin:0; padding:0; flex-wrap:wrap; justify-content:flex-end; }
.apu-nav a { display:block; padding:.65rem .8rem; text-decoration:none; font-size:.87rem; border:1px solid transparent; }
.apu-nav a:hover { border-color:var(--apu-line); background:rgba(255,255,255,.25); }
.apu-hero { min-height:660px; display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(300px, .75fr); gap:54px; align-items:stretch; border-bottom:1px solid var(--apu-line); }
.apu-hero__copy { padding:100px 0 76px; display:flex; flex-direction:column; justify-content:center; }
.apu-kicker { margin:0 0 18px; font:700 .68rem/1.2 var(--apu-mono); letter-spacing:.13em; text-transform:uppercase; color:var(--apu-marker); }
.apu-hero h1 { margin:0; max-width:840px; font-family:var(--apu-serif); font-weight:400; font-size:clamp(3.8rem, 8vw, 8.8rem); line-height:.84; letter-spacing:-.045em; }
.apu-lede { max-width:720px; margin:38px 0 0; font-size:clamp(1.05rem,1.5vw,1.35rem); color:var(--apu-muted); }
.apu-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:38px; }
.apu-action { display:inline-flex; align-items:center; min-height:48px; padding:0 18px; border:1px solid var(--apu-ink); text-decoration:none; font-weight:650; font-size:.88rem; }
.apu-action--primary { background:var(--apu-ink); color:var(--apu-paper); }
.apu-action--secondary:hover { background:rgba(255,255,255,.38); }
.apu-hero__drawing { min-height:500px; border-left:1px solid var(--apu-line); position:relative; overflow:hidden; background:linear-gradient(135deg, rgba(255,255,255,.34), transparent 52%); }
.apu-drawing-box { position:absolute; inset:84px 12% 80px 14%; border:1px solid var(--apu-ink); }
.apu-drawing-box::before, .apu-drawing-box::after { content:""; position:absolute; background:var(--apu-ink); opacity:.6; }
.apu-drawing-box::before { width:1px; height:150%; left:57%; top:-24%; transform:rotate(29deg); }
.apu-drawing-box::after { height:1px; width:150%; top:64%; left:-27%; transform:rotate(-13deg); }
.apu-drawing-circle { position:absolute; width:58%; aspect-ratio:1; border:1px solid var(--apu-marker); border-radius:50%; left:24%; top:22%; }
.apu-drawing-caption { position:absolute; bottom:26px; left:26px; right:26px; display:flex; justify-content:space-between; gap:16px; font:600 .63rem/1.35 var(--apu-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--apu-muted); }
.apu-section { padding:88px 0; border-bottom:1px solid var(--apu-line); scroll-margin-top:98px; }
.apu-section-head { display:grid; grid-template-columns:180px minmax(0, 1fr); gap:34px; margin-bottom:46px; }
.apu-section-no { font:700 .66rem/1 var(--apu-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--apu-marker); }
.apu-section h2 { margin:0; max-width:930px; font-family:var(--apu-serif); font-weight:400; font-size:clamp(2.2rem,4vw,4.7rem); line-height:.98; letter-spacing:-.025em; }
.apu-mode-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--apu-line); border-left:1px solid var(--apu-line); }
.apu-mode { min-height:250px; padding:26px; border-right:1px solid var(--apu-line); border-bottom:1px solid var(--apu-line); background:var(--apu-panel); display:flex; flex-direction:column; text-decoration:none; }
.apu-mode:hover { background:rgba(255,255,255,.6); }
.apu-mode__meta { display:flex; justify-content:space-between; gap:16px; font:700 .62rem/1 var(--apu-mono); text-transform:uppercase; color:var(--apu-muted); }
.apu-mode h3 { margin:auto 0 14px; font-family:var(--apu-serif); font-size:2.1rem; font-weight:400; }
.apu-mode p { margin:0; color:var(--apu-muted); max-width:34ch; }
.apu-question-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--apu-line); border:1px solid var(--apu-line); }
.apu-question { min-height:210px; padding:30px; background:var(--apu-paper); display:flex; align-items:flex-end; font-family:var(--apu-serif); font-size:clamp(1.45rem,2.3vw,2.45rem); line-height:1.05; }
.apu-lenses { display:flex; gap:8px; flex-wrap:wrap; }
.apu-lens { border:1px solid var(--apu-line); background:rgba(255,255,255,.28); padding:12px 15px; font:650 .8rem/1 var(--apu-mono); text-transform:uppercase; letter-spacing:.06em; }
.apu-atlas { display:grid; grid-template-columns:1.2fr .8fr; border:1px solid var(--apu-line); min-height:460px; box-shadow:var(--apu-shadow); }
.apu-atlas__map { position:relative; min-height:460px; overflow:hidden; background:rgba(255,255,255,.3); }
.apu-atlas__map::before { content:""; position:absolute; inset:8%; border:1px solid var(--apu-line); border-radius:49% 51% 55% 45% / 56% 40% 60% 44%; transform:rotate(-8deg); }
.apu-atlas__map::after { content:""; position:absolute; width:52%; aspect-ratio:1.7; border:1px solid var(--apu-marker); border-radius:50%; left:23%; top:31%; transform:rotate(18deg); }
.apu-atlas__coords { position:absolute; inset:20px; display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(4,1fr); background:linear-gradient(to right, transparent calc(100% - 1px), var(--apu-soft-line) 0), linear-gradient(to bottom, transparent calc(100% - 1px), var(--apu-soft-line) 0); background-size:25% 25%; }
.apu-atlas__copy { padding:40px; border-left:1px solid var(--apu-line); display:flex; flex-direction:column; justify-content:space-between; }
.apu-atlas__copy p { color:var(--apu-muted); font-size:1.05rem; }
.apu-index { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--apu-line); border-left:1px solid var(--apu-line); }
.apu-index__group { padding:26px; border-right:1px solid var(--apu-line); border-bottom:1px solid var(--apu-line); }
.apu-index__group h3 { margin:0 0 24px; font:700 .68rem/1 var(--apu-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--apu-marker); }
.apu-index__group ul { list-style:none; padding:0; margin:0; }
.apu-index__group li { padding:8px 0; border-top:1px solid var(--apu-soft-line); }
.apu-graph { display:grid; grid-template-columns:.82fr 1.18fr; gap:44px; align-items:center; }
.apu-graph__copy ol { padding-left:1.2rem; color:var(--apu-muted); }
.apu-graph__copy li { padding:.5rem 0; }
.apu-graph__visual { position:relative; min-height:430px; border:1px solid var(--apu-line); background:rgba(255,255,255,.3); overflow:hidden; }
.apu-node { position:absolute; min-width:116px; padding:11px 14px; background:var(--apu-paper); border:1px solid var(--apu-ink); font:700 .64rem/1 var(--apu-mono); text-transform:uppercase; text-align:center; z-index:2; }
.apu-node--a { left:7%; top:20%; } .apu-node--b { right:8%; top:16%; } .apu-node--c { left:39%; top:44%; border-color:var(--apu-marker); } .apu-node--d { left:10%; bottom:14%; } .apu-node--e { right:9%; bottom:14%; }
.apu-edge { position:absolute; height:1px; background:var(--apu-ink); transform-origin:left center; opacity:.35; }
.apu-edge--1 { width:47%; left:21%; top:31%; transform:rotate(10deg); } .apu-edge--2 { width:35%; left:48%; top:46%; transform:rotate(-34deg); } .apu-edge--3 { width:39%; left:18%; top:69%; transform:rotate(-33deg); } .apu-edge--4 { width:41%; left:50%; top:55%; transform:rotate(30deg); }
.apu-status { padding:20px 0; color:var(--apu-muted); font-size:.78rem; font-family:var(--apu-mono); }
.apu-footer { padding:58px 0 74px; display:flex; justify-content:space-between; gap:30px; align-items:flex-end; }
.apu-footer strong { font-family:var(--apu-serif); font-size:2rem; font-weight:400; }
.apu-footer p { max-width:510px; margin:10px 0 0; color:var(--apu-muted); }
.apu-footer a { font-weight:700; text-underline-offset:4px; }

@media (max-width: 980px) {
  .apu-universe-head { position:relative; }
  .apu-universe-head__row { grid-template-columns:1fr; padding:18px 0; }
  .apu-nav ul { justify-content:flex-start; }
  .apu-hero { grid-template-columns:1fr; min-height:0; }
  .apu-hero__copy { padding:72px 0 48px; }
  .apu-hero__drawing { min-height:360px; border-left:0; border-top:1px solid var(--apu-line); }
  .apu-mode-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apu-atlas, .apu-graph { grid-template-columns:1fr; }
  .apu-atlas__copy { border-left:0; border-top:1px solid var(--apu-line); }
  .apu-index { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 640px) {
  .apu-frame { width:min(100% - 20px, 1420px); }
  .apu-global-context__row { align-items:flex-start; flex-direction:column; padding:12px 0; }
  .apu-breadcrumbs { overflow-x:auto; white-space:nowrap; }
  .apu-nav ul { display:grid; grid-template-columns:repeat(3,1fr); width:100%; }
  .apu-nav a { text-align:center; padding:.72rem .35rem; border-color:var(--apu-soft-line); }
  .apu-hero h1 { font-size:clamp(3.2rem,20vw,5.3rem); }
  .apu-section { padding:62px 0; }
  .apu-section-head { grid-template-columns:1fr; gap:14px; }
  .apu-mode-grid, .apu-question-grid, .apu-index { grid-template-columns:1fr; }
  .apu-mode { min-height:205px; }
  .apu-question { min-height:170px; }
  .apu-atlas__map { min-height:340px; }
  .apu-atlas__copy { padding:28px; }
  .apu-graph__visual { min-height:360px; }
  .apu-node { min-width:96px; padding:9px 10px; font-size:.56rem; }
  .apu-footer { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
@media (prefers-contrast: more) { :root { --apu-line: rgba(23,25,21,.55); --apu-soft-line: rgba(23,25,21,.28); } }

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


.apu-tl-page{padding-bottom:4rem}.apu-tl-hero{padding:5.5rem 0 3.5rem;border-bottom:1px solid var(--apu-line)}.apu-tl-hero__grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:3rem;align-items:end}.apu-tl-hero h1{font:400 clamp(3rem,7vw,7.4rem)/.88 var(--apu-serif);letter-spacing:-.04em;margin:.25rem 0 1.25rem}.apu-tl-policy{border:1px solid var(--apu-line);padding:1.25rem;background:rgba(255,255,255,.3)}.apu-tl-policy strong,.apu-tl-badge{font:700 .65rem/1.2 var(--apu-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--apu-marker)}.apu-tl-section{padding:3.5rem 0;border-bottom:1px solid var(--apu-line)}.apu-tl-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:2rem;margin-bottom:1.75rem}.apu-tl-head h2{font:400 clamp(2rem,4vw,4rem)/1 var(--apu-serif);margin:.2rem 0}.apu-tl-records,.apu-tl-pairs,.apu-tl-role-grid,.apu-tl-guard-grid{display:grid;gap:1rem}.apu-tl-records{grid-template-columns:repeat(2,minmax(0,1fr))}.apu-tl-record,.apu-tl-pair,.apu-tl-role,.apu-tl-guard{border:1px solid var(--apu-line);background:rgba(255,255,255,.28);padding:1.25rem}.apu-tl-record h3,.apu-tl-pair h3,.apu-tl-role h3{font:400 1.65rem/1.05 var(--apu-serif);margin:.35rem 0 1rem}.apu-tl-state-band{display:grid;gap:.65rem;margin:1.2rem 0}.apu-tl-state{display:grid;grid-template-columns:minmax(120px,.3fr) minmax(0,1fr);gap:1rem;border-top:1px solid var(--apu-line);padding-top:.65rem}.apu-tl-state time{font:700 .72rem/1.2 var(--apu-mono);letter-spacing:.05em}.apu-tl-state strong{display:block}.apu-tl-id{overflow-wrap:anywhere;font:600 .68rem/1.4 var(--apu-mono);color:var(--apu-muted)}.apu-tl-pairs{grid-template-columns:repeat(2,minmax(0,1fr))}.apu-tl-then-now{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:stretch;margin:1rem 0}.apu-tl-anchor{border:1px dashed var(--apu-line);padding:1rem}.apu-tl-arrow{align-self:center;font-size:1.5rem;color:var(--apu-muted)}.apu-tl-empty{padding:.75rem 1rem;border-left:3px solid var(--apu-marker);background:rgba(143,84,47,.07)}.apu-tl-role-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.apu-tl-role ul{padding-left:1.1rem}.apu-tl-guard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.apu-tl-table-wrap{overflow:auto;border:1px solid var(--apu-line)}.apu-tl-table{width:100%;border-collapse:collapse;min-width:900px;background:rgba(255,255,255,.2)}.apu-tl-table th,.apu-tl-table td{padding:.75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--apu-line);font-size:.82rem}.apu-tl-table th{font-weight:700}.apu-tl-table thead th{font:700 .65rem/1.2 var(--apu-mono);letter-spacing:.08em;text-transform:uppercase}.apu-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.apu-lab-grid article{border:1px solid var(--apu-line);padding:1.25rem;background:rgba(255,255,255,.28)}
@media(max-width:900px){.apu-tl-hero__grid,.apu-tl-head{grid-template-columns:1fr}.apu-tl-records,.apu-tl-pairs,.apu-tl-role-grid,.apu-tl-guard-grid,.apu-lab-grid{grid-template-columns:1fr}.apu-tl-then-now{grid-template-columns:1fr}.apu-tl-arrow{transform:rotate(90deg);justify-self:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

.apu-play-page{background:linear-gradient(180deg,rgba(8,18,18,.025),transparent 22%)}
.apu-play-hero{padding:clamp(3.5rem,8vw,7rem) 0 2.5rem;border-bottom:1px solid var(--apu-line,#b8b4aa)}
.apu-play-hero__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.apu-play-policy{border:1px solid currentColor;padding:1.2rem;background:rgba(255,255,255,.38)}
.apu-play-section{padding:clamp(2.7rem,6vw,5.5rem) 0;border-bottom:1px solid var(--apu-line,#b8b4aa)}
.apu-play-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:2rem;align-items:end;margin-bottom:1.7rem}
.apu-play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.apu-play-card{border:1px solid currentColor;padding:1.2rem;background:rgba(255,255,255,.42)}
.apu-play-card__meta{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}
.apu-play-card fieldset{border:0;padding:0;margin:0}.apu-play-card legend{font-size:1.05rem;font-weight:700;line-height:1.35;margin-bottom:1rem}
.apu-play-options{display:grid;gap:.55rem}.apu-play-options label{display:flex;gap:.6rem;align-items:flex-start;border:1px solid rgba(0,0,0,.18);padding:.7rem;cursor:pointer}.apu-play-options input{margin-top:.25rem}
.apu-play-card details{margin-top:1rem;border-top:1px solid rgba(0,0,0,.2);padding-top:.85rem}.apu-play-card summary{cursor:pointer;font-weight:700}.apu-play-answer{padding:.7rem 0 0}.apu-play-point{border-left:3px solid currentColor;padding-left:.7rem}
.apu-play-score{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:currentColor;border:1px solid currentColor}.apu-play-score article{background:#f4f1e8;padding:1rem}.apu-play-score strong{display:block;font-size:2rem}.apu-play-score span{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.apu-play-warning{margin-top:1rem;border:1px dashed currentColor;padding:1rem}.apu-play-table-wrap{overflow:auto;border:1px solid currentColor}.apu-play-table{border-collapse:collapse;width:100%;min-width:920px}.apu-play-table th,.apu-play-table td{border-bottom:1px solid rgba(0,0,0,.18);padding:.7rem;text-align:left;vertical-align:top}.apu-play-table caption{text-align:left;padding:.8rem;font-weight:700}.apu-play-table thead th{background:rgba(0,0,0,.06)}
@media(max-width:820px){.apu-play-hero__grid,.apu-play-head,.apu-play-grid{grid-template-columns:1fr}.apu-play-score{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.apu-play-score{grid-template-columns:1fr}.apu-play-card{padding:1rem}}
@media(prefers-reduced-motion:reduce){.apu-play-card summary{scroll-behavior:auto}}
.apu-play-options input:focus-visible,.apu-play-card summary:focus-visible{outline:3px solid currentColor;outline-offset:3px}
