/* Landing first: the existing office remains one tab away. */
.intro { min-height: 0; padding: 24px 0 22px; }
.intro h1 { font-size: clamp(27px, 3vw, 42px); margin: 12px 0; }
.intro .site-note { padding: 12px 18px; width: 300px; }
.intro .site-note p { font-size: 15px; margin: 8px 0; }
.intro .note-rule { margin: 8px 0; }
html[data-view="flight"] .intro { padding: 18px 0; }
html[data-view="flight"] .intro h1 { font-size: clamp(24px, 2.6vw, 34px); margin: 12px 0 0; letter-spacing: -1.2px; }
html[data-view="flight"] .intro h1 br, html[data-view="flight"] .intro h1 svg,
html[data-view="flight"] .intro-copy > p, html[data-view="flight"] .site-note p,
html[data-view="flight"] .site-note .note-rule, html[data-view="flight"] .site-note > span:not(.note-number) { display: none; }
html[data-view="flight"] .intro h1 > span { margin-left: .25em; }
.flight-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 0 22px 16px; }
.daily-flight-panel { margin: 0 22px 16px; border: 1px solid var(--line); border-radius: 8px; }
.daily-flight-panel > summary { padding: 12px 14px; cursor: pointer; color: var(--gold); font-size: 12px; }
.daily-flight-panel .todays-flight { border: 0; background: #181422; font-size: 12px; }
.daily-flight-panel .todays-flight > section { border-top: 1px solid var(--line); padding-top: 12px; }
.daily-flight-panel .todays-flight ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 18px; }
.planning-change-summary { margin: 0 22px 16px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.flight-site > details { border-top: 1px solid var(--line); padding: 10px 0; }
.flight-site .planning-dock { font-size: 11px; }
.flight-site .planning-dock h3 { font-size: 14px; }
.flight-site .site-identity { font-size: 11px; padding: 12px 0; }
.flight-site .site-identity-project { padding: 10px 0; border-top: 1px solid var(--line); }
.flight-site .site-identity-project small { font-size: 10px; line-height: 1.6; }
.flight-site .site-identity-project a { overflow-wrap: anywhere; }
.flight-tools label { flex: 1; min-width: 180px; font-size: 8px; letter-spacing: 1px; }
.flight-tools select { max-width: 100%; width: 100%; font-size: 11px; letter-spacing: 0; }
.flight-tools button { font-size: 11px; padding: 9px 12px; align-self: end; }
.construction-view #scene { height: clamp(560px, 76vh, 960px); }
.construction-view #scene canvas { outline-offset: -4px; }
.construction-view .scene-compass, .construction-view .site-stamp { display: none; }
.flight-panel-drawer { position: absolute; top: 18px; right: 18px; width: min(402px, 32%); height: calc(100% - 36px); pointer-events: none; z-index: 6; transition: transform .24s ease; }
.flight-panel-drawer[hidden] { display: none; }
.flight-site { box-sizing: border-box; width: 100%; pointer-events: auto; background: #15111ff2; border: 1px solid #e5c58355; border-radius: 10px; padding: 16px; max-height: 100%; overflow: auto; box-shadow: 0 8px 35px #0005; }
.flight-panel-toggle { position: absolute; top: 12px; right: calc(100% - 1px); pointer-events: auto; padding: 0; width: 36px; min-height: 44px; border-radius: 8px 0 0 8px; border-color: #e5c58355; background: #211c32; font-size: 24px; }
.construction-view #workspace { overflow: hidden; }
#workspace.panel-hidden .flight-panel-drawer { transform: translateX(calc(100% + 18px)); }
#workspace.panel-hidden #flight-site { visibility: hidden; transition: visibility 0s .24s; }
@media (prefers-reduced-motion: reduce) {
  .flight-panel-drawer { transition: none; }
  #workspace.panel-hidden #flight-site { transition: none; }
}
.flight-tools input[type="range"] { width: 100%; accent-color: var(--cyan); }
#campus-artwork .site-identity { padding: 0; }
#campus-artwork .site-identity > strong { display: none; }
#campus-artwork .site-identity-project { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
#campus-artwork img { order: -1; width: 96px; height: 96px; object-fit: contain; border-radius: 12px; background: #252236; }
#campus-artwork small { flex-basis: 100%; }
.campus-plan svg { width: 100%; height: auto; margin: 12px 0; }
.campus-plan h4 { font-size: 13px; }
.campus-plan a { color: var(--cyan); overflow-wrap: anywhere; }
.campus-plan li { font-size: 11px; line-height: 1.6; margin: 8px 0; }
.campus-plan ul { padding-left: 16px; }
.campus-plan details { margin: 12px 0; }
.campus-jobs, .campus-neighbors { display: grid; gap: 8px; margin: 12px 0; }
.campus-jobs button { text-align: left; font-size: 12px; border-left: 4px solid; padding: 10px; white-space: normal; overflow-wrap: anywhere; }
.campus-jobs small { display: block; color: var(--muted); margin-bottom: 4px; }
.immersive-tools { position: absolute; left: 12px; top: 12px; z-index: 5; display: flex; flex-wrap: wrap; gap: 6px; max-width: 65%; }
.immersive-tools button { padding: 9px; background: #211c32; font-size: 11px; }
.historical-reminder { position: absolute; z-index: 5; left: 14px; bottom: 14px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; max-width: min(660px, calc(100% - 28px)); padding: 10px 12px; border: 1px solid #e5c58377; border-radius: 9px; background: #15111fee; box-shadow: 0 8px 30px #0005; }
.historical-reminder[hidden] { display: none; }
.historical-reminder > div { margin-right: 5px; }
.historical-reminder .eyebrow { color: var(--gold); font-size: 8px; letter-spacing: 1px; }
.historical-reminder p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.historical-reminder button { padding: 8px 10px; font-size: 10px; }
#historical-map-dialog { width: min(1040px, calc(100vw - 32px)); max-height: 92dvh; overflow: auto; box-sizing: border-box; }
#historical-map-dialog h2 { margin: 8px 42px 12px 0; }
.historical-map-picker { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.historical-map-picker button[aria-pressed="true"] { border-color: var(--gold); color: var(--gold); }
.historical-map-content h3 { margin: 8px 0; }
.historical-map-date, .historical-map-content > p { line-height: 1.65; }
.historical-map-date { color: var(--muted); font-size: 11px; }
.historical-map-caution { padding: 12px; border-left: 3px solid var(--gold); background: #e5c58312; font-size: 12px; }
.historical-map-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.historical-map-content h4 { margin: 12px 0 6px; color: var(--gold); font-size: 12px; }
.historical-map-content ul { padding-left: 18px; font-size: 11px; line-height: 1.7; }
.historical-map-content li + li { margin-top: 6px; }
.historical-map-paths { border-top: 1px solid var(--line); }
.historical-map-paths a { color: var(--cyan); overflow-wrap: anywhere; }
.historical-map-paths small { display: block; color: var(--muted); }
.historical-map-figure { margin: 16px 0 0; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #0c0a13; }
.historical-map-figure img { display: block; width: 100%; max-height: 70dvh; object-fit: contain; }
.historical-map-figure figcaption { margin-top: 7px; color: var(--muted); font-size: 10px; }
#workspace:fullscreen, #workspace.immersive { width: 100vw; height: 100dvh; background: #100e1d; overflow: auto; }
#workspace.immersive { position: fixed; inset: 0; z-index: 1000; }
.construction-view #workspace:fullscreen #scene, .construction-view #workspace.immersive #scene { height: 100dvh; }
.construction-view #workspace:fullscreen, .construction-view #workspace.immersive { overflow: hidden; }
#workspace.list-mode .historical-reminder { position: static; order: -1; max-width: none; margin: 12px; }
.flight-site .eyebrow { font-size: 8px; color: var(--gold); line-height: 1.8; }
.flight-site h3 { font-size: 17px; margin: 10px 0; overflow-wrap: anywhere; }
.flight-site #share-site { margin-bottom: 12px; }
#share-card { margin-bottom: 16px; }
#share-address { width: 100%; }
#share-dialog p, #share-dialog a { overflow-wrap: anywhere; }
#share-dialog #open-site-address { display: inline-block; margin: 12px 0; }
#site-link-status { color: var(--gold); }
.flight-site p { font-size: 10px; line-height: 1.7; color: var(--muted); margin-bottom: 10px; }
.flight-site #flight-site-metrics { color: var(--cyan); }
.campus-stage { color: var(--gold); font-size: 14px; font-weight: 700; line-height: 1.5; }
.campus-mural { margin: 12px 0; }
.campus-mural img { width: 100%; max-height: 180px; object-fit: cover; border-radius: 8px; }
.campus-mural figcaption { font-size: 9px; line-height: 1.6; }
.campus-details a { color: var(--cyan); overflow-wrap: anywhere; }
.campus-details details { margin: 12px 0; border-top: 1px solid var(--line); padding-top: 10px; }
.campus-details ul { padding-left: 18px; font-size: 11px; line-height: 1.7; }
.campus-details small { display: block; color: var(--muted); overflow-wrap: anywhere; }
.version-mints { border: 1px solid var(--gold); border-radius: 8px; padding: 12px; margin-bottom: 16px; }
.version-mints h4 { color: var(--gold); font-size: 14px; margin: 6px 0; overflow-wrap: anywhere; }
.version-mints article + article { border-top: 1px solid var(--line); padding-top: 12px; margin-top: 12px; }
.mint-faces { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mint-faces figure { margin: 0; min-width: 0; }
.mint-faces img { width: 100%; height: auto; border-radius: 6px; }
.mint-faces figcaption { font-size: 10px; color: var(--muted); }
.version-mints .mint-buy { display: block; padding: 12px; margin-top: 12px; border-radius: 6px; background: #28453e; color: #b8f3e6; font-size: 13px; font-weight: 700; }
#supporter-checkout { width: min(560px, calc(100vw - 32px)); max-height: 90dvh; overflow: auto; box-sizing: border-box; }
#supporter-checkout [data-checkout-image] { display: block; width: min(100%, 300px); height: auto; margin: 12px auto; border-radius: 10px; }
#supporter-checkout [data-checkout-image][hidden] { display: none; }
#supporter-checkout p { overflow-wrap: anywhere; }
#supporter-checkout [data-checkout-buy] { width: 100%; margin: 12px 0; padding: 14px; background: #28453e; color: #b8f3e6; }
#supporter-checkout [role="alert"] { color: #ee92af; }
.flight-site summary { font-size: 11px; color: var(--gold); cursor: pointer; }
#flight-site-items { display: grid; gap: 8px; margin-top: 12px; }
#flight-site-items button { text-align: left; padding: 9px; font-size: 11px; line-height: 1.6; }
.flight-controls { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--line); }
.flight-controls > span, .flight-controls > p { flex: 1 0 100%; font-size: 10px; line-height: 1.6; text-align: center; color: var(--muted); margin: 0; }
.flight-controls button { touch-action: none; user-select: none; padding: 9px 15px; font-size: 11px; }
.construction-view .scene-controls #prev-page, .construction-view .scene-controls #next-page { display: none; }
.construction-view #workspace.list-mode { display: flex; flex-direction: column; }
.construction-view #workspace.list-mode .flight-site { position: static; width: auto; max-height: none; margin: 14px 18px; order: -1; }
@media (max-width: 700px) {
  .intro { gap: 10px; padding: 18px 0; }
  .intro h1 { font-size: 28px; letter-spacing: -1px; }
  html[data-view="flight"] .intro h1 { width: auto; font-size: 24px; line-height: 1.15; }
  html[data-view="flight"] .intro h1 > span { display: block; margin-left: 0; }
  .intro h1 svg, .intro .site-note, .intro-copy > p { display: none; }
  .intro .eyebrow { font-size: 7px; letter-spacing: 1px; flex-wrap: wrap; }
  .flight-tools { padding: 0 12px 12px; gap: 6px; }
  .daily-flight-panel { margin: 0 12px 12px; }
  .planning-change-summary { margin: 0 12px 12px; }
  .flight-tools label { flex-basis: 100%; }
  .flight-tools button { font-size: 9px; padding: 8px; flex: 1; }
  .construction-view .toolbar { flex-wrap: wrap; }
  .construction-view .view-select { max-width: 100%; }
  .construction-view .workspace-heading { padding: 16px 12px; }
  .construction-view .workspace-heading h2 { font-size: 18px; }
  .construction-view #workspace { display: flex; flex-direction: column; }
  .construction-view #scene { height: 65dvh; min-height: 390px; }
  .construction-view #workspace:fullscreen, .construction-view #workspace.immersive { display: block; }
  .construction-view .flight-panel-drawer { top: 18px; right: 8px; width: min(320px, calc(100% - 52px)); max-height: calc(100% - 36px); }
  #workspace:fullscreen .flight-panel-drawer, #workspace.immersive .flight-panel-drawer { top: 110px; height: calc(100dvh - 130px); }
  #workspace.panel-hidden .flight-panel-drawer { transform: translateX(calc(100% + 8px)); }
  .immersive-tools { max-width: 100%; right: 10px; }
  .historical-reminder { left: 8px; bottom: 8px; max-width: calc(100% - 16px); }
  .historical-reminder > div { flex-basis: 100%; }
  #historical-map-dialog { width: calc(100vw - 20px); max-height: 96dvh; padding: 18px; }
  .historical-map-columns { grid-template-columns: 1fr; gap: 4px; }
  .historical-map-figure img { max-height: 58dvh; }
  .construction-view #workspace.list-mode .flight-panel-drawer { position: relative; top: auto; right: auto; width: auto; margin: 12px 12px 12px 48px; height: auto; max-height: none; }
  .construction-view #workspace.list-mode.panel-hidden .flight-panel-drawer { position: absolute; top: 18px; right: 8px; width: calc(100% - 52px); margin: 0; }
  .flight-site h3 { font-size: 16px; }
  .flight-controls { padding: 12px; gap: 6px; }
  .flight-controls button { padding: 10px 12px; }
}
