:root{color-scheme:light;--navy:#123764;--blue:#107bec;--cyan:#37dcff;--yellow:#ffd544;--muted:#7890ac;--shadow:0 12px 30px #07376b25;font-family:"Nunito","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#0878d7;color:var(--navy);-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #fdd541;outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.5}svg{display:block;width:100%;height:100%}button:active{transform:translateY(2px)}[hidden]{display:none!important}.game-shell{height:100svh;min-height:700px;overflow:hidden;position:relative;isolation:isolate}.world{position:absolute;inset:0;z-index:-3;background:#27b6f1 url('./assets/sky-harbor.webp') center center/cover no-repeat}.world-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#00376c34,transparent 36%,#1165b000 62%,#06376990 100%),linear-gradient(90deg,#0d68a032 0%,transparent 32%,transparent 72%,#0a45791a 100%)}.topbar{position:relative;display:flex;align-items:center;gap:22px;padding:20px 40px;z-index:5}.brand{display:block;width:145px;height:73px;flex-shrink:0;transition:transform .2s}.brand:hover{transform:rotate(-3deg)}.brand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 4px #0060a02f)}.season{display:flex;gap:10px;align-items:center;color:#fff;border-left:1px solid #fff6;padding-left:22px;text-shadow:0 1px 3px #0055a455}.season-star{color:#ffe469;font-size:30px}.season strong{display:block;font-size:10px;letter-spacing:1.7px;font-weight:900}.season div>span{display:block;font-size:17px;margin-top:3px;font-weight:800}.topbar-spacer{flex:1}.wallet{display:flex;gap:22px}.resource{display:flex;position:relative;align-items:center;gap:10px;background:#fffef3;min-width:135px;height:42px;border:2px solid white;border-radius:13px;box-shadow:0 4px 0 #07549c40,0 5px 15px #004c9320;padding:0 5px 0 36px;transition:filter .2s}.resource:hover{filter:brightness(1.06)}.resource-icon{position:absolute;left:-17px;top:-7px;width:52px;height:52px}.resource strong{font-size:19px;font-weight:900;flex:1;text-align:right;letter-spacing:.3px}.resource-plus{display:grid;place-items:center;margin-left:7px;width:26px;height:27px;border-radius:7px;background:#eef5ff;color:#1586e5;font:bold 27px/1 system-ui}.gems{background:#effffe}.utility-buttons{display:flex;gap:8px}.icon-button{height:40px;width:40px;padding:10px;border:1.5px solid #fff9;border-radius:12px;color:white;background:#1271b944;backdrop-filter:blur(10px)}.icon-button:hover{background:#157acc99}.pilot{display:flex;align-items:center;gap:11px;position:absolute;top:119px;left:40px;padding:0;background:none;text-align:left;color:#fff}.avatar{display:block;width:50px;height:50px;border:2px solid #c1f7ff;box-shadow:0 3px 0 #0565a5;border-radius:16px;background:linear-gradient(145deg,#53d1ef,#1279c1);position:relative}.avatar>svg{width:100%;height:100%;border-radius:14px;overflow:hidden}.avatar>span{position:absolute;background:#ffda42;border:2px solid #fff;border-radius:6px;bottom:-6px;right:-6px;min-width:21px;height:21px;font-size:12px;text-align:center;line-height:17px;font-weight:1000;color:#69520b}.pilot-info{display:flex;flex-direction:column;gap:3px}.pilot-info>strong{font-size:16px;text-shadow:0 1px 3px #045ca34a}.pilot-rank{font-size:8px;letter-spacing:1.2px;font-weight:900;color:#d3efff}.pilot-rank>span{color:#ffdc4f}.xp-track{margin-top:1px;height:4px;display:block;width:136px;background:#00599b66;border-radius:4px;overflow:hidden}.xp-track>span{display:block;background:#ffdb55;height:100%;border-radius:4px}.pilot-chevron{width:12px;height:12px;transform:rotate(180deg);opacity:.8;margin-left:3px}.flight-intro{position:absolute;left:40px;top:215px;max-width:350px}.eyebrow{font-size:9px;font-weight:900;letter-spacing:2px;display:flex;align-items:center;gap:7px;margin:0 0 12px}.flight-intro .eyebrow{color:#e8fbff;text-shadow:0 2px 5px #1a7bbd66}.eyebrow>span{width:5px;height:5px;background:#ffe056;border-radius:50%;box-shadow:0 0 8px #ffef9a}.flight-intro h1{font-size:42px;line-height:1.16;letter-spacing:-1.5px;font-weight:1000;color:white;margin:0;max-width:320px;text-shadow:0 3px 0 #0b7eb244,0 5px 20px #0065a222}.flight-intro h1>span{color:#ffe566}.intro-copy{font-size:13px;color:#eafaff;font-weight:600;margin:9px 0 0;text-shadow:0 2px 4px #176dbb44}.daily-card{display:flex;gap:13px;position:relative;align-items:center;background:linear-gradient(120deg,#fffef8ef,#e9faffed);backdrop-filter:blur(16px);border:2px solid #fff;border-radius:17px;width:274px;padding:16px 13px;margin-top:29px;text-align:left;box-shadow:0 6px 0 #004f8c20,0 12px 28px #06619d20;transition:transform .2s}.daily-card:hover{transform:translateY(-3px)}.daily-icon{width:46px;height:46px;flex:none;color:#1688ec;background:linear-gradient(140deg,#ecf9ff,#d1edff);border-radius:13px;padding:9px}.daily-card small{display:block;font-size:7px;font-weight:900;letter-spacing:1.1px;color:#7693af}.daily-card strong{font-size:16px;font-weight:1000;display:block;margin-top:4px}.daily-reward{display:flex;align-items:center;font-size:10px;color:#8396a7;gap:3px;margin-top:7px;white-space:nowrap}.daily-reward i{width:16px;height:16px}.daily-reward b{font-size:8px;color:#1584df;margin-left:9px;font-weight:1000}.daily-reward b>span{font-size:12px;margin-left:2px}.notification-dot{position:absolute;right:-4px;top:-4px;height:12px;width:12px;border:2px solid white;background:#ff785c;border-radius:50%}.mission-preview{display:flex;align-items:center;width:274px;gap:11px;margin-top:20px;color:#fff;text-shadow:0 1px 3px #005ba762}.mission-preview>span{width:25px;height:25px;color:#ffe585}.mission-preview small{font-size:7px;letter-spacing:1.5px;font-weight:1000;color:#d2f4ff}.mission-preview p{font-size:11px;margin:4px 0 0;font-weight:900}.mission-preview div>span{font-size:9px;color:#def6ff}.mission-preview>button{margin-left:auto;background:#fff2;color:#fff;border:1px solid #fff4;height:27px;width:27px;border-radius:8px;font-size:24px;line-height:19px}.air-space{position:absolute;bottom:18%;left:52%;width:min(38vw,570px);aspect-ratio:415/440;transform:translateX(-50%);z-index:1;pointer-events:none}.plane-float{height:100%;width:100%;animation:float 4s ease-in-out infinite;will-change:transform}.plane-button{width:100%;height:100%;display:block;padding:0;background:transparent;touch-action:none;transform:translate(var(--drag-x,0px),var(--drag-y,0px)) rotate(var(--tilt,-3deg));transition:transform .55s cubic-bezier(.17,.89,.32,1.4),filter .3s;pointer-events:auto;outline-offset:-35px;cursor:grab;user-select:none;-webkit-user-select:none}.plane-button:hover{filter:brightness(1.05) drop-shadow(0 0 18px #b9faff66)}.plane-button.is-dragging{cursor:grabbing;transition:none}.plane-sprite,.mini-plane{display:block;background-image:url('./assets/planes.webp');background-repeat:no-repeat;background-size:523.374% 164.545%;background-position:24.4747% 63.3803%;width:100%;height:100%;pointer-events:none;mask-image:linear-gradient(#000 0 75%,#000a 83%,transparent 96%);-webkit-mask-image:linear-gradient(#000 0 75%,#000a 83%,transparent 96%)}.plane-sprite[data-plane="0"],.mini-plane[data-plane="0"]{background-position:0% 63.3803%}.plane-sprite[data-plane="2"],.mini-plane[data-plane="2"]{background-position:48.9471% 63.3803%}.plane-sprite[data-plane="3"],.mini-plane[data-plane="3"]{background-position:73.42% 63.3803%}.plane-sprite[data-plane="4"],.mini-plane[data-plane="4"]{background-position:100% 63.3803%}.plane-shadow{position:absolute;bottom:4%;left:18%;width:68%;height:12%;background:#082b61;border-radius:50%;filter:blur(17px);opacity:.27;transform:rotate(-5deg);animation:shadow 4s ease-in-out infinite}.plane-controls{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 22px;pointer-events:auto}.plane-arrow{width:42px;height:42px;border:2px solid #fff9;border-radius:50%;background:#fcfffaee;box-shadow:0 4px 0 #06457730;padding:12px;color:#2b85ce;transition:background .2s}.plane-arrow:hover{background:#ffe06a}.plane-arrow:last-child{transform:rotate(180deg)}.plane-arrow:last-child:active{transform:rotate(180deg) translateY(-2px)}#dragHint{font-size:10px;letter-spacing:.1px;color:#fff;font-weight:800;text-shadow:0 2px 5px #014c8cc2;background:#0365a728;border:1px solid #fff4;border-radius:30px;padding:7px 14px;backdrop-filter:blur(10px)}.touch-mark{color:#c5f3ff;font-size:14px;margin-right:4px}.aircraft-card{position:absolute;right:40px;top:28%;width:260px;padding:22px;border-radius:22px;background:linear-gradient(145deg,#fffefafa,#e5f5ffee);border:2px solid white;box-shadow:0 7px 0 #006bae22,0 20px 40px #064f8420;backdrop-filter:blur(18px)}.aircraft-topline{display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1.15px;font-weight:1000;color:#7c9bb4}.fleet-index{font-size:10px;letter-spacing:.5px;color:#b7c9d7}.fleet-index b{color:#2f88d1}.aircraft-name{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.aircraft-name h2{font-size:26px;letter-spacing:-.8px;font-weight:1000;margin:0;white-space:nowrap}.rarity{padding:4px 7px;background:#e1efff;border:1px solid #c4e1ff;border-radius:5px;color:#2780d7;font-size:7px;letter-spacing:.5px;font-weight:1000}.aircraft-subtitle{font-size:10px;color:#8a9eaf;margin:5px 0 20px}.aircraft-stats{display:flex;flex-direction:column;gap:13px}.aircraft-stat{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.stat-label{display:flex;align-items:center;gap:5px;color:#7793aa;font-size:9px;font-weight:800}.stat-label i{width:11px;height:11px;color:#61a6de}.aircraft-stat>strong{font-size:12px;font-weight:1000}.aircraft-stat>strong small{font-size:8px;color:#8ca2b4;font-weight:600}.stat-track{height:4px;border-radius:4px;background:#dbeaf4;display:block;grid-column:1/-1;overflow:hidden}.stat-track i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#3dbbea,#1884e8)}.aircraft-stat:nth-child(2) .stat-track i{background:linear-gradient(90deg,#66ded1,#28bba9)}.aircraft-stat:nth-child(3) .stat-track i{background:linear-gradient(90deg,#ffe381,#ffba32)}.fuel-status{display:flex;align-items:center;gap:8px;margin-top:21px;padding-top:15px;border-top:1px solid #d6e8f2}.fuel-symbol{width:29px;height:29px}.fuel-status>div{flex:1}.fuel-status>div>span{font-size:9px;color:#7390a6;display:flex;justify-content:space-between}.fuel-status b{color:#158a83;font-size:10px}.fuel-track{height:5px;border-radius:3px;margin-top:7px;background:#d7e8ed;overflow:hidden}.fuel-track>span{height:100%;display:block;border-radius:3px;background:linear-gradient(90deg,#4cddad,#20be9d)}.fuel-status>button{height:24px;width:24px;border-radius:6px;color:#1595bc;font-size:21px;background:#dff4f7;line-height:1}.ready-status{font-size:8px;font-weight:800;color:#43a387;display:flex;gap:5px;align-items:center;justify-content:center;margin-top:13px}.ready-status>span{width:5px;height:5px;background:#4dce9a;border-radius:50%;box-shadow:0 0 0 3px #4dce9a19}.flight-action{position:absolute;right:40px;top:calc(28% + 356px);width:260px;text-align:center}.fly-button{width:100%;display:flex;align-items:center;gap:8px;padding:10px 15px;min-height:62px;border:2px solid #fff7;border-radius:15px;background:linear-gradient(#ffe66d,#ffcc35);box-shadow:0 5px 0 #d69919,0 9px 18px #164b7326;color:#65470e;transition:filter .2s,transform .2s}.fly-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.fly-button>span:first-child{width:38px;height:38px;transform:rotate(-8deg);flex:none}.fly-button>span:nth-child(2){flex:1;font-size:16px;letter-spacing:.4px;font-weight:1000;text-align:left}.fly-button small{font-size:7px;letter-spacing:0;display:block;font-weight:700;margin-top:3px;color:#9b7521}.fly-button b{font-size:23px}.flight-caption{display:flex;gap:5px;align-items:center;justify-content:center;font-size:6px;letter-spacing:1.1px;font-weight:900;color:#fff;margin-top:16px;text-shadow:0 1px 5px #00437a}.flight-caption>i{width:3px;height:3px;border-radius:50%;background:#ffd84a}.bottom-nav{z-index:8;position:absolute;bottom:32px;left:50%;transform:translateX(-50%);height:99px;width:576px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:7px 12px;background:linear-gradient(#f5fcfff5,#e6f3fff5);backdrop-filter:blur(20px);border:2px solid white;border-radius:24px;box-shadow:0 7px 0 #073c7244,0 16px 40px #06437855}.nav-item{position:relative;background:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1px;border-radius:15px;padding:3px 4px 9px;transition:background .2s,transform .2s}.nav-item:hover{background:#cce9ff77;transform:translateY(-3px)}.nav-icon{height:62px;width:62px;transition:transform .25s;filter:drop-shadow(0 3px 1px #4a8baa24)}.nav-item:hover .nav-icon{transform:rotate(-5deg) scale(1.08)}.nav-label{font-size:10px;font-weight:1000;letter-spacing:.4px;color:#3f628a;position:relative;z-index:2}.nav-item.is-active{background:linear-gradient(#d2efff,#a6daff8c);box-shadow:inset 0 0 0 1px #7bc4ff55}.nav-item.is-active .nav-label{color:#1175ce}.nav-item.is-active .nav-icon{transform:translateY(-4px) scale(1.09)}.nav-active-mark{position:absolute;bottom:-8px;width:25px;height:4px;background:#31b8ff;border-radius:3px}.nav-dot{position:absolute;top:4px;right:17px;background:#ff795d;border:2px solid #fff;width:10px;height:10px;border-radius:50%}.hangar-coordinate{position:absolute;bottom:33px;left:40px;color:#fff;font-size:7px;font-weight:800;letter-spacing:1.4px;display:flex;gap:8px;align-items:center;text-shadow:0 1px 4px #004678}.hangar-coordinate>span{font-size:15px;color:#a8f2ff}.hangar-coordinate>i{height:3px;width:3px;background:#ffdf76;border-radius:50%}.sky-spark{position:absolute;width:5px;height:5px;background:#fff9;border-radius:50%;box-shadow:0 0 15px 5px #d4fbff77;animation:spark 7s infinite;pointer-events:none}.spark-one{left:38%;top:48%}.spark-two{right:35%;top:24%;animation-delay:-3s}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.game-dialog{width:600px;max-width:calc(100% - 32px);max-height:85svh;border:2px solid #fff;background:linear-gradient(145deg,#fcfeff,#edf6ff);color:var(--navy);border-radius:27px;padding:0;box-shadow:0 20px 90px #002e7366;overflow:auto;overscroll-behavior:contain}.game-dialog::backdrop{background:#053d737a;backdrop-filter:blur(8px)}.dialog-header{padding:27px 27px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dceaf3;position:sticky;top:0;z-index:2;background:#f8fcfff7;backdrop-filter:blur(16px)}.dialog-header .eyebrow{color:#4a9cdb;font-size:8px;margin-bottom:6px}.dialog-header h2{font-size:28px;font-weight:1000;letter-spacing:-.8px;margin:0}.dialog-close{border-radius:50%;background:#eaf2f8;color:#7293b1;width:34px;height:34px;padding:9px;flex:none}.dialog-close:hover{background:#d7e9f8;color:#1f77bf}.dialog-body{padding:24px 27px 28px}.panel-intro{color:#7890a6;font-size:13px;line-height:1.65;margin:0 0 22px}.panel-intro strong{color:var(--navy)}.panel-card,.info-card{border:1px solid #d6e7f3;border-radius:17px;background:#fff;padding:17px;margin-bottom:13px}.panel-card h3,.info-card h3{font-size:16px;margin:0 0 7px}.panel-card p,.info-card p{color:#7b92a6;font-size:12px;line-height:1.6;margin:7px 0 13px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:13px 20px;border-radius:12px;font-size:12px;font-weight:900;letter-spacing:.3px;transition:filter .2s;min-height:45px}.primary-button{background:linear-gradient(#ffdc5c,#ffc536);color:#775016;box-shadow:0 3px 0 #d7a021}.primary-button:hover{filter:brightness(1.05)}.secondary-button{color:#2986d3;background:#e8f3fd;border:1px solid #d4e9fa}.primary-button svg,.secondary-button svg{width:21px;height:21px;flex:none}.panel-card>button,.info-card>button{margin-top:9px}.panel-card>svg,.info-card>svg{width:45px;height:45px;margin-bottom:12px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0 22px}.stat-grid>div{background:#eaf3fb;border-radius:12px;padding:13px 10px;text-align:center}.stat-grid strong{font-size:20px;display:block}.stat-grid span,.stat-grid small{font-size:9px;color:#7a96af;display:block;margin-top:5px}.plane-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.plane-card{min-width:0;border:1.5px solid #dcebf4;background:#fff;border-radius:17px;padding:13px;text-align:center;position:relative;overflow:hidden}.plane-card.is-selected{border-color:#4eaeff;background:linear-gradient(#eff9ff,#fff);box-shadow:0 0 0 3px #5abaff15}.plane-card .mini-plane{height:145px;width:100%;aspect-ratio:415/440;mask-image:linear-gradient(#000 70%,transparent 98%);background-size:523.374% 164.545%;max-width:140px;margin:-4px auto -15px}.plane-card h3{margin:2px 0 5px;font-size:15px;font-weight:1000}.plane-card p{color:#8199ae;font-size:10px;margin:6px 0}.plane-card button{min-height:37px;padding:9px 12px;margin-top:10px;width:100%;font-size:10px}.tag{display:inline-flex;gap:4px;align-items:center;font-size:8px;border-radius:5px;padding:4px 7px;background:#e8f2fc;color:#3b91d1;font-weight:900;letter-spacing:.5px}.tag svg{width:10px;height:10px}.reward-box{padding:24px;text-align:center;background:radial-gradient(ellipse at top,#eee4ff,#f8f4ff);border:1px solid #e6daf8;border-radius:20px;margin-bottom:17px}.reward-box>svg{width:92px;height:92px;margin:0 auto 12px;filter:drop-shadow(0 7px 9px #8f6ed433)}.reward-box h3{font-size:21px;margin:5px 0 10px}.reward-box p{font-size:12px;color:#8a7ca5;line-height:1.6}.reward-box button{margin-top:9px}.mission-line{display:flex;align-items:center;gap:11px;margin:12px 0;padding:13px;border:1px solid #deebf6;background:#fff;border-radius:13px;font-size:12px}.mission-line>svg{width:32px;height:32px;color:#4099dc;flex:none}.mission-line strong{display:block}.mission-line small{display:block;color:#8499ab;margin-top:3px;font-size:10px}.mission-line>span:last-child{margin-left:auto;font-weight:900;color:#2e9d9a}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #e0ebf4}.toggle-row strong{font-size:13px;display:block}.toggle-row p,.toggle-row small{font-size:10px;color:#7e98ab;margin:5px 0}.toggle-row button{font-size:11px;padding:9px 13px;border-radius:9px;background:#e0f0fb;color:#2788c7;font-weight:900}.toggle-row input{width:22px;height:22px;accent-color:#2397e8}.toast{position:fixed;z-index:30;left:50%;bottom:154px;max-width:calc(100vw - 38px);transform:translate(-50%,20px);padding:13px 22px;border-radius:14px;background:#0a3d6bef;color:#fff;box-shadow:0 8px 30px #00385e40;border:1px solid #a9e4ff66;font-size:12px;font-weight:800;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;backdrop-filter:blur(12px)}.toast.is-visible,.toast.show{opacity:1;transform:translate(-50%,0)}.race-overlay{position:absolute;z-index:9;left:50%;top:120px;width:330px;transform:translateX(-50%);padding:20px 24px;border-radius:20px;border:2px solid #fff9;background:#fffefaf0;box-shadow:var(--shadow);backdrop-filter:blur(14px);text-align:center}.race-live{font-size:8px;letter-spacing:2px;color:#0dab90;font-weight:1000}.race-overlay h2{font-size:21px;margin:8px 0}.race-overlay p{font-size:10px;color:#7c96ad}.race-track{height:8px;background:#d5e7f0;border-radius:8px;overflow:hidden;margin:17px 0}.race-track>span{height:100%;display:block;background:linear-gradient(90deg,#32c6ed,#41e3b0);width:0;transition:width .2s}.race-bottom{display:flex;align-items:center;justify-content:space-between}.race-bottom>strong{font-size:24px}.race-bottom button{padding:9px 18px;min-height:38px;font-size:10px}.race-bottom button>span{width:22px;height:22px}.is-racing .flight-intro,.is-racing .aircraft-card,.is-racing .flight-action,.is-racing .plane-controls{opacity:0;pointer-events:none}.is-racing .bottom-nav{pointer-events:none;opacity:.65}.is-racing .plane-float{animation:race-float .6s ease-in-out infinite}.is-lifting{animation:lift .8s ease-out}.plane-button.is-lifting{animation:lift .8s ease-out}.reduce-motion *{animation:none!important;transition:none!important}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(1deg)}}@keyframes shadow{0%,100%{opacity:.27;transform:scale(1) rotate(-5deg)}50%{opacity:.19;transform:scale(.92) rotate(-5deg)}}@keyframes lift{0%,100%{transform:translate(0,0) rotate(-3deg)}42%{transform:translate(0,-45px) rotate(-9deg)}70%{transform:translate(0,-10px) rotate(2deg)}}@keyframes spark{0%,100%{opacity:0;transform:translateY(25px)}50%{opacity:.8;transform:translateY(-25px)}}@keyframes race-float{0%,100%{transform:translate(0,-10px) rotate(-2deg)}50%{transform:translate(5px,-22px) rotate(2deg)}}
@media(min-width:1600px){.topbar{padding:24px 60px}.pilot,.flight-intro{left:60px}.flight-intro{top:240px}.flight-intro h1{font-size:49px}.aircraft-card,.flight-action{right:60px}.air-space{width:min(37vw,650px);bottom:17%}.aircraft-card{width:290px;padding:25px}.aircraft-name h2{font-size:29px}.flight-action{top:calc(28% + 368px);width:290px}.hangar-coordinate{left:60px}}
@media(max-width:1170px) and (min-width:761px){.topbar{padding:15px 25px;gap:16px}.brand{width:120px;height:65px}.season{padding-left:16px}.wallet{gap:19px}.resource{min-width:115px}.pilot{left:25px;top:105px}.flight-intro{left:25px;top:200px;max-width:260px}.flight-intro h1{font-size:34px}.intro-copy{font-size:10px}.daily-card{width:240px;padding:12px 10px;gap:10px}.daily-card strong{font-size:14px}.daily-reward{font-size:9px}.daily-reward b{margin-left:4px;font-size:7px}.mission-preview{width:240px;gap:8px}.mission-preview p{font-size:10px}.mission-preview div>span{font-size:8px}.aircraft-card,.flight-action{right:25px;width:222px}.aircraft-card{padding:16px}.aircraft-name h2{font-size:22px}.flight-action{top:calc(28% + 339px)}.air-space{left:51%;width:42vw;bottom:21%}.fly-button{padding:9px 12px;gap:5px}.fly-button>span:nth-child(2){font-size:14px}.fly-button small{font-size:6px}.bottom-nav{height:91px;width:530px}.nav-icon{width:56px;height:56px}.hangar-coordinate{display:none}}
@media(max-width:760px){.game-shell{height:100svh;min-height:720px;max-height:none}.world{background-position:54% center}.world-shade{background:linear-gradient(180deg,#007bce4d 0%,#00569c15 28%,transparent 53%,#034a8170 82%,#044879c9 100%)}.topbar{padding:13px 18px;gap:11px;align-items:center}.brand{width:100px;height:60px;margin-left:-5px}.season,.topbar-spacer{display:none}.wallet{margin-left:auto;gap:18px}.resource{min-width:90px;height:34px;border-radius:10px;border-width:1.5px;gap:1px;padding-left:22px;padding-right:4px}.resource-icon{width:38px;height:38px;left:-13px;top:-4px}.resource strong{font-size:14px}.resource-plus{height:21px;width:20px;font-size:21px;border-radius:5px;margin-left:4px}.utility-buttons{gap:0}.icon-button{width:29px;height:30px;border-radius:9px;padding:7px;border-width:1px}.utility-buttons #soundButton{display:none}.pilot{top:94px;left:21px;gap:8px}.avatar{width:37px;height:37px;border-radius:12px}.avatar>svg{border-radius:10px}.avatar>span{width:18px;height:18px;min-width:18px;font-size:9px;line-height:14px;border-radius:6px}.pilot-info>strong{font-size:12px}.pilot-rank{font-size:6px;letter-spacing:.7px}.xp-track{width:101px;height:3px}.pilot-chevron{height:9px;width:9px}.flight-intro{top:152px;left:21px;right:21px;max-width:none;pointer-events:none}.flight-intro .eyebrow{font-size:7px;letter-spacing:1.4px;margin-bottom:7px}.flight-intro h1{font-size:28px;letter-spacing:-.9px;max-width:none}.intro-copy{display:none}.daily-card{position:absolute;top:-59px;right:0;display:flex;width:143px;padding:8px 9px;border-width:1px;border-radius:12px;gap:7px;margin:0;pointer-events:auto;box-shadow:0 3px 0 #054d8730}.daily-icon{width:28px;height:28px;padding:5px;border-radius:8px}.daily-card small{font-size:5px;letter-spacing:.4px}.daily-card strong{font-size:9px;margin-top:3px}.daily-reward{margin-top:3px;font-size:7px;gap:2px}.daily-reward i{width:11px;height:11px}.daily-reward b{display:none}.notification-dot{width:9px;height:9px;right:-3px;top:-3px}.mission-preview{display:none}.air-space{width:min(106vw,450px);left:50%;bottom:33%;z-index:1}.plane-float{animation-duration:4.4s}.plane-button{transform:translate(var(--drag-x,0px),var(--drag-y,0px)) rotate(var(--tilt,-3deg))}.plane-shadow{bottom:5%;left:20%;height:9%;opacity:.3;filter:blur(13px)}.plane-controls{bottom:-10px;padding:0 25px}.plane-arrow{height:33px;width:33px;padding:9px;border-width:1.5px}.plane-controls #dragHint{font-size:8px;padding:6px 10px;letter-spacing:0}.touch-mark{font-size:11px}.aircraft-card{top:auto;bottom:208px;right:21px;left:21px;width:auto;border-radius:17px;padding:13px 15px 11px;background:linear-gradient(120deg,#fffefbf2,#e9f7fff0);box-shadow:0 4px 0 #02549025,0 10px 25px #064f8418;border-width:1.5px}.aircraft-topline{font-size:6px;letter-spacing:1px}.fleet-index{font-size:8px}.aircraft-name{margin-top:5px;justify-content:flex-start;gap:9px}.aircraft-name h2{font-size:23px;letter-spacing:-.7px}.rarity{font-size:6px;padding:3px 5px;letter-spacing:.6px}.aircraft-subtitle{display:none}.aircraft-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:12px}.aircraft-stat{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.stat-label{font-size:7px;gap:4px}.stat-label i{height:9px;width:9px}.aircraft-stat>strong{font-size:12px}.aircraft-stat>strong small{font-size:6px}.stat-track{width:100%;height:3px;margin-top:1px}.fuel-status{margin-top:11px;padding-top:9px;gap:6px}.fuel-symbol{height:23px;width:23px}.fuel-status>div>span{font-size:7px}.fuel-status b{font-size:8px}.fuel-track{margin-top:5px;height:3px}.fuel-status>button{height:21px;width:21px;font-size:18px}.ready-status{position:absolute;right:16px;top:32px;margin:0;font-size:6px;gap:4px}.ready-status>span{height:4px;width:4px;box-shadow:none}.flight-action{top:auto;bottom:126px;right:21px;left:21px;width:auto}.fly-button{border-radius:14px;min-height:56px;padding:7px 17px;gap:9px}.fly-button>span:first-child{width:39px;height:39px}.fly-button>span:nth-child(2){font-size:18px;letter-spacing:.7px;text-align:center}.fly-button small{font-size:7px;letter-spacing:.1px;margin-top:2px}.fly-button b{font-size:22px}.flight-caption{font-size:5px;letter-spacing:1.1px;margin-top:11px}.bottom-nav{position:absolute;bottom:max(15px,env(safe-area-inset-bottom));left:15px;right:15px;transform:none;width:auto;height:87px;border-radius:19px;padding:5px 5px;gap:2px;border-width:1.5px;box-shadow:0 5px 0 #02356644,0 12px 30px #06437855}.nav-item{border-radius:12px;padding:2px 0 9px;gap:0;min-width:0}.nav-icon{width:51px;height:51px}.nav-label{font-size:7px;letter-spacing:.1px}.nav-dot{width:8px;height:8px;top:2px;right:9px;border-width:1.5px}.nav-active-mark{width:21px;height:3px;bottom:-6px}.hangar-coordinate{display:none}.toast{bottom:315px;padding:12px 16px;font-size:10px;width:max-content}.game-dialog{margin:auto 12px 12px;width:calc(100% - 24px);max-width:none;max-height:88svh;border-radius:24px}.dialog-header{padding:21px 20px 17px}.dialog-header h2{font-size:25px}.dialog-body{padding:19px 20px 23px}.panel-intro{font-size:11px}.plane-grid{gap:10px}.plane-card{padding:10px}.plane-card .mini-plane{height:128px}.plane-card h3{font-size:13px}.plane-card button{font-size:9px}.plane-card p{font-size:9px}.panel-card,.info-card{padding:15px}.panel-card h3,.info-card h3{font-size:15px}.race-overlay{top:155px;width:calc(100% - 42px);padding:17px 20px}.is-racing .air-space{bottom:24%;width:min(120vw,520px)}.is-racing .pilot{opacity:0}.is-racing .flight-intro{display:none}.is-racing .aircraft-card{display:none}.sky-spark{display:none}}
@media(max-width:370px){.topbar{padding:12px 14px;gap:7px}.brand{width:84px;height:56px}.wallet{gap:16px}.resource{min-width:82px}.resource strong{font-size:13px}.icon-button{width:26px;height:28px;padding:6px}.aircraft-card{right:16px;left:16px}.flight-action{right:16px;left:16px}.ready-status{font-size:5px}.aircraft-name h2{font-size:22px}.nav-icon{height:47px;width:47px}.nav-label{font-size:6.5px}.air-space{width:110vw;bottom:34%}}
@media(max-height:780px) and (max-width:760px){.game-shell{min-height:660px}.pilot{top:80px}.flight-intro{top:134px}.flight-intro h1{font-size:25px}.daily-card{top:-54px}.air-space{width:min(94vw,380px);bottom:35%}.aircraft-card{bottom:186px;padding:10px 13px 8px}.aircraft-name h2{font-size:21px}.aircraft-stats{margin-top:9px;gap:12px}.fuel-status{margin-top:8px;padding-top:6px}.flight-action{bottom:112px}.fly-button{min-height:51px}.flight-caption{margin-top:9px;font-size:4.5px}.bottom-nav{height:78px;bottom:14px}.nav-icon{width:46px;height:46px}.nav-item{padding-bottom:7px}.nav-label{font-size:6.5px}.plane-controls{bottom:-3px}.ready-status{top:29px}.toast{bottom:285px}}
@media(max-height:620px) and (min-width:761px){.game-shell{min-height:550px}.pilot{top:90px}.flight-intro{top:163px}.flight-intro h1{font-size:31px}.daily-card{margin-top:15px}.mission-preview{display:none}.aircraft-card{top:24%;padding:14px;width:235px}.aircraft-subtitle{margin-bottom:12px}.aircraft-stats{gap:8px}.fuel-status{margin-top:14px;padding-top:9px}.flight-action{top:auto;bottom:109px;width:235px}.air-space{width:37vw;bottom:17%}.bottom-nav{height:77px;bottom:16px;width:480px}.nav-icon{height:48px;width:48px}.nav-label{font-size:8px}.hangar-coordinate{display:none}}
.ui-icon{display:inline-flex;width:21px;height:21px;vertical-align:middle;align-items:center;justify-content:center;flex-shrink:0}.ui-icon svg{height:100%;width:100%}.primary-button .ui-icon,.secondary-button .ui-icon{height:20px;width:20px}.panel-intro .ui-icon{width:16px;height:16px}.reward-box>.ui-icon{width:75px;height:75px;color:#32a2e9;margin:0 auto 12px;display:flex;filter:drop-shadow(0 5px 8px #69bfff40)}.reward-box .ui-icon:not(:first-child),.reward-box p .ui-icon{width:21px;height:21px;display:inline-flex;margin:0;vertical-align:middle}.reward-box.daily-reward{display:block;white-space:normal;color:var(--navy);font-size:12px}.reward-box.daily-reward p{font-size:12px}.reward-box.daily-reward b{font-size:inherit}.daily-card.is-claimed{opacity:.8}.daily-card.is-claimed strong{font-size:14px}.plane-card-top{display:flex;align-items:center;justify-content:space-between;min-height:20px}.plane-card-top>.ui-icon{height:13px;width:13px;color:#8bb7ce}.equipped-label{color:#249f89;font-size:6px;font-weight:1000;letter-spacing:.3px}.plane-mini-stats{display:flex;justify-content:space-around;gap:5px;margin:12px 0 0;font-size:6px;color:#93a8ba}.plane-mini-stats b{font-size:9px;color:#527b9e;margin-left:2px}.plane-card[data-tier=epic] .tag,.rarity[data-tier=epic]{background:#f1e5ff;color:#a05cdc;border-color:#e4caff}.plane-card[data-tier=legendary] .tag,.rarity[data-tier=legendary]{background:#fff2d0;color:#bc891f;border-color:#f2dd97}.chest-card{text-align:center;background:radial-gradient(ellipse at 50% 0,#f2e9ff,#fff 70%)}.chest-art{width:105px;height:105px;margin:0 auto 8px}.chest-art .ui-icon{width:100%;height:100%;filter:drop-shadow(0 5px 10px #8f56d22a)}.chest-card h3{font-size:21px;margin:10px 0}.reward-result{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.6;color:#1f8c79;background:#ebfaf5;border-color:#bde7db}.circuit-art{height:110px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 70% 20%,#fff9,transparent),linear-gradient(145deg,#64d6ff,#5595e6);border:3px solid #fff;border-radius:15px;overflow:hidden;margin-bottom:15px;box-shadow:0 3px 0 #cce7f6}.circuit-art::before,.circuit-art::after{content:"";width:190px;height:190px;border:2px dashed #fff7;border-radius:50%;position:absolute;transform:scaleY(.35) rotate(-25deg)}.circuit-art::after{width:260px;height:260px}.circuit-art>.ui-icon{width:91px;height:91px;z-index:1;filter:drop-shadow(0 5px 3px #1b6d9b55)}.circuit-art>span:last-child{position:absolute;right:14px;bottom:2px;font-size:64px;font-weight:1000;color:#ffffff55;line-height:1.2}.race-circuit>h3{margin-top:9px;font-size:22px}.race-circuit .stat-grid{grid-template-columns:1fr 1.4fr 1fr;margin-bottom:16px}.race-circuit .stat-grid>div{padding:10px 5px}.race-circuit .stat-grid strong{font-size:11px;line-height:1.6;margin-top:6px;white-space:nowrap}.race-circuit .stat-grid small{font-size:6px}.race-circuit .stat-grid .ui-icon{width:17px;height:17px}.race-circuit>.primary-button{width:100%}.locked-circuits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.locked-circuits>.info-card{display:flex;align-items:center;gap:10px;opacity:.7;padding:13px;margin:0}.locked-circuits h3{font-size:11px;line-height:1.4;margin:0}.locked-circuits p{font-size:9px;margin:4px 0 0}.locked-circuits .ui-icon{width:17px;height:17px;color:#7c9eba}.fuel-station{text-align:center}.fuel-station>.ui-icon{height:80px;width:80px;margin:0 auto 9px}.fuel-station h3{font-size:23px}.panel-fuel-track{height:11px;border-radius:8px;background:#e0eff2;overflow:hidden;margin:20px auto 15px;max-width:320px}.panel-fuel-track>span{height:100%;border-radius:8px;display:block;background:linear-gradient(90deg,#50d6af,#15b99e)}.fuel-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fuel-options .panel-card{margin:0}.fuel-options h3{margin-top:11px;font-size:16px}.fuel-options button{padding:11px;font-size:10px;width:100%}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.gem-pack{padding:13px 8px;text-align:center}.gem-pack .tag{font-size:6px;letter-spacing:0}.gem-art{width:65px;height:65px;margin:0 auto 13px;filter:drop-shadow(0 6px 10px #34c7a344)}.gem-art>.ui-icon{width:100%;height:100%}.gem-pack h3{font-size:19px;margin:13px 0 9px}.gem-pack button{padding:9px;width:100%;font-size:11px}.market-grid+.info-card,.info-card:has(>.ui-icon+ p){display:flex;align-items:center;gap:11px}.info-card:has(>.ui-icon+ p)>p{margin:0}.toggle-row h3{font-size:14px}.toggle-row:first-child{padding-top:0}.toggle-row:last-child{border-bottom:0;padding-bottom:0}.toggle-row .toggle-button{font-size:10px;background:#ebf1f6;color:#7891a5;min-width:85px;padding:10px}.toggle-row .toggle-button.is-on{color:#15997e;background:#def7ed}.reset-confirm .secondary-button{margin:5px 5px 0 0;font-size:10px}.danger-button{background:#ffe7e7;color:#c15d5d;border-color:#f7d1d1}.profile-hero{text-align:center;margin-bottom:20px}.profile-avatar{margin:0 auto 12px;width:76px;height:76px;padding:20px;background:linear-gradient(145deg,#70dbff,#379de9);border:3px solid #fff;box-shadow:0 4px 0 #c5e4f7;border-radius:25px;color:white}.profile-avatar .ui-icon{width:100%;height:100%}.profile-hero h3{font-size:25px;margin:10px 0}.profile-hero p{font-size:12px;color:#829caf}.profile-hero~.panel-card{text-align:center}.profile-hero~.panel-card>.mini-plane{width:200px;height:212px;margin:-10px auto -15px}.race-result{text-align:center}.result-trophy{width:78px;height:78px;border-radius:50%;padding:19px;background:linear-gradient(145deg,#fff4c5,#ffe082);margin:0 auto 17px;color:#c69421}.result-trophy .ui-icon{width:100%;height:100%}.race-result h3{font-size:28px;margin:13px 0 10px}.race-result p{font-size:12px;color:#8ba0b2;line-height:1.6}.race-result>.primary-button,.race-result>.secondary-button{margin:5px;font-size:11px}.race-result .stat-grid{grid-template-columns:1fr 1fr}.race-result .stat-grid .ui-icon{width:21px;height:21px}.race-overlay #raceBoost>.ui-icon{width:20px;height:20px}.icon-button>.ui-icon{width:100%;height:100%}
@media(max-width:760px){.air-space{width:clamp(230px,calc((100svh - 480px)*.76),340px);bottom:44%}.plane-controls{left:50%;right:auto;width:calc(100vw - 40px);max-width:500px;transform:translateX(-50%);padding:0;bottom:-6px}.plane-controls #dragHint{background:#0870a336;backdrop-filter:blur(7px)}.daily-card.is-claimed strong{font-size:8px}.ui-icon{width:18px;height:18px}.market-grid{gap:7px}.gem-pack h3{font-size:16px}.gem-art{height:52px;width:52px}.gem-pack button{font-size:10px}.locked-circuits{grid-template-columns:1fr}.locked-circuits>.info-card{padding:12px}.locked-circuits h3{font-size:12px}.plane-card>.mini-plane{height:128px;max-width:125px}.plane-card p{min-height:34px;line-height:1.5}.plane-mini-stats{font-size:5px;gap:3px}.plane-mini-stats b{font-size:8px}.fuel-options{gap:9px}.fuel-options h3{font-size:14px}.fuel-options p{font-size:10px}.fuel-options button{font-size:8px;padding:10px 6px}.stat-grid{gap:7px}.stat-grid strong{font-size:17px}.stat-grid small{font-size:7px}.reward-box.daily-reward{padding:20px}.is-racing .air-space{width:min(94vw,360px);bottom:29%}.is-racing .plane-controls{display:none}}
@media(max-height:740px) and (max-width:760px){.air-space{width:230px;bottom:43.5%}.flight-intro h1{font-size:23px}.flight-intro{top:127px}.flight-intro .eyebrow{display:none}.plane-controls{bottom:-5px}.plane-controls #dragHint{font-size:7px}.aircraft-card{bottom:177px}.flight-action{bottom:105px}.bottom-nav{height:75px;bottom:12px}.nav-label{font-size:6px}.flight-caption{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.plane-sprite[data-plane="1"],.mini-plane[data-plane="1"]{background-image:url('./assets/blue-falcon-cutout.webp');background-size:contain;background-position:center;mask-image:none;-webkit-mask-image:none}
.resource,.icon-button,.plane-arrow{position:relative}.resource::after,.icon-button::after,.plane-arrow::after{content:"";position:absolute;inset:-5px;z-index:0}.plane-arrow:first-child{transform:rotate(180deg)}.plane-arrow:last-child{transform:none}.plane-arrow:first-child:active{transform:rotate(180deg) translateY(-2px)}.plane-arrow:last-child:active{transform:translateY(2px)}
