* { box-sizing: border-box; }
html { color: var(--text-primary); background: var(--bg); font-family: var(--font-sans); font-synthesis: none; }
body { margin: 0; min-width: 320px; background: var(--bg); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, a:focus-visible { outline: 3px solid rgba(72, 103, 217, .35); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
p, h1, h2, h3, h4 { overflow-wrap: anywhere; }
pre, code { max-width: 100%; overflow-x: auto; }
[hidden] { display: none; }
.eyebrow { color: var(--text-tertiary); font-size: 11px; line-height: 1.3; letter-spacing: .11em; text-transform: uppercase; }
.caption { color: var(--text-tertiary); font-size: 12px; line-height: 1.55; }
.muted { color: var(--text-secondary); }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.brand-lockup > span:last-child { display: grid; gap: 2px; min-width: 0; }
.brand-lockup b { font-size: 15px; letter-spacing: .03em; }
.brand-lockup small { color: var(--text-tertiary); font-size: 11px; }
.brand-lockup-light b { color: #fff; }
.brand-lockup-light small { color: #aebbd1; }
.brand-mark { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; border-radius: 11px; color: #fff; background: var(--brand); font-weight: 800; box-shadow: 0 7px 16px rgba(72, 103, 217, .22); }
.pulse-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #39bf9e; box-shadow: 0 0 0 4px rgba(57, 191, 158, .13); }
.stack-form { display: grid; gap: var(--space-4); }
.stack-form label, .field-label { display: grid; gap: var(--space-2); color: var(--text-secondary); font-size: 13px; font-weight: 650; }
.stack-form input, .stack-form textarea, .stack-form select, .field-control { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 13px; color: var(--text-primary); background: var(--surface); }
.stack-form input::placeholder, .stack-form textarea::placeholder { color: #a4afbd; }
.stack-form input:focus, .stack-form textarea:focus, .stack-form select:focus, .field-control:focus { border-color: var(--brand); outline: none; box-shadow: 0 0 0 3px rgba(72, 103, 217, .12); }
.form-error { min-height: 18px; margin: 0; color: var(--danger); font-size: 13px; }
