
:root{
  --bg:#0e1116; --panel:#161b22; --panel-2:#1c232d; --border:#2a323d;
  --text:#e6edf3; --muted:#9aa7b4; --accent:#ff6b35; --accent-2:#f7c948;
  --danger:#e5484d; --link:#58a6ff; --radius:12px;
}

[data-bs-theme="dark"]{
  --bs-body-bg:var(--bg);
  --bs-body-color:var(--text);
  --bs-border-color:var(--border);
  --bs-secondary-color:var(--muted);
  --bs-emphasis-color:var(--text);
  --bs-link-color:var(--link); --bs-link-color-rgb:88,166,255;
  --bs-link-hover-color:#8cc2ff;
  --bs-card-bg:var(--panel); --bs-card-border-color:var(--border);
  --bs-card-cap-bg:var(--panel-2);
  --bs-tertiary-bg:var(--panel-2);
  --bs-primary:var(--accent);
}
body{-webkit-font-smoothing:antialiased}
img,video{max-width:100%}

html{background:var(--bg)}
body{background:transparent !important;position:relative}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(66% 46% at 18% 112%, rgba(255,84,20,.40), transparent 72%),
    radial-gradient(60% 42% at 82% 116%, rgba(255,150,36,.30), transparent 72%),
    radial-gradient(80% 56% at 50% 122%, rgba(224,42,20,.38), transparent 74%);
  animation:fireGlow 5s ease-in-out infinite alternate;
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.6;
  background-image:
    radial-gradient(3.5px 3.5px at 15% 22%, rgba(255,180,70,1), transparent 62%),
    radial-gradient(4.5px 4.5px at 45% 62%, rgba(255,110,35,.95), transparent 62%),
    radial-gradient(2.5px 2.5px at 70% 34%, rgba(255,210,95,1), transparent 62%),
    radial-gradient(4px 4px at 86% 76%, rgba(255,135,48,.95), transparent 62%),
    radial-gradient(3px 3px at 32% 86%, rgba(255,160,60,.95), transparent 62%),
    radial-gradient(3.5px 3.5px at 60% 12%, rgba(255,175,70,.9), transparent 62%),
    radial-gradient(2.5px 2.5px at 8% 55%, rgba(255,200,90,.9), transparent 62%),
    radial-gradient(4px 4px at 92% 40%, rgba(255,120,40,.9), transparent 62%);
  background-size:300px 300px;
  animation:embersRise 20s linear infinite;
}
@keyframes fireGlow{
  0%{ filter:brightness(.85); opacity:.85 }
  40%{ filter:brightness(1.28); opacity:1 }
  70%{ filter:brightness(1.0); opacity:.92 }
  100%{ filter:brightness(1.2); opacity:1 }
}
@keyframes embersRise{ from{background-position:0 0} to{background-position:0 -600px} }
@media (prefers-reduced-motion: reduce){
  body::before{ animation:none }
  body::after{ animation:none }
}
a{text-decoration:none}
a:hover{text-decoration:underline}

.masthead{border-bottom:1px solid var(--border);background:linear-gradient(180deg,#12161c,#0e1116);padding:22px 0 18px}
.eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);border:1px solid var(--border);padding:4px 10px;border-radius:999px;margin-bottom:12px}
.brand-title{display:block;font-size:clamp(1.2rem,3vw,1.7rem);font-weight:700;color:var(--text);line-height:1.15}
.navbar{background:rgba(14,17,22,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.navbar .nav-link{color:var(--muted);font-size:.92rem;border-bottom:2px solid transparent;padding-top:.5rem;padding-bottom:.5rem}
.navbar .nav-link:hover{color:var(--text)}
.navbar .nav-link.active{color:var(--text);border-bottom-color:var(--accent)}

h1.sec,h2.sec{font-size:1.4rem;margin:0 0 6px;display:flex;align-items:center;gap:10px;font-weight:700}
.sec .dot,.cms-colhead .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.lead{color:var(--muted)}

.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}
.card .meta{font-size:.8rem;color:var(--muted);margin-bottom:10px}
.card h3{font-size:1.05rem;margin:0 0 6px}
.badge-pill{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(255,107,53,.15);color:var(--accent);border:1px solid rgba(255,107,53,.3)}

.favi{width:16px;height:16px;border-radius:3px;flex:0 0 auto;object-fit:contain;background:#fff}

#map{aspect-ratio:4/3;height:auto;min-height:300px;width:100%;border-radius:var(--radius);border:1px solid var(--border);z-index:1}

#map .leaflet-tile-pane{filter:grayscale(1) contrast(.95) brightness(.98)}

.pinwheel{width:30px;height:30px;animation:spin 3s linear infinite;transform-origin:50% 50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
@keyframes spin{to{transform:rotate(360deg)}}
.map-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:.85rem;color:var(--muted)}
.map-legend .item{display:flex;align-items:center;gap:7px}
.swatch{width:16px;height:16px;border-radius:4px;flex:0 0 auto}
.swatch.circle{border-radius:50%}
.map-note{margin-top:12px;padding:12px 14px;border-left:3px solid var(--accent-2);background:var(--panel);border-radius:0 8px 8px 0;font-size:.86rem;color:var(--muted)}
.card .map-legend{flex-direction:column;gap:9px}
.legend-pw{display:inline-flex;width:18px;height:18px;animation:spin 3s linear infinite;transform-origin:50% 50%;vertical-align:middle}

.wind-panel{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}
.wind-panel.wind-side{flex-direction:column;align-items:center;gap:14px;margin-top:0}
.wind-side .wind-main{flex:1 1 auto;width:100%;min-width:0}
.wind-arrow-icon{background:none;border:none}
.wind-gauge{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto}
.compass{position:relative;width:78px;height:78px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border)}
.compass-ring span{position:absolute;font-size:.66rem;color:var(--muted);transform:translate(-50%,-50%)}
.compass-ring .c-n{left:50%;top:11px}.compass-ring .c-s{left:50%;top:calc(100% - 11px)}
.compass-ring .c-e{left:calc(100% - 10px);top:50%}.compass-ring .c-o{left:10px;top:50%}
.compass-needle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .12s linear;transform-origin:50% 50%}
.compass-cap{font-size:.68rem;color:var(--muted)}
.wind-main{flex:1 1 320px;min-width:260px}
.wind-readout{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:12px;width:100%}
.wr-time{font-weight:700;font-size:1rem;font-variant-numeric:tabular-nums}
.wr-dir{color:var(--muted);font-size:.9rem}
.wr-spd{margin-top:5px;font-size:.95rem;background:var(--panel-2);border:1px solid var(--border);padding:3px 10px;border-radius:999px}
.wind-readout.during-fire .wr-time{color:var(--accent)}
.wind-controls{display:flex;align-items:center;gap:12px}
#wind-play{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--accent);cursor:pointer;transition:transform .1s;display:flex;align-items:center;justify-content:center;padding:0}
#wind-play svg{margin-left:1px}
#wind-play:hover{transform:scale(1.06)}
.slider-wrap{position:relative;flex:1 1 auto;display:flex;align-items:center;min-height:22px}
#wind-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:8px;border-radius:6px;pointer-events:none;z-index:0;opacity:.92}
#wind-slider{position:relative;z-index:2;width:100%;-webkit-appearance:none;appearance:none;background:transparent;height:22px;margin:0;cursor:pointer}
#wind-slider::-webkit-slider-runnable-track{height:8px;background:transparent;border-radius:6px}
#wind-slider::-moz-range-track{height:8px;background:transparent;border-radius:6px}
#wind-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--accent);margin-top:-4px;box-shadow:0 1px 3px rgba(0,0,0,.5);cursor:pointer}
#wind-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px rgba(0,0,0,.5);cursor:pointer}
.firemark{position:absolute;top:0;width:2px;height:22px;background:var(--danger);pointer-events:none;transform:translateX(-1px);z-index:3}
.firemark::after{content:"🔥";position:absolute;top:-16px;left:-7px;font-size:12px}
.wind-jumps{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.wind-jumps button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:.8rem;cursor:pointer}
.wind-jumps button:hover{border-color:var(--accent)}

.timeline{position:relative;margin:0;padding:0 0 0 22px;list-style:none}
.timeline::before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--border)}
.timeline li{position:relative;padding:0 0 18px 12px}
.timeline li::before{content:"";position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}
.timeline .when{font-weight:600;font-size:.9rem}
.timeline .what{color:var(--muted);font-size:.92rem}
.crono-fonti{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:7px}
.crono-fonti a{display:inline-flex;align-items:center;gap:5px;font-size:.8rem}
.crono-fb li,.timeline li.crono-fb{}
.timeline li.crono-fb::before{background:#1877f2}
.crono-badge{display:inline-block;font-size:.68rem;font-weight:600;padding:1px 8px;border-radius:999px;background:rgba(24,119,242,.15);color:#4a9bff;border:1px solid rgba(24,119,242,.35);vertical-align:middle}

#hover-preview{position:absolute;z-index:1200;display:none;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.5);overflow:hidden}
#hover-preview.fb{padding:0;background:#fff}
#hover-preview.fb iframe{display:block;width:100%}
#hover-preview.card{display:flex;flex-direction:column}
#hover-preview .hp-img{width:100%;height:150px;object-fit:cover;display:block;background:var(--panel-2)}
#hover-preview .hp-favbig{height:96px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1c232d,#12161c)}
#hover-preview .hp-favbig img{width:40px;height:40px;object-fit:contain}
#hover-preview .hp-meta{padding:10px 12px}
#hover-preview .hp-title{font-size:.86rem;font-weight:600;color:var(--text);line-height:1.3}
#hover-preview .hp-dom{font-size:.74rem;color:var(--muted);margin-top:4px}

.chart{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.bar-row{display:grid;grid-template-columns:130px 1fr 70px;align-items:center;gap:10px;margin:10px 0}
.bar-row .lbl{font-size:.8rem;color:var(--muted)}
.bar-track{background:var(--panel-2);border-radius:6px;height:22px;overflow:hidden;position:relative}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--danger));border-radius:6px}
.bar-row .val{font-variant-numeric:tabular-nums;text-align:right;font-weight:600;font-size:.85rem}
.threshold-note{font-size:.82rem;color:var(--muted);margin-top:8px;padding-top:10px;border-top:1px dashed var(--border)}
.wind-rose .bar-row{grid-template-columns:minmax(120px,200px) 1fr 92px}
.wind-rose .bar-row .lbl{font-size:.84rem;color:var(--text)}
.wind-rose .bar-row .lbl b{color:var(--accent-2)}
@media(max-width:520px){.wind-rose .bar-row{grid-template-columns:100px 1fr 74px}.wind-rose .bar-row .lbl{font-size:.76rem}}

.links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.links li{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.links a{font-weight:600}
.links .src{flex-basis:100%;font-size:.78rem;color:var(--muted)}

.cms-colhead{display:flex;align-items:center;gap:9px;font-weight:700;font-size:1.05rem;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.cms-list{display:flex;flex-direction:column;gap:12px}
.cms-card{display:grid;grid-template-columns:112px 1fr;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--text);text-decoration:none;transition:border-color .12s,transform .12s}
.cms-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}
.cms-thumb{position:relative;background:var(--panel-2);min-height:96px;display:flex;align-items:center;justify-content:center}
.cms-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.cms-thumb .fallimg{position:absolute;inset:0;margin:auto;width:34px;height:34px;object-fit:contain;opacity:.55;display:none}
.cms-thumb.noimg{background:linear-gradient(135deg,#1c232d,#12161c)}
.cms-thumb.noimg img:not(.fallimg){display:none}
.cms-thumb.noimg .fallimg{display:block}
.cms-body{padding:12px 14px;min-width:0}
.cms-source{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-bottom:6px}
.cms-giornale{font-weight:600;color:var(--text)}
.cms-data{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.cms-title{font-weight:600;font-size:.96rem;line-height:1.3;margin-bottom:6px}
.cms-nota{font-size:.8rem;color:var(--muted);line-height:1.45}
.cms-dom{font-size:.72rem;color:var(--muted);margin-top:8px;opacity:.8}
.cms-tema{font-size:.68rem;font-weight:600;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}
.tema-biogas{background:rgba(88,166,255,.14);color:#58a6ff;border-color:rgba(88,166,255,.3)}
.tema-candidatura{background:rgba(247,201,72,.14);color:var(--accent-2);border-color:rgba(247,201,72,.3)}
.tema-valli-spa{background:rgba(229,72,77,.14);color:#e5484d;border-color:rgba(229,72,77,.3)}
.tema-impresa{background:rgba(63,185,120,.14);color:#3fb978;border-color:rgba(63,185,120,.3)}
@media(max-width:420px){.cms-card{grid-template-columns:80px 1fr}}

.az-card{display:flex;flex-direction:column;gap:10px;height:100%}
.az-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.az-head a{font-size:1.05rem}
.az-descr{color:var(--muted);font-size:.9rem;line-height:1.5}
.az-visure{font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding-top:8px;border-top:1px dashed var(--border)}
.az-visure-lbl{font-weight:600}
.az-visure a{display:inline-flex;align-items:center;gap:5px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:3px 9px}
.az-visure a:hover{border-color:var(--accent);text-decoration:none}

.media-fig{margin:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;height:100%}
.media-fig figcaption{padding:10px 12px;font-size:.82rem;color:var(--muted)}
.media-linkph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;background:var(--panel-2);color:var(--muted);font-size:1.6rem}
.media-linkph span{font-size:.82rem}

.fb-embed{overflow-x:auto;display:flex;justify-content:center}
.fb-embed iframe{background:#fff;border-radius:8px}
.fb-cap{font-size:.84rem;color:var(--text);padding:8px 12px;margin-bottom:8px;background:rgba(255,107,53,.12);border:1px solid rgba(255,107,53,.28);border-radius:8px}
.fb-cap b{color:var(--accent-2)}
.fb-cap span{opacity:.7;font-size:.78rem}

.mermaid{display:flex;justify-content:center;overflow-x:auto}
.mermaid svg{max-width:100%;height:auto}
.media-empty{border:1px dashed var(--border);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted)}

.notice{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent-2);border-radius:0 var(--radius) var(--radius) 0;padding:16px 18px;font-size:.88rem;color:var(--muted)}
footer.site{color:var(--muted);font-size:.82rem;border-top:1px solid var(--border);padding:30px 0 60px}
footer.site a{color:var(--muted);text-decoration:underline}

@keyframes glowPulse{
  0%,100%{ box-shadow:0 0 0 1px rgba(255,107,53,.45), 0 0 26px rgba(255,107,53,.28), inset 0 0 30px rgba(255,107,53,.05); }
  50%{     box-shadow:0 0 0 1px rgba(255,107,53,.8), 0 0 52px rgba(255,107,53,.6),  inset 0 0 46px rgba(255,107,53,.12); }
}
@keyframes textGlow{
  0%,100%{ text-shadow:0 0 12px rgba(255,107,53,.55), 0 0 34px rgba(255,107,53,.3); }
  50%{     text-shadow:0 0 20px rgba(255,107,53,.95), 0 0 64px rgba(255,107,53,.65); }
}
.attention-box{
  border:1px solid rgba(255,107,53,.5);
  border-radius:18px;
  padding:56px 28px;
  background:radial-gradient(circle at 50% -10%, rgba(255,107,53,.10), transparent 68%), var(--panel);
  animation:glowPulse 2.4s ease-in-out infinite;
}
.attention-title{
  color:#fff;
  letter-spacing:.02em;
  animation:textGlow 2.4s ease-in-out infinite;
}
.btn-accent{background:var(--accent);color:#0e1116;border:none;border-radius:10px;padding:11px 26px;font-weight:700;font-size:1rem;cursor:pointer;transition:filter .1s,transform .1s}
.btn-accent:hover{filter:brightness(1.08);transform:translateY(-1px)}

.modal-content.attention-box{padding:44px 26px}
@media (prefers-reduced-motion: reduce){
  .attention-box{ animation:none; box-shadow:0 0 0 1px rgba(255,107,53,.7), 0 0 40px rgba(255,107,53,.45); }
  .attention-title{ animation:none; text-shadow:0 0 18px rgba(255,107,53,.8), 0 0 50px rgba(255,107,53,.5); }
}

.md-body{max-width:80ch;line-height:1.6}
.md-body h1{font-size:1.5rem;margin:0 0 14px}
.md-body h2{font-size:1.25rem;margin:26px 0 10px}
.md-body h3{font-size:1.05rem;margin:22px 0 6px;color:var(--text)}
.md-body p{color:var(--muted)}
.md-body a{color:var(--link)}
.md-body ul,.md-body ol{color:var(--muted);padding-left:20px}
.md-body li{margin:4px 0}
.md-body em{color:var(--muted)}
.md-body hr{border:0;border-top:1px solid var(--border);margin:22px 0}
.md-body blockquote{border-left:3px solid var(--accent-2);margin:14px 0;padding:4px 14px;color:var(--muted);background:var(--panel);border-radius:0 8px 8px 0}
.md-body code{background:var(--panel-2);padding:1px 6px;border-radius:5px;font-size:.88em}

.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--text)}
.leaflet-popup-content{font-size:.86rem}
.leaflet-container a.leaflet-popup-close-button{color:var(--muted)}
