/* Shared sage / forest foundation. Brand, exposure and AQI have separate roles. */
:root {
  --font-body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-heading:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  --paper:#f1f5ee; --surface:#ffffff; --surface-soft:#e7eee2; --surface-raised:#f8faf5;
  --ink:#193c30; --muted:#53675c; --line:#d9e3d6; --track:#e1e9dd;
  --forest:#194e3a; --action-hover:#246449; --on-action:#f5fff4; --focus:#377858;
  --exposure-green:#2e9963; --exposure-green-ink:#22613e; --exposure-green-soft:#e4f2e6;
  --exposure-yellow:#d6a930; --exposure-yellow-ink:#765900; --exposure-yellow-soft:#fbf2d3;
  --exposure-red:#d14e57; --exposure-red-ink:#a13240; --exposure-red-soft:#fbe7e8;
  --xp:#7651a8; --xp-soft:#f0e9f8;
  --j-green:var(--exposure-green); --j-yellow:var(--exposure-yellow); --j-red:var(--exposure-red);
  --j-game:var(--xp); --j-game-soft:var(--xp-soft);
  --hero:#173f31; --hero-ink:#f0f6e9; --hero-muted:#d0dfca;
  --shadow:0 5px 20px #173f3108; --dialog-shadow:0 24px 80px #112d2930;
  --icon-filter:none; --action-icon-filter:brightness(0) invert(1); --ring-glow:0px;
  color-scheme:light; background:var(--paper); color:var(--ink); font-family:var(--font-body);
}
:root[data-theme=dark] {
  --paper:#141c19; --surface:#1d2c24; --surface-soft:#263a2d; --surface-raised:#213329;
  --ink:#edf5e8; --muted:#b1c4b3; --line:#3b5141; --track:#354a3b;
  --forest:#a7d58d; --action-hover:#bce9a4; --on-action:#173324; --focus:#b1df98;
  --exposure-green:#71d58a; --exposure-green-ink:#97e1a5; --exposure-green-soft:#233f2d;
  --exposure-yellow:#edc451; --exposure-yellow-ink:#f1d37b; --exposure-yellow-soft:#41391f;
  --exposure-red:#f47a84; --exposure-red-ink:#ffa5ac; --exposure-red-soft:#47292f;
  --xp:#c4a4ed; --xp-soft:#352b44;
  --hero:#0e281c; --hero-ink:#f0ffe8; --hero-muted:#c1d8ba;
  --shadow:0 5px 24px #00000012; --dialog-shadow:0 24px 80px #00000070;
  --icon-filter:brightness(0) invert(.9); --action-icon-filter:brightness(.2); --ring-glow:4px;
  color-scheme:dark;
}
body {background:var(--paper);color:var(--ink);font-family:var(--font-body)}
h1,h2,h3,.brand {font-family:var(--font-heading)}
.atmosphere {display:none}
.app-header {max-width:1248px;padding:0 32px;gap:24px;height:88px}
.header-right {gap:16px}
.appearance-control {display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.appearance-control img {width:18px;height:18px;filter:var(--icon-filter)}
#appearance {appearance:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:9px 7px;font:500 12px var(--font-body);min-height:40px;max-width:105px}
.main-nav {margin-left:0}
.main-nav a {color:var(--muted)}
.main-nav a.active {background:var(--surface-soft);color:var(--ink)}
.brand-mark {background:var(--forest);color:var(--on-action)}
.brand-dot {color:var(--forest)}
.demo-tag,.place,.place .date-now,.eyebrow,.air-toolbar,.app-footer,.app-footer>span,.app-footer button {color:var(--muted)}
.chart-caption,.today-footer,.footer-divider {color:var(--muted)}
.today-footer>span>strong {color:var(--ink)}
.text-link,.j-undo {color:var(--forest)}
.j-card-heading>span {color:var(--muted)}
.profile-button>span:first-child {border-color:var(--line)}
main {max-width:1184px;margin:0 auto;padding:32px 0 0}
.section-card,.j-today-intro,.j-level-card,.j-streak-card,.j-total-card,.j-your-plan,.research-card {background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.section-title p,.j-muted,.research-intro p,.research-card p,.j-reference-model .section-title p,.j-reference-caveat,.j-method-details p,.j-model-rows span,.j-formula-summary p {color:var(--muted)}
.section-title p,.j-reference-model .section-title p,.j-reference-caveat,.j-method-details p {font-size:14px;line-height:1.7}
.j-method-table th,.j-method-table td,.j-method-table caption,.j-reference-table th,.j-reference-table td,.j-reference-table caption {font-size:13px}
.j-reference-model table {color:var(--ink)}
.j-reference-model table th,.j-reference-model table td {border-color:var(--line)}
.j-reference-model table thead th {background:var(--surface-soft);color:var(--muted);font-size:12px}
.j-reference-model table caption {color:var(--muted);font-size:13px}
.j-reference-model details {border-color:var(--line)}
.j-reference-model summary,.research-card summary,.research-source a,.j-score-card a,.j-plan-link {color:var(--forest)}
.j-current-fit,.j-model-rows>div,.research-source,#pm-bottom-current {border-color:var(--line)}
.j-formula,.j-reference-equation,.j-method-details code {background:var(--surface-soft);color:var(--ink)}
.j-model-rows>div>small,.j-model-rows strong small,#pm-bottom-current strong small,#pm-bottom-current>div>span:last-child {color:var(--muted)}
.air-hero {background:var(--hero);color:var(--hero-ink);box-shadow:var(--shadow)}
.air-hero:before,.air-hero:after {display:none}
.hero-top,.hero-reading,.hero-weather,.hero-number small,.hero-number em,.outlook-copy>span:last-child,.severity-title,.severity-ticks,.severity-key,.severity-key small {color:var(--hero-muted)}
.hero-arrow {color:var(--hero-ink);border-color:#ffffff40}
.outlook-copy strong {color:var(--hero-ink)}
.outlook-action {align-items:center;padding:18px;border:1px solid #ffffff45;border-radius:16px;background:#ffffff0c;transition:background .18s,border-color .18s}
.outlook-action:hover {background:#ffffff1c;border-color:#ffffff80}
.outlook-action:focus-visible {outline-color:var(--hero-ink)}
.outlook-open {display:flex;align-items:center;gap:8px;flex-shrink:0;color:var(--hero-ink);font-size:12px;font-weight:600}
.outlook-open>span {font-size:22px}
@media(max-width:420px){.outlook-action{align-items:flex-start;flex-direction:column;gap:12px}}
.week-card {background:var(--surface-soft);border-color:var(--line)}
.week-card p,.week-reading-label,.week-readings td,.week-readings th,.week-clock-picker p,#week-message {color:var(--muted)}
#week-selected-time {color:var(--ink)}
.week-readings th,.week-readings td,.week-reading-label {border-color:var(--line)}
.button {border-radius:14px;font-weight:600;min-height:44px}
.button.primary {background:var(--forest);color:var(--on-action)}
.button.primary:hover {background:var(--action-hover)}
.button.secondary,.j-round,.close-dialog {background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.j-icon,.pm-icon {filter:var(--icon-filter)}
.button.primary .j-icon,.j-today-intro-action .button .j-icon,.j-week-card>.button .j-icon,.j-reward-content>.button .j-icon {filter:var(--action-icon-filter)}
:is(button,a,input,select,summary,[role=slider]):focus-visible {outline:3px solid var(--focus);outline-offset:4px}
dialog {background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:var(--dialog-shadow)}
dialog::backdrop {background:#0a1c1580;backdrop-filter:blur(5px)}
#methods-dialog h3 {color:var(--ink)}
#methods-dialog p,#methods-dialog li {color:var(--muted)}
#methods-dialog a {color:var(--forest)}
.dialog-intro,.field-help,.settings-health summary,.form-grid label,.single-field,.form-grid label>span,.single-field>span,.methods-content p,.methods-content li,.location-city label {color:var(--muted)}
.form-grid input,.form-grid select,.single-field input,.forecast-inputs input,.location-city select,.j-personalise input:not([type=checkbox]) {background:var(--surface-raised);border-color:var(--line);color:var(--ink)}
fieldset,.settings-health,.dialog-actions {border-color:var(--line)}
.field-error,#j-indoor-error {color:var(--exposure-red-ink)}
.j-today-earned {border-color:var(--line)}
.j-today-intro-summary p strong {color:var(--ink)}
.j-today-earned dt,.j-today-intro-summary p>span,.j-today-intro-action>span {color:var(--muted)}
.j-today-earned .j-earned-green dd,.j-week-card .j-card-heading>strong {color:var(--exposure-green-ink)}
.j-today-earned .j-earned-yellow dd {color:var(--exposure-yellow-ink)}
.j-today-earned .j-earned-xp dd,.j-history-item .j-xp {color:var(--xp)}
.j-week-bars i {background:var(--exposure-green)}
.j-week-bars span,.j-week-bars small,.j-week-card>p:last-of-type,.j-week-days>span,.j-streak-card span,.j-total-card span {color:var(--muted)}
.j-week-days,.j-week-days>span,.j-history-item,.j-planned-item {border-color:var(--line)}
.j-week-days .done,.j-done {background:var(--xp-soft);border-color:var(--xp)}
.j-week-days .today {border-color:var(--xp)}
.j-level-number {border-color:var(--xp-soft)}
.j-level-number .j-icon {background:transparent}
.j-level-card .eyebrow,.j-level-card p,.j-level-card p strong {color:var(--xp)}
.j-xp-track {background:var(--xp-soft)}
.j-xp-track i {background:var(--xp)}
.j-badges button>span,.j-badges .earned>span {background:var(--xp-soft);border-color:var(--line)}
.j-badges .earned>span {border-color:var(--xp)}
.j-badges strong,.j-badges small,.j-history-item span:not(.j-exercise-icon),.j-history-item small,.j-personalise label,.j-personalise p,.j-local-card p,.j-score-card p,.j-import-label,.j-planned-item span:not(.j-exercise-icon),.j-planned-item small {color:var(--muted)}
.j-badges .earned small {color:var(--xp)}
.j-exercise-icon {background:var(--surface-soft)}
.j-empty {background:var(--surface-raised);border-color:var(--line)}
.j-empty h3 {color:var(--ink)}
.j-empty p {color:var(--muted)}
.j-storage-warning {background:var(--exposure-yellow-soft);border-color:var(--exposure-yellow);color:var(--exposure-yellow-ink)}
.j-reward,.j-badge-dialog {background:var(--surface);color:var(--ink)}
.j-reward-emblem,#j-reward-stats {background:var(--surface-soft)}
#j-reward-stats strong {color:var(--exposure-green-ink)}
#j-reward-stats>span,.j-badge-dialog p {color:var(--muted)}
#j-new-badges>div {background:var(--xp-soft);border-color:var(--line)}
#j-new-badges strong,#j-new-badges span {color:var(--xp)}
.chart svg text {fill:var(--muted)}
.chart svg .chart-value {fill:var(--ink)}
.toast {background:var(--forest);color:var(--on-action)}
.close-button {background:var(--surface-soft);color:var(--ink);border:1px solid var(--line)}
.mobile-nav {display:none}
.air-insight{padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:var(--surface-soft);color:var(--ink)}
.week-card .air-insight{margin-top:20px;padding:18px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.air-insight h3{font-size:15px;line-height:1.4;font-weight:700;margin:0 0 8px;letter-spacing:-.2px}
.air-insight p{font-size:14px;line-height:1.65;margin:0;color:var(--ink)}
.air-insight-footer{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:12px}
.air-insight small{font-size:11px;line-height:1.5;color:var(--muted)}
.air-insight [data-insight-action]{min-height:48px;width:100%;text-align:center;white-space:normal;font-size:13px}
.air-insight [data-insight-action]:disabled{opacity:.55;cursor:default}
@media(max-width:1250px){main{margin:0 32px}.app-header{padding:0 32px}.demo-tag{display:none}}
@media(max-width:900px){.app-header{gap:12px}.main-nav a{padding:10px}.profile-label{display:none}}
@media(max-width:960px){
  body{padding-bottom:82px}.app-header{height:76px;padding:0 20px}.main-nav{display:none}.header-right{margin-left:auto;gap:12px}
  main{margin:0 20px;padding-top:24px}.appearance-control{gap:5px}#appearance{font-size:12px;max-width:94px}
  .page-heading{align-items:flex-start;flex-direction:column;gap:12px}.page-heading .place{font-size:12px;align-items:center}.place .date-now{font-size:12px}
  .mobile-nav{position:fixed;inset:auto 0 0;z-index:40;display:flex;justify-content:center;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 24px #10291c08}
  .mobile-nav a{max-width:160px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 4px;border-radius:14px;font-size:11px;font-weight:600;color:var(--muted);min-height:54px}
  .mobile-nav img{width:22px;height:22px;filter:var(--icon-filter)}.mobile-nav a[aria-current=page]{background:var(--surface-soft);color:var(--ink)}
  .toast{bottom:88px}.j-topline>button{display:none}.app-footer{padding-bottom:20px}
}
@media(max-width:400px){main{margin:0 16px}.app-header{padding:0 16px}.appearance-control>img{display:none}.header-right{gap:9px}.brand{font-size:23px}.profile-button>span:first-child{width:32px;height:32px}}

/* Compact Today readings; scale positions remain proportional to numerical AQI. */
.air-hero{min-height:0;padding:24px 28px}
.air-metrics{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center;gap:18px;margin:18px 0 12px}
.air-metric{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.air-metric+.air-metric{border-left:1px solid #ffffff28;padding-left:18px}
.air-metric-label{font-size:13px;font-weight:600;color:var(--hero-muted)}
.air-metric-label small{display:block;font-size:10px;font-weight:400;margin-top:3px}
.air-metric-value{font-family:var(--font-heading);font-size:34px;line-height:1.1;letter-spacing:-1px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--hero-ink)}
.air-metric-aqi .air-metric-value{font-size:76px;letter-spacing:-4px;font-weight:500}
.air-metric-aqi .status-pill{font-size:11px;padding:5px 10px}
.air-metric-unit,.air-reading-time{font-size:11px;line-height:1.5;color:var(--hero-muted)}
.air-hero .aqi-severity{margin-top:18px;container-type:inline-size}
.air-hero .severity-title{margin-bottom:12px}
.severity-ticks{height:18px}
.severity-band-labels{position:relative;height:21px;color:var(--hero-muted);font-size:10px;line-height:1.3}
.severity-band-labels>span{position:absolute;top:0;white-space:nowrap}
.air-hero .hero-bottom{margin-top:16px;padding:14px 16px}
@container(max-width:520px){
 .severity-band-labels{height:42px;font-size:9px}
 .severity-band-labels>span:nth-child(even){top:20px}
 .severity-band-labels>span:nth-child(even):before{content:'';position:absolute;left:0;top:-17px;height:13px;border-left:1px solid #ffffff40}
}
@media(max-width:420px){
 .air-hero{padding:22px 18px}
 .air-metrics{gap:10px;grid-template-columns:1.3fr 1fr 1fr}
 .air-metric+.air-metric{padding-left:10px}
 .air-metric-label{font-size:11px}
 .air-metric-value{font-size:27px}
 .air-metric-aqi .air-metric-value{font-size:58px;letter-spacing:-3px}
 .air-metric-aqi .status-pill{font-size:10px;padding:4px 8px}
}

/* Plain selected-hour summary, using the existing Planner reading panel. */
.pm-reading-card.pm-forecast-reading{display:block;min-height:0}
#j-forecast-time{margin:0 0 18px;font:500 13px/1.6 var(--font-body);color:var(--muted)}
.pm-forecast-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pm-forecast-metrics>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.pm-forecast-metrics>div+div{border-left:1px solid var(--line);padding-left:14px}
.pm-forecast-metrics strong{font:600 32px/1.15 var(--font-heading);color:var(--ink);font-variant-numeric:tabular-nums}
.pm-forecast-metrics>div>span:last-child{font-size:11px;color:var(--muted)}
@media(max-width:380px){.pm-forecast-metrics{gap:10px}.pm-forecast-metrics>div+div{padding-left:10px}.pm-forecast-metrics strong{font-size:27px}}

/* Outdoor clock centred between matching minute counters. */
#j-session[data-mode="outdoor"] .j-session-body{display:grid;--activity-clock-size:210px;grid-template-columns:minmax(0,1fr) var(--activity-clock-size) minmax(0,1fr);align-items:center;gap:10px 16px}
#j-session[data-mode="outdoor"] .j-ring{grid-column:2;grid-row:1;justify-self:center}
#j-session[data-mode="outdoor"] .j-ring,#j-session[data-mode="outdoor"] .j-ring canvas{width:var(--activity-clock-size);height:var(--activity-clock-size)}
#j-session[data-mode="outdoor"] .j-ring>div{inset:18%}
#j-session[data-mode="outdoor"] #j-duration{font-size:48px;line-height:54px;height:56px}
#j-session[data-mode="outdoor"] .j-session-side,#j-session[data-mode="outdoor"] #j-session-credit{display:contents}
#j-session[data-mode="outdoor"] #j-session-credit>span{grid-row:1;display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;max-width:88px;padding:14px 6px;border-radius:16px;text-align:center;font-size:10px;justify-self:center}
#j-session[data-mode="outdoor"] #j-session-credit strong{font:600 24px/1.2 var(--font-heading);font-variant-numeric:tabular-nums}
#j-session[data-mode="outdoor"] .j-credit-yellow{grid-column:1;background:var(--exposure-yellow-soft);color:var(--exposure-yellow-ink)}
#j-session[data-mode="outdoor"] .j-credit-green{grid-column:3;background:var(--exposure-green-soft);color:var(--exposure-green-ink)}
#j-session[data-mode="outdoor"] #j-session-xp{grid-column:1/-1;grid-row:2;justify-self:center;margin-top:2px;font-size:17px;line-height:24px}
#j-session[data-mode="outdoor"] #j-session-zone{grid-column:1/-1;grid-row:3;justify-self:center}
#j-session[data-mode="outdoor"] #j-session-boundaries{grid-column:1/-1;grid-row:4;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:4px 16px;font-size:11px}
@media(max-width:480px){#j-session[data-mode="outdoor"] .j-session-body{--activity-clock-size:180px;column-gap:10px}}
@media(max-width:380px){#j-session[data-mode="outdoor"] .j-session-body{--activity-clock-size:164px;column-gap:8px}#j-session[data-mode="outdoor"] #j-session-credit>span{padding:12px 3px}#j-session[data-mode="outdoor"] #j-session-credit strong{font-size:22px}#j-session[data-mode="outdoor"] #j-duration{font-size:44px}}


/* Outdoor duration control: visible scale, large thumb and one-minute nudges. */
#j-session[data-mode="outdoor"] .j-duration-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
#j-session[data-mode="outdoor"] #j-duration-display{font-size:13px;font-weight:600;color:var(--ink)}
#j-session[data-mode="outdoor"] .j-duration-adjust{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
#j-session[data-mode="outdoor"] .j-duration-track{flex:1;min-width:0}
#j-session[data-mode="outdoor"] .j-duration-adjust>button{width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--ink);font-size:25px;line-height:1}
#j-session[data-mode="outdoor"] #j-duration-range{appearance:none;-webkit-appearance:none;height:44px;outline-offset:3px}
#j-session[data-mode="outdoor"] #j-duration-range::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:var(--duration-track,var(--track))}
#j-session[data-mode="outdoor"] #j-duration-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-9px;border:3px solid var(--forest);border-radius:50%;background:var(--surface);box-shadow:0 2px 6px #0002}
#j-session[data-mode="outdoor"] #j-duration-range::-moz-range-track{height:10px;border-radius:999px;background:var(--duration-track,var(--track))}
#j-session[data-mode="outdoor"] #j-duration-range::-moz-range-thumb{box-sizing:border-box;width:28px;height:28px;border:3px solid var(--forest);border-radius:50%;background:var(--surface);box-shadow:0 2px 6px #0002}
#j-session[data-mode="outdoor"] #j-duration-ticks{display:flex;justify-content:space-between;margin:0 14px;font-size:10px;color:var(--muted)}
#j-session[data-mode="outdoor"] #j-duration-ticks>span{width:0;display:flex;justify-content:center;position:relative;padding-top:5px}
#j-session[data-mode="outdoor"] #j-duration-ticks>span:before{content:'';position:absolute;top:0;width:1px;height:3px;background:var(--line)}

/* Exercise place belongs to the main area, with independent Planner readings. */
body[data-page="planner"] .air-toolbar,body[data-page="planner"] #air-status{display:none}
.exercise-place{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px 20px}
.exercise-place>div{flex:1;min-width:160px}.exercise-place-kicker{font-size:9px;letter-spacing:1px;color:var(--muted)}
.exercise-place h2{font-size:17px;line-height:1.4;margin:4px 0;overflow-wrap:anywhere}.exercise-place p{font-size:12px;line-height:1.5;color:var(--muted)}
.exercise-place .button{padding:10px 14px;min-height:44px;font-size:12px;white-space:nowrap}.exercise-place>p{flex-basis:100%}
#exercise-place-dialog{width:600px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px;border-radius:24px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
#exercise-place-dialog::backdrop{background:#0a1c1580;backdrop-filter:blur(5px)}
#exercise-place-dialog h2{font-size:22px}#exercise-place-dialog .dialog-intro{font-size:13px;margin:12px 0}
.exercise-map-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.exercise-map-actions .button{font-size:12px;padding:10px 12px}.exercise-map-actions .text-link{font-size:12px}
#exercise-map{height:290px;min-height:200px;border-radius:16px;border:1px solid var(--line);background:var(--surface-soft);font-family:var(--font-body)}
#exercise-map .leaflet-control-attribution{font-size:9px;color:#223c30}#exercise-map .leaflet-control-attribution a{color:#145d91;text-decoration:underline}
.exercise-map-pin{background:none;border:0}.exercise-map-pin>span{display:block;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#1a6147;border:3px solid white;box-shadow:0 2px 7px #0006}
#exercise-pin-caption{margin:8px 0 12px}#exercise-place-dialog>label:not(.exercise-remember){display:block;font-size:13px;margin:12px 0 6px}
#exercise-place-label{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-raised);color:var(--ink)}
.exercise-remember{display:flex;align-items:center;gap:9px;font-size:12px;margin:14px 0}.exercise-remember input{width:17px;height:17px;accent-color:var(--forest)}
#exercise-use-spot{width:100%;margin-top:10px}.exercise-map-note{font-size:10px;line-height:1.5;color:var(--muted);margin-top:12px}
@media(max-width:420px){#exercise-place-dialog{padding:18px}#exercise-map{height:240px}.exercise-place{padding:16px}.exercise-place h2{font-size:16px}}

/* Selected-spot Air Intelligence is separate from the workout clock. */
.air-intelligence{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px}
.air-intelligence h2{font-size:19px;margin-top:4px}.air-intelligence .eyebrow{font-size:9px;letter-spacing:.8px;color:var(--muted)}
.air-intelligence-context{font-size:12px;line-height:1.5;color:var(--muted);margin:9px 0 16px;overflow-wrap:anywhere}
.air-intelligence-facts{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}
.air-intelligence-facts>div{display:flex;flex-direction:column;gap:5px;padding:12px;background:var(--surface-soft);border-radius:14px;min-width:0}
.air-intelligence-facts>div:last-child{grid-column:1/-1}.air-intelligence-facts span{font-size:10px;color:var(--muted)}
.air-intelligence-facts strong{font:600 15px/1.4 var(--font-heading);color:var(--ink)}.air-intelligence-facts small{font-size:10px;line-height:1.5;color:var(--muted)}
.air-intelligence-summary{font-size:13px;line-height:1.7;color:var(--ink)}.air-intelligence-summary p+p{margin-top:10px}
.air-intelligence [data-pi-action]{width:100%;min-height:48px;margin:16px 0 10px;padding:12px 14px;font-size:12px;line-height:1.5;text-align:center;white-space:normal}
.air-intelligence-meta{font-size:10px;line-height:1.5;color:var(--muted)}
@media(max-width:380px){.air-intelligence{padding:16px}.air-intelligence-facts{grid-template-columns:1fr}.air-intelligence-facts>div:last-child{grid-column:auto}}

/* News & Research */
.nr-heading p{color:var(--muted);line-height:1.6;margin:12px 0 0;max-width:580px}
.nr-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px;border:1px solid var(--line);border-radius:22px;background:var(--surface);margin:12px 0 24px}
.nr-switch button{border:0;background:transparent;border-radius:16px;padding:20px;text-align:left;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;min-height:84px}
.nr-switch button span{display:block;margin-top:7px;font-size:12px;font-weight:400;opacity:.8}.nr-switch button[aria-pressed=true]{background:var(--ink);color:var(--surface)}
.nr-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.nr-topics{display:flex;gap:8px;flex-wrap:wrap}.nr-topics button{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:11px 18px;border-radius:99px;font:inherit;font-size:13px;cursor:pointer;min-height:44px}.nr-topics button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.nr-status,.nr-note{font-size:12px;color:var(--muted);line-height:1.6;margin:20px 0}.nr-note{margin:18px 0 32px}.nr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nr-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column;align-items:flex-start}.nr-meta{display:flex;width:100%;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:var(--muted)}.nr-kind{padding:6px 10px;border:1px solid var(--line);border-radius:99px}.nr-card h2{font-size:20px;line-height:1.4;letter-spacing:-.4px;margin:20px 0 10px}.nr-card a{color:var(--ink);text-decoration:none}.nr-card a:hover{text-decoration:underline}.nr-source{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:0 0 20px}.nr-excerpt-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.nr-excerpt{margin:8px 0 20px;font-size:14px;line-height:1.7;color:var(--ink)}.nr-review{font-size:11px;color:var(--muted);margin:0 0 16px}.nr-read{font-size:13px;font-weight:700;margin-top:auto;padding-top:12px}.nr-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:22px;padding:44px 26px;background:var(--surface);text-align:center}.nr-empty h2{font-size:22px;margin:0 0 12px}.nr-empty p{color:var(--muted);line-height:1.7;max-width:520px;margin:auto}.nr-method{margin-top:24px}.nr-method>summary{cursor:pointer;font-size:18px;font-weight:700;padding:6px}.nr-method>summary span{display:block;font-size:12px;color:var(--muted);font-weight:400;margin:10px 0 0}.nr-method[open]>summary{margin-bottom:24px}.nr-method .j-reference-model{box-shadow:none}.nr-switch button:focus-visible,.nr-topics button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(max-width:640px){.nr-grid{grid-template-columns:1fr}.nr-switch button{padding:15px 12px;font-size:15px}.nr-switch button span{font-size:11px}.nr-toolbar{gap:12px}.nr-topics{gap:6px}.nr-topics button{padding:10px 12px}.nr-card{padding:22px}.mobile-nav [data-nav=research] span{font-size:10px}.nr-heading h1{font-size:32px}}
body[data-page="research"] .air-toolbar,body[data-page="research"] #air-status,body[data-page="research"] #data-source-note{display:none}

.j-model-limit{color:var(--muted);font-size:12px;line-height:1.6;margin:14px 0}

.air-intelligence-requirements{font-size:12px;line-height:1.6;color:var(--ink);padding:12px 14px;margin:0 0 12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px}

/* Keep observed dates and source attribution legible in both appearances. */
.week-card .week-readings thead th,.week-card .week-attribution{color:var(--muted);border-color:var(--line)}
