/* One title baseline and type scale for all four root pages. */
:root{--root-title-height:64px;--root-title-size:24px;--root-title-line:31px;--root-title-weight:700;--root-nav-height:79px}
.explore-screen .page-title,.discover-header h1,.profile-header h1{height:var(--root-title-height);margin:0;padding:16px 16px 17px;font-size:var(--root-title-size);line-height:var(--root-title-line);font-weight:var(--root-title-weight);letter-spacing:-.4px}
.explore-screen .city-switch{font:inherit;letter-spacing:inherit}
.profile-screen .profile-header{height:var(--root-title-height);margin:0}
.profile-screen>.scroll{height:calc(100% - 47px - var(--root-title-height) - var(--root-nav-height))}
.discover-header{height:calc(var(--root-title-height) + 44px)}
.must-top-tabs{height:var(--root-title-height);align-items:flex-end;padding-top:17px;padding-bottom:16px}
.must-top-tabs button{height:23.4px;line-height:23.4px;padding-top:0}
.must-top-tabs button[aria-selected=true]{height:31px;font-size:var(--root-title-size);line-height:var(--root-title-line);font-weight:var(--root-title-weight);letter-spacing:-.4px}
.explore-sheet{bottom:var(--root-nav-height)}
.explore-screen .locate{bottom:calc(var(--root-nav-height) + var(--explore-sheet-height) + 24px)}

/* A narrow desktop preview is still the original 390px artboard, not a phone. */
html:not(.mobile-app) #phone{width:390px;flex:none}
html:not(.mobile-app) body{background:#eef0f3}
/* On a phone, the OS owns the status bar, safe areas, home indicator and keyboard. */
.mobile-app{background:#fff;--root-nav-height:49px;--app-safe-bottom:env(safe-area-inset-bottom,0px)}
.mobile-app body{padding:0;margin:0;display:block;min-height:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#fff}
.mobile-app .demo-sidebar{display:none}
.mobile-app #phone{position:fixed;top:calc(var(--visual-top,0px) + env(safe-area-inset-top,0px));left:env(safe-area-inset-left,0px);width:calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));height:calc(var(--visual-height,100dvh) - env(safe-area-inset-top,0px) - var(--app-safe-bottom));min-height:0;border-radius:0;box-shadow:none}
.mobile-app .status,.mobile-app .home-indicator{display:none}
.mobile-app .screen{animation:none}
.mobile-app .nav.main-nav{height:var(--root-nav-height);padding-bottom:0}
.mobile-app .scroll{height:calc(100% - var(--root-nav-height))}
.mobile-app .profile-screen>.scroll{height:calc(100% - var(--root-title-height) - var(--root-nav-height))}
.mobile-app .discover-scroll.scroll{height:auto;margin-bottom:var(--root-nav-height)}
.mobile-app .must-scroll.scroll{height:calc(100% - var(--root-nav-height))}
.mobile-app .must-hero{height:197px}
.mobile-app .must-eat-screen .must-hero{height:189.56px}
.mobile-app .must-title{top:102px}
.mobile-app .must-hero-glow{top:121px}
.mobile-app .poi-hero{height:232px}
.mobile-app .poi-scroll.scroll{height:100%}
.mobile-app .saved-bottom.scroll{height:auto}
.mobile-app .post-detail .post-detail-scroll,.mobile-app .itinerary-scroll,.mobile-app .booking-scroll,.mobile-app .success-content,.mobile-app .orders-scroll,.mobile-app .order-detail-scroll{height:calc(100% - 44px);padding-bottom:24px}
.mobile-app .ai-screen>.ai-input{bottom:12px}
.mobile-app .ai-screen .ai-scroll{height:calc(100% - 124px)}
.mobile-app .ai-screen:has(.agent-emptybar) .ai-scroll{height:calc(100% - 116px)}
.mobile-app input,.mobile-app textarea,.mobile-app select{font-size:16px}
.mobile-app .ai-input{touch-action:manipulation}
.mobile-app .ai-input input{font-size:16px;caret-color:#111}
.mobile-app dialog{border-radius:24px 24px 0 0}
.mobile-app .picker-safe-area{height:12px}
.mobile-app .picker-safe-area:after{display:none}
.mobile-app.keyboard-open{--root-nav-height:0px;--app-safe-bottom:0px}
.mobile-app.keyboard-open .nav.main-nav{display:none}
.mobile-app.keyboard-open .explore-sheet,.mobile-app.keyboard-open .explore-screen .locate{transition:none}
.mobile-app.keyboard-open .explore-sheet .explore-composer{bottom:12px}
.mobile-app.keyboard-open .explore-sheet-scroll{bottom:72px}
.mobile-app.keyboard-open .explore-nearby{display:none}
.mobile-app.keyboard-open .explore-screen .locate{visibility:hidden}

/* Disable native rubber-band gaps inside sheets; move the complete surface. */
#sheet{overscroll-behavior:none;overflow-y:auto;}
#sheet.dining-poi-dialog{overscroll-behavior:none;}
#sheet.dialog-dragging{transition:none!important;will-change:transform;}
.explore-sheet-scroll,.map-sheet-results,.journey-detail{overscroll-behavior-y:none;}
/* Compact Discover title-to-category spacing. */
.discover-screen .discover-header{height:96px;}
.discover-screen .discover-header h1{height:52px;padding:12px 16px 9px;}
/* Match the supplied Discover reference: tight title/tabs, air before photos. */
.discover-screen .discover-header{height:100px;padding-bottom:8px;}
.discover-screen .discover-header h1{height:48px;padding:8px 16px 9px;}
/* A 28px visual close button inside a 44px touch target. */
#sheet .dialog-close{width:44px;height:44px;flex:none;padding:8px;border:0;background:transparent;border-radius:50%;align-self:center;-webkit-tap-highlight-color:transparent}
#sheet>.row:has(.dialog-close){align-items:center;gap:12px;margin-bottom:16px}
#sheet>.row:has(.dialog-close)>h2{margin:0;flex:1;min-width:0}
#sheet .dialog-close>span{display:grid;place-items:center;width:28px;height:28px;padding:4px;border-radius:50%;background:rgba(0,0,0,.05)}
#sheet .dialog-close img{display:block;max-width:none}
@media(pointer:coarse){#sheet .dialog-close:focus-visible{outline:none}}
