/* polymarket-lab — design SSOT dei mockup -----------------------------------
 * Derivato dal cockpit Patrimonio (navy/gold, Inter + JetBrains Mono) e dai
 * token Polaris (--plr-*, mirror read-only). Le pagine usano SOLO var(--pml-*);
 * mai colori hardcoded. Nessuna risorsa esterna: font di sistema, no CDN.
 * Firma visiva dell'app: la BARRA DI PROBABILITÀ (.prob) con marcatore
 * dell'edge — probabilità implicita del mercato vs stima dell'utente.
 * ------------------------------------------------------------------------ */
:root{
  /* Canvas / navy (Patrimonio) */
  --pml-bg:#0B1929; --pml-panel:#1E2A3F; --pml-panel2:#0F1E36; --pml-bd:#2A3A52;
  --pml-elevated:#182A4A;
  /* Testo */
  --pml-txt:#E8ECF1; --pml-mut:#94A3B8; --pml-dim:#5E7596;
  /* Brand (gold Patrimonio) */
  --pml-gold:#C8A45A; --pml-gold2:#E0C47A; --pml-gold-rgb:200,164,90;
  /* Dati: SÌ/NO — coppia divergente della casa */
  --pml-yes:#60A5FA;           /* blu: probabilità SÌ / lato bid */
  --pml-no:#EF4444;            /* rosso: NO / lato ask */
  --pml-neutral:#5E7596;       /* punto neutro */
  /* Semantici (Polaris) */
  --pml-ok:#10B981; --pml-warn:#FBBF24; --pml-danger:#EF4444; --pml-info:#60A5FA;
  --pml-violet:#A78BFA;
  /* Glass (Polaris) */
  --pml-glass:rgba(15,30,54,.55); --pml-glass-blur:blur(20px) saturate(180%);
  --pml-glass-shadow:0 8px 32px rgba(0,0,0,.36);
  --pml-glow:0 0 24px rgba(var(--pml-gold-rgb),.30);
  /* Radius / spacing / touch (Polaris) */
  --pml-r-card:14px; --pml-r-btn:10px; --pml-r-pill:9999px; --pml-touch:44px;
  /* Tipografia (Patrimonio) */
  --pml-mono:ui-monospace,"JetBrains Mono",Menlo,monospace;
  --pml-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --pml-kpi-size:32px; --pml-label-size:11px; --pml-label-sp:.12em;
  --pml-ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
body{margin:0;background:var(--pml-bg);color:var(--pml-txt);font-family:var(--pml-sans);font-size:14px}
a{color:inherit}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
:focus-visible{outline:2px solid var(--pml-gold);outline-offset:2px;border-radius:4px}

/* ── Banner modalità (sempre visibile, mai per assenza) ─────────────────── */
.mode-banner{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:5px 12px;font-family:var(--pml-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.mode-banner.paper{background:linear-gradient(rgba(251,191,36,.16),rgba(251,191,36,.16)),var(--pml-bg);color:var(--pml-warn);border-bottom:1px solid rgba(251,191,36,.4)}
.mode-banner.live{background:linear-gradient(rgba(16,185,129,.16),rgba(16,185,129,.16)),var(--pml-bg);color:var(--pml-ok);border-bottom:1px solid rgba(16,185,129,.45)}
.mode-banner .dot{width:8px;height:8px;border-radius:50%;background:currentColor}

/* ── Topbar + subnav (Patrimonio) ───────────────────────────────────────── */
.topbar{position:sticky;top:26px;z-index:9;display:flex;align-items:center;gap:16px;padding:12px 22px;
  background:rgba(11,18,32,.86);backdrop-filter:blur(8px);border-bottom:1px solid var(--pml-bd)}
.brand{font-family:var(--pml-mono);letter-spacing:.18em;color:var(--pml-gold);font-size:14px;text-transform:uppercase;font-weight:700;line-height:1;text-decoration:none}
.tagline{font-family:var(--pml-mono);font-size:8px;letter-spacing:.34em;color:var(--pml-mut);text-transform:uppercase;margin-top:3px}
.spacer{flex:1}
.subnav{position:sticky;top:75px;z-index:8;display:flex;gap:6px;flex-wrap:wrap;padding:8px 22px;
  background:rgba(11,18,32,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--pml-bd)}
.subnav a{font-family:var(--pml-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--pml-mut);
  padding:6px 10px;min-height:0;border-radius:7px;border:1px solid transparent;text-decoration:none;cursor:pointer}
.subnav a:hover{color:var(--pml-gold);border-color:var(--pml-bd)}
.subnav a.active{color:var(--pml-gold);border-color:rgba(var(--pml-gold-rgb),.45);background:rgba(var(--pml-gold-rgb),.08)}
.subnav a .navdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pml-warn);margin-left:4px;vertical-align:2px;box-shadow:0 0 6px rgba(251,191,36,.7)}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.wrap{max-width:1180px;margin:0 auto;padding:24px 22px 60px}
.grid{display:grid;gap:16px}
.cols-2{grid-template-columns:1.3fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:880px){.cols-2,.cols-3{grid-template-columns:1fr}}
section{scroll-margin-top:130px}
.secttl{display:flex;align-items:baseline;gap:10px;margin:26px 2px 4px}
.secttl h2{font-size:15px;margin:0;font-weight:650}
.secttl .sub{color:var(--pml-mut);font-size:12px;font-family:var(--pml-mono)}

/* ── Card ───────────────────────────────────────────────────────────────── */
.card{background:var(--pml-panel);border:1px solid var(--pml-bd);border-radius:var(--pml-r-card);padding:18px 20px}
.card h3{margin:0 0 14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pml-mut);font-family:var(--pml-mono)}
.hero{background:linear-gradient(135deg,rgba(var(--pml-gold-rgb),.10) 0%,var(--pml-panel) 55%);border:1px solid var(--pml-bd)}
.hero .lab{color:var(--pml-mut);font-family:var(--pml-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hero .big{font-size:44px;font-weight:700;letter-spacing:-.5px;margin:6px 0;color:var(--pml-gold)}

/* ── KPI (kcard Patrimonio) ─────────────────────────────────────────────── */
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px}
.kcard{background:linear-gradient(135deg,var(--pml-panel),var(--pml-panel2));border:1px solid var(--pml-bd);border-radius:10px;padding:13px 15px;transition:border-color .2s var(--pml-ease),transform .2s var(--pml-ease)}
.kcard:hover{border-color:rgba(var(--pml-gold-rgb),.5);transform:translateY(-2px)}
.kcard .l{color:var(--pml-mut);font-size:10.5px;font-family:var(--pml-mono);text-transform:uppercase;letter-spacing:.06em}
.kcard .v{font-size:22px;font-weight:700;margin-top:4px;letter-spacing:-.3px}
.kcard .s{color:var(--pml-mut);font-size:11px;margin-top:3px}
.kcard.g{border-color:rgba(var(--pml-gold-rgb),.35)}.kcard.e{border-color:rgba(16,185,129,.35)}
.kcard.w{border-color:rgba(251,191,36,.35)}.kcard.r{border-color:rgba(239,68,68,.35)}.kcard.b{border-color:rgba(96,165,250,.35)}

/* ── FIRMA: barra di probabilità con marcatore edge ─────────────────────── */
/* Uso: <div class="prob" ...><span class="fill" style="width:64%"></span>
        <span class="est" style="left:78%" title="La tua stima: 78%"></span></div> */
.prob{position:relative;height:12px;background:rgba(239,68,68,.28);border-radius:var(--pml-r-pill);overflow:visible;flex:1;min-width:90px}
.prob .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(96,165,250,.75),var(--pml-yes));border-radius:var(--pml-r-pill) 0 0 var(--pml-r-pill)}
.prob .fill.full{border-radius:var(--pml-r-pill)}
.prob .est{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--pml-gold);border-radius:2px;box-shadow:0 0 6px rgba(var(--pml-gold-rgb),.8);transform:translateX(-50%)}
.prob-row{display:flex;align-items:center;gap:10px;margin:9px 0;font-size:13px}
.prob-row .nm{width:150px;color:var(--pml-mut);font-size:12px}
.prob-row .vl{width:110px;text-align:right;font-family:var(--pml-mono);font-size:12px}
.prob-legend{display:flex;gap:14px;font-size:10.5px;color:var(--pml-mut);font-family:var(--pml-mono);margin-top:6px}
.prob-legend .sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}

/* ── Badge / tag / pill ─────────────────────────────────────────────────── */
.tag{font-family:var(--pml-mono);font-size:10px;padding:2px 8px;border-radius:5px;border:1px solid var(--pml-bd);color:var(--pml-mut)}
.tag.ok{color:var(--pml-ok);border-color:rgba(16,185,129,.4)}
.tag.warn{color:var(--pml-warn);border-color:rgba(251,191,36,.4)}
.tag.danger{color:var(--pml-danger);border-color:rgba(239,68,68,.4)}
.tag.gold{color:var(--pml-gold);border-color:rgba(var(--pml-gold-rgb),.4)}
.tag.info{color:var(--pml-info);border-color:rgba(96,165,250,.4)}
.pill{font-family:var(--pml-mono);font-size:10px;padding:2px 7px;border-radius:5px;border:1px solid var(--pml-bd);color:var(--pml-mut)}
/* Stance: il SÌ del mercato sostiene o contraddice la tesi */
.stance{font-family:var(--pml-mono);font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px}
.stance.sost{background:rgba(96,165,250,.16);color:var(--pml-yes)}
.stance.contr{background:rgba(239,68,68,.16);color:var(--pml-no)}
/* Score liquidità 0-100 */
.liq{display:inline-flex;align-items:center;gap:6px;font-family:var(--pml-mono);font-size:11px}
.liq .dotv{width:9px;height:9px;border-radius:50%}
.liq.alta .dotv{background:var(--pml-ok)}.liq.media .dotv{background:var(--pml-warn)}.liq.bassa .dotv{background:var(--pml-danger)}

/* ── Tabelle ────────────────────────────────────────────────────────────── */
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--pml-bd)}
th{color:var(--pml-mut);font-size:11px;text-transform:uppercase;font-family:var(--pml-mono);letter-spacing:.06em}
td.r,th.r{text-align:right;font-family:var(--pml-mono)}
tr.hoverable:hover td{background:rgba(96,165,250,.05)}
.muted{color:var(--pml-mut)}.pos{color:var(--pml-ok)}.neg{color:var(--pml-danger)}
.num{font-family:var(--pml-mono)}

/* ── Alert / insight (ins Patrimonio) ───────────────────────────────────── */
.ins{border-left:4px solid var(--pml-mut);background:var(--pml-panel2);border-radius:8px;padding:11px 14px;margin:9px 0}
.ins.ALERT{border-color:var(--pml-danger)}.ins.WATCH{border-color:var(--pml-gold)}.ins.INFO{border-color:var(--pml-info)}.ins.OK{border-color:var(--pml-ok)}
.ins .t{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ins .badge{font-family:var(--pml-mono);font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px}
.ins.ALERT .badge{background:rgba(239,68,68,.18);color:var(--pml-danger)}
.ins.WATCH .badge{background:rgba(var(--pml-gold-rgb),.18);color:var(--pml-gold)}
.ins.INFO .badge{background:rgba(96,165,250,.16);color:var(--pml-info)}
.ins.OK .badge{background:rgba(16,185,129,.16);color:var(--pml-ok)}
.ins .nar{color:var(--pml-mut);font-size:12.5px;margin-top:6px;line-height:1.5}
/* Card alert cliccabile per intero: la .ins diventa un <button> submit del form "segna letto+apri" */
.alert-form{margin:9px 0}
button.ins{width:100%;text-align:left;font-family:var(--pml-sans);cursor:pointer;display:block;margin:0;
  transition:border-color .15s var(--pml-ease),background .15s var(--pml-ease),transform .15s var(--pml-ease)}
button.ins:hover{background:var(--pml-elevated);border-left-width:6px;transform:translateX(2px)}
button.ins:focus-visible{outline:2px solid var(--pml-gold);outline-offset:2px}
.ins .cta{margin-top:9px;font-family:var(--pml-mono);font-size:11px;letter-spacing:.04em;color:var(--pml-gold)}

/* ── Alert grafici: icona + barre prese dal mercato stesso ──────────────── */
.arow{display:flex;gap:12px;align-items:flex-start}
.aicon{width:46px;height:46px;border-radius:9px;object-fit:cover;flex:none;border:1px solid var(--pml-bd);background:var(--pml-panel)}
.amain{flex:1;min-width:0}
.aeyebrow{font-family:var(--pml-mono);font-size:10.5px;letter-spacing:.05em;color:var(--pml-mut);margin-top:3px;text-transform:uppercase}
.agraph{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:8px}
.ameter{display:inline-flex;align-items:center;gap:7px}
.ameter .albl{font-family:var(--pml-mono);font-size:10px;color:var(--pml-mut);letter-spacing:.05em}
.ameter .apb{min-width:72px;max-width:110px;height:9px}
.ameter .aval{font-size:12px}
.achip{font-family:var(--pml-mono);font-size:10.5px;padding:2px 9px;border-radius:var(--pml-r-pill);
  background:rgba(96,165,250,.14);color:var(--pml-info);border:1px solid rgba(96,165,250,.3)}
.achip.ok{background:rgba(16,185,129,.14);color:var(--pml-ok);border-color:rgba(16,185,129,.3)}
.adescr{margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Badge LATO (SÌ/NO) — feedback utente 16/07: massimo contrasto, colori distinti, pulsazione ── */
.lato{display:inline-block;font-family:var(--pml-mono);font-weight:800;font-size:13px;letter-spacing:.06em;
  padding:3px 12px;border-radius:var(--pml-r-pill);border:1.5px solid}
.lato-si{color:#34D399;background:rgba(16,185,129,.16);border-color:rgba(52,211,153,.65);
  text-shadow:0 0 8px rgba(52,211,153,.45);animation:latopulse-si 2.2s ease-in-out infinite}
.lato-no{color:#F87171;background:rgba(239,68,68,.16);border-color:rgba(248,113,113,.65);
  text-shadow:0 0 8px rgba(248,113,113,.45);animation:latopulse-no 2.2s ease-in-out infinite}
@keyframes latopulse-si{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.35)}50%{box-shadow:0 0 10px 2px rgba(52,211,153,.25)}}
@keyframes latopulse-no{0%,100%{box-shadow:0 0 0 0 rgba(248,113,113,.35)}50%{box-shadow:0 0 10px 2px rgba(248,113,113,.25)}}
@media (prefers-reduced-motion: reduce){.lato-si,.lato-no{animation:none}}
.lato-alt{color:var(--pml-info);background:rgba(96,165,250,.13);border-color:rgba(96,165,250,.5);text-shadow:0 0 8px rgba(96,165,250,.35)}

/* ── Barra liquidità (score 0-100, colore per fascia) — globale, usata da tesi/dashboard/alert ── */
.liqbar{display:inline-block;width:56px;height:7px;border-radius:4px;background:var(--pml-panel2);border:1px solid var(--pml-bd);overflow:hidden;vertical-align:1px;margin-right:6px}
.liqfill{display:block;height:100%}
.liqfill.alta{background:var(--pml-ok)}.liqfill.media{background:var(--pml-warn)}.liqfill.bassa{background:var(--pml-danger)}

/* ── Bottoni / form ─────────────────────────────────────────────────────── */
.btn{background:var(--pml-panel2);border:1px solid var(--pml-bd);border-radius:var(--pml-r-btn);color:var(--pml-txt);
  padding:9px 14px;min-height:var(--pml-touch);cursor:pointer;font-size:13px;font-family:var(--pml-sans)}
.btn:hover{border-color:var(--pml-gold)}
.btn.gold{background:linear-gradient(180deg,var(--pml-gold),var(--pml-gold2));color:#1a1407;border:none;font-weight:700}
.btn.buy{background:rgba(96,165,250,.14);border-color:rgba(96,165,250,.45);color:var(--pml-yes);font-weight:700}
.btn.sell{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:var(--pml-no);font-weight:700}
.btn-sm{background:transparent;border:1px solid var(--pml-bd);color:var(--pml-mut);border-radius:6px;font-size:11px;padding:4px 9px;min-height:0;cursor:pointer}
.btn-sm:hover{color:var(--pml-gold);border-color:var(--pml-gold)}
.ctrl{background:var(--pml-panel2);border:1px solid var(--pml-bd);border-radius:8px;color:var(--pml-txt);padding:9px 10px;font-size:13px;font-family:var(--pml-mono);min-height:var(--pml-touch)}
label.f{display:block;color:var(--pml-mut);font-size:10.5px;font-family:var(--pml-mono);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 4px}
textarea.ctrl{font-family:var(--pml-sans);min-height:70px;resize:vertical;width:100%}

/* ── Grafici (SVG inline, stile casa) ───────────────────────────────────── */
/* Linee 2px, griglia recessiva, testo assi SOLO in token testo, niente legenda
   per serie singola. Colori serie: 1ª var(--pml-yes), 2ª var(--pml-gold). */
.chart{width:100%;height:auto;display:block}
.chart .gridline{stroke:var(--pml-bd);stroke-width:1;stroke-dasharray:2 4}
.chart .axis{fill:var(--pml-dim);font-family:var(--pml-mono);font-size:10px}
.chart .serie{fill:none;stroke:var(--pml-yes);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .serie.oro{stroke:var(--pml-gold)}
.chart .area{fill:url(#gradYes);opacity:.35}
.chart .dlabel{fill:var(--pml-txt);font-family:var(--pml-mono);font-size:10.5px}
.spark{width:110px;height:26px}
/* Book depth: barre orizzontali bid/ask, gap 2px dalla superficie */
.depth .bid{fill:rgba(96,165,250,.55)}.depth .ask{fill:rgba(239,68,68,.5)}

.note{font-size:11px;color:var(--pml-mut);margin-top:8px;font-family:var(--pml-mono)}
.empty{border:1.5px dashed var(--pml-bd);border-radius:10px;padding:22px;text-align:center;color:var(--pml-mut)}

/* ── Pagina Mercato (Fase 4b) ───────────────────────────────────────────── */
.mkt-title{font-size:28px;line-height:1.3;color:var(--pml-txt)}
.tagrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.rowchk{display:flex;align-items:center;gap:9px;margin:9px 0;font-size:12.5px;flex-wrap:wrap}

/* ── Stima utente inline + alert (Fase 7) ───────────────────────────────── */
.est-form{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.est-form input{width:52px;background:var(--pml-panel2);border:1px solid var(--pml-bd);border-radius:6px;
  color:var(--pml-txt);padding:3px 6px;font-size:11px;font-family:var(--pml-mono);min-height:0;text-align:right}
.est-form input:focus-visible{outline:2px solid var(--pml-gold);outline-offset:1px}
.ins.read{opacity:.55}

/* ── Indicatore di avanzamento (progress.js): cronometro + stima durata ─────── */
.pml-prog{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:rgba(11,18,32,.72);backdrop-filter:blur(4px);animation:pml-prog-in .18s var(--pml-ease)}
@keyframes pml-prog-in{from{opacity:0}to{opacity:1}}
.pml-prog-card{background:var(--pml-glass);backdrop-filter:var(--pml-glass-blur);border:1px solid var(--pml-bd);
  border-radius:var(--pml-r-card);box-shadow:var(--pml-glass-shadow);padding:22px 24px;min-width:320px;max-width:420px}
.pml-prog-label{font-size:14px;color:var(--pml-txt);font-weight:600}
.pml-prog-track{height:6px;background:var(--pml-panel2);border:1px solid var(--pml-bd);border-radius:var(--pml-r-pill);
  overflow:hidden;margin:16px 0 10px;position:relative}
.pml-prog-fill{height:100%;width:0;border-radius:var(--pml-r-pill);
  background:linear-gradient(90deg,var(--pml-yes),var(--pml-gold));transition:width .1s linear}
.pml-prog-track.indet .pml-prog-fill{width:34%;animation:pml-indet 1.1s var(--pml-ease) infinite}
@keyframes pml-indet{0%{transform:translateX(-110%)}100%{transform:translateX(320%)}}
.pml-prog-card.over .pml-prog-fill{background:linear-gradient(90deg,var(--pml-gold),var(--pml-warn));animation:pml-pulse 1s var(--pml-ease) infinite}
@keyframes pml-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.pml-prog-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pml-prog-time{font-family:var(--pml-mono);font-size:22px;font-weight:700;color:var(--pml-gold);font-variant-numeric:tabular-nums}
.pml-prog-eta{font-family:var(--pml-mono);font-size:11px;color:var(--pml-mut);text-transform:uppercase;letter-spacing:.06em}

/* Toast on-page (forms.js): esiti delle azioni senza lasciare la pagina. Stack in basso a destra. */
.pml-toasts{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:10px;
  max-width:min(92vw,420px);pointer-events:none}
.pml-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;
  background:var(--pml-glass);backdrop-filter:var(--pml-glass-blur);border:1px solid var(--pml-bd);
  border-left-width:3px;border-radius:12px;box-shadow:var(--pml-glass-shadow);padding:12px 14px;
  color:var(--pml-txt);font-size:13px;line-height:1.4;
  opacity:0;transform:translateY(8px);transition:opacity .25s var(--pml-ease),transform .25s var(--pml-ease)}
.pml-toast.in{opacity:1;transform:none}
/* Ambra caldo per le comunicazioni di guida (non un rosso d'allarme); rosso solo per guasti veri. */
.pml-toast{--pml-notice:#F59E0B}
.pml-toast.ok{border-left-color:var(--pml-ok)}
.pml-toast.warn{border-left-color:var(--pml-notice)}
.pml-toast.err{border-left-color:var(--pml-danger)}
.pml-toast-ic{flex:0 0 auto;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;margin-top:1px;color:var(--pml-bg)}
.pml-toast.ok .pml-toast-ic{background:var(--pml-ok)}
.pml-toast.warn .pml-toast-ic{background:var(--pml-notice)}
.pml-toast.err .pml-toast-ic{background:var(--pml-danger)}
.pml-toast-msg{flex:1 1 auto;min-width:0}
.pml-toast-x{flex:0 0 auto;background:none;border:none;color:var(--pml-mut);font-size:18px;line-height:1;
  cursor:pointer;padding:0 2px;margin:-2px -4px 0 0}
.pml-toast-x:hover{color:var(--pml-txt)}
/* Toast ANCORATO al pulsante premuto: posizione calcolata da forms.js, freccetta verso il bottone. */
.pml-toast.anchored{position:fixed;z-index:210;max-width:min(92vw,360px);margin:0}
.pml-toast.anchored::before{content:"";position:absolute;left:var(--pml-caret,20px);width:10px;height:10px;
  background:var(--pml-glass);border:1px solid var(--pml-bd);transform:translateX(-50%) rotate(45deg)}
.pml-toast.anchored.below::before{top:-6px;border-right:none;border-bottom:none}      /* toast sotto il bottone: freccia in alto */
.pml-toast.anchored:not(.below)::before{bottom:-6px;border-left:none;border-top:none}  /* toast sopra il bottone: freccia in basso */

/* Separatore del menu: le voci di documentazione stanno a destra su OGNI pagina (prima era
   stilato solo in docs.css → menu incoerente tra pagine app e pagine doc, visto 16/07). */
.subnav-sep{flex:1}
