@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-devanagari-600-normal-DhS7ScYx.woff2)format("woff2"),url(./rajdhani-devanagari-600-normal-BtY48IV_.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2)format("woff2"),url(./rajdhani-latin-ext-600-normal-BleIgkPp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-devanagari-700-normal-BQQOj9BB.woff2)format("woff2"),url(./rajdhani-devanagari-700-normal-DBRwWuxA.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-ext-700-normal-S6aYESQK.woff2)format("woff2"),url(./rajdhani-latin-ext-700-normal-BPaQ7tlD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#04090f;--glass:#08121c80;--glass-strong:#08121cd6;--hair:#96ebff33;--hair-strong:#96ebff99;--cyan:#7ee8ff;--cyan-soft:#7ee8ff1f;--text:#f2fbff;--text-dim:#dcf0fa9e;--amber:#ffc266;--red:#ff7a8a;--green:#8dffc4;--glow:0 0 18px #7ee8ff59;--r:14px;--gutter:18px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--sans:system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--mono:"Rajdhani", "Hiragino Sans", system-ui, sans-serif;--edge:linear-gradient(135deg, #aaf0ffbf, #aaf0ff14 38%, #aaf0ff14 62%, #aaf0ff80);--radar:148px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;overflow:hidden}button,input{font:inherit;color:inherit}a{color:var(--cyan)}#app{position:fixed;inset:0;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}[hidden]{display:none!important}.ic{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}kbd{text-align:center;min-width:1.8em;font:600 12px/1.7 var(--mono);letter-spacing:.04em;color:var(--cyan);background:var(--cyan-soft);border:1px solid var(--hair);border-radius:6px;padding:0 6px;display:inline-block}.tool,.btn,.menu-panel,.navi-guide,.ask,.sheet,.sources,.map-card,.ride-hint,.compass-heading,.edge-msg{background:linear-gradient(var(--glass-strong), var(--glass-strong)) padding-box, var(--edge) border-box;-webkit-backdrop-filter:blur(16px)saturate(1.3);border:1px solid #0000}.tool,.btn{background:linear-gradient(var(--glass), var(--glass)) padding-box, var(--edge) border-box}.labels{z-index:2}.radar,.loc,.compass,.compass-heading,.tools,.navi,.hud,.aim,.reticle,.waypoint,.ride-hint,.edge-msg,.area-toast,.map-aim,.map-land,.touch-buttons,.joystick{z-index:3}.scan{z-index:4}.radar{top:calc(var(--safe-t) + 20px);left:calc(var(--gutter) + 4px);width:var(--radar);height:var(--radar);border-radius:50%;position:absolute}.minimap{cursor:pointer;width:100%;height:100%;box-shadow:var(--glow), inset 0 0 0 1px var(--hair-strong);border-radius:50%;display:block}.minimap:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.radar:before{content:"";pointer-events:none;border:1px dashed #96ebff59;border-radius:50%;animation:40s linear infinite spin;position:absolute;inset:-9px}.radar:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 32%,#7ee8ff33 32.5%,#0000 33.5% 65%,#7ee8ff33 65.5%,#0000 66.5%),linear-gradient(#7ee8ff24,#7ee8ff24) 50%/1px 100% no-repeat,linear-gradient(#7ee8ff24,#7ee8ff24) 50%/100% 1px no-repeat;border-radius:50%;position:absolute;inset:0}.radar-sweep{pointer-events:none;background:conic-gradient(#7ee8ff4d,#7ee8ff00 20%);border-radius:50%;animation:4s linear infinite spin;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.radar-label{white-space:nowrap;pointer-events:none;font:600 12px var(--mono);letter-spacing:.12em;color:var(--cyan);text-shadow:0 0 8px #7ee8ff80;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%)}.loc{left:calc(var(--gutter) + 2px);top:calc(var(--safe-t) + 20px + var(--radar) + 40px);pointer-events:none;text-shadow:0 1px 8px #000000bf;border-left:1px solid var(--cyan);background:linear-gradient(90deg,#08121c8c,#08121c00);padding:2px 30px 4px 12px;position:absolute}.loc:before{content:"AREA";font:600 10px var(--mono);letter-spacing:.3em;color:var(--cyan);display:block}.loc-area{letter-spacing:.08em;font-size:20px;font-weight:700;line-height:1.25}.loc-sub{letter-spacing:.04em;color:var(--text-dim);margin-top:1px;font-size:12px;font-weight:500}#app[data-mode=map] .loc{display:none}.compass{top:calc(var(--safe-t) + 18px);pointer-events:none;border-bottom:1px solid var(--hair);width:min(560px,44vw);height:46px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.compass:after{content:"";background:var(--cyan);width:2px;height:12px;box-shadow:0 0 8px var(--cyan);margin-left:-1px;position:absolute;bottom:-1px;left:50%}.compass-dir,.compass-mark,.compass-tick{text-align:center;position:absolute;top:0;transform:translate(-50%)}.compass-dir{text-shadow:0 0 10px #7ee8ffb3,0 1px 4px #0009;font-size:14px;font-weight:700;top:6px}.compass-tick{background:#dcf0fa73;width:1px;height:5px;top:34px}.compass-tick.major{background:var(--text);height:9px;top:30px}.compass-mark .mk{width:22px;height:22px;box-shadow:inset 0 0 0 1px var(--k,var(--cyan)), 0 0 8px #0006;color:var(--text);background:#08121cb3;border-radius:50%;place-items:center;margin:3px auto 0;display:grid}.compass-mark .mk .ic{stroke-width:2px;width:13px;height:13px}.compass-mark .dist{font:600 11px var(--mono);color:var(--cyan);line-height:1.4;display:block}.compass-heading{left:50%;top:calc(var(--safe-t) + 70px);pointer-events:none;font:600 13px var(--mono);letter-spacing:.14em;color:var(--cyan);border-radius:999px;padding:1px 10px;position:absolute;transform:translate(-50%)}.tools{top:calc(var(--safe-t) + 18px);right:var(--gutter);align-items:flex-start;gap:8px;display:flex;position:absolute;z-index:20002!important}.tool,.btn{cursor:pointer;letter-spacing:.04em;min-height:42px;color:var(--text);border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:box-shadow .2s,transform .2s;display:inline-flex}.tool .ic,.btn .ic{color:var(--cyan)}.tool:hover,.btn:hover{box-shadow:var(--glow)}.tool:active,.btn:active{transform:scale(.97)}.tool.primary,.btn.primary{background:linear-gradient(135deg, #7ee8ff42, #7ee8ff0f) padding-box, var(--edge) border-box}.tool:focus-visible,.btn:focus-visible,.menu-item:focus-visible,.chip:focus-visible,.navi-chip:focus-visible,.core:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.tool.icon{justify-content:center;width:42px;padding:0}.burger,.burger:before,.burger:after{background:var(--cyan);border-radius:2px;width:16px;height:1.5px;display:block;position:relative}.burger:before,.burger:after{content:"";position:absolute;left:0}.burger:before{top:-5px}.burger:after{width:10px;top:5px}.tool[aria-expanded=true]{box-shadow:var(--glow)}.menu-panel{border-radius:18px;flex-direction:column;gap:2px;width:250px;padding:12px 10px 8px;animation:.2s ease-out rise;display:flex;position:absolute;top:52px;right:0}@keyframes rise{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.panel-kicker{align-items:baseline;gap:8px;margin:0 6px 6px;font-size:13px;font-weight:700;display:flex}.panel-kicker span{font:600 11px var(--mono);letter-spacing:.26em;color:var(--cyan)}.menu-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;width:100%;min-height:40px;padding:6px 10px;font-size:14px;font-weight:500;display:flex}.menu-item:hover{background:var(--cyan-soft)}.mi-label{flex:1}.mi-value{font:600 14px var(--mono);letter-spacing:.08em;color:var(--text-dim)}.menu-item.on .mi-value{color:var(--cyan)}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{pointer-events:auto;cursor:pointer;border:1px solid var(--hair);color:var(--text);white-space:nowrap;transform-origin:50% 100%;background:#08121cb8;border-radius:999px;align-items:center;gap:6px;padding:3px 11px 3px 4px;font-size:12.5px;font-weight:500;display:flex;position:absolute;top:0;left:0;box-shadow:0 4px 14px #0000004d}.label:after{content:"";background:var(--hair-strong);width:1px;height:6px;position:absolute;bottom:-7px;left:50%}.label-icon{background:var(--cyan-soft);width:20px;height:20px;color:var(--cyan);border-radius:50%;place-items:center;display:grid}.label-icon .ic{stroke-width:2px;width:13px;height:13px}.label.selected{border-color:var(--amber);box-shadow:0 0 16px #ffc26673}.label.selected .label-icon{color:var(--amber);background:#ffc26633}.label.selected:after{background:var(--amber)}.aim{pointer-events:none;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;transition:opacity .2s;position:absolute;top:42%;left:50%;box-shadow:inset 0 0 0 1px #ffffff59}.aim:after{content:"";background:#fff;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #0009}.aim.lock{opacity:.45}.reticle{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.rt-ring{border:1.5px solid;border-color:var(--cyan) transparent var(--cyan) transparent;width:36px;height:36px;filter:drop-shadow(0 0 4px var(--cyan));border-radius:50%;animation:3s linear infinite spin;position:absolute;top:-18px;left:-18px}.rt-ring.r2{border-color:transparent var(--text) transparent var(--text);width:20px;height:20px;animation-duration:2s;animation-direction:reverse;top:-10px;left:-10px}.reticle.acq .rt-ring{animation:3s linear infinite spin,.35s ease-out acquire}.reticle.acq .rt-ring.r2{animation:2s linear infinite reverse spin,.35s ease-out acquire}@keyframes acquire{0%{opacity:0;scale:2.6}}.rt-dist{white-space:nowrap;font:600 14px var(--mono);letter-spacing:.08em;color:var(--cyan);text-shadow:0 0 8px #7ee8ff99,0 1px 3px #000;position:absolute;top:-9px;left:26px}.rt-dist:before{content:"WIRE  ";letter-spacing:.24em;opacity:.8;white-space:pre;font-size:10px}.waypoint{pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0}.wp-ic{width:34px;height:34px;color:var(--amber);box-shadow:inset 0 0 0 1.5px var(--amber), 0 0 16px #ffc26680;background:#1e1406b3;border-radius:50%;place-items:center;margin:-17px 0 0 -17px;display:grid}.wp-ic .ic{width:18px;height:18px}.wp-text{text-shadow:0 1px 6px #000c;flex-direction:column;margin-top:-17px;display:flex}.wp-text b{font-size:13px;font-weight:600}.wp-text span{font:600 13px var(--mono);letter-spacing:.08em;color:var(--amber)}.wp-arrow{width:34px;height:34px;display:none;position:absolute;top:-17px;left:-17px}.wp-arrow:after{content:"";border:6px solid #0000;border-left:9px solid var(--amber);filter:drop-shadow(0 0 4px var(--amber));margin-top:-6px;position:absolute;top:50%;right:-12px}.waypoint.edge .wp-arrow{display:block}.waypoint.edge .wp-text b{display:none}.scan{pointer-events:none;opacity:0;position:absolute;inset:0}.scan.run{background:linear-gradient(#0000 0 44%,#7ee8ff29 49.6%,#dcfaff8c 50%,#7ee8ff29 50.4%,#0000 56%) 0 0/100% 200% no-repeat;animation:1.2s ease-out scan}@keyframes scan{0%{opacity:1;background-position:0 100%}85%{opacity:1}to{opacity:0;background-position:0 0}}.navi{left:var(--gutter);bottom:calc(var(--safe-b) + 18px);width:min(470px, calc(100vw - 2 * var(--gutter) - 170px));pointer-events:none;align-items:flex-end;gap:12px;display:flex;position:absolute}.core{pointer-events:auto;cursor:pointer;filter:drop-shadow(0 0 14px #7ee8ff73);background:0 0;border:0;border-radius:50%;flex:none;width:84px;height:84px;padding:0}.core canvas{width:100%;height:100%;display:block}.navi-body{flex-direction:column;flex:1;gap:6px;min-width:0;padding-bottom:6px;display:flex}.navi-head{font:600 12px var(--mono);letter-spacing:.26em;color:var(--cyan);text-shadow:0 0 8px #7ee8ff99;align-items:baseline;gap:10px;margin:0;display:flex}.navi-head b{color:var(--text);font-weight:700}.navi-head span{opacity:.85;font-size:10px}.navi-guide{pointer-events:auto;border-radius:var(--r);padding:10px 14px;font-size:14px;font-weight:500;line-height:1.6;position:relative}.navi-guide p{margin:0 0 6px}.navi-guide.in{animation:.3s ease-out rise}.guide-steps{vertical-align:middle;gap:5px;margin-right:12px;display:inline-flex}.guide-steps i{background:var(--hair);border-radius:2px;width:14px;height:3px}.guide-steps i.done{background:var(--cyan)}.guide-steps i.now{background:var(--text);box-shadow:0 0 6px var(--cyan)}.navi-skip{cursor:pointer;color:var(--text-dim);vertical-align:middle;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.navi-log{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.navi-item{-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px var(--hair);background:#08121c99;border-radius:12px;align-self:flex-start;padding:6px 14px;font-size:14px;font-weight:500;line-height:1.5;transition:opacity .6s;animation:.25s ease-out rise}.navi-item:last-child{box-shadow:inset 0 0 0 1px var(--hair-strong), 0 0 18px #7ee8ff2e}.navi-item.ok{color:#dffff0;box-shadow:inset 0 0 0 1px #8dffc473}.navi-item.warn{color:#ffe6bf;box-shadow:inset 0 0 0 1px #ffc2668c}.navi-item.out{opacity:0}.navi-chips{pointer-events:auto;flex-wrap:wrap;gap:6px;display:flex}.navi-chip{border:1px solid var(--hair-strong);cursor:pointer;color:var(--text);-webkit-backdrop-filter:blur(8px);background:#08121c80;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:500}.navi-chip:hover{background:var(--cyan-soft);box-shadow:var(--glow)}#app[data-mode=map] .navi{display:none}.ask{left:50%;top:calc(var(--safe-t) + 16%);z-index:20001;width:min(580px, calc(100vw - 2 * var(--gutter)));box-shadow:0 20px 60px #00000080, var(--glow);border-radius:20px;padding:8px;position:absolute;transform:translate(-50%)}.ask-form{align-items:center;gap:10px;padding:6px 6px 6px 14px;display:flex}.ask-form>.ic{color:var(--cyan);width:20px;height:20px}.ask-form input{background:0 0;border:0;flex:1;min-width:0;padding:8px 0;font-size:17px}.ask-form input::placeholder{color:var(--text-dim)}.ask-form input:focus{outline:none}.ask-close{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.ask-close:hover{color:var(--text);background:var(--cyan-soft)}.ask-results{border-top:1px solid var(--hair);max-height:50vh;margin:4px 0 0;padding:6px 0 0;list-style:none;overflow-y:auto}.ask-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;width:100%;padding:10px 14px;display:grid}.ask-item .ic{color:var(--cyan)}.ask-item:hover,.ask-item:focus-visible{background:var(--cyan-soft);outline:none}.ask-results li:first-child .ask-item{background:#7ee8ff14}.ask-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.ask-dir{color:var(--text-dim);white-space:nowrap;font-size:12px}.ask-empty{color:var(--text-dim);padding:14px;font-size:13px}.hud{right:var(--gutter);bottom:calc(var(--safe-b) + 14px);pointer-events:none;width:150px;height:150px;position:absolute}.gauge{width:100%;height:100%;overflow:visible}.gauge circle{fill:none;transform-box:fill-box;transform-origin:50%}.gauge-ticks{stroke:#96ebff59;stroke-width:4px;stroke-dasharray:.25 1.75;animation:60s linear infinite spin}.gauge-track,.gauge-fill,.gauge-alt-track,.gauge-alt{transform:rotate(135deg)}.gauge-track{stroke:#96ebff24;stroke-width:3px;stroke-dasharray:75 100}.gauge-fill{stroke:var(--cyan);stroke-width:3px;stroke-linecap:round;stroke-dasharray:0 100;filter:drop-shadow(0 0 4px var(--cyan));transition:stroke-dasharray .15s linear}.gauge-alt-track{stroke:#96ebff14;stroke-width:1.5px;stroke-dasharray:75 100}.gauge-alt{stroke:var(--text);stroke-width:1.5px;stroke-dasharray:0 100;opacity:.8;transition:stroke-dasharray .3s}.gauge-read{text-shadow:0 0 12px #7ee8ff8c;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.speed{font:600 42px/1 var(--mono);font-variant-numeric:tabular-nums}.unit{font:600 10px var(--mono);letter-spacing:.3em;color:var(--text-dim);margin-top:2px}.alt{font:600 11px var(--mono);letter-spacing:.14em;color:var(--cyan);margin-top:3px}.gauge-mode{white-space:nowrap;letter-spacing:.1em;color:var(--cyan);text-shadow:0 0 8px #7ee8ff80;font-size:12px;font-weight:600;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.gauge-mode.alert{color:var(--amber);text-shadow:0 0 8px #ffc26699}#app[data-mode=map] .hud,#app[data-mode=map] .touch-buttons,#app[data-mode=map] .aim,#app[data-mode=map] .reticle{display:none}.ride-hint{left:50%;bottom:calc(var(--safe-b) + 110px);pointer-events:none;border-radius:999px;padding:8px 18px 8px 10px;font-size:15px;font-weight:600;position:absolute;transform:translate(-50%)}.ride-hint kbd{margin-right:8px;font-size:13px}.edge-msg{pointer-events:none;text-align:center;border-radius:var(--r);letter-spacing:.06em;color:#ffe0e4;background:linear-gradient(#28080ecc, #28080ecc) padding-box, linear-gradient(135deg, var(--red), #ff7a8a26) border-box;padding:10px 24px;font-size:15px;font-weight:600;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.edge-msg span{font:600 11px var(--mono);letter-spacing:.34em;color:var(--red);display:block}.area-toast{left:50%;top:calc(var(--safe-t) + 112px);pointer-events:none;text-shadow:0 0 18px #7ee8ff99,0 2px 10px #0009;opacity:0;flex-direction:column;align-items:center;padding:4px 60px;transition:opacity .6s;display:flex;position:absolute;transform:translate(-50%)}.area-toast:before,.area-toast:after{content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);width:0;height:1px;transition:width .8s cubic-bezier(.2,.8,.2,1)}.area-toast .t-area{letter-spacing:.24em;padding:6px 0 2px .24em;font-size:32px;font-weight:700;transition:transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(6px)}.area-toast .t-city{letter-spacing:.42em;color:var(--cyan);padding:0 0 6px .42em;font-size:12px;font-weight:600}.area-toast.show{opacity:1}.area-toast.show:before,.area-toast.show:after{width:340px}.area-toast.show .t-area{transform:none}.map-aim,.map-land,.map-frame{display:none}#app[data-mode=map] .map-frame{z-index:1;pointer-events:none;background:radial-gradient(#0000 58%,#04090f80),linear-gradient(#7ee8ff0b 1px,#0000 1px) 0 0/96px 96px,linear-gradient(90deg,#7ee8ff0b 1px,#0000 1px) 0 0/96px 96px;display:block;position:absolute;inset:0}#app[data-mode=map] .map-frame span{left:var(--gutter);bottom:calc(var(--safe-b) + 24px);font:600 11px var(--mono);letter-spacing:.3em;color:var(--cyan);text-shadow:0 0 8px #7ee8ff99;position:absolute}#app[data-mode=map] .map-aim{pointer-events:none;width:52px;height:52px;margin:-26px 0 0 -26px;display:block;position:absolute;top:50%;left:50%}#app[data-mode=map] .map-aim:before{content:"";border:1.5px solid;border-color:var(--cyan) transparent var(--cyan) transparent;filter:drop-shadow(0 0 4px var(--cyan));border-radius:50%;animation:5s linear infinite spin;position:absolute;inset:0}#app[data-mode=map] .map-aim:after{content:"";background:var(--amber);width:10px;height:10px;box-shadow:0 0 10px var(--amber);border-radius:50%;margin:-5px 0 0 -5px;position:absolute;top:50%;left:50%}.map-aim-label{white-space:nowrap;font:600 10px var(--mono);letter-spacing:.26em;color:var(--cyan);text-shadow:0 0 6px #000;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}#app[data-mode=map] .map-land{left:50%;bottom:calc(var(--safe-b) + 24px);border-radius:999px;min-height:48px;padding:10px 26px;font-size:15px;display:inline-flex;position:absolute;transform:translate(-50%)}.sheet{z-index:20000;max-height:62%;padding:18px var(--gutter) calc(var(--safe-b) + 18px);color:var(--text);border-radius:22px 22px 0 0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -10px 40px #00000073}.sheet h2{letter-spacing:.04em;margin:0 40px 8px 0;font-size:20px;font-weight:700}.sheet-close{cursor:pointer;width:36px;height:36px;color:var(--text-dim);background:0 0;border:0;border-radius:10px;font-size:22px;line-height:1;position:absolute;top:10px;right:10px}.sheet-close:hover{color:var(--text);background:var(--cyan-soft)}.spot-kicker{color:var(--cyan);letter-spacing:.06em;align-items:center;gap:6px;margin:0 0 2px;font-size:12px;font-weight:600;display:flex}.spot-kicker .ic{width:15px;height:15px}.spot-name{font-size:22px!important}.spot-dir{color:var(--amber);margin:0 0 10px;font-size:14px;font-weight:500}.spot-tags{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 12px;font-size:14px;display:grid}.spot-tags dt{color:var(--text-dim)}.spot-tags dd{word-break:break-word;margin:0}.spot-actions{gap:8px;margin:12px 0 8px;display:flex}.spot-credit{color:var(--text-dim);margin:4px 0 0;font-size:11px}.place-history{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.place-history li{background:var(--cyan-soft);box-shadow:inset 0 0 0 1px var(--hair);border-radius:12px;padding:10px 14px}.place-history strong{font:600 14px var(--mono);letter-spacing:.06em;color:var(--cyan)}.place-history p{margin:4px 0 0;font-size:14px;line-height:1.7}.place-history .source{color:var(--text-dim);font-size:11px}.spot-search{border:1px solid var(--hair);width:100%;color:var(--text);background:#0000004d;border-radius:12px;padding:11px 16px;font-size:16px}.spot-search::placeholder{color:var(--text-dim)}.spot-search:focus{border-color:var(--hair-strong);box-shadow:var(--glow);outline:none}.chips{scrollbar-width:none;gap:6px;padding:10px 0 6px;display:flex;overflow-x:auto}.chip{border:1px solid var(--hair);cursor:pointer;background:#0003;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.chip .ic{width:14px;height:14px;color:var(--cyan)}.chip[aria-pressed=true]{background:var(--cyan-soft);color:var(--cyan);border-color:var(--hair-strong)}.spot-items{margin:0;padding:0;list-style:none}.spot-item{text-align:left;border:0;border-bottom:1px solid var(--hair);cursor:pointer;background:0 0;grid-template-rows:auto auto;grid-template-columns:32px 1fr;column-gap:8px;width:100%;padding:10px 4px;display:grid}.spot-item:hover{background:var(--cyan-soft)}.spot-item-icon{color:var(--cyan);grid-row:span 2;place-items:center;display:grid}.spot-item-name{font-size:15px;font-weight:600}.spot-item-dir{color:var(--text-dim);font-size:12px}.spot-empty{color:var(--text-dim);padding:16px 0;font-size:14px}.map-overlay{z-index:30000;-webkit-backdrop-filter:blur(4px);padding:calc(var(--safe-t) + 12px) 12px calc(var(--safe-b) + 12px);background:#02060a99;place-items:center;display:grid;position:absolute;inset:0}.map-card{border-radius:22px;width:100%;max-width:720px;padding:14px 12px 12px;position:relative}.map-head h2{margin:0;font-size:18px}.map-head p{color:var(--text-dim);margin:2px 0 10px;font-size:13px}.map-big{cursor:crosshair;touch-action:manipulation;border-radius:14px;margin:0 auto;display:block}.sources{max-width:min(560px,100vw - 32px);color:var(--text);border-radius:22px;padding:24px}.sources::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02060a99}.sources h2{letter-spacing:.04em;margin:0 0 10px;font-size:20px}.sources ul{padding-left:18px;font-size:13px;line-height:1.75}.sources .note{color:var(--text-dim);font-size:12px}.help{max-width:min(680px,100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto}.help h3{color:var(--cyan);letter-spacing:.06em;margin:18px 0 6px;font-size:14px}.help table{border-collapse:collapse;width:100%;font-size:13px}.help th,.help td{text-align:left;vertical-align:top;border-bottom:1px solid var(--hair);padding:7px 8px}.help th{width:42%;font-weight:600}.help kbd{margin-right:2px}.loading{z-index:40000;background:radial-gradient(ellipse at center, #14465f66, transparent 65%), var(--bg);place-items:center;transition:opacity .5s;display:grid;position:absolute;inset:0}.loading.done{opacity:0;pointer-events:none}.boot{text-align:center;width:min(420px,100vw - 48px)}.boot-rings{width:180px;height:180px;margin:0 auto 18px;display:block;overflow:visible}.boot-rings circle{fill:none;transform-box:fill-box;transform-origin:50%}.br{stroke:#96ebff66;stroke-width:1px}.br1{stroke-dasharray:30 8 4 8;animation:14s linear infinite spin}.br2{stroke-dasharray:2 2;opacity:.6;animation:30s linear infinite reverse spin}.br3{stroke-dasharray:46 54;stroke:#96ebffb3;animation:5s linear infinite spin}.br-prog{stroke:var(--cyan);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:0 100;filter:drop-shadow(0 0 6px var(--cyan));transition:stroke-dasharray .4s ease-out;transform:rotate(-90deg)}.boot-rings .br-core{fill:#7ee8ffd9;filter:drop-shadow(0 0 18px var(--cyan)) drop-shadow(0 0 40px #7ee8ff99);animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.65;transform:scale(.92)}}.boot-kicker{font:600 11px var(--mono);letter-spacing:.34em;color:var(--cyan);margin:0 0 6px}.boot-title{letter-spacing:.2em;text-shadow:0 0 24px #7ee8ff80;margin:0 0 14px;font-size:clamp(26px,5vw,36px);font-weight:700}.boot-status{color:var(--text-dim);justify-content:center;gap:14px;margin:0;font-size:13px;display:flex}.boot-pct{font:600 14px var(--mono);color:var(--cyan)}.loading.fail .br-prog{stroke:var(--red);filter:drop-shadow(0 0 6px var(--red))}.loading.fail .boot-rings .br-core{fill:#ff7a8ad9}.loading.fail .boot-status{color:#ffd6dc}.fade{z-index:10000;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.fade.on{opacity:1}.fps{z-index:50;color:#fff;background:#000a;border-radius:4px;padding:2px 6px;font:12px ui-monospace,monospace;position:absolute;bottom:8px;left:8px}.joystick{left:calc(var(--gutter) + 6px);bottom:calc(var(--safe-b) + 26px);touch-action:none;width:120px;height:120px;box-shadow:inset 0 0 0 1px var(--hair-strong), var(--glow);background:radial-gradient(circle,#7ee8ff12,#08121c66);border-radius:50%;position:absolute}.joystick-knob{pointer-events:none;width:48px;height:48px;box-shadow:inset 0 0 0 1.5px var(--cyan), 0 0 14px #7ee8ff80;background:#7ee8ff38;border-radius:50%;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.touch-buttons,.rotate{display:none}@media (pointer:coarse){:root{--radar:92px;--gutter:12px}.touch-buttons{right:calc(var(--gutter) + 6px);bottom:calc(var(--safe-b) + 16px);grid-template-rows:64px 76px;grid-template-columns:64px 76px;place-items:end;gap:10px;display:grid;position:absolute}.tb{touch-action:none;-webkit-user-select:none;user-select:none;width:64px;height:64px;color:var(--text);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--hair-strong);background:#08121c80;border:0;border-radius:50%;font-size:11px;font-weight:600}.tb.on{box-shadow:inset 0 0 0 1.5px var(--cyan), 0 0 18px var(--cyan);background:#7ee8ff4d}.tb-jump{width:76px;height:76px;font-size:13px}.tb-ride{width:76px;height:52px;box-shadow:inset 0 0 0 1.5px var(--amber);color:var(--amber);border-radius:14px;position:absolute;top:-70px;right:0}.tb-ride[hidden]{display:none}.radar{top:calc(var(--safe-t) + 12px);left:calc(var(--gutter) + 6px)}.radar:before{inset:-6px}.radar-label{font-size:10px;top:calc(100% + 9px)}.loc{top:calc(var(--safe-t) + 12px + var(--radar) + 26px);padding-left:8px}.loc:before{display:none}.loc-area{font-size:14px}.loc-sub{max-width:180px;font-size:10px}.tools{top:calc(var(--safe-t) + 10px);gap:6px}.tool{min-height:38px;padding:6px 12px;font-size:13px}.tool.icon{width:38px}.menu-panel{top:46px}.hud{top:calc(var(--safe-t) + 54px);width:92px;height:92px;bottom:auto}.speed{font-size:24px}.unit,.alt{font-size:8px}.gauge-mode{font-size:10px;bottom:-6px}.navi{left:50%;bottom:calc(var(--safe-b) + 10px);gap:8px;width:min(440px,100vw - 330px);transform:translate(-50%)}.core{width:56px;height:56px}.navi-head{display:none}.navi-guide{padding:8px 10px;font-size:12.5px}.navi-item{padding:5px 10px;font-size:12.5px}.navi-chip{padding:3px 10px;font-size:11.5px}.ask{top:calc(var(--safe-t) + 8px)}.ask-results{max-height:calc(100vh - 110px)}.area-toast{top:28%}.area-toast .t-area{font-size:24px}.area-toast.show:before,.area-toast.show:after{width:220px}.ride-hint{display:none}}@media (pointer:coarse) and (orientation:portrait){.rotate{z-index:50000;text-align:center;background:var(--bg);color:var(--text);place-items:center;padding:24px;font-size:18px;font-weight:600;display:grid;position:absolute;inset:0}}@media (width>=900px){.sheet{left:auto;right:var(--gutter);top:calc(var(--safe-t) + 72px);width:400px;max-height:calc(100% - 100px - var(--safe-t));border-radius:22px;bottom:auto}}@media (prefers-reduced-motion:reduce){.radar:before,.radar-sweep,.rt-ring,.gauge-ticks,.br1,.br2,.br3,.boot-rings .br-core,#app[data-mode=map] .map-aim:before,.scan.run{animation:none!important}}
