/* MarginMise design system — shared by landing page and app */
:root{
  --ink:#14213d; --ink-2:#3a4664; --muted:#6b7590; --line:#e4e7ef; --line-2:#d3d8e4;
  --bg:#f7f6f2; --surface:#ffffff; --surface-2:#fbfaf7;
  --brand:#e4572e; --brand-ink:#ffffff; --brand-soft:#fdebe5; --brand-deep:#b8401d;
  --good:#1f8a5b; --good-soft:#e3f4ec; --warn:#b7791f; --warn-soft:#fdf3dd; --bad:#c2362b; --bad-soft:#fbe7e5;
  --radius:14px; --radius-sm:9px; --shadow:0 1px 2px rgba(20,33,61,.06),0 8px 24px rgba(20,33,61,.06);
  --shadow-lg:0 2px 4px rgba(20,33,61,.06),0 24px 60px rgba(20,33,61,.12);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --display:'Fraunces',Georgia,serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#eef1f8; --ink-2:#c3cbe0; --muted:#8f9ab5; --line:#262f45; --line-2:#323c56;
  --bg:#0e1424; --surface:#151d31; --surface-2:#19223a; --brand:#ff6b42; --brand-soft:#3a2120; --brand-deep:#ff8a66;
  --good:#4cc38a; --good-soft:#15342a; --warn:#e8b04b; --warn-soft:#3a2f17; --bad:#ff6f61; --bad-soft:#3d1d1d;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25); --shadow-lg:0 24px 60px rgba(0,0,0,.45); color-scheme:dark;
}}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit} img,svg{display:block;max-width:100%}
h1,h2,h3{line-height:1.15;margin:0;letter-spacing:-.015em} p{margin:0}
.display{font-family:var(--display);font-weight:600;letter-spacing:-.02em}
.muted{color:var(--muted)} .small{font-size:13px} .num{font-variant-numeric:tabular-nums}
.container{max-width:1160px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;border:1px solid transparent;font:600 14px var(--font);cursor:pointer;text-decoration:none;transition:transform .12s ease,background .15s ease,border-color .15s ease;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand);color:var(--brand-ink)} .btn-primary:hover{background:var(--brand-deep)}
.btn-ghost{background:transparent;border-color:var(--line-2);color:var(--ink)} .btn-ghost:hover{background:var(--surface)}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-sm{height:34px;padding:0 13px;font-size:13px}
.btn-icon{width:34px;height:34px;padding:0;border-radius:9px;background:transparent;border:1px solid transparent;color:var(--muted)}
.btn-icon:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font:600 12px var(--font);white-space:nowrap}
.badge-good{background:var(--good-soft);color:var(--good)} .badge-warn{background:var(--warn-soft);color:var(--warn)} .badge-bad{background:var(--bad-soft);color:var(--bad)} .badge-neutral{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.eyebrow{font:700 12px var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm);height:38px;padding:0 11px;width:100%;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
label{display:block;font:600 12.5px var(--font);color:var(--ink-2);margin-bottom:6px}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
