:root{--text-secondary:#625860;--focus-ring:#5e326f;--control-border:#8e8088;--mobile-clearance:100px;color-scheme:light}
:where(a,button,input,select){touch-action:manipulation}
:where(a,button,input,select):focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:4px}
:where(button,.button,a):active{filter:brightness(.95)}
:where(h1,h2,h3){text-wrap:balance}
:where(p,.store-name,.tenant-lead,.tenant-caption){overflow-wrap:anywhere}
.search-form:focus-within{border-color:var(--focus-ring)}
.search-form input{font-size:16px}
.search-form input:focus-visible{outline-offset:2px}
.filter-row select,.controls select,.controls input{border-color:var(--control-border)}
.reset,.catalog-chip,.branch,.idea a,.idea button,.hero-route{min-height:44px}
.hero-route{align-items:center}
.reset{padding:10px 4px}
.store-type,.store-top,.store-bottom,.catalog-note,.small-note,.result-line,.filter-row label,.hide-machines,.tenant-caption,.tenant-facts span,.demo-bar{color:var(--text-secondary)}
.store-floor{color:var(--ink)}
.tenant-visual.lettering small{opacity:1;color:#66546f}
.saved-label,.hide-machines{min-height:44px;cursor:pointer}
.saved-label input,.hide-machines input{width:20px;height:20px;accent-color:var(--red)}
.tenant-links a,.tenant-links button{min-height:44px;display:inline-flex;align-items:center}
.tenant-visual img{aspect-ratio:auto}
.footer a,.demo-bar a{display:inline-flex;align-items:center;min-height:32px}
.footer small a{display:inline;min-height:0}
.mobile-nav a[aria-current]{background:#f7e7e7;color:#292329}
.mobile-nav a:not([aria-current]){background:transparent;color:white}
#store-dialog .close{margin-bottom:-56px}
#store-dialog :focus-visible{scroll-margin-block:64px 28px}
.floor-list .row>div,.row>div{min-width:0;flex:1}
.row strong,.row span,.row em{overflow-wrap:anywhere}
.row em{max-width:35%;white-space:normal}
.floors button{min-height:44px}
.controls input,.controls select{font-size:16px}
@media(max-width:560px){
 html{scroll-padding-bottom:var(--mobile-clearance)}
 .demo-bar,.hero-foot,.hero-foot span:first-child,.photo-caption span,.filter-row label,.reset,.result-line,.hide-machines,.store-top,.store-mark,.store-floor,.store-type,.store-bottom,.catalog-note,.small-note,.strengths .small-note,.visit-copy .small-note,.tenant-caption,.footer span,.footer small{font-size:12px!important;line-height:1.5}
 .store-top{flex-direction:column;gap:8px}.store .store-mark{max-width:100%}
 .store-name{font-size:20px;line-height:1.2}
 .catalog-chip{padding:10px 14px}.catalog-chips{gap:8px}
 .hero-route{min-width:100px}
 .mobile-nav{bottom:max(12px,env(safe-area-inset-bottom));border-radius:30px;gap:4px}
 .mobile-nav a{flex:1;min-width:0;min-height:48px;padding:10px 6px;text-align:center;display:flex;justify-content:center;align-items:center;line-height:1.25}
 .footer-inner{padding-bottom:calc(125px + env(safe-area-inset-bottom))}
 .tenant-actions{gap:10px}.tenant-actions .button{font-size:13px;line-height:1.35;min-height:48px}
 #store-dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-bottom))}
}
@media(max-width:360px){.store-grid{grid-template-columns:1fr}.tenant-visual{height:120px}.tenant-actions{grid-template-columns:1fr}.hero-copy{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.button:hover,.quick button:hover,.store:hover,.mall-photos button:hover,.hero-visual:hover>img{transform:none}}

.search-form{position:relative;margin-top:30px}.search-label{position:absolute;bottom:calc(100% + 8px);left:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}
.plan-viewer{margin:24px 0 32px;background:white;border:1px solid #ded5d8;border-radius:24px;padding:20px;min-width:0}
.plan-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.plan-toolbar h2{font-size:24px;margin:0;letter-spacing:-.025em}
.plan-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.plan-tools button,.plan-tools a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:14px;border:1px solid #9b8b94;background:#f6f1f4;padding:10px 14px;font-size:14px;color:#292329}
.plan-tools button:disabled{opacity:.4;cursor:default}
.plan-canvas{max-height:65dvh;overflow:auto;overscroll-behavior:contain;border:1px solid #e8e0dd;border-radius:12px;scrollbar-gutter:stable}
.plan-canvas img{display:block;max-width:none;width:100%;height:auto;min-width:100%}
.plan-note,.plan-status{font-size:12px;line-height:1.6;color:#625860;margin:12px 0 0}
.plan-note a{text-decoration:underline;text-underline-offset:3px}
.plan-status{min-height:20px}
@media(max-width:560px){.plan-viewer{padding:12px;border-radius:18px}.plan-toolbar h2{font-size:22px}.plan-tools{width:100%}.plan-tools a{flex:1}.plan-canvas{max-height:60dvh}.row{flex-wrap:wrap}.row em{max-width:100%}.plan-tools button{font-size:16px}}
.note{color:var(--text-secondary)}
.director table{font-size:14px}.table-scroll{max-width:100%;overflow:auto;border-radius:16px}.table-scroll:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.hero-foot{color:#fff0e9}.mall-photos span,.visit dt{color:var(--text-secondary)}
.director th{color:white}.director-page .demo-bar{color:white}.director-page .demo-bar a:focus-visible{outline-color:white!important}
@media(max-width:560px){.plan-tools{display:grid;grid-template-columns:44px 44px minmax(0,1fr)}.plan-tools a{grid-column:1/-1;min-height:44px;white-space:nowrap}.plan-tools button{padding-inline:8px}}
