.menu-button{background:#fffcf0;color:#65412b;border:2px solid #d8bb8f;border-radius:14px;padding:10px 14px;min-height:48px;font-size:17px;font-weight:bold;white-space:nowrap}
#route-choice{position:absolute;top:175px;left:50%;transform:translateX(-50%);display:flex;gap:18px;pointer-events:none;z-index:3;font-size:clamp(16px,2.2vw,25px);font-weight:bold;white-space:nowrap}
#route-choice span{padding:10px 16px;border-radius:12px;background:#193449;border:3px solid #ffdd83;color:#ffdd83}
#route-choice span+span{border-color:#61efff;color:#61efff}
@media(max-height:600px){#route-choice{top:115px}}
.track-picker{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;max-width:420px;margin:10px 0 18px;padding:10px 8px;background:#fff9ec;border:2px solid #d8bb8f;border-radius:18px;box-shadow:0 4px 0 #d8bb8f55}
.track-picker button{min-height:52px;border-radius:12px;background:#267d70;color:#fff;font-size:28px;line-height:1}.track-picker button:hover:not(:disabled){background:#1c665b}
.track-picker-copy{text-align:center;min-width:0}.track-picker-copy strong{display:block;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.track-picker-copy small{display:block;margin-top:6px;font-size:13px;line-height:1.3;color:#6d6851}
@media(max-width:750px){.track-picker{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px;padding:8px 5px}.track-picker-copy strong{font-size:16px}.track-picker-copy small{font-size:12px}}
#session-menu{box-sizing:border-box;width:min(94vw,590px);max-height:90dvh;margin:auto;padding:26px;border:0;border-radius:24px;background:#fff9ec;color:#513522;overflow:auto}
#session-menu::backdrop{background:#35221899}#session-menu h2{font-size:28px;margin:0 0 12px}#session-menu p{font-size:18px;line-height:1.4;margin:0 0 18px}
.session-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.session-actions button{min-height:56px;padding:12px;background:#fff0cf;color:#65412b;border:2px solid #dec092;border-radius:13px;font-size:19px;line-height:1.25}
.session-actions [data-menu=home],.session-actions [data-menu=pair],.session-actions [data-menu=sound],.session-actions [data-menu-close]{grid-column:1/-1}
.session-actions [aria-pressed=true]{background:#267d70;border-color:#267d70;color:#fff}.session-actions [data-menu-close]{background:#267d70;color:#fff}
.tv-navigation button:focus,.tv-navigation a:focus,.tv-navigation input:focus,.tv-navigation select:focus{outline:5px solid #0870b0;outline-offset:6px;box-shadow:0 0 0 10px #fff7df}
.language-picker{display:flex;align-items:center;gap:16px;margin:14px 0 18px;font-size:18px}.language-picker select{flex:1;min-width:0;min-height:48px;font:inherit;color:#513522;background:#fff3d6;border:2px solid #dec092;border-radius:12px;padding:8px}.finish #result{white-space:pre-line}.intro .intro-note{max-width:450px;line-height:1.4;font-size:14px}
.game-page .tools{flex-wrap:wrap;justify-content:flex-end;max-width:390px}.game-page .tools .menu-button{min-height:50px}
.pair-options button[aria-pressed=true]{background:#267d70;color:white}.finish #finish-two{margin:14px auto 0;background:#267d70;box-shadow:0 5px #195a52;font-size:21px}.finish #home{font-size:19px;min-height:48px}
.phone-result{background:#fff9ec;border:3px solid #e3b553;border-radius:22px;padding:18px;flex:none}.phone-result h1{font-size:32px;margin:0 0 10px}.phone-result p{font-size:19px;line-height:1.4;margin:0;white-space:pre-line}
.controller-head{flex-wrap:wrap}.controller-head .menu-button{font-size:15px;min-height:42px;padding:7px 10px}.controller-head #open-menu{margin-left:auto}
.controller-page .track-picker{width:100%;max-width:none;margin:0;flex:none}
@media(orientation:landscape) and (max-height:600px){
  .controller-page:not([data-stage=drive]) .play-balance{grid-column:1/-1;grid-row:2}
  .controller-page .track-picker{grid-column:1/-1;grid-row:3}
  .controller-page[data-stage=upload] .add-car,.controller-page[data-stage=front] .controller-car,.controller-page[data-stage=ready] .controller-car{grid-row:4/9}
  .controller-page:not([data-stage=drive]) .upload-actions{grid-column:2;grid-row:4}
  .controller-page:not([data-stage=drive]) .photo-status{grid-column:2;grid-row:5}
  .controller-page:not([data-stage=drive]) #edit-photo{grid-column:2;grid-row:6}
  .controller-page:not([data-stage=drive]) #controller-message{grid-column:2;grid-row:7}
  .controller-page:not([data-stage=drive]) #controller-start{grid-column:2;grid-row:8}
}
.controller-page .front-half span{height:auto;min-height:40px;white-space:normal;padding:4px;line-height:1.15;font-size:clamp(13px,3.8vw,17px)}
.controller-page:not([data-stage=drive]) .front-photo{padding-top:48px}
.controller-page[data-stage=front] .controller,.controller-page[data-stage=ready] .controller{height:auto;min-height:100dvh}
.controller-page[data-stage=result] .controller{height:auto;min-height:100dvh;justify-content:center}.controller-page[data-stage=result] .controller-head{margin-bottom:auto}.controller-page[data-stage=result] #controller-start{margin-bottom:auto}
@media(orientation:landscape) and (max-height:600px){#session-menu{max-height:96dvh;padding:18px}.session-actions{gap:8px}.session-actions button{min-height:46px;font-size:17px;padding:8px}.session-actions [data-menu=home],.session-actions [data-menu=pair],.session-actions [data-menu=sound]{grid-column:auto}#session-menu h2{font-size:24px}#session-menu p{font-size:16px;margin-bottom:10px}.controller-page[data-stage=drive] .controller-head .brand{display:none}.controller-page[data-stage=drive] .controller-head #open-menu{margin:auto}}
