@font-face{font-family:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:400;src:url(./grenze-gotisch-vietnamese-400-normal-BHUi7iiM.woff2)format("woff2"),url(./grenze-gotisch-vietnamese-400-normal-biYcRfiQ.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:400;src:url(./grenze-gotisch-latin-ext-400-normal-nkBwhmy9.woff2)format("woff2"),url(./grenze-gotisch-latin-ext-400-normal-BnYtKkKp.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:Grenze Gotisch;font-style:normal;font-display:swap;font-weight:400;src:url(./grenze-gotisch-latin-400-normal-DSoA1cgj.woff2)format("woff2"),url(./grenze-gotisch-latin-400-normal-Os5B1Pqw.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:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-ext-400-normal-DN8azYTI.woff2)format("woff2"),url(./alegreya-cyrillic-ext-400-normal-Cj1kF6KR.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-400-normal-72Io3whm.woff2)format("woff2"),url(./alegreya-cyrillic-400-normal-VT77nruV.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-greek-ext-400-normal-ueNFnE5s.woff2)format("woff2"),url(./alegreya-greek-ext-400-normal-UcF-MPys.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-greek-400-normal-BI7tMDVB.woff2)format("woff2"),url(./alegreya-greek-400-normal-BTnTTGc4.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-vietnamese-400-normal-D8CgJdBg.woff2)format("woff2"),url(./alegreya-vietnamese-400-normal-D-Jsyxvv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-latin-ext-400-normal-BJ1luULk.woff2)format("woff2"),url(./alegreya-latin-ext-400-normal-I24-Fo_X.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:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-latin-400-normal-BLlBRtDv.woff2)format("woff2"),url(./alegreya-latin-400-normal-BuQWlRPA.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:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-ext-400-italic-CJ53xJ73.woff2)format("woff2"),url(./alegreya-cyrillic-ext-400-italic-281qz-PX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-cyrillic-400-italic-CzOFVsaV.woff2)format("woff2"),url(./alegreya-cyrillic-400-italic-DSxbt1-2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-greek-ext-400-italic-BqZ1xVE4.woff2)format("woff2"),url(./alegreya-greek-ext-400-italic-EKR1I7m6.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-greek-400-italic-DpcfyKEk.woff2)format("woff2"),url(./alegreya-greek-400-italic-D9g29fJh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-vietnamese-400-italic-CJsk7YCA.woff2)format("woff2"),url(./alegreya-vietnamese-400-italic-DD2hiUnx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-latin-ext-400-italic-Cf8WgXZg.woff2)format("woff2"),url(./alegreya-latin-ext-400-italic-BQgzjtbe.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:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(./alegreya-latin-400-italic-BXpar-rJ.woff2)format("woff2"),url(./alegreya-latin-400-italic-CJvUQvZT.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:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-cyrillic-ext-400-normal-vmCaJxaz.woff2)format("woff2"),url(./alegreya-sc-cyrillic-ext-400-normal-C81l-b9X.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-cyrillic-400-normal-BuwFTJ-C.woff2)format("woff2"),url(./alegreya-sc-cyrillic-400-normal-DTm7YXDE.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-greek-ext-400-normal-Cuqq85d-.woff2)format("woff2"),url(./alegreya-sc-greek-ext-400-normal-Dn4RO-WY.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-greek-400-normal-Czqil7F1.woff2)format("woff2"),url(./alegreya-sc-greek-400-normal-DA1JOiUf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-vietnamese-400-normal-DH5FLsfB.woff2)format("woff2"),url(./alegreya-sc-vietnamese-400-normal-CB3bhx9V.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-latin-ext-400-normal-C04UOZ-T.woff2)format("woff2"),url(./alegreya-sc-latin-ext-400-normal-DUSFfJLy.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:Alegreya SC;font-style:normal;font-display:swap;font-weight:400;src:url(./alegreya-sc-latin-400-normal-nTGC35F9.woff2)format("woff2"),url(./alegreya-sc-latin-400-normal-eVOwGI7S.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--veil:#0006;--window:#17140f;--sidebar:#120f0c;--surface-side:#120f0c;--field:#221d17;--raised:#fff0d20a;--raised-hover:#fff0d214;--line:#fff0d214;--line-strong:#fff0d229;--text:#ece3d1;--text-dim:#ece3d194;--gold:#c99a2e;--gold-bright:#e4b955;--ink:#241810;--rubric:#b8382b;--arcane:#7fe3d0;--map-ground:#17130f;--map-open:#221d18;--map-street:#342d25;--map-building:#54473a;--map-building-edge:#2a221b;--map-water:#1d3a40;--map-water-edge:#2c5259;--map-edge:#ece3d1d9;--map-beyond:#17130f9e;--hud-text:#f4e7c9;--hud-dim:#f4e7c99e;--hud-shadow:0 1px 2px #000000e6, 0 0 12px #0000008c;--hud-plate:#1a110a8c;--font-display:"Grenze Gotisch", "UnifrakturMaguntia", Georgia, serif;--font-body:"Alegreya", Georgia, "Times New Roman", serif;--font-label:"Alegreya SC", "Alegreya", Georgia, serif;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step--1:.8125rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.6rem;--step-3:2.4rem;--step-4:3.6rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:20px;--space-5:32px;--space-6:52px;--radius-sm:3px;--radius:3px;--edge-safe:max(16px, env(safe-area-inset-left,0px));--ease-out:cubic-bezier(.2, .7, .2, 1);--dur-fast:.12s;--dur-med:.26s}.menu-button{z-index:15;align-items:center;gap:var(--space-2);font:500 13px / 1 var(--font-ui);color:var(--hud-text);background:var(--hud-plate);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;padding:6px 10px;display:inline-flex;position:fixed;bottom:18px;right:20px}.menu-button:hover{border-color:var(--text-dim)}.menu-button kbd,.menu kbd{min-width:1.9em;font:500 12px / 1.4 var(--font-ui);text-align:center;color:var(--text);background:var(--field);border:1px solid var(--line-strong);border-radius:4px;padding:1px 6px}.menu{width:min(800px,100vw - 16px);max-width:none;height:min(540px,100dvh - 16px);max-height:none;font:14px / 1.4 var(--font-ui);color:var(--text);background:var(--window);border:1px solid var(--line-strong);border-radius:8px;padding:0;overflow:hidden;box-shadow:0 20px 60px #0009}.menu::backdrop{background:var(--veil)}.menu[open]{animation:menu-in var(--dur-fast) var(--ease-out)}@keyframes menu-in{0%{opacity:0;transform:scale(.98)}}body:has(.menu[open]) .hud,body:has(.menu[open]) .play-hint,body:has(.menu[open]) .menu-button{visibility:hidden}.menu__content{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.menu__content[inert]{filter:blur(2px)saturate(.7)}.menu button,.menu select{font:inherit}.menu :focus-visible{outline:2px solid var(--gold-bright);outline-offset:1px}.menu__titlebar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:44px;padding:0 8px 0 16px;display:flex}.menu__titlebar h2{font-family:var(--font-label);letter-spacing:.08em;color:var(--gold-bright);margin:0;font-size:17px;font-weight:400}.menu__close{width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;font-size:20px;line-height:1}.menu__close:hover{color:var(--text);background:var(--raised-hover)}.menu__body{grid-template-columns:160px minmax(0,1fr);min-height:0;display:grid}.menu__tabs{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:2px;min-height:0;padding:8px;display:flex;overflow-y:auto}.menu__tab{text-align:left;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:7px 10px}.menu__tab:hover{color:var(--text);background:var(--raised)}.menu__tab[aria-selected=true]{color:var(--gold-bright);background:var(--raised-hover);font-weight:600}.menu__panels{min-height:0;padding:4px 20px 16px;overflow-y:auto}.menu__panel[hidden]{display:none}.menu__panels:has(.menu__panel--map:not([hidden])){padding:0;overflow:hidden}.menu__panel--map{height:100%}.menu__group{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin:16px 0 4px;font-size:11px;font-weight:600}.menu__row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(170px,46%);min-height:40px;display:grid}.menu__row>:last-child{justify-self:start}.menu__note{color:var(--text-dim);margin:4px 0}.menu__wide{min-width:0}.menu__select{width:100%;min-width:0;color:var(--text);background:var(--field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23e9dcc0' stroke-opacity='.6' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center / 10px;border:1px solid var(--line-strong);appearance:none;cursor:pointer;border-radius:4px;padding:5px 28px 5px 10px}.menu__select:hover{border-color:var(--text-dim)}.menu__select option{color:var(--text);background:var(--window)}.menu__check{appearance:none;background:var(--field);border:1px solid var(--line-strong);cursor:pointer;border-radius:4px;width:18px;height:18px;margin:0;position:relative}.menu__check:hover{border-color:var(--text-dim)}.menu__check:checked{background:var(--gold);border-color:var(--gold)}.menu__check:checked:after{content:"";border:solid var(--ink);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.menu__foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.menu__spacer{flex:1}.menu__button{min-width:92px;color:var(--text);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-weight:500}.menu__button:hover{background:var(--raised-hover)}.menu__button[hidden]{display:none}.menu__button--main{color:var(--ink);background:var(--gold);border-color:var(--gold)}.menu__button--main:hover{background:var(--gold-bright);border-color:var(--gold-bright)}.menu__slider{align-items:center;gap:var(--space-3);width:100%;display:flex}.menu__slider input{--fill:50%;appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:20px;margin:0}.menu__slider input::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--gold) var(--fill), var(--line-strong) var(--fill));border-radius:2px;height:4px}.menu__slider input::-moz-range-track{background:linear-gradient(90deg, var(--gold) var(--fill), var(--line-strong) var(--fill));border-radius:2px;height:4px}.menu__slider input::-webkit-slider-thumb{appearance:none;background:var(--gold-bright);border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 0 3px #00000059,0 1px 3px #00000080}.menu__slider input::-moz-range-thumb{background:var(--gold-bright);border:0;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #00000059,0 1px 3px #00000080}.menu__value{font-variant-numeric:tabular-nums;text-align:right;min-width:3.4em;color:var(--text)}.menu__keys{gap:6px var(--space-4);padding:var(--space-1) 0;grid-template-columns:max-content 1fr;align-items:center;margin:0;display:grid}.menu__keys dt,.menu__keys dd{margin:0}.menu__keys dt{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.menu__keys dd,.menu__or{color:var(--text-dim)}.menu__busy{place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-5);text-align:center;animation:busy-in var(--dur-med) var(--ease-out) .12s backwards;background:#090705b8;display:grid;position:absolute;inset:0}.menu__busy[hidden]{display:none}@keyframes busy-in{0%{opacity:0}}.menu__sun{background:radial-gradient(circle, var(--gold) 0 30%, transparent 31%), repeating-conic-gradient(var(--gold) 0 6deg, transparent 6deg 30deg);border-radius:50%;width:64px;height:64px;animation:6s linear infinite sun-turn;-webkit-mask-image:radial-gradient(circle,#000 0 62%,#0000 70%);mask-image:radial-gradient(circle,#000 0 62%,#0000 70%)}@keyframes sun-turn{to{transform:rotate(1turn)}}.menu__busy-label{font-size:var(--step-1);margin:0;font-weight:400}.menu__busy-track{background:var(--line-strong);width:220px;height:3px;position:relative;overflow:hidden}.menu__busy-bar{background:var(--gold);width:0;height:100%;transition:width var(--dur-fast) linear}.menu__busy[data-waiting=true] .menu__busy-bar{width:30%;animation:busy-wait 1.2s var(--ease-out) infinite}@keyframes busy-wait{0%{transform:translate(-100%)}to{transform:translate(340%)}}.menu__busy-count{font-variant-numeric:tabular-nums;min-height:1.3em;color:var(--text-dim)}.map-view{background:var(--map-ground);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.map-view:active{cursor:grabbing}.map-view__plan{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-view__boundary{fill:var(--map-open)}.map-view__streets{fill:none;stroke:var(--map-street);stroke-width:5px;stroke-linejoin:round;stroke-linecap:round}.map-view__water{fill:var(--map-water);stroke:var(--map-water-edge);stroke-width:.5px}.map-view__bridge{fill:none;stroke:var(--map-street)}.map-view__buildings{fill:var(--map-building);stroke:var(--map-building-edge);stroke-width:.35px}.map-view__landmarks{fill:var(--gold);fill-opacity:.55;stroke:var(--gold-bright);stroke-width:.6px}.map-view__beyond{fill:var(--map-beyond);fill-rule:evenodd}.map-view__edge-halo,.map-view__edge{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-view__edge-halo{stroke:var(--map-ground);stroke-opacity:.8;stroke-width:4px}.map-view__edge{stroke:var(--map-edge);stroke-width:1.5px;stroke-dasharray:7 4}.map-view__plan [data-name]{pointer-events:visiblePainted}.map-view__plan [data-name]:hover{fill-opacity:.8;stroke-width:2px;vector-effect:non-scaling-stroke}.map-view__marker{z-index:1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:28px;height:28px;padding:0;position:absolute;transform:translate(-50%,-50%)}.map-view__marker:before{content:"";background:var(--gold-bright);box-shadow:0 0 0 2px var(--map-ground), 0 1px 4px #0009;transition:inset var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;inset:9px}.map-view__marker:hover:before,.map-view__marker:focus-visible:before,.map-view__marker[data-found]:before{inset:7px}.map-view__marker[data-found]:after{content:"";border:2px solid var(--gold-bright);animation:found 1.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes found{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}.map-view__marker[hidden],.map-view__player[hidden]{display:none}.map-view__label,.map-view__building-label{font:500 12px / 1.3 var(--font-ui);white-space:nowrap;color:var(--text);background:var(--surface-side);border:1px solid var(--line-strong);border-radius:4px;padding:3px 8px;box-shadow:0 2px 8px #00000080}.map-view__label{visibility:hidden;position:absolute}.map-view__marker:hover,.map-view__marker:focus-visible,.map-view__marker[data-found]{z-index:3}.map-view__marker:hover .map-view__label,.map-view__marker:focus-visible .map-view__label,.map-view__marker[data-found] .map-view__label{visibility:visible}.map-view__building-label{z-index:5;pointer-events:none;position:absolute}.map-view__player{z-index:2;color:#fff8ea;text-shadow:0 0 6px var(--gold), 0 1px 2px #000000e6;pointer-events:none;font-size:22px;line-height:1;position:absolute}.map-view__find{top:var(--space-3);left:var(--space-3);z-index:6;width:min(240px, calc(100% - 2 * var(--space-3)));cursor:auto;position:absolute}.map-view__search{width:100%;padding:7px var(--space-3) 7px 32px;font:inherit;color:var(--text);background:no-repeat 11px 50% / 15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23efe6d4' stroke-opacity='.6' stroke-width='1.6'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 4 4'/%3E%3C/svg%3E"), var(--surface-side);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:.88rem}.map-view__search::placeholder{color:var(--text-dim)}.map-view__results{max-height:min(320px,50vh);margin:var(--space-1) 0 0;padding:var(--space-1);background:var(--surface-side);border:1px solid var(--line-strong);border-radius:var(--radius);list-style:none;overflow-y:auto;box-shadow:0 8px 24px #00000080}.map-view__results button{width:100%;padding:7px var(--space-3);text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:.94rem}.map-view__results button:hover,.map-view__results button:focus-visible{background:var(--raised-hover);outline:none}.map-view__none{padding:7px var(--space-3);font-size:var(--step--1);color:var(--text-dim)}.map-view__tools{top:var(--space-3);right:var(--space-3);z-index:4;justify-content:flex-end;gap:var(--space-1);cursor:auto;flex-wrap:wrap;max-width:calc(100% - 270px);display:flex;position:absolute}.map-view__tools button,.map-view__north{min-width:32px;min-height:32px;padding:0 var(--space-2);color:var(--text);background:var(--surface-side);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:.86rem}.map-view__tools button{cursor:pointer}.map-view__tools button:hover{border-color:var(--text-dim)}.map-view__north{font-family:var(--font-display);font-size:var(--step-1);color:var(--gold-bright);place-items:center;padding:0;display:grid}.map-view__key{bottom:var(--space-2);left:var(--space-2);z-index:4;align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex;position:absolute}.map-view__legend,.map-view__hint,.map-view__credit{padding:3px var(--space-2);color:var(--text-dim);background:var(--surface-side);border-radius:var(--radius-sm);margin:0;font-size:.72rem}.map-view__hint,.map-view__credit{pointer-events:none}.map-view__legend{align-items:center;gap:var(--space-2);color:var(--text);cursor:help;display:flex}.map-view__legend-line{border-top:1.5px dashed var(--map-edge);width:22px}.map-view__credit{right:var(--space-2);bottom:var(--space-2);z-index:4;position:absolute}@media (width<=600px){.menu__body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.menu__tabs{flex-direction:row;overflow-x:auto}.menu__tab{flex:none}.menu__row{grid-template-columns:minmax(0,1fr) 52%}.menu__button{min-width:0}.map-view__tools{top:auto;bottom:var(--space-2);max-width:calc(100% - 2 * var(--space-2))}.map-view__hint{display:none}.map-view__key{bottom:calc(var(--space-2) + 32px + var(--space-1))}.map-view__credit{top:52px;bottom:auto}}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#120c08;height:100%;margin:0;overflow:hidden}body{font-family:var(--font-body);color:var(--hud-text)}canvas{touch-action:none;display:block}.hud{pointer-events:none;text-shadow:var(--hud-shadow);position:fixed;inset:0}.crosshair{background:var(--hud-text);opacity:.75;width:6px;height:6px;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast);border-radius:50%;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #00000080}.compass{top:calc(var(--space-4) + env(safe-area-inset-top,0px));background:linear-gradient(90deg, transparent, var(--hud-plate) 18%, var(--hud-plate) 82%, transparent);width:min(440px,70vw);height:34px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}.compass__tape{position:absolute;inset:0}.compass__mark{font-family:var(--font-label);font-size:var(--step--1);color:var(--hud-dim);position:absolute;top:50%;transform:translate(-50%,-50%)}.compass__mark[data-cardinal=true]{font-family:var(--font-display);font-size:var(--step-1);color:var(--hud-text)}.compass__needle{background:var(--rubric);width:2px;height:8px;margin-left:-1px;position:absolute;bottom:0;left:50%}.place{top:calc(var(--space-4) + 40px + env(safe-area-inset-top,0px));font-family:var(--font-label);font-size:var(--step--1);letter-spacing:.14em;color:var(--hud-dim);white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)}.look{top:calc(var(--space-4) + 64px + env(safe-area-inset-top,0px));font-family:var(--font-body);font-style:italic;font-size:var(--step-0);color:var(--hud-text);text-shadow:var(--hud-shadow);white-space:nowrap;opacity:0;transition:opacity var(--dur-med) var(--ease-out);position:absolute;left:50%;transform:translate(-50%)}.look[data-show=true]{opacity:1}.prompt{top:calc(50% + var(--space-5));align-items:center;gap:var(--space-2);font-family:var(--font-body);font-style:italic;font-size:var(--step-0);color:var(--hud-text);text-shadow:var(--hud-shadow);white-space:nowrap;opacity:0;transition:opacity var(--dur-med) var(--ease-out);display:flex;position:absolute;left:50%;transform:translate(-50%)}.prompt[data-show=true]{opacity:1}.prompt kbd{font-family:var(--font-label);font-style:normal;font-size:var(--step--1);padding:0 var(--space-1);border:1px solid var(--hud-dim);border-radius:3px}.running{left:max(var(--space-4), env(safe-area-inset-left,0px));bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));font-family:var(--font-label);font-size:var(--step--1);letter-spacing:.12em;color:var(--gold);position:absolute}.toast{font-family:var(--font-body);font-style:italic;font-size:var(--step-1);text-align:center;opacity:0;max-width:min(640px,86vw);transition:opacity var(--dur-med) var(--ease-out);position:absolute;top:22%;left:50%;transform:translate(-50%)}.toast[data-show=true]{opacity:1}.perf-overlay{top:calc(var(--space-3) + env(safe-area-inset-top,0px));left:var(--edge-safe);z-index:15;padding:var(--space-1) var(--space-2);white-space:pre;color:var(--hud-text);background:var(--hud-plate);pointer-events:none;font:11px/1.45 ui-monospace,SF Mono,Menlo,monospace;position:fixed}.loading{z-index:30;font-family:var(--font-label);letter-spacing:.2em;color:var(--hud-dim);transition:opacity var(--dur-med) var(--ease-out);background:#120c08;place-items:center;display:grid;position:fixed;inset:0}.loading[data-done=true]{opacity:0;pointer-events:none}.loading-panel{gap:var(--space-3);width:min(360px, calc(100vw - 2 * var(--edge-safe)));text-align:center;display:grid}.loading-title{font-family:var(--font-display);font-size:var(--step-3);letter-spacing:.04em;color:var(--hud-text)}.loading-track{background:#f4e7c924;height:3px;overflow:hidden}.loading-bar{background:var(--gold);width:0;height:100%;transition:width var(--dur-fast) linear}.loading-label{min-height:1.4em;font-size:var(--step--1);letter-spacing:.08em}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.play-hint{z-index:8;color:var(--hud-text);text-shadow:var(--hud-shadow);pointer-events:none;font-size:13px;position:fixed;bottom:16px;left:18px}.touch{z-index:5;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}.touch[hidden]{display:none}.touch-stick{left:calc(max(var(--space-5), env(safe-area-inset-left,0px)) + 52px);top:calc(100% - max(var(--space-5), env(safe-area-inset-bottom,0px)) - 52px);border:1px solid var(--hud-dim);background:var(--hud-plate);opacity:.45;pointer-events:none;width:104px;height:104px;transition:opacity var(--dur-fast) var(--ease-out);border-radius:50%;margin:-52px 0 0 -52px;position:absolute}.touch-stick[data-active=true]{opacity:.9;transition:none}.touch-stick__knob{background:var(--hud-text);border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%;box-shadow:0 1px 6px #0009}.touch-stick[data-run=true]{border-color:var(--gold)}.touch-stick[data-run=true] .touch-stick__knob{background:var(--gold)}.touch-btn{border:1px solid var(--gold);font-size:var(--step-1);color:var(--hud-text);background:var(--hud-plate);text-shadow:var(--hud-shadow);touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.touch-btn[hidden]{display:none}.touch-btn[data-down=true]{color:var(--ink);background:var(--gold);text-shadow:none}.touch-btn--jump{right:max(var(--space-5), env(safe-area-inset-right,0px));bottom:max(var(--space-5), env(safe-area-inset-bottom,0px));width:76px;height:76px}.touch-btn--down{right:calc(max(var(--space-5), env(safe-area-inset-right,0px)) + 90px);bottom:max(var(--space-5), env(safe-area-inset-bottom,0px));width:60px;height:60px}.touch-mode .menu-button{top:calc(var(--space-3) + env(safe-area-inset-top,0px));right:max(var(--space-4), env(safe-area-inset-right,0px));-webkit-tap-highlight-color:transparent;bottom:auto}.touch-mode .play-hint{gap:var(--space-2);text-align:center;width:min(420px,80vw);font-size:var(--step-0);display:grid;top:32%;bottom:auto;left:50%;transform:translate(-50%)}.touch-mode .keys-only,body:not(.touch-mode) .touch-only,.portrait-only{display:none}@media (orientation:portrait){.touch-mode .portrait-only{color:var(--hud-dim);display:block}.touch-mode .compass{width:56vw}.touch-mode .perf-overlay{top:calc(var(--space-4) + 40px + env(safe-area-inset-top,0px))}}
