:root {
  color-scheme: light dark;
  --aksen: #166534; --aksen-teks: #166534;
  --bg: #f4f7f4; --kartu: #fff; --teks: #1a2b1f; --garis: #d9e2db;
}
@media (prefers-color-scheme: dark) {
  :root {
    --aksen: #15803d; --aksen-teks: #4ade80;
    --bg: #0f1712; --kartu: #17221b; --teks: #e6efe8; --garis: #263a2d;
  }
}
body { font-family: system-ui, sans-serif; margin: 0; line-height: 1.5; background: var(--bg); color: var(--teks); }
header { background: #14532d; padding: 1rem; }
header a { color: #fff; font-weight: 700; font-size: 1.1rem; text-decoration: none; }
main { max-width: 860px; margin: 0 auto; padding: 1rem; }
.hero { background: linear-gradient(135deg, #14532d, #166534); color: #fff; border-radius: 12px; padding: 1.5rem 1.25rem; margin-bottom: 1.5rem; }
.hero h1 { margin: 0 0 .25rem; font-size: 1.5rem; }
.hero p { margin: 0; opacity: .9; }
.grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.card { display: block; background: var(--kartu); border: 1px solid var(--garis); border-radius: 12px; padding: .75rem; color: inherit; text-decoration: none; transition: border-color .15s, transform .15s; }
.card:hover { border-color: var(--aksen); transform: translateY(-2px); }
.card h2 { font-size: 1.05rem; margin: .6rem 0 .2rem; }
.card p { margin: 0; color: var(--aksen-teks); font-weight: 700; }
img, .noimg { width: 100%; aspect-ratio: 16/10; border-radius: 8px; display: block; }
img { object-fit: cover; }
.noimg { background: var(--aksen); color: #fff; display: grid; place-items: center; font-size: 2rem; font-weight: 700; }
#detail { max-width: 560px; }
#detail h1 { margin: .8rem 0 .2rem; }
#detail h1 + p { color: var(--aksen-teks); font-weight: 700; font-size: 1.25rem; }
button { background: var(--aksen); color: #fff; border: 0; border-radius: 8px; padding: .8rem 1.4rem; font-size: 1rem; font-weight: 600; width: 100%; margin-top: .5rem; cursor: pointer; }
button:disabled { opacity: .6; cursor: not-allowed; }

form { display: grid; gap: .8rem; max-width: 480px; }
label { display: grid; gap: .25rem; font-weight: 600; }
input, textarea, select { font: inherit; padding: .6rem; border: 1px solid var(--garis); border-radius: 8px; background: var(--kartu); color: var(--teks); }
input[type=checkbox] { width: 1.2rem; height: 1.2rem; }
.baris { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .6rem 0; border-bottom: 1px solid var(--garis); }
.baris button, .atas button { width: auto; margin: 0; padding: .5rem 1rem; }
.atas { display: flex; gap: .5rem; margin-bottom: 1rem; }
.bahaya { background: #b91c1c; }
.pesan { color: #dc2626; margin: 0; }
code { word-break: break-all; display: block; padding: .6rem; background: var(--kartu); border-radius: 8px; margin: .6rem 0; }
