/* One type scale for both New City stories and all four character closeups.
   Shot changes affect placement, never the size or spacing of the copy. */
#overview .street-focus{
 --city-heading-size:clamp(30px,3.3vw,50px);
 --city-copy-size:16px;
 --city-cue-size:11px;
 --city-cue-height:44px;
}
#overview .focus-identity h2{font-size:var(--city-heading-size);line-height:1.1;letter-spacing:-.02em}
#overview .focus-bio{font-size:var(--city-copy-size);line-height:1.5;margin:10px 0 6px}
#overview .focus-eyebrow{font-size:11px;line-height:1.3;letter-spacing:1.3px;margin:0 0 8px}
#overview .focus-next{font-size:var(--city-cue-size);line-height:1.4;letter-spacing:.8px;min-height:var(--city-cue-height);padding:7px 0}
#overview .street-select [data-street-stop]{font-size:12px;letter-spacing:.6px}
#garage-route .identity #bio{font-size:15px;line-height:1.5}
#garage-route .identity .eyebrow{font-size:11px;letter-spacing:1px}
#garage-route .identity #number{font-size:12px}
#garage-route .gesture{font-size:11px;letter-spacing:.7px;line-height:1.5}
#garage-route .character-name{font-size:12px;letter-spacing:.2px}
#garage-route .mini-number{font-size:10px}
.league-button,.street-league-link{font-size:13px;letter-spacing:1px}
#teams #team-description,.league-section-heading>p,.comic-series-copy>p,.world-news-summary,.chaos-invite{font-size:16px;line-height:1.65}
.league-kicker,.world-news-category,.world-reader-category{font-size:12px;letter-spacing:1.1px}
.world-news-masthead{font-size:11px;letter-spacing:1px;flex-wrap:wrap}
.world-reader-byline,.world-reader-figure figcaption,.world-reader-end>span{font-size:13px;line-height:1.6}
#chaos-signup label,.chaos-eyebrow,.creators-credit,.creator-compare-hint{font-size:12px;letter-spacing:1.2px}
.chaos-consent,.chaos-availability,.chaos-message,.studio-copyright{font-size:13px;line-height:1.65}
.chaos-signal{font-size:11px;letter-spacing:.7px;flex-wrap:wrap}
.studio-footer .studio-series-link{font-size:13px}
.rg-music-top p,.rg-music-status,.rg-music-volume-head,.rg-music-bottom,.rg-music-hint{font-size:11px;letter-spacing:.4px}
.rg-music .rg-music-reset{font-size:11px!important}
.rg-music-hint{white-space:normal}
.cutout-sheet-dialog footer>*{font-size:12px;white-space:normal}
@media(max-width:760px){
 #overview .street-focus{--city-heading-size:30px;--city-copy-size:14px;--city-cue-size:10px;--city-cue-height:36px}
 #overview .focus-bio{max-width:100%}
 #overview .street-select [data-street-stop]{font-size:11px}
 #garage-route .identity #bio{font-size:14px;line-height:1.45;margin:8px 0}
 #garage-route .identity .eyebrow{font-size:10px;letter-spacing:.5px;gap:6px}
 #garage-route .character-name{font-size:11px}
 #garage-route .gesture{font-size:10px;letter-spacing:.4px}
 .cutout-roster button{gap:5px;padding-inline:6px}
 .world-reader-back{font-size:12px}
}
/* On compact scenes, constrain reading copy to its existing safe area rather
   than letting extra lines reach the controls. Keyboard focus enables scrolling. */
@media(max-width:760px) and (max-height:700px){
 #garage-route .identity #bio{max-height:8.7em;overflow:auto;overscroll-behavior:contain}
}
@media(max-width:960px) and (max-height:500px) and (orientation:landscape){
 #overview .street-focus{--city-heading-size:22px;--city-copy-size:13px;--city-cue-size:10px;--city-cue-height:32px}
 /* Preserve the existing two-column story layout in shallow windows. */
 #overview .street-focus[data-character=scene] .focus-bio{margin:0}
}

#garage-route .identity #bio{pointer-events:auto}
#garage-route .identity #bio:focus-visible{outline:1px solid var(--cyan);outline-offset:4px}
