:root{font-family:'DM Sans',sans-serif;color:#ebefdf;background:#101b19;font-synthesis:none;--amber:#ebbc6b;--muted:#a0b0a5;--line:#ffffff12;--green:#addac0}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:4px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.shell{max-width:1512px;margin:auto;padding:0 44px}header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;color:inherit;text-decoration:none;font:800 25px Manrope,sans-serif;letter-spacing:-1px}.brand-icon{display:grid;place-items:center;width:44px;height:44px;background:#ebbc6b13;border:1px solid #ebbc6b30;border-radius:12px;color:var(--amber)}.brand-icon svg{width:28px;height:28px}.brand-sub{display:block;font:500 10px 'DM Sans',sans-serif;letter-spacing:2.1px;color:var(--muted);margin-top:3px}.header-right{display:flex;align-items:center;gap:12px}.morning{font-size:12px;letter-spacing:1.5px;color:var(--muted);margin-right:18px}.morning b{color:#dddcca;font-size:15px;margin-left:12px;letter-spacing:0}.icon-button{width:38px;height:38px;border:1px solid #ffffff20;border-radius:50%;background:transparent;font-size:18px}.icon-button:hover{background:#ffffff0a}.icon-button:disabled{opacity:.35}.intro{display:flex;align-items:center;justify-content:space-between;margin:30px 0 24px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--amber)}h1{font:600 clamp(24px,2.5vw,36px)/1.25 Manrope,sans-serif;letter-spacing:-1.25px;margin:9px 0 0}.mission-tag{font-size:12px;letter-spacing:1.2px;border:1px solid #ffffff20;border-radius:5px;padding:10px 14px;color:#c1ccb9}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#192622;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:18px 0}.stat{padding:0 26px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto auto;align-items:center;gap:8px}.stat:last-child{border:0}.stat-label{grid-column:1/-1;font-size:12px;font-weight:600;letter-spacing:1.3px;color:var(--muted)}.stat strong{font:600 30px/1.1 Manrope,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-1px}.stat strong small{font-size:17px;color:#93a799;letter-spacing:0}.mini-status{font-size:12px;color:var(--muted);text-align:right;max-width:110px;justify-self:end}.battery-track{width:65px;height:8px;background:#ffffff12;border-radius:8px;overflow:hidden;justify-self:end}.battery-track i{display:block;background:var(--green);height:100%;width:100%;border-radius:8px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:22px}.flight-panel{min-width:0;background:#1a2823;border:1px solid #ffffff12;border-radius:13px;overflow:hidden}.map-frame{position:relative;height:clamp(420px,44vw,550px);background:#25432c;isolation:isolate;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.map-top{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;font-size:12px;letter-spacing:1px}.live,.altitude{display:flex;align-items:center;background:#0c1919b5;padding:9px 11px;border-radius:4px;backdrop-filter:blur(8px)}.live i,.flight-footer i{width:5px;height:5px;border-radius:50%;background:#b7d99e;display:inline-block;margin-right:7px}.altitude span{border-left:1px solid #ffffff40;margin-left:13px;padding-left:13px}.map-coordinates{position:absolute;bottom:16px;left:20px;font:500 12px monospace;letter-spacing:2px;color:#ffffffb0}.map-scale{position:absolute;right:20px;bottom:16px;font-size:12px;color:#ffffffb0}.map-scale span{display:inline-block;width:40px;height:5px;border:1px solid #ffffff90;border-top:0;margin-right:7px}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#06171265;backdrop-filter:blur(3px);z-index:4;padding:18px;overflow:auto}.dialog{width:min(100%,370px);text-align:center;padding:26px 30px 22px;background:#13241ff2;border:1px solid #d8eac329;border-radius:18px;box-shadow:0 20px 70px #00110766}.dialog-icon{display:grid;place-items:center;border:1px solid #ebbc6b40;background:#ebbc6b13;border-radius:50%;width:44px;height:44px;margin:0 auto 17px;color:var(--amber)}.dialog h2{font:600 33px/1.12 Manrope,sans-serif;letter-spacing:-1px;margin:14px 0}.dialog .eyebrow{font-size:10px;letter-spacing:1.5px}.dialog p{font-size:14px;line-height:1.6;color:#bbcabd;margin:12px 0 18px}.quick-guide{display:flex;flex-direction:column;text-align:left;gap:8px;font-size:13px;color:#d5dfce;margin:0 0 20px}.quick-guide b{color:#95ac99;font-size:12px;margin-right:12px}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--amber);color:#17241c;border:none;border-radius:7px;padding:13px 16px;font-weight:700;font-size:16px;min-height:46px}.primary:hover{background:#f6ca7d}.dialog>small{display:block;margin-top:13px;font-size:12px;color:#a0b5a4}.text-button{border:0;background:transparent;font-size:13px;text-decoration:underline;margin-top:14px;color:#c0cdbf;min-height:35px}.controls{display:flex;align-items:center;justify-content:space-between;padding:17px 25px;gap:28px}.movement{display:flex;align-items:center;gap:16px}.control-caption{font-size:12px;letter-spacing:1px;color:#9eb0a3;max-width:80px;line-height:1.7}.joystick{position:relative;width:104px;height:104px;border-radius:50%;background:#0e1d18;border:1px solid #ffffff14;flex-shrink:0;touch-action:none;user-select:none}.joy-arrow{position:absolute;font-size:14px;color:#8ba391}.up{top:4px;left:46px}.down{bottom:4px;left:46px}.left{left:6px;top:42px}.right{right:6px;top:42px}#knob{position:absolute;left:29px;top:29px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(#3d5144,#283d30);border:1px solid #7d94714f;box-shadow:0 3px 8px #0006;color:#bdceac;pointer-events:none}#knob svg{width:20px;height:20px}.action-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1;max-width:540px}.action{display:flex;align-items:center;text-align:left;gap:12px;padding:15px 13px;background:#23342b;border:1px solid #ffffff1a;border-radius:8px;min-height:72px}.action svg{width:23px;flex-shrink:0;color:#bed0b2}.action>span:not(.shortcut){font-size:14px;font-weight:600;white-space:nowrap}.action small{display:block;font-size:12px;font-weight:400;color:#a6b8a6;margin-top:5px;white-space:normal}.action[aria-pressed=true]{border-color:#ebbc6b80;background:#ebbc6b12}.action[aria-pressed=true] svg{color:var(--amber)}.action:disabled{opacity:.45}.toggle{position:relative;width:26px;height:14px;border-radius:12px;background:#0e2017;margin-left:auto;flex-shrink:0}.toggle:before{content:'';position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:#748572;transition:transform .2s}.action[aria-pressed=true] .toggle:before{transform:translateX(12px);background:var(--amber)}.rescue{background:#eabd6b;color:#142119;border-color:#eabd6b}.rescue svg{color:inherit}.rescue small{color:#445135}.rescue:disabled{opacity:1;background:#26372b;border-color:#ffffff10;color:#92a893}.rescue:disabled small{color:#8ba18e}.shortcut{font-size:12px;border:1px solid currentColor;border-radius:3px;opacity:.6;padding:2px 4px;margin-left:auto}.flight-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff0b;padding:12px 20px;font-size:12px;color:#a5b49f}.desktop-hint{font-size:12px;color:#9aaf9b}aside{display:flex;flex-direction:column;gap:16px}.mission-card{border:1px solid #ffffff12;border-radius:12px;padding:25px 23px;background:linear-gradient(145deg,#22352a,#192921)}.mission-card .eyebrow{font-size:12px}.mission-card h2{font:600 28px/1.17 Manrope,sans-serif;letter-spacing:-.75px;margin:16px 0}.mission-card>p{font-size:14px;line-height:1.7;color:#aabbab}.steps{list-style:none;margin:26px 0;padding:0;display:grid;gap:21px}.steps li{display:flex;gap:12px;opacity:.75}.steps li.active{opacity:1}.steps li>span{width:25px;height:25px;border-radius:50%;border:1px solid #8da58350;display:grid;place-items:center;font-size:12px;flex-shrink:0;color:#afbd9b}.steps li.active>span{border-color:#ebbc6b90;color:var(--amber);background:#ebbc6b10}.steps b{font-size:14px;font-weight:600}.steps p{font-size:13px;line-height:1.6;color:#aabd9f;margin:5px 0 0}.legend{display:flex;gap:16px;border-top:1px solid #ffffff12;padding-top:17px;font-size:12px;color:#b3c0ad}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.warm{background:#edb564;box-shadow:0 0 8px #edb56460}.safe{background:#b6e5b1}.team-card{padding:19px;background:#17261f;border:1px solid #ffffff12;border-radius:12px}.team-heading{display:flex;align-items:center;gap:11px}.team-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff12;border-radius:7px;color:#acbda0}.team-icon svg{width:19px}.team-heading b{font-size:14px}.team-heading span:not(.team-icon){display:block;font-size:12px;color:#a0b598;margin-top:4px}.status-light{width:6px;height:6px;background:#c1d4a1;border-radius:50%;margin-left:auto}.log-entry{font-size:13px;line-height:1.6;color:#a5b39d;padding-top:12px;border-top:1px solid #ffffff0c;margin:14px 0 0}.log-entry:first-child{color:#c1d0b6}.toast{position:absolute;bottom:39px;left:50%;transform:translateX(-50%);padding:10px 15px;border:1px solid #ebbc6b40;border-radius:7px;background:#14261af0;color:#f0d6a2;text-align:center;font-size:13px;z-index:2;opacity:0;transition:opacity .2s;pointer-events:none;width:max-content;max-width:90%}.toast.visible{opacity:1}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0 30px;font-size:12px;color:#96a58e}footer span:first-child{display:flex;align-items:center;gap:7px}footer svg{width:13px;height:13px}body.thermal .map-frame{background:#111528}
@media(max-width:1200px){.shell{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 265px;gap:16px}.controls{padding:16px;gap:15px}.control-caption{display:none}.action-controls{grid-template-columns:1fr}.action{padding:10px 12px;min-height:54px}.action small{margin-top:2px}.action svg{width:19px}.map-frame{height:500px}.mini-status{display:none}.battery-track{width:45px}.mission-card{padding:23px 20px}.desktop-hint{display:none}}
@media(max-width:760px){.shell{padding:0 14px}header{height:70px}.brand{font-size:22px}.brand-icon{width:38px;height:38px}.brand-sub{font-size:9px;letter-spacing:1.5px}.morning{display:none}.header-right{gap:8px}.icon-button{width:36px;height:36px}.intro{margin:18px 0 15px;display:block}.intro .eyebrow{font-size:10px}.intro h1{font-size:26px;margin-top:6px}.mission-tag{display:block;padding:0;border:0;font-size:10px;margin-top:9px;color:#a5b6a6}.stats{grid-template-columns:repeat(3,1fr);padding:13px 0;margin-bottom:14px;border-radius:10px}.stat{padding:0 12px;display:block}.stat-label{font-size:10px;letter-spacing:.4px;display:block;margin-bottom:7px}.stat strong{font-size:25px}.stat strong small{font-size:14px}.weather,.battery-track{display:none}.stat:nth-child(3){border:0}.game-layout{display:block}.map-frame{height:clamp(390px,48svh,490px)}.map-top{top:10px;left:10px;right:10px;font-size:10px;letter-spacing:.3px}.live,.altitude{padding:7px 8px}.altitude span{margin-left:8px;padding-left:8px}.controls{padding:14px 12px;gap:16px}.joystick{width:100px;height:100px}.joystick #knob{left:27px;top:27px}.up,.down{left:44px}.left,.right{top:40px}.action-controls{gap:8px}.action{gap:8px;min-height:56px;padding:9px}.action>span:not(.shortcut){font-size:14px}.action small{font-size:11px}.action svg{width:18px}.shortcut{display:none}.flight-footer{padding:11px 14px;font-size:12px}aside{margin-top:14px}.mission-card{display:none}.team-card{padding:14px 16px}.team-heading{gap:10px}#log .log-entry:not(:first-child){display:none}.log-entry{font-size:13px}.dialog{padding:18px 22px;width:310px}.dialog-icon{width:34px;height:34px;margin-bottom:12px}.dialog-icon svg{width:19px}.dialog h2{font-size:29px;margin:11px 0}.dialog p{font-size:14px;margin:10px 0 14px}.quick-guide{font-size:12px;gap:7px;margin-bottom:16px}.dialog>small{font-size:11px}.dialog .eyebrow{font-size:9px}.primary{padding:12px 15px;font-size:15px}footer{padding:18px 0 25px;display:block;font-size:11px}footer span:last-child{display:block;margin-top:9px}}
@media(max-width:370px){.shell{padding:0 9px}.controls{gap:9px;padding:12px 9px}.joystick{width:90px;height:90px}.joystick #knob{left:22px;top:22px}.up,.down{left:39px}.left,.right{top:35px}.toggle{display:none}.stat{padding:0 9px}.stat-label{font-size:9px}.map-top{font-size:9px}}
@media(max-width:760px){.overlay{padding:12px}.dialog{width:min(100%,310px)}.dialog-icon{display:none}.map-frame{min-height:400px}.dialog>small{margin-top:9px}.dialog h2{margin:10px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.ranking-link{color:#eac786;font-size:14px;text-decoration:none;white-space:nowrap;border:1px solid #eac78655;padding:9px 12px;border-radius:7px}#scoreBox{border-top:1px solid #e3d0a140;border-bottom:1px solid #e3d0a140;padding:14px 0;margin:12px 0}.score-total>span{display:block;font-size:11px;letter-spacing:1.5px;color:#b5c5a4}.score-total>b{display:block;font-size:34px;line-height:1.2;color:#edc479}.score-total>small{display:block;font-size:12px;line-height:1.5;margin:5px 0 13px;color:#c3d0b6}#scoreForm{text-align:left}#scoreForm>label{display:block;font-size:12px;line-height:1.5;margin-bottom:7px}#scoreAlias{width:100%;font:16px system-ui;padding:11px;background:#233d2b;border:1px solid #7c9467;border-radius:6px;color:#fff;margin-bottom:9px}#scoreForm .publish-check{display:flex;gap:9px;align-items:flex-start;font-size:12px}#publishCheck{width:18px;height:18px;flex-shrink:0;accent-color:#e4bf79}#publishScore{width:100%;border:1px solid #d8bd83;background:#eac27f;color:#14261b;border-radius:6px;padding:11px;font-weight:600}#publishScore:disabled{opacity:.5}#scoreMessage{font-size:12px!important;line-height:1.5!important;color:#d4dbbf!important;margin:10px 0!important}#resultRanking{font-size:13px}.dialog:has(#scoreBox:not([hidden])){width:min(100%,390px)}@media(max-width:760px){.ranking-link{font-size:11px;padding:8px}.header-right{gap:5px}.morning{display:none}.dialog:has(#scoreBox:not([hidden])){max-height:100%;padding:16px}.score-total>b{font-size:28px}}
.consent-panel{position:fixed;bottom:16px;left:16px;right:16px;max-width:900px;margin:auto;z-index:15;border:1px solid #b3c79e;border-radius:12px;padding:18px;background:#14291ff8;box-shadow:0 8px 40px #0009;display:flex;gap:20px;align-items:center}.consent-panel b{font-size:16px}.consent-panel p{font-size:13px;color:#c3d0b9;line-height:1.5;margin:7px 0 0}.consent-actions{display:flex;flex-wrap:wrap;gap:10px}.consent-actions button{background:#2e4532;border:1px solid #c1caaa;border-radius:7px;padding:11px 14px;min-height:44px;font:500 14px system-ui;color:#eef0e2}.consent-panel .consent-actions{min-width:195px;flex-direction:column}.inline-link{border:0;padding:0;background:none;color:#e6c58c;text-decoration:underline;font-size:inherit;cursor:pointer}footer>.inline-link{font-size:12px;min-height:30px}#privacyDialog{background:#162920;color:#e6ecde;max-width:630px;width:calc(100% - 28px);max-height:85dvh;border:1px solid #c1caaa;border-radius:12px;padding:24px}#privacyDialog::backdrop{background:#00180ccc}#privacyDialog p{font:14px/1.65 system-ui;color:#c4d1bb}#privacyDialog a{color:#e9c891}@media(max-width:760px){.consent-panel{padding:14px;gap:12px;display:block;bottom:8px;left:8px;right:8px}.consent-panel .consent-actions{flex-direction:row;margin-top:12px}.consent-panel .consent-actions button{flex:1;font-size:12px;padding:9px}.consent-panel p{font-size:12px}}
.level-nav{display:flex;align-items:center;gap:12px}.level-button{background:#ebbc6b15;border:1px solid #ebbc6b60;color:#f0ca8a;border-radius:7px;padding:11px 15px;font-size:14px;white-space:nowrap}.hazard-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:11px 16px;background:#15251e;min-height:42px;font-size:12px;color:#b8c8ae;border-bottom:1px solid #ffffff14}.hazard-bar b{font-weight:500}.hazard-live{color:#ffb98d}.hazard-actions{display:flex;gap:10px;padding:0 20px 16px}.hazard-action{flex:1;text-align:left;min-height:60px;border:1px solid #efb07877;border-radius:8px;padding:10px 13px;background:#563c22;color:#ffdcac}.hazard-action b{font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:6px}.hazard-action small{display:block;margin-top:5px;font-size:12px;color:#e4bc93}.hazard-action:disabled{background:#243228;border-color:#ffffff15;color:#9fb09b}.hazard-action:disabled small{color:#a2b29b}kbd{font:inherit;opacity:.65;font-size:12px}.hazard-action:not(:disabled):hover{background:#785026}#dangerNotice{position:absolute;left:12px;right:12px;top:58px;padding:10px 12px;background:#772d22ed;border:1px solid #ffc1a2;border-radius:6px;color:#fff0df;font-size:13px;text-align:center;z-index:3}.dialog{max-height:100%;overflow:auto}.dialog h2{font-size:29px}.dialog p{font-size:14px}.dialog>.text-button{margin-top:8px}#levelBrief{color:#e0ccaa}.mission-card #missionDescription{display:none}#levelDialog{width:min(600px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:24px;border:1px solid #81977c60;border-radius:16px;background:#14241e;color:#eaf0de;box-shadow:0 20px 70px #0008}#levelDialog::backdrop{background:#04120ccc;backdrop-filter:blur(5px)}.level-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.level-dialog-head h2{font:600 26px Manrope,sans-serif;margin:8px 0}.level-dialog-head .icon-button{flex-shrink:0}#levelDialog>p{font-size:14px;color:#b4c4ac;line-height:1.6;margin:12px 0 18px}#levelList{display:grid;gap:9px}.level-choice{display:flex;align-items:center;gap:13px;text-align:left;width:100%;border:1px solid #ffffff15;border-radius:9px;background:#203129;padding:14px;color:inherit}.level-choice:hover,.level-choice.selected{border-color:#d5ac69;background:#38412a}.level-index{color:#dabb7d;font:600 24px Manrope,sans-serif}.level-details{flex:1}.level-details b{display:block;font-size:14px;font-weight:600}.level-details small{display:block;font-size:12px;color:#b1c1a8;margin-top:5px}.level-stars{font-size:15px;letter-spacing:2px;color:#eac178}#levelDialog>small{display:block;font-size:12px;line-height:1.7;margin-top:17px;color:#acbd9f}
@media(max-width:760px){.level-nav{margin-top:12px;justify-content:space-between;gap:9px}.level-nav .mission-tag{margin:0;max-width:55%;font-size:10px;line-height:1.5}.level-button{font-size:13px;padding:9px 12px}.hazard-bar{padding:9px 12px;font-size:11px;gap:5px 10px}.hazard-actions{padding:0 12px 14px;gap:8px}.hazard-action{padding:10px;min-width:0}.hazard-action b{font-size:13px}.hazard-action small{font-size:11px;line-height:1.4}.hazard-action kbd{display:none}.dialog{padding:17px 19px}.dialog h2{font-size:25px}.dialog p{font-size:14px;line-height:1.5}.dialog>small{font-size:11px}.quick-guide{gap:5px;margin-bottom:12px}.dialog-icon{display:none}#levelDialog{padding:20px 16px}.level-dialog-head h2{font-size:22px}.level-dialog-head .eyebrow{font-size:10px}.level-choice{padding:12px 10px;gap:10px}.level-index{font-size:20px}.level-details b{font-size:13px}.level-stars{font-size:12px;letter-spacing:0}#dangerNotice{font-size:12px;top:49px}.map-frame{height:420px;min-height:420px}}

/* Optional support stays below the result and never interrupts flight. */
.support-card{position:relative;margin-top:18px;padding:16px 28px 16px 16px;border:1px solid #c8bd7b45;border-radius:10px;text-align:left;background:#20372a}.support-card strong{display:block;font-size:16px;color:#ede2c1}.support-card p{font-size:14px;line-height:1.5;margin:8px 0;color:#c1cdb6}.support-card a{color:#efd294;font-size:14px;text-underline-offset:3px}.support-card small{display:block;color:#aebea6;margin-top:8px;font-size:12px}.support-dismiss{position:absolute;right:3px;top:3px;border:0;background:transparent;color:#c1cdb6;font-size:22px;padding:2px 7px;cursor:pointer}.header-right{flex-wrap:wrap}.support-nav{font-size:13px}@media(max-width:600px){header{flex-wrap:wrap;gap:12px}.header-right{width:100%;justify-content:flex-end;gap:12px}.support-nav{margin-right:auto}}

#environmentHint{border-left:3px solid #d9c383;padding:8px 12px;color:#ead8ad;font-size:14px;line-height:1.5;background:#d7c4870c}
