
/* OhtemisBetaAuto mobile foundation */
html{min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
button,a,input,select,textarea{touch-action:manipulation}
button{min-height:44px}
input,select,textarea{font-size:16px}
img,video{max-width:100%;height:auto}
@media (pointer:coarse){button{min-width:44px}.rowActions button,.tool,.shareMini{min-height:44px}}
@media (max-width:860px){
  body{padding-top:max(env(safe-area-inset-top),0px);padding-right:max(env(safe-area-inset-right),0px);padding-left:max(env(safe-area-inset-left),0px);padding-bottom:max(env(safe-area-inset-bottom),0px)}
}
@media (max-width:600px){
  body{min-height:100dvh}
  .modal{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}
  .footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}

/* Chat: phone-first drawer + keyboard-safe composer */
.chatMobileMenu{display:none}
.chatSideBackdrop{display:none}
@media (max-width:860px){
  .app{width:100%;height:100dvh;min-height:100dvh;margin:0;padding:8px 8px max(8px,env(safe-area-inset-bottom));overflow:hidden}
  .top{flex:0 0 auto;align-items:center;margin-bottom:8px}
  .brand{min-width:0}
  .brand h1{font-size:20px}
  .brand p{font-size:11px;line-height:1.45}
  .topActions{margin-left:auto;justify-content:flex-end}
  .topActions>button{min-height:44px}
  .topActions #shareBtn,.topActions #filesBtn,.topActions #hubBtn{font-size:0;width:44px;padding:0}
  .topActions #shareBtn::after{content:'🔗';font-size:18px}
  .topActions #filesBtn::after{content:'📁';font-size:18px}
  .topActions #hubBtn::after{content:'☰';font-size:18px}
  .chatMobileMenu{display:inline-flex;align-items:center;justify-content:center}
  .layout{position:relative;width:100%;height:calc(100dvh - 74px);min-height:0;display:block;border-radius:14px;overflow:hidden}
  .side{position:absolute;inset:0 auto 0 0;width:min(88vw,360px);max-height:none;height:100%;z-index:50;background:var(--panel);border-right:1px solid var(--line);border-bottom:0;transform:translateX(-105%);transition:transform .16s ease;box-shadow:18px 0 45px rgba(0,0,0,.15)}
  .layout.sidebar-open .side{transform:translateX(0)}
  .chatSideBackdrop{display:block;position:absolute;inset:0;z-index:40;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .16s ease}
  .layout.sidebar-open .chatSideBackdrop{opacity:1;pointer-events:auto}
  .sideHead{padding:max(10px,env(safe-area-inset-top)) 12px 10px}
  .convList{max-height:none}
  .chat{height:100%;min-height:0}
  .chatHead{padding:10px 12px}
  .chatHead h2{font-size:16px}
  .chatHead p{font-size:10px}
  .messages{min-height:0;padding:10px 10px 14px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .msgBody{max-width:94%;padding:9px 10px}
  .composer{padding:8px 8px max(8px,env(safe-area-inset-bottom))}
  .toolrow{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .toolrow::-webkit-scrollbar{display:none}
  .tool{flex:0 0 auto;min-height:42px}
  .composeArea{flex-direction:column;gap:7px}
  .composeArea textarea{width:100%;min-height:74px;max-height:34dvh;resize:none}
  .sendCol{width:100%;display:block}
  .sendCol button{width:100%;min-height:48px}
  .shareRow{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .shareRow .shareMini{width:100%;min-width:0;min-height:44px;font-size:12px}
  .shareRow #clearBtn{grid-column:1/-1}
  .modalCard{width:100%;max-width:none;max-height:calc(100dvh - 24px);padding:14px;border-radius:14px}
}
@media (max-width:430px){
  .app{padding:6px 6px max(6px,env(safe-area-inset-bottom))}
  .layout{height:calc(100dvh - 68px);border-radius:12px}
  .brand p{display:none}
  .topActions #newBtn{font-size:0;width:44px;padding:0}
  .topActions #newBtn::after{content:'＋';font-size:22px}
  .msgBody{max-width:96%}
  .tool{padding:7px 9px}
  .modalActions{display:grid;grid-template-columns:1fr 1fr}
  .modalActions button{width:100%}
}

/* Share / hub / login / legal touch targets */
@media (max-width:780px){
  main{width:100%!important;padding:18px 14px max(28px,env(safe-area-inset-bottom))!important}
  .grid{grid-template-columns:1fr!important}
  .service{min-height:92px;padding:16px}
  .service:active{transform:scale(.99)}
  .card{border-radius:14px!important;padding:15px!important}
  .form{grid-template-columns:1fr!important}
  .form button{grid-column:1/-1;min-height:46px}
  .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .actions button{width:100%;min-height:44px}
}
@media (max-width:520px){
  .actions{grid-template-columns:1fr 1fr}
  .actions button{font-size:13px}
}
