/* FP3 · OPERATING FABRIC + RADIO v3 · 2026-09-08
   Un solo foglio per il blocco dati unificato e per la radio.
   Palette esistente: oro C5A258/e6c97a · verde 70e6a0 · fondo 0a0a0a. */

#fp3fab{
  width:min(1180px,calc(100vw - 16px));margin:14px auto 18px;box-sizing:border-box;
  border:1px solid rgba(197,162,88,.32);border-top:2px solid #C5A258;background:#0a0a0c;
  font-family:'IBM Plex Mono',monospace;
}
#fp3fab .fabhd{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:11px 14px;border-bottom:1px solid rgba(197,162,88,.18);
  background:linear-gradient(110deg,rgba(112,230,160,.07),rgba(10,10,12,0) 62%);
}
#fp3fab .fabk{font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:#e6c97a;font-weight:700}
#fp3fab .fabdot{width:7px;height:7px;border-radius:50%;background:#5fd49b;box-shadow:0 0 8px rgba(95,212,155,.75);flex:0 0 auto}
#fp3fab .fabstate{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#5fd49b}
#fp3fab .fabsync{margin-left:auto;font-size:8px;letter-spacing:.12em;color:#8a8579;white-space:nowrap}

#fp3fab .fabm{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(197,162,88,.14)}
#fp3fab .fabm > div{background:#0a0a0c;padding:10px 8px;text-align:center}
#fp3fab .fabm b{display:block;font-family:'Fraunces',Georgia,serif;font-size:19px;line-height:1;color:#f5f0e6}
#fp3fab .fabm span{display:block;margin-top:4px;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:#8a8579}

#fp3fab .fabgrid{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:900px){#fp3fab .fabgrid{grid-template-columns:1.35fr 1fr}
  #fp3fab .fabside{border-left:1px solid rgba(197,162,88,.16);border-top:0}}

#fp3fab .fabstream{padding:10px 14px 12px;min-width:0}
#fp3fab .fabph{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:7.5px;letter-spacing:.2em;text-transform:uppercase;color:#c5a258;margin-bottom:7px}
#fp3fab .fabph i{font-style:normal;color:#6b665c}
#fp3fab .fabrow{display:flex;gap:9px;align-items:baseline;padding:6px 0;border-bottom:1px dotted rgba(197,162,88,.14)}
#fp3fab .fabrow:last-child{border-bottom:0}
#fp3fab .fabrow b{flex:0 0 62px;font-size:7px;letter-spacing:.12em;color:#8a7a4e}
#fp3fab .fabrow b[data-dom="CLIMA"]{color:#c5a258}
#fp3fab .fabrow b[data-dom="ECONOMIA"]{color:#a8d89a}
#fp3fab .fabrow b[data-dom="MOBILITÀ"]{color:#d9a25d}
#fp3fab .fabrow span{flex:1;min-width:0;font-size:10.5px;line-height:1.5;color:#d8d3c6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#fp3fab .fabrow a{color:#d8d3c6;text-decoration:none;border-bottom:1px solid rgba(197,162,88,.28)}
#fp3fab .fabrow a:hover{color:#f5f0e6}
#fp3fab .fabrow.is-new span{color:#f0ece2}

#fp3fab .fabside{padding:10px 14px 12px;border-top:1px solid rgba(197,162,88,.16)}
#fp3fab .fabchips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
#fp3fab .fabchip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;
  border:1px solid rgba(197,162,88,.26);border-radius:2px;background:#0d0d10;
  font-size:8px;letter-spacing:.08em;color:#c9c4b8;text-decoration:none;white-space:nowrap}
#fp3fab .fabchip:hover{border-color:rgba(230,201,122,.6);color:#f0ece2}
#fp3fab .fabchip i{width:5px;height:5px;border-radius:50%;background:#6b665c;flex:0 0 auto}
#fp3fab .fabchip u{text-decoration:none;color:#8a7a4e;font-size:7px;letter-spacing:.1em}

#fp3fab .fabacts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}
@media(max-width:520px){#fp3fab .fabacts{grid-template-columns:1fr 1fr}#fp3fab .fabm{display:flex;flex-wrap:wrap}#fp3fab .fabm > div{flex:1 1 calc(33.333% - 1px);min-width:92px}}
#fp3fab .fabacts a{padding:8px 6px;text-align:center;border:1px solid rgba(143,212,228,.26);
  color:#c5a258;text-decoration:none;font-size:7.5px;letter-spacing:.1em;text-transform:uppercase}
#fp3fab .fabacts a:hover{border-color:#c5a258;color:#d7f2fa}
#fp3fab .fabacts a.k{background:linear-gradient(180deg,#e6c97a,#C5A258);color:#0a0810;border-color:#C5A258;font-weight:700}
#fp3fab .fabnote{padding:9px 14px 12px;border-top:1px dotted rgba(197,162,88,.18);
  font-size:8.5px;line-height:1.65;color:#8a8579}
#fp3fab .fabnote b{color:#9d998d;font-weight:600}

/* ---------- RADIO v3 ---------- */
.fr3grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
@media(min-width:760px){.fr3grid.wide{grid-template-columns:repeat(6,1fr)}}
.fr3{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:11px 4px;border:1px solid rgba(197,162,88,.3);background:#0d0d0d;
  font-family:'IBM Plex Mono',monospace;transition:border-color .2s,background .2s}
.fr3:hover{border-color:rgba(230,201,122,.65)}
.fr3 .ic{width:34px;height:34px;border-radius:50%;border:1px solid rgba(230,201,122,.6);
  display:flex;align-items:center;justify-content:center;color:#e6c97a;font-weight:800;font-size:13px;letter-spacing:.02em}
.fr3 .nm{font-size:8px;letter-spacing:.05em;color:#e8e4da;text-align:center;line-height:1.25}
.fr3[data-on="1"]{border-color:#5fd49b;background:#0a1410}
.fr3[data-on="1"] .ic{background:linear-gradient(180deg,#8ee6a4,#5fd49b);color:#04160a;border-color:#5fd49b}
.fr3[data-on="wait"] .ic{border-color:#e6c97a;color:#e6c97a;opacity:.6}
.fr3bar{display:flex;align-items:center;gap:8px;margin:8px 2px 0;font-family:'IBM Plex Mono',monospace;font-size:8px;
  letter-spacing:.08em;color:#6b665c}
.fr3bar [data-state="on"]{color:#5fd49b}
.fr3bar [data-state="wait"]{color:#e6c97a}
.fr3bar [data-state="off"]{color:#c8863c}
.fr3bar button{all:unset;cursor:pointer;padding:4px 9px;border:1px solid rgba(197,162,88,.35);
  color:#c9c4b8;font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;margin-left:auto}
.fr3bar button:hover{border-color:#e6c97a;color:#e6c97a}
/* v11.4.5 · radio card · perimetro fisso su mobile */
.fr3grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;min-width:0}
.fr3{min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
.fr3 .nm{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px!important}
.fr3 .ic{font-size:13px;line-height:1}
@media (max-width:420px){.fr3{padding:8px 4px!important}.fr3 .nm{font-size:7.5px!important}}
