html,body,#root{background:#000;width:100%;height:100%;margin:0;overflow:hidden}canvas{display:block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.cubesat-target{cursor:pointer;background:#4da6ff14;border:3px solid #7ebcff;border-radius:50%;width:58px;height:58px;padding:0;animation:.7s ease-in-out infinite alternate target-pulse;box-shadow:0 0 0 2px #080c10a6,0 0 18px #4da6ffcc}.cubesat-target:focus-visible{outline-offset:4px;outline:2px solid #fff}.catch-message{z-index:20000001;color:#081018;white-space:nowrap;background:#a8d3ff;border:1px solid #e6f3ff;border-radius:4px;padding:12px 16px;font:700 15px/1.3 system-ui,sans-serif;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.trajectory-title{color:#f4f7fb;letter-spacing:0;text-shadow:0 2px 12px #000;width:max-content;margin:0;font:700 24px/1 system-ui,sans-serif}.trajectory-panel{box-sizing:border-box;color:#f4f7fb;background:#080c10e0;border:1px solid #536171;border-top:3px solid #7ebcff;border-radius:4px;width:270px;padding:12px;font:12px/1.45 system-ui,sans-serif}.trajectory-panel h2{letter-spacing:0;margin:0 0 8px;font-size:15px}.trajectory-copy p{margin:0 0 8px}.trajectory-gallery{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.trajectory-gallery a{aspect-ratio:16/9;background:#050505;border:1px solid #3b4652;border-radius:3px;display:block;overflow:hidden}.trajectory-gallery a:hover{border-color:#7ebcff}.trajectory-gallery a:focus-visible{outline-offset:2px;outline:2px solid #fff}.trajectory-gallery img{object-fit:cover;width:100%;height:100%}@keyframes target-pulse{0%{transform:scale(.9)}to{transform:scale(1.08)}}.view-mode-controls{z-index:20000000;justify-content:center;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.view-mode-button{color:#f4f7fb;cursor:pointer;background:#080c10d1;border:1px solid #3b4652;border-radius:0;min-height:38px;padding:0 14px;font:600 13px/1 system-ui,sans-serif}.rolamgas-link{color:#9bddf2;white-space:nowrap;justify-content:center;align-items:center;text-decoration:none;display:flex}.trajectory-solver-link{color:#9bddf2;width:max-content;margin:12px auto 0;font:500 13px/1.5 system-ui,sans-serif;text-decoration:none;display:block}.trajectory-solver-link:hover{text-decoration:underline}.view-mode-button:first-child{border-radius:4px 0 0 4px}.view-mode-button:last-child{border-radius:0 4px 4px 0}.view-mode-button+.view-mode-button{margin-left:-1px}.view-mode-button:hover{background:#121920eb;border-color:#6f8194}.view-mode-button:focus-visible{outline-offset:2px;outline:2px solid #4da6ff}.view-mode-button[aria-pressed=true]{color:#081018;background:#7ebcff;border-color:#7ebcff}.object-label,.cubesat-blurb{pointer-events:none;color:#f4f7fb;white-space:nowrap;background:#080c10db;border-left:2px solid #7ebcff;gap:3px;width:max-content;padding:7px 9px;font:12px/1.3 system-ui,sans-serif;display:grid}.cubesat-blurb{white-space:normal;width:230px}.cubesat-blurb p{color:#aeb8c3;margin:4px 0 0}.moon-blurb{box-sizing:border-box;color:#f4f7fb;background:#080c10d6;border:1px solid #536171;border-left:3px solid #7ebcff;border-radius:4px;width:min(420px,44vw);padding:24px;font:18px/1.55 system-ui,sans-serif}.moon-blurb p,.moon-playlist-title p{white-space:pre-line;margin:0}.moon-playlist-row{align-items:stretch;display:flex}.moon-playlist-title{box-sizing:border-box;color:#f4f7fb;text-align:center;background:#080c10e6;border:1px solid #778492;border-right:0;border-radius:3px 0 0 3px;place-items:center;width:150px;padding:16px;font:600 16px/1.35 system-ui,sans-serif;display:grid}.moon-playlist-title a{color:#f4f7fb;text-underline-offset:3px;font-size:17px;font-weight:600;text-decoration-color:#7ebcff}.moon-playlist-title a:hover{color:#a8d3ff}.moon-playlist-title p{color:#aeb8c3;margin:8px 0 0;font-size:13px;font-weight:400}.moon-playlist{aspect-ratio:16/9;pointer-events:auto;background:#050505;border:1px solid #778492;border-radius:0 3px 3px 0;width:420px;display:block;box-shadow:0 4px 14px #0000008c}.object-label strong{font-size:13px}.object-label span{color:#aeb8c3}.resume-pointer{color:#081018;cursor:pointer;background:#7ebcff;border:1px solid #d8ebff;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font:700 28px/1 system-ui,sans-serif;display:grid;box-shadow:0 0 18px #4da6ff8c}.resume-pointer:hover{background:#a8d3ff}.resume-pointer:focus-visible{outline-offset:3px;outline:2px solid #fff}.home-blurb{box-sizing:border-box;color:#f4f7fb;background:#080c10c7;border:1px solid #3b4652;border-radius:4px;width:min(620px,90vw);padding:18px;font:16px/1.5 system-ui,sans-serif}.home-blurb p{margin:0 0 14px}.global-language-menu{z-index:20000000;color:#b8c2cc;background:#080c10e0;border:1px solid #3b4652;border-radius:4px;align-items:center;gap:8px;padding:7px 9px;font:600 12px/1 system-ui,sans-serif;display:flex;position:fixed;top:20px;right:20px}.global-language-menu select{color:#f4f7fb;cursor:pointer;background:#10161d;border:1px solid #536171;border-radius:3px;height:30px;padding:0 26px 0 8px;font:600 13px/1 system-ui,sans-serif}.global-language-menu select:focus-visible{outline-offset:2px;outline:2px solid #7ebcff}.loading-screen{z-index:10;box-sizing:border-box;pointer-events:none;color:#f4f7fb;background:#080c10d1;border:1px solid #29323c;border-radius:4px;gap:10px;width:min(240px,100vw - 40px);padding:12px;font:500 13px/1.4 system-ui,sans-serif;display:grid;position:fixed;top:50%;right:20px;transform:translateY(-50%)}.loading-screen__label{justify-content:space-between;width:100%;display:flex}.loading-screen__track{background:#252a30;width:100%;height:2px;overflow:hidden}.loading-screen__progress{transform-origin:0;background:#4da6ff;width:100%;height:100%}.solver-portal{text-align:left;color:#f4f7fb;cursor:pointer;background:0 0;border:0;gap:12px;width:650px;padding:24px 0;font:15px/1.5 system-ui,sans-serif;display:grid}.solver-portal strong{letter-spacing:-5px;font-size:88px;font-weight:650;line-height:1}.solver-portal strong span{color:#79d8f1;transition:transform .18s;display:inline-block}.solver-portal:hover strong span{transform:translate(-14px)}.solver-portal__eyebrow,.solver-room-heading>span{color:#79d8f1;letter-spacing:2px;font:11px/1.5 ui-monospace,monospace}.solver-portal__hint{color:#98afc2}.solver-portal:focus-visible{outline-offset:10px;outline:2px solid #79d8f1}.solver-room-heading{color:#edf4fa;text-align:center;width:1080px;font-family:system-ui,sans-serif}.solver-room-heading h1{letter-spacing:-3px;margin:8px 0;font-size:60px;font-weight:600;line-height:1}.solver-room-heading p{color:#a9bdce;margin:10px 0 0;font-size:14px}.solver-exhibit-label{text-align:left;color:#edf4fa;cursor:pointer;background:0 0;border:0;border-top:1px solid #3b4652;gap:8px;width:265px;padding:12px 8px;font-family:system-ui,sans-serif;display:grid}.solver-exhibit-label>span{color:#98afc2;letter-spacing:1px;font:9px ui-monospace,monospace}.solver-exhibit-label strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:550;line-height:1.25;display:-webkit-box;overflow:hidden}.solver-exhibit-label small{color:#79d8f1;font:12px ui-monospace,monospace}.solver-exhibit-label[aria-pressed=true]{background:linear-gradient(#102637aa,#0000);border-top:2px solid #79d8f1}.solver-exhibit-label:hover{border-color:#79d8f1}.solver-exhibit-label:focus-visible,.solver-info a:focus-visible,.solver-method summary:focus-visible{outline-offset:4px;outline:2px solid #79d8f1}.solver-info{box-sizing:border-box;color:#c0cfdb;scrollbar-width:thin;background:#08121bea;border:1px solid #304555;border-radius:4px;grid-template-columns:1.6fr 1fr;gap:38px;width:1120px;max-height:250px;padding:22px 26px;font:13px/1.65 system-ui,sans-serif;display:grid;overflow-y:auto}.solver-info p{margin:8px 0}.solver-info .solver-eyebrow{color:#79d8f1;letter-spacing:1px;margin:0 0 5px;font:10px/1.5 ui-monospace,monospace}.solver-info h2{color:#edf4fa;margin:0;font-size:24px;font-weight:550;line-height:1.25}.solver-info .solver-dates{color:#f1ca8e;font:11px/1.5 ui-monospace,monospace}.solver-info .solver-model-note{color:#95aabb;font-size:11px}.solver-metrics{flex-wrap:wrap;gap:20px;margin:14px 0;display:flex}.solver-metrics dt{color:#95aabb;font-size:10px}.solver-metrics dd{color:#edf4fa;margin:0;font-family:ui-monospace,monospace;font-size:14px}.solver-gallery-button{color:#08121b;background:#79d8f1;border-radius:3px;justify-content:space-between;gap:20px;padding:12px 16px;font-weight:650;text-decoration:none;display:flex}.solver-gallery-button:hover{background:#b5f0ff}.solver-info .solver-download-hint{color:#95aabb;font-size:11px}.solver-method{border-top:1px solid #304555;border-bottom:1px solid #304555;margin:14px 0;padding:12px 0}.solver-method summary{color:#edf4fa;cursor:pointer;font-size:13px}.solver-method ol{padding-left:20px}.solver-method li{margin:0 0 10px}.solver-method strong{color:#edf4fa}.solver-source-link{color:#79d8f1;text-underline-offset:3px;font-size:11px}.solver-mobile-selector{grid-template-columns:1fr 1fr;gap:6px;margin-top:18px;display:grid}.solver-mobile-selector button{color:#b6c9d9;cursor:pointer;background:#08121b;border:1px solid #304555;border-radius:3px;padding:10px;font:12px system-ui,sans-serif}.solver-mobile-selector button[aria-pressed=true]{color:#79d8f1;border-color:#79d8f1}@media (prefers-reduced-motion:reduce){.solver-portal strong span{transition:none}}@media (width<=700px){.solver-portal{width:500px;font-size:14px}.solver-portal strong{letter-spacing:-4px;font-size:68px}.solver-room-heading{width:400px}.solver-room-heading h1{font-size:44px}.solver-room-heading p{font-size:12px}.solver-mobile-selector button{font-size:15px}.solver-info{width:400px;max-height:420px;padding:16px;font-size:15px;display:block;overflow-y:auto}.solver-info__mission{scrollbar-width:thin;max-height:180px;overflow-y:auto}.solver-info h2{font-size:22px}.solver-info__actions{margin-top:16px}.solver-method[open]{max-height:160px;overflow-y:auto}.rolamgas-link{grid-column:1/-1}.view-mode-controls{bottom:max(12px, env(safe-area-inset-bottom));grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100vw - 24px);display:grid}.view-mode-button,.view-mode-button:first-child,.view-mode-button:last-child{border-radius:3px;min-width:0;padding:0 6px;font-size:12px}.view-mode-button+.view-mode-button{margin:-1px 0 0 -1px}.global-language-menu{max-width:calc(100vw - 24px);top:12px;right:12px}.global-language-menu span{display:none}.global-language-menu select{max-width:150px}.home-blurb{width:86vw;padding:12px;font-size:13px;line-height:1.4}.trajectory-title{text-align:center;white-space:normal;max-width:82vw;font-size:23px;line-height:1.1}.trajectory-panel{width:min(280px,84vw);padding:11px;font-size:12px}.trajectory-panel h2{font-size:15px}}
