*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#1d2a3a;background:#f4f8fb;line-height:1.5}
.wrap{max-width:960px;margin:0 auto;padding:16px}.row{display:flex;justify-content:space-between;align-items:center}
.top{background:#fff;box-shadow:0 1px 4px #0001}.logo{font-size:1.25rem}nav a{margin-left:14px;color:#2a6f97;text-decoration:none}
h1{font-size:2rem;margin:.2em 0}.muted{color:#5b6b7b;font-size:.92rem}.note{font-size:.85rem;color:#5b6b7b}
.presented{font-size:.85rem;color:#5b6b7b}.sponsor-slot{border:1px dashed #9ab;padding:2px 8px;border-radius:6px}
.grid{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:640px){.grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
.region{border-radius:16px;padding:16px;color:#fff}.region h3{margin:0;text-transform:capitalize}.region .big{font-size:1.35rem;font-weight:700}.region small{opacity:.9}
.green{background:#2e9e5b}.yellow{background:#e3a008;color:#222}.red{background:#d43f3a}.grey{background:#8a97a5}
.card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0001;margin-top:16px}.gear .card{padding:16px;margin:0}
section.card{padding:20px}#leaflet{height:340px;border-radius:16px}
form{display:flex;flex-wrap:wrap;gap:8px}input{flex:1;min-width:200px;padding:12px;border:1px solid #c8d3dd;border-radius:10px;font-size:1rem}
button,.btn{display:inline-block;background:#2a6f97;color:#fff;border:0;padding:12px 18px;border-radius:10px;font-size:1rem;text-decoration:none;cursor:pointer}
.wa{background:#25d366;margin-top:12px}form p{width:100%}footer{font-size:.8rem}

.lead{font-size:1.05rem}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{border-bottom:1px solid #e3e9ef;padding:8px;text-align:left;vertical-align:top}#guide{overflow-x:auto}.faq{padding:4px 16px}.faq summary{cursor:pointer}.faq h3{display:inline;font-size:1rem}
.pad{padding:16px;margin:0}.levels{display:grid;gap:12px;margin-bottom:12px}.level{padding:4px 16px;margin:0;opacity:.6;border-left:6px solid #ccc}
.level[data-level=green]{border-color:#2e9e5b}.level[data-level=yellow]{border-color:#e3a008}.level[data-level=red]{border-color:#d43f3a}
.level.active{opacity:1;box-shadow:0 0 0 3px #2a6f9733,0 2px 8px #0002}.level.active h3::after{content:" ← today";color:#2a6f97;font-size:.85rem}
ul{padding-left:20px;margin:.4em 0}.warn{border-left:6px solid #d43f3a}.product{padding:16px;margin:0}
