*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#0b3a48;color:#fff7dd;font-family:'Segoe UI','Microsoft YaHei',sans-serif}button{font:inherit;cursor:pointer;color:inherit;border:0;touch-action:manipulation}button:focus-visible{outline:3px solid #ffd179;outline-offset:4px}#sky{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px #03232b55}header{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(30px,env(safe-area-inset-left));right:max(30px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;letter-spacing:3px;font-size:23px;font-weight:700}.mark{font-size:40px;color:#ffd18b}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px;color:#a8d0cc}.telemetry{margin-left:auto;display:flex;gap:30px}.telemetry small{display:block;color:#afd1cd;font-size:10px}.telemetry b{font-size:24px;font-variant-numeric:tabular-nums;font-weight:500}header button{pointer-events:auto;background:#0b334bc9;border:1px solid #96d0ca44;width:42px;height:42px;border-radius:50%}.mission{position:absolute;top:118px;left:max(32px,env(safe-area-inset-left));width:170px;font-size:12px;pointer-events:none}.progress{height:3px;margin:10px 0;background:#afdbd033}.progress i{display:block;width:0;height:100%;background:#ffd38b}.mission small{font-size:9px;color:#a0c8c4}#notice{position:absolute;top:110px;left:50%;transform:translateX(-50%);text-align:center;font-size:12px;letter-spacing:1px;color:#ffdf9b;pointer-events:none;white-space:nowrap}.bottom{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:max(32px,env(safe-area-inset-left));right:max(32px,env(safe-area-inset-right));display:flex;align-items:end;justify-content:space-between;pointer-events:none}.flight-info small{font-size:8px;letter-spacing:2px;color:#a4c8c5}.flight-info div{color:#f9c880;font-size:27px;letter-spacing:4px}.flight-info span{font-size:10px;color:#bdded8}.power{display:flex;gap:12px;pointer-events:auto}.power button{background:#123f4edb;border:1px solid #8bbcb977;border-radius:18px;padding:12px 18px;display:flex;align-items:center;gap:10px;font-size:30px;box-shadow:0 8px 20px #05283244}.power span{font-size:12px;text-align:left}.power small{display:block;font-size:9px;color:#b6d7ca;margin-top:4px}.power button:last-child{background:#e4b776;color:#173e49;border-color:#e4b776}.power button:last-child small{color:#45605c}button:disabled{opacity:.42;cursor:default}.overlay{position:absolute;inset:0;background:linear-gradient(100deg,#092c3ef5 15%,#123e4ad9 55%,#174c5577);display:flex;align-items:center;padding:5vh max(7vw,env(safe-area-inset-left));gap:4vw;overflow:auto}.overlay[hidden]{display:none}.intro{width:420px;position:relative;z-index:1}.edition{color:#edc18a;letter-spacing:4px;font-size:10px}h1{font-size:clamp(36px,4.3vw,64px);line-height:1.22;letter-spacing:3px;margin:22px 0}#description{line-height:1.9;color:#b7d0cb;font-size:14px}.brief{margin:25px 0;display:grid;gap:15px}.brief>div{display:flex;align-items:center;gap:16px}.brief b{font-size:11px;font-weight:400;border:1px solid #a1c4bc44;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;color:#e5c08b}.brief span{font-size:12px}.brief small{font-size:10px;color:#88aaa6}#start{background:#f5cb8c;border-radius:3px;color:#183a44;font-weight:700;padding:17px 23px;width:100%;display:flex;justify-content:space-between;letter-spacing:2px;box-shadow:0 8px 40px #f3bf6e18}.record{margin-top:19px;color:#90b4b2;font-size:11px;display:flex;align-items:center;gap:10px}.record b{color:#f0d1a2;font-size:16px}.record button{margin-left:auto;background:none;color:#a3c5be;font-size:11px}.poster{flex:1;max-width:560px;position:relative}.poster svg{width:100%;overflow:visible}.poster circle{fill:none;stroke:#acd8cc26;stroke-width:1}.poster .dash{fill:none;stroke:#f5cb8c66;stroke-width:2;stroke-dasharray:4 12}.jet{fill:#f0e8c8;stroke:#b8d6c3;stroke-width:1}.cockpit{fill:#23596b}.line{stroke:#c49b60;stroke-width:2}.coord,.caption{font-size:9px;letter-spacing:3px;color:#8fb6ae}.caption{display:block;text-align:center;margin-top:10px}@media(max-width:620px) and (orientation:portrait){header{top:max(16px,env(safe-area-inset-top));left:16px;right:16px;gap:6px}.brand{font-size:16px;letter-spacing:1px;gap:6px}.brand .mark{font-size:26px}.brand small{font-size:6px;letter-spacing:1px}.telemetry{gap:13px}.telemetry b{font-size:19px}.telemetry small{font-size:8px}header button{width:31px;height:31px;font-size:12px}.mission{top:88px;left:18px;width:130px;font-size:10px}#notice{top:148px;font-size:10px;max-width:95vw;white-space:normal;width:100%}.bottom{left:17px;right:17px;bottom:max(20px,env(safe-area-inset-bottom))}.flight-info small{font-size:6px;letter-spacing:1px}.flight-info div{font-size:20px}.flight-info span{font-size:8px}.power{gap:7px}.power button{padding:10px;gap:5px;font-size:24px;border-radius:14px}.power span{font-size:10px}.power small{font-size:8px}.overlay{padding:30px 28px;align-items:center}.intro{width:100%}.poster{display:none}h1{font-size:42px;margin:18px 0}#description{font-size:12px}.brief{margin:18px 0;gap:12px}.edition{font-size:8px}.record{margin-top:14px}}@media(orientation:landscape) and (max-height:500px){header{top:12px;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}.brand{font-size:17px}.brand small{font-size:6px}.mark{font-size:30px}.telemetry b{font-size:19px}.telemetry small{font-size:8px}header button{width:32px;height:32px}.mission{top:72px;left:20px;width:130px;font-size:10px}#notice{top:73px;font-size:10px}.bottom{left:20px;right:20px;bottom:max(12px,env(safe-area-inset-bottom))}.power button{padding:8px 12px;font-size:22px}.flight-info div{font-size:20px}.overlay{padding:18px 6vw;align-items:center;gap:30px}.intro{width:330px}.edition{font-size:8px}h1{font-size:28px;margin:10px 0}#description{font-size:11px;line-height:1.6;margin:7px 0}.brief{gap:6px;margin:10px 0}.brief>div{gap:8px}.brief b{height:22px;width:22px;font-size:9px}.brief span{font-size:10px}.brief small{font-size:8px}#start{padding:11px 16px;font-size:12px}.record{margin-top:7px}.poster{max-width:270px}.coord,.caption{font-size:6px;letter-spacing:1px}}@media(max-width:350px){.brand small{display:none}.telemetry{gap:9px}.power button{padding:9px 7px}.overlay{padding:20px 24px}h1{font-size:35px}.brief small{font-size:9px}}
.brief[hidden]{display:none}
