html,body{max-width:100%;overflow-x:clip}
button,a,input,select,textarea{touch-action:manipulation}
.image-fallback{background:#eee7dc;object-fit:cover}
.home-status{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;background:#f5f0e8;color:#6b6761;font-size:13px}.home-status[hidden]{display:none}.home-status .loading-spinner{width:22px;height:22px;margin:0}.home-status.error{background:#fff0ec;color:#8b312d}.home-status button{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}
.state-card{width:min(520px,100%);padding:32px;border:1px solid rgba(23,23,20,.14);border-radius:24px;background:#fff}.state-card h1{font-size:clamp(34px,6vw,58px);margin:8px 0 14px}.state-card p{color:#6b6761;line-height:1.55}.state-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.state-actions a,.state-actions button{min-height:44px;border:1px solid rgba(23,23,20,.14);border-radius:999px;background:#171714;color:#fff;padding:11px 18px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.state-actions .secondary{background:#fff;color:#171714}.loading-spinner{width:42px;height:42px;margin:0 auto 18px;border:3px solid #e4ddd3;border-top-color:#70243b;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:800px){button,a{min-height:44px}.place-header,.header{padding-top:env(safe-area-inset-top)}.photo-lightbox{padding-bottom:max(18px,env(safe-area-inset-bottom))}.state-card{padding:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
