:root{
  --sf-green:#0f9d58; --sf-green-dark:#0b8043; --sf-bg:#f6fbf7; --sf-ink:#1b2b22;
  --sf-muted:#5a6b61; --sf-border:#d8e8dd; --sf-code-bg:#0b2b1c; --sf-code-ink:#c7f5d9;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--sf-ink);background:var(--sf-bg);line-height:1.55}
a{color:var(--sf-green-dark);text-decoration:none}
a:hover{text-decoration:underline}
.sf-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.9rem 1.2rem;background:#fff;border-bottom:2px solid var(--sf-green)}
.sf-brand{font-weight:700;font-size:1.15rem;color:var(--sf-ink)}
.sf-nav a{margin-left:1rem;font-size:.95rem}
.sf-main{max-width:760px;margin:0 auto;padding:1.4rem 1.2rem 3rem}
.sf-hero h1{font-size:1.9rem;margin:.2rem 0 .6rem}
.sf-lead{font-size:1.08rem;color:var(--sf-muted)}
.sf-cards{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:.7rem;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.sf-card{background:#fff;border:1px solid var(--sf-border);border-radius:10px;padding:.85rem 1rem}
.sf-card:hover{border-color:var(--sf-green)}
.sf-card-title{display:block;font-weight:600}
.sf-card-desc{display:block;font-size:.85rem;color:var(--sf-muted);margin-top:.25rem}
.sf-cards.small .sf-card{padding:.6rem .8rem}
.sf-crumb{font-size:.85rem;color:var(--sf-muted);margin-bottom:.6rem}
.sf-formula h1{font-size:1.6rem;margin:.2rem 0 .6rem}
.sf-primary{background:#fff;border:1px solid var(--sf-border);border-left:4px solid var(--sf-green);
  border-radius:10px;padding:1rem;margin:1rem 0}
.sf-formula-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.sf-code{font-family:SFMono-Regular,Consolas,Menlo,monospace;background:var(--sf-code-bg);
  color:var(--sf-code-ink);padding:.5rem .7rem;border-radius:6px;font-size:.95rem;
  overflow-x:auto;white-space:pre;display:block;flex:1;min-width:200px}
.copy-btn{background:var(--sf-green);color:#fff;border:0;border-radius:6px;padding:.5rem .9rem;
  font-size:.85rem;cursor:pointer;white-space:nowrap}
.copy-btn:hover{background:var(--sf-green-dark)}
.copy-btn.copied{background:var(--sf-green-dark)}
.sf-note{font-size:.92rem;color:var(--sf-muted);margin:.5rem 0 0}
.sf-var{border-top:1px dashed var(--sf-border);padding-top:.8rem;margin-top:.8rem}
.sf-var-label{margin:0 0 .4rem}
.sf-examples{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:.92rem}
.sf-examples th,.sf-examples td{border:1px solid var(--sf-border);padding:.5rem .6rem;text-align:left;vertical-align:top}
.sf-examples th{background:#eef7f0}
.sf-faq details{background:#fff;border:1px solid var(--sf-border);border-radius:8px;padding:.6rem .8rem;margin:.5rem 0}
.sf-faq summary{cursor:pointer;font-weight:600}
.sf-footer{max-width:760px;margin:0 auto;padding:1.5rem 1.2rem 2.5rem;color:var(--sf-muted);font-size:.9rem;border-top:1px solid var(--sf-border)}
h2{font-size:1.25rem;margin:1.6rem 0 .5rem}
code{font-family:SFMono-Regular,Consolas,Menlo,monospace}
