:root{--ink:#122b1f;--green:#1e5b3f;--green2:#2f7d57;--cream:#f7f4ec;--accent:#d0733a;--line:#e6dfd0;--txt:#3f5549}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:system-ui,'Segoe UI',sans-serif;background:var(--cream);color:var(--ink);line-height:1.7}
h1,h2,h3{font-family:Georgia,serif;line-height:1.25}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:auto;padding:0 22px}
a{color:var(--green)}
header{position:sticky;top:0;background:rgba(247,244,236,.95);border-bottom:1px solid var(--line);z-index:50}
.bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 22px;max-width:1080px;margin:auto}
.logo{font-family:Georgia,serif;font-size:1.4rem;font-weight:bold;color:var(--ink);text-decoration:none}
.logo b{color:var(--accent)}
nav{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto}
nav a{color:var(--ink);text-decoration:none;font-size:.92rem}
nav a:hover{color:var(--green)}
nav a.cta{background:var(--green);color:#fff;padding:7px 16px;border-radius:999px}
.langs a{font-size:.75rem;border:1px solid var(--line);background:#fff;padding:4px 8px;border-radius:6px;text-decoration:none;color:var(--ink)}
.langs a.on{background:var(--ink);color:#fff}
.hero{padding:56px 22px 36px;text-align:center}
.kicker{letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;color:var(--accent);font-weight:700}
.hero h1{font-size:clamp(1.8rem,4.5vw,2.8rem);margin:12px auto;max-width:820px}
.hero p{max-width:720px;margin:0 auto;color:var(--txt)}
.meta{font-size:.8rem;color:#7fa08c;margin-top:12px}
section{padding:48px 0}
section h2{font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(18,43,31,.08);transition:.35s;text-decoration:none;color:inherit;display:block}
.card:hover{transform:translateY(-8px);box-shadow:0 14px 34px rgba(18,43,31,.16)}
.card .b{padding:18px}
.card h3{margin:0 0 6px;font-size:1.05rem}
.card p{font-size:.88rem;color:var(--txt)}
.card img{height:180px;width:100%;object-fit:cover}
.tag{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}
article{max-width:800px;margin:auto}
article h1{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:14px}
article h2{margin:28px 0 10px}
article h3{margin:22px 0 8px;color:var(--green)}
article p{margin-bottom:14px;color:var(--txt)}
article ul,article ol{margin:0 0 14px 22px;color:var(--txt)}
article img{border-radius:14px;margin:0 0 18px;width:100%}
.edy-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:18px 0;background:#fff}
table.edy-table{width:100%;border-collapse:collapse;font-size:.9rem}
.edy-table th,.edy-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}
.edy-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#7fa08c;background:#f2efe6}
.edy-cta{background:#fff;border-left:4px solid var(--accent);border-radius:14px;padding:22px;margin:26px 0;box-shadow:0 4px 14px rgba(18,43,31,.08)}
.edy-cta h3{margin:0 0 6px}
.edy-cta p{margin:0 0 12px;font-size:.9rem}
.btn{display:inline-block;background:var(--green);color:#fff;padding:11px 22px;border-radius:999px;text-decoration:none;font-weight:700;border:none;cursor:pointer;font-size:.95rem}
.btn:hover{background:var(--green2)}
.btn.acc{background:var(--accent)}
.adsense-slot{min-height:100px;margin:22px 0;border:1px dashed #cfc7b6;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#a89f8d;font-size:.8rem}
.author{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin:28px 0;font-size:.88rem;color:var(--txt)}
footer{background:var(--ink);color:#b9cdc1;padding:42px 22px;text-align:center;font-size:.85rem}
footer a{color:#fff;margin:0 10px;text-decoration:none}
footer a:hover{color:var(--accent)}
.tool{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 4px 14px rgba(18,43,31,.08)}
.tool h3{margin-bottom:12px}
.field{margin-bottom:12px}
.field label{font-size:.84rem;font-weight:700;display:block;margin-bottom:5px}
.field input,.field select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;font-size:.95rem}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:.86rem;margin-bottom:6px;cursor:pointer}
.res{display:none;margin-top:12px;padding:12px;border-radius:10px;font-weight:600;font-size:.9rem}
.res.show{display:block}
.res.amber{background:#fdf3e3;color:#8a5a17;border:1px solid #f0dfc0}
.res.green{background:#eaf5ee;color:#1e5b3f;border:1px solid #cfe6d8}
.res.blue{background:#eaf1f8;color:#205081;border:1px solid #cfdff0}
.modal{position:fixed;inset:0;background:rgba(18,43,31,.55);display:flex;align-items:center;justify-content:center;z-index:99;padding:20px}
.modal.hidden{display:none}
.modal-box{background:#fff;border-radius:16px;max-width:460px;width:100%;padding:26px;text-align:center}
.spinner{width:44px;height:44px;border:4px solid var(--line);border-top-color:var(--green);border-radius:50%;margin:14px auto;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hidden{display:none!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}