:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#28463b;background:#f5f3eb;font-synthesis:none;--ink:#28463b;--muted:#74816c;--coral:#d98561;--paper:#f5f3eb}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #cd8d4b;outline-offset:4px}button:disabled{cursor:default}a{color:inherit}h1,h2,p{margin:0}.flight-page{max-width:1020px;padding:0 36px;margin:auto}.flight-header{height:82px;border-bottom:1px solid #dde2d5;display:flex;align-items:center;justify-content:space-between;gap:16px}.back-link{text-decoration:none;font-size:13px;font-weight:600;padding:12px 0}.edition{font-size:8px;letter-spacing:1.7px;color:#8b9480}.sound-button{height:40px;padding:0 14px;border:1px solid #d8ded0;border-radius:20px;background:transparent;color:#6d7c61;font-size:11px}.sound-button:hover{background:#e9eddf}.flight-intro{display:flex;align-items:center;justify-content:space-between;padding:27px 0 24px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#b07d52;margin-bottom:10px}h1{font-family:Georgia,"Times New Roman",serif;font-size:43px;font-weight:500;letter-spacing:-1.5px}.flight-intro p{font-size:12px;line-height:1.65;color:#7e8b70;text-align:right}.game-layout{display:grid;grid-template-columns:minmax(0,480px) minmax(180px,1fr);gap:66px;align-items:center;justify-content:center}.flight-stage{position:relative;overflow:hidden;border-radius:22px;border:1px solid #c3d3b9;background:#d6e4ce;box-shadow:0 6px 0 #dfe4d6,0 18px 40px -18px #39563a35;width:100%;max-width:480px;aspect-ratio:3/4}canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.scorebar{position:absolute;left:18px;right:18px;top:17px;display:flex;align-items:start;gap:8px;pointer-events:none}.score-chip,.best-chip{padding:10px 14px;background:#fffdf1d9;border:1px solid #fffdf0a1;backdrop-filter:blur(7px);border-radius:11px;min-width:67px}.scorebar span{display:block;font-size:7px;letter-spacing:1.3px;color:#7f8e6b}.scorebar b{display:block;font-size:27px;font-weight:650;line-height:1.1;margin-top:4px}.best-chip{background:#fffdf18c}.best-chip b{font-size:20px;line-height:1.5;color:#6f8362}.pause-button{margin-left:auto;pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid #fffdf0b3;background:#fffdf1c9;color:#54764e;font-size:16px}.pause-button:disabled{opacity:.4}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:25px;background:#dfe8ce14}.overlay.hidden{display:none}.overlay-card{max-width:320px;width:100%;padding:27px 28px 23px;background:#fffdf2ed;border:1px solid #fff9e8;border-radius:20px;box-shadow:0 18px 50px -25px #3e613a75;text-align:center;backdrop-filter:blur(10px)}.card-kicker{font-size:8px;letter-spacing:1.8px;color:#a58d63;margin-bottom:14px}.overlay-card h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:31px;letter-spacing:-.8px;line-height:1.15}.overlay-card p{font-size:12px;line-height:1.65;color:#748568;margin-top:15px}.play-button{display:flex;justify-content:center;align-items:center;gap:26px;background:#2b5945;color:#fffcef;border:0;box-shadow:0 3px 0 #1d4434;border-radius:10px;min-height:47px;width:100%;font-size:13px;font-weight:600;margin:23px 0 13px}.play-button:hover{background:#376c52}.play-button:active{transform:translateY(2px);box-shadow:0 1px 0 #1d4434}.play-button span{font-size:20px;font-weight:400}#card-footnote{font-size:9px;color:#9aa58c;line-height:1.4;display:block}.note-number{font-size:11px;letter-spacing:2px;color:#b8996a;margin-bottom:18px}.flight-notes{max-width:260px}.flight-notes h2{font-family:Georgia,"Times New Roman",serif;font-size:35px;font-weight:500;letter-spacing:-1px;line-height:1.12;margin-bottom:21px}.flight-notes p{font-size:12px;line-height:1.85;color:#7d8b70;max-width:230px}.key-hint{display:flex;align-items:center;gap:11px;margin-top:23px}.key-hint kbd{border:1px solid #d7ddcc;border-bottom-width:3px;padding:10px 11px;border-radius:7px;background:#fffdf4;font-family:inherit;font-size:8px;letter-spacing:1.3px}.key-hint span{font-size:10px;color:#9aa28d}.note-rule{height:1px;width:45px;background:#d2dbc6;margin:32px 0 23px}.flight-notes p.quiet-note{font-size:11px;line-height:1.85;color:#96a187}.little-sky{position:relative;height:75px;width:120px;margin-top:26px}.little-sky:before{content:"";position:absolute;right:7px;top:5px;width:26px;height:26px;border-radius:50%;background:#e8cf8f}.little-sky i,.little-sky b,.little-sky span{position:absolute;bottom:0;width:30px;height:35px;background:#c1cbb0}.little-sky i{left:7px;height:50px;transform:skewY(-7deg)}.little-sky b{left:42px;background:#b0c3a5}.little-sky span{left:76px;height:43px;background:#d3c3a3}footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#95a087;padding:24px 0 30px;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:800px){.flight-page{max-width:700px;padding:0 24px}.game-layout{grid-template-columns:minmax(0,480px);gap:0}.flight-notes{display:none}.edition{display:none}.flight-intro h1{font-size:38px}.flight-intro p{font-size:11px}.flight-stage{margin:auto}.flight-header{height:65px}}
@media(max-width:480px){.flight-page{padding:0 13px}.flight-header{height:57px}.back-link{font-size:12px;min-height:44px;display:flex;align-items:center}.sound-button{min-height:44px;padding:0 12px;border-color:transparent;font-size:11px}.flight-intro{padding:17px 1px 15px;gap:10px}.eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:7px}.flight-intro h1{font-size:29px;letter-spacing:-1px}.flight-intro p{display:none}.flight-stage{border-radius:17px}.scorebar{left:13px;right:13px;top:12px}.score-chip,.best-chip{padding:7px 11px;min-width:56px;border-radius:9px}.scorebar span{font-size:7px}.scorebar b{font-size:24px}.best-chip b{font-size:18px}.pause-button{width:44px;height:44px}.overlay{padding:20px}.overlay-card{padding:23px 23px 19px;max-width:280px}.overlay-card h2{font-size:27px}.overlay-card p{font-size:12px;margin-top:12px}.card-kicker{font-size:8px;margin-bottom:11px}.play-button{min-height:46px;margin-top:19px}#card-footnote{font-size:10px}footer{font-size:10px;padding:17px 1px 22px}footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

.header-actions{display:flex;align-items:center;gap:7px}.sound-button:disabled{opacity:.45}.ranking-note{font-size:11px;line-height:1.4;color:#7c8b70;margin:18px 0 0}.overlay-card{max-height:100%;overflow-y:auto}.revive-panel{border-top:1px solid #e0e5d3;margin-top:16px;padding-top:13px;font-size:12px;color:#6e8061}.revive-panel[hidden]{display:none}.revive-panel p{font-size:11px;margin:6px 0 10px}.revive-button{min-height:44px;border:1px solid #d9dfce;background:#edf0e4;border-radius:9px;padding:9px 12px;font:inherit;color:#6b7a60;width:100%}.revive-button:disabled{opacity:.65}.ranking-modal{border:1px solid #dbe2d0;border-radius:21px;background:#fffdf3;color:#28463b;max-width:510px;width:calc(100% - 28px);max-height:85dvh;overflow:auto;padding:29px}.ranking-modal::backdrop{background:#294d3e66;backdrop-filter:blur(4px)}.ranking-modal h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500;margin:10px 20px 14px 0}.ranking-close{position:absolute;right:10px;top:10px;min-width:44px;min-height:44px;background:transparent;border:0;color:#718466;font-size:23px}.ranking-description{font-size:12px;line-height:1.6;color:#7d8e6f;margin:12px 0}.ranking-table{border-collapse:collapse;width:100%;font-size:12px;margin:18px 0}.ranking-table th,.ranking-table td{text-align:left;padding:11px 5px;border-bottom:1px solid #e1e6d9}.ranking-table th{font-size:10px;color:#8a987b;font-weight:600}.ranking-table td:last-child,.ranking-table th:last-child{text-align:right}.ranking-table td:nth-child(2){max-width:240px;overflow-wrap:anywhere}.ranking-empty{font-size:13px;line-height:1.7;padding:17px 0;color:#718460}.overlay-card.countdown h2{font-size:68px;line-height:1}.overlay-card.countdown p{margin-top:11px}.overlay-card.countdown .play-button{display:none}@media(max-width:480px){.flight-header{gap:7px}.header-actions{gap:2px}.header-actions .sound-button{padding-inline:8px}.back-link{font-size:11px}.ranking-note{font-size:10px;margin-top:13px}.ranking-modal{padding:25px 21px}.revive-panel{margin-top:12px;padding-top:10px}}

.buy-revives{width:100%;min-height:44px;border:1px solid #b2c3a6;background:#dfe8d2;color:#365b43;font:inherit;font-size:12px;border-radius:9px;padding:10px;margin-top:9px}.buy-revives[hidden]{display:none}.buy-revives:disabled{opacity:.5;cursor:wait}.commerce-status{font-size:11px!important;line-height:1.5!important;color:#647957!important}.commerce-status:empty{display:none}.revive-button:not(:disabled){background:#2b5945;color:#fffcef;border-color:#2b5945}.overlay-card{overscroll-behavior-y:contain}
@media(max-width:480px){
  .overlay-card:has(.revive-panel:not([hidden])){padding:15px 17px}
  .overlay-card:has(.revive-panel:not([hidden])) h2{font-size:24px}
  .overlay-card:has(.revive-panel:not([hidden])) #card-text{display:none}
  .overlay-card:has(.revive-panel:not([hidden])) .play-button{margin:12px 0 9px}
  .overlay-card:has(.revive-panel:not([hidden])) .revive-panel{margin-top:8px;padding-top:8px}
}

/* Overlay navigation stays visible; only the result and records scroll. */
.ranking-personal>span>small{display:block;font-size:11px;line-height:1.4;font-weight:400;color:#718365;margin-top:5px}
.rescue-count{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:3px 8px;border-radius:7px;background:#ffffff20;font-variant-numeric:tabular-nums}.rescue-count>span{color:#f3baa4;font-size:15px}#menu-balance[hidden],#revive-balance[hidden]{display:none}
.reload-icon{width:22px;height:22px;flex-shrink:0}
.overlay{padding:22px;background:#e3ebd13b}
.overlay-card{display:flex;flex-direction:column;max-width:338px;max-height:100%;padding:23px;overflow:hidden}
.card-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#afbf9e transparent;padding:1px 3px 2px}
.card-controls{flex-shrink:0}
.overlay-card h2{font-size:30px}.overlay-card .card-kicker{margin-bottom:10px}
.overlay-card p{font-size:12px;line-height:1.5;margin-top:12px}
.overlay-card .play-button{min-height:46px;margin:16px 0 10px}
.record-board{margin-top:17px;border:1px solid #e0e5d5;border-radius:12px;background:#f2f3e6;overflow:hidden;text-align:left}
.record-row{display:flex;align-items:center;gap:10px;padding:10px 12px;min-width:0}.record-row+.record-row{border-top:1px solid #dde4d2;background:#fffdf3a6}
.record-mark{display:grid;place-items:center;flex:0 0 28px;height:28px;background:#dce6cd;border-radius:8px;color:#446b4c;font-size:18px}.global-record .record-mark{background:#eee2bb;color:#9f8650;font-size:14px}
.record-name{flex:1;min-width:0}.record-name b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-name small{font-size:10px;display:block;color:#839072;margin-top:3px;line-height:1.3}.record-row>strong{font-size:21px;font-variant-numeric:tabular-nums;max-width:90px;overflow-wrap:anywhere}
.card-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin-top:12px}
.card-action{min-width:0;min-height:44px;padding:9px 6px;border:1px solid #d4dec9;border-radius:10px;background:#f1f3e6;color:#44624b;font-size:12px;font-weight:600;white-space:nowrap}.card-action:hover{background:#e5ecd9}.card-action>span{font-size:16px;vertical-align:-1px}.card-action small{display:inline-block;padding:2px 5px;margin-left:2px;border-radius:5px;background:#dbe6cf;font-size:10px}
.menu-button{display:block;min-height:44px;width:100%;margin:4px 0 -9px;padding:8px;border:0;background:transparent;color:#758469;font-size:12px}.menu-button:hover{color:#284c39;text-decoration:underline}.menu-button[hidden],.card-actions[hidden],.record-board[hidden],.result-layout[hidden]{display:none}
.flight-stage:has(.overlay:not(.hidden)) .scorebar{visibility:hidden}
.overlay-card[data-screen="over"]{max-width:430px;padding:20px}.overlay-card[data-screen="over"] h2{font-size:27px}.overlay-card[data-screen="over"] #card-text{font-size:11px;margin-top:9px}
.result-layout{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;margin-top:17px;text-align:left;align-items:start}
.round-result{text-align:center;padding:18px 5px;border-radius:12px;background:#e6ecd7}.round-result>span{font-size:8px;letter-spacing:1px;display:block;color:#7d8e69}.round-result>b{font-family:Georgia,"Times New Roman",serif;display:block;font-size:53px;line-height:1.1;margin:8px 0 2px;font-weight:500;overflow-wrap:anywhere}.round-result>small{font-size:10px;color:#83916f}
.inline-ranking{min-width:0}.inline-ranking-title{display:flex;align-items:center;justify-content:space-between;gap:7px;border-bottom:1px solid #e2e8d6;padding:3px 0 8px}.inline-ranking-title b{font-size:12px}.inline-ranking-title span{font-size:7px;letter-spacing:.8px;color:#879475}.inline-top{list-style:none;padding:3px 0;margin:0}.inline-top li{display:flex;align-items:center;gap:6px;min-height:24px;font-size:11px}.inline-place{color:#9caa8c;width:16px;flex-shrink:0}.inline-player{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-top b{font-size:12px;font-variant-numeric:tabular-nums}.inline-personal{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #d7e2cb;padding:8px 0 2px;font-size:12px;font-weight:600}.inline-personal small{font-size:9px;font-weight:400;display:block;color:#829570;margin-top:3px}.overlay-card p.inline-empty{font-size:11px;line-height:1.5;margin:12px 0;color:#829176}
.revive-panel{padding:12px 0 0;margin-top:12px}.revive-button{font-size:12px;margin-top:8px}.overlay-card.countdown .card-controls{display:none}.overlay-card.countdown{max-width:250px;min-height:180px;justify-content:center}
.ranking-personal,.shop-balance{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#e8eedc;border:1px solid #dbe4ce;border-radius:12px;font-size:13px}.ranking-personal b{margin-left:auto;font-size:24px}.shop-balance{margin:20px 0}.shop-balance span{flex:1}.shop-balance b{font-size:30px}.shop-balance small{font-size:11px;color:#7b8d69}.continue-pack{display:flex;align-items:center;gap:15px;padding:7px 0 15px}.pack-count{display:grid;place-items:center;flex-shrink:0;width:67px;height:67px;border-radius:19px;background:#e9d9b1;color:#987446;font-family:Georgia,"Times New Roman",serif;font-size:29px;transform:rotate(-5deg)}.continue-pack h3{font-size:17px;font-weight:600;margin:0 0 6px}.continue-pack p{font-size:12px;line-height:1.5;color:#849172}.shop-availability{font-size:12px;line-height:1.6;color:#7b8b6f;padding:11px 0;border-top:1px solid #e2e7d9}.shop-modal .buy-revives{background:#2b5945;border:0;color:#fffcef;min-height:48px;margin-top:6px}.shop-modal .commerce-status{margin-top:14px}.shop-modal h2{font-size:32px}
@media(max-width:480px){.overlay{padding:14px}.overlay-card,.overlay-card[data-screen="over"]{padding:17px;max-width:100%}.overlay-card h2{font-size:27px}.overlay-card p{font-size:11px;margin-top:10px}.overlay-card .play-button{margin-top:12px;min-height:44px}.card-kicker{font-size:8px}.card-actions{margin-top:9px;gap:6px}.card-action{font-size:11px}.record-board{margin-top:12px}.record-row{padding:8px 10px;gap:8px}.record-row>strong{font-size:20px}.result-layout{grid-template-columns:78px minmax(0,1fr);gap:11px;margin-top:13px}.round-result{padding:14px 4px}.round-result>b{font-size:43px}.inline-ranking-title span{font-size:6px}.overlay-card[data-screen="over"] h2{font-size:24px}.menu-button{font-size:11px}.shop-balance{padding:12px}.shop-balance small{font-size:10px}}
@media(max-width:360px){.overlay{padding:10px}.overlay-card,.overlay-card[data-screen="over"]{padding:13px}.overlay-card h2{font-size:25px}.overlay-card .card-kicker{margin-bottom:7px}.result-layout{grid-template-columns:1fr;gap:8px}.round-result{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px}.round-result>b{font-size:31px;margin:0}.round-result>small{display:none}.inline-ranking-title{padding-top:2px}.inline-top li{min-height:22px}.inline-ranking-title span{font-size:7px}.card-actions{gap:5px}.card-action{font-size:10px}.card-action>span{font-size:13px}.card-action small{padding:2px 4px}.record-row{padding:7px 8px}.record-mark{flex-basis:24px;height:24px}.record-name b{font-size:11px}.record-name small{font-size:9px}.menu-button{min-height:40px}.shop-modal{padding:23px 18px}.shop-balance{gap:7px}.shop-balance b{font-size:26px}}
