:root { --bg-app: #1c2128; --bg-panel: #22272e; --bg-panel-alt: #2a3038; --bg-hover: #2d3540; --border: #1e242b; --text-main: #cdd9e5; --text-muted: #768390; --accent: #58a6ff; --accent-strong: #1f6feb; --success: #3fb950; --danger: #f85149; --radius-md: 6px; --radius-lg: 8px; --shadow: 0 8px 24px rgba(1, 4, 9, 0.7); } :root[data-theme="light"] { --bg-app: #f6f8fa; --bg-panel: #ffffff; --bg-panel-alt: #f0f3f6; --bg-hover: #eaeef2; --border: #d0d7de; --text-main: #24292f; --text-muted: #57606a; --accent: #0969da; --accent-strong: #0969da; --success: #1a7f37; --danger: #cf222e; --shadow: 0 8px 24px rgba(31, 35, 40, 0.12); } * { box-sizing: border-box; } html, body { margin: 0; width: 100%; height: 100%; background: var(--bg-app); color: var(--text-main); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; } button, input, select, textarea { font: inherit; } button { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--bg-panel-alt); color: var(--text-main); padding: 5px 12px; cursor: pointer; transition: background 0.1s ease, border-color 0.1s ease, opacity 0.1s ease; font-size: 13px; } button:hover { background: var(--bg-hover); border-color: #6e7681; } button:disabled { opacity: 0.5; cursor: default; } button:disabled:hover { background: var(--bg-panel-alt); border-color: var(--border); } button.primary { background: #238636; border-color: transparent; color: #ffffff; } button.primary:hover { background: #2ea043; border-color: transparent; } button.primary-blue { background: var(--accent-strong); border-color: transparent; color: #ffffff; } button.primary-blue:hover { background: #388bfd; border-color: transparent; } button.danger { border-color: rgba(248, 81, 73, 0.35); color: #f85149; background: transparent; } button.danger:hover { background: rgba(248, 81, 73, 0.1); border-color: #f85149; } input, select, textarea { width: 100%; padding: 5px 10px; border-radius: var(--radius-md); border: 1px solid var(--border); background: rgba(0, 0, 0, 0.25); color: var(--text-main); font-size: 13px; transition: border-color 0.1s ease, box-shadow 0.1s ease; } input:focus, select:focus, textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(31, 111, 235, 0.12); } textarea { min-height: 80px; resize: vertical; }