/* Small, reversible type and colour layer. Structure and density stay in interface.css. */
:root{--on-accent:#fff;--control-border:#778292;--scope-ink:#79501c;--scope-rule:#aa742d}
:root[data-design=original]{--on-accent:#15191d;--control-border:#81909f;--scope-ink:#f0bb56;--scope-rule:#c99946}
:root[data-design=editorial]{--control-border:#738175;--scope-ink:#79501c;--scope-rule:#aa742d}
.intro h1{font-size:1.875rem;line-height:1.45;font-weight:750;letter-spacing:-.025em;color:var(--text)}
.intro .lead-copy{font-size:.9375rem;line-height:1.75}
.lead-copy .availability-note{font-size:.8125rem;line-height:1.6;font-weight:700;color:var(--scope-ink);border-left:2px solid var(--scope-rule);padding-left:9px}
.data-note{font-size:.8125rem;color:var(--muted);line-height:1.7}
.section-label h2{font-size:1.125rem;font-weight:750;color:var(--text)}
#conditions .condition-step h3{font-size:1.125rem;line-height:1.5;font-weight:700;color:var(--text)}
.step-number{font-size:1.375rem;font-weight:700;color:var(--accent)}
#conditions label,#conditions .condition-group legend,#conditions .wait-range legend,.film-count-range legend{font-size:.875rem;font-weight:600;color:var(--text)}
#conditions select,#conditions input[type=number],#conditions input[type=time]{font-size:1rem;font-weight:500;color:var(--text);background:var(--panel);border-color:var(--control-border)}
#conditions .hint,#conditions .auto-help,#conditions .travel-help-trigger{font-size:.8125rem;line-height:1.7;font-weight:400;color:var(--muted)}
#conditions #intents .intent-choice{font-size:.875rem;font-weight:400;color:var(--text)}
#conditions #intents .intent-choice:has(input:checked){color:var(--accent);font-weight:650!important;box-shadow:inset 3px 0 var(--accent)}
#conditions #open-films{font-size:.9375rem;font-weight:650;border-color:var(--control-border)}
#conditions #filterCount{font-size:.8125rem;font-weight:600;color:var(--accent)}
#conditions #view-results,.primary{color:var(--on-accent);font-weight:650}
#conditions #view-results{font-size:1rem;letter-spacing:.02em}
.result-heading h2,.results[data-state=setup] .result-heading h2{font-size:1.375rem;font-weight:750;color:var(--text);line-height:1.5}
.setup-intro,#ranking-help{font-size:.875rem;color:var(--muted)}
.setup-example-head h4{font-size:1.125rem;font-weight:700;color:var(--text)}
.plan-tab b{font-size:.9375rem;font-weight:650;color:var(--text)}
.plan-tab{border-left:3px solid transparent}
.plan-tab[aria-pressed=true]{border-left:3px solid var(--accent);box-shadow:none}
.plan-tab[aria-pressed=true] b{color:var(--accent)}
.plan-tab .candidate-metrics{font-size:.8125rem;color:var(--text)}
.plan-tab .candidate-films{font-size:.8125rem;font-weight:400;color:var(--muted)}
.metric-strip{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;line-height:1.5;margin-bottom:3px}
.trip-summary .metric-count{font-size:1.625rem;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.trip-summary .metric-time{font-size:1rem;font-weight:650;color:var(--text)}
.trip-summary .metric-interval{font-size:.8125rem;font-weight:400;color:var(--muted)}
.row-time strong{font-size:1.375rem;line-height:1.3;font-weight:750;font-variant-numeric:tabular-nums;color:var(--text)}
.row-time>span,.row-time small{font-size:.8125rem;line-height:1.5;color:var(--muted)}
.row-movie h3{font-size:1.0625rem;line-height:1.55;font-weight:650;color:var(--text)}
.screening-facts{font-size:.8125rem;color:var(--muted)}
.selected-film-badge{font-size:.8125rem;font-weight:700;color:var(--accent);background:var(--wash);border:1px solid var(--accent);border-radius:3px;padding:1px 6px}
.row-actions button{font-size:.8125rem;font-weight:500}
.row-actions button[aria-pressed=true]{border:2px solid var(--accent);background:var(--wash);color:var(--accent);font-weight:650}
.connection{font-size:.8125rem;color:var(--muted)}
.connection strong{font-size:.9375rem;font-weight:700;color:var(--text)}
.ending{font-size:.9375rem;font-weight:650;color:var(--text)}
#condition-summary>strong{font-size:.9375rem;line-height:1.65;color:var(--text)}
.source-scope,.footnote,.share-note{font-size:.8125rem;line-height:1.75;color:var(--muted)}
#film-picker .picker-work-title,#film-picker .picker-film strong{font-size:1rem;font-weight:600}
#film-picker-count{font-size:.9375rem;font-weight:700}
@media(max-width:740px){
 .intro h1{font-size:1.625rem}.intro .lead-copy{font-size:.875rem}.lead-copy .availability-note{font-size:.8125rem}
 #conditions select,#conditions input[type=number],#conditions input[type=time]{font-size:1rem}
 .result-heading h2,.results[data-state=setup] .result-heading h2{font-size:1.25rem}
 .row-movie h3{font-size:1rem}.row-time strong{font-size:1.25rem}.trip-summary .metric-count{font-size:1.5rem}
}
