
.aztour-published_unit { color:var(--az-text); font-family:var(--az-font); }
.aztour-published_unit #app { display:grid; grid-template-columns:minmax(210px,270px) minmax(0,1fr); height:100%; min-height:0; gap:16px; }
.aztour-published_unit .interior-navigation { min-width:0; min-height:0; border:1px solid var(--az-glass-edge); border-radius:24px; background:var(--az-glass); backdrop-filter:blur(22px); overflow:hidden; box-shadow:var(--az-glass-shadow); }
.aztour-published_unit .interior-navigation > summary { display:none; }
.aztour-published_unit .sidebar { height:100%; padding:22px; overflow:auto; overscroll-behavior:contain; color:var(--az-text); }
.aztour-published_unit .kicker { display:inline-flex; padding:6px 10px; border-radius:999px; background:var(--az-accent-soft); color:var(--az-accent-text); font-size:11px; line-height:1.4; font-weight:500; }
.aztour-published_unit h1 { font:600 clamp(20px,2vw,26px)/1.3 var(--az-font); margin:14px 0 9px; overflow-wrap:anywhere; }
.aztour-published_unit .muted { color:var(--az-muted); font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.aztour-published_unit .unit-size { display:inline-flex; padding:6px 10px; margin-top:12px; border:1px solid var(--az-glass-edge); border-radius:999px; background:var(--az-accent-soft); color:var(--az-accent-text); font-size:12px; }
.aztour-published_unit .section-title { font-size:12px; font-weight:500; line-height:1.5; color:var(--az-muted); margin:24px 0 10px; }
.aztour-published_unit .list { display:grid; gap:8px; }
.aztour-published_unit .item-link { display:block; text-decoration:none; color:inherit; border-radius:14px; }
.aztour-published_unit .item { padding:12px 14px; border:1px solid transparent; border-radius:14px; background:color-mix(in srgb,var(--az-raised) 60%,transparent); transition:background .16s ease,border-color .16s ease; }
.aztour-published_unit .item-link:hover .item { background:var(--az-accent-soft); border-color:var(--az-accent); }
.aztour-published_unit .item.active { background:var(--az-accent-soft); border-color:color-mix(in srgb,var(--az-accent) 55%,transparent); }
.aztour-published_unit .item-disabled { opacity:.65; }
.aztour-published_unit .item-title { font-size:14px; font-weight:500; line-height:1.4; color:var(--az-text); overflow-wrap:anywhere; }
.aztour-published_unit .item-subtitle { margin-top:5px; font-size:11px; line-height:1.5; color:var(--az-muted); overflow-wrap:anywhere; }
.aztour-published_unit #view { display:grid; grid-template-rows:auto minmax(0,1fr) auto; position:relative; min-width:0; min-height:0; padding:0; overflow:hidden; border:1px solid var(--az-glass-edge); border-radius:24px; background:var(--az-glass); box-shadow:var(--az-glass-shadow); }
.aztour-published_unit .interior-view-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 18px; border-bottom:1px solid var(--az-glass-edge); backdrop-filter:blur(22px); min-width:0; }
.aztour-published_unit .toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; margin-inline-start:auto; min-width:0; }
.aztour-published_unit .btn { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:9px 12px; gap:8px; border:1px solid var(--az-glass-edge); border-radius:12px; background:var(--az-action); color:#fff; cursor:pointer; text-decoration:none; font:500 12px/1.35 var(--az-font); text-align:center; }
.aztour-published_unit .btn-soft { background:color-mix(in srgb,var(--az-raised) 70%,transparent); color:var(--az-text); }
.aztour-published_unit .btn:hover { background:var(--az-accent-soft); color:var(--az-accent-text); border-color:var(--az-accent); }
.aztour-published_unit :is(button,a,summary):focus-visible { outline:2px solid var(--az-focus); outline-offset:3px; }
.aztour-published_unit .viewer-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; order:-1; min-width:0; }
.aztour-published_unit .viewer-title .badge { display:inline-flex; flex:0 0 auto; padding:5px 9px; border-radius:999px; background:var(--az-accent-soft); color:var(--az-accent-text); font-size:11px; line-height:1.4; }
.aztour-published_unit .viewer-title strong { font-size:14px; line-height:1.4; font-weight:500; overflow-wrap:anywhere; }
.aztour-published_unit .interior-stage { position:relative; min-width:0; min-height:0; overflow:hidden; background:radial-gradient(ellipse at 50% 40%,var(--az-accent-soft),var(--az-bg) 85%); }
.aztour-published_unit .help { margin:0; padding:12px 18px; color:var(--az-muted); background:var(--az-glass); border-top:1px solid var(--az-glass-edge); font-size:12px; line-height:1.55; }
.aztour-published_unit .viewer-empty-state { position:absolute; inset:0; z-index:5; display:flex; align-items:center; justify-content:center; padding:24px; overflow:auto; background:color-mix(in srgb,var(--az-bg) 70%,transparent); }
.aztour-published_unit .viewer-empty-card { width:min(420px,100%); margin:auto; border:1px solid var(--az-glass-edge); border-radius:22px; padding:24px; background:var(--az-glass-solid); backdrop-filter:blur(18px); box-shadow:var(--az-glass-shadow); text-align:center; }
.aztour-published_unit .viewer-empty-card h3 { color:var(--az-text); font-size:21px; line-height:1.4; margin:0 0 12px; }
.aztour-published_unit .viewer-empty-card p { color:var(--az-muted); font-size:14px; line-height:1.65; margin:0; }
.aztour-published_unit .is-hidden { display:none; }
@media(max-width:1200px) { .aztour-published_unit #app { grid-template-columns:220px minmax(0,1fr); gap:12px; } .aztour-published_unit .sidebar { padding:17px; } }
@media(max-width:1000px) {
 .aztour-published_unit #app { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); position:relative; gap:10px; }
 .aztour-published_unit .interior-navigation { position:relative; z-index:90; overflow:visible; border-radius:14px; }
 .aztour-published_unit .interior-navigation > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:11px 15px; color:var(--az-accent-text); list-style:none; cursor:pointer; font:500 13px/1.4 var(--az-font); }
 .aztour-published_unit .interior-navigation > summary::-webkit-details-marker { display:none; }
 .aztour-published_unit .interior-navigation > summary::after { content:'⌄'; font-family:system-ui,sans-serif; font-size:19px; line-height:1; }
 .aztour-published_unit .interior-navigation[open] > summary::after { transform:rotate(180deg); }
 .aztour-published_unit .interior-navigation .sidebar { position:absolute; top:calc(100% + 7px); left:0; right:0; height:auto; max-height:min(65dvh,480px); padding:20px; border-radius:20px; border:1px solid var(--az-glass-edge); background:var(--az-glass-solid); box-shadow:var(--az-overlay-shadow); backdrop-filter:blur(24px); }
 .aztour-published_unit .interior-navigation:not([open]) .sidebar { display:none; }
 .aztour-published_unit .interior-navigation h1 { font-size:21px; }
 .aztour-published_unit .interior-navigation .list { grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr)); }
 .aztour-published_unit .interior-view-header { padding:12px; gap:10px; }
 .aztour-published_unit .toolbar { flex-wrap:wrap; }
 .aztour-published_unit #view { border-radius:20px; }
 .aztour-published_unit .help { padding:10px 12px; font-size:11px; }
}
@media(max-width:560px) { .aztour-published_unit .toolbar { width:100%; justify-content:stretch; } .aztour-published_unit .toolbar > .btn { flex:1 1 120px; } .aztour-published_unit .viewer-title strong { font-size:13px; } .aztour-published_unit .viewer-empty-state { padding:16px; } .aztour-published_unit .viewer-empty-card { padding:19px; } }
@media(prefers-reduced-motion:reduce) { .aztour-published_unit .item { transition:none; } }

.aztour-published_unit .view-switcher { display:flex; padding:3px; gap:3px; border:1px solid var(--az-glass-edge); border-radius:13px; background:var(--az-raised); }
.aztour-published_unit .switch-btn { min-height:32px; border:0; border-radius:10px; padding:7px 12px; background:transparent; color:var(--az-muted); font:500 12px/1.4 var(--az-font); cursor:pointer; }
.aztour-published_unit .switch-btn:hover { color:var(--az-text); }
.aztour-published_unit .switch-btn.is-active { background:var(--az-action); color:#fff; box-shadow:var(--az-shadow); }
.aztour-published_unit .view-panel { position:absolute; inset:0; display:none; }
.aztour-published_unit .view-panel.is-active { display:block; }
.aztour-published_unit .model-wrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:18px; }
.aztour-published_unit :is(.model-stage,.plan-stage) { position:relative; width:100%; height:100%; min-height:0; max-width:1220px; overflow:hidden; border:1px solid var(--az-glass-edge); border-radius:20px; background:color-mix(in srgb,var(--az-surface) 55%,transparent); user-select:none; }
.aztour-published_unit .plan-stage { display:flex; align-items:center; justify-content:center; padding:14px; }
.aztour-published_unit #unitModel { display:block; width:100%; height:100%; user-select:none; --progress-bar-color:var(--az-accent); --progress-mask:var(--az-bg); }
.aztour-published_unit .unit-plan-image { display:block; width:100%; height:100%; object-fit:contain; border-radius:12px; }
.aztour-published_unit .model-status { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:4; max-width:calc(100% - 32px); width:max-content; padding:14px 18px; border:1px solid var(--az-glass-edge); border-radius:14px; background:var(--az-glass-solid); color:var(--az-text); font-size:13px; text-align:center; pointer-events:none; }
.aztour-published_unit .viewer-empty-state.is-hidden { display:none; }
@media(max-width:560px) { .aztour-published_unit .model-wrap { padding:10px; } .aztour-published_unit .view-switcher { width:100%; } .aztour-published_unit .switch-btn { flex:1; } }

/* Walkthrough controls stay inside the model viewport in every layout. */
.aztour-published_unit .walk-enter-btn svg { width:19px; height:19px; flex:0 0 auto; }
.aztour-published_unit .walk-enter-btn:disabled { opacity:.5; cursor:wait; }
.aztour-published_unit .walk-enter-btn[aria-pressed="true"] { background:var(--az-accent-soft); border-color:var(--az-accent); color:var(--az-accent-text); opacity:1; cursor:default; }
.aztour-published_unit :is(#unitWalkViewport,#unitWalkControls,#walkStatus)[hidden] { display:none !important; }
.aztour-published_unit #unitWalkViewport { position:absolute; inset:0; z-index:2; overflow:hidden; outline:none; touch-action:none; cursor:grab; background:var(--az-bg); }
.aztour-published_unit #unitWalkViewport:active { cursor:grabbing; }
.aztour-published_unit #unitWalkViewport canvas { display:block; width:100%; height:100%; touch-action:none; }
.aztour-published_unit .model-stage.is-walking #unitModel { visibility:hidden; pointer-events:none; }
.aztour-published_unit .walk-status { z-index:7; }
.aztour-published_unit .unit-walk-controls { position:absolute; bottom:14px; right:14px; z-index:6; width:174px; max-width:calc(100% - 20px); padding:10px; display:grid; gap:8px; direction:ltr; border:1px solid var(--az-glass-edge); border-radius:20px; background:color-mix(in srgb,var(--az-glass-solid) 87%,transparent); color:var(--az-text); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:0 8px 26px #0002; touch-action:none; user-select:none; -webkit-user-select:none; }
.aztour-published_unit .walk-actions { display:flex; align-items:stretch; gap:6px; }
.aztour-published_unit :is(.walk-action,.walk-direction) { display:flex; align-items:center; justify-content:center; border:1px solid var(--az-glass-edge); border-radius:11px; color:var(--az-text); background:color-mix(in srgb,var(--az-raised) 85%,transparent); padding:0; font:500 11px/1.3 var(--az-font); cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:none; transition:background .12s ease,transform .12s ease; }
.aztour-published_unit :is(.walk-action,.walk-direction):hover { color:var(--az-accent-text); background:var(--az-accent-soft); border-color:color-mix(in srgb,var(--az-accent) 45%,transparent); }
.aztour-published_unit :is(.walk-action,.walk-direction):is(:active,.is-pressed,[aria-pressed="true"]) { color:#fff; background:var(--az-action); transform:scale(.96); }
.aztour-published_unit .walk-action { min-width:36px; min-height:36px; }
.aztour-published_unit .walk-action svg { width:17px; height:17px; flex:0 0 auto; }
.aztour-published_unit .walk-exit { flex:1; gap:5px; padding:6px; }
.aztour-published_unit .walk-exit span { text-align:center; overflow-wrap:anywhere; }
.aztour-published_unit .walk-direction-pad { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,45px); gap:5px; }
.aztour-published_unit .walk-direction { position:relative; flex-direction:column; gap:1px; }
.aztour-published_unit .walk-direction svg { width:20px; height:20px; flex:0 0 auto; }
.aztour-published_unit .walk-direction kbd { padding:0; background:none; color:inherit; opacity:.7; font:500 9px/1 system-ui,sans-serif; }
.aztour-published_unit :is(.walk-turn-left,.walk-turn-right) { background:transparent; border-color:transparent; color:var(--az-muted); }
.aztour-published_unit .walk-turn-left { grid-area:1/1; }
.aztour-published_unit .walk-forward { grid-area:1/2; }
.aztour-published_unit .walk-turn-right { grid-area:1/3; }
.aztour-published_unit .walk-left { grid-area:2/1; }
.aztour-published_unit .walk-backward { grid-area:2/2; }
.aztour-published_unit .walk-right { grid-area:2/3; }
.aztour-published_unit .walk-keyboard-caption { color:var(--az-muted); text-align:center; font:400 10px/1.35 var(--az-font); }
.aztour-published_unit[dir="rtl"] .walk-exit, [dir="rtl"] .aztour-published_unit .walk-exit { direction:rtl; }
@media(max-width:560px) { .aztour-published_unit .unit-walk-controls { bottom:10px; right:10px; width:164px; padding:8px; gap:6px; border-radius:17px; } .aztour-published_unit .walk-direction-pad { grid-template-rows:repeat(2,44px); } }
@media(max-width:360px), (max-height:560px) and (orientation:landscape) { .aztour-published_unit .unit-walk-controls { bottom:8px; right:8px; width:154px; padding:7px; gap:5px; } .aztour-published_unit .walk-direction-pad { grid-template-rows:repeat(2,36px); } .aztour-published_unit .walk-keyboard-caption { display:none; } .aztour-published_unit .walk-action { min-height:30px; } }
@media(prefers-reduced-motion:reduce) { .aztour-published_unit :is(.walk-action,.walk-direction) { transition:none; } }
