:root{color-scheme:light dark;--bg: #e9edf3;--bg-deep: #dde3ec;--panel: #ffffff;--panel-alt: #f3f5f9;--panel-hover: #eaeef4;--border: #dde3eb;--border-strong: #c7d0dc;--text: #1b2537;--text-muted: #66748a;--text-faint: #8f9bad;--accent: #3f5577;--accent-hover: #34475f;--accent-soft: #e4eaf3;--accent-text: #ffffff;--cream: #f4efe6;--cream-deep: #e9e1d2;--amber: #e0a040;--amber-soft: #fbefd9;--orange: #e8833a;--link: #2f5fa8;--danger: #d64545;--danger-soft: #fbe6e6;--danger-text: #ffffff;--online: var(--amber);--seen: #3f7fd6;--focus: #5a84c4;--bubble-mine: #f3ebdc;--bubble-theirs: #ffffff;--bubble-text: #1b2537;--bubble-time: #7b7366;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--shadow: 0 1px 2px rgba(27, 37, 55, .06), 0 1px 1px rgba(27, 37, 55, .04);--shadow-md: 0 4px 14px rgba(27, 37, 55, .1), 0 1px 3px rgba(27, 37, 55, .06);--shadow-lg: 0 18px 50px rgba(27, 37, 55, .22), 0 4px 12px rgba(27, 37, 55, .1);--ease: cubic-bezier(.2, .7, .2, 1);--t-fast: .12s;--t-med: .2s}@media(prefers-color-scheme:dark){:root{--bg: #0e131b;--bg-deep: #0a0e14;--panel: #161c26;--panel-alt: #1c2330;--panel-hover: #222b3a;--border: #28313f;--border-strong: #374356;--text: #e7ebf1;--text-muted: #96a2b6;--text-faint: #6d7a90;--accent: #5d7aa3;--accent-hover: #6f8cb5;--accent-soft: #233045;--accent-text: #ffffff;--cream: #2d2822;--cream-deep: #3a332a;--amber: #e8aa4d;--amber-soft: #3a2f1c;--link: #8fb0e0;--danger: #ef5f5f;--danger-soft: #3a2024;--seen: #7fb0f0;--focus: #7fa3dc;--bubble-mine: #35496a;--bubble-theirs: #1f2735;--bubble-text: #e9eef6;--bubble-time: #a6b3c8;--shadow: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}app-root{display:block;height:100%}h1,h2,h3{letter-spacing:-.01em}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:2px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}svg{flex-shrink:0}.btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--text);font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:var(--shadow);transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.btn:hover:not(:disabled){background:var(--panel-alt);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--danger-text)}.btn.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn.btn-ghost{border-color:transparent;background:transparent;box-shadow:none}.btn.btn-ghost:hover:not(:disabled){background:var(--panel-hover);border-color:transparent}.btn.btn-sm{padding:6px 12px;font-size:13px}.btn svg{width:16px;height:16px}.icon-btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.icon-btn svg{width:20px;height:20px}.icon-btn:hover:not(:disabled){background:var(--panel-hover);color:var(--text)}.icon-btn:active:not(:disabled){transform:scale(.94)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:500;color:var(--text-muted)}.input{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-alt);color:var(--text);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.input::placeholder{color:var(--text-faint)}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--accent);background:var(--panel);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}select.input{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366748a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.error-text{color:var(--danger);font-size:13px}.muted{color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--text);padding:22px;max-width:min(92vw,420px);box-shadow:var(--shadow-lg)}dialog::backdrop{background:#0e131b80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in var(--t-med) var(--ease)}dialog[open]::backdrop{animation:fade-in var(--t-med) var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;border-radius:999px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-faint)}::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
