/* Load after theme.css and mobility-polish.css. Keep the shared brand tokens. */
#arrival-drawer{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow);scroll-padding-block:120px 24px;overscroll-behavior:contain}
#arrival-drawer .drawer-head{align-items:start;gap:14px;background:var(--paper)}
#arrival-drawer .drawer-head>div:first-child{min-width:0;flex:1}
#arrival-drawer #drawer-kicker{font-size:10px;line-height:1.5;letter-spacing:.08em;color:var(--night-link,var(--navy))}
#arrival-drawer #drawer-stop{white-space:normal;overflow-wrap:anywhere;line-height:1.2;font-size:22px;margin-block:6px}
#arrival-drawer #drawer-distance{font-size:12px;line-height:1.5}
#arrival-drawer .drawer-actions{position:static;flex:0 0 auto;gap:8px;padding:0;background:none;backdrop-filter:none}
#arrival-drawer .drawer-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;height:auto;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--night-link,var(--navy));font-size:18px;line-height:1}
#arrival-drawer .drawer-actions button span{display:inline;font-size:11px;letter-spacing:0;text-transform:none;color:inherit}
#arrival-drawer .drawer-actions button:disabled{opacity:.6;cursor:wait}
#arrival-drawer .stop-line-option{background:var(--paper);min-height:84px;gap:12px;border-radius:15px}
#arrival-drawer .stop-line-option.active{background:var(--night-selected,var(--green-soft));border-color:var(--night-link,var(--navy))}
#arrival-drawer .stop-line-option>span{min-width:0}
#arrival-drawer .stop-line-option>span:first-child{flex:1}
#arrival-drawer .stop-line-option>span:last-child{flex:0 0 auto;max-width:48%}
#arrival-drawer .stop-line-option b{font-size:14px;color:var(--night-link,var(--navy))}
#arrival-drawer .stop-line-option strong{font-size:14px;color:var(--night-link,var(--navy))}
#arrival-drawer .stop-line-option small{font-size:11px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
#arrival-drawer :is(.arrival-card-actions button,.itinerary-favorite,.destination-search-control button,#change-destination){min-height:44px;min-width:44px}
#arrival-drawer .itinerary-stop-row{grid-template-columns:minmax(0,1fr) 44px}
#arrival-drawer .itinerary-favorite{width:44px}
#arrival-drawer :is(.drawer-foot,.arrival-section-head){flex-wrap:wrap}
#arrival-drawer .drawer-foot{line-height:1.5;gap:6px 12px}
:is(#arrival-drawer,.direction-dialog,.route-game-dialog,#install-app-dialog,.origin-map-picker) :is(button,summary,input,[tabindex]):focus-visible,
:is(.boarding-steps,.boarding-direction) button:focus-visible{outline:3px solid var(--night-link,var(--navy));outline-offset:3px;box-shadow:none}
.boarding-steps button{min-width:44px}
#install-app-dialog :is(#close-install-app,#install-app-button,#install-app-later){min-width:44px;min-height:44px}
#install-app-dialog .install-ad-free{display:inline-block;padding:9px 12px;margin:0 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--green-soft);color:var(--ink);font-size:13px;font-weight:700;line-height:1.5}
.route-game-dialog{margin:auto;max-height:calc(100dvh - 24px);box-shadow:var(--shadow);overscroll-behavior:contain}
.route-game-dialog header>div{min-width:0}
.route-game-dialog header span{color:var(--night-link,var(--navy))}
.route-game-dialog header button{flex:0 0 44px;min-width:44px}
.route-game-dialog :is(h2,h3,p,button){overflow-wrap:anywhere}
.route-game-score{flex-wrap:wrap;align-items:baseline}
.route-game-score b{font-size:19px;color:var(--night-link,var(--navy));font-variant-numeric:tabular-nums}
.route-game-dialog .route-game-track{padding:0;list-style:none}
.route-game-track li{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:12px;font-weight:700;color:var(--muted)}
.route-game-track li.done{background:var(--green-soft);color:var(--ink);border-color:var(--teal)}
.route-game-track li.current{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 0 0 4px var(--line)}
.route-game-question{position:relative;padding:16px 18px;margin-bottom:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--green-soft),var(--paper))}
.route-game-question:before{content:"";display:block;width:44px;height:4px;background:var(--orange);border-radius:4px;margin-bottom:12px}
.route-game-question small,.route-game-result>span{color:var(--night-link,var(--navy))}
.route-game-question h3{font-family:"Bricolage Grotesque",sans-serif;font-size:24px}
.route-game-answers button{min-height:56px;transition:border-color .16s,background .16s}
.route-game-answers button>span:first-child{flex:0 0 28px;color:var(--ink)}
.route-game-answers button .game-answer-name{display:block;min-width:0;flex:1;height:auto;background:none;border-radius:0;color:inherit}
.route-game-answers button em{display:block;font-size:11px;line-height:1.5;font-style:normal;font-weight:700;margin-top:4px}
.route-game-answers button:disabled{opacity:1;cursor:default}
.route-game-answers button.eliminated{opacity:.5;text-decoration:line-through}
.route-game-answers button.selected:not(.correct){border-style:dashed;border-color:var(--muted)}
.route-game-dialog .route-game-feedback{color:var(--ink);font-weight:600}
.route-game-dialog .game-streak{margin:10px 0;color:var(--muted);font-size:12px;line-height:1.5}
.route-game-dialog .game-streak strong{color:var(--night-link,var(--navy))}
.route-game-dialog .game-hint{border-style:dashed;font-size:12px;min-height:44px}
.route-game-result{padding:20px 16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--green-soft),var(--paper))}
.route-game-result .game-result-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:12px;border-radius:16px;background:var(--navy);color:#fff;font-size:24px;animation:game-arrive .3s ease-out both}
.route-game-dialog>.game-primary{background:var(--navy);color:#fff}
@keyframes game-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(hover:hover){#arrival-drawer .drawer-actions button:not(:disabled):hover,.route-game-answers button:not(:disabled):hover{border-color:var(--night-link,var(--navy));background:var(--night-selected,var(--green-soft))}}
@media(max-width:600px){
  #arrival-drawer .drawer-head{flex-wrap:wrap;gap:10px;padding-top:12px}
  #arrival-drawer .drawer-head>div:first-child{flex-basis:100%}
  #arrival-drawer .drawer-actions{width:100%}
  #arrival-drawer .drawer-actions button{flex:1}
  #arrival-drawer #drawer-stop{font-size:20px}
  #arrival-drawer .stop-line-option{flex-basis:min(310px,88vw);max-width:100%;min-height:88px}
  .route-game-dialog{padding:18px}
  .route-game-question h3{font-size:21px}
}
@media(max-height:520px){#arrival-drawer .drawer-head{position:static}.route-game-dialog{max-height:calc(100dvh - 12px)}}
@media(prefers-reduced-motion:reduce){#arrival-drawer,.route-game-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.reduce-motion #arrival-drawer,.reduce-motion .route-game-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
