.hm-player{--hm-ink:var(--ink,#242234);--hm-muted:var(--muted,#706b7d);--hm-accent:var(--primary,#705781);--hm-surface:var(--surface,#fff);--hm-border:var(--line,#ded8e4);--hm-land:#e6d8c1;--hm-far:#eee6d6;--hm-map:#f7f1e6;color:var(--hm-ink);overflow:hidden}
.hm-player header h2{font-size:clamp(1.25rem,5vw,1.6rem);line-height:1.25;letter-spacing:-.035em;margin:.45rem 0}
.hm-player header p{font-size:.95rem;line-height:1.6;color:var(--hm-muted);margin:.3rem 0 1rem}
.hm-stage{position:relative;border:1px solid var(--hm-border);border-radius:22px;overflow:hidden;background:var(--hm-map);margin:1rem 0}
.hm-region,.hm-inset{position:relative;aspect-ratio:360/292;min-width:0}
.hm-region[hidden],.hm-inset[hidden],.hm-player [hidden]{display:none!important}
.hm-landscape,.hm-inset>svg{display:block;width:100%;height:100%;position:absolute;inset:0}
.hm-terrain{fill:var(--hm-land);opacity:.55}.hm-terrain--far{fill:var(--hm-far);opacity:.8}
.hm-connections{fill:none;stroke:#a59484;stroke-width:2;stroke-dasharray:5 7;opacity:.65}
.hm-compass path{fill:none;stroke:#75695b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hm-compass text{fill:#75695b;font:600 11px system-ui,sans-serif}
.hm-makkah-area{fill:var(--hm-accent);opacity:.06}
.hm-pin{position:absolute;left:var(--hm-x);top:var(--hm-y);transform:translate(-50%,-22px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:44px;min-height:44px;padding:0;border:0;background:none!important;color:#574b42;font:inherit;cursor:pointer;gap:5px;z-index:1;-webkit-tap-highlight-color:transparent}
.hm-pin-symbol{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#fffcf6;border:1px solid #d8cabc;box-shadow:0 3px 12px #594f3a10;transition:background .16s,border-color .16s,box-shadow .16s}
.hm-pin-symbol svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.hm-pin-label{font-size:clamp(.68rem,2.8vw,.8rem);font-weight:650;line-height:1.3;white-space:nowrap;text-shadow:0 1px 3px var(--hm-map);pointer-events:none}
.hm-pin[aria-pressed=true]{color:var(--hm-accent);z-index:2}.hm-pin[aria-pressed=true] .hm-pin-symbol{background:var(--hm-accent);border-color:var(--hm-accent);color:#fff;box-shadow:0 0 0 5px #70578118}
.hm-pin:focus-visible{outline:3px solid var(--hm-accent);outline-offset:6px;border-radius:12px}
.hm-map-caption{position:absolute;bottom:11px;left:16px;font-size:.7rem;color:#75695b;letter-spacing:.015em}
.hm-inset-label{position:absolute;top:13px;left:16px;font-size:.65rem;letter-spacing:.12em;font-weight:700;color:#75695b;z-index:1}
.hm-courtyard{fill:#fffcf5;stroke:#e7dcca;stroke-width:1.5}.hm-orbit{fill:none;stroke:#d9c8b2;stroke-width:2;stroke-dasharray:4 5}.hm-stone{fill:#3d3543;stroke:#3d3543;stroke-width:2;stroke-linejoin:round}.hm-stone-band{fill:none;stroke:#d8b767;stroke-width:5}.hm-inset-text{fill:#655848;font:600 13px system-ui,sans-serif}.hm-say-corridor{fill:#ede4d5}.hm-say-line{fill:none;stroke:var(--hm-accent);stroke-width:2.5;stroke-dasharray:4 4}.hm-say-arrow{fill:none;stroke:var(--hm-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hm-hill{fill:#bdb49c;stroke:#a59a7b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hm-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 1rem}
.hm-places button{display:flex;align-items:center;gap:7px;border:1px solid var(--hm-border);background:var(--hm-surface);color:var(--hm-muted);border-radius:13px;font:inherit;font-size:.78rem;line-height:1.4;text-align:left;padding:9px 10px;min-height:44px;min-width:0;cursor:pointer;transition:border-color .16s,background .16s}
.hm-places button:last-child{grid-column:1/-1}.hm-places button svg{flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.hm-places button[aria-pressed=true]{color:var(--hm-accent);border-color:var(--hm-accent);background:color-mix(in srgb,var(--hm-accent) 8%,var(--hm-surface));font-weight:650}
.hm-places button:focus-visible,.hm-open:focus-visible{outline:3px solid var(--hm-accent);outline-offset:3px}
.hm-current{padding:18px;background:color-mix(in srgb,var(--hm-accent) 5%,var(--hm-surface));border:1px solid var(--hm-border);border-radius:18px}
.hm-kicker{display:block;font-size:.65rem;font-weight:700;letter-spacing:.13em;color:var(--hm-accent)}
.hm-current h3{font-size:1.15rem;line-height:1.35;letter-spacing:-.02em;margin:.55rem 0 .6rem;color:var(--hm-ink)}
.hm-current p,.hm-player .hm-fallback{font-size:.95rem;line-height:1.7;text-align:left;color:var(--hm-ink);margin:0}
.hm-detail{display:block;margin-top:12px;padding-top:12px;border-top:1px solid var(--hm-border);font-size:.8rem;line-height:1.55;color:var(--hm-muted)}
.hm-open{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;margin:12px 0 0;border:1px solid var(--hm-border);border-radius:15px;background:var(--hm-surface);color:var(--hm-accent);font:inherit;font-size:.83rem;font-weight:650;line-height:1.4;text-align:left;padding:12px 14px;cursor:pointer}
.hm-open span{font-size:1.2rem;font-weight:400}.hm-visual{margin-top:16px}.hm-visual>.pv-player{margin:0;box-shadow:none}
.hm-player .hm-footnote{font-size:.72rem;line-height:1.55;color:var(--hm-muted);margin:14px 0 0;text-align:left}
[data-theme=dark] .hm-player{--hm-land:#3f3a33;--hm-far:#36332f;--hm-map:#25262b}
[data-theme=dark] .hm-pin{color:#d6c8b7}[data-theme=dark] .hm-pin-symbol{background:#38353a;border-color:#665a50}[data-theme=dark] .hm-pin[aria-pressed=true]{color:#d7bde7}[data-theme=dark] .hm-pin[aria-pressed=true] .hm-pin-symbol{background:var(--hm-accent);border-color:var(--hm-accent);color:#30223a}
[data-theme=dark] .hm-compass text,[data-theme=dark] .hm-map-caption,[data-theme=dark] .hm-inset-label{fill:#b6aa99;color:#b6aa99}[data-theme=dark] .hm-compass path{stroke:#b6aa99}[data-theme=dark] .hm-courtyard{fill:#2e2e31;stroke:#534c43}[data-theme=dark] .hm-inset-text{fill:#d5c8b6}[data-theme=dark] .hm-say-corridor{fill:#3d3a38}[data-theme=dark] .hm-orbit{stroke:#766650}
@media(min-width:600px){.hm-stage{max-width:520px;margin:1rem auto}.hm-places{grid-template-columns:repeat(3,minmax(0,1fr))}.hm-places button:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.hm-player *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
