.mapapp{--side-w:340px;color:#e4edf3;color-scheme:dark;isolation:isolate;background:#050c13;grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;display:grid;position:relative;overflow:hidden}.mapapp--full{position:absolute;inset:0}.mapapp--framed{border:1px solid #8fb8d029;border-radius:14px;height:min(86dvh,900px);min-height:520px;box-shadow:0 30px 80px -30px #000c}.mapapp--hero{border-bottom:1px solid #8fb8d029;height:calc(100dvh - 60px);min-height:560px}@media (width<=63.99rem){.mapapp--hero{height:calc(100svh - 132px);min-height:480px}}.hud--bc{color:#e4edf3d9;white-space:nowrap;backdrop-filter:none;background:#0a1620d1;border:1px solid #8fb8d033;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s,transform .15s;display:inline-flex;bottom:14px;left:50%;transform:translate(-50%)}@media (width<=24rem){.hud--bc{padding:.4rem .7rem;font-size:.75rem}}.hud--bc:hover{background:#0a1620f2;transform:translate(-50%)translateY(-1px)}.hud--bc svg{width:14px;height:14px;animation:1.8s ease-in-out infinite hud-bob}@keyframes hud-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.hud--bc svg{animation:none}}@media (width<=63.99rem){.mapapp--hero .hud--bc{bottom:10px}}@media (width>=64rem){.mapapp{grid-template-columns:var(--side-w) 1fr}}.mapapp.is-fullscreen{border-radius:0}.side{min-height:0;max-height:100%;width:min(var(--side-w), 88vw);z-index:30;background:#0a1620;border-right:1px solid #8fb8d01f;flex-direction:column;transition:transform .32s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0 auto 0 0;transform:translate(-104%)}.side-open .side{transform:none}@media (width>=64rem){.side{width:auto;position:relative;transform:none}}@media (prefers-reduced-motion:reduce){.side{transition:none}}.scrim{z-index:25;opacity:0;pointer-events:none;background:#03080e8c;transition:opacity .25s;position:absolute;inset:0}.side-open .scrim{opacity:1;pointer-events:auto}@media (width>=64rem){.scrim{display:none}}.side__top{align-items:center;gap:.5rem;padding:.875rem .875rem .5rem;display:flex}.side__title{letter-spacing:-.01em;flex:1;align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;display:flex}.side__logo{color:#46c8bb;width:22px;height:22px}.side__close{color:#9fb4c3;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.side__close:hover{color:#fff;background:#ffffff0f}.side__close svg{width:18px;height:18px}@media (width>=64rem){.side__close{display:none}}.side__search{margin:.25rem .875rem .5rem;position:relative}.side__search-icon{color:#6b8395;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.side__search input{color:#e4edf3;background:#10212e;border:1px solid #8fb8d024;border-radius:10px;outline:none;width:100%;height:42px;padding:0 2.5rem 0 2.375rem;font-size:.9375rem;transition:border-color .15s}.side__search input::placeholder{color:#6b8395}.side__search input:focus{border-color:#46c8bb}.side__search input::-webkit-search-cancel-button{-webkit-appearance:none}.side__search kbd{font-family:var(--font-mono);color:#6b8395;border:1px solid #8fb8d033;border-radius:5px;padding:.125rem .375rem;font-size:.6875rem;position:absolute;top:50%;right:.625rem;transform:translateY(-50%)}.results{z-index:5;background:#0d1c29;border:1px solid #8fb8d033;border-radius:10px;max-height:50vh;padding:.25rem;position:absolute;top:calc(100% + .375rem);left:0;right:0;overflow:auto;box-shadow:0 16px 40px -10px #000000b3}.results button,.detail__nearby button{text-align:left;color:#e4edf3;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;width:100%;padding:.5rem .625rem;font-size:.875rem;display:grid}.results button:hover,.detail__nearby button:hover{background:#ffffff0f}.results button small,.detail__nearby button small{color:#6b8395;white-space:nowrap;font-size:.75rem}.results__dot{background:var(--c,#fff);border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 2px #00000059}.results__empty{color:#9fb4c3;margin:0;padding:.75rem;font-size:.875rem}.side__scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8fb8d040 transparent;flex:auto;padding:0 .875rem 1rem;overflow-y:auto}.side__block{border-top:1px solid #8fb8d01a;padding:.875rem 0}.side__block:first-child{border-top:0}.side__row{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.side__h{letter-spacing:.06em;text-transform:uppercase;color:#6b8395;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.side__row .side__h{margin:0}.side__out{color:#9fb4c3;font-size:.8125rem}.side__mini{color:#6b8395;gap:.375rem;font-size:.75rem;display:flex}.side__mini button{color:#9fb4c3;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.side__mini button:hover{color:#46c8bb}.range{accent-color:#46c8bb;width:100%;height:28px}.catgroup{margin-top:.75rem}.catgroup__h{color:#9fb4c3;margin:0 0 .375rem;font-size:.75rem;font-weight:500}.catgroup__grid{grid-template-columns:1fr 1fr;gap:.25rem;display:grid}.cat{color:#9fb4c3;cursor:pointer;text-align:left;background:#0f1e2a;border:1px solid #0000;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;min-width:0;padding:.4375rem .5rem;font-size:.8125rem;transition:background-color .15s,color .15s,border-color .15s;display:grid}.cat:hover{border-color:#8fb8d040}.cat[aria-pressed=true]{color:#e4edf3;background:color-mix(in oklab, var(--c) 14%, #0f1e2a);border-color:color-mix(in oklab, var(--c) 40%, transparent)}.cat__icon{color:#6b8395;background:#ffffff0d;border-radius:6px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.cat[aria-pressed=true] .cat__icon{background:var(--c);color:#06111a}.cat__icon svg{width:14px;height:14px}.cat__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat__count{color:#6b8395;font-size:.6875rem}.switch{color:#c7d4de;cursor:pointer;user-select:none;align-items:center;gap:.625rem;padding:.375rem 0;font-size:.875rem;display:flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch__track{background:#22384a;border-radius:999px;flex:none;width:34px;height:20px;transition:background-color .2s;position:relative}.switch__track:after{content:"";background:#9fb4c3;border-radius:50%;width:14px;height:14px;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s;position:absolute;top:3px;left:3px}.switch input:checked+.switch__track{background:#46c8bb}.switch input:checked+.switch__track:after{background:#052523;transform:translate(14px)}.switch input:focus-visible+.switch__track{outline-offset:2px;outline:2px solid #46c8bb}.progress{background:#16293a;border-radius:999px;height:6px;margin:.25rem 0 .5rem;overflow:hidden}.progress__bar{background:#46c8bb;border-radius:999px;width:0;height:100%;transition:width .4s cubic-bezier(.16,1,.3,1);display:block}.side__textbtn{color:#6b8395;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:.25rem 0;font-size:.8125rem;text-decoration:underline}.side__textbtn:hover{color:#e2655a}.goto{grid-template-columns:1fr auto;gap:.375rem;display:grid}.goto input{color:#e4edf3;background:#10212e;border:1px solid #8fb8d024;border-radius:10px;outline:none;min-width:0;height:42px;padding:0 .75rem;font-size:.875rem}.goto input:focus{border-color:#46c8bb}.goto input.is-invalid{border-color:#e2655a;animation:.3s shake}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.goto__btn{width:42px;min-height:42px;padding:0}.goto__btn svg{width:18px;height:18px}.side__hint{color:#6b8395;margin:.5rem 0 0;font-size:.75rem}.side__hint a{color:#9fb4c3;text-underline-offset:3px;text-decoration:underline}.side__kbd{font-family:var(--font-mono);font-size:.6875rem}.stage{min-width:0;min-height:0;position:relative}.map{z-index:0;isolation:isolate;cursor:grab;background:#050c13;font-family:inherit;position:absolute;inset:0}.map:active{cursor:grabbing}.leaflet-container{font-family:inherit;background:#050c13!important}.world-svg{image-rendering:auto}.hud__credit{color:#e4edf38c;white-space:nowrap;background:#050c1399;border-radius:6px;padding:.2rem .45rem;font-size:10px;text-decoration:none}.hud__credit:hover{color:var(--text)}.biomes-off .world-svg{filter:saturate(.25)brightness(.8)}.biome-hit{cursor:pointer;transition:fill-opacity .15s}.biome-label,.inset-title{pointer-events:none}.finder{width:100%;min-height:40px;color:inherit;font:inherit;background:#050c1399;border:1px solid #8fb8d033;border-radius:10px;padding:.5rem .625rem;font-size:.875rem}.finder__out{color:#e4edf3cc;margin-top:.625rem;font-size:.8125rem;line-height:1.45}.finder__out b{color:#f3cf4f}.finder__row{gap:.75rem;margin-top:.375rem;display:flex}.finder__row button,.finder__row a{color:#46c8bb;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;text-decoration:underline}.custom-form{gap:.5rem;min-width:200px;display:grid}.custom-form b{font-size:.8125rem}.custom-form input{color:#e4edf3;font:inherit;background:#050c13;border:1px solid #8fb8d04d;border-radius:8px;padding:.4rem .5rem;font-size:.875rem}.custom-form button{color:#06111a;cursor:pointer;background:#46c8bb;border:0;border-radius:8px;justify-self:start;padding:.35rem .8rem;font-weight:600}.sim-popup .leaflet-popup-content-wrapper,.sim-popup .leaflet-popup-tip{color:#e4edf3;background:#0d1c29;border:1px solid #8fb8d040}.inset-title span{text-align:center;white-space:nowrap;text-shadow:0 0 6px #000000e6,0 1px 2px #000000e6;display:inline-block;transform:translate(-50%,-100%)}.inset-title b{letter-spacing:.14em;text-transform:uppercase;color:#e4edf3eb;font-size:12px;font-weight:700;display:block}.inset-title small{letter-spacing:.04em;color:#e4edf38c;font-size:10px;display:block}.z-xfar .inset-title small,.z-far .inset-title small{display:none}.z-xfar .inset-title b{font-size:10px}.biome-label span{letter-spacing:.01em;color:#f4f8fb;text-shadow:0 0 3px #000000f2,0 1px 2px #000000f2,0 0 10px #000000b3;white-space:nowrap;font-size:12.5px;font-weight:600;display:inline-block;transform:translate(-50%,-50%)}.sim-pin{background:0 0;border:0}.sim-pin .pin{background:var(--c);color:#06111a;border:2px solid #050c13e6;border-radius:50%;place-items:center;width:28px;height:28px;transition:transform .15s cubic-bezier(.16,1,.3,1);display:grid;box-shadow:0 2px 6px #0000008c}.sim-pin .pin svg{fill:currentColor;width:16px;height:16px}.sim-pin:hover .pin,.sim-pin:focus-visible .pin{transform:scale(1.18)}.z-mid .sim-pin .pin{transform:scale(.85)}.z-far .sim-pin .pin{border-width:1.5px;transform:scale(.62)}.z-xfar .sim-pin .pin{border-width:1px;transform:scale(.45)}.z-xfar .sim-pin .pin svg,.z-far .sim-pin .pin svg{display:none}.z-mid .sim-pin:hover .pin,.z-far .sim-pin:hover .pin,.z-xfar .sim-pin:hover .pin{transform:scale(1.1)}.z-far .biome-label span{font-size:10.5px}.z-xfar .biome-label span{font-size:9.5px}.z-xfar .biome-label--long{display:none}.sim-pin .pin.is-found{color:var(--c);opacity:.75;background:#0f1e2a}.sim-pin .pin.is-found:after{content:"";background:#46c8bb;border:2px solid #050c13;border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}.sim-pin .pin{position:relative}.sim-pin--goto .pin{background:#fff;animation:1.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #ffffff80}to{box-shadow:0 0 0 18px #fff0}}.sim-tip{color:#e4edf3;background:#0d1c29;border:1px solid #8fb8d040;border-radius:8px;padding:.375rem .625rem;font-size:.8125rem;font-weight:600;display:grid;box-shadow:0 10px 30px -10px #000c}.sim-tip small{color:#9fb4c3;font-weight:400;font-family:var(--font-mono);font-size:.6875rem}.sim-tip:before{border-top-color:#8fb8d040!important}.hud{z-index:20;pointer-events:none;gap:.375rem;display:flex;position:absolute}.hud>*{pointer-events:auto}.hud--tl{top:.75rem;left:.75rem}.hud--tr{top:.75rem;right:.75rem}.hud--br{flex-direction:column;align-items:flex-end;bottom:.75rem;right:.75rem}.hud--bl{bottom:.75rem;left:.75rem}.hud__btn{color:#c7d4de;cursor:pointer;background:#0a1620f0;border:1px solid #8fb8d02e;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;min-width:40px;height:40px;padding:0 .625rem;text-decoration:none;transition:background-color .15s,color .15s,transform .1s;display:inline-flex;box-shadow:0 8px 24px -10px #000000b3}.hud__btn:hover{color:#fff;background:#10212ef2}.hud__btn:active{transform:translateY(1px)}.hud__btn svg{width:18px;height:18px}.hud__count{font-size:.8125rem;font-weight:500}.hud__count b{color:#fff;font-weight:600}@media (width>=64rem){.hud__side{display:none}}.hud__zoom{flex-direction:column;gap:2px;display:flex}.hud__zoom .hud__btn:first-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.hud__zoom .hud__btn:last-child{border-top-left-radius:3px;border-top-right-radius:3px}.hud__coords{color:#c7d4de;background:#0a1620bf;border:1px solid #8fb8d024;border-radius:8px;align-items:center;gap:.5rem;height:32px;padding:0 .625rem;font-size:.75rem;display:inline-flex}.hud__coords .label{color:#6b8395}@media (width<=40rem){.hud--bl{display:none}}.loader{color:#9fb4c3;z-index:15;background:#050c13;place-content:center;justify-items:center;gap:.75rem;font-size:.875rem;transition:opacity .4s;display:grid;position:absolute;inset:0}.loader__logo{color:#46c8bb;width:40px;height:40px;animation:2.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mapapp:not(.is-loading) .loader{opacity:0;pointer-events:none}.map-error{display:none}.mapapp.has-error .map-error{z-index:16;text-align:center;color:#c9d7e1;background:#050c13;place-content:center;justify-items:center;gap:1rem;padding:1.5rem;display:grid;position:absolute;inset:0}@media (width<=63.99rem){.side__search input,.goto input,.finder,.custom-form input{font-size:16px}}@media (width<=39.99rem){.mapapp.has-detail .hud--br,.mapapp.has-detail .hud--bc,.mapapp.has-detail .hud--bl{visibility:hidden}}.detail{z-index:22;color:#e4edf3;background:#0b1823;border:1px solid #8fb8d033;border-radius:14px;max-height:62%;padding:1rem 1rem 1.125rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:absolute;bottom:.5rem;left:.5rem;right:.5rem;overflow:auto;box-shadow:0 24px 60px -20px #000c}@media (width>=40rem){.detail{width:360px;max-height:calc(100% - 8rem);inset:4rem .75rem auto auto}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}}.detail__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.detail__cat{letter-spacing:.04em;text-transform:uppercase;color:var(--c);align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:inline-flex}.detail__cat svg{fill:currentColor;width:14px;height:14px}.detail__close{color:#9fb4c3;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.detail__close:hover{color:#fff;background:#ffffff12}.detail__close svg{fill:currentColor;width:16px;height:16px}.detail__title{letter-spacing:-.02em;margin:.375rem 0 .75rem;font-size:1.25rem;font-weight:600;line-height:1.25}.detail__meta{grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin:0 0 .75rem;font-size:.875rem;display:grid}.detail__meta>div:first-child{grid-column:1/-1}.detail__meta dt{text-transform:uppercase;letter-spacing:.06em;color:#6b8395;margin-bottom:.125rem;font-size:.6875rem}.detail__meta dd{color:#e4edf3;margin:0}.detail__copy{color:#e4edf3;cursor:pointer;font:inherit;background:#10212e;border:1px solid #8fb8d029;border-radius:8px;align-items:center;gap:.375rem;padding:.25rem .5rem;display:inline-flex}.detail__copy:hover{border-color:#46c8bb}.detail__copy svg{fill:#9fb4c3;width:14px;height:14px}.detail__link{color:#46c8bb;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.detail__text{color:#c7d4de;margin:0 0 .875rem;font-size:.875rem;line-height:1.55}.detail__chips{flex-wrap:wrap;gap:.375rem;margin-bottom:.875rem;display:flex}.detail__chips .chip{color:#c7d4de;background:#10212e;border-color:#8fb8d029}.detail__chips .chip b{color:#fff;font-weight:600}.detail__actions{flex-wrap:wrap;gap:.5rem;display:flex}.detail__actions .btn{min-height:40px;font-size:.875rem}.detail__actions .btn svg{fill:currentColor;width:16px;height:16px}.detail .btn-primary{color:#052523;background:#46c8bb}.detail .btn-ghost{color:#e4edf3;border-color:#8fb8d04d}.detail .btn-ghost:hover{background:#ffffff0f}.detail__nearby{border-top:1px solid #8fb8d01f;margin-top:1rem;padding-top:.75rem}.detail__nearby h3{text-transform:uppercase;letter-spacing:.06em;color:#6b8395;margin:0 0 .25rem;font-size:.6875rem;font-weight:600}.detail__nearby ul{margin:0;padding:0;list-style:none}.toast{z-index:40;color:#052523;opacity:0;pointer-events:none;background:#46c8bb;border-radius:999px;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:1rem;left:50%;transform:translate(-50%,8px)}.toast.is-on{opacity:1;transform:translate(-50%)}
