.floor-plan{user-select:none;touch-action:none;width:100%;height:auto;display:block}.floor-plan.is-zoomable{cursor:grab}.floor-plan.is-dragging{cursor:grabbing}.floor-plan__background{fill:var(--color-surface-container-low)}.floor-plan__corridor-floor{fill:var(--color-surface-container);stroke:var(--color-hairline-gray);stroke-width:1px}.floor-plan__corridor-label{letter-spacing:.18em;fill:var(--color-text-muted);opacity:.45;pointer-events:none;font-size:9px;font-weight:700}.floor-plan__food-court{cursor:pointer;transition:all var(--dur-base) var(--ease);outline:none}.floor-plan__food-rect{fill:color-mix(in srgb, var(--color-cat-food) 12%, var(--color-surface-container));stroke:var(--color-cat-food);stroke-width:1.5px;stroke-dasharray:4 3;transition:all var(--dur-fast) var(--ease)}.floor-plan__food-text{letter-spacing:.08em;text-transform:uppercase;fill:var(--color-cat-food);pointer-events:none;font-size:8px;font-weight:700}.floor-plan__food-court:hover .floor-plan__food-rect{fill:color-mix(in srgb, var(--color-cat-food) 22%, var(--color-surface-container-high));stroke-width:2px}.floor-plan__food-court.is-highlighted .floor-plan__food-rect{fill:color-mix(in srgb, var(--color-cat-food) 28%, var(--color-surface-container));stroke:var(--color-cat-food);stroke-width:2.5px;stroke-dasharray:none;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-cat-food) 40%, transparent))}.floor-plan__stairs-bg{fill:var(--color-surface-container-high);stroke:var(--color-border);stroke-width:1px}.floor-plan__stair-tread{stroke:var(--color-outline);stroke-width:1.2px}.floor-plan__stair-rail{stroke:var(--color-primary);stroke-width:1.5px}.floor-plan__arrow{fill:var(--color-primary)}.floor-plan__stairs-label{letter-spacing:.04em;fill:var(--color-text);pointer-events:none;font-size:6.5px;font-weight:700}.floor-plan__room{cursor:pointer;outline:none}.floor-plan__room-rect{fill:var(--color-surface);stroke:var(--color-outline);stroke-width:1.2px;transition:fill var(--dur-fast) var(--ease), stroke var(--dur-fast) var(--ease), stroke-width var(--dur-fast) var(--ease)}.floor-plan__door-opening{stroke:var(--color-surface-container);stroke-width:2.2px;stroke-linecap:square}.floor-plan__door-leaf{stroke:var(--color-outline);stroke-width:1.2px;stroke-linecap:round;pointer-events:none;transition:stroke var(--dur-fast) var(--ease), stroke-width var(--dur-fast) var(--ease)}.floor-plan__room:hover:not(.floor-plan__room--inaccessible) .floor-plan__door-leaf{stroke:var(--color-primary);stroke-width:1.8px}.floor-plan__room.is-highlighted .floor-plan__door-leaf,.floor-plan__door-leaf--highlighted{stroke:var(--color-primary);stroke-width:2.5px}.floor-plan__room-name{fill:var(--color-text);letter-spacing:-.01em;pointer-events:none;font-size:11px;font-weight:700}.floor-plan__room-subtitle{fill:var(--color-text-muted);pointer-events:none;font-size:8px;font-weight:500}.floor-plan__activity-badge rect{fill:var(--color-surface-container-high);stroke:var(--color-hairline-gray);stroke-width:.8px}.floor-plan__activity-badge text{fill:var(--color-primary);pointer-events:none;font-size:7px;font-weight:700}.floor-plan__room:hover:not(.floor-plan__room--inaccessible):not(.is-highlighted) .floor-plan__room-rect{fill:var(--color-surface-container-high);stroke:var(--color-primary);stroke-width:1.8px}.floor-plan__room.is-highlighted .floor-plan__room-rect{fill:color-mix(in srgb, var(--color-primary) 18%, var(--color-surface));stroke:var(--color-primary);stroke-width:2.5px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--color-primary) 35%, transparent))}.floor-plan__room.is-highlighted .floor-plan__activity-badge rect{fill:var(--color-primary);stroke:var(--color-on-primary)}.floor-plan__room.is-highlighted .floor-plan__activity-badge text{fill:var(--color-on-primary)}.floor-plan__room--inaccessible{cursor:default;pointer-events:none}.floor-plan__room--inaccessible .floor-plan__room-rect{stroke:var(--color-hairline-gray);stroke-dasharray:4 2;opacity:.7}.floor-plan__inaccessible-name{fill:var(--color-text-muted);opacity:.8;font-size:8.5px;font-weight:600}.floor-plan__inaccessible-tag{fill:var(--color-text-muted);opacity:.6;font-size:7px;font-weight:500}.floor-plan__outer-wall{stroke:var(--color-text);stroke-width:2.2px;stroke-linejoin:round;pointer-events:none}.activity-list__category--info{color:var(--color-cat-info);background:color-mix(in srgb, var(--color-cat-info) 14%, transparent);border-color:color-mix(in srgb, var(--color-cat-info) 30%, transparent)}.activity-list__category--talk{color:var(--color-cat-talk);background:color-mix(in srgb, var(--color-cat-talk) 14%, transparent);border-color:color-mix(in srgb, var(--color-cat-talk) 30%, transparent)}.activity-list__category--performance{color:var(--color-cat-performance);background:color-mix(in srgb, var(--color-cat-performance) 14%, transparent);border-color:color-mix(in srgb, var(--color-cat-performance) 30%, transparent)}.activity-list__category--food{color:var(--color-cat-food);background:color-mix(in srgb, var(--color-cat-food) 14%, transparent);border-color:color-mix(in srgb, var(--color-cat-food) 30%, transparent)}.activity-list__category--game{color:var(--color-cat-game);background:color-mix(in srgb, var(--color-cat-game) 14%, transparent);border-color:color-mix(in srgb, var(--color-cat-game) 30%, transparent)}.activity-list__category--workshop{color:var(--color-cat-workshop);background:color-mix(in srgb, var(--color-cat-workshop) 14%, transparent);border-color:color-mix(in srgb, var(--color-cat-workshop) 30%, transparent)}
