@font-face{font-family:ResidenceInter;src:url('../fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:ResidenceVazir;src:url('../fonts/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ui-font:ResidenceInter,ResidenceVazir,sans-serif;--ui-bg:#f4f4f5;--ui-panel:#ffffff;--ui-soft:#ededf0;--ui-hover:#e2e2e6;--ui-text:#202024;--ui-muted:#5b5b64;--ui-line:#cfcfd6;--ui-accent:#50555b;--ui-on-accent:#fff;--ui-highlight:#50555b;--ui-selected:#e5e7e9;--ui-shadow:0 16px 44px #10101421;--glass:var(--ui-panel);--glass-text:var(--ui-text);--glass-border:var(--ui-line);--glass-shadow:var(--ui-shadow)}
html:lang(fa),html:lang(ar){--ui-font:ResidenceVazir,ResidenceInter,sans-serif}
body[data-lighting=night]{color-scheme:dark;--ui-bg:#101012;--ui-panel:#1b1b1f;--ui-soft:#27272c;--ui-hover:#34343b;--ui-text:#f7f7f8;--ui-muted:#c3c3cc;--ui-line:#565660;--ui-accent:#c4c8cc;--ui-on-accent:#202226;--ui-highlight:#d5d8dc;--ui-selected:#35383c;--ui-shadow:0 16px 44px #0005;--glass:var(--ui-panel);--glass-text:var(--ui-text);--glass-border:var(--ui-line);--glass-shadow:var(--ui-shadow)}
body{font-family:var(--ui-font)!important;color:var(--ui-text);background:var(--ui-bg);-webkit-font-smoothing:antialiased}
button,select,input,textarea,summary{font-family:var(--ui-font)!important;line-height:1.5}
button,select,summary{background:var(--ui-panel);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:12px;font-weight:550;transition:background .16s,border-color .16s,box-shadow .16s}
button:not(:disabled):hover,summary:hover{background:var(--ui-hover);border-color:var(--ui-accent)}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ui-highlight);outline-offset:3px}
button:disabled{cursor:default;opacity:.65}
header{background:var(--ui-panel);border-color:var(--ui-line);box-shadow:0 2px 15px #10101408}
header strong{font-family:var(--ui-font);font-weight:750;letter-spacing:-.04em;color:var(--ui-text)}
html:lang(fa) header strong,html:lang(ar) header strong{letter-spacing:0}
header small,aside p,small{color:var(--ui-muted)}
aside{background:var(--ui-bg);border-color:var(--ui-line)}
nav{background:var(--ui-soft)!important;box-shadow:none!important;border-color:var(--ui-line)!important;padding:5px;gap:4px}
body nav button,body[data-lighting=night] nav button{color:var(--ui-muted);background:transparent}
body nav button.active,body[data-lighting=night] nav button.active{background:var(--ui-panel);color:var(--ui-text);box-shadow:0 2px 6px #0001}
body nav button:hover,body[data-lighting=night] nav button:hover,body[data-lighting=night] nav button:focus{color:var(--ui-text);background:var(--ui-hover)}
body .language-picker{font-family:var(--ui-font)!important;background:var(--ui-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;font-weight:600}
body :is(.floor-callout,.unit-strip,.unit-details,.room-bar,.tour-tools,.parking-tools,.viewing-dialog,.door-prompt,.tour-notice){background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;box-shadow:var(--ui-shadow);backdrop-filter:none;-webkit-backdrop-filter:none}
.unit-strip{padding:7px;gap:8px;border-radius:20px!important}
body .unit-card,body[data-lighting=night] .unit-card{background:var(--ui-soft)!important;color:var(--ui-text)!important;border:1px solid transparent!important;border-radius:13px!important;padding:11px 14px}
body .unit-card.selected{background:var(--ui-selected)!important;border-color:var(--ui-highlight)!important;box-shadow:inset 0 0 0 1px var(--ui-highlight)}
body .unit-card strong{color:var(--ui-text)!important;font-size:13px;font-weight:750}
body .unit-card :is(span,small){color:var(--ui-muted)!important;opacity:1;font-size:11px;line-height:1.65}
body .unit-details{border-radius:24px!important;padding:24px;box-shadow:0 24px 70px #10101430}
body .unit-details>small{color:var(--ui-highlight)!important;font-weight:650;font-size:10px;letter-spacing:.04em}
body .unit-details h2{font-weight:750;letter-spacing:-.03em;font-size:28px;color:var(--ui-text);margin-top:8px}
html[dir=rtl] .unit-details h2{letter-spacing:0}
body .unit-details :is(dt,p,small),body[data-lighting=night] .unit-details :is(dt,p,small){color:var(--ui-muted)}
body .unit-details .unit-direction{line-height:1.8;font-size:12px}
body .unit-details dl{gap:7px;margin:16px 0}
body .unit-details dl>div{background:var(--ui-soft);border:0;border-radius:11px;padding:9px 11px;min-width:0}
body .unit-details dt{font-size:11px;color:var(--ui-muted)!important;line-height:1.6}
body .unit-details dd{font-size:12px;font-weight:650;line-height:1.7;margin:0;text-align:start;color:var(--ui-text)!important}
body .unit-details .details-close,body .close-dialog{background:var(--ui-soft);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;padding:0}
body .unit-actions{gap:8px;margin-top:16px}
body .unit-actions button,body .unit-details .unit-plan,body .viewing-dialog button,body .floor-callout button,body .room-bar button,body .room-bar select,body .tour-tools button,body .tour-tools select,body .parking-tools button{background:var(--ui-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;font-weight:600}
body .primary,body .viewing-dialog button.primary,body .unit-details .enter-residence,body footer button,body .mobile-sheet-footer button{background:var(--ui-accent)!important;color:var(--ui-on-accent)!important;border:1px solid var(--ui-accent)!important;box-shadow:0 3px 10px #10101415;font-weight:700;min-height:46px}
body .primary:hover,body .unit-details .enter-residence:hover{filter:brightness(1.08)}
body .unit-rooms{background:var(--ui-soft)!important;color:var(--ui-text)!important;line-height:1.8}
body .unit-rooms li span:last-child{opacity:1;color:var(--ui-muted)}
body .data-note{font-size:10px;line-height:1.8;color:var(--ui-muted)!important}
body .floor-callout :is(strong,span,small),body .unit-heading,body .parking-label{color:var(--ui-text)!important}
body .viewing-dialog :is(input,textarea){color:var(--ui-text);background:var(--ui-soft);border-color:var(--ui-line);border-radius:10px}
body .viewing-dialog label{color:var(--ui-muted);line-height:1.7}
body .viewing-dialog::backdrop,body .mobile-sheet::backdrop{background:#08080ca6;backdrop-filter:blur(5px)}
body .mobile-sheet,body .mobile-sheet-heading,body .mobile-sheet-footer,body .mobile-dock{background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important}
body .mobile-sheet h3{color:var(--ui-muted);letter-spacing:.03em;font-weight:650}
body .mobile-sheet button,body .mobile-dock button,body .mobile-explore{background:var(--ui-soft);color:var(--ui-text);border-color:var(--ui-line)}
body .mobile-sheet button.active,body #floors button.active{background:var(--ui-selected);color:var(--ui-text);border:1px solid var(--ui-highlight)}
body #floors button{text-align:start}
body .photo-toggle{background:var(--ui-panel);border-color:var(--ui-line);box-shadow:0 6px 22px #0002;padding:4px;border-radius:15px}
body .photo-toggle button{color:var(--ui-muted);font-weight:650}
body .photo-toggle button.active{background:var(--ui-accent);color:var(--ui-on-accent);box-shadow:none}
body .joystick-base{background:var(--ui-panel);border-color:var(--ui-highlight);box-shadow:0 6px 24px #0003}
body .joystick-knob{background:var(--ui-accent);border-color:var(--ui-panel)}
body .mobile-joystick small{background:var(--ui-panel);color:var(--ui-text);border:1px solid var(--ui-line)}
.intro-mark strong{font-family:var(--ui-font);letter-spacing:.04em;font-weight:550}.intro-mark small{letter-spacing:.02em}
body .hotspot{background:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-highlight);box-shadow:0 4px 18px #0003;border-radius:14px;font-weight:600}
body .hotspot span:first-child{color:var(--ui-highlight)}
body #navigation :is(button,summary,select){background:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-line)}
body #status strong{font-size:15px;font-weight:700}body #status small{color:#f7f7f8;line-height:1.7}
body #error{background:#24262a;color:#f7f7f8;border:1px solid #c4c8cc}body #error button{background:#f7f7f8;color:#24262a}
@media(max-width:750px){body .unit-details{padding:18px!important}body .unit-details h2{font-size:25px}body .unit-card strong{font-size:12px}body .mobile-dock{padding-inline:10px;gap:7px;box-shadow:0 -4px 20px #1010140c}body .mobile-dock button{border-radius:13px;font-weight:650}body header strong{font-size:15px!important}body .unit-actions button{font-size:11px;line-height:1.6;padding:10px 6px}body .unit-details .details-close{border-radius:50%;height:44px}body .unit-strip{scrollbar-width:thin;scrollbar-color:var(--ui-line) transparent}}
@media(prefers-reduced-motion:reduce){button,select,summary{transition:none}}
@media(max-width:750px){body .unit-details{max-height:72%!important}body .unit-details dl{margin:10px 0;gap:6px}body .unit-details dl>div{padding:6px 10px}body .unit-details .unit-actions{margin-top:10px}body .unit-details .unit-direction{margin-block:6px 10px}body .unit-details .enter-residence{margin-top:6px!important}}
html[dir=rtl] .unit-details .details-close{right:auto;left:12px}html[dir=rtl] .unit-details>small{display:block;padding-left:38px}
html[dir=rtl] .viewing-dialog .close-dialog{right:auto;left:9px}body .viewing-dialog form>small:first-of-type{display:block;padding-inline-end:38px;color:var(--ui-highlight)}
body .walk-pad button,body .door-prompt button,body .tour-notice button{background:var(--ui-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important}body[data-panorama=on] .walk-pad{display:none!important}

/* Neutral surfaces also cover legacy notices and the photo fallback. */
body .strain-offer{background:#17171deF;color:#f7f7f8;border-color:#565660}body .strain-offer button{background:#f7f7f8;color:#202024}body .strain-offer button+button{background:transparent;color:#f7f7f8;border-color:#777780}body .plain-note{background:var(--ui-panel);color:var(--ui-muted)}body .plain-note a{color:var(--ui-highlight)}
body .hint,body[data-photo=on] .hint{background:#17171def;color:#f7f7f8}body .badge{background:var(--ui-panel);color:var(--ui-muted)}body .unit-pin:hover,body .unit-pin.hot{background:var(--ui-accent);color:var(--ui-on-accent)}
body #intro{color:#f7f7f8}body #intro path,body .tour-veil path{fill:#101012}body .intro-mark small,body .intro-count:after{color:#c3c3cc}body .intro-count{color:#f7f7f8}body .intro-tower{background:repeating-linear-gradient(0deg,#ffffff26 0 2px,transparent 2px 9px)}body .intro-tower:after{background:repeating-linear-gradient(0deg,#c4c8cc 0 2px,transparent 2px 9px)}
body .joystick-base:active{background:var(--ui-hover)}body .mobile-sheet{box-shadow:0 -10px 60px #10101440}

/* Centered controls; stone-gray accents echo the building facade. */
body button,body summary{text-align:center}
body :is(.mobile-dock,.mobile-sheet-content,.mobile-sheet-footer,.unit-actions,.photo-toggle) button,body .mobile-explore,body #navigation :is(button,summary){display:inline-flex;align-items:center;justify-content:center;line-height:1.4}
body .mobile-sheet-heading{padding:12px 16px;min-height:60px;gap:12px}
body .mobile-sheet-heading h2{font-size:17px;line-height:1.5;font-weight:650;margin:0}
body .mobile-sheet section button{font-size:13px;min-height:44px;padding:9px 12px;font-weight:550}
body .mobile-sheet-footer{font-size:13px}body .mobile-sheet-footer button{font-size:13px;min-height:44px;padding:9px 16px;font-weight:600}
body .photo-toggle button{font-size:12px;padding:7px 12px;line-height:1.4}
body #navigation :is(button,summary){font-size:12px;min-height:40px;padding:8px 11px;font-weight:550}
body #navigation #back{width:40px;padding:0;font-size:17px}
body .mobile-sheet-heading>button,body .unit-details .details-close,body .viewing-dialog .close-dialog{box-sizing:border-box;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex:none;padding:0!important;font-size:0!important;line-height:0!important;border:1px solid var(--ui-line)!important;border-radius:10px!important;background:var(--ui-soft)!important;color:var(--ui-text)!important;display:grid;place-items:center}
body .mobile-sheet-heading>button{position:relative}
body .mobile-sheet-heading>button::before,body .details-close::before,body .close-dialog::before{content:"";position:absolute;inset:-4px}
body .mobile-sheet-heading>button::after,body .details-close::after,body .close-dialog::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 3 10 10M13 3 3 13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 3 10 10M13 3 3 13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
body:has(#hotspots) #status{background:#202226eF;color:#fff;text-shadow:none;padding:9px 12px;border:1px solid #ffffff26}
body:has(#hotspots) #status strong{color:#fff!important;font-size:13px;line-height:1.6;font-weight:600}
body:has(#hotspots) #status small{display:block;color:#e5e7e9;font-size:10px;line-height:1.6}
body:has(#hotspots) #loading{background:#202226ef;color:#fff}
body .mobile-sheet-heading>button:focus-visible,body .details-close:focus-visible,body .close-dialog:focus-visible{outline:2px solid var(--ui-highlight);outline-offset:2px}

/* Touch joystick across phone and tablet widths; suppress legacy arrows. */
body .walk-pad{display:none!important}body[data-photo=on] :is(.mobile-joystick,.parking-tools,.door-prompt,.room-bar,.tour-tools){display:none!important}
body .hotspot,body #navigation,body .photo-toggle{-webkit-user-select:none;user-select:none}
@media(min-width:751px){body .mobile-joystick:not([hidden]){display:grid;justify-items:center;position:absolute;bottom:22px;left:20px;z-index:10;gap:8px;user-select:none}.joystick-base{display:grid;place-items:center;width:96px;height:96px;padding:0;border-radius:50%;touch-action:none}.joystick-knob{width:42px;height:42px;border:2px solid;border-radius:50%;pointer-events:none}.mobile-joystick small{font-size:10px;padding:5px 8px;border-radius:10px}}

@media not all and (pointer:coarse){body .mobile-joystick{display:none!important}}

/* Tour labels are controls, not editable/selectable document text. */
html,body,body *{-webkit-user-select:none;user-select:none;caret-color:transparent;-webkit-touch-callout:none}
body :is(input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]),textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text;caret-color:auto;-webkit-touch-callout:default}
