/* Money Blueprint — design system v1 · COMPONENTS.
   Built only on tokens (resolved under .mb-ds). Mirror to landing repo. */

/* type helpers */
.mb-display{font-weight:900;font-size:clamp(64px,11vw,124px);line-height:0.88;letter-spacing:-0.05em;}
.mb-h1{font-weight:900;font-size:clamp(44px,6.5vw,76px);line-height:0.96;letter-spacing:-0.045em;}
.mb-h2{font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-0.03em;}
.mb-h3{font-weight:700;font-size:21px;letter-spacing:-0.01em;}
.mb-body-lg{font-size:19px;color:var(--ink-dim);}
.mb-body{font-size:16px;color:var(--ink-dim);}
.mb-small{font-size:14px;color:var(--ink-mute);}
.mb-kicker{font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.22em;color:var(--accent-hi);}
.mb-stat{font-family:var(--font-mono);font-weight:800;letter-spacing:-0.03em;line-height:1;}

/* buttons */
.mb-btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--font-sans);font-weight:800;font-size:15px;padding:15px 28px;border-radius:var(--r-md);border:1px solid transparent;transition:transform .18s,box-shadow .18s,border-color .18s,color .18s;text-decoration:none;white-space:nowrap;}
.mb-btn svg{width:18px;height:18px;}
.mb-btn-primary{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--accent-hi),var(--accent-deep));color:#fff;box-shadow:var(--glow);}
.mb-btn-primary::after{content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.45),transparent);transform:skewX(-22deg);animation:mb-sweep 4.8s ease-in-out infinite;}
.mb-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 56px rgba(var(--amb),0.5);}
.mb-btn-ghost{background:rgba(255,255,255,0.04);color:var(--ink);border-color:var(--border-2);}
.mb-btn-ghost:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent-hi);}
.mb-btn-sm{padding:9px 16px;font-size:13px;border-radius:var(--r-sm);}
.mb-btn:disabled,.mb-btn.is-disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;}

/* cards */
.mb-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3);transition:border-color .2s,transform .2s;}
.mb-card-glass{background:rgba(255,255,255,0.045);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border-2);}
.mb-card-elevated{background:var(--surface-2);box-shadow:var(--shadow);}
.mb-card-accent{border-color:var(--hairline);background:linear-gradient(180deg,var(--accent-bg),transparent 60%),var(--surface-1);}
.mb-card-interactive:hover{border-color:var(--accent);transform:translateY(-4px);}

/* icon badge + numbered badge */
.mb-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--r-md);background:var(--accent-bg);border:1px solid var(--accent-bg-2);}
.mb-icon-badge svg{width:22px;height:22px;stroke:var(--accent-hi);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.mb-feat-num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);background:var(--accent-bg);border:1px solid var(--accent-bg-2);font-family:var(--font-mono);font-weight:800;font-size:14px;color:var(--accent-hi);}

/* fields */
.mb-field{display:flex;flex-direction:column;gap:8px;}
.mb-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);}
.mb-input,.mb-select{width:100%;padding:13px 15px;font-family:var(--font-mono);font-size:15px;background:rgba(255,255,255,0.04);border:1px solid var(--border-2);border-radius:var(--r-sm);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;}
.mb-input::placeholder{color:var(--ink-mute);}
.mb-input:focus,.mb-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg-2);}
.mb-input-money{position:relative;display:block;}
.mb-input-money .mb-input{padding-left:28px;}
.mb-input-money .mb-pfx{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--accent-hi);font-family:var(--font-mono);font-weight:700;}

/* badge + chips */
.mb-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;padding:7px 15px;border-radius:var(--r-pill);background:var(--accent-bg);color:var(--accent-hi);border:1px solid var(--accent-bg-2);}
.mb-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:6px 13px;border-radius:var(--r-pill);}
.mb-chip-ok{background:var(--green-bg);color:var(--green);}
.mb-chip-bad{background:var(--red-bg);color:var(--red);}
.mb-chip-neutral{background:rgba(255,255,255,0.05);color:var(--ink-dim);}
.mb-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;}
