/* Phone layout: the desktop rules and artwork remain unchanged. */
.mobile-menu-toggle { display:none; }
@media (max-width:760px) {
 html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
 :root { --game-ui-scale:1; }
 body[data-page] { background-attachment:scroll; }
 body[data-page] #header { position:relative; inset:auto; display:flex; flex-direction:column; align-items:center; width:100%; padding:8px 10px 4px; gap:4px; }
 body[data-page] .home-logo { width:108px; height:48px; flex:0 0 auto; padding:0; }
 body[data-page] .home-logo>.home-logo-art { position:static; width:100%; height:100%; object-fit:contain; }
 body[data-page] .home-menu { display:grid; grid-template-columns:minmax(0,1fr) 40px; width:100%; min-width:0; min-height:52px; gap:4px 6px; padding:5px 8px; border-radius:16px; }
 body[data-page] .home-play-small { display:none; }
 body[data-page] .home-menu-account { order:1; grid-column:1; display:flex; justify-content:space-between; align-items:center; gap:6px; min-width:0; }
 body[data-page] .home-balance { min-height:40px; display:flex; align-items:center; gap:4px; font-size:12px; white-space:nowrap; }
 body[data-page] .home-balance .art-icon { width:22px; height:22px; }
 body[data-page] .home-wallet-connect { min-width:0; min-height:40px; padding:6px 8px; font-size:11px; white-space:nowrap; }
 body[data-page] .mobile-menu-toggle { order:2; grid-column:2; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #7892a4; border-radius:10px; background:linear-gradient(#fffdf2,#e8dcc3); color:#0b2857; font:26px/1 Cartoon,sans-serif; cursor:pointer; }
 body[data-page] #header nav { order:3; grid-column:1/-1; display:none; width:100%; gap:4px; padding:4px 0 0; }
 body[data-page] #header .mobile-nav-open nav { display:grid; grid-template-columns:1fr 1fr; }
 body[data-page] #header nav a { display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:6px; font-size:13px; text-align:center; }
 body[data-page] .devnet-network-badge { position:relative; inset:auto; width:fit-content; max-width:calc(100% - 24px); margin:4px auto 6px; padding:4px 10px; font-size:10px; text-align:center; }
 body[data-page] #main { width:100%; min-width:0; padding:18px 12px 24px; }
 body[data-page="home"] #main { padding:0; }
 body[data-page="home"] #header { background:#50c7fa url('assets/home-islands-v2.webp') center top/cover; }
 body[data-page="home"] .home-hero, body[data-page="home"] .home-hero-inner { min-height:0; }
 body[data-page="home"] .home-hero-inner { grid-template-columns:1fr; padding:10px 18px 62px; gap:4px; }
 body[data-page="home"] .home-hero-copy .home-heading-art { width:88%; max-width:330px; height:auto; margin:auto; }
 body[data-page="home"] .home-hero-copy>.home-tagline { margin:4px auto 0; }
 body[data-page="home"] .home-tagline>img { width:62%; max-width:210px; }
 body[data-page="home"] .home-flight-art { position:relative; min-height:0; height:170px; width:100%; margin:0; }
 body[data-page="home"] .home-flight-art>.home-reference-fleet { position:static; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; transform:none; }
 .home-showcase>.home-showcase-frame { margin-top:-46px; }
 .home-carousel-shell { grid-template-columns:32px minmax(0,1fr) 32px; gap:6px; }
 .home-carousel-arrow { width:32px; height:44px; }
 .home-aircraft-card { flex:0 0 calc((100% - 16px)/2); min-width:0; }
 .home-card-sky { height:112px; }
 .home-card-name { font-size:12px; overflow-wrap:anywhere; }
 .home-card-rarity { font-size:10px; }
 .home-mint-actions { flex-wrap:wrap; gap:10px; }
 .home-mint-actions .home-button { min-width:112px; min-height:44px; font-size:17px; padding:9px 12px; }
 body[data-page] .hangar-heading .actions { display:flex; flex-wrap:wrap; gap:10px; }
 body[data-page="planes"] .hangar-heading .actions .btn { min-width:0; min-height:44px; padding:6px 8px; font-size:15px; }
 body[data-page="planes"] .hangar-heading .actions .btn img { width:26px; height:26px; }
 body[data-page] .filters { display:flex; flex-wrap:wrap; gap:10px; }
 body[data-page] .filters input,body[data-page] .filters select { min-width:120px; flex:1; min-height:44px; font-size:16px; }
 body[data-page="planes"] .fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; gap:18px 12px; margin:0; }
 body[data-page="planes"] .plane-card { min-width:0; padding:12px 6px 8px; }
 body[data-page="planes"] .plane-art { width:100%; height:110px; max-height:110px; object-fit:contain; padding:5px; aspect-ratio:auto; }
 body[data-page="planes"] .plane-name { min-height:36px; margin:2px 0 6px; padding:4px 2px; font-size:13px; }
 body[data-page="planes"] .aircraft-stats { display:grid; grid-template-columns:1fr; gap:2px; }
 body[data-page="planes"] .stat-column>div { font-size:11px; gap:3px; }
 body[data-page="planes"] .stat-column b { font-size:12px; }
 body[data-page="planes"] .stat-column .stat-icon,body[data-page="planes"] .stat-column .fuel-icon { width:15px; height:16px; }
 body[data-page="planes"] .fuel-state { min-height:20px; font-size:11px; padding:3px 0; }
 body[data-page="planes"] .card-buttons { display:grid; grid-template-columns:1fr; gap:7px; }
 body[data-page="planes"] .card-buttons .btn { width:100%; min-height:44px; height:44px; font-size:13px; padding:7px 5px; }
 body[data-page="planes"] .aircraft-number { font-size:11px; }
 body[data-page] .mint-panel { margin-top:18px; padding:12px 12px 18px; }
 body[data-page="mint"] .mint-panel>.hangar-frame { position:relative; inset:auto; transform:none; width:100%; min-height:62px; height:auto; margin:0 auto 12px; padding:12px 16%; font-size:18px; }
 body[data-page] .mint-content { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
 body[data-page] .crate-stage img { width:78%; max-width:260px; height:190px; object-fit:contain; }
 body[data-page] .mint-info h2 { font-size:22px; }
 body[data-page="mint"] .odds-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px 8px; margin:28px 0 18px; }
 body[data-page="mint"] .odds-item { grid-column:span 2; min-width:0; padding:19px 3px 8px; }
 body[data-page="mint"] .odds-item:nth-child(4) { grid-column:2/span 2; }
 body[data-page="mint"] .odds-item span { font-size:11px; }
 body[data-page="mint"] .odds-item strong { font-size:20px; padding:4px 8px; }
 body[data-page] .mint-purchase-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 body[data-page] .mint-purchase-options .btn { width:100%; min-width:0; min-height:44px; font-size:18px; padding:8px 6px; }
 body[data-page] .wallet-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 body[data-page] .wallet-grid { grid-template-columns:minmax(0,1fr); }
 body[data-page] .wallet-content,body[data-page] .wallet-form,body[data-page] .history-panel { min-width:0; }
 body[data-page] .balance-panel { padding:14px 8px; gap:8px; text-align:center; align-items:center; }
 body[data-page] .balance-panel .balance-coin { width:34px; height:34px; }
 body[data-page] .balance-panel h2 { font-size:13px; }
 body[data-page] .balance-panel strong { font-size:18px; overflow-wrap:anywhere; }
 body[data-page] .devnet-status { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; overflow-wrap:anywhere; font:12px/1.35 Cartoon,sans-serif; }
 body[data-page] .devnet-status .btn { min-height:40px; padding:5px 10px; font-size:13px; margin:0; }
 body[data-page] input,body[data-page] select { font-size:16px; }
 body[data-page] .amount-input input { min-width:0; width:100%; font-size:20px; }
 /* The overlay scrolls the whole popup, including its raised title. */
 body[data-page] .overlay { top:var(--modal-viewport-top,0px); bottom:auto; height:var(--modal-viewport-height,100dvh); box-sizing:border-box; padding:38px 12px 16px; overflow:auto; overscroll-behavior:contain; align-items:flex-start; }
 body[data-page] .overlay>.dialog { box-sizing:border-box; width:100%; min-width:0; max-width:440px; max-height:none; flex:none; margin:2px auto; padding:38px 10px 16px; overflow:visible; zoom:1; }
 body[data-page] .dialog,body[data-page] .dialog :is(p,small,label,input,select,.intro,.small,.muted,.price,.mode-meta,.mode-fuel,.wallet-note,.refuel-item) { font-family:Cartoon,Sky,sans-serif!important; font-weight:400; }
 body[data-page] .dialog :is(.intro,p.small,.small.center) { font-size:14px!important; line-height:1.35; }
 body[data-page] .dialog>.hangar-frame { position:absolute!important; top:-26px!important; left:50%!important; transform:translateX(-50%)!important; margin:0!important; max-width:calc(100% - 54px)!important; z-index:6; }
 body[data-page] .dialog>.close { width:40px; height:40px; min-width:40px; top:6px; right:4px; z-index:10; }
 body[data-page] .dialog>.close::before,body[data-page] .dialog>.close::after { width:18px; height:6px; }
 body[data-page] .dialog .modal-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:12px; }
 body[data-page] .dialog .modal-actions>.btn,body[data-page] .dialog .reveal>.btn { flex:1 1 110px; width:auto; max-width:100%; min-width:0; min-height:44px; height:auto; padding:8px 10px; font-size:15px; white-space:normal; }
 body[data-page] .dialog .provider-button { min-height:60px; font-size:18px; padding:8px; }
 body[data-page] .dialog>.reveal { max-height:none; overflow:visible; padding:0 2px; }
 body[data-page] .dialog .reveal-art { width:100%; max-width:260px; height:155px; min-height:0; margin:6px auto; padding:0 10px; }
 body[data-page] .dialog .reveal-art :is(img.reveal-plane,img.batch-aircraft) { display:block; position:static; width:100%; height:155px; max-height:155px; object-fit:contain; transform:none; }
 body[data-page] .dialog .reveal>h3 { top:auto; margin:8px 0; font-size:19px; overflow-wrap:anywhere; }
 body[data-page] .dialog .reveal>.intro { top:auto; margin:8px 0; }
 body[data-page] .dialog .reveal>.badge { margin:4px auto; font-size:12px; }
 body[data-page] .dialog .batch-counter { margin:4px 0; font-size:12px; }
 body[data-page] .dialog .price { min-width:0; min-height:38px; padding:6px 12px; font-size:23px; margin:12px auto; }
 body[data-page] .dialog .price .art-icon { width:26px; height:26px; }
 body[data-page] .dialog .processing { padding:8px 4px; }
 body[data-page] .dialog .home-detail-plane { display:block; width:100%; height:160px; object-fit:contain; margin:4px 0; }
 body[data-page] .dialog .home-aircraft-detail { padding-top:0; }
 body[data-page] .dialog .home-aircraft-detail>p { font-size:14px; }
 body[data-page] .dialog .selected-plane { display:grid; grid-template-columns:40% minmax(0,1fr); gap:8px; padding:8px; text-align:center; }
 body[data-page] .dialog .selected-plane>.selected-plane-image { width:100%; height:100px; max-width:100%; object-fit:contain; transform:none; padding:2px; }
 body[data-page] .dialog .selected-plane>div { min-width:0; transform:none; gap:5px; }
 body[data-page] .dialog .selected-plane h3 { margin:0; font-size:16px; }
 body[data-page] .dialog .selected-plane .badge { font-size:10px; padding:4px 6px; }
 body[data-page] .dialog .selected-plane p { margin:4px 0; font-size:11px; gap:4px; }
 body[data-page] .dialog .selected-plane .fuel-icon { width:18px; height:20px; }
 body[data-page] .dialog .mode-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:10px 0; }
 body[data-page] .dialog .mode-card { min-width:0; padding:12px 5px; }
 body[data-page] .dialog .mode-art { height:44px; }
 body[data-page] .dialog .mode-art>.icon,body[data-page] .dialog .mode-art .cartoon-clock { width:30px; height:34px; }
 body[data-page] .dialog .mode-art .mode-plane { width:72px; height:44px; }
 body[data-page] .dialog .mode-card h3 { font-size:18px; margin:6px 0; }
 body[data-page] .dialog .mode-card p { font-size:12px; line-height:1.25; margin:6px 0; }
 body[data-page] .dialog .mode-price { font-size:14px; gap:3px; }
 body[data-page] .dialog .mode-price .art-icon,body[data-page] .dialog .mode-price .cartoon-clock { width:21px; height:24px; }
 body[data-page] .dialog .mode-price small { font-size:9px; }
 body[data-page] .dialog .mode-fuel { font-size:11px; gap:4px; margin:6px 0; }
 body[data-page] .dialog .mode-fuel .fuel-icon { width:17px; height:19px; }
 body[data-page] .dialog .mode-card .btn { width:100%; min-height:44px; padding:8px 3px; font-size:15px; }
 body[data-page] .dialog .flight-choice-note { font-size:12px; margin-top:8px; padding:8px; }
 body[data-page] .dialog .flight-choice-note small { font-size:11px; }
 body[data-page] .dialog .result-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
 body[data-page] .dialog .result-aircraft { display:grid; grid-template-columns:1fr 1fr; gap:4px 8px; padding:4px; text-align:center; }
 body[data-page] .dialog .result-aircraft h2 { grid-column:1/-1; grid-row:1; align-self:auto; margin:0; font-size:18px; text-align:center; }
 body[data-page] .dialog .result-rays { grid-column:1; grid-row:2/5; width:100%; height:130px; margin:0; }
 body[data-page] .dialog .result-plane { display:block; width:100%; height:130px; object-fit:contain; transform:none; }
 body[data-page] .dialog .result-aircraft>.badge { grid-column:2; grid-row:2; font-size:11px; margin:0 auto; }
 body[data-page] .dialog .result-aircraft>.result-trophy { grid-column:2; grid-row:3/5; width:92px; height:68px; margin:0 auto; }
 body[data-page] .dialog .result-aircraft>.result-trophy>strong { font-size:23px; }
 body[data-page] .dialog .result-aircraft>.result-trophy>strong small { font-size:10px; }
 body[data-page] .dialog .result-aircraft>h3 { display:none; }
 body[data-page] .dialog .result-payout { grid-column:1/-1; grid-row:5; padding:6px; gap:10px; margin:4px 0; }
 body[data-page] .dialog .result-payout>span { font-size:14px; gap:4px; }
 body[data-page] .dialog .result-payout .art-icon { width:22px; height:22px; }
 body[data-page] .dialog .final-board>h2 { font-size:19px; margin:0 0 7px; padding:8px 0; }
 body[data-page] .dialog .final-row { display:grid; grid-template-columns:34px 55px minmax(0,1fr); min-height:48px; gap:6px; padding:4px; }
 body[data-page] .dialog .final-row .result-trophy { width:34px; height:30px; }
 body[data-page] .dialog .final-row .result-trophy>strong { font-size:11px; }
 body[data-page] .dialog .final-row .result-trophy>strong small { font-size:5px; }
 body[data-page] .dialog .standing-aircraft { width:55px; height:40px; object-fit:contain; }
 body[data-page] .dialog .standing-name { min-width:0; overflow-wrap:anywhere; }
 body[data-page] .dialog .standing-name strong { font-size:14px; }
 body[data-page] .dialog .standing-name>span { font-size:10px; }
 body[data-page] .dialog .standing-stats { display:none; }
 body[data-page] .dialog .rewards-top { gap:8px; }
 body[data-page] .dialog .reward-aircraft { width:100px; height:85px; object-fit:contain; }
 body[data-page] .dialog .reward-plane-info h3 { font-size:17px; }
 body[data-page] .dialog .latest-result { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; }
 body[data-page] .dialog .reward-history .history-wrap { overflow:visible; }
 body[data-page] .dialog .reward-history .history-table { display:block; width:100%; min-width:0; font:12px/1.3 Cartoon,sans-serif; }
 body[data-page] .dialog .reward-history .history-table thead { display:none; }
 body[data-page] .dialog .reward-history .history-table tbody { display:block; }
 body[data-page] .dialog .reward-history .history-table tr { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:10px 4px; border-bottom:1px solid #bdd1d7; }
 body[data-page] .dialog .reward-history .history-table td { display:block; width:auto; padding:0; border:0; font-size:12px; white-space:normal; }
 body[data-page] .dialog .reward-history .history-table td::before { content:attr(data-label); display:block; color:#527489; font-size:10px; }
 body[data-page] .dialog .reward-history .history-table td:first-child { grid-column:1/-1; font-size:12px; }
 body[data-page] .dialog .reward-history .history-table .status { font-size:10px; }
 body[data-page] .dialog .claim-summary { font-size:15px; padding:8px; }
 body[data-page] .dialog .claim-summary strong { font-size:21px; }
 body[data-page] .dialog .batch-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 body[data-page] .dialog .batch-summary article { min-width:0; padding:8px 4px; }
 body[data-page] .dialog .batch-summary .batch-aircraft { height:85px; }
 body[data-page] .dialog .batch-summary h3 { font-size:13px; overflow-wrap:anywhere; }
 body[data-page] .dialog .batch-summary .badge { font-size:9px; padding:4px; }
 body[data-page] .dialog .refuel-toolbar { flex-wrap:wrap; gap:10px; }
 body[data-page] .dialog.refuel-list-dialog .refuel-toolbar .intro { flex:1 1 100%; font-size:13px; }
 body[data-page] .dialog.refuel-list-dialog .refuel-all-button { min-width:140px; min-height:44px; font-size:16px; }
 body[data-page] .dialog .refuel-list { max-height:none; overflow:visible; }
 body[data-page] .dialog .refuel-item { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:5px; padding:8px 4px; }
 body[data-page] .dialog .refuel-item img { width:52px; height:42px; object-fit:contain; }
 body[data-page] .dialog .refuel-item strong { font-size:12px; overflow-wrap:anywhere; }
 body[data-page] .dialog .refuel-item .btn { min-height:40px; font-size:12px; padding:6px; }
 body[data-page] .dialog.flight-dialog { --race-row-step:44px; }
 body[data-page] .dialog.flight-dialog .race-scene { width:100%; min-width:0; box-sizing:border-box; aspect-ratio:auto; height:175px; min-height:0; }
 body[data-page] .dialog.flight-dialog .race-hud { left:5px; right:5px; gap:4px; flex-wrap:nowrap; }
 body[data-page] .dialog.flight-dialog .hud-chip { font-size:10px; padding:5px; gap:3px; }
 body[data-page] .dialog.flight-dialog .hud-chip strong { font-size:15px; }
 body[data-page] .dialog.flight-dialog .race-timer { font-size:13px; }
 body[data-page] .dialog.flight-dialog .live-board>h2 { font-size:18px; padding:7px 0; }
 body[data-page] .dialog.flight-dialog .race-standings { height:calc(5 * var(--race-row-step)); }
 body[data-page] .dialog.flight-dialog .rank-row { min-height:40px; height:40px; grid-template-columns:30px 44px minmax(0,.8fr) minmax(0,1.1fr); gap:4px; padding:2px 4px; }
 body[data-page] .dialog.flight-dialog .live-plane { width:44px; height:34px; object-fit:contain; }
 body[data-page] .dialog.flight-dialog .rank-cup,body[data-page] .dialog.flight-dialog .rank-cup .result-trophy { width:30px; height:28px; }
 body[data-page] .dialog.flight-dialog .rank-cup .result-trophy>strong { font-size:10px; }
 body[data-page] .dialog.flight-dialog .rank-cup .result-trophy>strong small { font-size:5px; }
 body[data-page] .dialog.flight-dialog .rank-name { font-size:12px; overflow-wrap:anywhere; }
 body[data-page] .dialog.flight-dialog .rank-plane { display:block; font-size:9px; }
 body[data-page] .dialog.flight-dialog .race-footer { margin-top:8px; font-size:12px; }
 body[data-page] .dialog.flight-dialog .finish-sign { padding:10px; }
 body[data-page] .dialog.flight-dialog .finish-sign strong { font-size:20px; }
 body[data-page] .dialog.flight-dialog .finish-sign small { font-size:11px; }
 #toast { max-width:calc(100vw - 28px); white-space:normal; font:13px/1.3 Cartoon,sans-serif; }
}
@media (max-width:359px) {
 body[data-page="planes"] .fleet-grid { grid-template-columns:minmax(0,1fr); max-width:270px; margin:auto; }
 body[data-page] .home-balance { font-size:10px; }
 body[data-page] .home-wallet-connect { font-size:10px; padding:6px; }
 body[data-page] .home-balance .art-icon { width:18px; height:18px; }
 body[data-page] .dialog .mode-card h3 { font-size:16px; }
}
@media (max-width:760px) {
 body[data-page] .dialog>.close { position:sticky; float:right; top:0; right:auto; margin:0 0 -40px -40px; }
 body[data-page] .dialog .modal-actions { position:sticky; bottom:-16px; z-index:5; background:linear-gradient(#fff8e5ed,#fff8e5); padding:8px 0 2px; }
 body[data-page] .dialog .reward-hero { display:grid; grid-template-columns:90px minmax(0,1fr); gap:8px; padding:4px; }
 body[data-page] .dialog .reward-hero>.reward-aircraft { grid-column:1; grid-row:1; width:90px; height:80px; }
 body[data-page] .dialog .reward-identity { grid-column:2; grid-row:1; min-width:0; }
 body[data-page] .dialog .reward-identity h2 { font-size:16px; overflow-wrap:anywhere; }
 body[data-page] .dialog .reward-identity .badge { font-size:10px; }
 body[data-page] .dialog .reward-identity p { font-size:11px; }
 body[data-page] .dialog .latest-reward { grid-column:1/-1; display:grid; grid-template-columns:70px minmax(0,1fr); gap:4px 8px; margin:0; padding:4px; }
 body[data-page] .dialog .latest-reward>.result-trophy { grid-column:1; grid-row:1/3; width:70px; height:54px; margin:0; }
 body[data-page] .dialog .latest-reward>.result-trophy>strong { font-size:19px; }
 body[data-page] .dialog .latest-reward>.result-trophy>strong small { font-size:9px; }
 body[data-page] .dialog .latest-label { grid-column:2; grid-row:1; margin:0; font-size:11px; }
 body[data-page] .dialog .latest-payout { grid-column:2; grid-row:2; display:flex; flex-wrap:wrap; gap:5px; }
 body[data-page] .dialog .latest-payout>span { font-size:12px; padding:3px 5px; }
 body[data-page] .dialog .latest-payout .art-icon { width:18px; height:18px; }
}

/* V4: mobile popup chrome is fixed to the panel; only the body scrolls. */
@media (max-width:760px) {
 body[data-page] .overlay { padding:36px 12px 16px; overflow:auto; }
 body[data-page] .overlay>.dialog { display:flex; flex-direction:column; position:relative; max-height:calc(var(--modal-viewport-height,100dvh) - 56px); padding:46px 10px 14px; overflow:visible; }
 body[data-page] .dialog>.dialog-body { display:block; flex:1 1 auto; min-height:0; min-width:0; max-height:calc(var(--modal-viewport-height,100dvh) - 128px); padding:0 3px 4px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
 body[data-page] .dialog>.hangar-frame { top:-23px!important; max-width:calc(100% - 92px)!important; }
 body[data-page] .dialog>.close { position:absolute; float:none; top:7px; right:7px; margin:0; width:36px; height:36px; min-width:36px; transform:none; }
 body[data-page] .dialog>.close:hover,body[data-page] .dialog>.close:active { transform:none; }
 body[data-page] .dialog>.close::before,body[data-page] .dialog>.close::after { width:16px; height:5px; }
 body[data-page] .dialog .modal-actions { position:static; bottom:auto; z-index:auto; background:none; padding:0; gap:8px; margin:12px 0 2px; }
 body[data-page] .dialog .modal-actions>.btn,body[data-page] .dialog .reveal>.btn { flex:0 1 180px; width:180px; max-width:100%; height:auto; min-height:42px; padding:7px 10px; font-size:14px; line-height:1.15; }
 body[data-page] .dialog .reveal { max-height:none; overflow:visible; padding:0 2px; }
 body[data-page] .dialog .reveal>.btn { margin:12px auto 2px; }
 body[data-page] .dialog.batch-reveal-dialog .modal-actions>.btn { flex:0 1 190px; width:190px; }
 body[data-page] .dialog .batch-counter { position:static; margin:0 auto 12px; font-size:11px; line-height:1.2; }
 body[data-page] .dialog .reveal>.badge { position:static; top:auto; margin:0 auto 7px; font-size:11px; }
 body[data-page] .dialog .flight-choice-note { display:flex; align-items:center; gap:7px; padding:7px 8px; margin-top:9px; min-height:0; font-size:11px; line-height:1.25; }
 body[data-page] .dialog .flight-choice-note>div { min-width:0; }
 body[data-page] .dialog .flight-choice-note strong { font-size:11px; line-height:1.25; }
 body[data-page] .dialog .flight-choice-note small { display:block; margin-top:3px; font-size:10px; line-height:1.2; }
 body[data-page] .dialog .flight-choice-note .info-circle { flex:0 0 23px; width:23px; height:23px; font-size:17px; line-height:19px; border-width:2px; }
 /* Equal top actions, with room for the longer label and its icon. */
 body[data-page="planes"] .hangar-heading .actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
 body[data-page="planes"] .hangar-heading .actions .btn { box-sizing:border-box; width:100%; max-width:100%; min-width:0; height:44px; min-height:44px; padding:6px 5px; gap:4px; font-size:clamp(10px,3.15vw,13px); line-height:1.1; white-space:nowrap; }
 body[data-page="planes"] .hangar-heading .actions .btn img { flex:0 0 20px; width:20px; height:20px; }
 body[data-page="planes"] .filters { gap:8px; }
 body[data-page="planes"] .filters input,body[data-page="planes"] .filters select { box-sizing:border-box; min-width:0; width:0; min-height:36px; height:36px; padding:6px 8px; font-size:14px; }
 /* A correctly proportioned cup keeps its numeral inside the bowl. */
 body[data-page] .dialog .result-trophy { aspect-ratio:1604/981; height:auto!important; }
 body[data-page] .dialog .result-trophy>strong { top:20%; transform:translateX(-50%); gap:0; line-height:1; white-space:nowrap; }
 body[data-page] .dialog .result-trophy>strong small { line-height:1; }
 body[data-page] .dialog .result-aircraft { grid-template-rows:auto 44px 80px auto; row-gap:4px; align-items:center; }
 body[data-page] .dialog .result-aircraft>.badge { grid-row:2; align-self:end; font-size:10px; padding:3px 8px; margin:0 auto 0; }
 body[data-page] .dialog .result-aircraft>.result-trophy { grid-row:3; align-self:start; width:92px; margin:3px auto 0; }
 body[data-page] .dialog .result-aircraft>.result-trophy>strong { font-size:20px; }
 body[data-page] .dialog .result-aircraft>.result-trophy>strong small { font-size:9px; }
 body[data-page] .dialog .result-rays { grid-row:2/4; }
 body[data-page] .dialog .result-payout { grid-row:4; }
 body[data-page] .dialog .final-row .standing-trophy { width:34px; min-width:34px; flex-basis:34px; margin:0; }
 body[data-page] .dialog .final-row .standing-trophy>strong { font-size:8px; }
 body[data-page] .dialog .final-row .standing-trophy>strong small { font-size:4px; }
 body[data-page] .dialog.flight-dialog .rank-cup .result-trophy { width:30px; }
 body[data-page] .dialog.flight-dialog .rank-cup .result-trophy>strong { font-size:7px; top:20%; }
 body[data-page] .dialog.flight-dialog .rank-cup .result-trophy>strong small { font-size:3.5px; }
 body[data-page] .dialog .latest-reward>.result-trophy>strong { font-size:15px; }
 body[data-page] .dialog .latest-reward>.result-trophy>strong small { font-size:7px; }
 body[data-page] .dialog.flight-dialog .race-footer { display:flex; align-items:center; justify-content:center; margin:0; padding:9px 0; min-height:38px; }
 body[data-page] .dialog.flight-dialog .race-footer .live-badge { display:inline-flex; align-items:center; font-size:10px; line-height:1; padding:4px 8px; margin:0; }
 body[data-page] .dialog.flight-dialog .race-footer .btn { width:auto; max-width:100%; min-height:42px; padding:7px 14px; font-size:15px; line-height:1.15; }
 /* Wallet page controls, keeping the illustrated desktop design. */
 body[data-page="wallet"] .wallet-form>p { position:static; top:auto; font:13px/1.4 Cartoon,sans-serif; margin:0 auto 12px; }
 body[data-page="wallet"] .wallet-form .field-label { position:static; top:auto; font-size:13px; margin-bottom:6px; }
 body[data-page="wallet"] .wallet-form .amount-input { position:static; top:auto; min-height:44px; margin:0; }
 body[data-page="wallet"] .wallet-form .amount-input input { font-size:16px; padding:8px 10px; }
 body[data-page="wallet"] .wallet-form .amount-input button { font-size:13px; padding:5px 9px; min-height:32px; }
 body[data-page="wallet"] .wallet-form .transfer-preview { position:static; top:auto; min-height:0; margin:12px 0; padding:10px 8px; gap:8px; }
 body[data-page="wallet"] .wallet-form .transfer-preview span { font-size:11px; }
 body[data-page="wallet"] .wallet-form .transfer-preview b { font-size:18px; }
 body[data-page="wallet"] .wallet-form .transfer-preview b span { font-size:inherit; }
 body[data-page="wallet"] .wallet-form .btn { box-sizing:border-box; width:170px; max-width:100%; min-height:44px; height:auto; padding:7px 12px; font-size:17px; line-height:1.15; margin:10px auto; }
 body[data-page="wallet"] .wallet-form .wallet-note { font-size:13px!important; line-height:1.3; margin:10px 0 0!important; }
 /* History is a compact table inside its own bounded scroll region. */
 body[data-page] .dialog.rewards-dialog .reward-hero { flex:none; margin:0 0 10px; }
 body[data-page] .dialog.rewards-dialog .reward-history { display:block; flex:none; min-height:0; padding:8px 4px; overflow:hidden; }
 body[data-page] .dialog.rewards-dialog .reward-history h3 { font-size:16px; margin:0 4px 7px; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-wrap { display:block; max-height:clamp(120px,30dvh,240px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table { display:table; table-layout:fixed; border-collapse:collapse; width:100%; min-width:0; font:11px/1.25 Cartoon,sans-serif; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table thead { display:table-header-group; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table tbody { display:table-row-group; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table tr { display:table-row; padding:0; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table th { position:sticky; top:0; background:#e3eff6; z-index:1; padding:6px 2px; font-size:9px; text-align:center; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table td { display:table-cell; padding:8px 2px; width:auto; border-bottom:1px solid #b7cdd6; font-size:11px; white-space:nowrap; text-align:center; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table td::before { content:none; display:none; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table :is(th,td):first-child { width:28%; font-size:10px; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table :is(th,td):nth-child(2) { width:10%; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table :is(th,td):nth-child(3) { display:table-cell; width:23%; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table :is(th,td):nth-child(4) { width:10%; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table :is(th,td):nth-child(5) { width:29%; }
 body[data-page] .dialog.rewards-dialog .reward-history .status { display:inline-block; min-width:0; padding:3px 4px; font-size:9px; line-height:1.2; white-space:nowrap; }
 body[data-page] .dialog.rewards-dialog .claim-summary { position:static; flex:none; display:grid; grid-template-columns:22px max-content; justify-content:center; gap:4px 6px; min-height:0; margin:12px 0 0; padding:9px 5px; }
 body[data-page] .dialog.rewards-dialog .claim-summary>span { grid-column:1/-1; width:auto; font-size:11px; line-height:1.25; }
 body[data-page] .dialog.rewards-dialog .claim-summary .art-icon { width:22px; height:22px; }
 body[data-page] .dialog.rewards-dialog .claim-summary strong { font-size:19px; line-height:1.2; }
 body[data-page] .dialog.rewards-dialog .modal-actions { flex:none; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
 body[data-page] .dialog.rewards-dialog .modal-actions>.btn { width:100%; min-width:0; max-width:100%; padding:7px 5px; font-size:12px; min-height:42px; white-space:normal; }
}
@media (max-width:760px) {
 body[data-page] .dialog .modal-actions>.btn { flex:1 1 calc(50% - 8px); width:auto; max-width:190px; }
 body[data-page] .dialog .modal-actions>.btn:only-child { flex:0 1 190px; width:190px; }
 body[data-page] .dialog .intro.center { text-align:center; }
 body[data-page] .dialog.results-dialog .final-board { padding:8px 5px; }
 body[data-page] .dialog.results-dialog .final-board>div { max-height:230px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
 body[data-page] .dialog.results-dialog .final-row { min-height:46px; gap:5px; padding:3px; }
 body[data-page] .dialog.results-dialog .standing-aircraft { height:36px; }
}
@media (max-width:380px) {
 body[data-page] .dialog.rewards-dialog .reward-history .history-table td { font-size:9.5px; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table :is(th,td):first-child { font-size:9px; }
 body[data-page] .dialog.rewards-dialog .reward-history .history-table th { font-size:8px; }
 body[data-page] .dialog.rewards-dialog .reward-history .status { font-size:8px; padding:3px 2px; }
}
