/* 公共视觉基础：本地样式包含关键布局，CDN 暂不可用时仍可正常预览表单与气泡。 */
:root { color-scheme: dark; --bg: #091114; --text: #edf5f2; --muted: #819793; --mint: #baf5d8; --line: rgba(189, 230, 217, .13); }
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--bg); color: var(--text); font-family: "Segoe UI", "Microsoft YaHei", sans-serif; }
button, textarea { font: inherit; }
button, a, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
a { color: inherit; text-decoration: none; }
p, h1 { margin: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 5px; }
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.w-full { width: 100%; }
.mint { color: var(--mint); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 23px; font-weight: 650; letter-spacing: 2px; }
.brand-mark { color: var(--mint); font-size: 37px; line-height: 1; }
.brand-en { margin-left: 12px; color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: 2.5px; }
.connection { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.connection::before, .live-dot { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #82928d; }
.connection[data-state="online"]::before, .live-dot { background: var(--mint); box-shadow: 0 0 12px #aaf7d44a; }
.connection[data-state="connecting"]::before { background: #e4c483; }
.eyebrow { color: #a9c4b9; font-size: 11px; letter-spacing: 2px; }
.intro { color: var(--muted); font-size: 14px; line-height: 1.9; }
.button-secondary, .button-icon { border: 1px solid var(--line); background: #ffffff05; color: #c6d9d1; border-radius: 9px; min-height: 42px; padding: 9px 16px; font-size: 12px; transition: background .2s, border-color .2s; }
.button-secondary:hover, .button-icon:hover { background: #baf5d812; border-color: #baf5d84d; }
.button-icon { padding: 5px 12px; font-size: 23px; }
.button-primary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 14px 20px; border: 0; border-radius: 12px; background: var(--mint); color: #122c24; font-weight: 650; transition: background .2s; }
.button-primary:hover:enabled { background: #d2ffe7; }
