:root{--safe-left48:env(safe-area-inset-left,0px);--safe-right48:env(safe-area-inset-right,0px);--safe-top48:env(safe-area-inset-top,0px);--safe-bottom48:env(safe-area-inset-bottom,0px)}
:root.keyboard-open48{--safe-bottom48:0px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body .swipe-row27,body #modalbox:has(.v41-room-menu){touch-action:pan-y!important}
/* Every modal follows the visual viewport, including older edit/booking screens. */
html body #modal{top:var(--visible-top41,0px)!important;bottom:auto!important;height:var(--visible-height41,100dvh)!important}
html body #modal #modalbox{max-height:calc(var(--visible-height41,100dvh) - 24px)!important}
html body #modal.fullscreen25 #modalbox.fullsheet25,html body #modal:has(.viewer24) #modalbox{height:100%!important;max-height:100%!important}
html body #modal #modalbox .v25-screen,html body #modal #modalbox .event-form24{max-height:100%!important}
body .top{padding-top:calc(18px + var(--safe-top48));padding-left:max(19px,var(--safe-left48));padding-right:max(19px,var(--safe-right48))}
body .panel{padding-left:max(18px,var(--safe-left48));padding-right:max(18px,var(--safe-right48))}
body.is-room23 .room-head23{padding-top:calc(10px + var(--safe-top48));padding-left:max(8px,var(--safe-left48));padding-right:max(8px,var(--safe-right48));gap:6px}
body.is-room23 .room-bottom23{padding-left:max(10px,var(--safe-left48))!important;padding-right:max(10px,var(--safe-right48))!important;padding-bottom:max(8px,var(--safe-bottom48))!important}
body .nav{padding-left:max(4px,var(--safe-left48));padding-right:max(4px,var(--safe-right48));padding-bottom:calc(7px + var(--safe-bottom48))}
body .v46-menu>header,body .v47-calendar .v47-header,body .v25-sheet-header{padding-left:max(12px,var(--safe-left48))!important;padding-right:max(12px,var(--safe-right48))!important}
body .v46-menu-scroll{padding-left:max(10px,var(--safe-left48));padding-right:max(10px,var(--safe-right48))}
body #modalbox .v25-sheet-scroll{padding-left:max(18px,var(--safe-left48))!important;padding-right:max(18px,var(--safe-right48))!important;scroll-padding-block:16px}
body .v47-day-list{padding-left:max(14px,var(--safe-left48))!important;padding-right:max(14px,var(--safe-right48))!important}
body .v46-menu>footer,body .v47-event-footer{padding-left:max(12px,var(--safe-left48))!important;padding-right:max(12px,var(--safe-right48))!important;padding-bottom:calc(10px + var(--safe-bottom48))!important}
body .v40-media-toolbar,body .v40-video-controls{padding-left:max(12px,var(--safe-left48));padding-right:max(12px,var(--safe-right48))}
body .v40-video-controls{padding-bottom:calc(12px + var(--safe-bottom48))}
html body .v40-media-stage{left:var(--safe-left48)!important;right:var(--safe-right48)!important}
.compact-chat48 body.is-room23 .room-head23{padding-top:calc(4px + var(--safe-top48));padding-bottom:4px}
.compact-chat48 body.is-room23 .jp39-notice{min-height:34px!important;padding-top:4px!important;padding-bottom:4px!important}
.compact-chat48 body.is-room23 .jp39-notice .v36-pinned-copy strong{-webkit-line-clamp:1}
.compact-chat48 body.is-room23 .room-bottom23{padding-top:4px}
.compact-chat48 body.is-room23 #msg{max-height:72px}
/* Touch targets expand without increasing message fonts or the calendar grid. */
@media(pointer:coarse){
 body .room-head23 button{min-width:44px;min-height:44px}
 body .room-head23 .invite-chat26{font-size:12px!important}
 body .room-bottom23 .compose .attach-v20,body .room-bottom23 .send-button23{min-height:44px!important;height:44px!important;min-width:44px}
 body .nav button{min-height:44px}
 body .back-btn,body .subtle-link,body .mini-btn,body .btn-small{min-height:44px}
 body .v25-x,body .v25-action,body .cal-month-arrow,body .today-pill,body .v44-tools button{min-height:44px;min-width:44px}
 body .v40-video-controls button{flex:0 0 44px;width:44px;height:44px}
 body .v40-video-controls input{height:44px}
 body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),body textarea,body select{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.v41-media-backdrop{filter:none;opacity:.35}}
