/* Readable controls retain the original light, serif headings and black sky. */
button, input, select { font: inherit; }
select:focus-visible { outline: 2px solid #d4e7ff; outline-offset: 4px; }
.g-header-end button, .g-header-end a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.g-header-end { gap: 24px; color: #c0cbd8; }
.g-brand { font-size: 13px; }
.g-brand small { font-size: 11px; }
.g-eyebrow, .g-scene-header .g-eyebrow { font-size: 12px; color: #b6c3d2; }
.g-live { font-size: 12px; color: #b6c3d2; }
.g-scene-header { min-height: 88px; padding-bottom: 16px; }
.g-copy { max-width: 440px; }
.g-copy-text { font-size: 16px; line-height: 1.8; max-width: 360px; color: #bec8d5; }
.g-step .g-intro-title { font-size: 16px; line-height: 1.6; }
.g-aside, .g-probe-invite, .g-compare-invite { font-size: 13px; line-height: 1.8; max-width: 360px; color: #b1bfd0; }
.g-scroll-hint, .g-end-link, .g-start-again { font-size: 14px; min-height: 44px; align-items: center; }
.g-end-link, .g-start-again { display: flex; }
.g-copy-stat strong { font-family: 'Times New Roman', Times, serif; font-size: 64px; font-variant-numeric: lining-nums tabular-nums; font-feature-settings: 'lnum' 1, 'tnum' 1; letter-spacing: -.025em; line-height: 1; }
.g-copy-stat span { font-size: 14px; line-height: 1.5; max-width: 112px; color: #b6c3d2; }
.g-star-caption .g-eyebrow { font-size: 12px; }
.g-star-caption p { font-size: 14px; line-height: 1.6; }
.g-readout { font-size: 12px; line-height: 1.5; bottom: 5px; align-items: center; }
.g-readout > span:first-child { font-size: 11px; letter-spacing: .04em; }
.g-readout > span:last-child { max-width: 42%; text-align: right; }
.g-readout-actions { gap: 14px; }
#g-probe-pin, #g-probe-clear, #g-zoom { font-size: 13px; min-height: 32px; display: inline-flex; align-items: center; }
#g-probe-pin[hidden], #g-probe-clear[hidden], #g-zoom[hidden] { display: none; }
.g-transition-label { font-size: 13px; }
.g-stage-line { height: 40px; line-height: 20px; font-size: 12px; align-items: center; }
.g-stage-name, #g-mark-key { font-size: 12px; }
#g-mark-key { max-width: 55%; }
.g-cycle-following { font-size: 13px; line-height: 20px; gap: 16px; }
.g-cycle-following-primary { gap: 12px; }
.g-cycle-switches { gap: 8px; }
.g-cycle-switches button { width: 32px; height: 32px; padding: 0; line-height: 30px; font-size: 13px; }
.g-cycle-switches button:before, #g-cycle-show-all:before { content: none; }
#g-cycle-show-all { font-size: 12px; min-height: 32px; line-height: 20px; }
.g-replay { grid-template-columns: auto minmax(0,1fr); gap: 24px; margin-top: 14px; }
.g-replay-actions { display: flex; align-items: center; gap: 18px; min-width: 0; }
.g-replay-actions > button { display: flex; align-items: center; gap: 10px; padding: 0; text-align: left; white-space: nowrap; font-size: 13px; min-height: 44px; }
#g-play-icon { width: 44px; height: 44px; flex: 0 0 44px; padding: 0; position: relative; font-size: 0; }
#g-play-icon:before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; transform: translate(-40%,-50%); }
#g-play[aria-label='Pause measured light'] #g-play-icon:before { width: 9px; height: 12px; border: 0; border-left: 3px solid currentColor; border-right: 3px solid currentColor; transform: translate(-50%,-50%); }
.g-playback-speed { display: flex !important; align-items: center; justify-content: flex-start !important; gap: 9px !important; font-size: 12px !important; color: #c0cbd8; white-space: nowrap; }
.g-playback-speed select { min-height: 44px; min-width: 82px; color: #eeeae2; background: #000; border: 1px solid #778394; border-radius: 7px; padding: 7px 9px; font-size: 14px; font-variant-numeric: tabular-nums; }
.g-replay label[for='g-time'] { font-size: 12px; line-height: 1.5; color: #bac6d5; }
.g-replay input[type=range] { height: 30px; }
.g-observation-note { font-size: 12px; line-height: 1.6; color: #aebed0; flex-wrap: wrap; margin-top: 9px; }
.g-chapters { justify-content: space-between; gap: 12px; padding: 4px 0 0; }
.g-chapters a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.g-chapters a span { font-size: 11px; opacity: 1; color: #aebed0; }
.g-bottom { font-size: 12px; line-height: 1.7; }
.g-dialog-body { font-size: 15px; line-height: 1.8; color: #becad8; }
.g-source p, .g-downloads, .g-note-final { font-size: 14px; }
.g-dialog-head button { position: relative; display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; font-size: 0; }
.g-dialog-head button:before, .g-dialog-head button:after { content: ''; position: absolute; top: 50%; left: 50%; width: 14px; height: 1.5px; background: currentColor; transform: translate(-50%,-50%) rotate(45deg); }
.g-dialog-head button:after { transform: translate(-50%,-50%) rotate(-45deg); }
#g-rhythms-description { font-size: 15px; }
.g-rhythm-type { font-size: 12px; }
.g-rhythm-card-details, .g-rhythm-period, .g-rhythm-footnote { font-size: 12px; line-height: 1.6; }
.g-rhythm-selected { font-size: 11px; }
.g-rhythm-name { font-size: 23px; }
.g-rhythm-card-details { flex-wrap: wrap; }
@media(min-width:1700px) { .g-header, .g-journey, .g-bottom { max-width: none; margin-left: 4.2%; margin-right: 4.2%; }.g-visual { margin-left: 50px; } }
@media(max-width:1100px) { .g-brand small { display: none; }.g-header-end { gap: 18px; }.g-copy-text { font-size: 15px; }.g-aside, .g-probe-invite, .g-compare-invite { font-size: 13px; }.g-play-text, #g-play-text { display: none; }.g-replay { gap: 16px; }.g-live { display: none; } }
@media(max-width:760px) {
  .g-header { gap: 10px; }
  .g-brand { font-size: 11px; letter-spacing: .06em; gap: 7px; }
  .g-header-end { gap: 12px; }
  .g-header-end button, .g-header-end a { font-size: 12px; }
  .g-header-end .g-explorer { display: none; }
  .g-visual { height: auto; min-height: 0; max-height: none; padding-top: 8px; }
  .g-scene-header { min-height: 62px; padding-bottom: 10px; }
  .g-scene { flex: none; height: 300px; min-height: 300px; }
  .g-copy { max-width: 460px; padding-right: 0; }
  .g-copy-text { font-size: 15px; line-height: 1.8; max-width: 390px; }
  .g-step .g-intro-title { font-size: 15px; }
  .g-aside, .g-probe-invite, .g-compare-invite { font-size: 13px; max-width: 390px; }
  .g-copy-stat strong { font-size: 56px; }
  .g-copy-stat span { font-size: 13px; }
  .g-star-caption .g-eyebrow { font-size: 11px; }
  .g-star-caption h2 { font-size: 28px; }
  .g-star-caption p { font-size: 12px; }
  .g-readout { gap: 8px; font-size: 11px; }
  .g-readout > span:first-child { font-size: 10px; letter-spacing: 0; }
  .g-readout > span:last-child { display: none; }
  .g-readout-actions { gap: 12px; }
  #g-probe-pin, #g-probe-clear, #g-zoom { font-size: 12px; min-height: 32px; }
  .g-scene-footer { padding: 8px 0; }
  .g-stage-line { height: 40px; flex-wrap: wrap; gap: 0 12px; align-content: center; }
  .g-stage-name, #g-mark-key { font-size: 11px; line-height: 18px; }
  #g-mark-key { max-width: none; text-align: left; }
  .g-cycle-following { gap: 8px; font-size: 11px; line-height: 16px; }
  .g-cycle-following-primary { gap: 8px; flex: 1; justify-content: space-between; }
  #g-cycle-following-text { white-space: normal; max-width: 64px; }
  .g-cycle-switches { gap: 6px; }
  .g-cycle-switches button { font-size: 12px; }
  #g-cycle-show-all { font-size: 11px; flex-shrink: 0; }
  .g-replay { grid-template-columns: 128px minmax(0,1fr); gap: 12px; margin-top: 8px; align-items: center; }
  .g-replay-actions { gap: 8px; }
  .g-playback-speed > span { display: none; }
  .g-playback-speed select { min-width: 76px; width: 76px; font-size: 13px; padding: 7px 6px; }
  .g-replay label[for='g-time'] { flex-direction: column; gap: 0; font-size: 11px; }
  .g-replay input[type=range] { height: 26px; }
  .g-observation-note { gap: 0; font-size: 11px; line-height: 1.5; margin-top: 6px; }
  .g-observation-note > span { max-width: none !important; width: 100%; }
  .g-chapters a { font-size: 12px; min-height: 44px; padding: 0; }
  .g-chapters a span { display: none; }
  .g-chapters { gap: 6px; }
  .g-rhythm-name { font-size: 22px; }
  .g-rhythm-type, .g-rhythm-period, .g-rhythm-card-details, .g-rhythm-footnote { font-size: 12px; }
  #g-rhythms-description { font-size: 14px; }
  .g-bottom { font-size: 11px; }
}
/* Short screens retain access to the larger chart controls and the story. */
@media(max-width:760px) and (max-height:800px) {
  .g-visual { max-height: calc(100svh - var(--header) - 140px); overflow-y: auto; scrollbar-width: thin; }
}
@media(min-width:761px) and (max-height:700px) {
  .g-visual { min-height: 0; max-height: calc(100svh - var(--header) - 24px); overflow-y: auto; scrollbar-width: thin; }
  .g-scene { flex: 0 0 300px; min-height: 300px; }
}

.g-bottom .portfolio-credit{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
