:root{--bg: #ffffff;--bg-soft: #f7f7f8;--bg-hover: #ececf1;--bg-sidebar: #171717;--bg-chat: #ffffff;--border: #e5e5e5;--text: #0d0d0d;--text-soft: #676767;--text-muted: #8e8ea0;--text-sidebar: #ececf1;--accent: #10a37f;--accent-hover: #0d8c6b;--accent-soft: rgba(16, 163, 127, .1);--danger: #ef4146;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1), 0 4px 10px rgba(0, 0, 0, .05);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Roboto, sans-serif;--mono: "SF Mono", "JetBrains Mono", Consolas, "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:480px;margin:0 auto;padding:48px 24px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-lg);transition:box-shadow .2s ease}.card:hover{box-shadow:0 20px 40px #0000001f,0 8px 16px #00000014}.logo{text-align:center;margin-bottom:32px}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#10a37f,#0d8c6b);color:#fff;font-weight:700;font-size:24px;margin-bottom:20px;box-shadow:0 4px 12px #10a37f4d}.logo h1{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.logo p{color:var(--text-soft);font-size:15px;margin-top:8px;font-weight:400}.field{margin-bottom:20px}.field label{display:block;font-size:14px;font-weight:500;color:var(--text-soft);margin-bottom:8px}.field input,.field select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;font-family:var(--font);background:var(--bg);color:var(--text);transition:all .2s ease}.field input:hover,.field select:hover{border-color:#c5c5d2}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input::placeholder{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 20px;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .2s ease;letter-spacing:.01em}.btn-primary{background:linear-gradient(135deg,#10a37f,#0d8c6b);color:#fff;box-shadow:0 2px 8px #10a37f4d}.btn-primary:hover{background:linear-gradient(135deg,#0d8c6b,#0b7a5c);box-shadow:0 4px 12px #10a37f66;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-ghost{background:transparent;color:var(--text-soft);border:1px solid var(--border);font-weight:500}.btn-ghost:hover{background:var(--bg-soft);border-color:#c5c5d2}.alert{padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px}.alert-error{background:#fde8e8;color:var(--danger)}.alert-success{background:var(--accent-soft);color:var(--accent-hover)}.share-box{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;margin-top:18px;word-break:break-all}.share-box .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.share-box .link{font-family:var(--mono);font-size:13px;color:var(--text)}.share-box .hint{font-size:12px;color:var(--text-muted);margin-top:8px}.chat-app{display:flex;flex-direction:column;height:100vh;max-width:960px;margin:0 auto;background:var(--bg);box-shadow:-1px 0 0 var(--border),1px 0 0 var(--border)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.chat-header .title{font-weight:700;font-size:18px;letter-spacing:-.01em}.chat-header .meta{font-size:13px;color:var(--text-soft);margin-top:2px}.chat-header .meta .count{color:var(--accent);font-weight:600}.chat-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--bg-soft)}.msg{max-width:75%;padding:12px 18px;border-radius:var(--radius);font-size:15px;line-height:1.6;word-break:break-word;animation:msg-in .3s ease-out}@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg .nick{font-size:12px;color:var(--text-muted);margin-bottom:4px;font-weight:600}.msg .time{font-size:11px;color:var(--text-muted);margin-top:6px;text-align:right}.msg-them{align-self:flex-start;background:var(--bg);border:1px solid var(--border);box-shadow:0 1px 3px #0000000d}.msg-me{align-self:flex-end;background:linear-gradient(135deg,#10a37f,#0d8c6b);color:#fff;box-shadow:0 2px 8px #10a37f33}.msg-me .nick,.msg-me .time{color:#ffffffd9}.msg-sys{align-self:center;background:transparent;color:var(--text-muted);font-size:13px;padding:6px 12px}.chat-input{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0}.chat-input input{flex:1;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;font-family:var(--font);transition:all .2s ease}.chat-input input:hover{border-color:#c5c5d2}.chat-input input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-input button{padding:14px 24px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,#10a37f,#0d8c6b);color:#fff;font-weight:600;font-size:16px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10a37f4d}.chat-input button:hover{background:linear-gradient(135deg,#0d8c6b,#0b7a5c);box-shadow:0 4px 12px #10a37f66;transform:translateY(-1px)}.chat-input button:active{transform:translateY(0)}.chat-input button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.members-bar{display:flex;gap:8px;padding:10px 24px;background:var(--bg);border-bottom:1px solid var(--border);font-size:13px;color:var(--text-soft);flex-wrap:wrap;align-items:center;flex-shrink:0}.members-bar .chip{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;padding:4px 12px;font-weight:500;transition:all .2s ease}.members-bar .chip:hover{background:var(--bg-hover);border-color:#c5c5d2}.center-state{display:flex;align-items:center;justify-content:center;height:100vh;text-align:center;padding:32px;background:var(--bg-soft)}.center-state .icon{font-size:48px;margin-bottom:20px}.center-state h2{font-size:24px;font-weight:700;margin-bottom:12px;letter-spacing:-.01em}.center-state p{color:var(--text-soft);margin-bottom:24px;font-size:16px;line-height:1.6}.hidden{display:none!important}.muted{color:var(--text-muted);font-size:13px}@media (max-width: 768px){.container{padding:24px 16px}.card{padding:24px}.chat-header{padding:12px 16px}.chat-body{padding:16px}.chat-input{padding:12px 16px}.members-bar{padding:8px 16px}.msg{max-width:85%}}@media (max-width: 480px){.logo h1{font-size:24px}.btn,.chat-input button{padding:12px 16px;font-size:15px}}
