/* Shared iPhone layout rules; keep the small viewport stable as Safari's bars move. */
:root{--screen-height:100vh}
@supports(height:100svh){:root{--screen-height:100svh}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none}
button{-webkit-appearance:none;appearance:none;touch-action:manipulation}
button,a{-webkit-tap-highlight-color:transparent}
img{-webkit-user-drag:none}
#portrait,.treatment,.patient-target,.camp-guitar{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.universe,.clinic,.campfire{height:var(--screen-height)}
.universe{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.hero{--hero-top:clamp(42px,calc(var(--screen-height)*.07),68px);--hero-x:27px;--hero-bottom:42px;min-height:var(--screen-height);padding:max(var(--hero-top),env(safe-area-inset-top)) max(var(--hero-x),env(safe-area-inset-right)) max(var(--hero-bottom),env(safe-area-inset-bottom)) max(var(--hero-x),env(safe-area-inset-left))}
#card-dialog{--dialog-top:max(24px,env(safe-area-inset-top));--dialog-bottom:max(24px,env(safe-area-inset-bottom));height:var(--screen-height);padding:var(--dialog-top) max(16px,env(safe-area-inset-right)) var(--dialog-bottom) max(16px,env(safe-area-inset-left))}
#paper-sheet,.sheet-face{max-height:calc(var(--screen-height) - var(--dialog-top) - var(--dialog-bottom))}
.paper-sheet:not(.is-unfolding){transform-style:flat}
.sheet-face{-webkit-overflow-scrolling:touch}
.clinic-shell{--clinic-top:20px;--clinic-x:22px;--clinic-bottom:16px;padding:max(var(--clinic-top),env(safe-area-inset-top)) max(var(--clinic-x),env(safe-area-inset-right)) max(var(--clinic-bottom),env(safe-area-inset-bottom)) max(var(--clinic-x),env(safe-area-inset-left))}
.letter-home-back,.camp-flight-back{left:max(16px,env(safe-area-inset-left))}
.camp-header{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}
.camp-guitar-area{--guitar-bottom:18px;bottom:max(var(--guitar-bottom),env(safe-area-inset-bottom))}
.camp-ending,.camp-teleport{--overlay-y:80px;align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(var(--overlay-y),env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(var(--overlay-y),env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left))}
.camp-ending{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.ending-card,.teleport-card{margin-top:auto;margin-bottom:auto;flex-shrink:0}
@media(max-width:390px){.hero{--hero-top:38px;--hero-x:20px;--hero-bottom:30px}}
@media(max-height:700px){.clinic-shell{--clinic-top:14px;--clinic-bottom:12px}}
@media(max-height:650px){.camp-guitar-area{--guitar-bottom:10px}.camp-teleport{--overlay-y:64px;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}}
@media(max-height:610px){.clinic-shell{--clinic-top:11px;--clinic-x:18px;--clinic-bottom:9px}}
