/* Connected service only. Shared prototype dimensions and safe-area rules remain primary. */
.member-app .phone-frame{display:flex;flex-direction:column}
.member-app .phone-scroll{flex:1;min-height:0;height:auto}
.network-notice{order:-2;flex:none;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:var(--accent-soft);color:var(--text);font-size:13px;line-height:1.6;border-bottom:1px solid var(--line)}
.network-notice[hidden]{display:none}
.network-notice button{margin-left:10px;min-height:36px;color:var(--accent);text-decoration:underline;background:transparent}
.member-app .shell{padding-left:max(var(--page-pad),env(safe-area-inset-left));padding-right:max(var(--page-pad),env(safe-area-inset-right))}
.member-app .storage-alert{position:relative;order:-1;flex:none;left:auto;right:auto;top:auto;margin:8px 12px;max-height:30dvh;overflow:auto}
@media(max-width:520px){
  .member-app .sub-body{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .member-app .phone-frame{height:var(--member-viewport-height,100dvh)}
  .member-app #screen input,.member-app #screen textarea,.member-app #screen select{font-size:16px}
  .member-keyboard .bottom-nav{display:none}
  .member-app .bottom-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
}
@media(display-mode:standalone) and (max-width:520px){
  .member-app{padding:0}
  .member-app .phone-frame{border-radius:0;box-shadow:none}
}
