* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--ink); font:14px/1.45 Inter, Aptos, "Segoe UI", Arial, sans-serif; }
button, input, select { font:inherit; }
button { cursor:pointer; }
.hidden { display:none !important; }
.button { min-height:36px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 13px; border:1px solid transparent; border-radius:8px; font-weight:700; font-size:12px; transition:.18s ease; }
.button svg { width:15px; height:15px; }
.button-primary { background:var(--blue); color:#fff; box-shadow:0 5px 13px rgba(36,123,242,.18); }
.button-primary:hover { background:#1268db; transform:translateY(-1px); }
.button-ghost { background:#fff; color:#34506f; border-color:var(--line); }
.button-ghost:hover { background:#f8fafd; border-color:#cbd8e7; }
.button:disabled { cursor:not-allowed; opacity:.45; transform:none; box-shadow:none; }
.button-static { pointer-events:none; }
.icon-button { width:34px; height:34px; display:inline-grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; color:#49627e; }
.icon-button svg { width:17px; height:17px; }
.eyebrow { display:inline-flex; align-items:center; gap:6px; color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.eyebrow svg { width:14px; height:14px; }
@keyframes spin { to { transform:rotate(360deg); } }
