*{box-sizing:border-box;margin:0;padding:0}html,body{background:#fcf0f2;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.page-container{max-width:450px;min-height:100vh;margin:0 auto;background:#fcf0f2;overflow-x:hidden;position:relative;box-shadow:0 0 40px #00000014}.btn{border:none;outline:none;cursor:pointer;font-family:inherit;-webkit-user-select:none;user-select:none}.section-title{font-size:15px;color:#c0392b;margin-bottom:15px;font-weight:500;letter-spacing:2px}.ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.toast{position:fixed;top:18%;left:50%;transform:translate(-50%,-8px);z-index:9999;display:flex;align-items:center;gap:6px;max-width:80%;background:#fffffff7;color:#c0392b;border:1px solid #f0d5da;border-radius:20px;padding:10px 18px;box-shadow:0 6px 24px #c0392b26;font-size:14px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.toast.show{opacity:1;transform:translate(-50%)}.toast.hide{opacity:0;transform:translate(-50%,-8px)}.toast-icon{font-size:18px;line-height:1;flex-shrink:0}.toast-text{word-break:break-all}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.confirm-mask.show{opacity:1}.confirm-mask.hide{opacity:0}.confirm-box{width:280px;max-width:85%;background:#fff;border-radius:14px;padding:22px 20px 18px;box-shadow:0 10px 40px #0003;transform:scale(.95);transition:transform .2s ease}.confirm-mask.show .confirm-box{transform:scale(1)}.confirm-title{font-size:16px;font-weight:600;color:#333;text-align:center;margin-bottom:10px}.confirm-text{font-size:14px;color:#666;text-align:center;line-height:1.6;white-space:pre-line;margin-bottom:18px}.confirm-btns{display:flex;gap:10px}.confirm-btn{flex:1;height:38px;border-radius:19px;font-size:14px;cursor:pointer;border:1px solid #eee;background:#fff;color:#666;font-family:inherit;transition:opacity .2s,background .2s}.confirm-btn.cancel:hover{background:#f5f5f5}.confirm-btn.ok{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border-color:transparent}.confirm-btn.ok:hover{opacity:.9}
