.hogwarts-map{--hm-ink:#34382c;--hm-muted:#8b826b;--hm-gold:#b4955b;--hm-parchment:#f2ecdf;--hm-burgundy:#713b38;color:var(--hm-ink);font-family:inherit;border:1px solid #d9cdb3;background:var(--hm-parchment);border-radius:3px;overflow:hidden;box-shadow:0 8px 35px #40351d08}.hogwarts-map *{box-sizing:border-box}.hogwarts-map button,.hogwarts-map input{font-family:inherit}.hogwarts-map button{cursor:pointer}.hogwarts-map button:focus-visible,.hogwarts-map input:focus-visible,.hogwarts-map [tabindex]:focus-visible{outline:2px solid #946a36;outline-offset:3px}.hm-toolbar{padding:23px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d9cdb3;background:linear-gradient(105deg,#f9f4e9,#ece3d0)}.hm-eyebrow{font-family:Georgia,serif;font-size:9px;letter-spacing:3px;color:#897246}.hm-toolbar h3{font-size:18px;margin:7px 0 0;font-weight:500;letter-spacing:1px}.hm-mode{display:flex;padding:4px;background:#e7decc;border:1px solid #d7c8a8;border-radius:3px;flex-shrink:0}.hm-mode button{border:0;background:transparent;color:#877b64;padding:9px 13px;font-size:11px;border-radius:2px;white-space:nowrap}.hm-mode button.is-active{background:#faf5e8;box-shadow:0 2px 6px #59472116;color:#674329}.hm-mode small{font-size:9px;margin-left:5px;color:#a48a59}.hm-body{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:670px}.hm-sidebar{background:#f7f1e5;border-right:1px solid #d9cdb3;display:flex;flex-direction:column;padding:20px 14px}.hm-search{display:flex;gap:7px;align-items:center;border-bottom:1px solid #cdbd9e;padding:0 2px 10px;color:#8d7955}.hm-search span{font-size:23px;line-height:1}.hm-search input{width:100%;min-width:0;border:0;background:transparent;outline:none;font-size:11px;color:#64553d}.hm-search input::placeholder{color:#a19780}.hm-filters{display:flex;flex-wrap:wrap;gap:6px;padding:17px 0 15px}.hm-filters button{border:1px solid #dfd3bd;background:transparent;color:#92836a;font-size:10px;padding:5px 8px;border-radius:2px}.hm-filters button.is-active{background:#6c5740;color:#faf2dd;border-color:#6c5740}.hm-place-list{display:flex;flex-direction:column;gap:3px}.hm-place{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid transparent;padding:11px 8px;text-align:left;width:100%;color:#6c624c;transition:background .2s,border-color .2s}.hm-place:hover{background:#eee5d3}.hm-place.is-active{background:#e9dfc9;border-color:#d1bc8c}.hm-place-icon{width:29px;height:29px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #cbbd9f;border-radius:50%;font-family:Georgia,serif;font-size:18px;color:#8a693b}.hm-place strong{display:block;font-size:11px;letter-spacing:.3px;font-weight:500}.hm-place small{display:block;font:7px Georgia,serif;letter-spacing:1.1px;margin-top:4px;color:#a29376}.hm-place-arrow{margin-left:auto;font-size:14px;color:#a18a5e}.hm-sidebar-note{margin-top:auto;padding:27px 8px 3px;text-align:center;font-size:12px;line-height:2;letter-spacing:2px;color:#928160}.hm-sidebar-note span{display:block;font-size:18px;color:#a98b50}.hm-sidebar-note small{font-size:9px;letter-spacing:0;color:#aaa08a}.hm-stage{position:relative;background:#e4d8b8;isolation:isolate;overflow:hidden;min-width:0;min-height:670px}.hm-canvas-2d,.hm-canvas-3d{position:absolute;inset:0;width:100%;height:100%}.hm-canvas-2d{overflow:hidden;transition:filter .6s;touch-action:none;cursor:grab;user-select:none}.hm-canvas-2d:active{cursor:grabbing}.hm-canvas-3d canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.hm-canvas-3d canvas:active{cursor:grabbing}.hm-canvas-2d[hidden],.hm-canvas-3d[hidden]{display:none}.hm-map-svg{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;transform-origin:50% 40%;min-height:540px}.hm-pin{cursor:pointer;transition:opacity .2s}.hm-pin>circle:not(.hm-pin-halo){fill:#f3e9cc;stroke:#8b7042;stroke-width:1.2;transition:fill .2s}.hm-pin .hm-pin-halo{fill:#9f7331;opacity:0}.hm-pin text{font:16px Georgia,serif;text-anchor:middle;fill:#7d6136;pointer-events:none}.hm-pin text.hm-pin-label{font-family:inherit;font-size:10px;letter-spacing:1px;fill:#625137;paint-order:stroke;stroke:#e4d8b8;stroke-width:4px;stroke-linejoin:round}.hm-pin:hover>circle:not(.hm-pin-halo),.hm-pin.is-selected>circle:not(.hm-pin-halo){fill:#7a4436;stroke:#f7e8bd}.hm-pin:hover text:not(.hm-pin-label),.hm-pin.is-selected text:not(.hm-pin-label){fill:#f2dfb1}.hm-pin.is-selected .hm-pin-halo{opacity:.16;animation:hm-pulse 2.6s ease-in-out infinite}.hm-route-path{animation:hm-route 1.1s linear infinite}.hm-top-note{position:absolute;top:22px;left:23px;z-index:2;display:flex;align-items:center;gap:8px;background:#f7f1e2e8;border:1px solid #cfc0a0;padding:8px 12px;border-radius:2px;font-size:10px;color:#78674a;box-shadow:0 2px 10px #6b523311;pointer-events:none}.hm-live-dot{width:5px;height:5px;background:#788064;border-radius:50%;box-shadow:0 0 0 3px #78806416}.hm-controls{position:absolute;right:20px;top:20px;display:flex;flex-direction:column;gap:1px;z-index:3;box-shadow:0 3px 14px #44371e14;border:1px solid #cbbd9f}.hm-controls button{width:34px;height:34px;border:0;background:#f7f1e4e8;color:#796447;font:18px Georgia,serif;transition:background .2s}.hm-controls button+button{border-top:1px solid #dbcfb8}.hm-controls button:hover{background:#e6d7b6}.hm-map-hint{position:absolute;bottom:17px;left:22px;font-size:9px;letter-spacing:.6px;color:#877451;background:#f4ebd7b8;padding:6px 8px;border:1px solid #d5c6a8;pointer-events:none}.hm-selection{position:absolute;bottom:53px;right:20px;width:305px;background:#faf5e8f5;border:1px solid #cbbb96;box-shadow:0 8px 25px #51432720;padding:18px;z-index:2;backdrop-filter:blur(10px)}.hm-detail-top{display:flex;align-items:center;gap:12px}.hm-location-icon{display:flex;align-items:center;justify-content:center;width:38px;height:44px;border:1px solid #bf9f62;background:#e8dcc0;color:#835a31;font:25px Georgia,serif;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%)}.hm-detail-top small{font:8px Georgia,serif;letter-spacing:1.8px;color:#a08857}.hm-detail-top h4{font-size:17px;font-weight:500;letter-spacing:1px;margin:5px 0 0;color:#58452f}.hm-location-number{font:italic 25px Georgia,serif;color:#d7c8a9;margin-left:auto;align-self:flex-start}.hm-selection p{font-size:10px;line-height:1.95;color:#8a7b62;margin:13px 0}.hm-detail-meta{display:flex;flex-direction:column;gap:7px;border-top:1px solid #e0d4bb;padding-top:12px;font-size:9px;color:#9b8a69}.hm-route-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:15px;padding:11px 10px;border:1px solid #8b6c43;background:#755338;color:#f6e9cf;font-size:10px;letter-spacing:.4px}.hm-route-button:hover{background:#5d402c}.hm-route-button span{font-size:8px;opacity:.7}.hm-status{position:absolute;top:65px;left:50%;transform:translateX(-50%);max-width:calc(100% - 45px);padding:10px 15px;border:1px solid #b9a67a;background:#f8f0dde8;color:#79613d;font-size:10px;line-height:1.6;z-index:5;box-shadow:0 4px 20px #49372317;text-align:center}.hm-status:empty{display:none}.hm-no-results{font-size:11px;color:#88785c;line-height:2;padding:25px 8px}.hm-no-results small{font-size:9px;color:#a49579}.hm-stage.is-night .hm-canvas-2d{filter:brightness(.56) sepia(.2) hue-rotate(145deg)}.hm-stage.is-night .hm-top-note{background:#1d3436e8;color:#c3c6b0;border-color:#52615a}.hm-stage.is-night .hm-map-hint{background:#1d3436d8;color:#bdc3b0;border-color:#52615a}.hm-stage.is-night .hm-controls{border-color:#52615a}.hm-stage.is-night .hm-controls button{background:#1d3436ec;color:#dad6b6;border-color:#52615a}.hm-stage.is-night .hm-selection{background:#203638f5;border-color:#7b7a60}.hm-stage.is-night .hm-selection h4{color:#e2d9b7}.hm-stage.is-night .hm-selection p{color:#b3b8a5}.hm-stage.is-night .hm-detail-meta{border-color:#52615a;color:#a6b19f}.hm-stage.is-night .hm-location-number{color:#596d63}.hm-stage.is-night .hm-location-icon{background:#364a43;color:#d5bf81}.hm-stage.is-night .hm-route-button{background:#a48a50;border-color:#a48a50;color:#172d2c}.hm-stage.is-night .hm-detail-top small{color:#bca96f}@keyframes hm-pulse{50%{opacity:.32;transform:scale(1.12)}}@keyframes hm-route{to{stroke-dashoffset:-24}}@media(min-width:1500px){.hm-body,.hm-stage{min-height:740px}}@media(max-width:1050px){.hm-body{grid-template-columns:190px minmax(0,1fr)}.hm-toolbar{padding:19px}.hm-toolbar h3{font-size:15px}.hm-mode button{font-size:10px;padding:8px}.hm-selection{width:270px;right:14px;bottom:55px;padding:15px}.hm-place small{font-size:6px}.hm-sidebar{padding:16px 10px}.hm-map-hint{left:15px;font-size:8px}}@media(max-width:760px){.hm-toolbar{align-items:flex-start;flex-direction:column;gap:15px}.hm-toolbar h3{font-size:16px}.hm-mode{width:100%}.hm-mode button{flex:1}.hm-body{display:flex;flex-direction:column}.hm-sidebar{padding:13px 14px;border-right:0;border-bottom:1px solid #d9cdb3}.hm-search{padding-bottom:8px}.hm-filters{padding:11px 0 9px;flex-wrap:nowrap;overflow-x:auto;gap:5px}.hm-filters button{white-space:nowrap;flex:1;padding:6px 5px;font-size:9px}.hm-place-list{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:3px;scrollbar-width:thin;scrollbar-color:#cbbd9f transparent}.hm-place{width:auto;min-width:138px;padding:9px 7px;background:#f0e8d8;border-color:#dfd3bd}.hm-place-icon{width:25px;height:25px;font-size:16px}.hm-place strong{font-size:10px;white-space:nowrap}.hm-place small{font-size:6px;white-space:nowrap;max-width:87px;overflow:hidden;text-overflow:ellipsis}.hm-place-arrow,.hm-sidebar-note{display:none}.hm-stage{min-height:650px}.hm-map-svg{height:455px;min-height:0;min-width:650px;position:absolute;left:50%;top:35px;translate:-50% 0}.hm-canvas-3d{bottom:205px;height:auto}.hm-top-note{top:15px;left:13px;font-size:9px;padding:7px 9px}.hm-controls{right:12px;top:14px}.hm-controls button{width:31px;height:31px}.hm-selection{width:auto;left:13px;right:13px;bottom:42px;padding:15px;background:#faf5e8f7}.hm-selection p{font-size:10px;margin:10px 0}.hm-detail-meta{flex-direction:row;flex-wrap:wrap;gap:8px 15px;padding-top:9px}.hm-route-button{margin-top:12px;padding:10px}.hm-map-hint{bottom:12px;left:13px;font-size:8px}.hm-status{top:58px;width:80%}.hm-detail-top h4{font-size:16px}.hm-location-icon{width:32px;height:37px;font-size:22px}}@media(prefers-reduced-motion:reduce){.hogwarts-map *{animation:none!important;transition:none!important}}
