:root { --text-primary: #000000; --text-secondary: #8d96a0; --text-tertiary: #6e7681; --text-link: #2f81f7; --text-link-hover: #539bf5; --text-slate: #57606a; --border-primary: #30363d; --border-hover: #8d96a0; --accent: #7aa2f7; --accent-hover: #9ab6ff; --accent-primary: #2f81f7; --accent-emphasis: #539bf5; --success: #3fb950; --warning: #d29922; --danger: #f85149; /* Typography */ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace; /* Radius */ --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-full: 9999px; /* Shadows */ --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25); --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35); } *, *::before, *::after { box-sizing: border-box; } html { font-size: 16px; -webkit-font-smoothing: antialiased; } body { font-family: var(--font-sans); color: var(--text-primary); background-color: var(--bg-primary); } h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.25; } p { color: var(--text-secondary); line-height: 1.6; } a { color: var(--text-link); text-decoration: none; } a:hover { color: var(--text-link-hover); text-decoration: underline; } code { font-family: var(--font-mono); background: var(--bg-tertiary); padding: 0.2em 0.4em; border-radius: var(--radius-sm); } SEMANTIC COMPONENTS (SAFE) ============================================== */ .card { background: var(--bg-surface); color: var(--text-primary); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); border: 1px solid var(--border-color); } .app-card { background-color: var(--bg-secondary); border: 1px solid var(--border-primary); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); } .app-card:hover { border-color: var(--border-hover); } .app-btn { display: inline-flex; align-items: center; justify-content: center; font-weight: 500; border-radius: var(--radius-sm); cursor: pointer; transition: background-color 0.15s ease, border-color 0.15s ease; } .app-btn-primary { background-color: var(--accent-primary); color: #fff; } .app-btn-primary:hover { background-color: var(--accent-emphasis); } .app-btn-secondary { background-color: var(--bg-tertiary); border: 1px solid var(--border-primary); color: var(--text-primary); } .app-btn-secondary:hover { background-color: var(--bg-hover); } .button { background: var(--accent); color: #fff; border-radius: var(--radius-md); transition: background var(--transition-fast); } .button:hover { background: var(--accent-hover); } .app-badge { display: inline-flex; align-items: center; padding: 0 0.5rem; height: 1.25rem; font-size: 0.75rem; border-radius: var(--radius-full); } .app-badge-success { color: var(--success); background: color-mix(in srgb, var(--success) 15%, transparent); } .app-avatar { border-radius: var(--radius-full); overflow: hidden; background-color: var(--bg-tertiary); border: 1px solid var(--border-primary); }