@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#fff;font-synthesis:none;--panel:rgba(19,37,44,.9);--line:rgba(255,255,255,.16);--accent:#e5f3b8}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#192a31}button,select,input{font:inherit}button,select{cursor:pointer}button{color:inherit;border:1px solid var(--line);background:rgba(21,39,46,.72);border-radius:8px;min-height:42px;padding:10px 15px;font-size:14px}button:hover{background:#324b52}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{cursor:wait;opacity:.65}button span{margin-left:9px}#world,#scene,.vignette{position:fixed;inset:0;width:100%;height:100%;display:block}#scene{outline:none;touch-action:none}.vignette{pointer-events:none;background:linear-gradient(180deg,rgba(9,25,34,.28),transparent 23%,transparent 65%,rgba(9,25,34,.45))}.topbar{position:fixed;left:34px;right:34px;top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;font-size:14px;letter-spacing:.1em;font-weight:700;text-shadow:0 1px 12px #153445}.brand small{display:block;font-size:12px;letter-spacing:.16em;font-weight:500;margin-top:6px}.brand-mark{font-family:Georgia,serif;font-size:35px;line-height:1;letter-spacing:-.08em;width:48px;height:48px;display:grid;place-items:center;background:var(--accent);color:#1f363b;border-radius:12px;text-shadow:none;padding-bottom:5px}.top-actions{display:flex;gap:10px}.glass{background:var(--panel);backdrop-filter:blur(20px);border:1px solid var(--line);box-shadow:0 16px 50px #00101826;border-radius:16px}.welcome{position:fixed;left:34px;bottom:98px;width:336px;padding:28px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;color:#d4e1d5;font-weight:700}.live-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}h1{font-family:Manrope,sans-serif;font-size:47px;line-height:1.1;font-weight:600;letter-spacing:-.055em;margin:23px 0 17px}.welcome p{font-size:15px;line-height:1.6;color:#c6d1d2;margin:0 0 25px}.primary{background:var(--accent);color:#172c31;width:100%;display:flex;justify-content:space-between;align-items:center;font-weight:700;min-height:49px;border:0}.primary:hover{background:#f2ffd0}.welcome .load-status{font-size:12px;margin:9px 0 0;color:#a9bcbd}.load-track{height:2px;background:#ffffff15;margin-top:14px}.load-track>div{height:100%;width:0;background:var(--accent);transition:width .2s}.welcome-controls{display:flex;gap:17px;border-top:1px solid var(--line);padding-top:18px;margin-top:21px;font-size:12px;color:#c2cdd0}.welcome-controls span{display:flex;gap:6px;align-items:center}kbd{font-family:inherit;font-size:12px;letter-spacing:.08em;border:1px solid #93a6ac55;border-radius:4px;padding:4px 5px;color:#fff}.telemetry{position:fixed;bottom:30px;left:34px;display:flex;gap:19px;align-items:center;font-size:12px;letter-spacing:.12em;color:#e2e9e8;text-shadow:0 1px 6px #122d36}.telemetry strong{font-size:13px;font-weight:500;margin-left:8px;letter-spacing:0}.divider{height:13px;width:1px;background:#ffffff5e}.compass{position:fixed;bottom:23px;right:37px;text-align:center;font-size:12px;font-weight:700;text-shadow:0 1px 6px #10212b}.compass span{display:block;font-size:25px;color:var(--accent)}.settings{position:fixed;right:34px;top:92px;width:304px;padding:24px;max-height:calc(100dvh - 155px);overflow:auto}.panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.panel-top h2{font-size:21px;margin:0;letter-spacing:-.04em;font-weight:500}.panel-top button{border:0;background:none;font-size:24px;min-height:28px;padding:0 4px}.settings label{display:block;font-size:14px;color:#d2dddd;margin:19px 0 9px}.settings output{float:right;color:var(--accent)}select{color:white;width:100%;background:#31464d;border:1px solid #ffffff24;border-radius:7px;padding:11px;font-size:14px}input[type=range]{width:100%;accent-color:var(--accent)}.secondary{width:100%;margin-top:23px}.settings p{color:#a3b6b8;font-size:12px;line-height:1.6;margin-bottom:0}#reticle{position:fixed;left:calc(50% - 2px);top:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#fff9;pointer-events:none}#explore-hint{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);padding:9px 13px;font-size:12px;white-space:nowrap;border-radius:8px;color:#d9e3e3}#capture-mouse{font-size:12px;min-height:30px;padding:5px 9px;margin-left:13px}#toast{position:fixed;top:100px;left:50%;transform:translateX(-50%);background:var(--panel);padding:13px 20px;border-radius:9px;font-size:14px;max-width:80%;text-align:center}#touch-controls{position:fixed;bottom:100px;left:24px;pointer-events:none}#touch-controls span{font-size:12px;display:block;margin-top:12px;text-shadow:0 1px 5px #000}.dpad{display:grid;grid-template-columns:repeat(3,45px);gap:5px;pointer-events:auto}.dpad button{padding:0;height:45px;font-size:20px;touch-action:none;user-select:none}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}body.exploring .welcome{display:none}[hidden]{display:none!important}@media(max-width:650px){.topbar{left:18px;right:18px;top:19px;gap:12px}.brand{font-size:12px;letter-spacing:.03em;gap:8px}.brand small{display:none}.brand-mark{width:38px;height:38px;font-size:28px}.top-actions{gap:6px}.top-actions button{font-size:12px;padding:8px 10px;min-height:38px}#settings-toggle span{display:none}.welcome{left:18px;bottom:77px;width:280px;padding:22px}h1{font-size:39px;margin:19px 0 13px}.welcome p{font-size:14px;margin-bottom:18px}.welcome-controls{margin-top:17px}.telemetry{bottom:24px;left:20px;gap:10px;font-size:12px}.telemetry strong{font-size:12px;margin-left:4px}.telemetry>span:first-child,.telemetry>span:nth-child(2){display:none}.compass{right:22px;bottom:17px}.settings{right:18px;top:74px;width:min(304px,calc(100vw - 36px))}#explore-hint{bottom:64px;width:calc(100% - 36px);white-space:normal;text-align:center;line-height:1.7}#capture-mouse{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.flight-toggle{position:fixed;right:34px;top:92px;background:var(--accent);color:#192e32;border:0;font-weight:700;min-width:144px;box-shadow:0 4px 16px #11282d22}.flight-toggle:hover{background:#f3ffd1}.flight-hud{position:fixed;right:34px;top:149px;width:170px;padding:16px;pointer-events:none;border-radius:10px}.flight-hud>span{display:block;font-size:12px;letter-spacing:.1em;color:#c2d4ce}.flight-hud strong{display:block;font:500 34px Manrope,sans-serif;letter-spacing:-.05em;margin:3px 0 6px;color:var(--accent)}.flight-hud small{display:block;font-size:12px;line-height:1.8;margin-top:12px;color:#d2dfe0}.settings-open .flight-toggle,.settings-open .flight-hud{display:none}.check-row{display:flex!important;gap:10px;align-items:center;margin-top:24px!important;line-height:1.4}.check-row input{width:17px;height:17px;accent-color:var(--accent)}#surprise{margin-top:2px}.giant-label{position:fixed;transform:translate(-50%,-100%);padding:7px 11px;border-radius:6px;background:#1b353acc;color:#e9f2d2;font-size:12px;pointer-events:none;white-space:nowrap;border:1px solid #f4ffde33}#sightings{pointer-events:none}#flight-touch{display:flex;gap:8px;margin-top:10px;pointer-events:auto}#flight-touch button{touch-action:none;user-select:none;background:#b9ce8ae8;color:#203632;font-weight:700}body.flying .telemetry{bottom:22px}body.flying #explore-hint{bottom:64px;background:#162c32eb}.settings{z-index:5}#toast{z-index:7}.topbar{z-index:6}
@media(max-width:650px){.flight-toggle{right:18px;top:74px;min-height:38px;font-size:12px;min-width:130px}.flight-hud{right:18px;top:122px;width:130px;padding:12px}.flight-hud strong{font-size:28px}.flight-hud small{display:none}.settings-open #touch-controls{opacity:.2;pointer-events:none}.settings-open #touch-controls button{pointer-events:none}.welcome{width:280px;padding:20px}.welcome h1{font-size:34px;margin:15px 0 12px}.welcome-controls{margin-top:13px;padding-top:12px}.welcome .load-status{font-size:12px}body.flying #touch-controls{bottom:102px}}
