/* FP3 · HOME DECK · v12.0 · 10/09/2026 — stile dei contenitori creati da fp3-home-composer-v12.js */
:root { --fp3-rail: min(1180px, calc(100vw - 16px)); --fp3-gold: #C5A258; --fp3-gold2: #e6c97a; --fp3-ink: #0b0b0d; }

/* ===== 1 · NEWSROOM DECK ===== */
#fp3deck { width: var(--fp3-rail); margin: 16px auto 6px; box-sizing: border-box; border: 1px solid rgba(197,162,88,.30); border-top: 3px solid var(--fp3-gold); background: linear-gradient(180deg, rgba(197,162,88,.06), rgba(0,0,0,0) 90px), var(--fp3-ink); padding: 0 0 10px; position: relative; }
#fp3deck::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 4px); mix-blend-mode: screen; }
.fp3deck-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 9px 14px; border-bottom: 1px solid rgba(197,162,88,.18); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--fp3-gold2); }
.fp3deck-k { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.fp3deck-k i { width: 8px; height: 8px; border-radius: 50%; background: #5fd49b; box-shadow: 0 0 8px #5fd49b; animation: fp3deckBreath 2.4s ease-in-out infinite; }
.fp3deck-k i.hit { animation: fp3deckHit .9s ease-out; }
@keyframes fp3deckBreath { 0%,100% { opacity: 1 } 50% { opacity: .5 } }
@keyframes fp3deckHit { 0% { box-shadow: 0 0 0 0 rgba(95,212,155,.8) } 100% { box-shadow: 0 0 0 14px rgba(95,212,155,0) } }
.fp3deck-s { color: #9d998d; letter-spacing: .14em; }
.fp3deck-s b { color: #f0ebe0; font-weight: 600; }
.fp3deck-s em { font-style: normal; color: var(--fp3-gold); }
.fp3deck-s em.neg { color: #e07a6a; }
.fp3deck-clock { margin-left: auto; }
.fp3deck-lead { display: block; padding: 8px 14px 0; font-size: 10px; line-height: 1.5; color: #9d998d; }
.fp3deck-g { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 10px 10px 0; }
.fp3deck-c { min-width: 0; display: flex; }
.fp3deck-c > section { width: 100% !important; max-width: none !important; margin: 0 !important; flex: 1 1 auto; }
@media (min-width: 1100px) {
  .fp3deck-g { grid-template-columns: 1fr 1.15fr 1.15fr; align-items: stretch; }
}
@media (min-width: 760px) and (max-width: 1099px) {
  .fp3deck-g { grid-template-columns: 1fr 1fr; }
  .fp3deck-c:last-child { grid-column: 1 / -1; }
}

/* ===== 2 · FOLD (chi siamo · domande decisionali) ===== */
details.fp3fold { width: min(760px, calc(100vw - 16px)); margin: 14px auto 10px; box-sizing: border-box; border: 1px solid rgba(197,162,88,.35); border-left: 3px solid var(--fp3-gold); background: var(--fp3-ink); }
details.fp3fold > summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 12px 14px; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--fp3-gold2); transition: background-color .2s; }
details.fp3fold > summary::-webkit-details-marker { display: none; }
details.fp3fold > summary:hover { background: rgba(197,162,88,.06); }
.fp3fold-k { font-weight: 700; }
.fp3fold-n { color: #9d998d; letter-spacing: .12em; }
.fp3fold-n b { color: #f0ebe0; font-weight: 600; font-size: 12px; }
.fp3fold-a { margin-left: auto; padding: 4px 10px; border: 1px solid rgba(197,162,88,.5); color: var(--fp3-gold2); font-size: 8px; }
.fp3fold-a::after { content: " ▾"; }
details.fp3fold[open] > .fp3fold-a, details.fp3fold[open] > summary .fp3fold-a::after { content: " ▴"; }
details.fp3fold > summary + * { border-top: 1px solid rgba(197,162,88,.18); }
details.fp3fold-dq #fp3dq { width: auto !important; max-width: none !important; margin: 0 !important; border: 0 !important; }

/* ===== 3 · RIGA EDITORIALE ===== */
#fp3edit { width: var(--fp3-rail); margin: 18px auto 0; display: grid; grid-template-columns: 1fr; gap: 12px; box-sizing: border-box; }
.fp3edit-l, .fp3edit-r { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
#fp3edit .fp3-paper-card, #fp3edit #fp3radio-card, #fp3edit #fp3MonthlyWide, #fp3edit .fp3-misses-compact { width: 100% !important; max-width: none !important; margin: 0 !important; }
#fp3edit > .fp3edit-r > span { display: block; font-family: 'IBM Plex Mono', monospace; font-size: 9px; color: #9d998d; line-height: 1.6; padding: 4px 2px; }
@media (min-width: 960px) {
  #fp3edit { grid-template-columns: 1.35fr 1fr; align-items: start; }
  .fp3edit-r { position: sticky; top: 90px; }
}

/* ===== 4 · DOSSIER ===== */
main.stage .stage-inner { max-width: var(--fp3-rail) !important; width: var(--fp3-rail) !important; }
#fp3dos { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 0 auto 14px; width: 100%; }
.fp3dos-m, .fp3dos-s { min-width: 0; }
#fp3dos .fp3dos-m > *, #fp3dos .fp3dos-s > * { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
@media (min-width: 960px) {
  #fp3dos { grid-template-columns: 1.25fr 1fr; align-items: start; }
  .fp3dos-s { position: sticky; top: 90px; }
}
main.stage .stage-inner > #fp3lib { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
main.stage .stage-inner > .fp3rdr { margin-left: auto !important; margin-right: auto !important; }

/* ===== 5 · CODA ===== */
#fp3tail { width: var(--fp3-rail); margin: 18px auto 20px; display: grid; grid-template-columns: 1fr; gap: 12px; box-sizing: border-box; padding-top: 16px; border-top: 1px solid rgba(197,162,88,.25); }
#fp3tail > * { width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
#fp3tail > #fp3-roadmap { border-radius: 0 !important; border-top: 1px solid rgba(197,162,88,.22) !important; }
@media (min-width: 960px) {
  #fp3tail { grid-template-columns: repeat(3, 1fr); align-items: start; }
  #fp3tail > #fp3-roadmap, #fp3tail > nav[aria-label*="quick navigation"] { grid-column: 1 / -1; }
}

/* ===== ingresso: i contenitori appaiono con un respiro ===== */
@media (prefers-reduced-motion: no-preference) {
  html.fp3-composed #fp3deck, html.fp3-composed #fp3edit, html.fp3-composed #fp3dos, html.fp3-composed #fp3tail { animation: fp3deckIn .6s ease-out both; }
  @keyframes fp3deckIn { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: none } }
}
/* modalità carta (tema chiaro del sito): i contenitori non impongono il nero */
html.fp3-carta #fp3deck, html.fp3-carta details.fp3fold { background: transparent; }

/* ===== 1b · colonna 1 del deck: pila di moduli ===== */
.fp3deck-c1 { flex-direction: column; gap: 10px; }
.fp3deck-c1 > * { width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
.fp3deck-c1 > * { flex: 0 0 auto; }
.fp3deck-c1 > .fp3cop-w { margin-top: auto !important; }
.fp3deck-c1 > div > span, .fp3deck-c1 > span { display: block; font-family: 'IBM Plex Mono', monospace; font-size: 9px; color: #9d998d; line-height: 1.6; padding: 2px 4px; }
/* ===== 3b · edizione: dossier di testa e archivio a destra ===== */
.fp3edit-r > a, .fp3edit-r > section, .fp3edit-r > div { width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
.fp3edit-r > div:not([id]) { text-align: left !important; padding-top: 4px; }

/* fold dentro la card «chi siamo»: larghezza della card, non della colonna */
.fp3door details.fp3fold { width: auto !important; max-width: none !important; margin: 10px 0 0 !important; }
.fp3door details.fp3fold + details.fp3fold { margin-top: 6px !important; }
/* coda: l'etichetta «continua da qui» attraversa tutta la banda */
#fp3tail > div:first-child { grid-column: 1 / -1; }

/* ===== 6 · UNIVERSITAS (nuovo abito, stessi dati) ===== */
#fp3uni { width: var(--fp3-rail); margin: 16px auto 6px; box-sizing: border-box; border: 1px solid rgba(127,214,162,.28); border-top: 3px solid #7fd6a2; background: radial-gradient(1200px 300px at 50% -80px, rgba(127,214,162,.10), transparent 70%), var(--fp3-ink); position: relative; }
#fp3uni::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 4px); }
.fp3uni-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 10px 14px; border-bottom: 1px solid rgba(127,214,162,.22); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: #7fd6a2; }
.fp3uni-k { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #bfe9cf; }
.fp3uni-k i { width: 8px; height: 8px; border-radius: 50%; background: #7fd6a2; box-shadow: 0 0 8px #7fd6a2; animation: fp3deckBreath 2.4s ease-in-out infinite; }
.fp3uni-s { color: #9d998d; letter-spacing: .14em; }
.fp3uni-s b { color: #f0ebe0; font-weight: 600; font-size: 12px; }
.fp3uni-a { margin-left: auto; color: #e6c97a; text-decoration: none; border: 1px solid rgba(230,201,122,.45); padding: 4px 10px; }
.fp3uni-a:hover { background: rgba(230,201,122,.1); }
#fp3uni #fp3-universitas-mini.u12 { width: auto !important; max-width: none !important; margin: 0 !important; border: 0 !important; background: transparent !important; padding: 12px 14px 14px !important; overflow: visible !important; position: relative; }
.u12 .u12-top { margin-bottom: 10px; }
.u12 .u12-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.u12 .u12-l, .u12 .u12-r { min-width: 0; }
.u12 .u12-foot { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(127,214,162,.18); display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 1000px) {
  .u12 .u12-grid { grid-template-columns: 1.15fr 1fr; }
  .u12 .u12-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .u12 .u12-foot { grid-template-columns: 1fr 1fr; }
  .u12 .u12-foot > .u7m:last-child, .u12 .u12-foot > .u7m:nth-last-child(2) { grid-column: 1 / -1; }
}
/* leggibilità: il terminale era pensato per 700px; ora respira */
.u12 .u7v { font-size: 22px !important; }
.u12 .u7l { font-size: 12.5px !important; }
.u12 .u7x { font-size: 8.5px !important; }
.u12 .u7k { padding: 10px 11px !important; border-color: rgba(255,255,255,.09) !important; background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.008)); transition: border-color .25s, transform .25s; }
.u12 .u7k:hover { border-color: rgba(127,214,162,.5) !important; transform: translateY(-1px); }
.u12 .u7ticker b { font-size: 12px !important; }
.u12 #fp3um-tabs span { font-size: 8.5px !important; padding: 5px 8px !important; }
.u12 .u7big { font-size: 15px !important; }
.u12 .u7desc, .u12 .u7txt { font-size: 10px !important; line-height: 1.55 !important; }
.u12 .u7path { font-size: 9px !important; }
.u12 .u7src, .u12 .u7tag { font-size: 8px !important; }
.u12 .u12-pulses { display: grid; grid-template-columns: 1fr; gap: 6px; }
.u12 .u7op { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 6px !important; }
.u12 .u7bridge a { font-size: 9px !important; padding: 7px 10px !important; }
.fp3uni-note { display: block; margin: 12px auto 0; width: min(700px, calc(100vw - 16px)); font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: #7fd6a2; text-decoration: none; border: 1px dashed rgba(127,214,162,.4); padding: 10px 12px; }

/* ===== 7 · sotto il pulsante APP ===== */
#fp3low { display: grid; grid-template-columns: 1fr; gap: 14px; width: 100%; margin: 0 auto; }
.fp3low-a, .fp3low-b { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
#fp3low .fp3low-a > *, #fp3low .fp3low-b > * { width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
@media (min-width: 1000px) { #fp3low { grid-template-columns: 1fr 1fr; align-items: start; } }
details.fp3fold-legal { width: var(--fp3-rail); }
details.fp3fold-legal > section { width: auto !important; max-width: none !important; margin: 0 !important; border: 0 !important; }

.u12 .u7v.u12-wait, .u12 .u7big.u12-wait { font-size: 10px !important; font-weight: 500 !important; letter-spacing: .06em; color: #9d998d !important; line-height: 1.4 !important; }
.u12 .u7v.u12-wait::before, .u12 .u7big.u12-wait::before { content: "◌ "; color: #e6c97a; }
/* Long Range: la griglia «voci» era tarata su 5 colonne strette; qui si legge a due */
#fp3low .fp3rdr-out { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: none !important; gap: 10px 18px !important; }
#fp3low .fp3rdr-row { flex-wrap: wrap; }
@media (max-width: 600px) { #fp3low .fp3rdr-out { grid-template-columns: 1fr !important; } }

/* ===== 8 · tendine ===== */
details.fp3fold-mini { width: auto; margin: 8px 0 0; border: 1px solid rgba(197,162,88,.22); border-left: 2px solid rgba(197,162,88,.6); background: rgba(255,255,255,.012); }
details.fp3fold-mini > summary { padding: 8px 12px; font-size: 8.5px; }
details.fp3fold-mini > summary + * { border-top: 1px solid rgba(197,162,88,.14); padding: 10px 12px !important; margin: 0 !important; }
details.fp3fold-mini .fp3fold-a { font-size: 7.5px; padding: 3px 8px; }
#fp3fab details.fp3fold-mini, #fp3sr details.fp3fold-mini { margin: 10px 0 0; }
.u12 details.fp3fold-mini .u7txt, .u12 details.fp3fold-mini .u7m { margin-top: 0 !important; }
details.fp3fold-mini > summary::-webkit-details-marker { display: none; }
details.fp3fold-mini[open] > summary { background: rgba(197,162,88,.05); }
details.fp3fold > summary + * { animation: fp3foldIn .28s ease-out; }
@keyframes fp3foldIn { from { opacity: 0; transform: translateY(-3px) } to { opacity: 1; transform: none } }

/* ===== 9 · in copertura: stati in evidenza, conclusi in tendina ===== */
.fp3cop-r.fp3cop-now { border-left: 3px solid #5fd49b !important; padding-left: 10px !important; background: linear-gradient(90deg, rgba(95,212,155,.06), transparent 40%); }
.fp3cop-r.fp3cop-soon { border-left: 3px solid #C5A258 !important; padding-left: 10px !important; }
.fp3cop-done { margin-top: 10px; }
.fp3cop-donebox .fp3cop-r { opacity: .78; }
.fp3cop-donebox .fp3cop-r:hover { opacity: 1; }

/* ===== 10 · offerta in vista ===== */
.fp3offer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 14px; border-top: 1px solid rgba(197,162,88,.18); font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.fp3offer-f { color: #b6b1a6; flex: 1 1 260px; line-height: 1.8; }
.fp3offer-cta { color: #0b0b0d !important; background: linear-gradient(180deg, #e6c97a, #C5A258); padding: 9px 14px; text-decoration: none; font-weight: 700; letter-spacing: .16em; box-shadow: 0 6px 18px -8px rgba(230,201,122,.6); transition: transform .2s, filter .2s; }
.fp3offer-cta:hover { transform: translateY(-1px); filter: brightness(1.06); }
.fp3offer-alt { color: #e6c97a; text-decoration: none; border: 1px solid rgba(230,201,122,.45); padding: 8px 12px; }
.fp3offer-alt:hover { background: rgba(230,201,122,.08); }
details.fp3fold-cm[open] + .fp3offer { display: none; }
.fp3offer { border: 1px solid rgba(197,162,88,.35); border-top: 0; margin: 0 0 4px; background: linear-gradient(180deg, rgba(197,162,88,.05), transparent); }

/* ===== colori: Universitas nel registro FP3 (oro), verde solo per i segnali vivi ===== */
#fp3uni { border-color: rgba(197,162,88,.32); border-top-color: #C5A258; background: radial-gradient(1200px 300px at 50% -80px, rgba(197,162,88,.10), transparent 70%), var(--fp3-ink); }
.fp3uni-bar { border-bottom-color: rgba(197,162,88,.2); color: #e6c97a; }
.fp3uni-k { color: #f0ebe0; }
.u12 .u12-foot { border-top-color: rgba(197,162,88,.18); }
.fp3uni-note { color: #e6c97a; border-color: rgba(197,162,88,.45); }
.u12 .u7k:hover { border-color: rgba(197,162,88,.55) !important; }

/* ===== fluidità ===== */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* nessun content-visibility: su pagine lunghe fa saltare lo scorrimento quando i blocchi
   vengono renderizzati entrando in vista. Stabilità prima della micro-ottimizzazione. */
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #e6c97a; outline-offset: 2px; }
details.fp3fold > summary { user-select: none; }
#fp3spd .fn details.fp3fold-mini { margin: 0 0 10px; }
#fp3spd .fn .fp3spd-fnbody { font-size: 8.5px; line-height: 1.7; }
#fp3spd .fn a.cta { margin-top: 2px; }


/* ===== 11 · STABILITÀ: niente salti di scorrimento ===== */
/* i moduli che si riempiono dopo il fetch riservano la loro altezza */
/* le strisce che scorrono non spingono il layout */
#fp3spd .tk, #fp3brk .tk, .fp3deck-bar { overflow: hidden; }
/* le immagini dichiarano il loro spazio */
.fp3-paper-card img, #fp3MonthlyWide img { aspect-ratio: 16 / 10; height: auto; }
/* l'ancoraggio dello scorrimento resta attivo ovunque: è ciò che impedisce il salto */
html, body, main.stage, .stage-inner, #fp3deck, #fp3edit, #fp3low, #fp3tail { overflow-anchor: auto; }
/* i loop di testo che cambiano lunghezza non cambiano altezza */
#fp3ldW, .fp3rdr-row, .u12 .u7v, .u12 .u7big { overflow-wrap: anywhere; }

/* ===== 12 · navigazione: leggibile ===== */
.fp3u { font-size: 11.5px !important; padding: 11px 20px !important; gap: 20px !important; }
.fp3u-b { font-size: 13px !important; letter-spacing: .2em !important; }
.fp3u-l a { font-size: 11.5px !important; }
.fp3u-v { font-size: 10.5px !important; }
.fp3u-all > summary { font-size: 10.5px !important; }
@media (max-width: 520px) { .fp3u { font-size: 11px !important; gap: 16px !important; } .fp3u-b { font-size: 12.5px !important; } }

/* ===== 13 · dossier: un solo riquadro (testa + archivio) ===== */
.fp3dossbox { border: 1px solid rgba(197,162,88,.42); border-left: 3px solid #C5A258; background: linear-gradient(160deg, rgba(197,162,88,.05), transparent 55%), var(--fp3-ink); padding: 12px 12px 10px; display: flex; flex-direction: column; gap: 10px; }
.fp3dossbox > * { width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
.fp3dossbox > a[href^="pulse-insider-"] { border: 0 !important; border-left: 0 !important; box-shadow: none !important; background: transparent !important; }
.fp3dossbox > a[href^="pulse-insider-"] > span { padding: 0 !important; }
.fp3dossbox .fp3dossbox-arch { border: 0 !important; border-top: 1px dotted rgba(197,162,88,.28) !important; background: transparent !important; padding: 10px 0 0 !important; }
.fp3dossbox > div:first-child { text-align: left !important; }



/* ===== 14 · dossier: più compatto, stessi dati ===== */
.fp3dossbox > a[href^="pulse-insider-"] > span > span:nth-child(2) { font-size: clamp(19px, 4vw, 24px) !important; margin-top: 8px !important; }
.fp3dossbox > a[href^="pulse-insider-"] > span > span:nth-child(3) { font-size: 9px !important; margin-top: 5px !important; }
.fp3dossbox > a[href^="pulse-insider-"] > span > span:nth-child(4) { display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px !important; line-height: 1.45 !important; margin-top: 7px !important; }
.fp3dossbox > a[href^="pulse-insider-"] > span > span:nth-child(5) { margin-top: 9px !important; font-size: 10px !important; }
#fp3ldW { height: 2.7em !important; min-height: 0 !important; -webkit-line-clamp: 2 !important; font-size: clamp(12.5px, 3.3vw, 14.5px) !important; }
.fp3dossbox .fp3dossbox-arch > div:first-child { margin-bottom: 4px; }
.fp3dossbox .fp3dossbox-arch a[href^="pulse-insider-"] { padding: 5px 0 !important; }
.fp3dossbox .fp3dossbox-arch a[href^="pulse-insider-"] > span:nth-child(2) { font-size: 13px !important; line-height: 1.25 !important; }
.fp3dossbox .fp3dossbox-arch > div[style*="dotted"], .fp3dossbox .fp3dossbox-arch [style*="dashed"] { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fp3dossbox { gap: 6px; padding: 10px 12px 8px; }

/* ===== 15 · Global Desk e Sport Desk: righe di altezza uniforme ===== */
#fp3glb .tt, #fp3spd .tt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#fp3glb .mt, #fp3spd .mt { min-height: 2.9em; }

/* ===== 16 · Biblioteca: scorrimento automatico su schermi stretti ===== */
#fp3lib .sm[data-fp3-marquee] { display: block !important; overflow: hidden; margin: 12px -6px 4px; padding: 0 6px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.fp3lib-marquee { overflow: hidden; width: 100%; }
.fp3lib-track { display: flex; gap: 8px; width: max-content; animation: fp3libScroll 30s linear infinite; will-change: transform; }
.fp3lib-track > button { flex: 0 0 auto; width: min(260px, 72vw); box-sizing: border-box; }
.fp3lib-marquee.pause .fp3lib-track { animation-play-state: paused; }
@keyframes fp3libScroll { from { transform: translateX(0) } to { transform: translateX(-50%) } }
@media (prefers-reduced-motion: reduce) { .fp3lib-track { animation: none; } }

/* righe di Global Desk e Sport Desk: altezza uniforme per pagina */
#fp3glb ol > li, #fp3spd ol > li { min-height: 136px; box-sizing: border-box; }
@media (max-width: 760px) { #fp3glb ol > li, #fp3spd ol > li { min-height: 168px; } }
#fp3glb .mt, #fp3spd .mt { min-height: 3.4em; }
/* Biblioteca: i pannelli ruotano da soli e hanno altezze molto diverse (309–646 px).
   Finestra unica e fissa: chi è più lungo scorre al proprio interno, chi è più corto non
   lascia un buco perché la finestra è tarata sulla mediana. L'altezza del blocco non
   cambia più a ogni rotazione: è questo che faceva saltare la pagina. */
#fp3lib .lp { position: relative; height:auto; max-height:430px; /* v12.17: le schede corte non lasciano più il buco, quelle lunghe scorrono dentro */ overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; -webkit-mask-image: linear-gradient(180deg, #000 92%, transparent); mask-image: linear-gradient(180deg, #000 92%, transparent); }
#fp3lib .lp::-webkit-scrollbar { width: 3px; }
#fp3lib .lp::-webkit-scrollbar-thumb { background: rgba(197,162,88,.4); }

/* i pulse di Universitas: due righe fisse, il testo lungo si tronca invece di allungare il blocco */
#fp3-universitas-mini .u7pulse .u7big { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.5em; }
#fp3-universitas-mini #fp3um-relpath, #fp3-universitas-mini #fp3um-reltext { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#fp3-universitas-mini #fp3um-v, #fp3-universitas-mini #fp3um-l, #fp3-universitas-mini #fp3um-s { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#fp3-universitas-mini .u7k .u7v { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

@media (min-width: 900px) { #fp3lib .lp { height: auto; max-height: 420px; } }

/* ===== 17 · piede unico ===== */
#fp3foot { width: var(--fp3-rail); margin: 18px auto 10px; box-sizing: border-box; border-top: 1px solid rgba(197,162,88,.28); padding-top: 4px; }
#fp3foot > div > * { width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
#fp3foot .fp3foot-top > #fp3tail { border-top: 0 !important; margin: 0 !important; padding-top: 10px !important; }
#fp3foot .fp3foot-mid { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 6px; padding: 10px 0; border-top: 1px dotted rgba(197,162,88,.20); border-bottom: 1px dotted rgba(197,162,88,.20); }
#fp3foot .fp3foot-bot { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
#fp3foot nav.fp3-spine { padding: 0 !important; }
#fp3foot #fp3-compact-hub { border: 0 !important; background: transparent !important; padding: 0 !important; }
#fp3foot .trust-bar { border: 0 !important; background: transparent !important; padding: 2px 0 !important; opacity: .8; }
@media (min-width: 900px) {
  #fp3foot .fp3foot-mid { grid-template-columns: 1.2fr 1fr; align-items: center; }
}
/* strisce che scorrono dentro il piede: non devono sbordare oltre la colonna */
#fp3foot #fp3-compact-hub > div, #fp3foot nav.fp3-spine, #fp3foot .fp3foot-bot > div:last-child { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
#fp3foot #fp3-compact-hub > div::-webkit-scrollbar, #fp3foot nav.fp3-spine::-webkit-scrollbar { display: none; }
#fp3foot { padding-left: 2px; padding-right: 2px; }


/* ===== r138 · ONE LIVE INFORMATION FABRIC ===== */
#fp3deck.fp3deck-r138{border-top-width:3px;background:linear-gradient(180deg,rgba(197,162,88,.055),transparent 130px),#0b0b0d}
.fp3deck-r138 .fp3deck-g{grid-template-columns:1fr!important;gap:8px;padding:8px}
.fp3deck-r138 .fp3deck-c{display:block;border-top:1px solid rgba(197,162,88,.12);padding-top:8px}
.fp3deck-r138 .fp3deck-c:first-child{border-top:0;padding-top:0}
.fp3deck-r138 #fp3sr,.fp3deck-r138 #fp3glb,.fp3deck-r138 #fp3brk,.fp3deck-r138 #fp3spd{width:100%!important;max-width:none!important;margin:0!important;min-height:0!important;height:auto!important}
.fp3deck-r138 #fp3sr{border-color:rgba(197,162,88,.28)!important}
.fp3deck-r138 #fp3glb{border-color:rgba(197,162,88,.24)!important}
.fp3deck-r138 #fp3brk{border-color:rgba(197,162,88,.20)!important}
.fp3deck-r138 .fp3deck-c1{gap:8px}
@media(min-width:980px){.fp3deck-r138 .fp3deck-g{grid-template-columns:1.15fr .85fr!important;align-items:start}.fp3deck-r138 .fp3deck-c:first-child{grid-column:1/-1}.fp3deck-r138 .fp3deck-c:nth-child(2){grid-column:1}.fp3deck-r138 .fp3deck-c:nth-child(3){grid-column:2}.fp3deck-r138 .fp3deck-c:nth-child(4){grid-column:1/-1}}
@media(max-width:600px){.fp3deck-r138{margin-top:10px}.fp3deck-r138 .fp3deck-bar{gap:5px 10px;padding:8px 10px}.fp3deck-r138 .fp3deck-g{padding:6px}.fp3deck-r138 #fp3glb ol>li{min-height:0!important}}
/* Universitas: research intelligence desk, not a decorative university list */
#fp3uni .fp3uni-bar{background:linear-gradient(90deg,rgba(197,162,88,.07),transparent)}
#fp3uni .fp3uni-k{letter-spacing:.16em}
#fp3uni .u12-grid{position:relative}
#fp3uni .u12-grid:before{content:'RESEARCH INPUTS  →  EVIDENCE  →  ANALYSIS  →  SIGNAL  →  RESEARCH NOTE';display:block;grid-column:1/-1;border:1px solid rgba(197,162,88,.20);padding:8px 10px;color:#d9bd73;font:8px 'IBM Plex Mono',monospace;letter-spacing:.12em}
#fp3uni .u7bridge{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
#fp3uni .u7bridge a{min-height:34px;display:flex;align-items:center}
/* r139 · SECOND ICON FABRIC — mobile-first operational surface */
#fp3deck.fp3deck-r139{border:1px solid rgba(197,162,88,.34);border-top:3px solid #c5a258;background:radial-gradient(circle at 8% 0,rgba(197,162,88,.10),transparent 28%),linear-gradient(180deg,#0d0d0f,#09090b 72%);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.fp3deck-r139 .fp3deck-g{display:block!important;padding:8px 10px 10px!important}.fp3deck-r139 .fp3deck-c{display:none!important}
.fp3fabric2{padding:5px 0 0}.fp3fabric2-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 3px 11px;font:700 9px/1.4 'IBM Plex Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:#d7bd78}.fp3fabric2-head small{font:500 8px/1.3 'IBM Plex Mono',monospace;color:#74746f;letter-spacing:.13em}
.fp3fabric2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fp3fabric2-card{position:relative;min-width:0;min-height:126px;padding:13px 11px 11px;border:1px solid rgba(197,162,88,.23);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.10));overflow:hidden}.fp3fabric2-card:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:#c5a258;opacity:.65}.fp3fabric2-card.live:after{content:"";position:absolute;right:10px;top:10px;width:5px;height:5px;border-radius:50%;background:#62d99e;box-shadow:0 0 8px #62d99e;animation:fp3deckBreath 2.2s infinite}.fp3fabric2-icon{width:34px;height:34px;border:1px solid rgba(197,162,88,.42);border-radius:50%;display:grid;place-items:center;color:#d8b862;font:600 15px/1 Georgia,serif;margin-bottom:12px}.fp3fabric2-k{font:700 8px/1.35 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#c7aa63}.fp3fabric2-v{margin-top:6px;font:600 15px/1.24 Georgia,serif;color:#f1ede5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fp3fabric2-meta{margin-top:8px;font:500 7.5px/1.4 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#777772;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp3fabric2-stream{margin-top:9px;border-top:1px solid rgba(197,162,88,.17)}.fp3fabric2-row{display:grid;grid-template-columns:78px 1fr auto;gap:9px;align-items:center;padding:9px 4px;border-bottom:1px dotted rgba(255,255,255,.08);font:500 9px/1.45 'IBM Plex Mono',monospace}.fp3fabric2-row b{color:#c8aa62;letter-spacing:.11em}.fp3fabric2-row span{color:#b8b6b0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp3fabric2-row time{color:#6f706d;font-size:8px}.fp3fabric2-foot{display:flex;gap:8px;flex-wrap:wrap;padding:10px 3px 1px}.fp3fabric2-foot a{font:600 8px/1.3 'IBM Plex Mono',monospace;letter-spacing:.11em;text-transform:uppercase;color:#aaa59a;text-decoration:none;border:1px solid rgba(197,162,88,.18);padding:7px 9px}.fp3fabric2-foot a:first-child{color:#d7bd78;border-color:rgba(197,162,88,.38)}
@media(max-width:700px){.fp3fabric2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fp3fabric2-card{min-height:118px}.fp3fabric2-v{font-size:14px}.fp3fabric2-row{grid-template-columns:64px 1fr auto;gap:6px}.fp3deck-r139 .fp3deck-bar{gap:5px 10px;padding:9px 10px}.fp3deck-r139 .fp3deck-s{font-size:8px}}
