/* Shared mobile interaction and keyboard polish. */
html{scroll-padding-top:88px}
:where(button,a,input,select,textarea,summary){touch-action:manipulation}
summary:focus-visible{outline:2px solid var(--acid,#ccfa51);outline-offset:4px}
body dialog{max-height:calc(100dvh - 32px);overscroll-behavior:contain;scroll-padding-block:64px 24px}
body dialog :is(h2,h3,p,a){overflow-wrap:anywhere}
body dialog :is(.dialog-top,.modal-top){position:sticky;top:0;z-index:2;background:var(--panel,#161d1a);padding-block:8px}
body dialog :is(.dialog-top button,.modal-top button){min-width:44px;min-height:44px}
body .live-event-dialog .live-close{position:sticky;top:0;z-index:2;background:var(--bg,#090d0c);min-width:88px}
body :is(button,input,select,textarea)[disabled]{cursor:not-allowed}
body button[aria-busy=true]{opacity:.7;cursor:progress}
@media(max-width:700px){
 body :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:16px;min-height:48px;scroll-margin-block:88px 120px}
 body :is(button,.button,.primary,.check,.text-button,.live-chip,.live-save,.live-more,.live-retry,.live-detail-button,.live-card-ticket,.search-trigger,.profile-dot){min-height:44px}
 body :is(.icon-button,.save-button,.profile-dot,.preview-banner button){min-width:44px;min-height:44px}
 body :is(.mobile-menu summary,.live-refine summary,.local-backup-notice summary,.promoter-review-card summary,.quality-card summary){min-height:44px;align-content:center}
 body .mobile-menu summary{min-width:44px;font-size:11px;text-align:center}
 body .mobile-menu nav{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
 body :is(.app-footer,.social-links,.city-links,.info-nav) a{min-height:44px;display:inline-flex;align-items:center}
 body .live-refine-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 body .live-results-bar{flex-wrap:wrap;gap:12px}
 body .live-results-bar>*{min-width:0}
 body .live-view-controls{flex-wrap:wrap}
 body .live-card-actions{flex-wrap:wrap}
 body .check-row{min-height:44px;align-items:center}
 body dialog{max-height:calc(100dvh - 20px);padding-bottom:max(22px,env(safe-area-inset-bottom));scroll-padding-bottom:100px}
 body .live-event-dialog{padding-bottom:env(safe-area-inset-bottom)}
 body .app-header{min-height:62px;height:auto;gap:8px}
 body .header-right{gap:8px}
 body .profile-dot{width:44px;flex-shrink:0}
}
@media(max-width:380px){body .live-refine-fields{grid-template-columns:minmax(0,1fr)}body .local-indicator{display:none}body .breadcrumb span{margin-inline:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body *,body *::before,body *::after{animation:none!important;transition:none!important}}

/* Keep action links and disclosure rows comfortable on narrow touch screens. */
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--acid,#ccfa51);outline-offset:3px}
.live-list[aria-busy=true]:empty{min-height:140px;border:1px solid #ffffff1a;border-radius:14px;background:linear-gradient(110deg,#161d1a 25%,#202a24 45%,#161d1a 65%);background-size:220% 100%;animation:wrst-loading 1.8s ease-in-out infinite}
@keyframes wrst-loading{to{background-position:-220% 0}}
@media(max-width:700px){
 body :is(.preview-disclosure a,.live-offline-pack a,.desk-wordmark,.desk-header .logo,.paper-secondary,.paper-toc a,.paper-mobile-toc a,.city-links a){display:inline-flex;align-items:center;min-height:44px}
 body summary{min-height:44px;padding-block:10px;align-content:center}
 body :is(.option-grid label,.consent,.check-row){min-height:44px}
 body .live-offline-pack{flex-wrap:wrap;gap:8px}
 body .paper-mobile-toc nav a{padding-block:10px}
 body .desk-header{gap:10px}
 body .desk-wordmark{min-width:0;overflow-wrap:anywhere}
 body .live-night-journey .live-card-actions>*{max-width:100%;white-space:normal;text-align:left}
 body :is(.desk-request,.desk-profile-preview,.request-preview,.info-body){overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.live-list[aria-busy=true]:empty{animation:none;background:#161d1a}}

@media(max-width:700px){body :is(.paper-mobile-toc,.faq-list,.promoter-faq) summary{min-height:44px;align-content:center}}

@media(max-width:480px){body .live-filter-panel{grid-template-columns:minmax(0,1fr)}}
