
html, body { margin:0; padding:0; min-height:100%; background:#f5f7fb; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif; }
body { max-width:520px; margin:0 auto; overflow-x:hidden; }
#app { min-height:100vh; position:relative; background:#f5f7fb; }
.H5Page { min-height:100vh; position:relative; overflow-x:hidden; }
div, span, input, textarea, button { box-sizing:border-box; }
img { display:block; }
.scroll-view-x { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.scroll-view-y { overflow-y:auto; -webkit-overflow-scrolling:touch; }
.h5-toast { position:fixed; left:50%; bottom:80px; transform:translateX(-50%); z-index:99999; max-width:80%; padding:10px 14px; border-radius:999px; color:#fff; background:rgba(0,0,0,.72); font-size:14px; opacity:0; transition:opacity .18s; pointer-events:none; }
.h5-toast.show { opacity:1; }
.H5NavBar { position:fixed; left:50%; top:0; transform:translateX(-50%); width:100%; max-width:520px; height:44px; z-index:999; display:flex; align-items:center; padding:0 12px; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid rgba(15,23,42,.06); }
.H5NavBack { width:32px; height:32px; border:0; border-radius:50%; background:#eef4ff; color:#1677ff; font-size:22px; line-height:30px; }
.H5NavTitle { flex:1; text-align:center; font-size:16px; font-weight:700; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; padding-right:32px; }
.H5NavSpacer { height:44px; }
button { font-family:inherit; }
textarea { font-family:inherit; }
/* 让原小程序 page/root 行为更接近 */
.PageRoot, .ChatPage { min-height:100vh; }
/* 图片缺失时的兜底 */
.AiLogoImg { object-fit:contain; }
