*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f7fa;color:#1f1f1f}button,input{font:inherit}.page{max-width:640px;margin:0 auto;padding:20px 16px 24px;min-height:100vh;display:flex;flex-direction:column}.site-header{margin-bottom:16px}.site-slogan{margin:-8px 0 8px;font-size:14px;color:#1677ff;font-weight:500}.site-desc{margin:0 0 4px;font-size:13px;color:#666;line-height:1.6}.agree-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#666;line-height:1.5;margin-bottom:12px}.agree-row input{margin-top:3px;flex-shrink:0}.agree-row a{color:#1677ff;text-decoration:none}.site-footer{margin-top:auto;padding-top:24px;text-align:center;font-size:12px;color:#999;line-height:1.8}.footer-intro{margin:0 0 4px;color:#666}.footer-nature{margin:0 0 4px;color:#999;font-size:11px}.footer-operator,.footer-company,.footer-links{margin:0 0 4px}.footer-links a{color:#666;text-decoration:none}.footer-links a:hover{color:#1677ff}.footer-links .sep{margin:0 6px;color:#ddd}.footer-beian a{color:#999;text-decoration:none}.footer-beian a:hover{color:#1677ff}.footer-placeholder{color:#bbb}.footer-copy{margin:8px 0 0;color:#bbb}.card{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000000f}.title{font-size:22px;font-weight:700;margin:0 0 16px}.subtitle{font-size:15px;font-weight:600;margin:0 0 8px}.hint{font-size:13px;color:#666;line-height:1.5;margin:0 0 12px}.field{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:8px;margin-bottom:10px}.btn{width:100%;padding:10px 12px;border:none;border-radius:8px;background:#1677ff;color:#fff;cursor:pointer}.btn.secondary{background:#fff;color:#1677ff;border:1px solid #1677ff;margin-top:8px}.btn-row{display:flex;gap:8px;margin-top:12px}.btn-row .btn{flex:1;margin-top:0}.btn.secondary.danger{color:#cf1322;border-color:#ffa39e}.btn.secondary.danger:hover{color:#fff;background:#ff4d4f;border-color:#ff4d4f}.btn:disabled{opacity:.55;cursor:not-allowed}.status-line{font-size:14px;margin:4px 0}.msg-item{border-bottom:1px solid #f0f0f0;padding:12px 0}.msg-item:last-child{border-bottom:none}.msg-title{font-weight:600;font-size:15px}.msg-content{margin-top:4px;font-size:14px}.msg-time{margin-top:4px;font-size:12px;color:#888}.empty{text-align:center;color:#888;padding:24px 0}.tag-ok{color:#389e0d;font-size:13px}.tag-warn{color:#d48806;font-size:13px}
