@import url(https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap);:root{--ink:#07101c;--ice:#def8ff;--cyan:#4ce6ff;--rose:#ff497a;--lime:#cbff64}*{box-sizing:border-box}body,html{margin:0;height:100%;overflow:hidden;background:#060a14;color:var(--ice);font-family:"Barlow Condensed",sans-serif}#world{position:fixed;inset:0}#world canvas{display:block}body.game-active #world canvas{cursor:none}.grain{position:fixed;inset:0;pointer-events:none;opacity:.05;z-index:4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");mix-blend-mode:screen}.vignette{position:fixed;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.1) 72%,rgba(0,0,0,.42) 115%)}.ui{position:fixed;inset:0;padding:clamp(16px,3.2vw,44px);z-index:5;pointer-events:none}.brand{position:absolute;left:clamp(16px,3.2vw,44px);top:clamp(14px,3vw,38px);letter-spacing:.15em;line-height:.82;text-transform:uppercase}body.game-active .brand{display:none}.brand .tiny{display:block;color:var(--cyan);font:500 10px "DM Mono",monospace;letter-spacing:.22em;margin-bottom:8px}.brand h1{margin:0;font-size:clamp(31px, 5vw, 66px);font-weight:800;text-shadow:3px 3px 0 rgba(255,73,122,.78)}.brand h1 i{font-style:normal;color:var(--cyan)}.readout{position:absolute;right:clamp(16px,3.2vw,44px);top:clamp(16px,3.2vw,40px);width:138px;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.09em;text-align:right}.readout div{border-bottom:1px solid rgba(222,248,255,.25);padding:6px 0;display:flex;justify-content:space-between}.readout span:last-child{color:var(--lime)}.mission{position:absolute;left:clamp(16px,3.2vw,44px);top:clamp(104px,12vw,142px);max-width:285px;border-left:2px solid var(--rose);padding:0 0 0 13px}.mission b{display:block;color:var(--rose);font:500 10px "DM Mono",monospace;letter-spacing:.2em;margin-bottom:7px}.mission strong{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:20px;line-height:.9}.mission p{color:rgba(222,248,255,.72);margin:9px 0 0;font:10px/1.5 "DM Mono",monospace}.mission{pointer-events:auto;width:min(330px,calc(100vw - 32px));max-width:none;padding:10px 12px 11px 14px;background:linear-gradient(100deg,rgba(4,15,28,.88),rgba(4,15,28,.38));backdrop-filter:blur(7px)}.mission .mission-meta{display:flex;justify-content:space-between;gap:10px;margin-top:9px;color:rgba(222,248,255,.55);font:8px "DM Mono",monospace}.mission .mission-actions{display:flex;gap:7px;margin-top:10px}.hud-mini-button{padding:5px 8px;border:1px solid rgba(76,230,255,.4);background:rgba(3,13,25,.78);box-shadow:none;color:var(--cyan);font:600 9px "DM Mono",monospace;letter-spacing:.08em}.hud-mini-button:hover{transform:none;box-shadow:none;border-color:var(--lime);color:var(--lime)}.pilot-stats{position:absolute;left:clamp(16px,3.2vw,44px);top:clamp(56px,8vw,88px);display:grid;grid-template-columns:repeat(3,auto);gap:1px;background:rgba(76,230,255,.2);font:8px "DM Mono",monospace;letter-spacing:.08em}.pilot-stats span{display:grid;gap:3px;min-width:70px;padding:7px 9px;background:rgba(3,13,25,.78);color:rgba(222,248,255,.48)}.pilot-stats strong{color:var(--lime);font-size:11px;font-weight:500}.nav-hud{position:absolute;left:50%;top:76px;display:none;min-width:260px;padding:8px 12px;border-top:1px solid var(--cyan);border-bottom:1px solid rgba(76,230,255,.22);background:rgba(3,13,25,.65);transform:translateX(-50%);backdrop-filter:blur(6px);font:9px "DM Mono",monospace;letter-spacing:.08em;text-align:center}.nav-hud.active{display:block}.nav-hud strong{display:block;color:var(--lime);font-size:11px}.nav-hud span{color:rgba(222,248,255,.6)}.nav-arrow{display:inline-block;margin-right:6px;color:var(--rose);font-size:16px;transition:transform .15s}.event-banner{position:absolute;left:50%;top:112px;display:none;width:min(430px,calc(100vw - 28px));padding:6px 11px;border-left:2px solid #ffd166;background:rgba(35,23,8,.7);color:#ffe4a3;transform:translateX(-50%);font:9px "DM Mono",monospace;letter-spacing:.08em;text-align:center}.event-banner.active{display:block}.crosshair{position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);opacity:.9}.crosshair:after,.crosshair:before{content:"";position:absolute;background:var(--ice);box-shadow:0 0 8px var(--cyan)}.crosshair:before{width:1px;height:30px;left:14px;top:0}.crosshair:after{height:1px;width:30px;left:0;top:14px}.crosshair i{position:absolute;border:1px solid var(--cyan);width:7px;height:7px;left:11px;top:11px}.flight-hud{position:absolute;left:50%;top:50%;width:176px;height:176px;transform:translate(-50%,-50%);font-family:"DM Mono",monospace}.heading-tape{position:absolute;left:50%;top:-37px;display:flex;min-width:106px;align-items:center;justify-content:center;gap:8px;padding:5px 10px;border:1px solid rgba(76,230,255,.4);background:rgba(3,13,25,.56);color:var(--cyan);font-size:9px;letter-spacing:.12em;transform:translateX(-50%);backdrop-filter:blur(5px)}.heading-tape strong{min-width:38px;color:var(--ice);font-size:10px;font-weight:500;text-align:right}.artificial-horizon{position:absolute;inset:12px;overflow:hidden;border:1px solid rgba(222,248,255,.24);border-radius:50%;box-shadow:inset 0 0 28px rgba(1,8,18,.8),0 0 18px rgba(76,230,255,.08);opacity:.88;transition:opacity .28s,transform .28s}.ground-mode .artificial-horizon,.landed-mode .artificial-horizon{opacity:0;transform:scale(.84);pointer-events:none}.horizon-world{position:absolute;inset:-70%;transform-origin:center;will-change:transform}.horizon-ground,.horizon-sky{position:absolute;left:0;width:100%;height:50%}.horizon-sky{top:0;background:linear-gradient(#137ca3,rgba(36,154,185,.5))}.horizon-ground{bottom:0;background:linear-gradient(rgba(138,73,48,.72),#221b22)}.horizon-line{position:absolute;top:50%;left:0;width:100%;height:2px;background:var(--ice);box-shadow:0 0 7px var(--cyan)}.pitch-ladder{position:absolute;left:50%;top:50%;width:78px;height:70px;transform:translate(-50%,-50%);background:repeating-linear-gradient(to bottom,transparent 0 11px,rgba(222,248,255,.55) 12px 13px,transparent 14px 22px);clip-path:polygon(18% 0,82% 0,68% 100%,32% 100%)}.aircraft-mark{position:absolute;left:50%;top:50%;width:92px;height:24px;transform:translate(-50%,-50%)}.aircraft-mark:after,.aircraft-mark:before{position:absolute;top:11px;width:34px;height:2px;background:var(--lime);box-shadow:0 0 7px rgba(203,255,100,.55);content:""}.aircraft-mark:before{left:0;transform:rotate(7deg);transform-origin:right}.aircraft-mark:after{right:0;transform:rotate(-7deg);transform-origin:left}.aircraft-mark i{position:absolute;left:50%;top:9px;width:7px;height:7px;border-right:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:translateX(-50%) rotate(45deg)}.flight-mode{position:absolute;left:50%;bottom:-24px;padding:3px 7px;background:rgba(3,13,25,.62);color:var(--lime);font-size:9px;letter-spacing:.14em;transform:translateX(-50%);white-space:nowrap}.weather-strip{position:absolute;left:clamp(16px,3.2vw,44px);top:clamp(14px,3vw,38px);display:flex;align-items:center;gap:8px;padding:6px 9px;border-left:2px solid var(--cyan);background:rgba(3,13,25,.5);font:9px "DM Mono",monospace;letter-spacing:.1em;backdrop-filter:blur(5px)}.weather-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan)}#world-clock{color:var(--lime)}.help{position:absolute;bottom:clamp(18px,3vw,38px);right:clamp(16px,3.2vw,44px);text-align:right;color:rgba(222,248,255,.7);font:10px "DM Mono",monospace;letter-spacing:.07em;line-height:1.8}.help kbd{border:1px solid rgba(222,248,255,.5);padding:2px 4px;color:var(--ice);font-family:inherit}.lobby{pointer-events:auto;position:absolute;left:clamp(16px,3.2vw,44px);bottom:clamp(18px,3vw,38px);top:auto;right:auto;width:min(280px,calc(100vw - 32px));background:rgba(5,13,26,.66);border:1px solid rgba(222,248,255,.16);font:11px/1.45 "DM Mono",monospace;backdrop-filter:blur(8px)}.lobby-head{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(222,248,255,.13);color:rgba(222,248,255,.75)}.online{color:var(--cyan)}#chat-log{height:106px;overflow-y:auto;padding:8px 12px;color:rgba(222,248,255,.75);scrollbar-width:thin;scrollbar-color:rgba(76,230,255,0.35) transparent}.chat-item{margin-bottom:5px}.chat-item b{color:var(--lime);font-weight:500}.chat-form{display:flex;border-top:1px solid rgba(222,248,255,.13)}.chat-form input{width:100%;min-width:0;padding:10px 11px;border:0;outline:0;color:var(--ice);background:0 0;font:11px "DM Mono",monospace}.chat-form button{padding:0 11px;box-shadow:none;font-size:12px;color:var(--cyan);background:0 0}.chat-form button:hover{transform:none}.chat-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(222,248,255,.11)}.chat-tabs button{padding:6px 2px;border:0;border-right:1px solid rgba(222,248,255,.08);background:0 0;box-shadow:none;color:rgba(222,248,255,.42);font:8px "DM Mono",monospace;letter-spacing:.08em}.chat-tabs button.active{color:var(--cyan);background:rgba(76,230,255,.07)}.chat-tabs button:hover{transform:none;box-shadow:none}.chat-item .channel{margin-right:5px;color:var(--rose);font-size:8px}.chat-quick{display:flex;gap:1px;border-top:1px solid rgba(222,248,255,.08)}.chat-quick button{flex:1;padding:5px 2px;border:0;background:rgba(3,13,25,.55);box-shadow:none;color:rgba(222,248,255,.58);font-size:12px}.chat-quick button:hover{transform:none;box-shadow:none;color:var(--lime)}.team-bar{display:flex;align-items:center;gap:5px;padding:5px 7px;border-bottom:1px solid rgba(222,248,255,.1);color:rgba(222,248,255,.52);font:8px "DM Mono",monospace}.team-bar span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-bar button{padding:3px 5px;border:1px solid rgba(76,230,255,.25);background:0 0;box-shadow:none;color:var(--cyan);font:8px "DM Mono",monospace}.team-bar button:hover{transform:none;box-shadow:none;border-color:var(--lime)}#start{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:auto;background:linear-gradient(135deg,rgba(1,6,15,.38),rgba(7,13,31,.12));transition:opacity .55s ease,visibility .55s}#start.gone{opacity:0;visibility:hidden}.card{width:min(440px,calc(100vw - 42px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(76,230,255,0.4) transparent;padding:34px 36px 30px;border:1px solid rgba(76,230,255,.5);border-radius:16px;background:linear-gradient(158deg,rgba(11,22,40,.9),rgba(6,12,27,.82));box-shadow:0 0 0 1px rgba(255,73,122,.18),0 28px 90px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(16px) saturate(1.2);position:relative}.card:before{content:"";position:absolute;left:20px;right:20px;top:-1px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--cyan),var(--rose) 55%,var(--lime));box-shadow:0 0 16px rgba(76,230,255,.4);pointer-events:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 15px;color:var(--cyan);font:10px "DM Mono",monospace;letter-spacing:.22em}.eyebrow:before{content:"";width:18px;height:1px;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}.card h2{margin:0;font-size:clamp(42px, 8vw, 68px);line-height:.78;letter-spacing:-.055em;text-transform:uppercase;text-shadow:0 6px 30px rgba(76,230,255,.12)}.card h2 em{display:block;color:var(--rose);font-style:normal;text-shadow:0 0 26px rgba(255,73,122,.4)}.card p{margin:25px 0;max-width:310px;color:rgba(222,248,255,.74);font:12px/1.65 "DM Mono",monospace}button{pointer-events:auto;border:0;cursor:pointer;background:var(--lime);color:var(--ink);font:800 18px "Barlow Condensed",sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:13px 19px 12px;box-shadow:5px 5px 0 var(--rose);transition:transform .13s,box-shadow .13s}button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--rose)}button:active{transform:translate(5px,5px);box-shadow:0 0 0 var(--rose)}.credits{margin-top:24px;color:rgba(222,248,255,.42);font:9px "DM Mono",monospace;letter-spacing:.1em}.radar-panel{pointer-events:auto;position:absolute;right:clamp(16px,3.2vw,44px);bottom:130px;width:146px;padding:9px;border:1px solid rgba(76,230,255,.28);background:rgba(3,13,25,.55);font:9px "DM Mono",monospace;letter-spacing:.08em;backdrop-filter:blur(6px);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.radar-panel:hover{border-color:var(--cyan);box-shadow:0 0 24px rgba(76,230,255,.15);transform:translateY(-2px)}.radar-foot,.radar-head{display:flex;justify-content:space-between;align-items:center;color:rgba(222,248,255,.66)}.radar-head strong{color:var(--lime);font-weight:500}.radar-foot{margin-top:6px;font-size:8px}.radar-screen{position:relative;width:112px;height:112px;margin:8px auto 4px;overflow:hidden;border:1px solid rgba(76,230,255,.42);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 17px,rgba(76,230,255,.13) 18px 19px),linear-gradient(90deg,transparent 49.5%,rgba(76,230,255,.2) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(76,230,255,.2) 50%,transparent 50.5%),rgba(2,17,29,.6);box-shadow:inset 0 0 25px rgba(76,230,255,.08)}.radar-screen:after{content:"";position:absolute;left:50%;top:50%;width:48%;height:1px;background:linear-gradient(90deg,rgba(203,255,100,.7),transparent);transform-origin:left;animation:sweep 3s linear infinite}.radar-self{position:absolute;left:50%;top:50%;width:7px;height:9px;clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);background:var(--lime);transform:translate(-50%,-50%);box-shadow:0 0 8px var(--lime)}.radar-contact{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px var(--cyan);transform:translate(-50%,-50%)}.radar-contact.above{background:var(--rose);box-shadow:0 0 7px var(--rose)}.radar-contact.below{background:#ffd166;box-shadow:0 0 7px #ffd166}#minimap-canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;display:none}.ground-mode #minimap-canvas{display:block}.ground-mode .radar-contact,.ground-mode .radar-screen:after,.ground-mode .radar-self{display:none}@keyframes sweep{to{transform:rotate(360deg)}}.world-actions{pointer-events:auto;position:absolute;left:50%;top:14px;display:none;gap:7px;transform:translateX(-50%)}body.game-active .world-actions{display:flex}body:not(.game-active) .crosshair,body:not(.game-active) .event-banner,body:not(.game-active) .flight-hud,body:not(.game-active) .help,body:not(.game-active) .lobby,body:not(.game-active) .mission,body:not(.game-active) .nav-hud,body:not(.game-active) .pilot-stats,body:not(.game-active) .radar-panel,body:not(.game-active) .readout,body:not(.game-active) .view-hint,body:not(.game-active) .weather-strip{display:none}.world-actions button{padding:7px 10px 6px;border:1px solid rgba(76,230,255,.42);background:rgba(3,13,25,.72);box-shadow:none;color:var(--ice);font:600 9px "DM Mono",monospace;letter-spacing:.09em;backdrop-filter:blur(6px)}#world-logout,.world-actions button:first-child{border-color:rgba(255,73,122,.55);color:#ff86a7}.world-actions button:hover{transform:none;border-color:var(--lime);box-shadow:0 0 14px rgba(203,255,100,.12)}.world-map{position:fixed;inset:0;z-index:32;display:grid;place-items:center;padding:clamp(12px,4vw,48px);background:rgba(1,6,15,.78);backdrop-filter:blur(12px);pointer-events:auto}.world-map[hidden]{display:none}.map-shell{width:min(1040px,100%);height:min(700px,100%);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid rgba(76,230,255,.55);background:rgba(4,13,25,.94);box-shadow:0 0 0 7px rgba(255,73,122,.08),0 24px 90px rgba(0,0,0,.65)}.map-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid rgba(76,230,255,.2);font:10px "DM Mono",monospace;letter-spacing:.13em}.map-head strong{color:var(--lime);font-size:13px}.map-close{padding:6px 10px;border:1px solid rgba(255,73,122,.5);background:0 0;box-shadow:none;color:#ff86a7;font:600 10px "DM Mono",monospace}.map-close:hover{transform:none;box-shadow:none}.map-stage{position:relative;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(28,75,93,.32),transparent 48%),#020a13}.map-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.map-stage canvas.dragging{cursor:grabbing}.map-coords,.map-gesture-hint{position:absolute;bottom:11px;padding:5px 7px;pointer-events:none;background:rgba(1,8,17,.78);color:rgba(222,248,255,.62);font:9px "DM Mono",monospace;letter-spacing:.08em}.map-coords{left:13px}.map-gesture-hint{right:13px;border-right:2px solid var(--cyan)}.map-legend{display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px 16px;border-top:1px solid rgba(76,230,255,.18);color:rgba(222,248,255,.6);font:9px "DM Mono",monospace;letter-spacing:.08em}.map-legend i{display:inline-block;width:8px;height:8px;margin-right:6px;background:var(--cyan);box-shadow:0 0 6px rgba(76,230,255,.5)}.map-legend .self{border-radius:50%;background:var(--lime);box-shadow:0 0 6px var(--lime)}.map-legend .road{background:#b88b42}.map-legend .park{background:#24634c}.map-legend .low{background:#26788c}.map-legend .mid{background:#a77b42}.map-legend .high{background:#d64f72}.map-legend .scenery{clip-path:polygon(50% 0,100% 100%,0 100%);background:#c6e36a}.map-tools{position:absolute;left:13px;top:13px;display:flex;flex-wrap:wrap;gap:5px;max-width:70%}.map-tools button{padding:5px 7px;border:1px solid rgba(76,230,255,.36);background:rgba(1,8,17,.82);box-shadow:none;color:var(--cyan);font:8px "DM Mono",monospace;letter-spacing:.06em}.map-tools button:hover{transform:none;box-shadow:none;border-color:var(--lime)}.map-legend .poi{border-radius:50%;background:#ffd166}.map-legend .waypoint{border-radius:50%;border:2px solid var(--rose);background:0 0}.task-board{position:fixed;inset:0;z-index:34;display:grid;place-items:center;padding:clamp(12px,4vw,48px);background:rgba(1,6,15,.8);backdrop-filter:blur(12px);pointer-events:auto}.task-board[hidden]{display:none}.task-shell{width:min(920px,100%);max-height:min(720px,100%);overflow:auto;border:1px solid rgba(255,209,102,.5);background:#07121e;box-shadow:8px 8px 0 rgba(76,230,255,.08)}.task-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid rgba(255,209,102,.25);background:#07121e}.task-head strong{color:#ffd166;font-size:18px;letter-spacing:.08em}.task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:13px}.task-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px;border:1px solid rgba(76,230,255,.2);background:linear-gradient(135deg,rgba(76,230,255,.06),transparent)}.task-card.event{grid-column:1/-1;border-color:rgba(255,209,102,.45)}.task-card small{color:var(--rose);font:8px "DM Mono",monospace;letter-spacing:.12em}.task-card strong{display:block;margin:4px 0;color:var(--ice);font-size:16px}.task-card p{margin:0;color:rgba(222,248,255,.58);font:9px/1.5 "DM Mono",monospace}.task-reward{color:var(--lime);font:9px "DM Mono",monospace;white-space:nowrap}.task-card button{align-self:end;padding:7px 9px;font-size:11px;box-shadow:3px 3px 0 var(--rose)}.auth-tabs{position:relative;display:flex;gap:4px;margin:22px 0 16px;padding:4px;border-radius:11px;background:rgba(1,8,17,.6);border:1px solid rgba(76,230,255,.16)}.auth-tabs button{flex:1;padding:9px;border:0;border-radius:8px;background:0 0;box-shadow:none;color:rgba(222,248,255,.55);font-size:12px;letter-spacing:.08em;transition:color .18s,background .18s}.auth-tabs button.active{color:var(--ink);background:linear-gradient(135deg,var(--cyan),#7ef0d0);box-shadow:0 4px 14px rgba(76,230,255,.25)}.auth-tabs button:hover{transform:none;box-shadow:none;color:var(--ice)}.auth-tabs button.active:hover{color:var(--ink)}.auth-form{position:relative;display:grid;gap:10px}#pilot-panel[hidden],.auth-form[hidden]{display:none}.auth-form label{display:grid;gap:5px;color:rgba(222,248,255,.62);font:9px "DM Mono",monospace;letter-spacing:.1em}.auth-form input{width:100%;padding:12px 13px;border:1px solid rgba(222,248,255,.22);border-radius:9px;outline:0;background:rgba(1,8,17,.65);color:var(--ice);font:12px "DM Mono",monospace;transition:border-color .18s,box-shadow .18s}.auth-form input::placeholder{color:rgba(222,248,255,.3)}.auth-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(76,230,255,.12)}#launch,.auth-form button[type=submit]{margin-top:6px;width:100%;border-radius:10px;background:linear-gradient(135deg,var(--lime),#8ff06a);box-shadow:0 8px 22px rgba(203,255,100,.22)}#launch:hover,.auth-form button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(203,255,100,.3)}#launch:active,.auth-form button[type=submit]:active{transform:translateY(1px);box-shadow:0 4px 14px rgba(203,255,100,.2)}.auth-error{min-height:16px;margin:0!important;color:#ff7898!important;font-size:10px!important}.privacy-note{margin:3px 0 0!important;padding-left:10px;border-left:1px solid rgba(203,255,100,.45);color:rgba(222,248,255,.5)!important;font-size:9px!important;line-height:1.5!important}.pilot-panel{position:relative;margin-top:24px}.pilot-welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:10px 12px;border-left:2px solid var(--lime);background:rgba(3,18,26,.58);font:11px "DM Mono",monospace}.pilot-welcome strong{color:var(--lime)}.text-button{padding:0;background:0 0;color:rgba(222,248,255,.55);box-shadow:none;font:10px "DM Mono",monospace;letter-spacing:.08em}.text-button:hover{color:var(--rose);transform:none;box-shadow:none}.view-hint{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);padding:6px 9px;color:rgba(222,248,255,.62);background:rgba(3,13,25,.52);font:8px "DM Mono",monospace;letter-spacing:.12em;opacity:0;transition:opacity .25s}.view-hint.show{opacity:1}.speedo{position:absolute;right:clamp(16px,3.2vw,44px);bottom:clamp(18px,3vw,40px);display:none;align-items:baseline;gap:6px;padding:9px 14px 8px;border:1px solid rgba(76,230,255,.35);border-bottom:2px solid var(--cyan);background:rgba(3,13,25,.62);font-family:"DM Mono",monospace;letter-spacing:.06em;backdrop-filter:blur(6px)}body.game-active.ground-mode:not(.on-foot) .speedo{display:flex}.speedo strong{color:var(--lime);font-size:30px;font-weight:500;line-height:1;min-width:54px;text-align:right}.speedo .speedo-unit{color:rgba(222,248,255,.55);font-size:10px}.speedo em{margin-left:8px;padding:2px 7px;border:1px solid rgba(203,255,100,.5);color:var(--lime);font-style:normal;font-size:13px}.speedo small{color:var(--cyan);font-size:10px}#rotate-device{display:none;position:fixed;inset:0;z-index:40;place-items:center;padding:30px;background:#050b16;text-align:center}.rotate-mark{width:70px;height:44px;margin:0 auto 18px;border:2px solid var(--cyan);border-radius:8px;transform:rotate(90deg);box-shadow:0 0 24px rgba(76,230,255,.25)}.rotate-copy strong{display:block;margin-bottom:8px;color:var(--lime);font-size:24px;letter-spacing:.08em}.rotate-copy span{color:rgba(222,248,255,.62);font:10px "DM Mono",monospace}.touch{display:none;position:fixed;inset:0;z-index:10;pointer-events:none;user-select:none}.flight-zone{pointer-events:auto;position:absolute;left:0;top:42%;bottom:0;width:50%;touch-action:none}.flight-zone .joystick{position:absolute;left:74px;top:62%;opacity:0;transform:translate(-50%,-50%) scale(.72);transition:opacity .12s,transform .12s}.flight-zone.active .joystick{opacity:1;transform:translate(-50%,-50%) scale(1)}.flight-zone .joystick-label{position:absolute;left:14px;bottom:8px;opacity:.56}.flight-zone.active .joystick-label{color:var(--lime);opacity:1}.view-zone-hint{position:absolute;right:18px;bottom:12px;padding:5px 7px;border-right:2px solid var(--rose);color:rgba(222,248,255,.55);background:rgba(3,13,25,.46);font:8px "DM Mono",monospace;letter-spacing:.12em}.joystick-wrap{pointer-events:auto;display:grid;gap:7px;justify-items:center;touch-action:none}.joystick-label{color:rgba(222,248,255,.65);font:8px "DM Mono",monospace;letter-spacing:.18em}.joystick{position:relative;width:116px;height:116px;border:1px solid rgba(76,230,255,.48);border-radius:50%;background:radial-gradient(circle,rgba(76,230,255,.08) 0 28%,transparent 30%),linear-gradient(90deg,transparent 49%,rgba(222,248,255,.16) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(222,248,255,.16) 50%,transparent 51%),rgba(3,12,25,.5);box-shadow:inset 0 0 28px rgba(76,230,255,.08),0 8px 26px rgba(0,0,0,.25);backdrop-filter:blur(5px)}.joystick:after,.joystick:before{position:absolute;z-index:2;color:rgba(222,248,255,.46);font:7px "DM Mono",monospace;pointer-events:none}.joystick:before{content:attr(data-horizontal);left:50%;bottom:5px;transform:translateX(-50%)}.joystick:after{content:attr(data-vertical);right:5px;top:50%;transform:translateY(-50%) rotate(90deg)}.joystick-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;border:1px solid rgba(203,255,100,.8);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(222,248,255,.2),rgba(9,29,42,.86));box-shadow:0 0 18px rgba(203,255,100,.18);transform:translate(-50%,-50%);will-change:transform}.touch-actions{pointer-events:auto;position:absolute;left:50%;bottom:0;display:flex;gap:7px;transform:translateX(-50%)}.touch-actions button{width:64px;height:43px;padding:0;border:1px solid rgba(76,230,255,.58);border-radius:4px;background:rgba(4,17,31,.78);box-shadow:inset 0 0 18px rgba(76,230,255,.07);color:var(--ice);font:700 11px "Barlow Condensed",sans-serif;letter-spacing:.1em;touch-action:none}.touch-actions button:first-child{border-color:rgba(203,255,100,.7);color:var(--lime)}.touch-actions button.active{background:rgba(76,230,255,.25);box-shadow:0 0 18px rgba(76,230,255,.22);transform:scale(.94)}.summon-action{display:none;border-color:rgba(255,209,102,.75)!important;color:#ffd166!important}.on-foot .summon-action{display:block}.ground-mode #land-action{display:none}.ground-mode .touch-actions{left:auto;right:14px;bottom:14px;grid-template-columns:repeat(2,58px);display:grid;transform:none}.ground-mode .view-zone-hint{right:146px}.ground-mode .flight-zone .joystick:before{content:"平移"}.ground-mode .flight-zone .joystick:after{content:"前进"}.on-foot .flight-zone.sprint .joystick{border-color:var(--rose);box-shadow:inset 0 0 28px rgba(255,73,122,.15),0 0 22px rgba(255,73,122,.28)}.on-foot .flight-zone.sprint .joystick-label:after{content:" // 奔跑";color:var(--rose)}#crash{position:fixed;inset:0;z-index:15;display:none;place-items:center;text-align:center;pointer-events:none;background:rgba(255,35,81,.15);animation:flash .22s 3}#crash.show{display:grid}#crash h2{margin:0;font-size:56px;text-shadow:3px 3px var(--rose)}#crash p{font:11px "DM Mono",monospace;letter-spacing:.2em}@keyframes flash{50%{background:rgba(255,35,81,.43)}}@media (max-width:650px),(pointer:coarse){body.game-active .touch{display:block}.help,.mission{display:none}.brand{top:12px}.brand h1{font-size:25px}.brand .tiny{font-size:7px;margin-bottom:4px}.readout{top:12px;width:100px;font-size:8px}.readout div{padding:3px 0}.weather-strip{display:none}.flight-hud{width:140px;height:140px}.heading-tape{top:-27px}.flight-mode{bottom:-19px}.crosshair{display:none}.lobby{display:block;left:14px;right:auto;top:auto;bottom:12px;width:220px;font-size:9px;background:rgba(3,11,21,.76)}.lobby-head{padding:6px 8px}.lobby-head span:first-child:after{content:" // 12H";color:rgba(222,248,255,.35)}.lobby #chat-log{height:58px;padding:6px 8px;overflow-y:auto}.lobby .chat-item{margin-bottom:3px}.lobby .chat-form input{padding:7px 8px;font-size:9px}.lobby .chat-form button{padding:0 8px;font-size:10px}.radar-panel{right:128px;top:58px;bottom:auto;width:88px;padding:5px}.radar-screen{width:58px;height:58px;margin:4px auto 2px}.radar-foot{display:none}.view-hint{bottom:62px}.card{width:min(480px,calc(100vw - 24px));padding:28px 27px 22px}}@media (max-width:650px),(pointer:coarse){.world-actions{top:8px}.world-actions button{padding:5px 7px;font-size:8px}.map-shell{height:100%}.map-head{padding:8px 10px}.map-legend{gap:10px;padding:7px 10px;font-size:8px}}@media (max-width:650px),(pointer:coarse){.mission,.pilot-stats{display:none}.nav-hud{top:42px;min-width:210px;padding:5px 8px;font-size:7px}.event-banner{top:75px;width:300px;font-size:7px}.task-grid{grid-template-columns:1fr}.task-card.event{grid-column:auto}.team-bar{padding:3px 5px}.team-bar button{padding:2px 4px;font-size:7px}.chat-quick button{padding:3px 2px;font-size:10px}}@media (orientation:portrait) and (max-width:650px){body.game-active #rotate-device{display:grid}}@media (max-height:560px) and (pointer:coarse){.joystick{width:100px;height:100px}.joystick-knob{width:40px;height:40px}.touch-actions{gap:5px;bottom:12px}.touch-actions button{width:58px;height:38px;font-size:9px}.brand h1{display:none}.flight-hud{width:126px;height:126px}.lobby{top:34px;width:216px}.lobby #chat-log{height:54px}.radar-panel{width:80px;right:116px;top:44px}.radar-screen{width:52px;height:52px}.auth-tabs{margin:10px 0 8px}.auth-form{grid-template-columns:1fr 1fr}.auth-form .auth-error,.auth-form .privacy-note,.auth-form button,.auth-form label:first-child{grid-column:1/-1}.card h2{font-size:34px}}@media (max-height:560px){.card{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 16px);overflow:auto;padding:20px 28px 17px}.card:before{inset:6px}.card h2{font-size:42px;line-height:.8}.card h2 br{display:none}.card p{max-width:520px;margin:12px 0;line-height:1.45}.eyebrow{margin-bottom:8px!important}.credits{margin-top:12px}}@media (max-width:480px){#start{place-items:start center;padding:8px}.card{width:100%;max-height:calc(100dvh - 16px);margin:auto;padding:23px 20px 19px}.card:before{inset:6px}.card h2{font-size:40px}.card p{margin:15px 0;font-size:11px}.auth-tabs{margin:13px 0 10px}.auth-form{gap:8px}.auth-form input{min-height:44px;padding:10px 11px;font-size:16px}#launch,.auth-form button[type=submit]{width:100%}.pilot-welcome{gap:8px;align-items:flex-start}.world-actions{max-width:calc(100vw - 16px)}.world-actions button{white-space:nowrap}}@media (max-height:430px) and (min-width:560px){body.game-active .mission,body.game-active .pilot-stats{display:none}.brand h1,.weather-strip{display:none}.brand{top:10px}.readout{right:14px;top:42px;width:100px;font-size:8px}.lobby{left:14px;right:auto;top:42px;width:218px;font-size:9px}.lobby-head{padding:5px 7px}.lobby #chat-log{height:42px;padding:5px 7px}.lobby .chat-form input{padding:6px 7px;font-size:8px}.radar-panel{right:126px;top:48px;bottom:auto;width:84px;padding:5px}.radar-screen{width:54px;height:54px;margin:3px auto}.radar-foot{display:none}.flight-hud{width:126px;height:126px}.world-actions{top:7px}.event-banner{top:74px}.nav-hud{top:42px}#start{padding:8px}.card{width:min(760px,calc(100vw - 16px));max-height:calc(100dvh - 16px);display:grid;grid-template-columns:minmax(170px,0.7fr) minmax(320px,1.3fr);grid-template-rows:auto 1fr;column-gap:24px;padding:15px 22px 14px}.card>.eyebrow{grid-column:1;grid-row:1;align-self:end}.card>h2{grid-column:1;grid-row:2;align-self:start;font-size:42px}.card>h2 br{display:block}#auth-panel,#pilot-panel{grid-column:2;grid-row:1/3;align-self:center;min-width:0;margin:0}.auth-tabs{margin:0 0 8px}.auth-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}#login-form label,.auth-form label:first-child{grid-column:auto}.auth-form input{padding:8px 10px;font-size:12px}#register-form label:nth-child(3),.auth-form .auth-error,.auth-form .privacy-note,.auth-form button{grid-column:1/-1}.privacy-note{max-height:40px;overflow:auto}.pilot-panel>p{margin:0 0 10px}.pilot-welcome{margin-bottom:10px}.credits{margin-top:8px}.world-map{padding:8px}.map-shell{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.map-head{padding:6px 9px}.map-head strong{font-size:11px}.map-close{padding:4px 8px;font-size:8px}.map-legend{gap:5px 9px;padding:5px 9px;font-size:7px}.map-legend i{width:7px;height:7px;margin-right:4px}.map-coords,.map-gesture-hint{bottom:6px;padding:4px 5px;font-size:7px}}