/* September uses one plot coordinate system across views and viewport sizes. */
.atlas-shell { height: auto; overflow: visible; padding-bottom: 28px; }
.atlas-grid { height: auto; align-items: start; }
.atlas-main { grid-template-rows: auto 594px auto auto; }
.atlas-main > * { order: 0; }
.field-share { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 15px; margin-top: 8px; font: 650 12px/1.4 var(--sans); color: var(--ink-soft); }
.field-share a, .field-share button { color: var(--green-deep); text-decoration: underline; text-underline-offset: 3px; }
.field-share button { appearance: none; border: 0; background: none; padding: 0; font: inherit; cursor: pointer; min-width: 66px; min-height: 24px; text-align: left; }
.field-share a:focus-visible, .field-share button:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 3px; }
.atlas-map { --plot-top: 176px; --plot-bottom: 94px; --plot-left: 64px; --plot-right: 24px; height: 594px; min-height: 594px; }
.map-plot, .map-candidates { position: absolute; inset: var(--plot-top) var(--plot-right) var(--plot-bottom) var(--plot-left); }
.map-candidates { z-index: 6; }
.map-first-watch { left: 18px; top: 12px; font-size: 10px; }
.map-editorial-call { top: 38px; left: 18px; right: auto; max-width: calc(100% - 36px); border: 0; padding: 0; font-size: 10px; text-align: left; }
.field-views { position: absolute; z-index: 8; top: 63px; left: 18px; right: 18px; display: flex; gap: 0; margin: 0; padding: 0; border: 0; }
.field-views label { position: relative; cursor: pointer; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.field-views input { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.field-views span { display: block; padding: 8px 12px; border-bottom: 2px solid var(--line); color: var(--ink-soft); font: 700 11px/1.2 var(--sans); }
.field-views input:checked + span { border-color: var(--green); color: var(--green-deep); background: #e8ece7; }
.field-views input:focus-visible + span { outline: 2px solid var(--oxblood); outline-offset: 2px; }
.field-timeline { position: absolute; z-index: 8; top: 105px; left: var(--plot-left); right: var(--plot-right); }
.timeline-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font: 750 11px/1.3 var(--sans); color: var(--green-deep); }
.timeline-heading output { font-weight: 500; color: var(--ink-soft); }
.field-timeline input { display: block; width: 100%; height: 24px; margin: 2px 0 0; accent-color: var(--green-deep); cursor: pointer; }
.field-timeline input:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 2px; }
.timeline-months { display: flex; justify-content: space-between; padding: 0 4px; font: 600 10px/1 var(--sans); color: var(--ink-soft); }
.timeline-months button { appearance: none; border: 0; border-radius: 0; background: none; color: inherit; padding: 5px 0; min-height: 24px; font: inherit; cursor: pointer; }
.timeline-months button:hover, .timeline-months button[aria-current] { color: var(--green-deep); text-decoration: underline; text-underline-offset: 3px; }
.timeline-months button:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 3px; }
.field-change-tooltip { position: fixed; z-index: 100; width: 340px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; padding: 15px 17px; border: 1px solid var(--line-strong); border-top: 3px solid var(--green-deep); border-radius: 4px; background: #fffefb; color: var(--ink); box-shadow: 0 5px 20px #192e2326; font: 13px/1.5 var(--sans); }
.field-change-tooltip[hidden] { display: none; }
.field-change-tooltip .change-date { margin: 0 0 5px; color: var(--oxblood); font-size: 10px; font-weight: 750; }
.field-change-tooltip h3 { margin: 0 0 8px; font: 700 20px/1.15 var(--serif); }
.field-change-tooltip .change-kicker { margin: 0 0 4px; font-size: 11px; font-weight: 750; }
.field-change-tooltip .change-copy { margin: 0; }
.field-change-tooltip ul { margin: 0; padding: 0; list-style: none; }
.field-change-tooltip li + li { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.field-change-tooltip .change-provenance { margin: 10px 0 0; padding-top: 8px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 10px; }
.map-empty { position: absolute; z-index: 7; top: 56%; left: 20%; right: 15%; text-align: center; padding: 16px; background: var(--paper-light); font: 600 14px/1.5 var(--sans); }
.journal-empty { font-size: 14px; line-height: 1.5; }
.field-note-link[hidden], .map-empty[hidden], .journal-empty[hidden], .field-journal[hidden] { display: none; }
.atlas-map .map-candidates .plot-marker { top: var(--y); left: var(--x); font-size: 11px; min-height: 32px; opacity: 1; }
.atlas-map .map-candidates .plot-marker[hidden] { display: none; }
.plot-marker small { padding-left: 5px; border-left: 1px solid var(--line); font-size: 9px; font-weight: 600; }
.plot-marker.openai { --x: 79%; --y: 17%; }
.plot-marker.claude { --x: 71%; --y: 32%; }
.plot-marker.cursor { --x: 48%; --y: 9%; }
.plot-marker.copilot { --x: 66%; --y: 57%; }
.plot-marker.gemini { --x: 83%; --y: 77%; }
.plot-marker.notion { --x: 34%; --y: 36%; }
.plot-marker.glean { --x: 44%; --y: 65%; }
.plot-marker.motion { --x: 51%; --y: 86%; }
.plot-marker.agentforce { --x: 20%; --y: 43%; }
.plot-marker.rovo { --x: 61%; --y: 43%; }
.plot-marker.perplexity { --x: 85%; --y: 65%; }
.plot-marker.openclaw { --x: 73%; --y: 55%; }
.plot-marker.openhands { --x: 24%; --y: 38%; }
.plot-marker.interpreter { --x: 38%; --y: 57%; }
.plot-marker.letta { --x: 65%; --y: 77%; }
.plot-marker.rowboat { --x: 83%; --y: 44%; }
.plot-marker.goose { --x: 42%; --y: 25%; }
.entry-spark, .arrival-beam { display: none; pointer-events: none; }
.new-this-month .entry-spark { display: block; position: absolute; right: -7px; top: -13px; color: #946b2e; font: 18px/1 Georgia, serif; text-shadow: 0 0 3px #fffefb; }
.is-arriving .entry-spark { animation: field-star-arrival 2000ms ease-in-out; }
.is-arriving .arrival-beam { display: block; position: absolute; left: 50%; top: -24px; width: 2px; height: calc(100% + 48px); background: linear-gradient(transparent, #aa823ecc, transparent); box-shadow: -7px 0 0 #aa823e26, 7px 0 0 #aa823e26; animation: field-beam-arrival 2000ms ease-in-out forwards; }
@keyframes field-star-arrival { 0% { opacity: 0; transform: scale(0.2) rotate(-45deg); } 40% { opacity: 1; transform: scale(1.6) rotate(0deg); } 100% { opacity: 1; transform: scale(1); } }
@keyframes field-beam-arrival { 0% { opacity: 0; transform: scaleY(0.1); } 35% { opacity: 0.85; transform: scaleY(1); } 100% { opacity: 0; transform: scaleY(0.4); } }
@media (prefers-reduced-motion: reduce) { .is-arriving .entry-spark { animation: none; } .is-arriving .arrival-beam { display: none; animation: none; } }
.map-zone { z-index: 5; }
.map-zone.operator { top: calc(var(--plot-top) + 7px); left: 70px; }
.map-zone.shepherd { top: calc(var(--plot-top) + 7px); right: 28px; }
.map-zone.tool { bottom: 101px; left: 70px; }
.map-zone.guide { bottom: 101px; right: 28px; }
.map-axis-title.y { top: calc(var(--plot-top) + 8px); left: 15px; font-size: 12px; }
.map-axis-title.x { bottom: 58px; right: 24px; }
.map-axis-end.utility { bottom: 62px; left: 64px; }
.map-axis-end.companion { display: none; }
.field-view-caption { position: absolute; z-index: 8; left: 64px; right: 20px; bottom: 32px; margin: 0; font-size: 10px; color: var(--ink-soft); }
.agency-scale { bottom: 12px; left: 64px; right: 20px; gap: 4px 7px; font-size: 9px; }
.map-reading-guide { display: block; margin: 8px 0 0; border-block: 1px solid var(--line); background: #f5f5f0; }
.map-reading-guide summary { cursor: pointer; padding: 10px 12px; font: 750 12px/1.3 var(--sans); color: var(--green-deep); }
.map-reading-guide > div { display: grid; gap: 6px; padding: 0 12px 12px; font-size: 11px; line-height: 1.45; }
.map-reading-guide p { margin: 0; }
.field-note-link { display: block; width: fit-content; margin-top: 10px; color: var(--green-deep); font: 750 12px/1.5 var(--sans); text-decoration: underline; }
.evidence-ledger { grid-template-columns: 150px minmax(0, 1fr); }
.ledger-rows { grid-auto-flow: row; grid-template-rows: none; gap: 0 12px; }
.ledger-rows li { min-height: 34px; grid-template-columns: 35px 78px minmax(0, 1fr) auto; font-size: 10px; line-height: 1.35; }
.ledger-rows strong, .ledger-rows time, .ledger-rows a { font-size: 10px; }
.ledger-method { display: none; }
.notes-rail { height: auto; overflow: visible; }
.notes-rail-header { min-height: 70px; }
.notes-rail .journal-copy { font-size: 13px; line-height: 1.5; }
.journal-provenance, .journal-judgement { font-size: 11px; line-height: 1.5; }
.notes-rail .journal-list li { display: grid; font-size: 11px; line-height: 1.35; }
.notes-rail .journal-list li:nth-child(n+3) { display: grid; }
.notes-rail .journal-sources a { font-size: 11px; line-height: 1.4; }
.notes-rail .journal-caveat { display: block; font-size: 11px; line-height: 1.4; }
.next-note { display: none; }
.model-horizon { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line-strong); }
.model-horizon h4 { margin: 0 0 8px; font-family: var(--serif); font-size: 24px; }
.model-horizon p { font-size: 14px; line-height: 1.5; }
.model-horizon ul { list-style: none; padding: 0; }
.model-horizon li { display: grid; grid-template-columns: 180px 1fr; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.model-horizon a { color: var(--green-deep); text-decoration: underline; }
.review-boundary { margin-top: 24px; font-size: 12px; line-height: 1.5; }

@media (max-width: 1280px) {
  .atlas-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; align-items: stretch; }
  .atlas-main, .notes-rail { width: 100%; }
  .atlas-main { display: grid; grid-template-rows: auto 594px auto auto; }
  .atlas-intro { grid-column: auto; grid-row: auto; grid-template-columns: 1fr; gap: 20px; padding-bottom: 24px; }
  .atlas-intro h1 { max-width: none; font-size: 42px; }
  .atlas-deck { max-width: 70ch; }
  .atlas-pull { max-width: 760px; padding-left: 18px; }
  .atlas-pull p { max-width: 44ch; font-size: 22px; }
  .atlas-map, .map-reading-guide, .evidence-ledger { grid-column: auto; grid-row: auto; }
  .notes-rail { grid-column: auto; grid-row: auto; padding: 22px 0 0; margin: 0; border-left: 0; }
  .notes-rail-header { min-height: 0; }
  .notes-rail .field-journal { max-width: none; }
  .ledger-rows li > span { display: block; }
}

@media (max-width: 700px) {
  .atlas-main { grid-template-rows: auto 774px auto auto; }
  .atlas-intro h1 { font-size: 36px; line-height: 1.12; }
  .atlas-pull p { font-size: 21px; line-height: 1.22; }
  .atlas-map { --plot-top: 204px; --plot-bottom: 120px; --plot-left: 39px; --plot-right: 12px; height: 774px; min-height: 774px; }
  .map-first-watch { top: 12px; left: 12px; right: 12px; padding: 0; font-size: 10px; }
  .map-editorial-call { top: 40px; left: 12px; right: 12px; font-size: 10px; line-height: 1.4; }
  .field-views { top: 80px; left: 10px; right: 10px; }
  .field-views label { flex: 1; }
  .field-views span { min-height: 40px; padding: 7px 8px; font-size: 10px; text-align: center; }
  .field-timeline { top: 134px; }
  .atlas-map .map-candidates .plot-marker { font-size: 0; min-height: 30px; gap: 3px; padding: 4px; }
  .atlas-map .map-candidates .plot-marker::after { display: block; font-size: 10px; }
  .plot-marker small { display: none; }
  .map-zone { max-width: 110px; padding: 3px; }
  .map-zone strong { font-size: 9px; }
  .map-zone small { display: none; }
  .map-zone.operator { top: calc(var(--plot-top) + 5px); left: 42px; }
  .map-zone.shepherd { top: calc(var(--plot-top) + 5px); right: 15px; }
  .map-zone.tool { bottom: 125px; left: 42px; }
  .map-zone.guide { bottom: 125px; right: 15px; }
  .map-axis-title.y { top: calc(var(--plot-top) + 8px); left: 8px; font-size: 10px; }
  .map-axis-title.x { bottom: 94px; right: 12px; font-size: 11px; }
  .map-axis-end.utility { left: 39px; bottom: 97px; font-size: 8px; }
  .field-view-caption { left: 39px; right: 12px; bottom: 53px; font-size: 10px; line-height: 1.35; }
  .agency-scale { left: 39px; right: 12px; bottom: 14px; font-size: 9px; line-height: 1.4; }
  .agency-scale strong { display: none; }
  .evidence-ledger { display: block; }
  .ledger-rows { display: block; padding: 6px 12px; }
  .ledger-rows li { grid-template-columns: 35px 75px minmax(0, 1fr) auto; min-height: 48px; }
  .model-horizon li { grid-template-columns: 1fr; gap: 4px; }
}
