/* Enagach — shared styles for enagach.com
   Tokens mirror mobile/src/theme/colors.ts so the site and the app match. */

:root{
  --bg:#F6F0E2; --surface:#FFFDF7; --ink:#1A1814; --ink2:#3A342B;
  --muted:#807461; --primary:#1F4D3B; --primary-soft:#E3EDE5; --line:#E4DBC8;
  --owed:#1F4D3B; --owe:#A8442F;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#14120F; --surface:#1C1915; --ink:#F2EDE1; --ink2:#D6CFC0;
    --muted:#A89A82; --primary:#7FBFA1; --primary-soft:#1E2A24; --line:#2E2A23;
    --owed:#7FBFA1; --owe:#E08A72;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink2);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-text-size-adjust:100%;
}
.wrap{max-width:760px; margin:0 auto; padding:0 22px}

/* ---------- site chrome ---------- */
.nav{border-bottom:1px solid var(--line); background:var(--bg)}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:18px; padding-bottom:18px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.mark{
  width:34px;height:34px;border-radius:9px;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;flex:none;
}
.brand span{font-weight:700;color:var(--ink);font-size:17px;letter-spacing:-.2px}
.navlinks{display:flex; gap:18px; font-size:15px}
.navlinks a{color:var(--muted); text-decoration:none}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--primary)}

footer{margin-top:72px; border-top:1px solid var(--line); background:var(--surface)}
footer .wrap{padding-top:30px; padding-bottom:40px; color:var(--muted); font-size:14px}
footer .flinks{display:flex; flex-wrap:wrap; gap:16px; margin-bottom:14px}
footer a{color:var(--muted)}
footer .entity{color:var(--ink2)}

/* ---------- type ---------- */
h1{font-size:34px;line-height:1.15;margin:0 0 10px;color:var(--ink);letter-spacing:-.8px}
h2{font-size:20px;margin:44px 0 12px;color:var(--ink);letter-spacing:-.3px;scroll-margin-top:20px}
h3{font-size:16px;margin:26px 0 8px;color:var(--ink)}
p{margin:0 0 14px}
ul{margin:0 0 14px;padding-left:22px}
li{margin-bottom:8px}
a{color:var(--primary);text-decoration-thickness:1px;text-underline-offset:2px}
strong{color:var(--ink)}
code{background:var(--primary-soft);padding:1px 6px;border-radius:5px;font-size:14px;color:var(--ink)}
.dates{color:var(--muted);font-size:14px;margin:0}
.lede{font-size:17.5px;color:var(--ink2);margin:20px 0 0}

/* ---------- blocks ---------- */
.doc{padding-top:40px; padding-bottom:20px}
.dochead{border-bottom:1px solid var(--line); padding-bottom:26px; margin-bottom:34px}
.callout{
  background:var(--primary-soft);border-left:3px solid var(--primary);
  padding:16px 18px;border-radius:0 10px 10px 0;margin:22px 0;
}
.callout p:last-child{margin-bottom:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:20px 0}
.card p:last-child,.card ul:last-child{margin-bottom:0}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:28px 0}
.toc h2{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
.toc ol{margin:0;padding-left:20px;font-size:15px}
.toc li{margin-bottom:5px}

.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
th,td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--ink);font-weight:600;background:var(--primary-soft);white-space:nowrap}

/* ---------- home ---------- */
.hero{padding:64px 0 8px}
.hero h1{font-size:44px;line-height:1.1;letter-spacing:-1.3px;max-width:16ch}
.hero h1 .g{color:var(--primary)}
.hero p{font-size:18px;max-width:46ch;margin-top:18px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.pill{
  background:var(--primary-soft);color:var(--primary);border-radius:999px;
  padding:6px 14px;font-size:13.5px;font-weight:600;
}
.storenote{margin-top:26px;color:var(--muted);font-size:14.5px}

.demo{
  background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:20px 22px;margin:38px 0 0;max-width:420px;
}
.demo .row{display:flex;align-items:center;justify-content:space-between;padding:7px 0}
.demo .title{font-weight:700;color:var(--ink);font-size:15px}
.demo .sub{color:var(--muted);font-size:13px}
.demo .rule{height:1px;background:var(--line);margin:10px 0}
.demo .amt{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.demo .owe{color:var(--owe);font-weight:600;font-variant-numeric:tabular-nums}
.demo .owed{color:var(--owed);font-weight:600;font-variant-numeric:tabular-nums}

.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:26px 0 0}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.feature h3{margin:0 0 6px}
.feature p{margin:0;font-size:14.5px;color:var(--muted)}

.section{padding-top:56px}

@media (max-width:560px){
  .hero{padding-top:44px}
  .hero h1{font-size:34px;letter-spacing:-1px}
  .navlinks{gap:14px;font-size:14px}
}
