/* Ciaranfi AI Land - grafica "giornale" v2.0 (31/10/2026)
   Carta chiara, titoli serif, un solo colore d'accento, un colore per argomento.
   Nessun font esterno: serif e sans di sistema. */
:root{
--paper:#fbfaf7;--surface:#fff;--ink:#121417;--text:#1d2024;--mute:#5d646d;--soft:#7c838c;--line:#e3dfd6;--line2:#cfc9bd;
--acc:#b4141e;--acc-ink:#8e0f17;
--serif:Charter,"Bitstream Charter","Iowan Old Style","Palatino Linotype",Georgia,Cambria,"Times New Roman",serif;
--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
--w:1240px;--r:4px;
--c-ai:#6b3fa0;--c-tec:#0f6a8f;--c-dom:#9a5b05;--c-rob:#2c7a4b;--c-vid:#b0284f;--c-cob:#18766d;--c-dark:#3b4252;--c-claude:#b5532c;--c-flash:#c8102e;--c-down:#c2410c;
/* compatibilita con i plugin che usano le variabili del tema precedente */
--bg:#fbfaf7;--bg2:#f2efe8;--glass:#fff;--acc2:#8e0f17;--text-2:#5d646d
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:17px/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
::selection{background:#f6d6d8;color:var(--ink)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.skip:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;clip-path:none;margin:0;z-index:999;background:var(--ink);color:#fff;padding:10px 14px}

/* ---------- colori per argomento ---------- */
.cat-intelligenza-artificiale{--cc:var(--c-ai)}.cat-tecnologia{--cc:var(--c-tec)}.cat-domotica{--cc:var(--c-dom)}
.cat-robotica{--cc:var(--c-rob)}.cat-videosorveglianza{--cc:var(--c-vid)}.cat-cobot{--cc:var(--c-cob)}
.cat-dark-web{--cc:var(--c-dark)}.cat-claude{--cc:var(--c-claude)}.cat-ultima-ora{--cc:var(--c-flash)}.cat-down-internet{--cc:var(--c-down)}
.badge{display:inline-flex;align-items:center;gap:6px;font:700 .72rem/1.2 var(--font);text-transform:uppercase;letter-spacing:.07em;color:var(--cc,var(--acc))}
.badge:before{content:"";width:8px;height:8px;background:var(--cc,var(--acc));flex:0 0 8px}
.badge:hover{color:var(--ink)}
.kick-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hot{display:inline-block;font:700 .66rem/1 var(--font);text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--acc);padding:4px 6px;border-radius:2px}
.meta{color:var(--soft);font:.82rem/1.45 var(--font)}
.ext{color:var(--soft);font-size:.8em}

/* ---------- header ---------- */
.site-header{background:var(--paper);border-bottom:1px solid var(--ink)}
.topline{display:flex;justify-content:space-between;gap:16px;padding-top:10px;font-size:.78rem;color:var(--mute)}
.topline .today:first-letter{text-transform:uppercase}
.bar{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"brand lang right" "nav nav nav";align-items:center;column-gap:18px}
.brand,.custom-logo-link{grid-area:brand;justify-self:start}
.brand{display:block;padding:6px 0 14px;font:700 2.35rem/1.05 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.brand b{color:var(--acc);font-weight:700}
.brand:hover{color:var(--ink)}
.lang-sw{grid-area:lang}
.site-header .lang-sw{border:1px solid var(--line2);border-radius:3px;padding:2px}
.site-header .lang-sw a{border-radius:2px;font:700 .74rem/1 var(--font);color:var(--mute);padding:6px 9px}
.site-header .lang-sw a:hover{color:var(--ink)}
.site-header .lang-sw a.on{background:var(--ink);color:#fff}
.hdr-right{grid-area:right;display:none}
.hbtn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;font:600 .8rem/1 var(--font);border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:3px}
.hbtn:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.hbtn-outline{background:transparent;color:var(--ink)}
.hbtn-outline:hover{background:var(--ink);border-color:var(--ink)}
.nav{grid-area:nav;border-top:1px solid var(--line2);min-width:0}
.nav ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.nav li{position:relative}
.nav a{display:block;padding:12px 11px 10px;font:600 .9rem/1 var(--font);color:var(--ink);border-bottom:3px solid transparent;white-space:nowrap}
.nav a:hover,.nav .current-menu-item>a,.nav .current-cat>a,.nav .current-menu-ancestor>a{color:var(--ink);border-bottom-color:var(--acc)}
.nav .sub-menu{display:none}
/* voci "live": rosso, a destra, con il puntino */
.site-header .nav a[href$="/vulnerabilita/"],.site-header .nav a[href$="/ransomware/"],.site-header .nav a[href$="/attacchi-live/"],.site-header .nav a[href$="/ultima-ora/"]{color:var(--acc);display:flex;align-items:center;gap:6px}
.site-header .nav a[href$="/vulnerabilita/"]:before,.site-header .nav a[href$="/ransomware/"]:before,.site-header .nav a[href$="/attacchi-live/"]:before,.site-header .nav a[href$="/ultima-ora/"]:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc)}
.site-header .nav a[href$="/attacchi-live/"]:before,.site-header .nav a[href$="/ultima-ora/"]:before{animation:tp-pulse 2s infinite}
.nav-toggle{display:none}
.search-form{display:flex}
.search-form input[type=search]{border:1px solid var(--line2);background:#fff;color:var(--ink);padding:9px 12px;font:inherit;font-size:.92rem;border-radius:3px 0 0 3px;min-width:0}
.search-form button{background:var(--ink);color:#fff;border:0;padding:9px 14px;border-radius:0 3px 3px 0;font:600 .9rem var(--font);cursor:pointer}
.site-header .search-form{display:none}
@media(min-width:861px){
.hdr-right{display:flex;gap:8px}
.site-header .nav li:has(> a[href$="/login/"]),.site-header .nav li:has(> a[href$="/register/"]){display:none}
.site-header .nav li:has(> a[href$="/vulnerabilita/"]){margin-left:auto}
.site-header .nav li:has(> a[href$="/area-riservata/"]){display:none}
}
@media(min-width:861px) and (max-width:1180px){.nav a{padding:12px 8px 10px;font-size:.84rem}}
.lead-more{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
.lead-more-h{margin:0 0 6px;font:800 .72rem/1.2 var(--font);text-transform:uppercase;letter-spacing:.07em;color:var(--cc,var(--ink))}
.lead-more ul{list-style:none;margin:0;padding:0}
.lead-more li{position:relative;padding:8px 0 8px 16px;border-bottom:1px solid var(--line);font:600 1rem/1.35 var(--serif);color:var(--ink)}
.lead-more li:before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;background:var(--cc,var(--acc))}
.lead-more li:last-child{border-bottom:0}

/* ---------- barra ultime notizie ---------- */
.ticker{background:var(--surface);border-bottom:1px solid var(--line);font-size:.9rem}
.ticker .wrap{display:flex;align-items:center;gap:16px;min-height:42px}
.ticker-label{display:flex;align-items:center;gap:7px;font:800 .72rem/1 var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--acc);white-space:nowrap}
.ticker-label:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc);animation:tp-pulse 2s infinite}
.ticker ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.ticker ul::-webkit-scrollbar{display:none}
.ticker li time{color:var(--soft);margin-right:8px;font-size:.8rem;font-variant-numeric:tabular-nums}
.ticker a{color:var(--ink);font-weight:500}
.ticker a:hover{color:var(--acc)}

/* ---------- schede ---------- */
.card{position:relative;display:flex;flex-direction:column;min-width:0}
.card .thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg2);margin-bottom:12px}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .body{display:flex;flex-direction:column;gap:8px}
.card h3{margin:0;font:700 1.24rem/1.25 var(--serif);letter-spacing:-.005em;color:var(--ink)}
.card h3 a:hover{color:var(--cc,var(--acc))}
.card p{margin:0;color:var(--mute);font-size:.95rem;line-height:1.5}
.card--lg h3{font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.12;letter-spacing:-.01em}
.card--lg p{font:1.08rem/1.5 var(--serif);color:#3a3f46}
.card--sm h3{font-size:1.08rem;line-height:1.3}
.grid{display:grid;gap:30px 28px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.grid .card{border-top:1px solid var(--line);padding-top:16px}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ---------- home: apertura ---------- */
.top{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr) minmax(0,.95fr);margin:28px 0 0;padding-bottom:30px;border-bottom:1px solid var(--ink)}
.top>*{padding:0 24px;border-left:1px solid var(--line);min-width:0}
.top>*:first-child{padding-left:0;border-left:0}
.top>*:last-child{padding-right:0}
.lead .thumb{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:16px;background:var(--bg2)}
.lead .thumb img{width:100%;height:100%;object-fit:cover}
.lead .kick-row{margin-bottom:12px}
.lead h2{margin:0 0 16px;font:700 clamp(2rem,3.7vw,3.2rem)/1.06 var(--serif);letter-spacing:-.018em;color:var(--ink)}
.lead h2 a:hover{color:var(--acc)}
.lead .stand{margin:0 0 14px;font:400 1.2rem/1.5 var(--serif);color:#3a3f46}
.top-sec{display:flex;flex-direction:column}
.top-sec .card+.card{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}

/* ---------- piu letti ---------- */
.trend-h{margin:0;padding-top:10px;border-top:4px solid var(--acc);font:800 1rem/1.2 var(--font);text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}
.trend-sub{margin:4px 0 6px;font-size:.8rem;color:var(--soft)}
.trend ol{list-style:none;margin:0;padding:0;counter-reset:tp-t}
.trend li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.trend li:before{counter-increment:tp-t;content:counter(tp-t);font:700 1.9rem/1 var(--serif);color:var(--acc)}
.trend .badge{font-size:.64rem}
.trend .tt{display:block;margin-top:5px;font:700 1.02rem/1.3 var(--serif);color:var(--ink)}
.trend .tt:hover{color:var(--acc)}
.trend--article{max-width:720px;margin:56px auto 0}
@media(min-width:861px){.trend--article ol{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}}

/* ---------- sezioni ---------- */
.sec{margin:46px 0 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding-top:10px;border-top:4px solid var(--cc,var(--ink))}
.sec-head h2{margin:0;font:800 1.05rem/1.2 var(--font);text-transform:uppercase;letter-spacing:.07em;color:var(--cc,var(--ink))}
.sec-head h2 a:hover{color:var(--ink)}
.sec-head>a,.sec-head .more{font:600 .84rem/1 var(--font);color:var(--mute)}
.sec-head>a:hover{color:var(--acc)}
.sec-tag{display:inline-block;margin-left:10px;vertical-align:2px;font:700 .66rem/1 var(--font);letter-spacing:.06em;color:#fff;background:var(--acc);padding:4px 6px;border-radius:2px}
.sec--hot .sec-head{border-top-width:6px}
.feat-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px}
.feat-list{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:28px}
.feat-list .card{padding:14px 0;border-top:1px solid var(--line)}
.feat-list .card:first-child{padding-top:0;border-top:0}
.river{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
.river li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.river time{font:700 .84rem/1.5 var(--font);color:var(--soft);font-variant-numeric:tabular-nums}
.river h3{margin:5px 0 0;font:700 1.1rem/1.3 var(--serif);color:var(--ink)}
.river h3 a:hover{color:var(--cc,var(--acc))}
.flash{list-style:none;margin:0;padding:0}
.flash li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.flash time{min-width:92px;color:var(--acc);font:700 .85rem/1.6 var(--font);font-variant-numeric:tabular-nums}
.flash a{color:var(--ink);font:700 1.04rem/1.4 var(--serif)}
.band{margin:46px 0 0;padding:22px 24px;background:var(--surface);border:1px solid var(--line2);border-left:5px solid var(--c-down);display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.band h2{margin:0 0 4px;font:700 1.35rem/1.2 var(--serif);color:var(--ink)}
.band p{margin:0;color:var(--mute)}
.btn{display:inline-block;background:var(--ink);color:#fff;font:600 .95rem/1 var(--font);padding:13px 18px;border-radius:3px;border:0;cursor:pointer}
.btn:hover{background:var(--acc);color:#fff}

/* ---------- articolo e pagine ---------- */
.article{max-width:720px;margin:40px auto 0}
.article>.kick-row{margin-bottom:12px}
.article h1{margin:0 0 14px;font:700 clamp(2rem,4.3vw,3.05rem)/1.08 var(--serif);letter-spacing:-.018em;color:var(--ink)}
.article .stand{margin:0 0 18px;font:400 1.27rem/1.5 var(--serif);color:#3a3f46}
.art-meta{display:flex;flex-wrap:wrap;gap:4px 16px;padding:12px 0;margin-bottom:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.86rem}
.art-meta strong{color:var(--ink);font-weight:600}
.article .feat{margin:0 0 30px}
.article .feat img{width:100%}
.feat.slim{display:none}
/* Le regole del testo valgono solo per i figli diretti di .entry: i widget dei plugin
   (mappe, cruscotti, liste) mantengono i loro caratteri e le loro dimensioni. */
.entry{color:#22262b}
.entry>:is(p,ul,ol,blockquote,table,h2,h3,h4,figure) a{color:var(--acc-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.entry>:is(p,ul,ol,blockquote,table,h2,h3,h4,figure) a:hover{color:var(--acc)}
.entry>p,.entry>ul>li,.entry>ol>li{font-size:1.06rem;line-height:1.75}
.single .entry>:is(p,ul,ol,blockquote,h2){font-family:var(--serif)}
.single .entry>p,.single .entry>ul>li,.single .entry>ol>li{font-size:1.18rem;line-height:1.72}
.entry>h2{margin:1.8em 0 .5em;font:700 1.6rem/1.22 var(--serif);color:var(--ink);letter-spacing:-.01em}
.entry>h3{margin:1.6em 0 .4em;font:700 1.2rem/1.3 var(--font);color:var(--ink)}
.entry>:is(p,ul,ol) strong{color:var(--ink)}
.entry>ul,.entry>ol{padding-left:1.3em}
.entry>ul>li,.entry>ol>li{margin:.3em 0}
.entry>blockquote{margin:1.6em 0;padding:2px 0 2px 20px;border-left:3px solid var(--cc,var(--acc));font-style:italic;color:#3a3f46}
.entry>pre,.entry>p code,.entry>ul code,.entry>ol code{font-family:var(--mono);font-size:.86em;background:#f1eee7;border-radius:3px}
.entry>pre{padding:16px;overflow:auto;border:1px solid var(--line);line-height:1.5}
.entry>p code,.entry>ul code,.entry>ol code{padding:1px 5px}
.entry>pre code{padding:0;background:none}
.entry>table,.entry>figure>table{border-collapse:collapse;width:100%;font-family:var(--font);font-size:.95rem;margin:1.4em 0}
.entry>table :is(th,td),.entry>figure>table :is(th,td){border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;vertical-align:top}
.entry>table th,.entry>figure>table th{border-bottom:2px solid var(--ink)}
.entry>p img,.entry>figure img{margin:1em 0}
.entry figcaption{font:.85rem/1.4 var(--font);color:var(--mute);margin-top:6px}
.entry>hr{border:0;border-top:1px solid var(--line);margin:2em 0}
/* mappe scure dei plugin (attacchi, rivendicazioni, stato servizi): testo e confini chiari */
.cp-rb__map,.cp-tm__map,.cp-sm__map{color:#e5e7eb}
.cp-rb__tab[aria-selected="true"]{background:var(--ink)!important;color:#fff!important}
.cp-rb__bar-fill,.cp-rb__trackin{background:var(--acc)!important}
.cp-rb__spin{border-top-color:var(--acc)!important}
.fonte-box{margin:30px 0;padding:14px 16px;border:1px solid var(--line2);background:var(--surface);color:var(--mute);font-size:.92rem}
.fonte-box a{color:var(--acc-ink);text-decoration:underline}
.tags{margin-top:22px}
.article--comments{margin-top:40px}
.page-title{margin:36px 0 24px;padding-bottom:14px;border-bottom:4px solid var(--cc,var(--ink));font:700 clamp(1.9rem,3.6vw,2.6rem)/1.1 var(--serif);color:var(--ink)}
.page-title small{display:block;margin-top:8px;color:var(--mute);font:400 1rem/1.5 var(--font)}
.pagination{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:40px 0}
.pagination a,.pagination span{padding:8px 13px;border:1px solid var(--line2);color:var(--ink);background:var(--surface);border-radius:3px;font-size:.92rem}
.pagination a:hover{border-color:var(--ink);color:var(--ink)}
.pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* collegamenti interni: pagine guida e "Leggi anche" */
.tp-related{margin:2.8rem 0 1rem;padding-top:12px;border-top:4px solid var(--ink);font-family:var(--font)}
.tp-related h2{margin:0 0 4px;font:800 1rem/1.2 var(--font);text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}
.tp-related-hub{margin:0;color:var(--mute);font:.95rem/1.5 var(--font)}
.tp-guide-list{list-style:none;padding:0!important;margin:1rem 0 1.6rem;display:grid;gap:0}
.tp-guide-list li{margin:0;padding:12px 0;border-bottom:1px solid var(--line);font:1rem/1.45 var(--font)!important}
.entry .tp-guide-list a{text-decoration:none;color:var(--ink)}
.tp-guide-list a strong{font:700 1.08rem/1.3 var(--serif);color:var(--ink)}
.tp-guide-list a:hover strong{color:var(--acc)}
.tp-link-desc{display:block;margin-top:3px;color:var(--mute);font-size:.9rem;line-height:1.45}
@media(min-width:861px){.tp-related .tp-guide-list{grid-template-columns:1fr 1fr;column-gap:30px}}

/* Down Internet */
.grid .card.svc,.card.svc{border:1px solid var(--line);border-top:3px solid var(--c-down);background:var(--surface);padding:16px}
.svc h3{font:700 1.05rem/1.3 var(--font)}
.svc-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.svc-state{display:inline-flex;align-items:center;gap:6px;font:700 .72rem/1 var(--font);text-transform:uppercase;letter-spacing:.05em;padding:5px 8px;border-radius:3px;border:1px solid currentColor}
.svc-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.svc-state.ok{color:#1f7a4a}.svc-state.warn{color:#a16207}.svc-state.bad{color:#b91c1c}.svc-state.bad:before{animation:tp-pulse 1.2s infinite}
.svc-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.86rem}
.svc-actions a{color:var(--acc-ink);text-decoration:underline}
.svc-actions button{background:var(--surface);color:var(--ink);border:1px solid var(--line2);border-radius:3px;padding:7px 12px;font:600 .84rem var(--font);cursor:pointer}
.svc-actions button:hover:not(:disabled){border-color:var(--ink)}
.svc-actions button:disabled{opacity:.5;cursor:default}
.note{color:var(--mute);font-size:.9rem;border-left:3px solid var(--line2);padding:4px 0 4px 14px;margin:24px 0}

/* avviso "solo in italiano" per i lettori esteri */
.tp-en-note{background:#fff5e6;color:var(--ink);border-bottom:1px solid #f0d9b5}
.tp-en-note a{color:var(--acc-ink)}

/* ---------- footer ---------- */
/* footer compatto: argomenti e link su righe orizzontali */
.site-footer{margin-top:56px;background:var(--ink);color:#b9bec5;padding:24px 0 16px;font-size:.84rem;line-height:1.5}
.site-footer a{color:#eceef1}
.site-footer a:hover{color:#fff;text-decoration:underline}
.foot{display:grid;gap:14px 36px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,1fr);align-items:start}
.foot h4{margin:0 0 6px;color:#fff;font:700 .7rem/1.2 var(--font);text-transform:uppercase;letter-spacing:.09em}
.foot>div:first-child h4{font:700 1.15rem/1.1 var(--serif);text-transform:none;letter-spacing:-.01em;margin-bottom:6px}
.foot p{margin:0 0 4px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 14px}
.foot li{margin:0}
.copy{margin-top:16px;padding-top:10px;border-top:1px solid #2c3036;font-size:.76rem;color:#9aa0a8}

/* ---------- Ultimate Member (login e registrazione) ---------- */
.um .um-field-label label,.um .um-field-label{color:var(--ink)!important;font-weight:700;margin-bottom:6px}
.um input[type="text"],.um input[type="email"],.um input[type="password"],.um input[type="url"]{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line2)!important;border-radius:3px!important;padding:11px 12px!important;box-shadow:none!important}
.um input:focus{border-color:var(--ink)!important;box-shadow:0 0 0 3px rgba(18,20,23,.12)!important;outline:none}
.um .um-field-area,.um .um-field{margin-bottom:14px}
.um .um-button,.um input[type="submit"]{background:var(--ink)!important;color:#fff!important;font-weight:700!important;border:0!important;border-radius:3px!important;padding:12px 22px!important;box-shadow:none!important;cursor:pointer}
.um .um-button:hover{background:var(--acc)!important}
.um .um-col-alt-b .um-button,.um .um-secondary{background:transparent!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)!important}

/* pagine con cruscotti e widget: un po' piu larghe degli articoli */
.page .article{max-width:960px}
/* plugin Vulnerabilita: adattamento alla grafica chiara */
.entry .tpv-banner{background:var(--ink);color:#fff;border:0;border-radius:3px;box-shadow:none;font:700 .8rem/1 var(--font);letter-spacing:.07em;padding:11px 14px}
.entry .tpv-dot{box-shadow:none}
.entry .tpv-dash{box-shadow:none;border-radius:4px;background:#fff}
.entry .tpv-kpi{border-radius:4px;background:#fff}
.entry .tpv-stat{border-radius:4px}
.entry .tpv-cve{font-family:var(--mono)}
.entry .tpv-bar-track{background:#efece5}
.entry .tpv-bar-fill{box-shadow:none;background:var(--acc)}

/* ---------- Attacchi live (cp-threatmap) ----------
   Mappa a tutta larghezza; sotto, una fascia con: totale | tipi di attacco | paesi di origine.
   I "tipi" diventano schede compatte con il colore della legenda (le fonti sono
   campionate a 40 origini ciascuna: barre tutte piene non dicevano nulla). */
.cp-tm{font-family:var(--font)!important;background:#fff!important;border:1px solid var(--line2)!important;border-top:4px solid var(--acc)!important;border-radius:3px!important;padding:16px 18px!important}
.cp-tm__bar{margin-bottom:8px!important}
.cp-tm__bar>strong{font:700 1.2rem/1.2 var(--serif);color:var(--ink)}
.cp-tm__live{font:700 .74rem/1 var(--font)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--acc)!important}
.cp-tm__live b{color:var(--acc)!important}
.cp-tm .cp-btn{font:600 .82rem var(--font);border-radius:3px}
.cp-tm__legend{font:500 .78rem/1.3 var(--font)!important;color:var(--mute)!important;gap:4px 14px!important;margin-bottom:12px!important}
.cp-tm .cp-tm__grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;align-items:start!important}
.cp-tm .cp-tm__map,.cp-tm .cp-tm__svg{height:auto!important;width:100%}
.cp-tm .cp-tm__map{border-radius:3px;overflow:hidden}
.cp-tm__stats{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.6fr) minmax(0,1.2fr);grid-template-areas:"kpi h1 h2" "kpi b1 b2";grid-template-rows:auto 1fr;gap:0 26px;align-items:start}
.cp-tm__stats>.cp-tm__kpi{grid-area:kpi;margin:0;padding:16px;background:var(--ink);color:#fff;border-radius:3px;font-size:1rem}
.cp-tm__kpi strong{display:block;font:700 2.6rem/1 var(--serif);color:#fff}
.cp-tm__kpi .cp-muted{display:block;margin-top:8px;color:#c3c7cd!important;font-size:.84rem!important;line-height:1.35}
.cp-tm__stats>h3{margin:0 0 8px!important;padding-top:8px;border-top:3px solid var(--ink);font:800 .74rem/1.2 var(--font)!important;text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}
.cp-tm__stats>h3:nth-of-type(1){grid-area:h1}
.cp-tm__stats>h3:nth-of-type(2){grid-area:h2}
.cp-tm__stats>div:nth-of-type(2){grid-area:b1;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.cp-tm__stats>div:nth-of-type(3){grid-area:b2}
.cp-tm__stats>div:nth-of-type(2) .cp-bars__row{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0;padding:6px 8px;gap:8px;background:#f6f4ef;border-left:4px solid var(--k,#94a3b8);border-radius:2px;font-size:.84rem;line-height:1.25}
.cp-tm__stats>div:nth-of-type(2) .cp-bars__track{display:none}
.cp-tm__stats>div:nth-of-type(2) .cp-bars__val{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.cp-tm__stats>div:nth-of-type(3) .cp-bars__row{grid-template-columns:7.5rem 1fr 2.2rem;margin:5px 0;font-size:.84rem}
.cp-tm__stats>div:nth-of-type(3) .cp-bars__track{height:6px;background:#ece8df}
.cp-tm__stats>div:nth-of-type(3) .cp-bars__fill{background:var(--acc)}
.cp-tm__stats>div:nth-of-type(3) .cp-bars__val{font-variant-numeric:tabular-nums}
.cp-tm .cp-bars__row:has([title*="C2"]){--k:#f43f5e}
.cp-tm .cp-bars__row:has([title*="SSH"]){--k:#fb923c}
.cp-tm .cp-bars__row:has([title*="server web"]){--k:#eab308}
.cp-tm .cp-bars__row:has([title*="server di posta"]){--k:#c084fc}
.cp-tm .cp-bars__row:has([title*="FTP"]){--k:#22d3ee}
.cp-tm .cp-bars__row:has([title*="SIP"]){--k:#34d399}
.cp-tm .cp-bars__row:has([title*="Scanner"]){--k:#94a3b8}
.cp-tm .cp-bars__row:has([title*="ompromessi"]){--k:#60a5fa}
.cp-tm .cp-bars__row:has([title*="IMAP"]){--k:#e879f9}
.cp-tm .cp-bars__row:has([title*="pagine di login"]){--k:#f97316}
.cp-tm .cp-bars__row:has([title*="aggressive"]){--k:#84cc16}
.cp-tm>small.cp-muted{display:block;margin-top:14px;font-size:.76rem;line-height:1.45}
.cp-tm__stats>.cp-tm__kpi{align-self:stretch;display:flex;flex-direction:column;justify-content:center}

/* Schede di approfondimento sotto la mappa: tipi di attacco, porte, ultime origini */
.cp-tm__details{max-width:none!important;margin:18px 0 0!important;text-align:left!important}
.cp-tm__block{background:#fff!important;border:1px solid var(--line2)!important;border-radius:3px!important;padding:16px 18px 18px!important;text-align:left!important;margin:0 0 16px!important}
.cp-tm__bhd{align-items:flex-start!important;gap:4px!important;margin-bottom:6px!important}
.cp-tm__kicker{font:800 .68rem/1.2 var(--font)!important;color:var(--acc)!important;letter-spacing:.08em}
.cp-tm__bhd h3{font:700 1.3rem/1.2 var(--serif)!important;color:var(--ink)}
.cp-tm__bsub{margin:0 0 14px!important;max-width:none!important;font-size:.88rem!important}
/* schede in colonne bilanciate: nessun buco a fine griglia, qualunque sia il numero */
.cp-tm__cards{display:block!important;columns:3 250px;column-gap:14px}
.cp-tm__card{break-inside:avoid;display:grid!important;margin:0 0 14px;padding:12px 14px!important;background:#fff!important;border:1px solid var(--line)!important;border-left:4px solid var(--line2)!important;border-radius:2px!important;gap:4px!important}
.cp-tm__card:has(.cp-tm__prio--alta){border-left-color:var(--acc)!important}
.cp-tm__card:has(.cp-tm__prio--media){border-left-color:#d97706!important}
.cp-tm__card:has(.cp-tm__prio--bassa){border-left-color:#94a3b8!important}
.cp-tm__prio{border-radius:2px!important;font:800 .6rem/1.2 var(--font)!important;padding:3px 6px!important}
.cp-tm__prio--media{color:#b45309!important}
.cp-tm__prio--bassa{color:var(--mute)!important}
.cp-tm__ctitle{font:700 1.08rem/1.25 var(--serif);color:var(--ink)}
.cp-tm__count{font:700 1.35rem/1 var(--serif)!important;color:var(--ink)}
.cp-tm__count:after{content:" origini";font:500 .78rem var(--font);color:var(--mute)}
.cp-tm__clabel{margin:0!important;font-size:.8rem!important}
.cp-tm__ctech{margin:2px 0 0!important;font-size:.88rem;line-height:1.45;color:#3a3f46}
.cp-tm__mitre{font:600 .74rem/1.3 var(--mono);color:var(--acc-ink)!important;text-decoration:none!important}
.cp-tm__mitre:hover{text-decoration:underline!important}
.cp-tm__chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start!important}
.cp-tm__chip{display:inline-flex;align-items:baseline;gap:6px;padding:7px 10px!important;background:#f6f4ef!important;border:1px solid var(--line)!important;border-radius:2px!important;font-size:.86rem}
.cp-tm__chip strong{font-family:var(--mono);font-size:.84rem;color:var(--ink)}
.cp-tm__block .cp-tm__feed{max-width:none!important;margin:0!important;columns:2 320px;column-gap:28px}
.cp-tm__block .cp-tm__feed li{break-inside:avoid;font-size:.86rem;padding:6px 0;border-bottom:1px solid var(--line)}

/* ---------- Mappa interattiva dei servizi (assets/js/tp-map.js) ---------- */
cp-service-map.tpm-on>.cp-sm__legend,cp-service-map.tpm-on>.cp-sm__map,cp-service-map.tpm-on>small.cp-muted{display:none!important}
cp-service-map .cp-sm__bar strong{font:700 1.2rem/1.2 var(--serif);color:var(--ink)}
cp-service-map .cp-sm__live{font:700 .72rem/1 var(--font)!important;text-transform:uppercase;letter-spacing:.06em;color:var(--acc)!important}
.tpm{--tpm-h:320px;display:grid;grid-template-columns:minmax(0,1fr) 290px;margin:8px 0 18px;background:#fff;border:1px solid var(--line2);border-radius:3px;overflow:hidden;font-family:var(--font);color:var(--ink)}
.tpm [hidden]{display:none!important}
.tpm-s-ok{--s:#1f8f4e}.tpm-s-degraded{--s:#d97706}.tpm-s-outage{--s:#c8102e}.tpm-s-unknown{--s:#8a919a}
.tpm-stage{position:relative;min-width:0;background:#edf1f4;height:var(--tpm-h)}
.tpm-svg{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;user-select:none}
.tpm-svg:active{cursor:grabbing}
.tpm-land{fill:#dcd7cc;stroke:#f7f5f0;stroke-width:.7;vector-effect:non-scaling-stroke}
.tpm-land--it{fill:#cbc3b3}
.tpm-pt{cursor:pointer}
.tpm-dot{fill:var(--s);stroke:#fff;stroke-width:2}
.tpm-pt.is-sel .tpm-dot,.tpm-pt.is-hov .tpm-dot{stroke:var(--ink);stroke-width:2.6}
.tpm-pulse{fill:var(--s);transform-box:fill-box;transform-origin:center;animation:tpm-pulse 1.8s ease-out infinite;pointer-events:none}
@keyframes tpm-pulse{0%{transform:scale(.55);opacity:.5}100%{transform:scale(1.5);opacity:0}}
.tpm-n{fill:#fff;font:700 10px/1 var(--font);pointer-events:none}
.tpm-lbl{fill:var(--ink);font:700 11px/1 var(--font);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.tpm-tip{position:absolute;z-index:4;max-width:240px;padding:8px 10px;background:var(--ink);color:#fff;font:.8rem/1.4 var(--font);border-radius:3px;opacity:0;pointer-events:none;transition:opacity .12s}
.tpm-tip b{display:block;margin-bottom:2px}
.tpm-tip em{display:block;margin-top:4px;font-style:normal;color:#c3c7cd;font-size:.74rem}
.tpm-regions{position:absolute;left:8px;top:8px;z-index:3;display:flex;flex-wrap:wrap;gap:4px}
.tpm-regions button,.tpm-zoom button{background:#fff;color:var(--ink);border:1px solid var(--line2);border-radius:3px;font:600 .76rem/1 var(--font);padding:6px 8px;cursor:pointer}
.tpm-regions button:hover,.tpm-zoom button:hover{border-color:var(--ink)}
.tpm-regions button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tpm-zoom{position:absolute;right:8px;bottom:8px;z-index:3;display:flex;flex-direction:column;gap:4px}
.tpm-zoom button{width:30px;height:30px;padding:0;font-size:1rem}
.tpm-hint{position:absolute;left:50%;bottom:10px;z-index:3;transform:translateX(-50%);padding:6px 10px;background:rgba(18,20,23,.88);color:#fff;font:.78rem var(--font);border-radius:3px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}
.tpm-hint.on{opacity:1}
.tpm-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:.86rem}
.tpm-side{display:flex;flex-direction:column;min-height:0;max-height:var(--tpm-h);border-left:1px solid var(--line2)}
.tpm-filters{display:flex;flex-wrap:wrap;gap:4px;padding:10px;border-bottom:1px solid var(--line)}
.tpm-filters button{display:inline-flex;align-items:center;gap:5px;background:#fff;color:var(--ink);border:1px solid var(--line2);border-radius:3px;font:600 .74rem/1 var(--font);padding:6px 7px;cursor:pointer}
.tpm-filters button i{width:8px;height:8px;border-radius:50%;background:var(--s)}
.tpm-filters button b{font-variant-numeric:tabular-nums}
.tpm-filters button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tpm-detail{position:relative;margin:10px 10px 4px;padding:9px 30px 10px 12px;background:#faf8f4;border:1px solid var(--line);border-left:4px solid var(--s);border-radius:2px;font-size:.84rem;line-height:1.4}
.tpm-detail strong{display:block;margin:3px 0 1px;font:700 1.05rem/1.25 var(--serif);color:var(--ink)}
.tpm-detail p{margin:6px 0}
.tpm-detail a{color:var(--acc-ink);text-decoration:underline;font-weight:600}
.tpm-badge{font:800 .62rem/1 var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--s)}
.tpm-meta{display:block;color:var(--mute);font-size:.76rem}
.tpm-x{position:absolute;right:4px;top:2px;background:none;border:0;color:var(--mute);font-size:1.25rem;line-height:1;padding:4px;cursor:pointer}
.tpm-group{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:#fff5e6;border-bottom:1px solid var(--line);font-size:.8rem}
.tpm-group button{background:none;border:0;color:var(--acc-ink);text-decoration:underline;font:600 .8rem var(--font);cursor:pointer;padding:0}
.tpm-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}
.tpm-list li{margin:0}
.tpm-row{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;padding:7px 10px;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;font:500 .86rem/1.25 var(--font);color:var(--ink);cursor:pointer}
.tpm-row:hover,.tpm-row.is-sel{background:#f6f4ef}
.tpm-row i{width:9px;height:9px;border-radius:50%;background:var(--s)}
.tpm-row small{display:block;color:var(--soft);font-size:.72rem}
.tpm-row em{font-style:normal;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--s)}
.tpm-empty{padding:12px 10px;color:var(--mute);font-size:.84rem}
.tpm-foot{grid-column:1/-1;margin:0;padding:8px 12px;border-top:1px solid var(--line);font-size:.75rem;line-height:1.45;color:var(--mute)}
@media(max-width:820px){.tpm{grid-template-columns:1fr}.tpm-side{max-height:300px;border-left:0;border-top:1px solid var(--line2)}.tpm-regions button{padding:5px 6px;font-size:.7rem}}

/* ---------- Riscontro 90 minuti dei servizi (assets/js/tp-status.js) ---------- */
.tps{flex-basis:100%;width:100%;margin:6px 0 2px}
.tps-bars{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:2px;height:14px;max-width:380px}
.tps-b{display:block;border-radius:1px;background:#ece8df}
.tps-ok{background:#1f8f4e}.tps-degraded{background:#d97706}.tps-maint{background:#5b6f99}.tps-outage{background:#c8102e}.tps-unknown{background:#a3a8af}.tps-nd{background:#ece8df}
.tps-pf{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.8) 0 2px,transparent 2px 4px)}
.tps-meta{display:block;margin-top:4px;font-size:.74rem;line-height:1.35;color:var(--mute)}
.tps-note{display:block;margin-top:2px;font-size:.72rem;line-height:1.35;color:var(--soft)}
.tps-legend{margin:0 0 8px;font-size:.74rem;line-height:1.4;color:var(--mute)}
.tps-pfx{display:inline-block;width:12px;height:10px;vertical-align:-1px;background:#1f8f4e;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.8) 0 2px,transparent 2px 4px)}
.tpm-detail .tps{margin-top:8px}
.tpm-detail .tps-bars{height:12px}

/* Widget del portale (storico, stato servizi...): schede bianche, schede periodo in inchiostro */
.entry live-widget.cp-widget{background:#fff!important;border:1px solid var(--line2)!important;border-radius:3px!important;box-shadow:none!important}
.cp-widget__hd h2{font:700 1.15rem/1.25 var(--serif)!important;color:var(--ink)}
.cp-tab{border-radius:3px!important;font:600 .86rem var(--font)!important;padding:7px 8px!important;background:#fff!important;border:1px solid var(--line2)!important}
.cp-tab[aria-pressed="true"]{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.cp-ah__kpi-cell{background:#f6f4ef!important;border:1px solid var(--line);border-radius:2px!important}
.cp-ah__kpi-cell strong{font:700 1.3rem/1.2 var(--serif)!important;color:var(--ink)}
.cp-ah__legend{font-size:.8rem!important;color:var(--mute)}
@media(max-width:900px){.cp-tm__stats{grid-template-columns:1fr;grid-template-areas:"kpi" "h1" "b1" "h2" "b2";gap:12px}.cp-tm__stats>h3{margin-top:6px!important}}
@media(max-width:480px){.cp-tm__stats>div:nth-of-type(2){grid-template-columns:1fr}}

@keyframes tp-pulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}

/* ---------- responsive ---------- */
@media(max-width:1080px){
.top{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.top>.trend{grid-column:1/-1;border-left:0;padding:26px 0 0;margin-top:26px;border-top:1px solid var(--line)}
.top>.trend ol{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
.topline{display:none}
.bar{grid-template-columns:1fr auto auto;grid-template-areas:"brand lang toggle";padding-top:10px;padding-bottom:10px}
.brand{font-size:1.4rem;padding:0;white-space:nowrap}
.nav-toggle{grid-area:toggle;display:block;background:none;border:1px solid var(--ink);color:var(--ink);border-radius:3px;padding:7px 12px;font:600 .85rem var(--font);cursor:pointer}
.nav{display:none;grid-area:auto;grid-column:1/-1;margin-top:10px}
.nav.open{display:block}
.nav ul{flex-direction:column}
.nav a{padding:13px 2px;border-bottom:1px solid var(--line)}
.top{grid-template-columns:1fr;margin-top:20px}
.top>*{padding:0;border-left:0}
.top-sec{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.top>.trend{margin-top:26px}
.feat-grid{grid-template-columns:1fr;gap:20px}
.feat-list{border-left:0;padding-left:0}
.feat-list .card:first-child{padding-top:14px;border-top:1px solid var(--line)}
.river{grid-template-columns:1fr}
.foot{grid-template-columns:1fr}
.article{margin-top:26px}
}
@media(max-width:600px){
body{font-size:16px}
.wrap{padding:0 16px}
.grid--4,.top>.trend ol{grid-template-columns:1fr}
.lead h2{font-size:1.9rem}
.single .entry p,.single .entry li{font-size:1.1rem}
.band{padding:18px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
