:root{--bg:#fff;--ink:#1a1a1a;--mut:#5b6470;--line:#e5e7eb;--pri:#14532d;--acc:#facc15;--card:#f8fafc;--r:10px}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
a{color:var(--pri)}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
.top{background:var(--pri);color:#fff;position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;gap:12px;padding:10px 16px}
.brand{font-weight:700;font-size:1rem;color:#fff;text-decoration:none;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.burger{background:none;border:1px solid #ffffff88;color:#fff;border-radius:6px;padding:4px 10px;font-size:1.1rem;cursor:pointer;display:none}
nav.menu{display:flex;gap:4px}
nav.menu a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:6px;font-size:.9rem}
nav.menu a.on,nav.menu a:hover{background:#ffffff2e}
.hero{background:linear-gradient(135deg,#14532d,#166534 60%,#1e7a3c);color:#fff;padding:40px 0}
.hero h1{font-size:1.7rem;line-height:1.25;margin-bottom:8px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.badge{background:#ffffff26;border:1px solid #ffffff55;border-radius:99px;padding:3px 12px;font-size:.8rem}
.badge.acc{background:var(--acc);color:#1a1a1a;border-color:var(--acc);font-weight:700}
.hero p.sub{color:#e5e7eb;font-size:.95rem}
.grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.grid{grid-template-columns:1fr 1fr}.hero h1{font-size:2.2rem}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:16px 0}
.card h2{font-size:1.1rem;margin-bottom:10px;color:var(--pri);border-bottom:2px solid var(--acc);display:inline-block;padding-bottom:2px}
dl.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 10px;font-size:.93rem}
dl.kv dt{color:var(--mut)}dl.kv dd{font-weight:500}
table{width:100%;border-collapse:collapse;font-size:.9rem}
td,th{border:1px solid var(--line);padding:6px 8px;text-align:left}
.meta{font-size:.8rem;color:var(--mut);margin:10px 0}
.note{background:#fffbeb;border:1px dashed #d97706;border-radius:8px;padding:10px 12px;font-size:.88rem;margin:10px 0}
.empty{border:1px dashed var(--mut);border-radius:8px;padding:20px;text-align:center;color:var(--mut);margin:10px 0}
.btn{display:inline-block;background:var(--pri);color:#fff;text-decoration:none;padding:10px 18px;border-radius:8px;font-weight:600;margin-top:8px}
.btn:hover{background:#0f4023}
.map{width:100%;height:300px;border:1px solid var(--line);border-radius:var(--r)}
section.page{display:none}section.page.on{display:block}
footer{background:#111827;color:#9ca3af;font-size:.82rem;padding:20px 0;margin-top:24px}
footer a{color:#d1d5db}
#loading{text-align:center;padding:40px;color:var(--mut)}
.spin{display:inline-block;width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--pri);border-radius:50%;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
#errbox{display:none;background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:8px;padding:16px;margin:16px 0}
@media(max-width:699px){.burger{display:block}nav.menu{display:none;flex-direction:column;width:100%}nav.menu.open{display:flex}.top .wrap{flex-wrap:wrap}}
@media print{.top,.burger,nav.menu,.btn,footer{display:none}.hero{background:#fff;color:#000}.hero h1{color:#000}.badge{border:1px solid #000;color:#000}}
