.real-tour{position:relative;border:1px solid rgba(146,169,193,.35);background:#070e18;overflow:hidden;box-shadow:0 32px 100px rgba(0,0,0,.32)}
.real-tour:fullscreen{width:100vw;height:100vh;border:0}
.real-tour.is-full{position:fixed;inset:0;z-index:150;border:0}
.real-tour-head{position:absolute;z-index:5;top:0;left:0;right:0;padding:20px 24px 36px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:linear-gradient(180deg,rgba(1,7,16,.86),transparent);pointer-events:none}
.real-tour-head>*{pointer-events:auto}
.real-tour-kicker{display:block;color:#ffd0ae;font-size:.66rem;letter-spacing:.25em;text-transform:uppercase;font-family:var(--mono,monospace);font-weight:600}
.real-tour-title{margin:6px 0 0;color:#fff;font-size:clamp(1.1rem,2.3vw,1.7rem);letter-spacing:.08em;font-weight:500;text-shadow:0 2px 15px #000}
.real-tour-head button,.real-tour-controls button,.real-tour-route button,.real-tour-hotspot{font:inherit;cursor:pointer}
.real-tour-full{color:#fff;background:rgba(3,12,25,.72);border:1px solid rgba(225,235,247,.55);border-radius:999px;padding:9px 15px;font-size:.76rem;white-space:nowrap;backdrop-filter:blur(8px)}
.real-tour-full:hover,.real-tour-full:focus-visible{border-color:#e5a176;background:rgba(108,48,31,.82)}
.real-tour-viewport{position:relative;height:clamp(430px,62vw,720px);overflow:hidden;cursor:grab;touch-action:pan-y;background:#070e18}
.real-tour.is-full .real-tour-viewport,.real-tour:fullscreen .real-tour-viewport{height:100%}
.real-tour-viewport.dragging{cursor:grabbing;touch-action:none}
.real-tour-canvas{display:block;width:100%;height:100%}
.real-tour-loading{position:absolute;inset:0;display:grid;place-items:center;color:#d7e4f4;background:#07111e;letter-spacing:.12em;font-size:.78rem;z-index:2}
.real-tour-loading[hidden]{display:none}
.real-tour-hotspot{position:absolute;z-index:3;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;color:#fff;background:rgba(4,15,28,.84);border:1px solid rgba(255,203,166,.84);border-radius:999px;padding:8px 13px;white-space:nowrap;box-shadow:0 4px 30px #0009;backdrop-filter:blur(10px);font-size:.77rem}
.real-tour-hotspot::before{content:'↗';display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#c2764d;color:#fff;font-size:1rem}
.real-tour-hotspot:hover,.real-tour-hotspot:focus-visible{background:#8d4c32;border-color:#fff}
.real-tour-hotspot[hidden]{display:none}
.real-tour-bottom{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:42px 20px 17px;background:linear-gradient(0deg,rgba(2,7,15,.92),transparent);color:#e1e8f1;pointer-events:none}
.real-tour-bottom>*{pointer-events:auto}
.real-tour-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.real-tour-route{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.real-tour-route button{border:1px solid rgba(220,234,250,.48);border-radius:4px;background:rgba(3,15,27,.72);color:#eef5ff;padding:8px 12px;font-size:.74rem;backdrop-filter:blur(6px)}
.real-tour-route button.active{background:#be714c;border-color:#e5b499;color:#fff}
.real-tour-route button:hover,.real-tour-route button:focus-visible{border-color:#fff}
.real-tour-zoom{display:flex;gap:5px}
.real-tour-zoom button{width:34px;height:34px;color:#fff;background:rgba(3,15,27,.75);border:1px solid rgba(220,234,250,.48);border-radius:4px;font-size:1.15rem}
.real-tour-help{margin:9px 0 0;color:#c4cfdb;font-size:.7rem;letter-spacing:.04em;text-shadow:0 2px 8px #000}
.real-tour-error{color:#fff;max-width:460px;padding:24px;text-align:center;line-height:1.7}
.obs-model{margin-top:16px;border:1px solid rgba(146,169,193,.25);background:rgba(8,17,31,.48)}
.obs-model>summary{padding:16px 20px;cursor:pointer;color:#dae5f1;font-size:.8rem;letter-spacing:.09em;list-style:none}
.obs-model>summary::before{content:'＋';color:#d28b64;margin-right:10px}
.obs-model[open]>summary::before{content:'－'}
.obs-model>.stage{margin:0}
.obs-model>.stage-foot{margin:0;padding:12px}
@media(max-width:700px){.real-tour-head{padding:14px 13px 30px}.real-tour-full{padding:8px 10px;font-size:.66rem}.real-tour-viewport{height:68vh;min-height:450px}.real-tour-bottom{padding:36px 10px 12px}.real-tour-route button{padding:7px 8px;font-size:.65rem}.real-tour-zoom{display:none}.real-tour-help{font-size:.64rem}}
