.deckmap{margin:1.5rem 0 2rem}.deckmap__controls{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .6rem;display:flex}.deckmap__decks{flex-wrap:wrap;gap:.25rem;display:flex}.deckmap__deck{border:1px solid var(--line-soft);background:var(--surface);min-width:2rem;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:6px;padding:.3rem .5rem;font-size:.82rem;line-height:1}.deckmap__deck:hover{border-color:var(--line-strong)}.deckmap__deck.is-on{background:var(--purple-fill);border-color:var(--purple-deep);color:#fff;font-weight:600}.deckmap__deck:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.deckmap__toggle{border:1px solid var(--line);cursor:pointer;background:var(--surface);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.82rem;line-height:1;display:inline-flex}.deckmap__toggle input{accent-color:var(--purple);margin:0}.deckmap__toggle em{opacity:.55;font-variant-numeric:tabular-nums;font-style:normal}.deckmap__toggle:has(input:checked){border-color:var(--purple);background:var(--purple-wash)}.deckmap__svg{background:var(--surface-alt);border:1px solid var(--line-soft);border-radius:10px;width:100%;height:auto;display:block}.deckmap__hull{fill:var(--surface);stroke:var(--line-soft);stroke-width:1.2px}.deckmap__centreline{stroke:var(--line-soft);stroke-width:.8px;stroke-dasharray:6 8;opacity:.5}.deckmap__end{fill:var(--text-demoted);letter-spacing:.12em;font-weight:700}.deckmap__room{fill:var(--chart-track);stroke:var(--line-soft);stroke-width:.5px}.deckmap__marker{cursor:pointer}.deckmap__venue{stroke:#fff;stroke-width:1.2px;transition:r .12s}.deckmap__marker.is-hover .deckmap__venue{stroke:var(--text);stroke-width:2px}.deckmap__num{fill:var(--muted);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface-alt);stroke-width:2.5px;stroke-linejoin:round;font-weight:700}.deckmap__marker.is-hover .deckmap__num{fill:var(--purple)}.deckmap__venue.is-restaurant{fill:#f93}.deckmap__venue.is-night-club{fill:#624f98}.deckmap__venue.is-shop{fill:#f896ab}.deckmap__venue.is-guest-service{fill:#7d7194}.deckmap__venue.is-youth-club{fill:#ffda68}.deckmap__venue.is-entertainment{fill:#4a3b75}.deckmap__venue.is-pool{fill:#1994d7}.deckmap__venue.is-spa{fill:#4eb86c}.deckmap__venue.is-recreation{fill:#a1afc0}.deckmap__venue.is-other{fill:#b9b6bd}.deckmap__list{counter-reset:none;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.1rem .9rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.deckmap__place{border-radius:5px;align-items:baseline;gap:.45rem;padding:.22rem .3rem;font-size:.86rem;line-height:1.35;display:flex}.deckmap__place.is-hover{background:var(--purple-wash)}.deckmap__n{min-width:1.35rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:.76rem;font-weight:700}.deckmap__place.is-hover .deckmap__n{color:var(--purple)}.deckmap__swatch{background:#b9b6bd;border-radius:50%;flex:none;align-self:center;width:.6rem;height:.6rem}.deckmap__place.is-restaurant .deckmap__swatch{background:#f93}.deckmap__place.is-night-club .deckmap__swatch{background:#624f98}.deckmap__place.is-shop .deckmap__swatch{background:#f896ab}.deckmap__place.is-guest-service .deckmap__swatch{background:#7d7194}.deckmap__place.is-youth-club .deckmap__swatch{background:#ffda68}.deckmap__place.is-entertainment .deckmap__swatch{background:#4a3b75}.deckmap__place.is-pool .deckmap__swatch{background:#1994d7}.deckmap__place.is-spa .deckmap__swatch{background:#4eb86c}.deckmap__place.is-recreation .deckmap__swatch{background:#a1afc0}.deckmap__name{color:var(--text)}.deckmap__kind{color:var(--muted);white-space:nowrap;margin-left:auto;padding-left:.5rem;font-size:.78rem}.deckmap__caption{color:var(--muted);margin:.7rem 0 0;font-size:.85rem;line-height:1.5}.deckmap__find{align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.deckmap__find-label{color:var(--muted)}.deckmap__find input{border:1px solid var(--line);background:var(--surface);width:6.5rem;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;border-radius:6px;padding:.3rem .5rem}.deckmap__find input:focus-visible{outline:2px solid var(--purple);outline-offset:1px}.deckmap__result{border:1px solid var(--purple);background:var(--purple-wash);color:var(--text);border-left-width:3px;border-radius:6px;margin:.6rem 0 0;padding:.55rem .7rem;font-size:.87rem;line-height:1.5}.deckmap__result.is-miss{border-color:var(--line);background:var(--surface-alt);color:var(--muted)}.deckmap__room.is-found{fill:var(--purple-fill);stroke:var(--surface);stroke-width:2px}.deckmap__ring{fill:none;stroke:var(--purple);stroke-width:1.4px;opacity:.55}.deckmap__marker.has-video{cursor:pointer}.deckmap__marker.has-video:hover .deckmap__ring,.deckmap__marker.is-hover .deckmap__ring{opacity:1;stroke-width:2.2px}.deckmap__marker:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.deckmap__play{font:inherit;color:var(--purple);text-align:left;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--purple) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--purple) 35%, transparent);text-underline-offset:2px;background:0 0;border:0;padding:0}.deckmap__play:hover{-webkit-text-decoration-color:var(--purple);text-decoration-color:var(--purple)}.deckmap__playicon{opacity:.7;margin-left:.3rem;font-size:.7em}.deckmap__player{border:1px solid var(--line-soft);background:var(--surface);border-radius:10px;margin:.8rem 0 0;overflow:hidden}.deckmap__player-head{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:.6rem;padding:.5rem .7rem;font-size:.86rem;display:flex}.deckmap__player-head span{color:var(--muted);flex:1;font-size:.8rem}.deckmap__player-head button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:.1rem .2rem;font-size:1rem;line-height:1}.deckmap__player-head button:hover{color:var(--text)}.deckmap__player iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.deckmap__player-note{color:var(--muted);border-top:1px solid var(--line-soft);margin:0;padding:.45rem .7rem;font-size:.8rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
