:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f7f3;background:#aebcc1;font-synthesis:none;font-size:14px;--panel:rgba(23,30,35,.88);--muted:#b7c4c9;--accent:#d5edb8}
nav.locations{max-width:calc(100vw - 24px);overflow-x:auto}nav.locations button{flex:0 0 auto}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #ffffff26;background:#ffffff08;transition:background .18s,transform .18s}button:hover{background:#ffffff1c}button:disabled{cursor:wait;opacity:.45}button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:active{transform:translateY(1px)}#viewport,canvas{display:block;width:100vw;height:100dvh}canvas{outline:none}
.topbar{position:fixed;top:22px;left:26px;right:26px;display:flex;align-items:center;gap:14px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:13px;align-items:center;background:var(--panel);padding:12px 20px 12px 15px;border:1px solid #ffffff18;border-radius:12px;box-shadow:0 8px 40px #0002}.brand-mark{font-size:31px;color:var(--accent);line-height:1}.brand strong{font-size:20px;display:block;font-weight:550;letter-spacing:-.5px}.brand small{font-size:8px;letter-spacing:2px;color:var(--muted);display:block;margin-top:3px}.sync{margin-left:auto;display:flex;align-items:center;gap:9px;background:var(--panel);padding:7px 8px 7px 15px;border:1px solid #ffffff18;border-radius:30px;font-size:12px;max-width:53vw}.dot{width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}.dot.busy{background:#e6c991;animation:pulse 1.4s infinite}.dot.error{background:#efaf96}.icon-button{border-radius:50%;height:32px;width:32px;background:var(--panel);font-size:19px;line-height:20px}.sync .icon-button{background:transparent;border:0}.welcome{position:fixed;left:7vw;top:50%;transform:translateY(-47%);padding:34px 38px;background:rgba(20,28,34,.86);backdrop-filter:blur(18px);border:1px solid #ffffff20;border-radius:16px;box-shadow:0 15px 65px #0003;max-width:470px}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:600;color:var(--accent)}h1{font-size:49px;font-weight:450;letter-spacing:-2px;line-height:1.05;margin:17px 0}p{font-size:14px;line-height:1.7;color:#c8d0d3;margin:16px 0 23px}.primary{background:var(--accent);border:0;border-radius:7px;color:#1a2824;padding:14px 24px;font-weight:600;font-size:14px;min-width:185px}.primary:hover{background:#e5f8d1}.loading-track{margin-top:23px;width:100%;height:2px;background:#ffffff20;overflow:hidden}.loading-track span{display:block;width:4%;height:100%;background:var(--accent);transition:width .6s}#loading-caption{margin-top:10px;font-size:11px;color:var(--muted);max-width:340px;line-height:1.5}.location-label{position:fixed;bottom:160px;left:30px;text-shadow:0 1px 12px #0009;background:var(--panel);border-radius:8px;padding:11px 16px;display:flex;flex-direction:column;gap:5px}.location-label>span:last-child{font-size:16px;letter-spacing:-.2px}.locations{position:fixed;bottom:87px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:5px;background:var(--panel);border:1px solid #ffffff1a;border-radius:11px;white-space:nowrap}.locations button{border:0;padding:11px 18px;border-radius:7px;color:#c7d0d2;font-size:12px}.locations .selected{background:#ffffff16;color:#fff}.bottombar{position:fixed;bottom:22px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:15px}.keys{background:var(--panel);padding:11px 15px;border-radius:8px;font-size:11px;color:#cad2d5;line-height:20px}.keys span{padding:0 8px;color:#788a91}kbd{font-family:inherit;border:1px solid #ffffff30;border-radius:4px;padding:3px 5px;font-size:10px;color:#eef3f0}.mode-buttons{display:flex;gap:3px;background:var(--panel);padding:4px;border:1px solid #ffffff16;border-radius:9px}.mode-buttons button{padding:9px 14px;border:0;border-radius:6px;font-size:12px}.mode-buttons .active{background:var(--accent);color:#23342b}.toast{position:fixed;top:110px;left:50%;transform:translateX(-50%);background:var(--panel);padding:12px 20px;border:1px solid #ffffff28;border-radius:8px;font-size:13px;max-width:80vw}#crosshair{position:fixed;top:50%;left:50%;width:4px;height:4px;background:white;border-radius:50%;box-shadow:0 0 3px #000;pointer-events:none}dialog{border:1px solid #ffffff26;background:#1c262c;padding:35px;border-radius:14px;color:#fff;max-width:510px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#10192099;backdrop-filter:blur(5px)}h2{font-weight:450;letter-spacing:-.5px;line-height:1.2;font-size:28px;margin:14px 0}dialog p{font-size:13px;margin:16px 0}.close{position:absolute;top:10px;right:10px;border:0;font-size:25px;background:transparent}dl{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:11px;margin:23px 0}dt{color:var(--accent)}dd{margin:0;color:#bdcbd0}.muted{font-size:11px!important;color:#98abb2!important}body.locked .welcome,body.locked .locations,body.locked .bottombar,body.locked .topbar{display:none}body.locked .location-label{bottom:20px;opacity:.8}body.locked .toast{top:25px}[hidden]{display:none!important}@keyframes pulse{50%{opacity:.3}}
body:has(.welcome:not([hidden])) .location-label{display:none}
@media(max-width:850px){.keys{display:none}.topbar{left:14px;right:14px;top:14px}.brand{padding:10px 14px}.brand small{display:none}.sync{max-width:55vw;font-size:10px}.welcome{left:18px;right:18px;max-width:430px;padding:28px}.welcome h1{font-size:42px}.locations{max-width:calc(100vw - 24px);overflow-x:auto;bottom:78px}.locations button{padding:11px 13px}.bottombar{justify-content:flex-end;bottom:18px;left:14px;right:14px}.location-label{left:14px;bottom:143px}}
