@font-face{font-family:Expo;src:url('./assets/ExpoArabic-Medium.ttf') format('truetype');font-weight:400 500;font-display:swap}@font-face{font-family:Expo;src:url('./assets/ExpoArabic-Bold.otf') format('opentype');font-weight:600 900;font-display:swap}
:root{--blue:#032ba6;--gold:#f7be00;--navy:#111e6c;--pearl:#e6edf2;--airforce:#1135a7;--elegance:#cbd2f2;--white:#fff;--muted:color-mix(in srgb,var(--navy) 76%,var(--pearl));--line:color-mix(in srgb,var(--navy) 16%,transparent);--gold-tint:color-mix(in srgb,var(--gold) 18%,var(--white));font-family:Expo,Arial,sans-serif;color:var(--navy);background:var(--pearl);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#1135a710 1px,transparent 1px);background-size:24px 24px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button svg,svg.icon{width:22px;height:22px}svg use{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.symbols{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.site-header{height:96px;margin:0 auto;max-width:1440px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #111e6c14}.brand{display:flex}.brand img{width:164px;height:auto}.header-caption{font-size:10px;letter-spacing:2.5px;color:var(--muted);margin-left:70px}.header-actions{display:flex;align-items:center;gap:22px}.text-button{border:0;background:none;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px;font-size:12px}.help-mark{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid currentColor;width:17px;height:17px;border-radius:50%;font-size:11px}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:#ffffff9c;display:inline-flex;align-items:center;justify-content:center;color:var(--navy);border-radius:50%;padding:10px;flex-shrink:0}.icon-button:hover{background:var(--pearl)}.flight-deck{display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr);gap:clamp(28px,4vw,64px);align-items:center;max-width:1280px;margin:30px auto 22px;padding:0 36px}.intro-panel{padding-bottom:16px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.4px;display:flex;align-items:center;gap:10px}.little-line{width:24px;height:2px;background:var(--gold)}h1{font-size:clamp(40px,4.2vw,62px);line-height:1.13;letter-spacing:-2.5px;margin:28px 0 22px;font-weight:700}h1 span{color:var(--blue)}.intro-panel>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.flight-path{width:225px;margin:24px 0 16px}.flight-path svg{width:100%;fill:none;stroke:var(--elegance);stroke-width:1.6;stroke-dasharray:5 6}.flight-path .path-plane{fill:var(--blue);stroke:var(--blue);stroke-dasharray:none}.controls-note{display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.7}.controls-note>svg{width:34px;height:34px;color:var(--blue)}.controls-note small{font-size:10px;color:var(--muted)}kbd{font-family:inherit;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:#fff;padding:1px 5px}.edition{display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-top:50px}.edition span{border:1px solid var(--line);border-radius:50%;padding:7px;font-size:9px;letter-spacing:0}.game-column{width:min(420px,calc((100svh - 178px)*.55263158));min-width:300px}.frame-label,.under-frame{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.5px;padding:0 8px;color:var(--muted)}.frame-label{margin-bottom:12px}.frame-label>span:first-child{display:flex;align-items:center;gap:6px}.frame-label i{width:5px;height:5px;background:var(--blue);border-radius:50%}.under-frame{margin-top:15px;font-size:7px;letter-spacing:1.15px}.game-stage{position:relative;width:100%;aspect-ratio:420/760;border:5px solid #fff;border-radius:25px;overflow:hidden;background:var(--airforce);box-shadow:0 20px 70px #111e6c24,0 1px 4px #111e6c12;touch-action:none;user-select:none;-webkit-user-select:none;container-type:inline-size;outline:none}canvas{display:block;width:100%;height:100%}.ready-screen{position:absolute;inset:0;pointer-events:none}.game-title{position:absolute;top:11.5%;left:0;right:0;text-align:center}.pill{display:inline-block;border:1px solid #1135a723;border-radius:20px;padding:5px 12px 4px;font-size:2.2cqw;letter-spacing:1.7px;color:var(--airforce);background:#ffffff65}.game-title h2{font-size:16cqw;letter-spacing:-1.2cqw;line-height:.83;margin:22px 0 13px;font-weight:700}.game-title h2>span{display:block;font-size:20cqw;letter-spacing:-1.3cqw;color:var(--blue)}.title-star{display:inline-block;font-size:7cqw;color:var(--gold);transform:translate(1.2cqw,-8cqw);margin-right:-4cqw}.game-title p{font-size:2.65cqw;color:var(--muted);letter-spacing:.5px}.ready-actions{position:absolute;top:67%;width:78%;left:11%;pointer-events:auto}.primary-button{width:100%;background:var(--blue);color:#fff;border:0;border-radius:12px;min-height:54px;padding:15px 18px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:14px;font-weight:700;box-shadow:0 5px 0 var(--navy),0 10px 22px #032ba619;transition:transform .15s,background .15s}.primary-button:hover{background:var(--airforce);transform:translateY(-1px)}.primary-button:active{transform:translateY(3px);box-shadow:0 2px 0 var(--navy)}.ready-actions .primary-button{min-height:13cqw;font-size:3.5cqw;padding:3.4cqw 4cqw}.tap-hint{text-align:center;font-size:2.3cqw;color:var(--muted);margin-top:20px}.runway-caption{position:absolute;left:0;right:0;bottom:2.35%;text-align:center;font-size:1.7cqw;letter-spacing:2px;color:#e6edf2bf;pointer-events:none}.hud{position:absolute;top:4%;left:6%;right:6%;display:flex;align-items:center;gap:10px;pointer-events:none}.hud-score{background:#ffffffdf;border:1px solid #fff;box-shadow:0 4px 15px #111e6c12;border-radius:14px;min-width:72px;padding:9px 17px;text-align:center}.hud-score small{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted)}.hud-score strong{display:block;font-size:32px;line-height:1.1}.hud-coins{display:flex;gap:6px;align-items:center;background:#ffffffbf;border-radius:30px;padding:7px 12px;font-size:16px}.hud-coins svg{width:21px;height:21px;color:var(--gold)}.hud>.icon-button{margin-left:auto;pointer-events:auto;background:#ffffffd9}.scrim{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#111e6c55;backdrop-filter:blur(5px);padding:7%}.boarding-pass{width:100%;background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 12px 35px #111e6c25}.pass-header{background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:15px 23px;font-size:2.2cqw;letter-spacing:2px}.pass-header svg{height:20px;width:20px;color:var(--gold)}.pass-content{padding:24px 23px 17px;text-align:center}.result-tag{display:block;font-size:1.9cqw;letter-spacing:1px;color:var(--muted)}.pass-content h2{font-size:6.3cqw;letter-spacing:-.7px;margin:14px 0 8px}.pass-content>p{font-size:2.65cqw;line-height:1.6;color:var(--muted);margin:0 auto;max-width:240px}.result-scores{display:flex;margin:25px 0 19px}.result-scores>div{width:50%}.result-scores>div+div{border-left:1px solid var(--line)}.result-scores strong{font-size:11cqw;line-height:1.1;display:block;color:var(--blue)}.result-scores span{font-size:1.8cqw;letter-spacing:1px;color:var(--muted)}.coin-receipt{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--gold-tint);border-radius:8px;padding:10px;font-size:2.6cqw}.coin-receipt svg{height:20px;width:20px;color:var(--gold)}.pass-tear{border-top:2px dashed var(--line);margin:0 12px;position:relative}.pass-tear:before,.pass-tear:after{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:var(--pearl);top:-11px;left:-22px}.pass-tear:after{left:auto;right:-22px}.pass-actions{padding:22px}.pass-actions .primary-button{font-size:3.3cqw;min-height:48px}.result-secondary{display:flex;justify-content:space-between;padding-top:12px}.result-secondary .text-button{font-size:2.6cqw;padding:8px 0;color:var(--muted)}.result-secondary svg{width:14px;height:14px}.pause-card{background:#fff;border-radius:18px;padding:32px 25px;text-align:center;width:100%}.pause-card .eyebrow{justify-content:center}.pause-card h2{font-size:6cqw;margin:17px 0 10px}.pause-card p{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:24px}.pause-card>.text-button{margin-top:14px}.record-panel{max-width:246px;justify-self:end;width:100%;padding-top:10px}.record-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.7px;padding-bottom:21px;border-bottom:1px solid var(--line)}.record-heading svg{width:19px;height:19px;color:var(--blue)}.best-record{display:flex;align-items:center;gap:12px;padding:24px 0 20px}.best-record>svg{width:29px;height:29px;color:var(--gold)}.best-record>span{font-size:12px}.best-record small{display:block;color:var(--muted);font-size:7px;letter-spacing:1.3px;margin-top:6px}.best-record>strong{font-size:36px;margin-left:auto;letter-spacing:-2px}.record-row{display:flex;justify-content:space-between;margin:12px 0;font-size:11px;color:var(--muted)}.record-row b{color:var(--navy)}.rank{display:flex;gap:12px;align-items:center;background:var(--pearl);border:1px solid var(--line);padding:16px 13px;border-radius:10px;margin-top:22px}.rank-symbol{font-size:27px;color:var(--blue)}.rank small{display:block;font-size:7px;letter-spacing:1.6px;color:var(--muted);margin-bottom:5px}.rank b{font-size:11px}.saved-note{font-size:9px;line-height:1.8;color:var(--muted);margin:13px 0 34px}.how-card{border-top:1px solid var(--line);padding-top:27px}.how-card>.eyebrow{font-size:8px;letter-spacing:1.6px}.how-card ol{padding:0;list-style:none;display:flex;flex-direction:column;gap:20px;margin:22px 0 0}.how-card li{display:flex;gap:13px;align-items:flex-start}.how-card li>span{font-size:8px;background:#fff;border:1px solid var(--line);border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.how-card li b{font-size:11px}.how-card li p{font-size:9px;margin:5px 0 0;color:var(--muted)}.just-play{display:block;font-size:8px;color:var(--muted);margin-top:31px}.site-footer{max-width:1320px;padding:19px 36px 24px;margin:auto;display:flex;justify-content:space-between;color:var(--muted);font-size:7px;letter-spacing:1.3px}.site-footer i{font-style:normal;margin:0 10px}dialog{width:min(440px,calc(100vw - 32px));padding:38px 30px 30px;border:0;border-radius:20px;color:var(--navy);box-shadow:0 24px 100px #111e6c30}dialog::backdrop{background:#111e6c80;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:12px;top:12px;width:32px;height:32px;padding:7px}dialog h2{font-size:26px;letter-spacing:-.6px;margin:20px 0 14px}dialog p,dialog li{font-size:12px;line-height:1.8;color:var(--muted)}dialog ul{padding-left:17px}dialog li{margin:8px 0}dialog li b{color:var(--navy)}.install-note{background:var(--pearl);border-radius:10px;padding:16px;margin:22px 0}.install-note>b{font-size:12px}.install-note p{font-size:10px;margin:7px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.flight-deck{margin-top:45px}.game-column{width:420px}}@media(max-width:1100px){.flight-deck{gap:28px;padding:0 28px}.intro-panel h1{font-size:44px}.eyebrow{font-size:7px;letter-spacing:1px}.intro-panel>p{font-size:11px}.header-caption{margin:0;font-size:8px}.record-panel{max-width:220px}.site-header{padding:0 30px}.flight-path{width:180px}.game-column{min-width:295px}.best-record>strong{font-size:30px}}@media(max-width:900px){.flight-deck{grid-template-columns:1fr auto;max-width:760px;gap:50px}.record-panel{display:none}.game-column{width:min(420px,calc((100svh - 178px)*.55263158))}.header-caption{display:none}.intro-panel h1{font-size:48px}.intro-panel .eyebrow{font-size:8px}}
@media(max-width:640px){body{background:var(--navy);min-height:100svh;overflow-x:hidden}.site-header{height:calc(64px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 20px 0;background:var(--white);border:0}.brand img{width:129px}.header-actions{gap:12px}.header-actions .text-button{font-size:10px;padding:6px}.header-actions .icon-button{width:35px;height:35px;padding:8px}.help-mark{display:none}.flight-deck{display:block;margin:0;padding:0;max-width:none}.intro-panel,.record-panel,.frame-label,.under-frame,.site-footer{display:none}.game-column{width:100%;min-width:0;display:flex;justify-content:center;background:var(--airforce)}.game-stage{width:min(100vw,calc((100svh - 64px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))*.55263158));min-width:0;max-width:480px;border:0;border-radius:0;box-shadow:none;margin:0 auto}.hud-score{min-width:64px;padding:8px 13px}.hud-score strong{font-size:28px}.hud-score small{font-size:7px}.primary-button{min-height:48px}.game-title{top:10.5%}.game-title h2{margin-top:24px}.ready-actions{top:67%}.pass-content{padding-top:20px}.pass-actions{padding:19px 22px}.pause-card .primary-button{font-size:13px}.tap-hint{margin-top:18px}}@media(max-width:640px) and (max-height:660px){.site-header{height:calc(54px + env(safe-area-inset-top,0px))}.game-stage{width:min(100vw,calc((100svh - 54px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))*.55263158))}.pass-content{padding:16px}.result-scores{margin:17px 0 12px}.pass-actions{padding:16px}.result-secondary{padding-top:7px}.pass-header{padding:12px 20px}.ready-actions .primary-button{min-height:40px}.tap-hint{margin-top:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

.ready-best{position:absolute;top:60.5%;left:0;right:0;text-align:center;font-size:2cqw;letter-spacing:1.1px;color:var(--muted)}

/* Official Medsky palette, verified against medsky.aero on 2026-10-13. */
.site-header{max-width:none;background:var(--blue);border-bottom:3px solid var(--gold)}
.header-caption,.header-actions .text-button{color:var(--white)}
.header-actions .icon-button{color:var(--white);background:#ffffff14;border-color:#ffffff55}
.header-actions .icon-button:hover{background:#ffffff2b}
.primary-button{background:var(--gold);color:var(--navy);box-shadow:0 5px 0 var(--navy),0 10px 22px #111e6c19}
.primary-button:hover{background:color-mix(in srgb,var(--gold) 86%,var(--white))}
.primary-button:focus-visible{outline-color:var(--blue)}
.game-title h2{color:var(--navy);text-shadow:0 2px 0 #ffffff75}
.game-title h2>span{color:var(--blue)}
.title-star{color:var(--gold)}
.game-title .pill{background:#ffffff9c;border-color:#032ba638;color:var(--navy)}
.game-title p{color:var(--navy)}
.ready-best{top:4.5%;left:6%;right:auto;width:42%;padding:7px 4px;border-radius:20px;background:#ffffffeb;color:var(--navy);border:1px solid #ffffff80}
.tap-hint{color:var(--navy)}
.hud-score,.hud-coins,.destination-hud{background:var(--white)}
.hud-coins svg,.coin-receipt svg{color:var(--blue)}
.pass-header{background:var(--blue)}
.coin-receipt{background:var(--gold-tint)}
.best-record>svg{color:var(--blue);fill:#f7be0033}
.rank{background:var(--elegance);border-color:transparent}
.runway-caption{color:var(--pearl)}
@media(max-width:640px){.site-header{background:var(--blue)}.game-column{background:var(--airforce)}}

.share-status{font-size:2.5cqw;line-height:1.5;text-align:center;color:var(--muted);margin:8px 0 0}.share-status:empty{display:none}
