/* Phone-first presentation layer; canonical P0.1 rules are unchanged. */
.playtest-page{--race-ink:#10232b;--race-muted:#9cb4bc;--race-paper:#edf2ef;--race-accent:var(--team-accent);background:#071116;color:var(--race-paper)}
.playtest-page .game{background:transparent;color:inherit;max-width:1140px;margin:auto;padding-left:24px;padding-right:24px}
.playtest-page .topbar{position:relative;height:76px;padding:12px 24px;border-bottom:1px solid #28404b}.playtest{padding-top:36px}.playtest h1{font-size:clamp(56px,10vw,96px)}
.eyebrow{font:700 11px/1.5 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--team-accent)}.playtest-head .game-intro{color:#b6c8ce;font-size:16px;max-width:58ch}.playtest-flag{background:#15252a;border-color:#3e565c;color:#b6c8ce;font-size:12px;padding:10px 12px}.playtest-flag strong{color:var(--team-accent)}
.race-setup{background:#102027;border-color:#344b54;color:#edf2ef;max-width:900px}.race-setup h2{color:inherit}.driver-option{background:#132a33;color:#fff;border-color:#405964}.driver-option small{color:#b6c8ce}.driver-option:has(input:checked){outline-color:var(--team-accent)}.driver-option img{object-position:center 25%}.race-setup p{font-size:13px;color:#b6c8ce}.race-config label{color:#b6c8ce;font-size:13px}.race-config select,.race-config input{background:#071116;color:#edf2ef;border-color:#405964}.guide-toggle{display:flex;align-items:center;gap:10px;min-height:44px;margin:12px 0;font-size:14px}.guide-toggle input{width:20px;height:20px;accent-color:var(--team-accent)}.resume-saved{margin-bottom:24px}
.playtest-page .button{min-height:48px;background:var(--team-accent);color:#10232b;border:1px solid var(--team-accent);border-radius:8px;font-size:15px;letter-spacing:.02em}.playtest-table{gap:14px;margin-top:20px}.race-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;grid-row:1}.round-readout{margin:0;font-size:25px;color:#edf2ef}.icon-button,.close-sheet{border:1px solid #49616b;border-radius:7px;min-height:44px;padding:8px 12px;background:#142a33;color:#edf2ef;font:600 13px var(--body);cursor:pointer}.phase-strip{gap:4px}.phase-strip li{border:0;background:#132831;color:#abc0c9;font-size:10px;padding:5px 7px;letter-spacing:.02em}.phase-strip li[aria-current]{background:var(--team-accent);color:#10232b}
.track-scroll{overflow:hidden;border:1px solid #38505a;border-radius:10px;padding:8px 0 0}.track{--label:54px;--row:38px;min-width:0;max-width:100%;padding-bottom:6px}.track-sectors{font-size:9px;letter-spacing:0;padding-top:4px;height:24px}.track-sectors span{padding-left:4px}.lane-label{font-size:9px;padding-left:8px;letter-spacing:0}.cell{background:#18303b;border-color:#314851}.cell.is-closed{background:repeating-linear-gradient(135deg,#453025 0 4px,#1b2a30 4px 8px)}.track-marker{top:calc(24px + var(--lane,0) * var(--row) + (var(--row) - 20px)/2);width:18px;height:20px;left:calc(var(--label) + (100% - var(--label)) * (var(--pos,0) + .5)/var(--cols) - 9px);clip-path:none;border-radius:5px;text-align:center;font:800 11px/18px var(--body);color:#071116;box-shadow:0 2px 6px #000}.marker-you{background:var(--team-accent);border-color:#efffc5}.marker-rival{background:var(--team-accent);border-color:#ffdbc0}.track-marker.is-shared{margin-top:-9px}.track-marker.marker-rival.is-shared{margin-top:9px}
.racer-panels{grid-template-columns:1fr 1fr;gap:10px}.racer-panel{padding:12px;background:#10242e;border:1px solid #314b56;border-radius:9px;color:#edf2ef;min-width:0}.racer-panel[data-racer=you]{border-top:3px solid var(--team-accent)}.racer-panel[data-racer=rival]{border-top:3px solid var(--team-accent)}.racer-panel h2{font-size:23px;color:#edf2ef}.racer-meta,.racer-hand{font-size:11px;color:#b6c8ce}.racer-where{font-size:11px;margin:5px 0 8px}.racer-stats{grid-template-columns:repeat(4,1fr);gap:5px}.racer-stats div{display:block;min-width:0}.racer-stats dt{font-size:9px;letter-spacing:0;color:#b6c8ce}.racer-stats dd{margin-top:3px;font-size:13px;display:block}.racer-stats output{min-width:0;white-space:nowrap}.racer-stats .gauge,.racer-stats .pips{display:none}.throttle-flip{height:22px;width:23px;font-size:17px}.racer-hand{margin-top:6px}.racer-crew{display:none}.edge-chip{font-size:9px;padding:2px 5px}.racer-panel header{gap:4px}.racer-meta{width:100%}
.hand-zone{min-width:0}.hand-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.hand-heading h2{font:700 18px var(--display);margin:0 0 8px}.hand-heading span{font-size:11px;color:#b6c8ce}.mobile-hand{display:flex;overflow-x:auto;gap:9px;padding:3px 2px 10px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.hand-card{position:relative;flex:0 0 124px;scroll-snap-align:start;min-height:148px;padding:0;overflow:hidden;border:1px solid #506b76;border-radius:8px;background:#162d38;color:#edf2ef;text-align:left;cursor:pointer;font-family:var(--body);box-shadow:0 3px 9px #0005}.hand-card:hover{border-color:var(--team-accent)}.card-illustration{height:140px;background-color:#284551;background-repeat:no-repeat}.hand-card .card-illustration{height:78px}.art-fallback{display:grid;place-items:center;background:linear-gradient(140deg,#396474,#071116);font:900 35px var(--display);color:var(--team-accent)}.hand-card-name{display:block;padding:7px 7px 3px;font-size:12px;font-weight:700;line-height:1.2}.hand-card-cost{display:block;padding:0 7px 8px;font-size:10px;color:#bdd0d8}.controls{padding:18px;border:1px solid #3e5963;background:#10242e}.controls-prompt{font-size:26px;line-height:1.1}.controls-detail{font-size:12px;line-height:1.5}.guide-note{padding:10px 12px;background:#203a37;border-left:3px solid var(--team-accent);color:#e6efcf;font-size:12px;line-height:1.5;margin:12px 0 0}.controls-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin-top:12px}.controls .action{max-width:none;min-width:0;width:100%;min-height:52px;padding:11px 12px;border-radius:7px;letter-spacing:0;font-size:14px}.controls .card-action{display:block}.action small{font-size:11px;line-height:1.4}.action[aria-pressed=true]{border:2px solid var(--team-accent);background:#203d3f}.controls .card-text{display:none}.action-primary{background:var(--team-accent);color:#10232b;border-color:var(--team-accent)}.action-primary small{color:#284333}.choice-confirm{margin-top:12px;padding:12px;border-radius:8px;background:#213c44;border:1px solid #91b098}.choice-confirm strong{font-size:17px}.choice-confirm p{font-size:13px;line-height:1.55;color:#e0ece9;margin:6px 0 12px}.confirm-buttons{display:grid;grid-template-columns:1fr 2fr;gap:8px}.resolution ul{padding-left:20px;font-size:14px;line-height:1.6;max-height:270px;overflow-y:auto}.resolution li{margin-bottom:6px}.resolution .action{width:100%}.race-log{max-width:none;border:1px solid #38505a;border-radius:8px;padding:0 12px}.race-log summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px}.race-log ol{border-color:#38505a}.race-log li{border-color:#38505a;font-size:12px}.race-log li b{color:#b6c8ce}.playtest .rules-detail{color:#edf2ef}.playtest .details-body>p,.interpretations li,.working-values dt{color:#bdd0d8}.playtest .concept-notice strong,.playtest .concept-notice p{color:#bdd0d8}.playtest-page footer{border-color:#304650}.race-active .playtest-head,.race-active .topbar,.race-active footer,.race-active .concept-notice,.race-active #interpretations,.race-active .actions{display:none}.race-active .playtest{padding-top:12px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.race-active .playtest-table{margin-top:0}
.card-inspector,.pause-sheet{width:min(450px,calc(100% - 20px));max-height:88dvh;overflow-y:auto;margin:auto;padding:20px;border:1px solid #61808a;border-radius:16px;background:#10242e;color:#edf2ef;box-sizing:border-box}.card-inspector::backdrop,.pause-sheet::backdrop{background:#02090de8}.close-sheet{float:right;margin-bottom:10px}.card-inspector .card-illustration{clear:both;border-radius:9px;height:200px}.card-inspector h2,.pause-sheet h2{font:800 34px/1.05 var(--display);margin:12px 0;color:#edf2ef}.card-cost{font-weight:700;color:var(--team-accent)}.inspect-rules{font-size:17px;line-height:1.65}.card-inspector small{color:#b6c8ce;font-size:11px}.card-inspector .action{display:block;width:100%;margin-top:12px;min-height:48px}.pause-sheet details{margin:18px 0;font-size:14px;line-height:1.6}.pause-sheet summary{min-height:44px;cursor:pointer}.pause-sheet p{font-size:14px;line-height:1.6}.pause-sheet .button{width:100%}.race-handoff{width:calc(100% - 28px);box-sizing:border-box}.race-handoff::backdrop{background:#071116}button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--team-accent);outline-offset:3px}button{touch-action:manipulation}[hidden]{display:none!important}
@media(min-width:850px){.race-active .playtest{max-width:1050px}.track{--row:50px}.mobile-hand .hand-card{flex-basis:155px}.hand-card .card-illustration{height:100px}.racer-stats{gap:20px}.racer-stats dt{font-size:11px}.racer-stats output{font-size:17px}.controls-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
@media(max-width:520px){.playtest-page .game{padding-left:12px;padding-right:12px}.playtest-page .topbar{padding:10px 12px;height:65px}.playtest{padding-top:25px}.playtest-table{gap:10px}.playtest-nav{display:none}.playtest-head .game-intro{font-size:14px}.race-setup{padding:12px}.driver-option{grid-template-columns:92px 1fr}.driver-option img{height:72px}.racer-panel{padding:8px}.racer-panel h2{font-size:20px}.racer-stats{gap:3px}.racer-stats dd{font-size:11px}.racer-stats dt{font-size:8px}.racer-meta{font-size:10px}.racer-panels{gap:7px}.controls{padding:12px}.controls-prompt{font-size:24px}.controls-actions{grid-template-columns:1fr 1fr}.controls .action{font-size:13px}.controls-actions .action{flex:none}.round-readout{font-size:22px}.phase-strip li{font-size:9px;padding:4px 5px}.hand-card{flex-basis:112px;min-height:137px}.hand-card .card-illustration{height:70px}.hand-card-name{font-size:11px}.track-sectors{font-size:8px}.card-inspector,.pause-sheet{max-height:90dvh}.race-active .playtest{padding-top:max(10px,env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Keep illustration tiles square so the generated atlas never stretches. */
.card-illustration,.hand-card .card-illustration,.card-inspector .card-illustration{height:auto;aspect-ratio:1}
.resume-current{margin-bottom:20px}
.hand-card.is-playable{border-color:var(--team-text);box-shadow:inset 0 0 0 1px var(--team-accent)}
@media(max-width:520px){.phase-strip{display:none}.track{--row:32px}.racer-stats{grid-template-columns:1fr 1fr;gap:5px 8px}.racer-stats div{display:flex;justify-content:space-between;align-items:center;gap:2px}.racer-stats dt{font-size:9px}.racer-stats dd{font-size:11px;margin:0}.throttle-flip{width:17px;height:18px;font-size:14px}.racer-panel h2{font-size:18px}.racer-stats dt{font-size:8px}.racer-meta{line-height:1.25}.racer-where{font-size:10px}.controls-actions .action small{display:none}.controls-actions .action{min-height:48px}.hand-card .card-illustration{aspect-ratio:1;height:auto}.mobile-hand{gap:7px}.hand-card{flex-basis:96px}.hand-card-cost{font-size:9px}.controls{scroll-margin-top:12px}}
@media(max-width:520px){.racer-stats div{display:block}.racer-stats dd{margin-top:2px}.racer-stats dt{font-size:9px}.racer-stats output{font-size:13px}}
/* Viewport cockpit: details live in separate, dismissible sheets. */
.race-active{overflow:hidden;height:100dvh}.race-active main{height:100dvh;min-height:0}.race-active .playtest{height:100dvh;box-sizing:border-box;padding:12px 20px max(12px,env(safe-area-inset-bottom));overflow:hidden}.race-active .playtest-table{height:100%;min-height:0;display:flex;flex-direction:column;gap:12px}.race-toolbar{order:-2;flex:none}.phase-strip{display:none}.track-scroll{flex:none}.racer-panels{flex:none}.race-dock{margin-top:auto;padding-top:8px;flex:none}.race-dock p{font:700 20px/1.15 var(--display);margin:0 0 10px;color:#edf2ef}.race-dock>div{display:grid;grid-template-columns:1fr 1.6fr .7fr;gap:8px}.race-dock button{min-height:52px;border:1px solid #587680;border-radius:10px;background:#173440;color:#edf2ef;font:700 14px var(--body);padding:8px}.race-dock button[data-open-decision]{background:var(--team-accent);color:#10232b;border-color:var(--team-accent)}.race-dock button:disabled{opacity:.4}.game-sheet{width:min(580px,calc(100% - 20px));max-height:calc(100dvh - 24px);margin:auto;padding:16px 16px max(16px,env(safe-area-inset-bottom));box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;border:1px solid #506e79;border-radius:18px;background:#10242e;color:#edf2ef}.game-sheet::backdrop{background:#02090de8}.sheet-close{display:block;position:sticky;top:0;z-index:3;margin:0 0 14px auto;min-height:44px;padding:10px 14px;background:#23434d;color:#fff;border:1px solid #75929b;border-radius:8px;font:600 13px var(--body);cursor:pointer}.game-sheet .controls{padding:0;border:0;background:none}.game-sheet .controls-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.game-sheet .controls-actions .action{max-width:none;min-height:52px}.game-sheet .controls-actions .action small{display:block;font-size:12px}.game-sheet .resolution ul{max-height:none;overflow:visible}.game-sheet .mobile-hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;scroll-snap-type:none;padding:0;gap:12px}.game-sheet .hand-card{min-width:0;width:100%;height:auto}.game-sheet .hand-card-name{font-size:15px;padding:10px}.game-sheet .hand-card-cost{font-size:12px;padding:0 10px 12px}.game-sheet .hand-heading{display:block}.game-sheet .hand-heading h2{font-size:28px}.game-sheet .hand-heading span{display:block;margin:0 0 14px}.game-sheet .race-log ol{max-height:none;overflow:visible}.game-sheet .race-log{border:0;padding:0}.game-sheet .duel-result{max-width:100%;margin:16px 0 0}.game-sheet .duel-result img{max-height:200px;object-fit:cover}.card-inspector,.pause-sheet{max-height:calc(100dvh - 24px);padding-bottom:max(20px,env(safe-area-inset-bottom));overscroll-behavior:contain}.card-inspector .card-illustration{max-height:230px;max-width:230px;margin:auto}.card-inspector .close-sheet{position:sticky;top:0;z-index:3}.race-handoff{max-height:calc(100dvh - 24px);overflow:auto}
@media(max-width:520px){.race-active .playtest{padding: max(8px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))}.race-active .playtest-table{gap:10px}.race-active .racer-panel{padding:8px}.race-active .racer-meta{display:none}.race-active .racer-hand{display:none}.race-active .racer-stats{grid-template-columns:1fr 1fr}.race-active .racer-panel h2{font-size:20px}.race-active .racer-where{font-size:11px;line-height:1.3;min-height:2.6em;margin-bottom:8px}.race-active .racer-stats dt{font-size:10px}.race-active .racer-stats output{font-size:15px}.game-sheet{border-radius:18px 18px 0 0;width:100%;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));margin:auto 0 0;padding:14px 16px max(18px,env(safe-area-inset-bottom))}.race-dock p{font-size:21px}.round-readout{font-size:20px}.game-sheet .choice-confirm .confirm-buttons{grid-template-columns:1fr 2fr}.game-sheet .choice-confirm .action{font-size:13px}.game-sheet .controls-prompt{font-size:27px}.game-sheet .controls-detail{font-size:14px}.game-sheet .guide-note{font-size:13px}}
@media(max-height:650px){.race-active .track{--row:26px}.race-active .playtest-table{gap:8px}.race-active .racer-panel h2{font-size:17px}.race-active .racer-where{font-size:10px;min-height:0;margin:4px 0}.race-active .racer-stats{gap:3px 8px}.race-active .racer-stats dt{font-size:9px}.race-active .racer-stats output{font-size:13px}.race-dock p{font-size:18px;margin-bottom:6px}.race-dock button{min-height:48px}.race-toolbar .icon-button{min-height:44px}.race-active .round-readout{font-size:18px}.game-sheet .card-illustration{max-height:150px}.card-inspector .card-illustration{max-width:150px;max-height:150px}}
@media(max-height:430px) and (min-width:521px){.race-active .playtest-table{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:6px 14px}.race-toolbar{grid-column:1/-1}.track-scroll{align-self:start}.racer-panels{align-self:start}.race-dock{grid-column:1/-1;margin:0}.racer-panel .racer-meta,.racer-panel .racer-hand{display:none}.racer-stats{grid-template-columns:repeat(2,1fr)}.race-dock>div{grid-template-columns:1fr 2fr 1fr}.race-dock p{font-size:16px}}
.decision-hand{width:100%;margin-top:14px;min-height:48px;text-align:center;border-color:var(--team-text);color:var(--team-accent)}
/* Short landscape phones: keep the bottom dock inside the visible viewport. */
@media(max-height:350px) and (min-width:521px){.race-active .racer-panel{padding:6px}.race-active .racer-panel h2{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.race-active .racer-panel header{min-width:0;gap:2px}.race-active .racer-where{font-size:9px;line-height:1.2;margin:3px 0}.race-active .racer-stats{gap:2px 5px}.race-active .racer-stats dt{font-size:8px}.race-active .racer-stats output{font-size:12px}.race-active .racer-stats dd{margin-top:1px}.race-active .edge-chip{font-size:8px;padding:1px 3px}.race-active .race-dock{padding-top:2px}}

/* Cockpit polish: clear race hierarchy and direct access to the current hand. */
.race-status{display:flex;justify-content:space-between;gap:8px;font:700 10px/1.3 var(--body);letter-spacing:.09em;color:#bdd0d8;flex:none}.race-status span:first-child{color:var(--team-accent)}.racer-panel{position:relative;overflow:hidden;padding-left:58px}.racer-panel:after{content:"";position:absolute;bottom:0;left:0;width:var(--progress,0%);height:3px;background:var(--team-accent);transition:width .3s ease}.racer-panel[data-racer=rival]:after{background:var(--team-accent)}.racer-avatar{position:absolute;top:12px;left:10px;width:38px;height:44px;object-fit:cover;border-radius:7px;border:1px solid #607680}.racer-panel.is-danger{border-bottom-color:#ff997e}.racer-panel.is-danger [data-readout=integrity]{color:#ffb398}.cockpit-hand{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:end;overflow:hidden}.quick-hand-heading{display:flex;justify-content:space-between;align-items:center;color:#b5c8d0;font:700 10px var(--body);letter-spacing:.08em;margin:4px 0 8px}.quick-hand-heading small{font-weight:400;letter-spacing:0}.quick-hand-cards{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 7px;scroll-snap-type:x proximity}.quick-card{flex:0 0 106px;min-width:0;min-height:44px;padding:0;border:1px solid #47636d;background:#10242e;border-radius:9px;overflow:hidden;color:#edf2ef;text-align:left;scroll-snap-align:start;cursor:pointer}.quick-card .card-illustration{aspect-ratio:1.35;height:auto}.quick-card>span{display:block;padding:7px 7px 3px;font:700 11px/1.2 var(--body)}.quick-card>small{display:block;padding:0 7px 7px;color:#b7cbd2;font:600 9px var(--body)}.quick-card.is-playable{border-color:var(--team-text);box-shadow:0 0 0 1px color-mix(in srgb,var(--team-accent) 20%,transparent)}.race-dock{margin-top:0}.race-dock button{transition:background .15s,transform .15s}.race-dock button:active,.quick-card:active{transform:translateY(1px)}.track-marker{transition:left .35s ease,top .35s ease}.game-sheet .hand-card.is-playable:after{content:'AVAILABLE';position:absolute;top:8px;left:8px;padding:4px 6px;border-radius:4px;background:var(--team-accent);color:#10232b;font:800 9px var(--body)}
@media(max-width:520px){.race-active .racer-panel{padding:8px 8px 10px 46px}.racer-avatar{left:7px;top:9px;width:30px;height:37px}.race-active .racer-panel h2{font-size:17px}.race-active .racer-stats{gap:5px}.race-active .racer-where{font-size:10px;min-height:0}.race-active .racer-stats dt{font-size:9px}.race-active .racer-stats output{font-size:13px}.quick-card{flex-basis:100px}.race-active .playtest-table{gap:9px}}
@media(max-height:700px){.quick-card .card-illustration{aspect-ratio:1.8}.quick-card>span{font-size:10px;padding-top:4px}.quick-card>small{padding-bottom:4px}.quick-hand-heading{margin:0 0 4px}.race-status{font-size:9px}.race-active .playtest-table{gap:6px}}
@media(max-height:580px){.cockpit-hand{display:none}.race-dock{margin-top:auto}.race-status{display:none}}
@media(max-height:430px) and (min-width:521px){.race-active .racer-panel{padding:6px}.racer-avatar{display:none}.race-status,.cockpit-hand{display:none}}
@media(prefers-reduced-motion:reduce){.track-marker,.racer-panel:after,.race-dock button{transition:none}}
/* Keep resource columns full-width; portraits belong to the name row only. */
.racer-panel,.race-active .racer-panel{padding-left:10px}.racer-panel header{min-height:46px;padding-left:46px}.racer-avatar{top:10px}.racer-panel h2{line-height:1.05}
@media(max-width:520px){.race-active .racer-panel{padding-left:8px}.racer-panel header{padding-left:36px;min-height:40px}.racer-avatar{top:8px}.race-active .racer-panel h2{font-size:17px}}
@media(max-height:430px) and (min-width:521px){.racer-panel header{padding-left:0;min-height:0}}

/* Explicit card play controls: keep actions visible below scrollable artwork/rules. */
.card-inspector[open]{display:flex;flex-direction:column;overflow:hidden;padding:14px;gap:10px}
.card-inspector [data-close-inspector]{float:none;align-self:flex-end;flex:none;margin:0;position:static;min-height:44px}
.card-inspector [data-inspect-body]{overflow-y:auto;min-height:0;overscroll-behavior:contain;padding:0 5px}
.card-inspector [data-inspect-actions]{flex:none;border-top:1px solid #45616b;padding-top:8px;background:#10242e}
.card-inspector [data-inspect-actions] .action{margin-top:4px;min-height:48px;max-width:none;font-weight:800}
.card-inspector [data-inspect-actions] p{font-size:13px;line-height:1.4;margin:4px}
.card-inspector [data-inspect-actions] small{display:block;color:inherit}
.card-inspector .inspect-rules{font-size:15px;line-height:1.5}
.card-availability{display:block;padding:0 10px 12px;font-size:11px;line-height:1.35;color:#b6c8ce}
.hand-card.is-playable .card-availability{color:var(--team-text);font-weight:700}
.game-sheet .choice-confirm{position:sticky;bottom:0;z-index:4;background:#203a37;box-shadow:0 -8px 20px #071116aa}
@media(max-height:650px){.card-inspector .card-illustration{max-width:110px}.card-inspector h2{font-size:25px;margin:8px 0}.card-inspector .card-cost{margin:5px 0}}
/* Keep quick-card labels visible when the cockpit leaves less room for the hand. */
.quick-hand-heading{flex:none}
.quick-hand-cards{flex:0 1 146px;min-height:68px}
.quick-card{display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-content:stretch;min-height:0}
.quick-card .card-illustration{min-height:0;height:auto;aspect-ratio:auto}
.quick-card>span,.quick-card>small{min-width:0}
