:root { color-scheme:light; font-family:-apple-system,"PingFang SC",sans-serif; background:#F1F1EE; --rpx:.5px; }
* { box-sizing:border-box; }
html,body { margin:0; height:100%; overscroll-behavior:none; }
body { display:flex; align-items:center; justify-content:center; }
#mini-app { --rpx:.5px; position:relative; width:min(100vw,430px); height:100dvh; overflow:hidden; background:#fff; isolation:isolate; transform:translateZ(0); }
#status-line { position:absolute; z-index:150; top:0; left:0; right:0; height:20px; padding:2px 18px 0; display:flex; align-items:center; justify-content:space-between; font-size:11px; line-height:16px; pointer-events:none; color:#171717; }
.status-signals { font-size:10px; letter-spacing:1px; }
#native-header { position:absolute; z-index:120; top:20px; left:0; right:0; height:44px; display:flex; align-items:center; justify-content:center; background:#fff; color:#111; font-size:17px; border-bottom:1px solid #F3F3F0; }
#native-back { position:absolute; left:8px; top:0; width:36px; height:44px; margin:0; padding:0; border:0; background:transparent; color:#141414; font:36px/40px -apple-system,sans-serif; cursor:pointer; }
.capsule { position:absolute; right:8px; top:7px; height:30px; width:86px; border:1px solid #E3E3E3; border-radius:18px; display:flex; align-items:center; justify-content:space-around; background:rgba(255,255,255,.7); }
.capsule span { font-size:17px; letter-spacing:1px; line-height:1; }
.capsule i { display:block; height:18px; width:18px; border:2px solid #111; border-radius:50%; position:relative; }
.capsule i:after { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#111; inset:4px; }
.custom-capsule { z-index:151; position:absolute; right:8px; top:27px; pointer-events:none; }
.page-view { position:absolute; inset:64px 0 0; width:100%; height:auto; overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
.page-view.custom-navigation { top:0; }
.page-view.has-tabs { bottom:calc(50px + env(safe-area-inset-bottom)); }
.page-view[hidden] { display:none !important; }
.page-inner { min-height:100%; }
.page-view[data-page="assistant"] .page-inner { height:100%; min-height:0; }
wx-view,wx-scroll-view,wx-picker,wx-component,wx-image,wx-navigator { display:block; }
wx-text { display:inline; }
wx-image { overflow:hidden; }
wx-image img { display:block; width:100%; height:100%; object-fit:cover; }
wx-scroll-view[scroll-y] { overflow-y:auto; overscroll-behavior:contain; }
wx-scroll-view[scroll-x] { overflow-x:auto; scrollbar-width:none; }
wx-scroll-view::-webkit-scrollbar { display:none; }
wx-picker { position:relative; cursor:pointer; }
.native-picker { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; border:0; font-size:16px; }
.page-view input,.page-view textarea,.page-view button,.page-view select { font-family:inherit; }
.page-view input,.page-view textarea { outline:none; border:0; border-radius:0; min-width:0; }
.page-view textarea { resize:none; overflow-y:auto; background:transparent; }
.page-view button { cursor:pointer; text-transform:none; letter-spacing:inherit; border:0; appearance:none; }
.page-view button:disabled { cursor:default; }
.page-view[data-page="assistant"].has-tabs { height:calc(100% - 50px - env(safe-area-inset-bottom)); }
.page-view [role="button"] { cursor:pointer; -webkit-tap-highlight-color:transparent; }
#tabbar { position:absolute; z-index:110; bottom:0; left:0; right:0; height:calc(50px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); display:flex; align-items:stretch; border-top:1px solid #F0F0ED; background:#fff; }
.tab-item { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:3px; margin:0; padding:4px 0; border:0; background:none; font-size:10px; color:#9B9B96; cursor:pointer; }
.tab-item img { width:24px; height:24px; object-fit:contain; }
.tab-item.selected { color:#1A1A1A; }
#overlay-host { position:absolute; z-index:1000; inset:0; pointer-events:none; }
.web-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.36); pointer-events:auto; }
.web-dialog { width:calc(100% - 64px); max-height:80%; overflow:auto; background:#fff; border-radius:12px; color:#1A1A1A; }
.dialog-title { padding:24px 22px 12px; font-size:17px; font-weight:600; text-align:center; }
.dialog-content { padding:0 24px 24px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; color:#666663; }
.dialog-actions { display:flex; border-top:1px solid #EBEBE6; }
.dialog-actions button { flex:1; border:0; padding:15px; margin:0; background:none; font-size:16px; color:#1A1A1A; cursor:pointer; }
.dialog-actions button+button { border-left:1px solid #EBEBE6; font-weight:600; }
.action-sheet { position:absolute; bottom:0; left:0; right:0; padding-bottom:env(safe-area-inset-bottom); background:#F2F2EE; border-radius:14px 14px 0 0; overflow:hidden; }
.action-sheet button { display:block; width:100%; margin:0; padding:18px; border:0; border-bottom:1px solid #EBEBE6; background:#fff; font-size:16px; color:#1A1A1A; cursor:pointer; }
.action-sheet button:last-child { margin-top:8px; }
#toast { display:none; position:absolute; z-index:1500; left:50%; top:45%; transform:translate(-50%,-50%); max-width:80%; width:max-content; padding:16px 22px; border-radius:8px; background:rgba(20,20,20,.83); color:white; text-align:center; font-size:14px; line-height:1.6; pointer-events:none; }
.image-preview { position:absolute; inset:0; background:#111; display:flex; align-items:center; justify-content:center; }
.image-preview img { max-width:100%; max-height:calc(100% - 100px); object-fit:contain; }
.preview-close { position:absolute; right:16px; top:36px; color:white; background:rgba(255,255,255,.15); border:0; border-radius:50%; height:36px; width:36px; font-size:25px; cursor:pointer; }
.preview-counter { position:absolute; bottom:32px; color:#ddd; font-size:13px; }
.document-preview { background:#F5F5F0; }
.document-preview iframe { width:100%; height:calc(100% - 100px); border:0; background:white; }
.document-preview .preview-close { color:#222; background:#E8E8E3; }
.document-download { position:absolute; bottom:28px; color:#1A1A1A; font-size:14px; }
@media(min-width:600px) { #mini-app { height:min(900px,calc(100dvh - 32px)); box-shadow:0 12px 60px rgba(0,0,0,.09); border:1px solid #E5E5E0; border-radius:12px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
