/* Recessed routes and a single, reachable action dock. */
.flight-board{background:radial-gradient(ellipse at 44% 32%,#333,#262626 80%);box-shadow:inset 0 1px 5px #0008}
.flight-track{fill:#343434;stroke:#191919;stroke-width:.4;transition:fill .22s}.flight-track[data-active=true]{fill:#494949}.flight-lane{fill:#3d3d3d;stroke:#202020;stroke-width:.35;transition:fill .22s}.flight-lane[data-active=true]{fill:#646464}
.flight-hangar{stroke:#1e1e1e;stroke-width:.7;transition:fill .22s,stroke .22s}.flight-hangar[data-active=true]{fill:#404040;stroke:#5c5c5c}.hangar-symbol{font-size:14px;fill:#999;opacity:.22}.hangar-symbol[data-active=true]{fill:#ddd;opacity:.38}.flight-symbol{font-size:3.8px;fill:#b0b0b0;opacity:.75}.flight-route{stroke:#87878766;stroke-width:.6;stroke-dasharray:1 2}.flight-center{fill:#969696;stroke:#cacaca;stroke-width:.4}
.flight-plane{width:7.1%;height:7.1%;min-height:0;border-radius:30%;opacity:.78;box-shadow:inset 0 1px #ffffff66,inset 0 -2px #0004,0 3px 5px #0007;transition:opacity .2s,filter .2s;outline:0}
.flight-plane svg{width:74%;height:74%;filter:drop-shadow(0 1px #ffffff44)}.flight-plane.current-fleet{opacity:1}.flight-plane.legal{outline:0;box-shadow:inset 0 1px #ffffff88,inset 0 -2px #0004,0 0 0 2px #c4c4c466,0 4px 7px #0008;cursor:pointer}.flight-plane.legal::before{content:'';position:absolute;inset:-25%;border-radius:35%;background:transparent}
.flight-plane.chosen{transform:translate(-50%,-50%) scale(1.13);filter:brightness(1.2);box-shadow:inset 0 1px #ffffffa0,0 0 0 2px #ddd,0 6px 10px #0008}
.flight-plane-symbol{position:absolute;left:-4px;top:-4px;display:grid;place-items:center;width:12px;height:12px;font-size:8px;line-height:1;color:#ccc;background:#262626;border-radius:4px;box-shadow:0 1px 3px #0005;pointer-events:none}.plane-number{background:#202020;color:#dedede;right:-3px;bottom:-3px;width:13px;height:13px;font-size:8px;line-height:13px}.flight-plane.landed{opacity:.45}
.flight-preview{position:absolute;inset:0;pointer-events:none;z-index:3}.flight-preview>svg{width:100%;height:100%;fill:#b7b7b7}.flight-preview-line{fill:none;stroke:#c4c4c4;stroke-width:.55;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.5 1.8;opacity:.65}.flight-preview-end{fill:#d5d5d51a;stroke:#ddd;stroke-width:.7}
.flight-destination{position:absolute;z-index:25;transform:translate(-50%,-50%);width:7.5%;height:7.5%;min-width:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:#dedede;color:#282828;box-shadow:inset 0 1px #fffa,0 4px 9px #0007;font-size:15px;cursor:pointer}.flight-destination:active{transform:translate(-50%,-50%) scale(.94)}.flight-destination:focus-visible{outline:2px solid #ddd;outline-offset:4px}
.flight-page .table-status,.flight-page .table-hint{display:none}.flight-page .flight-dice-area{display:block;margin:22px 0;width:100%}
.flight-page .flight-dice{display:flex;align-items:center;gap:13px;position:relative;width:100%;height:auto;min-height:98px;border:0;border-radius:16px;padding:15px 13px;background:linear-gradient(145deg,#333,#292929);box-shadow:inset 0 1px #ffffff0b,0 5px 14px #0003;transform:none;text-align:left;cursor:pointer}
.flight-page .flight-dice:disabled{cursor:default;opacity:1}.flight-dice[data-action=roll],.flight-dice[data-action=move]{background:linear-gradient(145deg,#434343,#323232)}.flight-page .flight-dice:active:not(:disabled){transform:translateY(1px)}
.flight-die-body{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);flex:none;width:59px;height:59px;gap:5px;padding:11px;border-radius:13px;background:linear-gradient(140deg,#e1e1e1,#aaa);box-shadow:inset 0 1px #ffffffb0,inset 0 -3px #75757566,0 5px 7px #0005;transform:rotate(-5deg)}
.flight-die-body i{min-height:0;aspect-ratio:1;border-radius:50%;background:#414141;box-shadow:inset 0 1px 2px #0005}.flight-die-body i.off{visibility:hidden}.flight-die-body[data-die='0']::after{content:'·';position:absolute;inset:0;display:grid;place-items:center;color:#666;font-size:32px;font-weight:300}
.flight-die-body.rolling{animation:flight-roll .48s cubic-bezier(.2,.7,.2,1) both}.flight-die-body.rolling::after{content:'··';font-size:25px;letter-spacing:2px}.flight-dice[data-action=choose] .flight-die-body,.flight-dice[data-action=wait] .flight-die-body{filter:brightness(.85)}
.flight-dice .turn-cue{flex:1;min-width:0;min-height:0;padding:0;background:none;box-shadow:none;border-radius:0;gap:0}.flight-dice .turn-cue-token{display:none}.flight-dice .turn-cue-title{font-size:16px}.flight-dice .turn-cue-detail{font-size:11px;white-space:normal;line-height:1.4}.flight-action-arrow{font-size:16px;color:#ddd;align-self:flex-end;flex:none;margin-bottom:5px}.flight-dice:disabled .flight-action-arrow{visibility:hidden}
.flight-page .table-players{display:grid;grid-template-columns:repeat(var(--players,2),minmax(0,1fr));gap:6px;padding:7px 0;min-height:48px}.flight-page .table-player{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 6px;max-width:none;width:auto;min-height:36px;padding:5px 7px}.flight-page .table-player-token{grid-row:1/3}.flight-page .table-player>span{font-size:11px}.flight-home-count{font-size:9px;line-height:1;color:#919191;font-variant-numeric:tabular-nums}.flight-page .table-player[data-turn=true] .flight-home-count{color:#b8b8b8}
@keyframes flight-roll{0%{transform:rotate(-5deg)}25%{transform:translateY(-8px) rotate(14deg) scale(1.04)}55%{transform:translateY(-3px) rotate(-14deg)}80%{transform:rotate(5deg)}100%{transform:rotate(-5deg)}}
@media(max-width:1000px) and (orientation:portrait){
 .flight-page .table-layout{--board-size:min(calc(100vw - 24px),calc(100dvh - 296px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));grid-template-rows:44px auto 78px 46px;gap:4px}
 .flight-page .flight-dice-area{grid-row:3;margin:0;width:min(100%,420px)}.flight-page .flight-dice{min-height:72px;padding:10px 14px;gap:14px;border-radius:12px}.flight-die-body{width:50px;height:50px;border-radius:11px;padding:9px;gap:4px}.flight-dice .turn-cue-title{font-size:14px}.flight-dice .turn-cue-detail{font-size:11px}.flight-action-arrow{margin-bottom:7px}
 .flight-page .table-players{min-height:40px;padding:5px 0;gap:4px}.flight-page .table-player{grid-template-columns:19px minmax(0,1fr);padding:4px 5px;gap:2px 4px;min-height:31px}.flight-page .table-player-token{width:19px;height:19px;font-size:12px}.flight-page .table-player>span{font-size:9px}.flight-home-count{font-size:8px}.flight-plane{width:7.5%;height:7.5%;border-radius:30%}.flight-plane-symbol{width:10px;height:10px;font-size:7px;left:-3px;top:-3px}.plane-number{width:11px;height:11px;line-height:11px;font-size:7px}.flight-destination{min-width:40px;min-height:40px}
}
@media(max-height:600px) and (orientation:landscape){.flight-page .flight-dice-area{margin:12px 0}.flight-page .flight-dice{min-height:76px;padding:10px;gap:10px}.flight-die-body{width:45px;height:45px;padding:8px;gap:4px}.flight-dice .turn-cue-title{font-size:13px}.flight-dice .turn-cue-detail{font-size:10px}.flight-page .table-player{padding:3px;gap:2px}.flight-page .table-player>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.flight-die-body.rolling{animation:none}.flight-plane,.flight-track,.flight-lane{transition:none}}
