:root{--brand: #4d6bfe;--brand-dark: #3b55e6;--brand-soft: #eef1ff;--brand-gradient: linear-gradient(135deg, #5b73ff 0%, #7a5cff 100%);--bg: #f6f7fb;--card: #ffffff;--text: #1d2129;--text-2: #4e5969;--text-3: #86909c;--line: #eef0f5;--green: #00b42a;--red: #f53f3f;--orange: #ff7d00;--radius: 14px;--radius-sm: 10px;--shadow: 0 4px 18px rgba(29, 33, 41, .06);--shadow-lg: 0 10px 36px rgba(77, 107, 254, .16);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--sat: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--sab: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--sal: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));--sar: var(--safe-area-inset-right, env(safe-area-inset-right, 0px))}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;font-size:15px;outline:none}img{max-width:100%}ul{list-style:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 20px;border-radius:10px;font-size:15px;font-weight:500;transition:all .18s ease;white-space:nowrap}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 4px 12px #4d6bfe47}.btn-primary:hover{background:var(--brand-dark);transform:translateY(-1px)}.btn-ghost{background:var(--brand-soft);color:var(--brand)}.btn-ghost:hover{background:#e0e6ff}.btn-line{background:#fff;color:var(--text-2);border:1px solid var(--line)}.btn-line:hover{border-color:var(--brand);color:var(--brand)}.btn-danger{background:#fff1f0;color:var(--red)}.btn-danger:hover{background:#ffe2e0}.btn-block{width:100%}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.field{margin-bottom:16px}.field label{display:block;font-size:13px;color:var(--text-2);margin-bottom:7px;font-weight:500}.input,.textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fafbfc;color:var(--text);transition:all .18s}.input:focus,.textarea:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #4d6bfe1f}.textarea{resize:vertical;min-height:120px;line-height:1.7}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);font-size:20px;-webkit-user-select:none;user-select:none}.avatar.sm{width:32px;height:32px;font-size:16px}.avatar.lg{width:56px;height:56px;font-size:28px}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.between{display:flex;align-items:center;justify-content:space-between}.gap8{gap:8px}.gap12{gap:12px}.muted{color:var(--text-3)}.small{font-size:13px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{text-align:center;padding:60px 20px;color:var(--text-3)}.empty .emoji{font-size:48px;display:block;margin-bottom:12px}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;line-height:18px;text-align:center}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-3)}.dot.online{background:var(--green);box-shadow:0 0 0 2px #fff}.toast-wrap{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 20px;border-radius:10px;background:#1d2129e0;color:#fff;font-size:14px;box-shadow:var(--shadow);animation:toastIn .25s ease}.toast.error{background:#f53f3feb}.toast.success{background:#00b42aeb}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d212973;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.modal{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:24px;box-shadow:var(--shadow-lg);animation:popIn .22s ease}.modal h3{margin-bottom:16px;font-size:18px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:none}}.md h1,.md h2,.md h3{margin:18px 0 10px;line-height:1.4}.md h1{font-size:24px}.md h2{font-size:20px}.md h3{font-size:17px}.md p{margin:10px 0;color:var(--text-2)}.md ul,.md ol{padding-left:24px;margin:10px 0;color:var(--text-2)}.md li{margin:4px 0;list-style:revert}.md code{background:#f2f3f7;padding:2px 6px;border-radius:6px;font-size:13px;font-family:Consolas,monospace}.md pre{background:#1e2430;color:#e6e8ee;padding:16px;border-radius:10px;overflow-x:auto;margin:12px 0}.md pre code{background:none;padding:0;color:inherit}.md blockquote{border-left:3px solid var(--brand);padding:4px 14px;background:var(--brand-soft);border-radius:0 8px 8px 0;margin:12px 0}.md a{word-break:break-all}.md table{border-collapse:collapse;width:100%;margin:12px 0}.md th,.md td{border:1px solid var(--line);padding:8px 12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d6d9e0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b8bcc6}::-webkit-scrollbar-track{background:transparent}@media(max-width:768px){body{font-size:14px}.card{padding:16px;border-radius:12px}.btn{height:38px}}
