*, *::before, *::after { box-sizing: border-box; } html, body, #root { margin: 0; padding: 0; min-height: 100vh; background: var(--bg); color: var(--fg); font-family: var(--font-sans); font-size: var(--text-base); line-height: var(--leading-normal); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } h1, h2, h3, h4 { font-family: var(--font-sans); line-height: var(--leading-tight); font-weight: 600; margin: 0; } p { margin: 0; } code, pre { font-family: var(--font-mono); font-size: var(--text-sm); } button { font-family: var(--font-sans); cursor: pointer; } a { color: var(--accent); text-decoration: none; } a:hover { color: var(--accent-hover); } ::selection { background: var(--accent-soft); color: var(--accent); } ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.08); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.15); } .app-shell { max-width: 1240px; margin: 0 auto; padding: var(--space-8) var(--space-12); display: flex; flex-direction: column; gap: var(--space-8); } .grid-two { display: grid; grid-template-columns: 380px 1fr; gap: var(--space-8); align-items: start; } @media (max-width: 960px) { .grid-two { grid-template-columns: 1fr; } .app-shell { padding: var(--space-6); } } .card { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-6); } .card h2 { font-size: var(--text-xl); margin-bottom: var(--space-2); } .muted { color: var(--fg-muted); } .subtle { color: var(--fg-subtle); } .btn-primary { background: var(--accent); color: #09090B; border: none; border-radius: var(--radius-md); padding: 10px 18px; font-size: var(--text-sm); font-weight: 600; transition: background 120ms ease; } .btn-primary:hover:not(:disabled) { background: var(--accent-hover); } .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; } .input, .textarea { width: 100%; background: var(--bg-sunken); border: 1px solid var(--border-subtle); border-radius: var(--radius-sm); padding: 10px 12px; font-family: var(--font-sans); font-size: var(--text-sm); color: var(--fg); transition: border-color 120ms ease; } .input:focus, .textarea:focus { outline: none; border-color: var(--border-strong); box-shadow: 0 0 0 3px var(--accent-soft); } .textarea { resize: vertical; min-height: 96px; line-height: var(--leading-normal); } .label { display: block; font-size: var(--text-xs); color: var(--fg-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--space-2); } .chip { display: inline-block; padding: 2px 10px; font-size: var(--text-xs); border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent); font-weight: 500; } .stack { display: flex; flex-direction: column; gap: var(--space-3); } .divider { height: 1px; background: var(--border-subtle); border: none; margin: var(--space-4) 0; }