:root { --bg: #17171b; --panel: #1f1f24; --panel-alt: #272730; --panel-hover: #2f2f3a; --border: #2e2e37; --border-strong: #3a3a46; --text: #ececf1; --text-dim: #9a9aa6; --text-dim-strong: #c7c7d1; --accent: #6ea8ff; --accent-soft: rgba(110, 168, 255, 0.14); --accent-soft-strong: rgba(110, 168, 255, 0.22); --danger: #ff7a7a; --danger-soft: rgba(255, 122, 122, 0.12); --radius: 6px; --radius-sm: 4px; --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2); --shadow-md: 0 4px 18px rgba(0, 0, 0, 0.35); --ease: cubic-bezier(0.2, 0.8, 0.2, 1); color-scheme: dark; } :root[data-theme='light'] { --bg: #f3f3f6; --panel: #ffffff; --panel-alt: #f5f5f8; --panel-hover: #eaeaf0; --border: #e2e2e7; --border-strong: #c9c9d0; --text: #1c1c20; --text-dim: #72727a; --text-dim-strong: #3c3c42; --accent: #2b6af5; --accent-soft: rgba(43, 106, 245, 0.1); --accent-soft-strong: rgba(43, 106, 245, 0.18); --danger: #d63c3c; --danger-soft: rgba(214, 60, 60, 0.09); --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06); --shadow-md: 0 8px 24px rgba(20, 25, 40, 0.12); color-scheme: light; } *, *::before, *::after { box-sizing: border-box; } html, body, #app { margin: 0; padding: 0; height: 100%; width: 100%; background: var(--bg); color: var(--text); font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 13px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow: hidden; user-select: none; -webkit-user-select: none; transition: background 180ms var(--ease), color 180ms var(--ease); } input, textarea, [contenteditable='true'] { user-select: text; -webkit-user-select: text; } button { font: inherit; color: inherit; background: var(--panel-alt); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 5px 10px; cursor: pointer; transition: background 140ms var(--ease), border-color 140ms var(--ease), color 140ms var(--ease), transform 120ms var(--ease); display: inline-flex; align-items: center; gap: 6px; } button:hover:not(:disabled) { background: var(--panel-hover); border-color: var(--border-strong); } button:active:not(:disabled) { transform: translateY(1px); } button:disabled { opacity: 0.45; cursor: not-allowed; } input, select, textarea { transition: border-color 140ms var(--ease), background 140ms var(--ease); } input:focus, select:focus, textarea:focus { outline: none; border-color: var(--accent) !important; } ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 10px; border: 2px solid var(--panel); } ::-webkit-scrollbar-thumb:hover { background: var(--border-strong); } ::selection { background: var(--accent-soft-strong); color: var(--text); }