.modal.modal-map{width:94vw!important;max-width:94vw!important;height:90vh;max-height:90vh;display:flex;flex-direction:column;padding:14px 16px}.modal-map>.shell{display:flex;flex-direction:column;height:100%;min-height:0}.modal-map .shell-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.map-view{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.map-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.map-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px}.map-viewport{position:relative;overflow:hidden;border-radius:12px;background:#2a1d13;border:1px solid rgba(232,182,76,.25);cursor:grab;touch-action:none;min-height:240px;outline:none}.map-viewport:focus-visible{box-shadow:0 0 0 3px #e8b64c99}.map-viewport.dragging{cursor:grabbing}.map-canvas{position:absolute;inset:0;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.map-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.map-chip{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;padding:3px 8px;border-radius:999px;background:#1c120ad1;border:1px solid rgba(247,236,214,.25);color:#f7ecd6;font:600 12px/1.15 Inter,system-ui,sans-serif;white-space:nowrap;box-shadow:0 2px 6px #00000059}.map-chip .mc-old{font-weight:400;font-style:italic;font-size:10.5px;color:#e8d3a8}.map-chip.visited{border-color:#3fd1c4b3}.map-chip.obj{border-color:#e8b64c;box-shadow:0 0 0 2px #e8b64c73,0 2px 8px #0006}.map-chip.recon .mc-name:after{content:" ⟡";color:#e8b64c}.map-tip{position:absolute;left:0;top:0;pointer-events:none;background:#140c06eb;color:#f7ecd6;padding:4px 9px;border-radius:8px;font-size:12px;white-space:nowrap;border:1px solid rgba(232,182,76,.4)}.map-tip[hidden]{display:none}.map-tools{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;z-index:2}.map-tool{min-width:38px;height:38px;padding:0 10px;border-radius:10px;background:#1c120ae0;color:#f7ecd6;border:1px solid rgba(232,182,76,.35);font-size:18px;font-weight:700;cursor:pointer}.map-tool.wide{font-size:13px}.map-tool:hover{background:#3c2816f2}.map-side{min-height:0;overflow:auto;border-radius:12px;background:#ffffff0a;border:1px solid rgba(247,236,214,.12);padding:10px 12px}.map-side summary{cursor:pointer;font-weight:700;color:#f3cf8c;margin-bottom:6px}.map-group h3{font-size:.78em;letter-spacing:.08em;text-transform:uppercase;color:#e8b64c;margin:10px 0 4px}.map-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.map-zone{width:100%;display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:5px 7px;color:inherit;font-weight:500;cursor:pointer}.map-zone:hover,.map-zone:focus-visible{background:#f7ecd614;border-color:#e8b64c59}.mz-check{width:16px;text-align:center;opacity:.6}.map-zone.visited .mz-check{color:#3fd1c4;opacity:1;font-weight:700}.mz-text{display:flex;flex-direction:column;flex:1;min-width:0}.mz-old{font-size:.78em;opacity:.75}.tag-recon{font-size:.68em;padding:1px 6px;border-radius:999px;background:#e8b64c2e;color:#f3cf8c;border:1px solid rgba(232,182,76,.45);white-space:nowrap}.map-legend{margin:10px 0 6px}.map-legend span{padding:2px 8px;border-radius:999px;background:#f7ecd60f}.map-legend i.diamond{border-radius:2px;transform:rotate(45deg)}.map-side .ref-toggle{gap:8px;margin:8px 0 4px}.map-modes{display:flex;gap:8px;flex-wrap:wrap}.mode-pick{display:flex!important;align-items:center;gap:8px;text-align:left;padding:6px 12px!important;border-radius:12px!important;height:auto!important}.mode-pick .mp-icon,.mode-card .mc-icon{font-size:20px;line-height:1}.mode-pick .mp-text{display:flex;flex-direction:column;line-height:1.2}.mode-pick .mp-dur{font-size:.72em;opacity:.8}.mode-pick .mp-desc{font-size:.72em;opacity:.7;font-weight:400;max-width:200px;white-space:normal}.mode-pick:focus-visible{outline:2px solid rgba(247,236,214,.6);outline-offset:2px}.mode-pick:not(.on){box-shadow:none!important;border-color:#f7ecd62e!important}.mode-pick.on,.mode-card.on{border-color:#e8b64c!important;box-shadow:0 0 0 3px #e8b64c73!important;background:#e8b64c1f!important}.mode-card{display:flex;flex-direction:column;gap:4px;padding:14px!important;position:relative;transition:transform .12s ease,box-shadow .12s ease}.mode-card:hover{transform:translateY(-2px)}.mode-card .mc-icon{font-size:26px}.mode-card.on:after{content:"✓";position:absolute;top:8px;right:10px;color:#e8b64c;font-weight:800}.chips .chip .ic{margin-right:4px}.chips .chip.on{border-color:#e8b64c;background:#e8b64c29}body.map-open #toasts{display:none!important}@media (max-width: 760px){.modal.modal-map{width:100vw!important;max-width:100vw!important;height:96vh;max-height:96vh;padding:10px}.map-main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.map-side{max-height:34vh}.mode-pick .mp-desc{display:none}}.modal.modal-map{padding:calc(var(--u) * 12) calc(var(--u) * 14)}.modal-map .shell-head{padding:calc(var(--u) * 8) calc(var(--u) * 6) calc(var(--u) * 10)}.modal-map .shell-head h2{font-size:calc(var(--u) * 22)}.map-view{gap:calc(var(--u) * 10)}.map-head{gap:calc(var(--u) * 10);font-size:calc(var(--u) * 13.5)}.map-main{position:relative;grid-template-columns:minmax(0,1fr) calc(var(--u) * 280);gap:calc(var(--u) * 12)}.map-viewport{border-radius:var(--r-md, 4px);border:1px solid var(--gold-line, rgba(201, 162, 74, .5));box-shadow:inset 0 0 0 3px #00000040;background:#22170f}.map-tools{right:calc(var(--u) * 10);top:calc(var(--u) * 10);gap:calc(var(--u) * 6)}.map-tool{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u) * 6);min-width:calc(var(--u) * 40);height:calc(var(--u) * 40);min-height:0;padding:0 calc(var(--u) * 10);font-size:calc(var(--u) * 18);border-radius:var(--r-md, 4px);background:#1d130ceb;color:#efe2c8;border:1px solid var(--gold-line, rgba(201, 162, 74, .5));box-shadow:0 2px 6px #00000059}.map-tool.wide{font-size:calc(var(--u) * 13)}.map-tool.wide .ico{font-size:calc(var(--u) * 16);color:var(--gold, #c9a24a)}.map-tool:hover{background:#3a2619;border-color:var(--gold, #c9a24a)}.map-chip{border-radius:3px;padding:calc(var(--u) * 3) calc(var(--u) * 8);font-size:max(10.5px,calc(var(--u) * 12));background:#180f09db;border-color:#efe2c838}.map-chip .mc-old{font-size:max(9.5px,calc(var(--u) * 10.5))}.map-chip.obj{box-shadow:0 0 0 1px #c9a24a,0 2px 6px #0006}.map-tip{font-size:calc(var(--u) * 12);border-radius:3px}.map-side{border-radius:var(--r-md, 4px);padding:calc(var(--u) * 10) calc(var(--u) * 12);font-size:calc(var(--u) * 13.5);background:#fff0d708;border-color:var(--gold-soft, rgba(201, 162, 74, .22))}.map-side summary{display:flex;align-items:center;gap:calc(var(--u) * 8);font-family:var(--font-head);letter-spacing:.06em;font-size:calc(var(--u) * 14);color:#e7c98e;min-height:calc(var(--u) * 32)}.map-side summary .ico{font-size:calc(var(--u) * 16);color:var(--gold, #c9a24a)}.map-group h3{font-size:calc(var(--u) * 11);letter-spacing:.14em;color:var(--gold, #c9a24a);border-bottom:1px solid var(--gold-soft, rgba(201, 162, 74, .22));padding-bottom:calc(var(--u) * 4)}.map-zone{min-height:calc(var(--u) * 34);padding:calc(var(--u) * 4) calc(var(--u) * 6);border-radius:3px;box-shadow:none;font-size:calc(var(--u) * 13.5)}.map-zone:hover{background:#c9a24a1a}.mode-pick{padding:calc(var(--u) * 6) calc(var(--u) * 12)!important;gap:calc(var(--u) * 8);font-size:calc(var(--u) * 13)}.mode-pick .mp-icon{font-size:calc(var(--u) * 20);color:var(--gold, #c9a24a)}.map-legend span{border-radius:3px}@media (max-width: 900px){.map-main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.map-side{position:absolute;left:calc(var(--u) * 10);top:calc(var(--u) * 10);z-index:3;width:min(calc(var(--u) * 300),calc(100% - var(--u) * 90));max-height:calc(100% - var(--u) * 20);background:#1d130cf5;border:1px solid var(--gold-line, rgba(201, 162, 74, .5));box-shadow:0 6px 18px #00000080;padding:calc(var(--u) * 4) calc(var(--u) * 10)}.map-side:has(details:not([open])){width:auto}.mode-pick .mp-desc{display:none}}@media (max-width: 760px){.map-side{max-height:calc(100% - var(--u) * 20)}}.map-viewport:focus-visible{outline:1px solid var(--gold, #c9a24a);outline-offset:-1px;box-shadow:inset 0 0 0 3px #00000040}.map-legend .lg-line{width:18px!important;height:0!important;border-radius:0!important;background:none!important;border-top:2px solid #f7ecd6}.map-legend .lg-line.dotted{border-top-style:dotted;opacity:.7}.map-legend .lg-coll{border-radius:1px!important;background:#f0c27a!important}body.cb .map-legend .lg-coll{background:#009e73!important}body.cb .map-legend .lg-line.solid{border-top-color:#f0e442}.map-legend .lg-travel{border-radius:2px!important;background:transparent!important;border:1px solid currentColor}.map-group li{display:flex;align-items:center;gap:6px}.map-group li>.map-zone{flex:1;min-width:0}.tag-kind{margin-left:auto;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:2px 5px;border-radius:2px;border:1px solid currentColor;opacity:.85;white-space:nowrap}.tag-kind.is-preview{border-style:dotted;opacity:.6}.map-travel{flex:none;min-height:26px!important;padding:0 8px!important;font-size:11.5px!important}.map-learn{flex:none;width:28px;min-width:28px;min-height:28px!important;padding:0!important;font-size:15px!important;display:inline-flex;align-items:center;justify-content:center}
