.map-title{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.map-title h1{margin:0}.map-title .game-select-field{min-width:16rem}.map-frame{border:1px solid var(--border-strong);background:var(--bg-3);height:min(78dvh,56rem);box-shadow:var(--shadow-window);border-radius:3px;display:none;position:relative;overflow:hidden}.map-frame[data-fullscreen]{border:0;border-radius:0;height:100dvh}@media (min-width:64rem){.map-frame{display:block}}.map-canvas{background:var(--bg-3);outline:none;position:absolute;inset:0}.map-canvas.leaflet-container{background:var(--bg-3);font:inherit;cursor:grab}.map-canvas.leaflet-dragging{cursor:grabbing}.map-controls{z-index:500;gap:.4rem;display:grid;position:absolute;top:1rem;right:1rem}.map-control{border:1px solid var(--border-strong);background:var(--panel-bg);width:2.75rem;height:2.75rem;box-shadow:var(--panel-inset), 0 4px 12px #0006;color:var(--label);cursor:pointer;border-radius:3px;place-items:center;padding:0;transition:border-color .15s,background-color .15s;display:grid}.map-control:hover{border-color:var(--accent);background:var(--slate-row)}.map-control:focus-visible{outline:1px solid var(--label-bright);outline-offset:2px}.map-control[aria-pressed=true]{border-color:var(--label)}.map-control-icon{background:currentColor;width:1.5rem;height:1.5rem;display:block;-webkit-mask:none 50%/contain no-repeat;mask:none 50%/contain no-repeat}.map-control-plus{-webkit-mask-image:url(/assets/ui/sprites/common/ut-common-icon-plus-sprite.webp);mask-image:url(/assets/ui/sprites/common/ut-common-icon-plus-sprite.webp)}.map-control-minus{-webkit-mask-image:url(/assets/ui/sprites/common/ut-common-icon-minus-sprite.webp);mask-image:url(/assets/ui/sprites/common/ut-common-icon-minus-sprite.webp)}.map-control-fullscreen{background:linear-gradient(currentColor,currentColor) 0 0/.45rem 2px no-repeat,linear-gradient(currentColor,currentColor) 0 0/2px .45rem no-repeat,linear-gradient(currentColor,currentColor) 100% 0/.45rem 2px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/2px .45rem no-repeat,linear-gradient(currentColor,currentColor) 0 100%/.45rem 2px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/2px .45rem no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/.45rem 2px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/2px .45rem no-repeat;width:1.15rem;height:1.15rem;-webkit-mask:none;mask:none}.map-regions{margin-top:2rem}.map-regions ul{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.map-regions li{border:1px solid var(--border);background:var(--panel-bg);box-shadow:var(--panel-inset);border-radius:3px;padding:.9rem 1rem}.map-regions h3{color:var(--text-emph);margin:0 0 .35rem;font-size:1rem}.map-regions li[data-kind=Village] h3{color:var(--label-bright)}.map-regions p{color:var(--text-desc);margin:0;font-size:.875rem;line-height:1.55}.map-group{margin-top:1.75rem}.map-cards{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.map-card{border:1px solid var(--border);background:var(--panel-bg);color:var(--text-main);border-radius:3px;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .15s;display:grid}.map-card:hover,.map-card:focus-visible{border-color:var(--accent);color:var(--text-emph)}.map-card img{aspect-ratio:1;object-fit:cover;background:var(--bg-3);border-radius:2px;width:100%;height:auto}.map-card span{font-size:.875rem}.map-page{flex-direction:column;display:flex}.map-page>.map-head{order:0}.map-page>.map-frame{order:1;width:100%}.map-page>.map-places,.map-page>.map-regions,.map-page>.point-body{order:2}.crumb{display:contents}.map-layers{z-index:500;border:1px solid var(--border-strong);background:var(--panel-bg);max-height:calc(100% - 2rem);box-shadow:var(--panel-inset), 0 4px 12px #0006;border-radius:3px;gap:.3rem;padding:.4rem;display:grid;position:absolute;top:1rem;left:1rem;overflow-y:auto}.map-layer{color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;align-items:center;gap:.55rem;padding:.3rem .6rem .3rem .4rem;font-size:.8125rem;transition:border-color .15s,color .15s;display:flex}.map-layer img{opacity:.45}.map-layer:hover{color:var(--text-emph)}.map-layer:focus-visible{outline:1px solid var(--label-bright);outline-offset:1px}.map-layer[aria-pressed=true]{border-color:var(--border-strong);background:var(--slate-row);color:var(--text-emph)}.map-layer[aria-pressed=true] img{opacity:1}.map-marker{background:0 0;border:0}.map-pin{place-items:center;width:100%;height:100%;display:grid;position:relative}.map-pin img{filter:drop-shadow(0 1px 2px #000000b3);transition:transform .12s;display:block}.map-pin:hover img,.map-pin:focus-visible img{transform:scale(1.25)}.map-pin-focus:after{content:attr(data-label);z-index:2;border:1px solid var(--border-strong);background:var(--panel-bg);color:var(--text-emph);white-space:nowrap;pointer-events:none;opacity:0;border-radius:2px;padding:.2rem .5rem;font-size:.8125rem;line-height:1.3;transition:opacity .12s;position:absolute;bottom:calc(100% + .2rem);left:50%;transform:translate(-50%)}.map-pin-focus:hover:after,.map-pin-focus:focus-visible:after{opacity:1}.leaflet-marker-icon.map-marker:hover,.leaflet-marker-icon.map-marker:focus-within{z-index:100000!important}.map-pin-focus:before{content:"";border:2px solid var(--label-bright);border-radius:50%;animation:1.8s ease-out infinite map-pulse;position:absolute;inset:-.35rem}@keyframes map-pulse{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.map-pin-focus:before{animation:none}}.map-cluster{border:2px solid var(--border-strong);background:var(--panel-bg);width:100%;height:100%;box-shadow:var(--panel-inset), 0 2px 6px #00000080;color:var(--text-emph);font:inherit;cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.8125rem;font-weight:600;display:grid}.map-cluster:hover{border-color:var(--accent)}.point-body{gap:1.75rem;margin-top:2rem;display:grid}.point-facts{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem;margin:0;display:grid}.point-facts>div{border:1px solid var(--border);background:var(--panel-bg);box-shadow:var(--panel-inset);border-radius:3px;padding:.7rem .9rem}.point-facts dt{color:var(--text-dim);margin:0 0 .2rem;font-size:.8125rem}.point-facts dd{color:var(--text-emph);margin:0}.point-section h2{margin:0 0 .75rem;font-size:1.15rem}.point-section p{margin:0 0 .4rem}.point-note{color:var(--text-desc);font-size:.875rem;line-height:1.55}.point-items,.point-quests{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.point-quests{grid-template-columns:1fr}.point-items a{border:1px solid var(--border);background:var(--panel-bg);color:var(--text-main);border-radius:3px;align-items:center;gap:.6rem;padding:.35rem .6rem .35rem .35rem;font-size:.875rem;text-decoration:none;display:flex}.point-items a:hover,.point-items a:focus-visible{border-color:var(--accent);color:var(--text-emph)}.point-level{color:var(--text-dim);font-size:.8125rem}.map-places{margin-top:2rem}.map-places h2{margin:0 0 .75rem;font-size:1.15rem}.map-places ul{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.35rem .75rem;margin:0;padding:0;list-style:none;display:grid}.map-places a{color:var(--text-main);font-size:.875rem;text-decoration:none}.map-places a:hover,.map-places a:focus-visible{color:var(--text-emph)}.point-places{gap:.5rem;margin:0;display:grid}.point-places>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(10rem,16rem) minmax(0,1fr);align-items:start;gap:.75rem;padding:.5rem 0;display:grid}.point-places dt{color:var(--text-main)}.point-places dd{margin:0}@media (max-width:40rem){.point-places>div{grid-template-columns:1fr}}.leaflet-container .leaflet-control-attribution a:hover,.leaflet-container .leaflet-control-attribution a:focus{text-decoration:none}.explore-panel{border:1px solid var(--border-strong);background:var(--panel-bg);box-shadow:var(--panel-inset);border-radius:3px;margin-top:1.5rem;padding:1.25rem 1.5rem}.explore-head{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.explore-head h2{margin:0;font-size:1.15rem}.explore-total{align-items:center;gap:.4rem;display:inline-flex}.explore-character{min-width:14rem;margin-left:auto}.explore-rows{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:.75rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.explore-row{background:var(--slate-row);border-radius:3px;gap:.45rem;padding:.6rem .75rem;display:grid}.explore-row[data-complete]{background:linear-gradient(90deg, #dbac2a29, var(--slate-row) 70%)}.explore-row-head{align-items:center;gap:.5rem;display:flex}.explore-row-title{min-width:0;color:var(--text-emph);overflow-wrap:anywhere;flex:1}.explore-count{color:var(--text-desc);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}.explore-row[data-complete] .explore-count{color:var(--gold-bright)}.explore-gauge{background:#ffffff14;border-radius:2px;height:4px;display:block;position:relative;overflow:hidden}.explore-gauge:after{content:"";width:calc(var(--done) * 100%);background:linear-gradient(90deg, var(--gold-deep), var(--gold-bright));transition:width .2s ease-out;position:absolute;inset:0 auto 0 0}.explore-pins{flex-wrap:wrap;gap:.3rem;display:flex}.explore-pin{border:1px solid var(--border-strong);background:var(--bg-3);min-width:2rem;height:2rem;color:var(--text-main);font:.75rem var(--font-ui);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:3px;padding:0 .35rem;transition:border-color .12s ease-out,color .12s ease-out,background-color .12s ease-out}.explore-pin:is(:hover,:focus-visible){border-color:var(--gold);color:var(--gold-bright);outline:none}.explore-pin[aria-pressed=true]{border-color:var(--gold-deep);color:var(--gold-bright);background:#dbac2a33}.explore-point p{color:var(--text-desc)}.explore-toggle[aria-pressed=true]{border-color:var(--gold);color:var(--gold-bright)}.map-pin[data-done] img{opacity:.55}.map-pin[data-done] img[src*=monolithfragment-complete]{opacity:1}
