.px-map{--map-sea:#123c45;--map-accent:#c94e12;--map-rose:#ffa9a9;--map-mint:#9cf0cb;--map-ease-in-quad:cubic-bezier(.55, .085, .68, .53);--map-reserve:calc(5.5rem + env(safe-area-inset-bottom,0px))}.px-map .px-panel{border:calc(var(--map-px) * 4) solid transparent;border-image:var(--map-window) 4 fill / calc(var(--map-px) * 4);filter:drop-shadow(0 var(--map-px) 0 #04141a8c)}.px-map .px-panel .btn{border:calc(var(--map-px) * 2) solid transparent;border-image:var(--map-key) 2 fill / calc(var(--map-px) * 2);min-height:44px;font:400 20px/1 var(--map-font);padding:0 12px}.px-map .px-panel .btn:hover{border-image:var(--map-key-hover) 2 fill / calc(var(--map-px) * 2)}.px-map .px-panel .btn.primary{border-image:var(--map-key-accent) 2 fill / calc(var(--map-px) * 2)}.px-map .px-panel .btn.primary:hover{border-image:var(--map-key-accent-hover) 2 fill / calc(var(--map-px) * 2)}.px-map .px-panel .btn[aria-pressed=true]{border-image:var(--map-key-sun) 2 fill / calc(var(--map-px) * 2);color:var(--px-ink)}.px-map .px-panel .btn:active{transform:translateY(var(--map-px))}.px-map .stage{background:var(--map-sea);height:100svh;min-height:560px;color:var(--px-fg);margin-top:40px;position:relative;overflow:clip}.px-map .view{position:absolute;inset:0}.px-map #map-canvas{image-rendering:pixelated;image-rendering:crisp-edges;position:absolute;top:0;left:0}.px-map .reserve{width:1px;height:var(--map-reserve);visibility:hidden;pointer-events:none;position:absolute;bottom:0;left:0}.px-map .labels{position:absolute;top:0;left:0}.px-map .tree,.px-map .tree ul{margin:0;padding:0;list-style:none}.px-map .ti,.px-map .ti>ul{width:0;height:0;position:absolute;top:0;left:0}.px-map .ti:focus{outline:none}.px-map .plate{white-space:nowrap;border:6px solid #0000;border-image:var(--px-frame-panel) 6 fill / 6px;color:var(--px-fg);cursor:pointer;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px #04141a73);align-items:center;gap:6px;padding:0 4px;display:inline-flex;position:absolute;top:0;left:0}.px-map .ti-island>.plate{font:400 16px/23px var(--px-display);letter-spacing:.01em}.px-map .ti-leaf>.plate{font:600 12px/17px var(--font-sans)}.px-map .labels:not(.shown) .plate,.px-map .plate.off{visibility:hidden}.px-map .ti[aria-expanded=true]>.plate{box-shadow:inset 0 -3px 0 var(--map-accent)}.px-map .ti:focus-visible>.plate,.px-map .plate:hover{border-image:var(--px-frame-sun) 6 fill / 6px;color:var(--px-ink);box-shadow:none}.px-scope.px-map .tag{font:600 12px/17px var(--font-sans);background:var(--map-mint);color:var(--px-ink);clip-path:none;padding:0 5px}.px-scope.px-map .ti-quest>.plate .tag{background:var(--map-rose)}.px-scope.px-map .pip{background:var(--map-accent);clip-path:polygon(2px 0,6px 0,6px 1px,8px 1px,8px 5px,6px 5px,6px 6px,2px 6px,2px 5px,0 5px,0 1px,2px 1px);outline:none;flex:none;width:8px;height:6px;display:inline-block}.px-scope.px-map .found>.plate .pip{background:var(--px-sky)}.px-map .tip{pointer-events:none;font:600 12px/17px var(--font-sans);color:var(--px-ink);white-space:nowrap;border:6px solid #0000;border-image:var(--px-frame-sun) 6 fill / 6px;padding:0 4px;position:absolute;top:0;left:0}.px-map .title{width:360px;padding:12px 16px 16px;position:absolute;top:24px;left:24px}.px-map .pick{font:400 30px/1 var(--map-font);margin:0}.px-map .hint{color:var(--px-mute);margin:8px 0 0;font-size:14px;line-height:20px}.px-map .hud{background:linear-gradient(90deg, var(--px-surface-3) 50%, transparent 0) 0 0 / calc(var(--map-px) * 2) var(--map-px) repeat-x;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:16px;display:flex}.px-map .count{color:var(--px-dim);margin:0 auto 0 0;font-size:14px;line-height:20px;display:grid}.px-map .count b{color:var(--px-fg);font-weight:600}.px-map .stat{align-items:center;gap:6px;display:flex}.px-map .stat svg{width:8px;height:10px;fill:var(--px-sun)}.px-map .card{width:400px;max-height:calc(100% - 48px - var(--map-reserve));z-index:3;scrollbar-color:var(--px-surface-3) transparent;padding:12px 16px 20px;position:absolute;top:24px;right:24px;overflow:auto}.px-map .px-panel .card-x{width:44px;min-height:44px;padding:0;position:absolute;top:4px;right:4px}.px-map .card-x svg{width:calc(var(--map-px) * 5);height:calc(var(--map-px) * 5)}.px-map .card h3{font:400 30px/1 var(--map-font);margin:6px 52px 0 0}.px-map .c-detail{margin:12px 0 0}.px-map .c-ev{font:400 20px/1.2 var(--map-font);color:var(--px-sun);align-items:flex-start;gap:12px;margin:16px 0 0;display:flex}.px-map .c-ev svg{width:calc(var(--map-px) * 8);height:calc(var(--map-px) * 8);flex:none}.px-map .c-h{font:400 20px/1 var(--map-font);color:var(--px-mute);align-items:center;gap:12px;margin:24px 0 12px;display:flex}.px-map .c-h:after{content:"";height:var(--map-px);background:linear-gradient(90deg, var(--px-surface-3) 50%, transparent 0) 0 0 / calc(var(--map-px) * 2) 100% repeat-x;flex:1}.px-map .c-tools,.px-map .c-worlds{gap:8px;margin:0;padding:0;list-style:none;display:grid}.px-map .tool{grid-template-columns:calc(var(--map-px) * 4) calc(var(--map-px) * 4) minmax(0, 1fr);align-items:center;column-gap:8px;display:grid}.px-map .tool:before{content:"";width:calc(var(--map-px) * 4);height:calc(var(--map-px) * 7);background:var(--map-cursor) 0 0 / 100% 100% no-repeat;visibility:hidden}.px-map .tool.here:before{visibility:visible;animation:.6s both map-blink-1}.px-scope.px-map .tool .pip{width:calc(var(--map-px) * 4);height:calc(var(--map-px) * 4);clip-path:none;background:var(--map-gem) 0 0 / 100% 100% no-repeat;outline:none}.px-scope.px-map .tool.found .pip{background-image:var(--map-gem-found)}.px-map .t-name{font:400 20px/1.2 var(--map-font)}.px-map .t-note{color:var(--px-mute);grid-column:3;margin-top:2px;font-size:14px}.px-map .c-more{color:var(--px-mute);margin:12px 0 0;font-size:14px}.px-map .c-proof{color:var(--px-dim);margin:0}.px-map .c-proof b{color:var(--px-fg)}.px-map .c-links{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.px-map .world{text-align:left;border:calc(var(--map-px) * 2) solid transparent;border-image:var(--map-key) 2 fill / calc(var(--map-px) * 2);width:100%;color:var(--px-fg);cursor:pointer;background:0 0;gap:4px;padding:8px 10px;display:grid}.px-map .world:hover{border-image:var(--map-key-hover) 2 fill / calc(var(--map-px) * 2)}.px-map .world:active{transform:translateY(var(--map-px))}.px-map .world:focus-visible{outline:3px solid var(--px-sun);outline-offset:2px}.px-map .w-name{font:400 20px/1.2 var(--map-font)}.px-map .w-meta{color:var(--px-mute);font-size:14px}.px-map dialog.warp{width:100vw;max-width:none;height:100svh;max-height:none;color:var(--px-fg);background:#061a20;border:0;margin:0;padding:0}.px-map dialog.warp::backdrop{background:#061a20}.px-map .warp-in{grid-template-rows:1fr auto;height:100%;display:grid}.px-map dialog.warp.entering .warp-in,.px-map dialog.warp.leaving .warp-in{overflow:clip}.px-map .warp-scene{place-items:center;min-height:0;padding:16px;display:grid}.px-map #map-warp-canvas{image-rendering:pixelated;clip-path:circle(75%);display:block}.px-map .warp-cap{width:min(1000px,100% - 32px);margin:0 auto calc(16px + env(safe-area-inset-bottom,0px));grid-template-columns:1fr auto;align-items:center;gap:4px 24px;padding:16px 20px;display:grid}.px-map .warp-cap h2{font:400 30px/1 var(--map-font);margin:0}.px-map .warp-text{min-width:0}.px-map .warp-text p{margin:4px 0 0}.px-map #map-warp-meta{color:var(--px-mute);font-size:14px}.px-map .warp-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@keyframes map-scale-in-center{0%{opacity:1;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes map-slide-in-right{0%{opacity:0;transform:translate(1000px)}to{opacity:1;transform:translate(0)}}@keyframes map-slide-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(1000px)}}@keyframes map-slide-in-bottom{0%{opacity:0;transform:translateY(1000px)}to{opacity:1;transform:translateY(0)}}@keyframes map-slide-out-bottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1000px)}}@keyframes map-blink-1{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes map-iris-open{0%{clip-path:circle(0%)}to{clip-path:circle(75%)}}@keyframes map-iris-close{0%{clip-path:circle(75%)}to{clip-path:circle(0%)}}@keyframes map-iris-swap{0%,to{clip-path:circle(75%)}50%{clip-path:circle(0%)}}.px-map .labels.shown .ti-island>.plate{animation:map-scale-in-center .5s var(--px-ease-out-quad) both;animation-delay:calc(var(--i,0) * 70ms)}.px-map .card.entering{animation:map-slide-in-right .5s var(--px-ease-out-quad) both}.px-map .card.leaving{animation:map-slide-out-right .3s var(--map-ease-in-quad) both}.px-map dialog.warp.entering #map-warp-canvas{animation:map-iris-open .55s var(--px-ease-out-quad) both}.px-map dialog.warp.entering .warp-cap{animation:map-slide-in-bottom .5s var(--px-ease-out-quad) .1s both}.px-map dialog.warp.leaving #map-warp-canvas{animation:map-iris-close .26s var(--map-ease-in-quad) both}.px-map dialog.warp.leaving .warp-cap{animation:map-slide-out-bottom .26s var(--map-ease-in-quad) both}.px-map #map-warp-canvas.swap{animation:map-iris-swap .5s var(--px-ease-out-quad) both}.px-map .stage[data-mode=tall]{min-height:0}.px-map .stage[data-mode=tall] .title{width:calc(100% - 32px);top:16px;left:16px}.px-map .stage[data-mode=tall] .card{top:auto;left:8px;right:8px;bottom:calc(var(--map-reserve) + 8px);width:auto;max-height:calc(100svh - var(--map-reserve) - 96px);padding:12px 12px 16px;position:fixed}.px-map .stage[data-mode=tall] .card.entering{animation-name:map-slide-in-bottom}.px-map .stage[data-mode=tall] .card.leaving{animation-name:map-slide-out-bottom}.px-map .stage[data-mode=tall] .ti-island>.plate{font-size:14px;line-height:20px}@media (max-width:640px){.px-map .warp-cap{grid-template-columns:1fr}.px-map .warp-actions{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.px-map *,.px-map :before,.px-map :after{transition:none!important;animation:none!important}}dialog.map-place{--place-bar:64px;overscroll-behavior:contain;background:var(--px-page);width:100vw;max-width:none;height:100svh;max-height:none;color:var(--px-fg);border:0;margin:0;padding:0;overflow:auto}dialog.map-place::backdrop{background:#061a20}dialog.map-place [id]{scroll-margin-top:calc(var(--place-bar) + 16px)}.map-place .place-bar{z-index:70;box-sizing:border-box;height:var(--place-bar);padding:0 var(--px-gutter);background:var(--px-surface);border-bottom:2px solid var(--px-surface-2);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.map-place .place-where{color:var(--px-mute);white-space:nowrap;align-items:baseline;gap:8px;margin:0;font-size:14px;display:flex}.map-place .place-where b{font:400 16px/1.2 var(--px-display);color:var(--px-fg)}.map-place .place-actions{gap:8px;display:flex}@media (max-width:480px){.map-place .place-map{display:none}}dialog.map-place .px-journey .level-wrap{top:calc(var(--place-bar) + 16px)}@media (max-width:900px){dialog.map-place .px-journey .level-wrap{top:var(--place-bar);padding-top:8px}}@media (min-width:700px){.map-place .px-hq[data-mode=sheet] .hq-card{bottom:calc(16px + env(safe-area-inset-bottom,0px))}}dialog.map-place[open] .px-hq:not([data-art]) .hq-list{visibility:hidden}dialog.map-place.entering{animation:map-iris-open .55s var(--px-ease-out-quad) backwards}dialog.map-place.leaving{animation:.26s cubic-bezier(.55,.085,.68,.53) both map-iris-close}@media (prefers-reduced-motion:reduce){dialog.map-place{animation:none!important}}#directory[data-art=failed]~dialog.map-place:not([open]){background:0 0;width:auto;height:auto;display:block;position:static;overflow:visible}#directory[data-art=failed]~dialog.map-place:not([open]) .place-bar{display:none}#directory[data-art=failed]~dialog.map-place:not([open]):last-of-type{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.px-map:not([data-art=starting]):not([data-art=ready]) .stage,.px-map[data-art=ready] .map-list{display:none}.px-map .map-list{padding:0 0 var(--map-reserve);gap:32px;max-width:72ch;margin:40px 0 0;list-style:none;display:grid}.px-map .map-list h3{font:400 24px/1.2 var(--px-display)}.px-map .map-list h3 a{color:var(--px-fg);text-decoration:none}.px-map .map-list h3 a:hover{text-decoration:underline}.px-map .map-list p{color:var(--px-dim);margin-top:8px}.px-map .map-list .l-ev{color:var(--px-sun);font-weight:600}.px-map .map-list .l-tools{color:var(--px-mute);font-size:14px}.px-map .map-list .l-proof a{color:var(--px-fg);font-weight:600}.px-map .l-scenes{color:var(--px-dim);gap:8px;margin-top:12px;padding-left:20px;list-style:outside;display:grid}.px-map .l-scenes b{color:var(--px-fg)}
