.floorplans{padding-top:25px;background:var(--bg)}
.plan-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}
.plan-floors{display:flex;gap:8px;flex-shrink:0}.plan-floors button{display:flex;flex-direction:column;align-items:start;min-width:128px;padding:16px 22px;border:1px solid var(--line);border-radius:10px;background:var(--panel);transition:.2s}
.plan-floors strong{font:24px var(--heading)}.plan-floors span{font-size:11px;color:var(--muted);margin-top:4px}.plan-floors button[aria-pressed=true]{background:var(--gold);color:var(--bg);border-color:var(--gold)}.plan-floors button[aria-pressed=true] span{color:#373326}
.plan-shell{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#181c19}.plan-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 24px;border-bottom:1px solid var(--line)}
.plan-toolbar button,.plan-base{font-size:12px;padding:8px 13px;border:1px solid #a7aaa02a;border-radius:6px;background:transparent;color:#b5b9af}.plan-base{border:0;padding-left:0;margin-right:auto;color:var(--cream)}.plan-base i{display:inline-block;width:7px;height:7px;background:var(--gold);margin-right:8px;border-radius:50%}
.plan-toolbar button:before{content:'+';margin-right:9px;color:var(--gold)}.plan-toolbar button[aria-pressed=true]{border-color:#cba66b88;background:#cba66b12;color:var(--cream)}.plan-toolbar button[aria-pressed=true]:before{content:'−'}.plan-toolbar button:hover{border-color:var(--gold)}
.plan-viewport{height:clamp(410px,42vw,640px);position:relative;overflow:hidden;background-color:#161c19;background-image:linear-gradient(#d5bc8620 1px,transparent 1px),linear-gradient(90deg,#d5bc8620 1px,transparent 1px),linear-gradient(#d5bc8607 1px,transparent 1px),linear-gradient(90deg,#d5bc8607 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px;touch-action:none;cursor:grab}
.plan-viewport.is-dragging{cursor:grabbing}.plan-sheet{position:absolute;top:22px;left:26px;font:10px var(--body);letter-spacing:2px;color:#a7aaa0;pointer-events:none}.plan-sheet b{color:var(--gold);font-weight:500}.plan-svg{display:block;width:100%;height:100%;overflow:hidden;user-select:none}.plan-walls{fill:#e1dfd2}.plan-overlay{fill:#7d8981}.plan-room{fill:#cba66b1f;stroke:var(--gold);stroke-width:1.4;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none}.plan-room.active{opacity:1;animation:plan-outline 12s linear infinite}.plan-label{fill:#f2e5c9;font-family:var(--body);font-weight:500;cursor:pointer;outline:none}.plan-label text{paint-order:stroke;stroke:#161c19;stroke-width:2.5;stroke-linejoin:round}.plan-label rect{fill:transparent}.plan-label:hover text,.plan-label:focus text,.plan-label.active text{fill:#ffe0a3;stroke:#243028}.plan-label:focus-visible rect{fill:#cba66b16;stroke:var(--gold);stroke-width:.6}
.plan-zoom{position:absolute;bottom:20px;right:22px;display:flex;align-items:center;border:1px solid #cba66b55;border-radius:8px;background:#191e1af5;box-shadow:0 8px 25px #0004;overflow:hidden;cursor:default}.plan-zoom button{display:grid;place-items:center;width:42px;height:42px;border:0;background:transparent;font-size:23px;color:var(--gold)}.plan-zoom button:hover{background:#cba66b20}.plan-zoom button:disabled{opacity:.3;cursor:default}.plan-zoom svg{width:21px;height:21px}.plan-zoom output{min-width:58px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums}.plan-zoom button:last-child{border-left:1px solid var(--line);margin-left:3px}.plan-caption{padding:15px 24px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}.plan-status{color:var(--gold)}
@keyframes plan-outline{to{stroke-dashoffset:-100}}
@media(max-width:700px){.plan-heading{align-items:start;flex-direction:column;gap:25px}.plan-heading .display{font-size:36px}.plan-floors{width:100%}.plan-floors button{flex:1;min-width:0}.plan-toolbar{padding:15px;gap:8px}.plan-base{width:100%;padding:0 0 5px}.plan-toolbar button{font-size:10px;padding:9px 10px}.plan-viewport{height:440px}.plan-sheet{top:20px;left:18px;font-size:8px}.plan-zoom{right:14px;bottom:16px}.plan-caption{padding:15px;flex-direction:column;gap:4px;font-size:10px}.floorplans{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.plan-room.active{animation:none}}

@media(max-width:700px){.plan-viewport{height:min(78svh,740px);min-height:500px}}

.plan-label text.plan-area{font-weight:400;fill:#adb5a6;stroke-width:2;letter-spacing:.2px}
.plan-room-schedule{padding:22px 18px;background:#191f19;border-left:1px solid var(--line);overflow:auto;max-height:640px}
.plan-room-schedule .micro{font-size:8px;letter-spacing:1.3px}.plan-room-schedule dl{margin:15px 0 0}.plan-room-schedule dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #cba66b16;font-size:10px;line-height:1.5}.plan-room-schedule dt{color:#bbc2b3}.plan-room-schedule dd{margin:0;color:#d8bd8d;white-space:nowrap;font-weight:400}
.plan-shell{display:grid;grid-template-columns:minmax(0,1fr) 210px}.plan-toolbar,.plan-caption{grid-column:1/-1}.plan-viewport{grid-column:1;grid-row:2}.plan-room-schedule{grid-column:2;grid-row:2}.plan-toolbar .plan-full-toggle{margin-left:auto;border-color:#cba66b66;color:var(--gold)}.plan-full-toggle:before{display:none}
.plan-full-dialog{padding:20px!important;background:#121812;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;margin:0}
.plan-full-dialog[open]{display:flex!important;flex-direction:column;gap:14px!important;align-items:stretch}
.plan-full-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-shrink:0}.plan-full-header .plan-floors{width:auto}.plan-full-header .plan-floors button{padding:9px 20px;min-width:110px}.plan-full-header .plan-floors strong{font-size:20px}
.plan-full-dialog .plan-full-close{width:auto;height:42px;padding:0 18px;border:1px solid var(--line);border-radius:8px;background:#22291f;color:var(--gold);font-size:12px}
.plan-full-dialog .plan-shell{flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}.plan-full-dialog .plan-viewport{height:100%;min-height:0}.plan-full-dialog .plan-room-schedule{max-height:none;min-height:0}
.plan-full-dialog .plan-toolbar button{width:auto;height:auto;font-size:12px}.plan-full-dialog .plan-zoom button{font-size:23px;width:42px;height:42px}
@media(max-width:700px){.plan-shell{grid-template-columns:1fr}.plan-room-schedule{grid-column:1;grid-row:3;border-left:0;border-top:1px solid var(--line);max-height:220px;padding:15px 18px}.plan-caption{grid-row:4}.plan-toolbar .plan-full-toggle{margin-left:0}.plan-full-dialog{padding:10px!important}.plan-full-dialog .plan-shell{grid-template-rows:auto minmax(0,1fr) 110px auto}.plan-full-dialog .plan-toolbar{padding:10px;gap:5px}.plan-full-dialog .plan-toolbar button{font-size:9px;padding:7px}.plan-full-header .plan-floors button{min-width:0;padding:8px 12px}.plan-full-dialog .plan-caption{padding:8px 12px}.plan-full-dialog .plan-caption>span:last-child{display:none}.plan-full-dialog .plan-room-schedule{max-height:110px;padding:8px 12px}}
.plan-full-dialog .plan-floors button{height:auto;width:auto;min-height:58px;display:flex;flex-direction:column;line-height:1.3}.plan-full-dialog .plan-floors span{line-height:1.4}

/* Hall dimensions and foreground room selection. */
.plan-toolbar button[hidden]{display:none}.plan-room{stroke-width:2.2}.plan-dimensions{pointer-events:none}.plan-dimensions line{stroke:var(--gold);stroke-width:1;vector-effect:non-scaling-stroke}.plan-dimensions rect{fill:#192019;stroke:#cba66b66;stroke-width:1}.plan-dimensions text{fill:var(--gold);font:30px var(--heading);letter-spacing:1px}
@media(max-width:700px){.plan-floors button{padding:12px}.plan-floors strong{font-size:21px}.plan-full-header{gap:8px}.plan-full-header .plan-floors button{padding:8px}.plan-full-header .plan-floors strong{font-size:17px}.plan-full-header .plan-floors span{font-size:9px}}
