:root {
  --bs-border-radius: 0; --bs-border-radius-sm: 0; --bs-border-radius-lg: 0; --bs-border-radius-xl: 0;
  --bs-border-radius-xxl: 0; --bs-border-radius-2xl: 0; --bs-border-radius-pill: 0;
  --leaf: #2f6b3a; --leaf-deep: #1e4a28; --leaf-bright: #7ed18a; --leaf-soft: #dcefe0;
  --cream: #f4f7f2; --paper: #f5f7f4; --ink: #1a2218; --muted: #4f5d4b; --line: #cfd6cb;
  --bs-body-font-family: "Nunito", "Segoe UI", system-ui, sans-serif;
  --bs-font-monospace: "JetBrains Mono", "Cascadia Code", Consolas, monospace;
  --bs-body-color: var(--ink); --bs-link-color-rgb: 47, 107, 58; --bs-link-hover-color-rgb: 30, 74, 40;
}
*, *::before, *::after { border-radius: 0 !important; }
html { scroll-padding-top: 4.5rem; }
body { background: var(--paper); font-size: 1.05rem; }
.skip-link { position: absolute; z-index: 2000; background: #fff; color: var(--leaf); padding: .5rem 1rem; }
.site-header { position: sticky; top: 0; z-index: 1030; background: rgba(245,247,244,.94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.navbar-brand { font-weight: 800; color: var(--leaf-deep); font-size: 1.35rem; }
.navbar .nav-link { color: var(--ink); font-weight: 600; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: var(--leaf); }
.navbar-toggler { border-color: var(--line); color: var(--leaf-deep); font-size: 1.4rem; }
.hero { background: radial-gradient(1200px 500px at 50% -10%, #3d8549 0%, var(--leaf) 35%, var(--leaf-deep) 100%); color: var(--cream); padding: 4.5rem 0 0; overflow: hidden; }
.hero-icon { filter: drop-shadow(0 10px 24px rgba(0,0,0,.35)); }
.hero-title { font-weight: 800; font-size: calc(2rem + 2vw); letter-spacing: -.02em; color: #fff; }
.hero-lead { font-size: 1.25rem; max-width: 40rem; color: #e3ecdf; }
.hero-note { font-family: var(--bs-font-monospace); font-size: .85rem; color: #d5e4d1; }
.hero-shot { max-width: 1000px; border: 1px solid #144020; border-bottom: 0; box-shadow: 0 -10px 60px rgba(0,0,0,.35); background: #fff; }
.btn-leaf { --bs-btn-bg: var(--leaf-bright); --bs-btn-color: #10301a; --bs-btn-border-color: var(--leaf-bright);
  --bs-btn-hover-bg: #a3e3ac; --bs-btn-hover-color: #10301a; --bs-btn-hover-border-color: #a3e3ac; font-weight: 800; }
#download .btn-leaf { --bs-btn-bg: var(--leaf); --bs-btn-color: #fff; --bs-btn-border-color: var(--leaf); --bs-btn-hover-bg: var(--leaf-deep); --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: var(--leaf-deep); }
.btn-outline-leaf { --bs-btn-color: var(--leaf); --bs-btn-border-color: var(--leaf); --bs-btn-hover-bg: var(--leaf); --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: var(--leaf); font-weight: 700; }
.btn-outline-cream { --bs-btn-color: #fff; --bs-btn-border-color: #cfe3cb; --bs-btn-hover-bg: #fff; --bs-btn-hover-color: var(--leaf-deep); --bs-btn-hover-border-color: #fff; font-weight: 700; }
.btn-cream { --bs-btn-bg: var(--cream); --bs-btn-color: var(--leaf-deep); --bs-btn-border-color: var(--cream); --bs-btn-hover-bg: #fff; --bs-btn-hover-color: var(--leaf-deep); font-weight: 700; }
.section { padding: 5rem 0; }
.section-tint { background: var(--leaf-soft); }
.section-leaf { background: var(--leaf-deep); color: #e3ecdf; }
.section-leaf a:not(.btn) { color: #fff; }
.kicker { font-family: var(--bs-font-monospace); text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 600; color: var(--leaf); margin-bottom: .4rem; }
.section-title { font-weight: 800; font-size: calc(1.5rem + 1vw); letter-spacing: -.01em; color: var(--leaf-deep); }
.small-muted { color: var(--muted); }
.feature { background: #fff; border: 1px solid var(--line); padding: 1.5rem; height: 100%; transition: transform .15s, box-shadow .15s; }
.feature:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(30,74,40,.12); }
.ficon { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; background: var(--leaf-soft); color: var(--leaf); font-size: 1.3rem; }
.feature h3 { font-weight: 800; font-size: 1.15rem; margin: 1rem 0 .4rem; }
.feature p { color: var(--muted); margin: 0; }
.theme-pills .nav-link { color: var(--leaf-deep); font-weight: 700; background: #fff; border: 1px solid var(--line); margin: 0 .2rem; }
.theme-pills .nav-link.active { background: var(--leaf); color: #fff; border-color: var(--leaf); }
.shot { max-width: 1000px; margin: 0 auto; border: 1px solid var(--line); box-shadow: 0 20px 50px rgba(30,74,40,.18); background: #fff; }
.presets { border: 1px solid var(--line); background: #fff; }
.presets-head, .presets-row { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .85rem 1.25rem; }
.presets-head { background: var(--leaf); color: #fff; font-weight: 800; }
.presets-row + .presets-row, .presets-head + .presets-row { border-top: 1px solid var(--line); }
.presets code, .dl code { color: var(--leaf-deep); font-size: .88rem; word-break: break-word; }
.sc { display: flex; flex-direction: column; gap: .35rem; background: #fff; border: 1px solid var(--line); padding: .85rem 1rem; height: 100%; }
.sc kbd { background: var(--ink); color: var(--leaf-bright); font-family: var(--bs-font-monospace); font-size: .82rem; align-self: flex-start; padding: .2rem .5rem; }
.sc span { font-weight: 700; }
.dl { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--leaf); padding: 1.75rem; height: 100%; display: flex; flex-direction: column; }
.dl > i { font-size: 2rem; color: var(--leaf); }
.dl h3 { font-weight: 800; font-size: 1.3rem; margin: .75rem 0 .5rem; }
.dl p { color: var(--muted); flex-grow: 1; }
.dl .btn { margin-top: auto; }
.code { background: var(--ink); color: #d9e8d6; padding: .9rem 1rem; font-size: .85rem; }
.notice { background: #fff8e1; border: 1px solid #e8d48a; border-left: 4px solid #8a6d00; padding: 1rem 1.25rem; color: #3d3200; }
.site-footer { background: var(--ink); color: #c9d6c5; padding: 1.75rem 0; }
.site-footer a { color: var(--leaf-bright); }
.dl .code code { color: #d9e8d6; }
