/* The overview and the room use the same illustration and coordinate system. */
#room{inset:0;margin:0;width:100%;height:100svh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;background:#061521;color:#edf8ff;overflow:hidden;animation:none;box-shadow:none}
#room[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
#room::backdrop{background:#061521}
.room-top{display:flex;align-items:center;gap:22px;padding:16px 28px;border-bottom:1px solid #76acbd33;background:#081a27;min-height:86px}
.room-back{background:transparent;border-color:#7cbea94a;font-size:13px;white-space:nowrap}
.room-heading{min-width:0;flex:1}.room-heading small{color:#91ddcb;font-size:10px;letter-spacing:2px}.room-heading h2{font-size:clamp(23px,2.3vw,36px);margin:2px 0 0;line-height:1.15;letter-spacing:-.7px}
.room-count{font:12px ui-monospace,monospace;color:#83a7b4;white-space:nowrap}
.room-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,350px)}
.room-scene{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:48px 28px 36px;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#24515c77,transparent 73%),#04101b}
.room-scene::before{content:'';position:absolute;inset:0;opacity:.15;background-image:linear-gradient(#b8f4e513 1px,transparent 1px),linear-gradient(90deg,#b8f4e513 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.room-caption{position:absolute;top:17px;left:28px;color:#c3d8dc;font-size:12px;display:flex;align-items:center;gap:8px}.room-caption::before{content:'';width:5px;height:5px;border-radius:50%;background:#9cf4db;box-shadow:0 0 12px #9cf4db}.room-caption span{color:#7396a5;font-size:10px;margin-left:6px}
.room-photo{position:relative;overflow:hidden;flex-shrink:0;border:1px solid #aecdc24d;border-radius:9px;box-shadow:0 28px 80px #0008,0 0 45px #91e6d71c;transform-origin:0 0;isolation:isolate;background:#0b1c28}
.room-image{position:absolute;max-width:none;object-fit:fill;pointer-events:none;user-select:none;z-index:-2}
.room-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#00111b77,transparent 30%,transparent 80%,#00111b40);pointer-events:none;z-index:-1}
.room-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:6px;min-height:44px;min-width:44px;z-index:2;border-radius:30px;transition:filter .18s}
.room-pin:hover{background:transparent;filter:brightness(1.18)}
.room-pin-dot{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#092d36eF;color:#bcffe9;border:1px solid #a5ffe2;box-shadow:0 0 0 5px #07303963,0 4px 16px #000a;font:600 12px ui-monospace,monospace}
.room-pin-label{background:#071c29ef;color:#f1fff9;padding:8px 10px;border:1px solid #b4f6de66;border-radius:6px;font-size:12px;line-height:1.2;box-shadow:0 4px 14px #001b;max-width:168px;text-align:left}
.room-pin[aria-pressed=true]{background:transparent}.room-pin[aria-pressed=true] .room-pin-dot{background:#a2f3d9;color:#06211e;box-shadow:0 0 0 7px #a2f3d93b,0 0 35px #98f0d160}.room-pin[aria-pressed=true] .room-pin-label{border-color:#a2f3d9;background:#123e3cee}
.room-pin.right{flex-direction:row-reverse}.room-pin.right .room-pin-label{text-align:right}.room-pin:focus-visible{outline:3px solid #dcfff5;outline-offset:3px}.room-pin.is-revealing{animation:room-pin-reveal .3s ease both}
.room-inspector{padding:25px 26px;overflow:auto;border-left:1px solid #76acbd33;background:linear-gradient(145deg,#102b38,#081b29)}
.room-summary{color:#c6dce5;font-size:14px;line-height:1.6;margin:0 0 25px;padding-bottom:22px;border-bottom:1px solid #76acbd33}
.room-object-label{display:flex;align-items:center;gap:10px;color:#94ebd1;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.room-object-num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #8ae2c77a;font:12px ui-monospace,monospace;letter-spacing:0}
.room-object h3{font-size:23px;line-height:1.2;margin:14px 0 12px;letter-spacing:-.4px}.room-object p{color:#b9d2de;font-size:14px;line-height:1.65;margin:0}.room-object-output{margin-top:21px;padding:15px 0 0;border-top:1px solid #76acbd33}.room-object-output small{display:block;font-size:10px;letter-spacing:1.3px;color:#93e8d1;margin-bottom:7px}
.room-object-tabs{display:flex;gap:8px;margin:24px 0}.room-object-tabs button{padding:0;min-height:36px;min-width:36px;font-size:12px;border-radius:50%;background:transparent}.room-object-tabs button[aria-pressed=true]{background:#9cf0d5;color:#072624;border-color:#9cf0d5}
.room-connected{padding-top:18px;border-top:1px solid #76acbd33}.room-connected>small{color:#83aab9;font-size:10px;letter-spacing:1.5px}.room-connected-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.room-connected-links button{min-height:36px;padding:6px 9px;font-size:11px;border-radius:5px;background:#102d39}
.room-bottom{display:flex;align-items:center;gap:20px;border-top:1px solid #72b4c43f;background:linear-gradient(90deg,#102d32,#08252c);padding:15px 28px;min-height:114px}.room-stounik{display:flex;align-items:center;gap:17px;flex:1;min-width:0}.room-stounik img{width:52px;height:66px;object-fit:contain;flex-shrink:0}.room-stounik small{font-size:10px;letter-spacing:1.6px;color:#a7f4dd}.room-stounik p{font-size:13px;line-height:1.5;color:#d5ebe9;margin:5px 0 0;max-width:780px}.room-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.room-step{width:44px;padding:0;border-color:#4c7d86;background:transparent}.room-try{display:flex;align-items:center;justify-content:center;gap:16px;background:#a0f2d8;color:#062b28;border:1px solid #b9ffea;border-radius:8px;min-height:48px;padding:12px 22px;font-weight:650;font-size:14px;box-shadow:0 5px 24px #82f4d01a}.room-try:hover{background:#c0ffe9}.room-try span{font-size:19px;font-weight:400}.room-source{position:absolute;bottom:11px;left:28px;font-size:9px;color:#7298a4}
body.room-open{overflow:hidden;height:100svh}body.room-open .image-frame{transform:none}body.room-open .module-rail{opacity:1}
@keyframes room-pin-reveal{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
@media(max-width:1000px){.room-main{grid-template-columns:minmax(0,1fr) 280px}.room-top{padding:14px 18px;gap:16px}.room-inspector{padding:20px}.room-scene{padding:42px 15px 30px}.room-caption,.room-source{left:15px}.room-pin-label{font-size:10px;padding:6px;max-width:118px}.room-bottom{padding:12px 18px;gap:14px}.room-stounik p{font-size:12px}.room-actions{gap:7px}.room-try{padding:11px 16px}.room-object h3{font-size:21px}}
@media(max-width:700px){#room{overflow:auto}#room[open]{display:block}.room-top{position:sticky;top:0;z-index:5;padding:12px;min-height:75px;gap:12px}.room-back{font-size:11px;padding:9px}.room-heading h2{font-size:23px}.room-heading small{font-size:8px;letter-spacing:1px}.room-count{display:none}.room-main{display:flex;flex-direction:column}.room-scene{height:clamp(285px,83vw,490px);padding:40px 12px 29px;flex-shrink:0}.room-caption{left:12px;font-size:10px}.room-caption span{display:none}.room-source{left:12px;font-size:8px}.room-inspector{overflow:visible;border-left:0;border-top:1px solid #76acbd33;padding:20px}.room-summary{font-size:13px;margin:0 0 18px;padding-bottom:16px}.room-object h3{font-size:23px}.room-object-tabs{margin:18px 0}.room-bottom{display:flex;flex-direction:column;align-items:stretch;padding:15px 18px 24px;gap:15px}.room-stounik p{font-size:12px}.room-stounik small{font-size:9px}.room-stounik img{width:42px;height:53px}.room-actions{justify-content:center}.room-try{flex:1}.room-pin-label{font-size:9px;max-width:105px;padding:6px}.room-pin{gap:5px;padding:4px}.room-pin-dot{width:27px;height:27px;font-size:10px}.room-pin{transform:translate(-50%,-50%)}.room-connected-links button{font-size:12px;min-height:40px}}
@media(prefers-reduced-motion:reduce){.room-photo,.room-pin,.room-inspector,.room-bottom{animation:none!important;transition:none!important}}
@media(max-width:700px){.room-actions{position:fixed;z-index:6;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#08232df5;border-top:1px solid #73bbac66;backdrop-filter:blur(14px)}.room-bottom{padding-bottom:95px}.room-try{min-height:45px}.room-step{min-height:45px}}
