/* Extend the existing identity; increase readability, allow internal scrolling. */
:root{--muted:#a4b7cb;--muted2:#8ba3bd}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan,#13d5cf);outline-offset:3px}
button:disabled{cursor:default}button[aria-busy=true]{opacity:.65;cursor:progress}
.navbtn{font-size:11px;min-height:48px}.top-action-btn,.info-btn,.map-fab{min-width:44px;min-height:44px}
.screen-copy,.home-event-time,.home-stat span,.result-note,.result-label,.rules-panel,.sub-prompt,.method,.station-board-head,.auth-card p{font-size:13px;line-height:1.45}
.eyebrow,.hud-chip,.result-stat span,.meta small,.auth-field label,.org-choice small,.mov-profile-card span,.mov-profile-mini span,.mov-profile-distance-note,.home-org-copy small{font-size:11px;line-height:1.4}
.home-org-type{font-size:10px}.think-tag,.clue-row,.fact-title,.order-slot,.fixed-round-note{font-size:13px}
.home-stage,.profile-body,.deck-panel,.rank-panel{overflow-y:auto;overscroll-behavior:contain;min-height:0}
.home-stage{grid-template-rows:minmax(85px,.5fr) auto auto minmax(115px,.6fr)}
.game-card small{font-size:12px;line-height:1.35}.game-card b{font-size:15px;white-space:normal}.game-grid{grid-auto-rows:minmax(120px,auto);grid-template-rows:none;overflow-y:auto}
.rank-row{min-height:58px}.rank-row small{font-size:12px}.rank-list{overflow-y:auto}.game-actions button,.option,.clue-next,.clock-stop{min-height:48px}
.game-body{overflow-y:auto;overscroll-behavior:contain}.game-intro p{font-size:14px}.auth-field input{font-size:16px}
.order-slot button{background:none;border:0;color:inherit;font:inherit;padding:8px;min-height:44px;width:100%}
#movNotice{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(85px + env(safe-area-inset-bottom));width:min(90vw,520px);padding:15px 18px;background:#102c46;color:#fff;border:1px solid #386285;border-radius:14px;font:14px/1.45 system-ui;z-index:2147482500;box-shadow:0 12px 40px #0006}
#movNotice[hidden]{display:none}#movQueueStatus{font-size:13px;line-height:1.45;padding:12px;color:#dce9f6}#movQueueStatus button{margin-top:8px;margin-right:6px;min-height:44px}
.mov-error{max-width:520px;margin:12px auto;padding:20px;border:1px solid #75515c;border-radius:16px;background:#241c2b;color:#f8e6eb;font-size:15px;line-height:1.5}
.mov-error h3{margin-top:0}.mov-error button{margin-top:8px;min-height:44px}
@media(max-width:390px){.home-stat{padding:8px 3px}.topbar{gap:3px}.top-logo{max-width:90px}.org-pill{max-width:24vw}.week-pill{display:none}.mov-profile-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.mov-profile-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.home-org-type{display:none}}
@media(max-height:550px){.home-stage{display:flex;flex-direction:column;overflow:auto}.home-logo{max-height:100px}.game-body,.profile-body{overflow-y:auto}.auth-overlay{align-items:start;overflow:auto}.auth-card{margin:12px auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.tap-press{transform:none!important}}

/* Let compact profiles scroll instead of squeezing text into fixed tracks. */
#profileScreen .profile-screen{display:flex;flex-direction:column;overflow-y:auto;min-height:0;gap:12px}
#profileScreen .profile-body{display:block!important;overflow:visible;flex:none}
.mov-profile-dashboard{justify-content:flex-start!important;min-height:min-content;padding:14px!important}
.mov-profile-dashboard-head{align-items:start;flex-wrap:wrap}.mov-profile-dashboard-head small{font-size:10px}
.mov-profile-distance-note{font-size:11px;display:block}.mov-profile-dashboard-head h3{white-space:normal}
.home-event-status,.home-event-foot,.home-org-copy small{font-size:11px}.home-event-end{font-size:12px}
.game-back{min-width:44px;min-height:44px}.seq-pad,.music-key{min-height:48px}
#rankList .rank-row{display:grid!important} .rperson b{overflow-wrap:anywhere}
@media(max-width:520px){.rank-list{display:flex;flex-direction:column}.rank-row{flex:none}.home-event-head{flex-wrap:wrap;gap:8px}}
