:root{--bg: #f5f5f3;--rail: #fbfbfa;--surface: #ffffff;--surface-2: #fafafa;--sel: #f2f2ec;--chip: #f0f0eb;--nav-active: #ecece5;--border: #e7e7e2;--border-soft: #eeeee9;--border-strong: #d9d9d4;--text: #1a1a17;--text-2: #4a4a44;--text-muted: #8a8a83;--text-faint: #a8a8a1;--strong: #1a1a17;--on-strong: #ffffff;--accent: #237a4e;--accent-bg: #e9f5ee;--accent-border: #cbe9d8;--danger: #c33a2f;--danger-bg: #fbebe9;--danger-border: #f3d6d2;--shadow: 0 8px 24px rgba(0, 0, 0, .08);--scroll-thumb: #d9d9d4;--scroll-thumb-hover: #c2c2bc}:root[data-theme=dark]{--bg: #131417;--rail: #17181c;--surface: #1c1e22;--surface-2: #202329;--sel: #262a31;--chip: #24272d;--nav-active: #2b2f37;--border: #2c2f36;--border-soft: #24272c;--border-strong: #3a3e47;--text: #eceef1;--text-2: #c3c7ce;--text-muted: #8b9099;--text-faint: #6c717a;--strong: #2a2e36;--on-strong: #f3f3ef;--accent: #4ecb8a;--accent-bg: #16352a;--accent-border: #275c44;--danger: #e5726a;--danger-bg: #3a1f1d;--danger-border: #5a2f2b;--shadow: 0 12px 34px rgba(0, 0, 0, .55);--scroll-thumb: #3a3e47;--scroll-thumb-hover: #4b515b}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:Hanken Grotesk,system-ui,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}#root{height:100%}a{color:var(--text);text-decoration:none}::selection{background:var(--strong);color:var(--on-strong)}nav,section,aside{transition:background-color .2s ease,border-color .2s ease,color .15s ease}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px;border:3px solid transparent;background-clip:content-box}.scroll::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:content-box}textarea{font-family:inherit}button{font-family:inherit;cursor:pointer}@keyframes msgIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.msg-in{animation:msgIn .3s cubic-bezier(.22,.61,.36,1) both}@keyframes dotPulse{0%,70%,to{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.typing-dot{width:6px;height:6px;border-radius:50%;display:inline-block;animation:dotPulse 1.2s infinite ease-in-out}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .7s linear infinite}.injection-hidden{color:transparent;-webkit-user-select:text;user-select:text}.injection-hidden::selection{color:#b91c1c;background:#fee2e2}.injection-hidden::-moz-selection{color:#b91c1c;background:#fee2e2}
