:root{--background:#11191c;--foreground:#f2f5f3;--card:#172124;--card-foreground:#f2f5f3;--popover:#172124;--popover-foreground:#f2f5f3;--primary:#d0ff4b;--primary-foreground:#18220b;--secondary:#263135;--secondary-foreground:#f2f5f3;--muted:#273135;--muted-foreground:#9cabad;--accent:#2a383d;--accent-foreground:#f5f8f7;--destructive:#ff856b;--border:#334045;--input:#3b4a50;--ring:#d0ff4b;--radius:.7rem}*{box-sizing:border-box}body{margin:0;background:#11191c;color:#f2f5f3;font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #d0ff4b;outline-offset:4px}button[data-slot=button]{font-size:14px;border-radius:8px;font-weight:600}canvas{display:block}input{min-height:44px;font-size:16px!important}h1,h2,h3,p{margin:0}svg{flex-shrink:0}.topbar{height:91px;padding:0 4.4%;border-bottom:1px solid #ffffff13;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#eff6f0;font-size:20px;font-weight:800;letter-spacing:1px}.brand small{display:block;font:10px/1.8 monospace;letter-spacing:3px;color:#8d9e9f}.brand-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #d0ff4b;color:#d0ff4b;border-radius:11px;transform:rotate(-6deg)}.top-caption{color:#879a9e;font-size:14px;letter-spacing:2px}.friend-button{background:transparent!important;border-color:#475755!important;padding:0 18px!important;height:41px!important}.lab-main{max-width:1440px;margin:auto;padding:39px 4.4% 0}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;gap:20px}.eyebrow{font:12px/1.8 monospace;letter-spacing:2px;color:#d0ff4b;display:flex;align-items:center;gap:17px;margin-bottom:10px}.eyebrow span{font-size:12px;color:#8fa1a4;letter-spacing:1px;border-left:1px solid #51625a;padding-left:16px}.intro h1{font-size:clamp(30px,3.1vw,46px);letter-spacing:1px;font-weight:800;line-height:1.3}.intro h1 em{font-style:normal;color:#d0ff4b}.intro p{font-size:15px;color:#95a8ab;margin-top:12px;line-height:1.6}.steps{display:flex;align-items:center;gap:16px;margin-bottom:7px;color:#819393;font-size:14px;white-space:nowrap}.steps>svg{width:14px;color:#52605d}.steps span{display:flex;align-items:center;gap:8px}.steps b{font:12px monospace;border:1px solid #43504c;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.steps .active{color:#d0ff4b}.steps .active b{border-color:#8bad32;background:#d0ff4b0b}.workbench{display:grid;grid-template-columns:minmax(300px,.84fr) minmax(380px,1.16fr);gap:23px;align-items:stretch}.sketch-section{background:#1b2629;border:1px solid #36413f;border-radius:17px;padding:19px;display:flex;flex-direction:column;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;height:33px;margin-bottom:15px}.panel-heading h2{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}.panel-heading h2 svg{color:#c7d4d0}.draw-tools{display:flex;gap:4px}.draw-tools button{color:#a6b6b5;height:30px;width:32px}.sketch-paper{position:relative;isolation:isolate;border-radius:9px;background-color:#f3f5f0;background-image:radial-gradient(#9aaa973e 1px,transparent 1px);background-size:20px 20px;aspect-ratio:1/1;overflow:hidden;color:#3b4b43}.sketch-paper canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;z-index:2}.paper-corner{position:absolute;left:16px;top:14px;font:11px/1.5 monospace;letter-spacing:1.1px;color:#748174}.paper-caption{position:absolute;bottom:15px;right:15px;font-size:12px;color:#798474}.paper-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;pointer-events:none}.paper-empty svg{color:#617758}.paper-empty strong{font-size:21px;letter-spacing:1px}.paper-empty span{text-align:center;font-size:14px;line-height:1.8;color:#819177}.sketch-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#90a2a2;padding:14px 0 18px;gap:10px}.sketch-bottom>div{display:flex;align-items:center;gap:9px;font-size:13px;color:#c1ceca}.pen-dot{width:7px;height:7px;background:#d0ff4b;border-radius:50%}.stroke-count{color:#8d9a97;margin-left:5px}.generate-button{width:100%;height:48px!important;font-size:16px!important;gap:10px!important;box-shadow:0 4px 24px #bfe83912}.generate-button>svg:last-child{margin-left:auto}.generate-button>svg:first-child{margin-right:auto}.result-section{border:1px solid #36413f;border-radius:17px;overflow:hidden;min-width:0;background:#182225;display:flex;flex-direction:column}.model-stage{position:relative;flex:1;min-height:340px;overflow:hidden}.model-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.model-canvas:active{cursor:grabbing}.model-heading{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none}.model-chip{background:#36463f5c;border:1px solid #5e715049;padding:6px 10px;border-radius:5px;font-size:12px;color:#c1d1a9;display:flex;gap:7px;align-items:center}.model-chip>span{width:5px;height:5px;background:#d0ff4b;border-radius:50%}.model-no{font:12px monospace;color:#82918b;letter-spacing:2px;padding-top:9px}.model-title{position:absolute;bottom:24px;left:25px;pointer-events:none}.model-title>span{font:11px monospace;letter-spacing:2px;color:#859899}.model-title h2{font-size:27px;font-weight:700;letter-spacing:2px;margin-top:6px}.model-title small{font:12px monospace;vertical-align:middle;color:#b5c8b7;border:1px solid #627766;border-radius:4px;padding:4px 6px;margin-left:11px}.model-rotate{position:absolute;left:50%;top:65px;transform:translate(-50%);display:flex;gap:7px;align-items:center;color:#859997;font-size:12px;pointer-events:none}.color-picker{position:absolute;right:25px;bottom:27px;display:flex;gap:9px}.color-picker button{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;border:3px solid #15202b;color:#17241d;outline:1px solid transparent}.color-picker button[aria-pressed=true]{outline:1px solid #d6e4d0}.flight-panel{padding:22px 25px 20px;border-top:1px solid #354441;background:#1b2629}.flight-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.flight-heading h3{font-size:15px;font-weight:600;white-space:nowrap}.flight-heading>span{font-size:12px;color:#899f9c}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:23px;margin-bottom:25px}.stat>div:first-child{display:flex;justify-content:space-between;gap:4px;margin-bottom:9px;align-items:center}.stat span{font-size:13px;color:#a3b5b3;display:flex;align-items:center;gap:6px}.stat b{font:18px monospace;color:#e6efdf}.stat small{font-size:10px;color:#7d9490;margin-left:3px}.stat [data-slot=progress]{height:4px;background:#3b4741;border-radius:2px}.stat [data-slot=progress-indicator]{background:#b9d798}.launch-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.launch-actions button{height:43px;font-size:14px}.solo-button{background:#eef2e9!important;color:#24321e!important}.race-button{background:transparent!important;border-color:#71835d!important;color:#d2e5b4!important}.launch-note{font-size:12px;color:#83968d;text-align:center;margin-top:12px}.inspiration{margin-top:23px;display:flex;align-items:center;gap:24px;border:1px solid #31403c;border-radius:13px;padding:18px 24px;background:#162023}.inspiration h3{font-size:16px;font-weight:600;white-space:nowrap}.inspiration p{color:#839894;font-size:12px;line-height:1.6;margin-top:7px}.template-list{display:flex;flex:1;gap:12px}.template{display:flex;align-items:center;background:#23312f;border:1px solid #344840;border-radius:9px;overflow:hidden;padding:4px 12px 4px 0;flex:1;text-align:left;min-width:0;transition:border .2s}.template:hover{border-color:#9bb969}.mini-model{width:80px;height:65px;flex-shrink:0;pointer-events:none}.template>span{font-size:13px;white-space:nowrap;display:flex;flex-direction:column;gap:7px;color:#c7d8ce}.template>span svg{color:#8eaa87}.drawing-tip{display:flex;align-items:center;gap:23px;border-left:1px solid #35453e;padding-left:24px;font-size:12px;color:#8da496;line-height:1.9;white-space:nowrap}.drawing-tip svg{color:#b0c69c;transform:rotate(-12deg)}footer{display:flex;justify-content:space-between;gap:16px;padding:25px 0 23px;font-size:12px;color:#69837b}footer b{font:10px monospace;letter-spacing:1px;margin-left:14px}.scan-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 40%,#d0ff4b35 50%,transparent 60%);animation:scan 1s linear infinite}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan{0%{transform:translateY(-60%)}to{transform:translateY(60%)}}.room-dialog{border:1px solid #455542!important;background:#182321!important;padding:30px!important;gap:18px!important;max-height:90vh;max-height:calc(var(--game-height,100vh) * .9);overflow:auto}.room-dialog [data-slot=dialog-title]{font-size:24px;font-weight:700}.room-dialog [data-slot=dialog-description]{line-height:1.7;color:#a4b7ad}.room-dialog button[data-slot=button]{min-height:43px}.field-label{font-size:14px;margin-top:8px;color:#c4d1c9}.room-dialog input{background:#0e1814!important;border-color:#4c5c49!important}.join-divider{display:flex;align-items:center;gap:15px;color:#91a591;font-size:12px;margin:6px 0}.join-divider:before,.join-divider:after{content:"";height:1px;background:#3f4d3c;flex:1}.join-row{display:flex;gap:12px}.room-empty{display:flex;flex-direction:column;align-items:center;gap:20px;padding:22px}.room-code{padding:19px;background:#0b1811;border:1px dashed #809b56;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:9px}.room-code>span{font-size:12px;color:#94ab89}.room-code strong{font:700 42px monospace;letter-spacing:9px;color:#d0ff4b}.room-code button{font-size:13px}.players{display:flex;flex-direction:column;gap:4px}.players>div{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid #ffffff15;font-size:15px}.players>div>span:last-child{margin-left:auto;font-size:12px;color:#9daf92}.player-color{width:10px;height:10px;border-radius:50%}.room-hint{font-size:12px;color:#91a48b;text-align:center}.error{font-size:14px;color:#ffad92;line-height:1.5}.race-screen{height:100vh;height:var(--game-height,100vh);min-height:560px;position:relative;overflow:hidden;background:#12212b}.race-screen>canvas{position:absolute;inset:0;width:100%;height:100%}.race-top{position:absolute;left:4%;right:4%;top:26px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.race-top>button{background:#142329cc!important;border-color:#617171!important;height:42px}.track-name{display:flex;align-items:center;flex-direction:column;gap:5px}.track-name>span{font:11px monospace;letter-spacing:4px;color:#d0ff4b}.track-name strong{font-size:22px;letter-spacing:5px}.track-name small{font-size:12px;color:#adbec0}.race-time{font:30px monospace;min-width:120px;text-align:right}.race-time small{font:12px sans-serif;color:#a9babc;margin-left:5px}.race-progress{position:absolute;top:129px;left:25%;right:25%}.race-progress [data-slot=progress]{height:4px}.race-progress>div:last-child{display:flex;justify-content:space-between;font-size:11px;color:#adbec0;margin-top:9px}.countdown{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;background:#09151e4d;pointer-events:none}.countdown>span{font-size:17px;letter-spacing:5px}.countdown strong{font:italic 120px monospace;color:#d0ff4b;line-height:1.5}.countdown p{font-size:14px;color:#c1d5d3;text-align:center;padding:0 25px}.race-bottom{position:absolute;bottom:29px;left:5%;right:5%;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;pointer-events:none}.speedometer b{font:italic 58px monospace;line-height:1}.speedometer span{font:12px monospace;color:#b3c2c4;display:block;margin:8px 0 0 9px;letter-spacing:3px}.battery{width:230px}.battery>div:first-child{display:flex;align-items:center;gap:7px;font-size:13px;margin-bottom:12px;color:#d0e0cb}.battery>div>span{margin-left:auto}.battery [data-slot=progress]{height:6px}.battery small{font-size:11px;color:#b2c1b6;display:block;margin-top:10px}.keyboard-tip{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#b2c3c1}.keyboard-tip>span{display:flex;align-items:center;gap:6px}kbd{background:#223139;border:1px solid #6f8587;border-bottom-width:3px;border-radius:4px;padding:3px 7px;font:11px monospace;color:#e1e9df}.live-rank{position:absolute;top:184px;left:4%;background:#0d1a22b8;padding:10px;border:1px solid #43565e;border-radius:10px;width:240px}.live-rank>div{display:flex;gap:9px;padding:8px;font-size:13px}.live-rank b{font-family:monospace;color:#a6b8b9}.live-rank small{margin-left:auto;color:#bdcfba}.live-rank .is-me{color:#d0ff4b;background:#8dac4422;border-radius:4px}.network-warning{position:absolute;top:180px;left:50%;transform:translate(-50%);background:#633a23e8;padding:12px;border-radius:8px;font-size:14px;z-index:3}.touch-controls{display:none;position:absolute;left:5%;right:5%;bottom:22px;gap:12px;touch-action:none}.touch-controls button{height:56px;width:58px;background:#142529cf!important;border-color:#92aa93!important;touch-action:none;-webkit-user-select:none;user-select:none}.touch-controls button[data-control=boost]{width:110px;margin-left:auto;background:#d0ff4b!important;color:#183311}.result-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#071316a8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:25px;z-index:5}.race-result{text-align:center;padding:37px;background:#14231feb;border:1px solid #68844e;border-radius:20px;min-width:360px;max-width:520px;width:100%;max-height:95vh;max-height:calc(var(--game-height,100vh) * .95);overflow:auto}.race-result>svg{margin:0 auto 17px;color:#d0ff4b}.race-result>span{font-size:16px;letter-spacing:4px;color:#c1dba8}.race-result h1{font:70px monospace;margin:20px 0 12px;color:#f5ffed}.race-result h1 small{font:16px sans-serif;margin-left:10px;color:#b9caaa}.race-result>p{font-size:14px;color:#a0b898;line-height:1.8}.result-actions{display:flex;gap:12px;justify-content:center;margin-top:27px}.result-actions>button{height:44px}.finish-rank{margin-top:24px;border-top:1px solid #789c4e4d;padding-top:10px}.finish-rank>div{display:flex;gap:17px;text-align:left;padding:11px 0;font-size:14px}.finish-rank strong{margin-left:auto;color:#d0ff4b;font-weight:400}@media(min-width:1500px){.lab-main{padding-top:45px}.workbench{gap:28px}.sketch-paper{max-height:465px}.model-stage{min-height:390px}}@media(max-width:1100px){.lab-main{padding:30px 3% 0}.topbar{padding:0 3%;height:78px}.workbench{gap:16px;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr)}.intro h1{font-size:36px}.steps{gap:9px}.inspiration{padding:16px;gap:16px}.drawing-tip{display:none}.model-stage{min-height:300px}.stats{gap:13px}.stat span{gap:4px}.flight-panel{padding:20px}.flight-heading>span{font-size:11px}.sketch-section{padding:15px}.model-title h2{font-size:24px}.model-title{left:20px}.color-picker{right:20px}}@media(max-width:760px){.topbar{height:73px;padding:0 20px}.brand{font-size:17px;gap:9px}.brand-symbol{width:36px;height:36px}.brand small{font-size:9px;letter-spacing:2px}.top-caption{display:none}.friend-button{font-size:12px!important;height:36px!important;padding:0 10px!important}.friend-button>svg:last-child{display:none}.lab-main{padding:26px 18px 0}.intro{display:block;margin-bottom:22px}.intro h1{font-size:35px}.intro p{font-size:14px;margin-top:9px}.eyebrow{font-size:11px;margin-bottom:8px}.eyebrow span{font-size:11px}.steps{margin-top:22px;justify-content:space-between;font-size:13px;gap:8px}.steps b{width:25px;height:25px;font-size:11px}.workbench{grid-template-columns:1fr;gap:18px}.sketch-section{padding:14px}.sketch-paper{aspect-ratio:1;max-height:none}.panel-heading{margin-bottom:10px}.sketch-bottom{padding:13px 0}.model-stage{height:340px;min-height:340px;flex:none}.model-title h2{font-size:27px}.flight-panel{padding:21px}.stats{gap:19px;margin:21px 0}.stat span{font-size:13px}.stat b{font-size:19px}.flight-heading>span{font-size:11px}.inspiration{flex-direction:column;align-items:stretch;padding:18px;margin-top:18px;gap:16px}.inspiration>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}.inspiration h3{font-size:14px}.inspiration p{font-size:11px;margin:0}.template-list{gap:8px}.template{flex-direction:column;padding:0 0 10px}.mini-model{width:90px;height:59px}.template>span{flex-direction:row;gap:7px;align-items:center;font-size:12px}.race-top{top:18px;left:16px;right:16px;align-items:center}.race-top>button{font-size:12px;padding:0 9px;height:37px}.race-time{font-size:23px;min-width:80px}.track-name strong{font-size:16px;letter-spacing:2px}.track-name>span{font-size:9px;letter-spacing:2px}.track-name small{font-size:10px}.race-progress{left:16px;right:16px;top:104px}.race-bottom{bottom:100px;left:6%;right:6%;gap:20px}.speedometer b{font-size:43px}.speedometer span{font-size:10px}.battery{width:185px}.battery small{font-size:10px}.keyboard-tip{display:none}.touch-controls{display:flex}.live-rank{top:146px;left:16px;width:170px;padding:5px}.live-rank>div{font-size:11px;padding:5px;gap:6px}.live-rank small{font-size:10px}.race-result{min-width:0;padding:30px 22px}.race-result h1{font-size:56px}.result-actions{gap:9px}.result-actions>button{font-size:12px;padding:0 13px}.countdown p{font-size:12px}.network-warning{top:220px;width:85%}}@media(pointer:coarse)and (min-width:761px){.touch-controls{display:flex}.race-bottom{bottom:105px}.keyboard-tip{display:none}}@media(prefers-reduced-motion:reduce){.spin,.scan-overlay{animation:none}*{scroll-behavior:auto!important}}.inspiration{display:block;padding:22px 24px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.catalog-heading h3{font-size:17px}.catalog-heading p{font-size:14px;margin-top:8px;color:#9fb3aa}.catalog-heading>span{font:12px monospace;color:#89a38d;letter-spacing:1px;white-space:nowrap}.template-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.template{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:9px 12px 13px;min-width:0;background:linear-gradient(145deg,#283a36,#1d2c29);border:1px solid #3a5145}.template>span{display:flex;flex-direction:column;gap:6px;white-space:normal}.template b{font-size:14px;font-weight:600;color:#e0ece0}.template small{font-size:12px;color:#9fb5a6;line-height:1.5}.template>.mini-model{width:100%;height:90px;flex-shrink:0}.template>svg{position:absolute;top:11px;right:11px;color:#779f7c}.template:hover{background:#304636;border-color:#b0da74}.template:focus-visible{outline-offset:3px}.model-rotate{top:64px}.model-title h2{font-size:25px}.model-title h2 small{font-size:12px}@media(max-width:1050px){.template-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.template{padding:7px 9px 12px}.template>.mini-model{height:79px}.template small{font-size:12px}.catalog-heading>span{display:none}}@media(max-width:760px){.inspiration{padding:18px}.inspiration>.catalog-heading{display:block}.catalog-heading h3{font-size:17px}.catalog-heading p{font-size:14px;margin-top:8px;line-height:1.65}.template-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.template{padding:8px 11px 13px;align-items:stretch}.template>.mini-model{height:95px}.template>span{align-items:flex-start;flex-direction:column}.template b{font-size:14px}.template small{font-size:12px}.model-stage{height:350px;min-height:350px}}.model-stage{min-height:415px}.model-title{bottom:59px}.model-rotate{font-size:12px}.color-picker{bottom:65px}.inspection-controls{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:3px;background:#15242be6;border:1px solid #455960;border-radius:8px;padding:4px;white-space:nowrap}.inspection-controls button{padding:5px 9px;font-size:12px;color:#d8e4df;border-radius:4px}.inspection-controls button:hover{background:#3d5258}.inspection-controls span{font:12px monospace;min-width:35px;text-align:center;color:#a9babc}.spec-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 0 20px;margin-top:-8px}.spec-strip span{font-size:12px;color:#91a8a5;display:flex;flex-direction:column;gap:5px}.spec-strip b{font:14px monospace;color:#d3dfd9}.inspiration{margin-top:26px}.hangar-search{max-width:270px;background:#0e1b1f!important;border-color:#435c55!important;font-size:14px}.family-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.family-filters button{border:1px solid #3d514a;padding:7px 11px;border-radius:5px;font-size:13px;color:#acbfb6;background:#1b2a29;white-space:nowrap}.family-filters button span{margin-left:7px;font:11px monospace;opacity:.65}.family-filters button[aria-pressed=true]{background:#cee6a9;color:#243426;border-color:#cee6a9}.template-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.template{padding:12px 14px 15px;background:linear-gradient(155deg,#263b3c,#17282b);border-color:#3b5150}.template.selected{border-color:#c3e89a;box-shadow:inset 0 0 0 1px #c3e89a44}.template>.mini-model{height:138px}.template>.airframe-category{display:flex;flex-direction:row;justify-content:space-between;font-size:12px;color:#98b0ac}.airframe-category small{font:11px monospace;color:#9fbbac}.template small{font-size:12px;line-height:1.65}.template b{font-size:15px}.airframe-numbers{display:flex;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #63857633;color:#b4c5bf;font:12px monospace}.hangar-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:15px;color:#a5b9af;font-size:13px}.hangar-pagination>div{display:flex;gap:9px}.hangar-pagination button{font-size:13px}.hangar-empty{padding:30px}.flight-telemetry{display:flex;gap:23px;color:#b3c8bf;font-size:12px}.flight-telemetry span{display:flex;flex-direction:column;gap:7px}.flight-telemetry b{font:18px monospace;color:#e6f1e9}.race-bottom{gap:18px}.battery{width:200px}.stats{margin-bottom:24px}@media(max-width:1100px){.template>.mini-model{height:120px}.flight-telemetry{gap:12px}.flight-telemetry b{font-size:15px}.keyboard-tip{display:none}.model-title h2{font-size:21px}}@media(max-width:760px){.model-stage{min-height:410px;height:410px}.inspiration>.catalog-heading{display:flex;flex-direction:column;align-items:stretch}.hangar-search{max-width:none;margin-top:15px}.family-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;margin-bottom:12px}.family-filters button{flex-shrink:0}.template-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.template{padding:10px}.template>.mini-model{height:110px}.template b{font-size:13px}.template small{font-size:12px}.airframe-numbers{gap:8px;font-size:10px;flex-wrap:wrap}.model-title h2{font-size:22px}.model-rotate{font-size:11px;width:100%;justify-content:center}.spec-strip{gap:8px}.flight-telemetry{position:absolute;bottom:100px;left:0;gap:20px}.flight-telemetry b{font-size:14px}.race-bottom{bottom:102px}.battery{width:175px}.speedometer b{font-size:39px}.catalog-heading h3{font-size:17px}.inspection-controls button{padding:6px 8px}.hangar-pagination{font-size:12px}.model-no{font-size:10px;letter-spacing:1px}}.course-picker{padding:13px 0 18px;border-top:1px solid #69847333;display:grid;grid-template-columns:85px 1fr;gap:8px;align-items:center}.course-picker label{font-size:14px;color:#bdccc4}.course-picker select{width:100%;border:1px solid #657e71;background:#122128;color:#e1eee3;border-radius:6px;padding:9px 10px;font-size:14px}.course-picker p{grid-column:2;font-size:12px;color:#91a79b;margin:0}.boost-status{position:absolute;left:50%;transform:translate(-50%);bottom:136px;color:#c8f7ff;font:italic 700 21px monospace;letter-spacing:3px;text-shadow:0 0 14px #62dfff;pointer-events:none}.race-screen .race-top,.race-screen .race-bottom{text-shadow:0 2px 8px #06131bcc}.race-screen .track-name{padding:6px 18px;border-radius:8px;background:#10233188}.race-screen .race-time{padding:8px 12px;background:#10233177;border-radius:8px}.race-bottom{padding:13px 18px;background:linear-gradient(90deg,#0b1f2cad,#0b1f2c77);border-radius:9px}.race-progress>div:last-child{color:#eef7ed;text-shadow:0 1px 4px #153035}.race-screen .keyboard-tip{color:#e4eee8}.race-screen .flight-telemetry b{color:#f3fff6}.race-screen .battery small{color:#d3e5d7}@media(max-width:760px){.boost-status{bottom:226px;font-size:17px}.race-bottom{padding:10px 12px;left:4%;right:4%}.race-screen .flight-telemetry{background:#15303ba8;padding:9px 12px;border-radius:7px;bottom:94px}.race-screen .track-name{padding:4px 7px}.race-screen .race-time{font-size:19px;padding:6px}.model-stage{height:410px}}.flight-guidance{position:absolute;top:172px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:none;color:#e5f2e2;font-size:14px;white-space:nowrap}.flight-guidance>span{background:#10212bd9;border:1px solid #73877b66;border-radius:7px;padding:9px 14px;text-align:center}.flight-guidance strong{color:#d0ff4b;margin-right:10px}.flight-guidance small{display:block;font-size:12px;color:#b9ccc3;margin-top:5px}.flight-guidance .obstacle-warning{display:flex;align-items:center;gap:7px;color:#ffcc91;border-color:#b67c45aa}.crash-result>svg,.crash-result>span{color:#ffad86!important}.crash-result h1{color:#ffe0cb}.touch-controls button{flex-direction:column;gap:3px}.touch-controls button span{font-size:12px}.touch-controls button[data-control=boost]{flex-direction:row}@media(max-width:760px){.flight-guidance{top:150px;left:4%;transform:none;align-items:flex-start;font-size:12px}.flight-guidance>span{padding:7px 9px}.flight-guidance small{font-size:11px}.touch-controls{left:4%;right:4%;gap:7px}.touch-controls button{width:48px;min-width:44px;height:62px;padding:5px}.touch-controls button[data-control=boost]{width:81px}.live-rank{top:265px;width:184px}.flight-guidance strong{margin-right:5px}.race-result h1{font-size:56px}}.sketch-modes{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 13px}.sketch-modes button{border:1px solid #69847388;border-radius:6px;padding:7px 13px;color:#dce9e0;font-size:14px;background:#15252a;cursor:pointer}.sketch-modes button[aria-pressed=true]{background:#d0ff4b;color:#172019;border-color:#d0ff4b}.sketch-modes p{flex-basis:100%;font-size:14px;line-height:1.5;color:#b7c8bd;margin:2px 0 0}.sketch-recognition{padding:0 0 16px;margin-bottom:18px;border-bottom:1px solid #69847355}.sketch-recognition strong{font-size:14px;color:#d0ff4b}.sketch-recognition>div{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:14px}.sketch-recognition p{color:#afc3b7;font-size:13px;line-height:1.6;margin:8px 0 0}.sketch-paper+.generate-button{margin-top:18px}.lab-main{padding-bottom:30px}.header-actions{display:flex;align-items:center;gap:14px}.sound-controls{position:relative;display:flex;align-items:center;gap:3px;z-index:40}.sound-controls>button{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border:1px solid #60756e88;border-radius:7px;background:#15252be8;color:#d7e8df;cursor:pointer}.sound-controls>button[aria-pressed=true]{color:#8a9d95}.sound-settings{position:absolute;right:0;top:calc(100% + 9px);width:262px;padding:16px;border:1px solid #60756e;border-radius:10px;background:#132228fa;box-shadow:0 10px 30px #0006;color:#dce9df;text-shadow:none}.sound-settings label{display:grid;grid-template-columns:32px 1fr 28px;gap:10px;align-items:center;margin-bottom:14px;font-size:14px}.sound-settings input{width:100%;accent-color:#d0ff4b;cursor:pointer}.sound-settings output{text-align:right;font:13px monospace}.sound-settings small{display:block;font-size:12px;color:#a3b8ae;line-height:1.5}.sound-settings .voice-preview{padding:6px 10px;border:1px solid #60756e;border-radius:5px;color:#d0ff4b;font-size:13px;background:transparent;cursor:pointer}.voice-preview:disabled{opacity:.4}.race-top>.sound-controls{position:absolute;left:154px;top:0}.race-top>.sound-controls .sound-settings{left:0;right:auto}@media(max-width:760px){.header-actions{gap:8px}.sound-controls>button{width:32px;height:34px}.header-actions .friend-button{padding:7px 9px}.race-top>.sound-controls{left:0;top:50px}.sound-settings{width:240px}.race-top .sound-settings{top:40px}}.boost-status.braking{color:#ffd19c;text-shadow:0 0 12px #d48d46;letter-spacing:2px}.touch-controls button[data-control=brake][aria-pressed=true]{background:#d69b57!important;color:#1a2022}.touch-controls button[data-control=boost][aria-pressed=true]{box-shadow:0 0 15px #d0ff4b66}@media(max-width:760px){.touch-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.touch-controls button,.touch-controls button[data-control=boost]{width:100%;min-width:0;margin:0;flex-direction:column;padding:4px 2px}.touch-controls button span{font-size:11px}}.camera-toggle{position:absolute;top:82px;left:4%;height:34px;background:#102331bb!important;border-color:#667e82!important;color:#e3ede5;font-size:12px;z-index:2}.camera-toggle[aria-pressed=true]{border-color:#b6db78!important;color:#d6f6ae}.camera-toggle kbd{font-size:10px;padding:0 4px;margin-left:6px}@media(max-width:760px){.camera-toggle{top:66px;left:16px;height:28px;padding:0 9px;font-size:11px}.camera-toggle kbd{display:none}}.hangar-arc{margin-top:30px;padding:25px 0 18px;border-top:1px solid #ffffff18;min-width:0}.arc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.arc-toolbar h3{font-size:18px;font-weight:600;letter-spacing:1px}.arc-filters{display:flex;align-items:center;gap:10px}.arc-filters select,.arc-filters input{height:42px;min-height:42px;border:1px solid #40514f;border-radius:8px;background:#172326;color:#dae4df;font-size:14px!important}.arc-filters select{width:153px;padding:0 12px;cursor:pointer}.arc-filters input{width:185px}.arc-stage{--card-w:310px;position:relative;height:365px;perspective:1100px;perspective-origin:50% 45%;touch-action:pan-y;isolation:isolate;overflow:hidden;outline-offset:-3px!important;cursor:grab}.arc-stage:active{cursor:grabbing}.arc-card{--x:0px;--y:0px;--z:0px;--rotate:0deg;position:absolute;left:50%;top:95px;width:var(--card-w);height:245px;margin-left:calc(var(--card-w) / -2);padding:18px 20px 19px;display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:left;border:1px solid #4b605c;border-radius:15px;background:linear-gradient(150deg,#293a3e,#19282c);color:#e6efeb;box-shadow:0 14px 24px #0003;transform:translate3d(var(--x),var(--y),var(--z)) rotateY(var(--rotate));transition:transform .46s cubic-bezier(.22,.75,.16,1),opacity .36s ease,border-color .22s,background .22s;backface-visibility:hidden;-webkit-user-select:none;user-select:none;z-index:3}.arc-card[data-offset="-1"]{--x:calc(var(--card-w) * -.87);--y:-32px;--z:-150px;--rotate:23deg;z-index:2}.arc-card[data-offset="1"]{--x:calc(var(--card-w) * .87);--y:-32px;--z:-150px;--rotate:-23deg;z-index:2}.arc-card[data-offset="-2"]{--x:calc(var(--card-w) * -1.65);--y:-88px;--z:-340px;--rotate:35deg;z-index:1}.arc-card[data-offset="2"]{--x:calc(var(--card-w) * 1.65);--y:-88px;--z:-340px;--rotate:-35deg;z-index:1}.arc-card[data-offset="-3"]{--x:calc(var(--card-w) * -2.1);--y:-115px;--z:-530px;--rotate:42deg;z-index:0;opacity:0;pointer-events:none}.arc-card[data-offset="3"]{--x:calc(var(--card-w) * 2.1);--y:-115px;--z:-530px;--rotate:-42deg;z-index:0;opacity:0;pointer-events:none}.arc-card[data-front=true]{background:linear-gradient(145deg,#30454a,#1c3034);border-color:#9badab;box-shadow:0 18px 35px #0005}.arc-card[data-front=true][aria-pressed=true]{border-color:#c7e99c}.arc-card:hover{border-color:#b5d597}.arc-card:disabled{cursor:default}.arc-category{font-size:14px;color:#a9beb9;line-height:20px}.arc-card .mini-model{width:100%;height:155px;min-height:0;flex:1;pointer-events:none}.arc-card strong{font-size:16px;font-weight:600;line-height:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arc-check{position:absolute;right:16px;top:17px;color:#d0ff4b}.arc-navigation{display:flex;align-items:center;justify-content:center;gap:24px;padding-top:8px}.arc-navigation>span{display:flex;gap:13px;align-items:baseline;color:#8ba39e;font:14px monospace;min-width:84px;justify-content:center}.arc-navigation b{font-size:19px;color:#e8f0eb;font-weight:500}.arc-navigation button{width:42px;height:42px;border:1px solid #40534f!important;background:transparent!important;color:#ceded7!important;border-radius:50%!important}.arc-navigation button:hover{background:#30443d!important}.arc-navigation button:disabled{opacity:.35}.arc-empty{display:grid;place-items:center;min-height:220px;font-size:16px;color:#acbcb6}@media(max-width:1100px){.arc-stage{--card-w:270px;height:340px}.arc-card{height:225px;top:90px}.arc-card .mini-model{height:135px}}@media(max-width:760px){.hangar-arc{margin-top:23px;padding-top:23px}.arc-toolbar{align-items:flex-start;gap:16px;flex-direction:column}.arc-filters{width:100%}.arc-filters select{width:45%}.arc-filters input{width:55%;min-width:0}.arc-stage{--card-w:235px;height:320px;margin:0 -4.8%;perspective:850px}.arc-card{top:75px;height:220px;padding:15px 16px;border-radius:13px}.arc-card[data-offset="-1"]{--x:calc(var(--card-w) * -.63);--z:-250px;--y:-25px}.arc-card[data-offset="1"]{--x:calc(var(--card-w) * .63);--z:-250px;--y:-25px}.arc-card[data-offset="-2"]{--x:calc(var(--card-w) * -1.07);--z:-460px;--y:-65px}.arc-card[data-offset="2"]{--x:calc(var(--card-w) * 1.07);--z:-460px;--y:-65px}.arc-card strong{font-size:15px}.arc-navigation{padding-top:0}}@media(prefers-reduced-motion:reduce){.arc-card{transition:none}}.sketch-section .panel-heading{height:auto;min-height:44px}.draw-tools{align-items:center}.draw-tools .eraser-button{width:44px;height:44px;color:#d8e5de}.draw-tools .eraser-button svg{width:28px;height:28px}.arc-category{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:16px}.model-spec-button{display:flex;gap:5px;align-items:center;margin-left:auto;color:#b9cfbf;font-size:14px;padding:5px 0}.aircraft-info dl{display:grid;gap:12px}.aircraft-info dl>div{display:flex;justify-content:space-between;gap:20px;font-size:15px}.aircraft-info dt{color:#9eb1aa}.aircraft-info dd{margin:0;font-family:monospace;font-size:16px}.aircraft-info>a{display:flex;gap:5px;align-items:center;color:#d0ff4b;font-size:14px}.aircraft-brand{font-size:14px;color:#b8cbbb}.spec-condition{font-size:13px;line-height:1.7;color:#a6b8ae}.color-picker .factory-color{margin-right:5px}.arc-filters select{width:150px}.model-title h2{max-width:calc(100% - 10px);letter-spacing:.5px}@media(max-width:760px){.arc-filters{display:grid;grid-template-columns:1fr 1fr}.arc-filters select{width:100%;min-width:0}.arc-filters input{width:100%;grid-column:1/-1}.model-title{right:20px;bottom:94px}.color-picker{bottom:62px}.model-title h2{font-size:20px}.model-title small{font-size:12px}}.model-title{right:190px}.model-title h2{overflow-wrap:anywhere;font-size:clamp(18px,1.7vw,25px)}@media(max-width:760px){.model-title{right:20px}.model-title h2{font-size:20px}}.app-shell.native-game .course-picker{display:block;padding:0;border:0}.hangar-dialog .arc-card{top:34px;height:calc(100% - 42px);min-height:110px;padding:10px 15px}.hangar-dialog .arc-card .mini-model{height:auto;min-height:25px}.hangar-dialog .arc-filters select,.hangar-dialog .arc-filters input{height:30px;min-height:30px;font-size:12px!important}.hangar-dialog .arc-navigation button{height:30px;width:30px}.app-shell.native-game{height:100vh;height:var(--game-height,100vh);overflow:hidden}.app-shell.native-game .topbar{height:58px;min-height:58px;padding:8px 20px}.app-shell.native-game .brand-symbol{width:35px;height:35px}.app-shell.native-game .brand{font-size:19px}.app-shell.native-game .brand small{font-size:9px}.app-shell.native-game .lab-main{height:calc(100vh - 58px);height:calc(var(--game-height,100vh) - 58px);padding:10px 16px 54px;max-width:none;box-sizing:border-box;position:relative}.app-shell.native-game .workbench{display:grid;grid-template-columns:1fr 1fr;gap:14px;height:100%;min-height:0}.app-shell.native-game .sketch-section{min-height:0;padding:12px;display:flex;flex-direction:column;gap:8px}.app-shell.native-game .panel-heading{margin:0;min-height:26px}.app-shell.native-game .panel-heading h2{font-size:14px}.app-shell.native-game .sketch-modes{margin:0}.app-shell.native-game .sketch-modes button{font-size:11px;padding:5px 10px}.app-shell.native-game .sketch-paper{flex:1;min-height:0;aspect-ratio:auto}.app-shell.native-game .sketch-paper canvas{width:100%;height:100%}.app-shell.native-game .generate-button{min-height:34px;height:34px;padding:6px 12px;font-size:13px;flex:none;margin:0}.app-shell.native-game .result-section{display:flex;flex-direction:column;gap:7px;min-height:0}.app-shell.native-game .model-stage{flex:1;min-height:90px;height:auto;aspect-ratio:auto}.app-shell.native-game .model-title{left:12px;bottom:36px}.app-shell.native-game .model-title h2{font-size:16px}.app-shell.native-game .model-heading{top:9px;left:10px}.app-shell.native-game .model-chip{font-size:10px;padding:4px 7px}.app-shell.native-game .inspection-controls{bottom:6px;left:10px;gap:5px}.app-shell.native-game .inspection-controls button,.app-shell.native-game .inspection-controls span{font-size:10px;padding:3px 5px}.app-shell.native-game .color-picker{right:10px;bottom:9px;gap:5px}.app-shell.native-game .color-picker button{width:18px;height:18px}.app-shell.native-game .flight-panel{flex:none;padding:0;background:transparent;border:0}.app-shell.native-game .flight-heading,.app-shell.native-game .stats,.app-shell.native-game .stat-grid,.app-shell.native-game .spec-strip,.app-shell.native-game .launch-note{display:none}.app-shell.native-game .course-picker{margin:0 0 6px}.app-shell.native-game .course-picker label{display:none}.app-shell.native-game .course-picker select{height:29px;min-height:29px;padding:4px 9px;font-size:11px}.app-shell.native-game .launch-actions{gap:7px}.app-shell.native-game .launch-actions button{height:35px;min-height:35px;font-size:12px;padding:6px 10px}.all-aircraft-button{position:absolute;bottom:9px;right:16px;display:flex;align-items:center;gap:9px;border:1px solid #52694c;background:#233a31;color:#d9ff85;border-radius:10px;padding:8px 14px;font-size:13px}.hangar-dialog{width:min(1000px,94vw);max-width:1000px;max-height:94vh;max-height:calc(var(--game-height,100vh) * .94);padding:12px 18px;overflow:auto}.hangar-dialog .hangar-arc{margin:0;padding:0;border:0;background:transparent}.hangar-dialog .arc-toolbar h3{display:none}.hangar-dialog .arc-stage{height:min(300px,calc(100vh - 150px));height:min(300px,calc(var(--game-height,100vh) - 150px));min-height:130px}.hangar-dialog .arc-toolbar{margin:0}.hangar-dialog .arc-card{max-height:100%}.hangar-dialog .arc-card canvas{max-height:calc(100vh - 220px);max-height:calc(var(--game-height,100vh) - 220px)}.hangar-dialog .arc-navigation{margin-top:3px}.flight-touch-pad.controls-swapped{flex-direction:row-reverse}.controls-swap{position:absolute;left:50%;bottom:0;transform:translate(-50%);pointer-events:auto;padding:8px 13px;border:1px solid #a0c4b0;border-radius:9px;background:#173336cc;color:#f3ffe5;font-size:12px}@media(orientation:landscape)and (max-height:600px){.app-shell.native-game .topbar{height:44px;min-height:44px;padding:5px max(12px,env(safe-area-inset-right)) 5px max(12px,env(safe-area-inset-left));gap:8px}.app-shell.native-game .header-actions{gap:6px;flex-wrap:nowrap}.app-shell.native-game .header-actions button,.app-shell.native-game .game-home-link{padding:4px 7px;height:29px;min-height:29px;font-size:11px}.app-shell.native-game .header-actions .match-button,.app-shell.native-game .brand small{display:none}.app-shell.native-game .lab-main{height:calc(100vh - 44px);height:calc(var(--game-height,100vh) - 44px);padding:5px max(12px,env(safe-area-inset-right)) 43px max(12px,env(safe-area-inset-left))}.app-shell.native-game .sketch-section{padding:7px;gap:4px}.app-shell.native-game .workbench{gap:10px}.app-shell.native-game .model-stage{min-height:75px}.app-shell.native-game .all-aircraft-button{bottom:5px;padding:7px 11px;font-size:12px}.app-shell.native-game .model-title{bottom:29px}.app-shell.native-game .model-title h2{font-size:12px}.app-shell.native-game .model-title small{display:none}.race-screen .flight-touch-pad{left:max(15px,env(safe-area-inset-left));right:max(15px,env(safe-area-inset-right));bottom:10px}.race-screen .flight-stick{width:110px;height:110px}.race-screen .flight-pedal{width:62px;height:65px}}@media(orientation:landscape){.app-shell.native-game .topbar{height:48px;min-height:48px;padding:5px max(14px,env(safe-area-inset-right)) 5px max(14px,env(safe-area-inset-left));background:#0c181bdd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-shell.native-game .native-brand-cluster{display:flex;align-items:center;gap:10px;min-width:0}.app-shell.native-game .native-map-back{height:34px;min-height:34px;padding:5px 9px;border:1px solid #60756e88;border-radius:10px;background:#15252be8;color:#d7e8df;font-size:11px}.app-shell.native-game .brand{font-size:17px;gap:9px}.app-shell.native-game .brand-symbol{width:34px;height:34px;border-radius:50%;transform:none}.app-shell.native-game .brand small{display:block;font-size:8px;line-height:1.25;letter-spacing:1.5px}.app-shell.native-game .header-actions{gap:6px;flex-wrap:nowrap}.app-shell.native-game .header-actions>button,.app-shell.native-game .header-actions .sound-controls>button{height:34px;min-height:34px}.app-shell.native-game .header-actions .match-button{display:inline-flex}.app-shell.native-game .header-actions>button{padding:5px 9px;font-size:11px}.app-shell.native-game .header-actions .sound-controls>button{width:34px}.app-shell.native-game .lab-main{height:calc(var(--game-height,100vh) - 48px);padding:7px max(14px,env(safe-area-inset-right)) 46px max(14px,env(safe-area-inset-left));overflow:hidden}.app-shell.native-game .workbench{grid-template-columns:minmax(260px,.88fr) minmax(390px,1.12fr);gap:10px;height:100%}.app-shell.native-game .sketch-section{padding:5px;gap:4px}.app-shell.native-game .panel-heading:empty{display:none}.app-shell.native-game .draw-tools{gap:5px}.app-shell.native-game .draw-tools button{width:32px;height:32px;min-height:32px;border:1px solid #58706888;border-radius:8px;background:#14262a}.app-shell.native-game .sketch-modes{height:27px;flex:none}.app-shell.native-game .sketch-modes button{height:27px;padding:3px 9px;font-size:10px}.app-shell.native-game .sketch-paper{flex:1 1 auto;width:auto;max-width:100%;min-height:110px;aspect-ratio:1;align-self:center;border-radius:11px}.app-shell.native-game .paper-empty{gap:8px}.app-shell.native-game .paper-empty strong{font-size:15px}.app-shell.native-game .sketch-actions{display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 34px;height:34px;margin-top:1px}.app-shell.native-game .sketch-actions .generate-button{width:min(210px,62%);height:32px!important;min-height:32px!important;padding:4px 10px;font-size:12px!important}.app-shell.native-game .sketch-actions .generate-button>svg{width:15px;height:15px}.app-shell.native-game .sketch-actions .draw-tools{height:32px}.app-shell.native-game .result-section{display:flex;gap:0}.app-shell.native-game .model-stage{flex:1 1 auto;min-height:105px}.app-shell.native-game .model-title{bottom:35px}.app-shell.native-game .model-title small{display:inline;font-size:9px}.app-shell.native-game .inspection-controls{bottom:5px}.app-shell.native-game .color-picker{bottom:8px}.app-shell.native-game .flight-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(175px,.92fr);grid-template-rows:auto auto auto;column-gap:10px;row-gap:5px;flex:0 0 auto;padding:7px 9px;background:#142124;border-top:1px solid #354441}.app-shell.native-game .flight-heading{display:flex;grid-column:1;grid-row:1;min-height:18px}.app-shell.native-game .flight-heading h3{font-size:11px}.app-shell.native-game .flight-heading>span,.app-shell.native-game .model-spec-button{font-size:9px}.app-shell.native-game .stats{display:grid;grid-column:1;grid-row:2;margin:0;gap:5px}.app-shell.native-game .stat>div:first-child{margin-bottom:3px;gap:2px}.app-shell.native-game .stat span{font-size:9px;gap:2px}.app-shell.native-game .stat b{font-size:11px}.app-shell.native-game .stat small{font-size:7px}.app-shell.native-game .stat [data-slot=progress]{height:3px}.app-shell.native-game .spec-strip{display:grid;grid-column:1;grid-row:3;padding:0;margin:0;gap:4px}.app-shell.native-game .spec-strip span{font-size:8px;gap:2px}.app-shell.native-game .spec-strip b{font-size:9px}.app-shell.native-game .course-picker{grid-column:2;grid-row:1;margin:0;padding:0;display:grid;grid-template-columns:54px 1fr;gap:4px;border:0}.app-shell.native-game .course-picker label{display:block;font-size:10px}.app-shell.native-game .course-picker select{height:27px;min-height:27px;padding:3px 6px;font-size:10px}.app-shell.native-game .launch-actions{grid-column:2;grid-row:2;gap:5px}.app-shell.native-game .launch-actions button{height:32px;min-height:32px;padding:4px 7px;font-size:10px}.app-shell.native-game .launch-note{display:block;grid-column:2;grid-row:3;margin:0;font-size:9px;line-height:1.2}.app-shell.native-game .all-aircraft-button{bottom:6px;right:max(14px,env(safe-area-inset-right));height:34px;padding:6px 12px}}@media(orientation:landscape)and (max-width:760px){.app-shell.native-game .workbench{grid-template-columns:minmax(220px,.82fr) minmax(340px,1.18fr)}.app-shell.native-game .brand{font-size:15px}.app-shell.native-game .brand-symbol{width:31px;height:31px}.app-shell.native-game .native-brand-cluster{gap:7px}.app-shell.native-game .native-map-back{padding-inline:7px}.app-shell.native-game .header-actions{gap:4px}.app-shell.native-game .header-actions>button{padding-inline:7px}.app-shell.native-game .header-actions .sound-controls>button{width:31px}.app-shell.native-game .flight-panel{grid-template-columns:minmax(155px,1fr) minmax(165px,.95fr);column-gap:7px}.app-shell.native-game .stat span svg{width:11px;height:11px}.app-shell.native-game .launch-actions{gap:3px}.app-shell.native-game .launch-actions button{padding-inline:4px;font-size:9px;gap:3px}.app-shell.native-game .launch-actions button svg{width:14px;height:14px}.app-shell.native-game .all-aircraft-button{font-size:11px}}button,input,select{font:inherit}button{color:inherit;background:transparent;border:0}.game-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid transparent;background:var(--primary);color:var(--primary-foreground);white-space:nowrap}.game-button:disabled{opacity:.5;pointer-events:none}.game-button[data-variant=outline]{border-color:var(--border);background:transparent;color:var(--foreground)}.game-button[data-variant=ghost]{background:transparent;color:var(--foreground)}.game-button[data-size=icon]{width:40px;padding:0}.game-input{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--input);border-radius:7px;background:var(--background);color:var(--foreground)}[data-slot=progress]{width:100%;height:8px;overflow:hidden;border-radius:5px;background:var(--secondary)}[data-slot=progress-indicator]{height:100%;background:var(--primary)}.game-dialog{width:min(512px,calc(100% - 32px));max-height:calc(100vh - 32px);max-height:calc(var(--game-height,100vh) - 32px);margin:auto;padding:32px 24px 24px;border:1px solid var(--border);border-radius:12px;background:var(--background);color:var(--foreground);overflow:auto}.game-dialog[open]{display:grid;gap:16px}.game-dialog::backdrop{background:#000a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game-dialog [data-slot=dialog-title]{padding-right:24px;font-size:24px}.game-dialog [data-slot=dialog-description]{color:var(--muted-foreground);line-height:1.7}.game-dialog-close{position:absolute;right:8px;top:6px;width:44px;height:44px;border:0;background:transparent;color:var(--foreground);font-size:26px}.game-home-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#acbcb3;text-decoration:none;font-size:13px}.invite-hint{margin:0 0 20px!important;padding:14px 18px;border:1px solid #536a3e;border-radius:10px;background:#213020;color:#d0ff4b;font-size:14px;line-height:1.7}@media(max-width:760px){.topbar{flex-wrap:wrap;height:auto!important;min-height:104px;padding-block:12px!important;gap:8px!important}.header-actions{flex-wrap:wrap}.game-home-link{font-size:12px}}@media(max-width:760px){.app-shell .model-title{bottom:106px;left:20px;right:20px}.app-shell .model-title h2{font-size:20px;letter-spacing:1px}.app-shell .stats{gap:12px}.app-shell .stat>div:first-child{flex-direction:column;align-items:flex-start;gap:6px}.app-shell .stat>div:first-child>span{white-space:nowrap}.race-screen .camera-toggle{inset:auto 4% 226px auto;min-height:34px}.race-screen .boost-status{bottom:276px}}.web-game .launch-actions{grid-template-columns:1fr}.match-count{display:flex;align-items:center;gap:12px;padding:18px 0;color:#d0ff4b}.match-count strong{font-size:28px}.match-count span{font-size:14px}.ladder-dialog [data-slot=dialog-title]{display:flex;align-items:center;gap:10px}.ladder-mine{padding:12px;border-radius:8px;background:#233329;font-size:14px;line-height:1.7}.ladder-list{padding:0;margin:0;list-style:none}.ladder-list li{display:grid;grid-template-columns:28px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #33433b;align-items:center}.ladder-list small{display:block;margin-top:5px;color:#9cabad}.flight-touch-pad{display:none;position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:4%;right:4%;justify-content:space-between;align-items:flex-end;pointer-events:none;z-index:10}.flight-stick{position:relative;width:124px;height:124px;border-radius:50%;border:1px solid #b4d4c599;background:#10272dbb;touch-action:none;pointer-events:auto;-webkit-user-select:none;user-select:none;display:grid;place-items:center}.stick-cross{position:absolute;font-size:84px;font-weight:200;opacity:.2}.stick-knob{width:46px;height:46px;border:1px solid #d0ff4b;border-radius:50%;background:#d0ff4b88;pointer-events:none}.flight-stick small{position:absolute;bottom:8px;font-size:10px;color:#d9e9df}.flight-pedals{display:flex;gap:10px;pointer-events:auto}.flight-pedal{width:64px;height:76px;flex-direction:column;touch-action:none;-webkit-user-select:none;user-select:none}.flight-pedal.brake{background:#16343bcc;border-color:#9fbfb4;color:#effbef}.flight-pedal.boost{background:#d0ff4b;color:#172814}.countdown-touch{display:none}.settlement-note{font-size:13px;line-height:1.7;color:#acbcb3}.race-screen .result-overlay{z-index:20}.race-screen:not(.native-race) .result-overlay{position:fixed}.race-screen:not(.native-race) .race-result>svg{display:block}.native-race .flight-touch-pad{display:flex}@media(pointer:coarse),(max-width:760px){.countdown-keyboard,.keyboard-tip{display:none!important}.countdown-touch{display:block}.flight-touch-pad{display:flex}.native-race .race-bottom{bottom:152px}.native-race .flight-telemetry{bottom:158px}.native-race .camera-toggle{bottom:275px}.native-race .boost-status{bottom:318px}}@media(max-width:350px){.flight-stick{width:110px;height:110px}.flight-pedal{width:56px;height:70px}.flight-pedals{gap:8px}}@media(max-height:500px)and (max-width:1200px){.native-race{min-height:0;height:100vh;height:var(--game-height,100vh)}.native-race .race-top{top:10px;gap:10px}.native-race .race-top>button{height:36px;min-height:36px}.native-race .track-name{padding:7px 10px;gap:2px}.native-race .track-name strong{font-size:15px;letter-spacing:2px}.native-race .track-name>span{font-size:8px;letter-spacing:2px}.native-race .track-name small{display:none}.native-race .race-time{font-size:22px;min-width:90px}.native-race .race-progress{top:64px}.native-race .flight-guidance{top:95px;bottom:auto}.native-race .flight-guidance>span{padding:6px 10px;font-size:11px}.native-race .live-rank{top:95px;width:170px;padding:4px;max-height:125px;overflow:auto}.native-race .live-rank>div{font-size:11px;padding:5px}.native-race .race-bottom{left:160px;right:185px;bottom:16px;gap:15px;padding:10px}.native-race .speedometer b{font-size:32px}.native-race .speedometer span{font-size:9px;margin-top:3px}.native-race .battery{width:180px}.native-race .battery small,.native-race .flight-telemetry,.native-race .keyboard-tip{display:none}.native-race .battery>div:first-child{font-size:11px;margin-bottom:8px}.native-race .flight-touch-pad{display:flex;bottom:max(12px,env(safe-area-inset-bottom))}.native-race .flight-stick{width:110px;height:110px}.native-race .flight-pedal{height:60px;width:60px}.native-race .camera-toggle{inset:auto 4% 88px auto}.native-race .boost-status{bottom:85px}.native-race .countdown strong{font-size:70px;line-height:1.1}.countdown-keyboard{display:none}.countdown-touch{display:block}}@media(orientation:landscape){.native-race{min-height:0;height:var(--game-height,100vh)}.native-race .race-top{inset:0;display:block;pointer-events:none}.native-race .race-top>button{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));height:38px;min-height:38px;padding:6px 12px;border-color:#779486aa!important;border-radius:11px;background:#0b2026d9!important;box-shadow:0 5px 18px #00101455;pointer-events:auto}.native-race .race-top>.sound-controls{position:absolute;top:max(10px,env(safe-area-inset-top));left:calc(18% - 3px);right:auto;pointer-events:auto}.native-race .sound-controls>button{border-radius:11px;background:#0b2026d9;box-shadow:0 5px 18px #00101455}.native-race .race-top .track-name{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));min-width:0;width:max-content;height:38px;padding:6px 11px;gap:0;border:1px solid #78948866;border-radius:11px;background:#0b2026d9;align-items:center;justify-content:center}.native-race .track-name>span,.native-race .track-name small{display:none}.native-race .track-name strong{font-size:14px;line-height:1;letter-spacing:2px;white-space:nowrap}.native-race .race-time{position:absolute;top:max(10px,env(safe-area-inset-top));left:auto;right:calc(max(14px,env(safe-area-inset-right)) + 104px);transform:none;min-width:76px;padding:5px 8px;border:1px solid #78948855;font-size:17px;text-align:center;pointer-events:none}.native-race .race-time small{font-size:9px}.native-race .race-progress{top:66px;left:28%;right:25%}.native-race .race-progress>div:last-child{margin-top:4px;font-size:8px}.native-race .race-bottom{top:max(10px,env(safe-area-inset-top));bottom:auto;left:28%;right:auto;width:min(390px,44vw);min-height:44px;display:grid;grid-template-columns:44px minmax(105px,1fr) minmax(120px,1.08fr);align-items:center;gap:6px;padding:5px 8px;border:1px solid #6c897a55;border-radius:9px;background:linear-gradient(90deg,#0b2026dc,#102b30b8)}.native-race .speedometer b{font-size:22px}.native-race .speedometer span{margin-top:1px;font-size:7px}.native-race .battery{width:auto;min-width:0}.native-race .battery>div:first-child{margin-bottom:3px;font-size:8px}.native-race .battery>div:first-child svg{width:12px;height:12px}.native-race .battery [data-slot=progress]{height:3px}.native-race .battery small{display:block;margin-top:3px;font-size:7px;white-space:nowrap}.native-race .flight-telemetry{position:static;display:flex;gap:7px;padding:0;background:transparent}.native-race .flight-telemetry span{gap:2px;font-size:7px}.native-race .flight-telemetry b{font-size:9px;white-space:nowrap}.native-race .camera-toggle{top:max(56px,calc(env(safe-area-inset-top) + 52px));bottom:auto;left:max(14px,env(safe-area-inset-left));right:auto;min-height:32px;height:32px;border-radius:10px;background:#0b2026d9!important}.native-race .countdown{inset:98px auto auto;left:max(14px,env(safe-area-inset-left));width:210px;padding:10px 13px;display:grid;grid-template-columns:auto 52px;grid-template-rows:auto auto;justify-content:stretch;align-items:center;column-gap:9px;border:1px solid #91ad786e;border-left:3px solid #d0ff4b;border-radius:0 11px 11px 0;background:#0a1d21e8;box-shadow:0 8px 24px #00131766;animation:native-notice-in .2s ease-out}.native-race .countdown>span{font-size:12px;letter-spacing:2px}.native-race .countdown strong{grid-column:2;grid-row:1 / 3;font-size:46px;line-height:1;text-align:center}.native-race .countdown p{grid-column:1;margin-top:5px;padding:0;font-size:9px;text-align:left}.native-race .flight-guidance{top:98px;bottom:auto;left:max(14px,env(safe-area-inset-left));transform:none;align-items:flex-start;gap:6px;white-space:normal;max-width:235px}.native-race .flight-guidance.during-countdown{top:174px}.native-race .flight-guidance>span{max-width:235px;padding:7px 10px;border-left:3px solid #d0ff4b;border-radius:0 9px 9px 0;background:#0a1d21e8;font-size:10px;text-align:left;box-shadow:0 7px 20px #00131755;animation:native-notice-in .2s ease-out}.native-race .flight-guidance small{font-size:8px}.native-race .network-warning{top:105px;left:max(14px,env(safe-area-inset-left));width:min(260px,38vw);transform:none;padding:9px 11px;border-left:3px solid #ff9d68;border-radius:0 9px 9px 0;font-size:10px;animation:native-notice-in .2s ease-out}.native-race .boost-status{top:210px;bottom:auto;left:max(14px,env(safe-area-inset-left));transform:none;min-height:28px;padding:6px 10px;border-left:3px solid currentColor;border-radius:0 8px 8px 0;background:#0a1d21dd;font-size:12px;letter-spacing:1px}.native-race .boost-status:empty{display:none}.native-race .live-rank{top:214px;left:auto;right:max(14px,env(safe-area-inset-right));width:150px;max-height:88px;overflow:auto;padding:4px;background:#0a1d21d9}.native-race .live-rank>div{padding:4px;gap:5px;font-size:9px}.native-race .live-rank small{font-size:8px}.native-race .flight-touch-pad{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}.native-race .flight-stick{width:108px;height:108px}.native-race .flight-pedal{width:62px;height:64px;border-radius:12px}.native-race .controls-swap{bottom:0;border-radius:10px;background:#0b2026e8}.native-race .stick-cross{display:none}.native-race .stick-knob{position:relative}.native-race .stick-knob:before,.native-race .stick-knob:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:2px;background:#eaff9a99}.native-race .stick-knob:before{width:62%;height:2px}.native-race .stick-knob:after{width:2px;height:62%}.native-race .flight-touch-pad.controls-swapped .flight-pedals{flex-direction:row-reverse}.native-race .race-result>svg{display:block;margin:0 auto 17px}.native-race .keyboard-tip{display:none}}@media(orientation:landscape)and (max-width:760px){.native-race .race-top>.sound-controls{left:calc(19% - 5px)}.native-race .race-top .track-name{min-width:0}.native-race .track-name strong{font-size:12px}.native-race .race-time{left:auto;right:calc(max(14px,env(safe-area-inset-right)) + 94px);min-width:68px;padding-inline:6px;font-size:15px}.native-race .race-progress{left:26%;right:20%}.native-race .race-bottom{left:26%;width:250px;grid-template-columns:36px minmax(80px,1fr) minmax(96px,1.08fr);gap:4px;padding-inline:6px}.native-race .countdown{width:170px;grid-template-columns:auto 42px}.native-race .countdown strong{font-size:40px}.native-race .flight-guidance,.native-race .flight-guidance>span{max-width:180px}.native-race .battery small{white-space:normal;line-height:1.15}.native-race .flight-telemetry{gap:5px}.native-race .flight-telemetry b{font-size:10px}}@keyframes native-notice-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}
