.tour-hotspot{width:44px;height:44px;border:0;background:none;z-index:2}
.travel-arrow{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #fff7ddb3;border-radius:50%;background:linear-gradient(150deg,#315c49a6,#102a20b8);color:#fff5d9;box-shadow:0 3px 16px #0005,inset 0 0 0 4px #ffffff0d;backdrop-filter:blur(3px);transition:background .18s,box-shadow .18s}
.travel-arrow svg{width:25px;height:25px;transform:translateY(4px);filter:drop-shadow(0 1px 2px #0008)}
.travel-number{position:absolute;left:0;top:3px;width:100%;height:12px;color:#f5d79f;font:10px/12px Arial;text-align:center}
.travel-arrow:hover,.travel-arrow:focus-visible{background:#254f3ee6;box-shadow:0 0 0 4px #e5c68e40,0 4px 18px #0005}
.travel-label{position:absolute;bottom:51px;left:50%;transform:translateX(-50%);width:max-content;max-width:116px;padding:4px 7px;border:1px solid #fff5;border-radius:7px;background:#17352cc4;color:#fffaf0;font:10px/1.3 Arial;text-shadow:0 1px 3px #0006;text-align:center;pointer-events:none;opacity:1;transition:background .18s}
.travel-arrow:hover .travel-label,.travel-arrow:focus-visible .travel-label{opacity:1}
body[data-ready=loading] .travel-arrow{pointer-events:none;opacity:.4}
#gyro{pointer-events:auto;width:56px;min-width:56px;min-height:44px;padding:9px 5px;border:1px solid #ffffff70;border-radius:10px;background:#17352cb3;backdrop-filter:blur(8px);color:#fffaf0;font:12px Arial;letter-spacing:.08em}
#gyro[aria-pressed=true]{background:#e5c68ee8;color:#17352c;border-color:#fff1cc}#gyro:disabled{opacity:.5;cursor:wait}
#gyro-status{position:fixed;z-index:4;top:110px;left:50%;transform:translateX(-50%);width:max-content;max-width:min(90%,440px);padding:11px 17px;border:1px solid #ffffff50;border-radius:12px;background:#17352cef;color:#fffaf0;font:12px/1.5 Arial;text-align:center;pointer-events:none}#gyro-status[hidden]{display:none}

/* One compact bottom row, beside the plan on small phones. */
.tour-actions{align-items:center;gap:8px;bottom:max(24px,env(safe-area-inset-bottom))}
.tour-actions button{height:44px}#quality{width:92px;padding:6px;line-height:1.2}#fullscreen{width:44px;padding:6px}
@media(max-width:600px){
 :root{--mini-plan-width:clamp(108px,calc(100vw - 212px),158px)}
 #map-toggle{left:12px;width:var(--mini-plan-width);bottom:max(16px,env(safe-area-inset-bottom))}
 .map-caption{padding:7px 8px}
 .tour-actions{right:12px;gap:6px;bottom:max(16px,env(safe-area-inset-bottom))}
 #quality{width:68px;padding:5px;font-size:11px}#fullscreen{padding:6px}
 .caption{left:calc(var(--mini-plan-width) + 28px);right:12px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 58px)}
}
@media(max-height:500px) and (min-width:601px){.caption{right:250px}.tour-actions{bottom:max(20px,env(safe-area-inset-bottom))}}
@media(max-height:500px){#gyro-status{top:65px}}
@media(prefers-reduced-motion:reduce){.travel-arrow,.travel-label{transition:none}}

.apartment-toggle{position:relative;min-height:48px;flex:1;max-width:310px;padding:9px 30px 9px 16px;border:1px solid #ffffff65;border-radius:10px;background:#17352c9c;color:#fffaf0;text-align:left;gap:5px}.apartment-toggle>span:first-child{font:9px Arial;letter-spacing:.12em}.apartment-toggle strong{font:16px Georgia;max-width:none}.apartment-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:19px}#help{flex-shrink:0}
#apartment-dialog{max-height:calc(100dvh - 30px);overflow:auto}#apartment-dialog h2{margin:18px 0}#close-apartments{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:none;color:#203c32;font-size:28px}#apartment-list{display:grid;gap:9px}.apartment-choice{display:grid;gap:5px;width:100%;min-height:60px;text-align:left;padding:12px 15px;border:1px solid #203c3240;border-radius:9px;background:#fffaf1;color:#203c32}.apartment-choice strong{font:18px Georgia}.apartment-choice span{font-size:11px}.apartment-choice:disabled{background:#203c32;color:#fffaf0;cursor:default;opacity:1}.apartment-choice:not(:disabled):hover{background:#e8deca}
.mini-plan canvas,.large-plan canvas{aspect-ratio:var(--plan-aspect,2.0645)}
@media(max-width:600px){header{padding:16px 12px 35px;gap:10px}.brand{font-size:24px}.apartment-toggle{padding:8px 23px 8px 10px;min-height:50px}.apartment-toggle strong{font-size:14px;display:block}.apartment-toggle>span:first-child{font-size:8px}.apartment-chevron{right:7px}#help{width:38px;height:38px}.property{max-width:230px}}
@media(max-height:500px){.apartment-toggle{min-height:44px}.apartment-toggle strong{display:block}.apartment-toggle>span:first-child{display:none}}
@media(max-height:500px) and (min-width:600px){#apartment-dialog{width:min(680px,90vw)}#apartment-list{grid-template-columns:1fr 1fr}#apartment-dialog h2{margin:8px 0 14px}.apartment-choice{min-height:58px;padding:9px 12px}}

/* Phone motion has its own visible invitation on the right. */
.gyro-dock{position:fixed;z-index:3;right:max(20px,env(safe-area-inset-right));top:43%;transform:translateY(-50%);pointer-events:none}
#gyro{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:86px;min-height:108px;padding:10px 5px;border-color:#e5c68eb3;border-radius:17px;background:linear-gradient(150deg,#29483eee,#142f26ed);color:#f4ddb1;letter-spacing:0;box-shadow:0 4px 20px #0003,inset 0 0 0 3px #e5c68e0d}
.gyro-phone{width:30px;height:34px;flex-shrink:0;transform-origin:50% 80%}.gyro-label{font:bold 11px/1.25 Arial}#gyro-caption{max-width:68px;color:#fff5de;font:10px/1.25 Arial}
#gyro[aria-pressed=true]{background:linear-gradient(140deg,#f1d89f,#cfad6e);color:#19392e}#gyro[aria-pressed=true] #gyro-caption{color:#19392e}
#gyro:hover,#gyro:focus-visible{outline:2px solid #f4ddb1;outline-offset:3px}
#gyro-invite{position:absolute;right:0;bottom:calc(100% + 12px);width:142px;padding:10px 12px;border:1px solid #e5c68e99;border-radius:12px;background:#17352cf2;color:#f1d89f;font:11px/1.5 Arial;box-shadow:0 6px 20px #0003}
#gyro-invite strong{display:block;color:#fffaf0;font-weight:normal}#gyro-invite[hidden]{display:none}
#gyro.invite{animation:gyro-glow 2.4s ease-in-out 2}#gyro.invite .gyro-phone{animation:phone-sway 2.4s ease-in-out 2}
@keyframes phone-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(-18deg)}70%{transform:rotate(18deg)}}
@keyframes gyro-glow{0%,100%{box-shadow:0 4px 20px #0003,0 0 0 0 #e5c68e00}50%{box-shadow:0 4px 20px #0003,0 0 22px 5px #e5c68e70}}
@media(max-width:600px){.gyro-dock{right:max(12px,env(safe-area-inset-right));top:41%}#gyro{width:72px;min-width:72px;min-height:98px;padding:8px 4px;border-radius:15px}.gyro-label{font-size:10px}#gyro-caption{max-width:60px;font-size:9px}.gyro-phone{width:27px;height:30px}}
@media(max-height:500px){.gyro-dock{top:48%;right:max(12px,env(safe-area-inset-right))}#gyro{min-height:80px;width:78px;gap:3px;padding:6px 4px}.gyro-phone{height:25px}#gyro-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){#gyro.invite,#gyro.invite .gyro-phone{animation:none}}

/* The application's top notice is the single loading announcement. */
#panorama .pnlm-load-box{display:none!important}
