/* Acquatic — nuovo layout (header con logo a badge, home a sezioni centrate, novità, FAQ, footer ondulato) */

/* un'unica curva morbida per tutto: niente rimbalzi oltre la misura finale, che danno l'effetto "scatto" */
:root { --zr-ease: cubic-bezier(.25, .8, .25, 1); --zr-pop: cubic-bezier(.25, .8, .25, 1); }

/* ---------- misure generali: pagina più larga e testo più grande, come ZeroRoleplay ---------- */
.wrap { width: min(1400px, 92vw); }
body { font-size: 16.5px; }
@media (max-width: 760px) { body { font-size: 15.5px; } }

/* ---------- caricamento iniziale (solo alla prima pagina della visita) ---------- */
.zr-boot { position: fixed; inset: 0; z-index: 10001; display: grid; place-items: center; align-content: center; gap: 22px; background: var(--bg); transition: opacity .25s ease-out, visibility .25s; }
.zr-boot img { width: 110px; height: 110px; object-fit: contain; animation: zrBoot 1.1s var(--zr-ease) infinite alternate; }
.zr-boot span { width: 120px; height: 4px; border-radius: 4px; background: var(--line-soft); overflow: hidden; position: relative; }
.zr-boot span::after { content: ''; position: absolute; inset: 0; width: 40%; border-radius: 4px; background: var(--blue); animation: zrBar 1s var(--zr-ease) infinite; }
.zr-boot.is-off { opacity: 0; visibility: hidden; }
@keyframes zrBoot { from { transform: translateY(0) scale(1); } to { transform: translateY(-8px) scale(1.04); } }
@keyframes zrBar { from { transform: translateX(-100%); } to { transform: translateX(250%); } }

/* ---------- header ---------- */
.topbar { display: none; }
.head { background: var(--panel); }
.head-in { height: 76px; gap: 14px; }
.brand { position: relative; align-self: flex-start; z-index: 2; }
/* logo a badge: appeso sotto la barra, bordo sfumato blu, si ingrandisce al passaggio (non scende) */
/* badge pieno (niente cornice sottile ai lati): sfondo con leggera luce blu e una barretta blu in basso */
.brand-badge {
  position: relative; display: grid; place-items: center; width: 100px; height: 100px; padding: 12px;
  border-radius: 0 0 22px 22px; transform-origin: top center; overflow: hidden;
  background: radial-gradient(120% 90% at 50% 100%, rgba(59, 157, 255, .16), transparent 60%), var(--panel);
  box-shadow: 0 12px 26px rgba(15, 23, 42, .18), inset 0 -4px 0 var(--blue);
  transition: transform .22s cubic-bezier(.25, .8, .25, 1);
}
.brand-badge::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s;
  background: radial-gradient(70% 55% at 50% 70%, rgba(59, 157, 255, .2), transparent 70%);
}
.brand-badge img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .25)); transition: transform .3s var(--zr-pop); }
/* al passaggio: si ingrandisce e basta (niente luce, niente ombre che cambiano) */
.brand:hover .brand-badge { transform: scale(1.07); }
.brand-badge::after { display: none; }
.brand:active .brand-badge { transform: scale(1.07); }
/* style.css ruota l'immagine del logo al passaggio (rotate -3deg): qui la si blocca, si ingrandisce solo il riquadro */
.brand img, .brand:hover img, .brand:active img { transform: none !important; rotate: none !important; }

/* voci del menu più distanziate; quella attiva è una pillola compatta azzurra con testo bianco */
.nav { margin-left: 44px; gap: 26px; font-size: 16px; letter-spacing: .5px; }
.nav > a, .nav-drop-btn { padding: 3px 10px; border-radius: 20px; line-height: 1.5; color: var(--navy-2); transition: color .28s var(--smooth, ease), background-color .28s var(--smooth, ease); }
.nav > a.is-on, .nav-drop.is-on > .nav-drop-btn { background: #4a9fe6 !important; color: #fff !important; box-shadow: none; }
@media (max-width: 1320px) and (min-width: 1181px) { .nav { gap: 14px; margin-left: 30px; } }
/* menu a tendina su tablet/telefono: voci in colonna, più alte e vicine */
@media (max-width: 1180px) { .nav { gap: 2px; } .nav > a, .nav-drop-btn { padding: 11px 14px; border-radius: 10px; } }
.nav > a:hover { color: var(--blue); background: transparent; }
.nav > a.is-on { color: #fff !important; background: var(--blue); }
.nav > a.is-on::after { display: none; }

/* menu a tendina "Store" */
.nav-drop { position: relative; }
.nav-drop-btn {
  display: inline-flex; align-items: center; gap: 7px; border: 0; background: transparent; cursor: pointer;
  font: inherit; text-transform: inherit; letter-spacing: inherit;
}
.nav-drop-btn:hover { color: var(--blue); }
.nav-drop.is-on > .nav-drop-btn { color: #fff !important; background: var(--blue); }
/* freccetta: centrata con la scritta, ruota quando il menu è aperto (passaggio del mouse o click) */
.nav-caret { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: -1px; align-self: center; }
.nav-caret svg { display: block; transform: rotate(0deg); transform-origin: 50% 50%; will-change: transform; transition: transform .3s cubic-bezier(.25, .8, .25, 1) !important; }
/* al click su "Store" la freccetta fa anche un piccolo scatto prima di andare al listino */
.nav-drop-btn:active .nav-caret svg { transform: rotate(180deg) scale(1.25); }
.nav-drop:hover .nav-caret svg, .nav-drop.open .nav-caret svg, .nav-drop:focus-within .nav-caret svg { transform: rotate(180deg); }
.nav-drop .cart-n { background: #ef4444; color: #fff; font-size: 11.5px; padding: 1px 7px; }
.nav-menu {
  position: absolute; top: calc(100% + 12px); left: 50%; min-width: 230px; padding: 8px; z-index: 80;
  background: var(--panel); border: 1px solid var(--line-soft); border-radius: 14px; box-shadow: var(--shadow-lg);
  display: grid; gap: 2px; text-transform: none; letter-spacing: 0; font-size: 14.5px;
  opacity: 0; visibility: hidden; transform: translate(-50%, -6px) scale(.97); transform-origin: top center;
  transition: opacity .18s ease, transform .22s var(--zr-pop), visibility .18s;
}
.nav-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.nav-drop:hover .nav-menu, .nav-drop.open .nav-menu, .nav-drop:focus-within .nav-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.nav-menu a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 9px; color: var(--ink); font-weight: 600; transition: background-color .15s, color .15s, transform .2s var(--zr-pop); }
.nav-menu a .ico { color: var(--blue); }
.nav-menu a:hover { background: var(--blue-soft); color: var(--blue); transform: scale(1.03); }
.nav-menu a.is-on { background: var(--blue); color: #fff; }
.nav-menu a.is-on .ico { color: #fff; }
.nav-menu .cart-n { margin-left: auto; }
@media (max-width: 1180px) {
  .nav-drop-btn { width: 100%; justify-content: flex-start; padding: 11px 14px; border-radius: 10px; }
  .nav-menu { position: static; transform: none !important; opacity: 1; visibility: visible; display: none; box-shadow: none; border: 0; padding: 4px 0 4px 14px; min-width: 0; }
  .nav-drop:hover .nav-menu { display: none; }
  .nav-drop.open .nav-menu { display: grid; }
}

/* pulsanti: al passaggio si ingrandiscono invece di spostarsi */
.btn:hover { transform: scale(1.04); }
.btn:active { transform: scale(.98); }
.theme-btn:hover { transform: scale(1.08); }

.head-ip {
  display: inline-flex; align-items: center; gap: 9px; margin-left: auto; padding: 10px 20px; border: 0; border-radius: 30px;
  background: linear-gradient(90deg, var(--blue), var(--blue-hot)); color: #fff; font-family: var(--display); font-weight: 700;
  font-size: 14px; letter-spacing: .6px; text-transform: uppercase; box-shadow: 0 6px 16px rgba(15, 116, 230, .35);
  transition: transform .18s var(--zr-pop), box-shadow .18s; white-space: nowrap;
}
.head-ip:hover { transform: scale(1.06); box-shadow: 0 10px 22px rgba(15, 116, 230, .45); }
.head-ip:active { transform: scale(.98); }
.head-ip > * { line-height: 1; }
.head-ip .dot { flex: none; }
.head-ip small {
  display: inline-flex; align-items: center; height: 22px; padding: 0 9px; margin-left: 2px; border-radius: 20px;
  background: rgba(255, 255, 255, .2); font-size: 11.5px; font-weight: 700; text-transform: none; letter-spacing: 0;
}
.head-ip .dot.on { background: #4ade80; }
.theme-btn { margin-left: 6px; border-radius: 30px; }
.nav + .head-ip { margin-left: auto; }

@media (max-width: 1180px) {
  .nav { margin-left: 0; }
  .burger { margin-left: auto; order: 3; }
  .head-ip { margin-left: auto; order: 2; }
  .theme-btn { order: 4; }
  .head-ip small { display: none; }
  .nav { top: 80px !important; }
  .nav > a { border-radius: 10px; }
}
@media (max-width: 760px) {
  .brand-badge { width: 72px; height: 72px; padding: 8px; }
  .head-ip { padding: 9px 13px; font-size: 12px; }
  .head-ip-txt { max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
  .nav { inset: 80px 4vw auto !important; }
}

/* ---------- menu account (accanto all'IP) ---------- */
.acc { position: relative; z-index: 3; margin-left: 10px; }
.acc-btn {
  display: flex; align-items: center; gap: 6px; height: 46px; padding: 0 4px 0 12px; border: 0; border-radius: 30px; cursor: pointer;
  background: var(--panel-2); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line-soft);
  transition: background-color .28s var(--smooth, ease), box-shadow .28s var(--smooth, ease);
}
.acc-btn:hover, .acc.open .acc-btn { background: transparent; box-shadow: inset 0 0 0 1px var(--blue-hot); }
.acc-caret { transition: transform .3s var(--smooth, ease); }
.acc.open .acc-caret { transform: rotate(180deg); }
.acc-skin { width: 40px; height: 40px; border-radius: 50%; flex: none; }
.acc-skin img { width: 40px; height: 40px; object-fit: cover; object-position: top; }
.acc-menu {
  position: absolute; top: calc(100% + 12px); right: 0; width: 320px; overflow: hidden;
  background: var(--panel); border: 1px solid var(--line-soft); border-radius: 16px; box-shadow: var(--shadow-lg);
  opacity: 0; visibility: hidden; transform: translateY(-6px); transform-origin: top right;
  transition: opacity .22s var(--smooth, ease), transform .22s var(--smooth, ease), visibility .22s;
}
.acc.open .acc-menu { opacity: 1; visibility: visible; transform: none; }
.acc-hi { margin: 0; padding: 18px 20px 8px; font-size: 14px; color: var(--grey); }
.acc-hi b { color: var(--ink); }
/* allineamento: stesso margine (16px) a sinistra e a destra per voci e pulsanti in fondo,
   spazio uguale sopra e sotto la voce, scritte del fondo centrate nella loro metà */
.acc-menu { width: 300px; padding-top: 8px; }
.acc-menu > a { margin: 0 8px; padding: 10px 12px !important; border-radius: 12px; }
.acc-menu > a:first-child { margin-top: 0; }
.acc-menu > a span:last-child { display: flex; flex-direction: column; justify-content: center; min-width: 0; line-height: 1.3; }
.acc-ico { width: 42px !important; height: 42px !important; }
.acc-foot { margin-top: 8px !important; }
.acc-foot a, .acc-foot button { height: 52px; padding: 0 12px !important; line-height: 1; }
.acc-menu > a { display: flex; align-items: center; gap: 14px; padding: 10px 20px; transition: background-color .2s var(--smooth, ease); }
.acc-menu > a:hover { background: var(--panel-2); }
.acc-ico { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 10px; background: var(--panel-2); color: var(--ink); transition: background-color .2s, color .2s; }
.acc-menu > a:hover .acc-ico { background: var(--blue-soft); color: var(--blue); }
.acc-menu > a b { display: block; font-family: var(--display); font-size: 15px; color: var(--ink); }
.acc-menu > a i { display: block; font-style: normal; font-size: 13px; color: var(--grey-2); }
.acc-foot { display: grid; grid-template-columns: 1fr 1fr; margin-top: 8px; border-top: 1px solid var(--line-soft); }
.acc-foot a, .acc-foot button {
  display: grid; place-items: center; padding: 14px; border: 0; background: transparent; cursor: pointer;
  font-family: var(--display); font-weight: 600; font-size: 14px; color: var(--ink); transition: background-color .2s var(--smooth, ease);
}
.acc-foot form { margin: 0; display: grid; border-left: 1px solid var(--line-soft); }
.acc-foot button { color: #e5484d; }
.acc-foot a:hover, .acc-foot button:hover { background: var(--panel-2); }
.acc-login {
  display: inline-flex; align-items: center; gap: 7px; margin-left: 10px; padding: 10px 16px; border-radius: 30px;
  background: var(--panel-2); color: var(--ink); font-family: var(--display); font-weight: 700; font-size: 14px;
  box-shadow: inset 0 0 0 1px var(--line-soft); transition: background-color .28s var(--smooth, ease), color .28s var(--smooth, ease);
}
.acc-login:hover { background: var(--blue-soft); color: var(--blue); }
@media (max-width: 1180px) { .acc, .acc-login { order: 2; margin-left: 8px; } }
@media (max-width: 760px) { .acc-menu { width: min(320px, 92vw); } .acc-login { padding: 9px 12px; font-size: 0; gap: 0; } .acc-login .ico { width: 18px; height: 18px; } }

/* ---------- hero: bottone "clicca per giocare" ---------- */
.hero-actions { display: flex; gap: 22px 40px; flex-wrap: wrap; justify-content: center; margin-top: 46px; }
.hero-actions .hero-cta { margin-top: 0; }
/* logo dell'immagine iniziale: fermo (niente fluttuazione) e sempre centrato */
/* il disegno del logo è sbilanciato a sinistra (palme): 5% a destra lo porta in asse con titolo e pulsanti */
.hero-logo { animation: float 7s ease-in-out infinite; display: block; margin: 0 auto; }
/* blocco più compatto: logo, titolo, testo e pulsanti più vicini */
.hero h1 { margin-top: 6px; }
.hero p { margin-top: 8px; }
.hero-actions { margin-top: 28px !important; }
/* i due pulsanti hanno la stessa larghezza (e la scritta non va mai a capo): centro allineato a titolo e freccetta */
.hero-actions .hero-cta { width: 330px; padding: 15px 22px; justify-content: center; white-space: nowrap; box-sizing: border-box; font-size: 18px; }
@media (max-width: 760px) { .hero-actions .hero-cta { width: min(330px, 100%); font-size: 16px; } }
/* aloni bianchi attorno ai pulsanti: respirano lentamente, si allargano e si affievoliscono in loop */
/* contenuto dell'immagine iniziale centrato, con spazio sotto per la freccetta e le onde */
.hero-in { padding: 24px 16px 80px; }
/* freccetta in basso: centrata esattamente (larghezza fissa + margin auto, niente translate che si somma all'animazione) */
.hero-down { left: 0 !important; right: 0; bottom: 34px; width: 40px; height: 40px; margin: 0 auto; translate: none !important; display: block; }
.hero-down svg { display: block; }
.hero-cta.is-alt { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .7); backdrop-filter: blur(6px); }

/* ---------- sezioni ---------- */
.zr-sec { padding: 64px 0 0; }
.zr-title { text-align: center; font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 32px; }
.zr-sub { color: var(--grey); margin: 6px 0 0; }
.zr-narrow { width: min(1000px, 92vw); }
.zr-more {
  display: flex; width: max-content; margin: 22px 0 0 auto; align-items: center; gap: 8px;
  font-family: var(--display); font-weight: 600; color: var(--ink); transition: color .3s ease;
}
/* niente ingrandimento (sfocava il testo e sfarfallava sul bordo): cambia solo colore, in modo morbido */
.zr-more:hover { color: var(--blue); }
.zr-more .ico { transition: color .3s ease; }

/* novità in home: schede di larghezza fissa sempre centrate (anche con 1 o 2 post non si allargano) */
.zr-news { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; }
.zr-news > .news-card { flex: 0 1 362px; min-width: 0; }

/* percorsi "Store / …" tolti dal sito: resta solo lo spazio sopra, così il resto rimane allineato */
body:not(.adm) .crumbs { display: block; height: 0; padding: 28px 0 0; margin: 0; overflow: hidden; visibility: hidden; }
.ph .crumbs { padding-top: 0 !important; }
.ph-in { padding-top: 46px; }
.ph h1 { margin-top: 0 !important; }
.ph .kicker { margin-top: 0; }
.ph .kicker + h1 { margin-top: 12px !important; }
.ph-row { align-items: center; }
/* senza "Torna allo store": il primo elemento della testata parte dall'alto, senza buco */
.ph-in > .kicker:first-child { margin-top: 0; }
.ph-back + .kicker { margin-top: 22px; }
.legal-page { padding-top: 46px; }
.legal-page > .purchase-heading:first-child { margin-top: 0; }
.news-card { border-radius: 12px; overflow: hidden; transition: transform .25s var(--zr-ease), box-shadow .25s; }
.news-card:hover { transform: translateY(-6px); }
.news-tag { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 3px 11px; border-radius: 30px; font-family: var(--display); font-weight: 700; font-size: 14px; color: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .25); }

/* vertici dello staff */
.zr-leaders { display: grid; grid-template-columns: 1.45fr 1fr; background: var(--panel); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); }
.zr-leaders-txt { padding: 44px 48px; }
.zr-leaders-txt h2 { font-size: 24px; }
.zr-leaders ul { list-style: none; margin: 26px 0 28px; padding: 0; display: grid; gap: 14px; }
.zr-leaders li { display: flex; align-items: center; gap: 12px; }
.zr-leaders li b { font-family: var(--display); font-size: 19px; color: var(--role); }
.zr-leader-av { width: 48px; height: 48px; border-radius: 50%; flex: none; }
.zr-leader-av img { width: 48px; height: 48px; object-fit: cover; }
.zr-role { padding: 3px 10px; border-radius: 30px; background: var(--role); color: #fff; font-family: var(--display); font-size: 12px; font-weight: 700; }
.zr-leaders-art { position: relative; display: grid; place-items: end center; background: linear-gradient(160deg, var(--blue-soft), var(--line-soft)); overflow: hidden; }
.zr-leaders-art .skin-wrap { background: transparent; animation: none; }
.zr-leaders-art img { width: min(340px, 100%); height: auto; transform: translateY(8%); transition: transform .5s var(--zr-ease); }
.zr-leaders:hover .zr-leaders-art img { transform: translateY(3%) rotate(-2deg) scale(1.03); }

/* FAQ a fisarmonica. Lo stato visivo segue la classe .is-open, messa dal JS appena clicchi:
   croce, colori e bordo cambiano subito e in modo fluido, mentre l'altezza si anima a parte */
.zr-faq { display: grid; gap: 14px; --faq-ease: cubic-bezier(.65, 0, .35, 1); }
.zr-faq details {
  background: var(--panel); border: 1.5px solid transparent; border-radius: 12px; box-shadow: var(--shadow-sm);
  transition: border-color .3s var(--faq-ease), box-shadow .3s var(--faq-ease), background-color .3s var(--faq-ease);
}
/* riquadro aperto: bordo blu, ombra blu più ampia e sfondo leggermente tinto */
.zr-faq details.is-open { border-color: var(--blue-hot); box-shadow: 0 12px 30px rgba(15, 116, 230, .16); background-color: color-mix(in srgb, var(--panel) 94%, var(--blue)); }
.zr-faq summary {
  position: relative; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 24px; cursor: pointer; font-family: var(--display); font-weight: 600; font-size: 17px; color: var(--ink);
  transition: color .3s var(--faq-ease);
}
.zr-faq summary::-webkit-details-marker { display: none; }
.zr-faq details.is-open summary { color: var(--blue); }
/* cerchio: cambia solo colore, in modo graduale */
.zr-faq summary::after {
  content: ''; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--blue-soft);
  transition: background-color .3s var(--faq-ease);
}
.zr-faq details.is-open summary::after { background: var(--blue); }
/* croce: disegnata con una maschera, così il colore sfuma (blu → bianco) e la rotazione + → × è continua */
.zr-faq summary::before {
  content: ''; position: absolute; right: 33px; top: 50%; width: 18px; height: 18px; margin-top: -9px; pointer-events: none;
  background: var(--blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: rotate(0deg); transition: transform .3s var(--faq-ease), background-color .3s var(--faq-ease);
}
.zr-faq details.is-open summary::before { transform: rotate(45deg); background: #fff; }
[data-theme="dark"] .zr-faq summary::after { background: rgba(47, 140, 255, .15); }
[data-theme="dark"] .zr-faq details.is-open summary::after { background: var(--blue); }

/* risposta: altezza animata dal JS; pages.css ha già una .faq-body (pagina Supporto) con 72px a sinistra: annullati */
.zr-faq .faq-body { overflow: hidden; padding: 0 !important; margin: 0 !important; animation: none !important; font-size: inherit; }
.zr-faq .faq-body > * { margin: 0 24px 16px; }
.zr-faq .faq-body > :first-child { margin-top: 0; }
.zr-faq .faq-body > :last-child { margin-bottom: 20px; }
.zr-faq p { color: var(--grey); line-height: 1.7; }
.zr-faq a:not(.btn) { color: var(--blue); text-decoration: underline; }

/* ---------- pagina novità ---------- */
.zr-page { padding-top: 46px; }
.zr-board { background: var(--panel); border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; }
/* pagina staff: stessa fascia blu e stesse onde della pagina novità */
.staff-wave { display: none; }
/* Novità e Staff: fascia identica (stessa altezza, stesso titolo); onde vicine alla scritta */
.staff-head, .zr-board-head { position: relative; padding: 26px 20px 38px !important; text-align: center; background: linear-gradient(180deg, #4aa3f0, #3b94e6); }
.staff-head h1, .zr-board-head h1 {
  margin: 0; color: #fff; font-family: var(--display); font-size: clamp(26px, 3vw, 36px) !important; font-weight: 800;
  line-height: 1.15; letter-spacing: .5px; text-transform: uppercase; text-shadow: 0 2px 6px rgba(0, 0, 0, .18);
}
.staff-head::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 20px; background: var(--panel);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 20' preserveAspectRatio='none'%3E%3Cpath d='M0 10Q20 0 40 10T80 10V20H0Z'/%3E%3C/svg%3E") 0 0 / 80px 20px repeat-x;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 20' preserveAspectRatio='none'%3E%3Cpath d='M0 10Q20 0 40 10T80 10V20H0Z'/%3E%3C/svg%3E") 0 0 / 80px 20px repeat-x;
}
.zr-board-head::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 20px; background: var(--panel);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 20' preserveAspectRatio='none'%3E%3Cpath d='M0 10Q20 0 40 10T80 10V20H0Z'/%3E%3C/svg%3E") 0 0 / 80px 20px repeat-x;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 20' preserveAspectRatio='none'%3E%3Cpath d='M0 10Q20 0 40 10T80 10V20H0Z'/%3E%3C/svg%3E") 0 0 / 80px 20px repeat-x;
}
.zr-board-body { padding: 26px clamp(14px, 5vw, 80px) 56px; display: grid; gap: 14px; }
.zr-empty { text-align: center; color: var(--grey-2); margin: 20px 0; }
.zr-post {
  display: grid; grid-template-columns: minmax(200px, 384px) 1fr; gap: 22px; padding: 16px; border: 1px solid var(--line-soft);
  border-radius: 12px; transition: transform .22s var(--zr-ease), box-shadow .22s, border-color .22s;
}
.zr-post:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--blue-hot); }
.zr-post-img { position: relative; aspect-ratio: 16 / 9; border-radius: 9px; overflow: hidden; background: #0c1a2e; }
.zr-post-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--zr-ease); }
.zr-post:hover .zr-post-img img { transform: scale(1.05); }
.zr-post-body { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; }
.zr-post-body b { font-family: var(--display); font-size: 23px; color: var(--ink); line-height: 1.25; }
.zr-post-body small { color: var(--grey-2); font-size: 14px; }
.zr-post-txt { color: var(--grey); margin-top: 10px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* "Leggi il post →": scritta e freccia restano unite, al passaggio si ingrandiscono insieme */
.zr-post-more { display: inline-flex; align-self: flex-end; align-items: center; gap: 6px; margin-top: 12px; color: var(--blue); font-family: var(--display); font-weight: 600; }
@media (max-width: 760px) { .zr-post { grid-template-columns: 1fr; } .zr-post-more { align-self: flex-start; } }

/* ---------- pagina regolamento ---------- */
.rules-links { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; padding: 18px 20px 0; }
.rules-link {
  display: inline-flex; align-items: center; gap: 9px; padding: 11px 20px; border-radius: 10px; border: 1.5px solid #229ed9;
  color: #229ed9; font-family: var(--display); font-weight: 700; font-size: 14px; background: rgba(34, 158, 217, .06);
  transition: transform .25s cubic-bezier(.25, .8, .25, 1), background-color .3s ease, color .3s ease, box-shadow .3s ease;
  will-change: transform; backface-visibility: hidden;
}
/* come gli altri pulsanti del sito: al passaggio si riempie di colore e si ingrandisce un po',
   al click si "preme" (si rimpicciolisce) e poi torna */
.rules-link:hover { background-color: #229ed9; color: #fff; box-shadow: 0 6px 18px rgba(34, 158, 217, .35); transform: scale(1.04); }
.rules-link:active { transform: scale(.97); transition-duration: .1s; }
.rules-link.is-dc { border-color: #5865f2; color: #5865f2; background-color: rgba(88, 101, 242, .06); }
.rules-link.is-dc:hover { background-color: #5865f2; color: #fff; box-shadow: 0 6px 18px rgba(88, 101, 242, .35); }
.rules-link svg, .rules-link .ico { flex: none; }
/* icone a marchio pieno: a riposo forma colorata + simbolo bianco; al passaggio si invertono (forma bianca + simbolo colorato) */
.rules-link { --c: #229ed9; }
.rules-link.is-dc { --c: #5865f2; }
.rules-link-ico { display: grid; place-items: center; color: var(--c); transition: color .3s ease; }
.rules-link-ico svg { display: block; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .18)); }
.rules-link-ico path { fill: #fff; transition: fill .3s ease; }
.rules-link:hover .rules-link-ico { color: #fff; }
.rules-link:hover .rules-link-ico path { fill: var(--c); }

/* il testo del regolamento si può selezionare e copiare (il resto del sito resta non selezionabile) */
.rules-main, .rules-main * { -webkit-user-select: text; user-select: text; }
.rule-sub { margin-left: 44px; padding-top: 12px; border-left: 2px solid var(--line-soft); border-radius: 0 12px 12px 0; }
.rule-sub .rule-n { font-size: 14px; }
.rule-sub h3 { font-size: 16px; }
.rules-lead p { margin: 12px 0 0; }

/* indice e regole: due riquadri con scroll indipendente, alti quanto lo schermo */
.rules { display: grid; grid-template-columns: 250px 1fr; gap: 28px; padding: 30px clamp(14px, 4vw, 54px) 46px; align-items: stretch; height: min(720px, calc(100vh - 150px)); }
.rules-index, .rules-main { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.rules-index { padding-right: 8px; border-right: 1px solid var(--line-soft); }
.rules-main { position: relative; padding: 0 12px 30px 4px; }
.rules-main::-webkit-scrollbar, .rules-index::-webkit-scrollbar { width: 8px; }
.rules-main::-webkit-scrollbar-thumb, .rules-index::-webkit-scrollbar-thumb { background: var(--line); border-radius: 8px; }
/* la ricerca resta fissa in cima mentre scorri le regole */
.rules-search { position: sticky; top: 0; z-index: 2; box-shadow: 0 10px 14px -8px rgba(0, 0, 0, .15); }
.rules-main > .rules-search { margin-bottom: 4px; }
.rules-index h3 { display: inline-block; margin-bottom: 12px; padding: 6px 16px; border-radius: 0 10px 10px 0; background: var(--blue-soft); color: var(--blue); font-size: 15px; }
.rules-index nav { display: grid; gap: 4px; border-left: 2px solid var(--line-soft); padding-left: 10px; }
.rules-index a {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 9px; color: var(--grey); font-size: 14.5px; font-weight: 600;
  transition: background-color .25s ease, color .25s ease;
}
.rules-index a span { width: 24px; height: 24px; flex: none; display: grid; place-items: center; border-radius: 7px; background: var(--panel-2); font-family: var(--display); font-size: 12px; transition: background-color .25s ease, color .25s ease; }
.rules-index a:hover { color: var(--blue); background: var(--blue-soft); }
.rules-index a.is-on { color: var(--blue); background: var(--blue-soft); }
.rules-index a.is-on span { background: var(--blue); color: #fff; }

.rules-search { display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 1.5px solid var(--line-soft); border-radius: 12px; background: var(--panel-2); color: var(--grey-2); transition: border-color .25s ease; }
.rules-search:focus-within { border-color: var(--blue-hot); box-shadow: 0 0 0 3px var(--blue-soft), 0 10px 14px -8px rgba(0, 0, 0, .15); }
.rules-search input { border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 13px 0 !important; color: var(--ink); }
.rules-none { margin: 22px 0; color: var(--grey-2); text-align: center; }

.rules-sec { margin-top: 30px; scroll-margin-top: 100px; }
.rules-sec-head { display: flex; align-items: center; gap: 14px; padding-bottom: 12px; margin-bottom: 6px; border-bottom: 2px solid var(--line-soft); }
.rules-sec-head span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--blue); color: #fff; font-family: var(--display); font-weight: 700; }
.rules-sec-head h2 { font-size: 22px; }
/* introduzione come le regole: senza riquadro fisso, lo sfondo compare solo passandoci sopra col cursore */
.rules-lead { color: var(--grey); line-height: 1.75; margin: 6px 0 0; padding: 18px 12px; border-radius: 12px; background-color: transparent; transition: background-color .28s var(--smooth, ease); }
.rules-lead:hover { background-color: var(--panel-2); }
.rules-lead > :first-child { margin-top: 0; }
.rules-lead > :last-child { margin-bottom: 0; }
.rule { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 18px 12px; border-radius: 12px; scroll-margin-top: 100px; transition: background-color .25s ease; }
.rule:hover { background: var(--panel-2); }
.rule[hidden], .rules-sec[hidden], .rules-none[hidden] { display: none !important; }
.rule-n { padding-top: 2px; font-family: var(--display); font-weight: 700; color: var(--blue); }
.rule h3 { font-size: 17px; margin-bottom: 6px; }
.rule-txt p { margin: 0 0 8px; color: var(--grey); line-height: 1.7; }
.rule-txt ul { margin: 4px 0 10px; padding-left: 20px; color: var(--grey); line-height: 1.7; }
.rule-txt b { color: var(--ink); }
.rule-txt a { color: var(--blue); font-weight: 600; text-decoration: underline; }
.rule-note { padding: 10px 14px; border-left: 3px solid var(--blue); border-radius: 0 9px 9px 0; background: var(--blue-soft); }
@media (max-width: 860px) {
  .rules { grid-template-columns: 1fr; height: auto; }
  .rules-index { position: static; border-right: 0; overflow: visible; }
  .rules-main { height: 70vh; }
  .rules-index nav { grid-auto-flow: column; overflow-x: auto; border-left: 0; padding-left: 0; }
}

/* ---------- forum (stile ZeroRoleplay) ---------- */
.fo { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 26px; align-items: start; }
.fo-cat { background: var(--panel); border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; margin-bottom: 24px; }
.fo-cat-h {
  margin: 0; padding: 15px 22px; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: #fff;
  background: linear-gradient(90deg, var(--navy-2, #16304f), #1f3d63);
}
.fo-cat-big { display: flex; align-items: center; gap: 12px; font-size: 17px; text-transform: none; letter-spacing: 0; }
.fo-cat-big .fo-ico { width: 38px; height: 38px; background: rgba(255, 255, 255, .14); color: #fff; }
.fo-desc { margin: 0; padding: 14px 22px; color: var(--grey); border-bottom: 1px solid var(--line-soft); }
.fo-row {
  display: grid; grid-template-columns: 50px minmax(0, 1fr) 76px 90px minmax(130px, 190px); align-items: center; gap: 16px;
  padding: 16px 22px; border-top: 1px solid var(--line-soft); transition: background-color .28s var(--smooth, ease);
}
.fo-list > .fo-row:first-child { border-top: 0; }
.fo-row:hover { background: var(--panel-2); }
.fo-ico { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 12px; background: var(--blue-soft); color: var(--blue); transition: background-color .28s var(--smooth, ease), color .28s var(--smooth, ease); }
.fo-row:hover .fo-ico { background: var(--blue); color: #fff; }
.fo-name b { display: block; font-family: var(--display); font-size: 17px; color: var(--ink); }
.fo-name i { display: block; font-style: normal; font-size: 14px; color: var(--grey-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fo-num { text-align: center; }
.fo-num small { display: block; font-size: 12px; color: var(--grey-2); }
.fo-num b { font-family: var(--display); font-size: 18px; color: var(--ink); }
.fo-last { display: flex; align-items: center; gap: 10px; min-width: 0; padding-left: 16px; border-left: 1px solid var(--line-soft); }
.fo-last-skin { width: 36px; height: 36px; flex: none; border-radius: 9px; }
.fo-last-skin img, .fo-skin img, .fo-staff-skin img, .fo-welcome-skin img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.fo-last-txt { min-width: 0; }
.fo-last-txt b { display: block; font-size: 14px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fo-last-txt small { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--grey-2); }
.fo-last .status-pill { padding: 2px 8px; font-size: 10.5px; }
.fo-private { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--grey-2); }

/* targhetta del ruolo staff (colore del ruolo) */
.fo-role { display: inline-block; padding: 2px 10px; border-radius: 20px; background: var(--rc, var(--blue)); color: #fff; font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .3px; }
.fo-role-sm { padding: 0 7px; font-size: 10.5px; vertical-align: 1px; }

/* colonna laterale */
.fo-side { display: grid; gap: 18px; position: sticky; top: 100px; }
.fo-box { padding: 20px; border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.fo-box h3 { display: flex; align-items: center; gap: 8px; margin: -20px -20px 14px; padding: 14px 20px; font-size: 16px; border-bottom: 1px solid var(--line-soft); }
.fo-box h3 .ico { color: var(--blue); }
.fo-box p { margin: 0 0 10px; color: var(--grey); font-size: 14.5px; line-height: 1.6; }
.fo-welcome { position: relative; overflow: hidden; background: linear-gradient(160deg, color-mix(in srgb, var(--panel) 86%, var(--blue)), var(--panel) 65%); }
.fo-welcome-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.fo-welcome-skin { width: 72px; height: 72px; flex: none; border-radius: 16px; background: var(--panel-2); }
.fo-welcome-top small { display: block; font-size: 13px; color: var(--grey-2); }
.fo-welcome-top b { display: block; font-family: var(--display); font-size: 21px; color: var(--ink); margin-bottom: 4px; }
.fo-staffnote { padding: 10px 12px; border-radius: 10px; background: var(--blue-soft); color: var(--blue) !important; font-weight: 600; }
.fo-staff { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fo-staff li { display: flex; align-items: center; gap: 10px; }
.fo-staff-skin { width: 32px; height: 32px; border-radius: 8px; flex: none; }
.fo-staff b { display: block; font-size: 14.5px; line-height: 1.2; }
.fo-staff small { display: block; font-size: 12px; color: var(--grey-2); }
.fo-none { color: var(--grey-2) !important; font-size: 14px !important; margin: 0 !important; }
.fo-staff-skin { position: relative; overflow: visible !important; }
.fo-staff-skin img { border-radius: 8px; }
.fo-online { margin: 0 0 8px !important; line-height: 1.7 !important; color: var(--ink) !important; }
.fo-total { color: var(--grey-2); font-size: 12.5px; }
.fo-bday { background: linear-gradient(160deg, color-mix(in srgb, var(--panel) 90%, #f59e0b), var(--panel) 70%); }
.fo-stats { display: grid; grid-template-columns: 1fr auto; gap: 9px 12px; margin: 0; font-size: 14.5px; }
.fo-stats dt { color: var(--grey); }
.fo-stats dd { margin: 0; font-family: var(--display); font-weight: 700; color: var(--ink); text-align: right; }

/* sezione e discussione */
.fo-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; color: var(--grey); font-weight: 600; font-size: 14px; transition: color .28s var(--smooth, ease); }
.fo-back:hover { color: var(--blue); }
.fo-thread { grid-template-columns: 44px minmax(0, 1fr) 90px 140px; }
.fo-skin { width: 44px; height: 44px; border-radius: 10px; display: inline-block; }
.fo-score.is-up b { color: #22c55e; }
.fo-score.is-down b { color: #ef4444; }
/* riquadro informativo azzurro (in cima a sezioni e moduli) */
.fo-info { display: flex; gap: 14px; margin-bottom: 20px; padding: 18px 20px; border-radius: 14px; border: 1px solid color-mix(in srgb, var(--blue-hot) 45%, transparent); background: var(--blue-soft); }
.fo-info-ico { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--blue) 15%, transparent); color: var(--blue); }
.fo-info b { display: block; margin-bottom: 4px; font-family: var(--display); font-size: 17px; color: var(--blue); }
.fo-info p { margin: 2px 0 0; color: var(--ink); font-size: 15px; line-height: 1.6; }
.fo-info-in { margin: 18px 22px; }

/* pannello sezione: briciole, intestazione con pulsante, filtri */
.fo-panel { margin-bottom: 0; }
.fo-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 22px; font-size: 14px; color: var(--grey-2); background: var(--panel-2); border-bottom: 1px solid var(--line-soft); }
.fo-crumbs a { display: inline-flex; align-items: center; gap: 6px; color: var(--grey); transition: color .28s var(--smooth, ease); }
.fo-crumbs a:hover { color: var(--blue); }
.fo-panel-head { display: flex; align-items: center; gap: 14px; padding: 20px 22px; border-bottom: 1px solid var(--line-soft); }
.fo-panel-head h1 { flex: 1; margin: 0; font-size: clamp(21px, 2vw, 26px); }
.fo-panel-head-col { flex-direction: column; align-items: flex-start; gap: 2px; }
.fo-panel-head-col small { color: var(--grey-2); font-size: 14px; }
.fo-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; padding: 14px 22px; }
.fo-filters > span { color: var(--grey-2); font-size: 14px; margin-right: 2px; }
.fo-filter { padding: 6px 14px; border-radius: 30px; font: 700 13px var(--display); background: var(--panel-2); color: var(--ink); box-shadow: inset 0 0 0 1.5px transparent; transition: box-shadow .28s var(--smooth, ease), filter .28s var(--smooth, ease); }
.fo-filter:hover { filter: brightness(1.08); }
.fo-filter.is-on { box-shadow: inset 0 0 0 1.5px var(--blue-hot), 0 0 0 3px var(--blue-soft); }
.fo-tlist { margin: 0 22px 22px; border: 1px solid var(--line-soft); border-radius: 12px; overflow: hidden; }
.fo-tlist > .zr-empty { margin: 20px; text-align: center; }
.fo-trow { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px 190px; align-items: center; gap: 14px; padding: 12px 18px; border-top: 1px solid var(--line-soft); transition: background-color .28s var(--smooth, ease); }
.fo-trow:first-child { border-top: 0; }
.fo-trow:hover { background: var(--panel-2); }
.fo-trow .fo-skin { width: 40px; height: 40px; border-radius: 9px; }
.fo-trow-main { min-width: 0; }
.fo-trow-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.fo-trow-title b { font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fo-trow-title .status-pill { flex: none; padding: 2px 8px; font-size: 10.5px; }
.fo-trow-main small { display: block; margin-top: 2px; font-size: 13px; color: var(--grey-2); }
.fo-lock { color: var(--grey-2); justify-self: center; }
.fo-trow .fo-score { text-align: center; }
.fo-trow .fo-score b { display: block; font-family: var(--display); font-size: 17px; color: var(--ink); }
.fo-trow .fo-score small { font-size: 11px; color: var(--grey-2); }
.fo-trow-last { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding-left: 14px; border-left: 1px solid var(--line-soft); text-align: right; font-size: 13px; color: var(--ink); }
.fo-trow-last small { display: block; color: var(--grey-2); }
.fo-skin-sm { width: 32px !important; height: 32px !important; border-radius: 8px !important; }

/* modulo di una nuova richiesta: domanda + suggerimento a sinistra, campo a destra */
.fo-form2 { margin: 0 22px 22px; border: 1px solid var(--line-soft); border-radius: 12px; overflow: hidden; }
.fo-frow { display: grid; grid-template-columns: 280px 1fr; gap: 18px; padding: 16px 18px; border-top: 1px solid var(--line-soft); }
.fo-frow:first-child { border-top: 0; }
.fo-flabel { padding-top: 12px; }
.fo-flabel label { display: block; font-family: var(--display); font-weight: 700; font-size: 15px; color: var(--ink); }
.fo-flabel em { font-style: normal; color: #ef4444; }
.fo-flabel small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.45; color: var(--grey-2); }
.fo-ffield input, .fo-ffield textarea { width: 100%; }
.fo-fsubmit { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 18px; border-top: 1px solid var(--line-soft); background: var(--panel-2); }
@media (max-width: 860px) {
  .fo-frow { grid-template-columns: 1fr; gap: 8px; }
  .fo-flabel { padding-top: 0; }
  .fo-trow { grid-template-columns: 40px minmax(0, 1fr); }
  .fo-trow .fo-lock, .fo-trow .fo-score, .fo-trow-last { display: none; }
  .fo-panel-head { flex-wrap: wrap; }
}

/* "Nuova richiesta / proposta": la fisarmonica delle FAQ della home, con il modulo dentro */
.fo-faq { margin-bottom: 24px; }
.fo-faq .fo-form { padding: 4px 0 4px; }
.fo-faq .fo-form .field label { text-transform: none; letter-spacing: 0; font-size: 15px; color: var(--ink); }
.fo-new { margin: 0 0 24px; padding: 18px 22px; background: var(--panel); border: 1.5px dashed var(--line); border-radius: 14px; transition: border-color .28s var(--smooth, ease), box-shadow .28s var(--smooth, ease); }
.fo-new[open] { border-style: solid; border-color: var(--blue-hot); box-shadow: 0 0 0 3px var(--blue-soft); }
.fo-new summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 8px; font-family: var(--display); font-weight: 700; font-size: 16px; color: var(--blue); }
.fo-new summary::-webkit-details-marker { display: none; }
.fo-new form { margin-top: 18px; }
.fo-thread-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--line-soft); }
.fo-thread-head h1 { font-size: clamp(22px, 2.4vw, 30px); margin-bottom: 8px; }
.fo-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--grey-2); font-size: 14px; }
.fo-status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 22px; background: var(--panel-2); border-bottom: 1px solid var(--line-soft); }
.fo-status > span { margin-right: 6px; font-weight: 600; color: var(--grey); font-size: 14px; }
.fo-act-accepted { color: #16a34a !important; }
.fo-act-rejected { color: #dc2626 !important; }
.fo-vote { display: flex; align-items: center; gap: 8px; flex: none; }
.fo-vote-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 30px; cursor: pointer;
  border: 1.5px solid var(--line); background: var(--panel); color: var(--grey); font-weight: 700;
  transition: background-color .28s var(--smooth, ease), color .28s var(--smooth, ease), border-color .28s var(--smooth, ease), transform .2s var(--smooth, ease);
}
.fo-vote-btn:not(:disabled):hover { transform: scale(1.06); }
.fo-vote-btn:not(:disabled):active { transform: scale(.95); }
.fo-vote-btn.is-up:hover, .fo-vote-btn.is-up.is-on { border-color: #22c55e; color: #16a34a; background: rgba(34, 197, 94, .1); }
.fo-vote-btn.is-down:hover, .fo-vote-btn.is-down.is-on { border-color: #ef4444; color: #dc2626; background: rgba(239, 68, 68, .1); }
.fo-vote-btn:disabled { opacity: .55; cursor: default; }
.fo-vote-score { min-width: 42px; text-align: center; font-family: var(--display); font-size: 20px; font-weight: 800; color: var(--ink); }
.fo-posts { padding: 20px 22px 0; }
.fo-post { display: grid; grid-template-columns: 150px 1fr; gap: 0; margin-bottom: 14px; border: 1px solid var(--line-soft); border-radius: 14px; overflow: hidden; }
.fo-post.is-staff { border-color: var(--rc, var(--blue-hot)); box-shadow: 0 0 0 1px var(--rc, var(--blue-hot)); }
.fo-author { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 12px; text-align: center; background: var(--panel-2); border-right: 1px solid var(--line-soft); }
.fo-author .fo-skin { width: 80px; height: 80px; border-radius: 14px; }
.fo-author b { font-family: var(--display); color: var(--ink); word-break: break-all; }
.fo-content { padding: 18px 20px; }
.fo-content > small { color: var(--grey-2); font-size: 12.5px; }
.fo-answers { margin: 6px 0 0; }
.fo-answers dt { margin-top: 14px; font-family: var(--display); font-weight: 700; font-size: 15px; color: var(--ink); }
.fo-answers dd { margin: 5px 0 0; color: var(--grey); line-height: 1.7; white-space: pre-wrap; }
.fo-text { margin-top: 8px; color: var(--grey); line-height: 1.75; white-space: pre-wrap; }
.fo-reply { display: grid; gap: 12px; padding: 6px 22px 22px; }
.fo-reply .btn { justify-self: end; }
.fo-cat > .zr-empty { padding: 0 22px 22px; }
.fo-content, .fo-answers, .fo-text, .fo-name { -webkit-user-select: text; user-select: text; }
@media (max-width: 1180px) { .fo-row { grid-template-columns: 50px minmax(0, 1fr) 76px minmax(120px, 160px); } .fo-row > .fo-num + .fo-num { display: none; } }
@media (max-width: 980px) { .fo { grid-template-columns: 1fr; } .fo-side { position: static; } }
@media (max-width: 760px) {
  .fo-row, .fo-thread { grid-template-columns: 44px minmax(0, 1fr); }
  .fo-num, .fo-last { display: none !important; }
  .fo-thread-head { flex-direction: column; }
  .fo-post { grid-template-columns: 1fr; }
  .fo-author { flex-direction: row; border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .fo-author .fo-skin { width: 48px; height: 48px; }
}
/* ---------- impostazioni account ---------- */
.accp { padding: 26px clamp(14px, 5vw, 80px) 56px; display: grid; gap: 24px; }
.accp-card { display: flex; align-items: center; gap: 18px; padding: 18px; border-radius: 14px; background: var(--panel-2); }
.accp-skin { width: 84px; height: 84px; border-radius: 50%; flex: none; }
.accp-skin img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.accp-card b { display: block; font-family: var(--display); font-size: 22px; color: var(--ink); }
.accp-card small { display: block; color: var(--grey-2); }
.accp-role { display: inline-block; margin: 4px 0; padding: 2px 10px; border-radius: 20px; color: #fff; font-size: 12px; font-weight: 700; }
/* ---------- firma dei messaggi ---------- */
.sig { padding-top: 24px; border-top: 1px solid var(--line-soft); }
.sig-editor { border: 1.5px solid var(--line-soft); border-radius: 12px; overflow: hidden; background: var(--panel-2); transition: border-color .28s var(--smooth, ease), box-shadow .28s var(--smooth, ease); }
.sig-editor:focus-within { border-color: var(--blue-hot); box-shadow: 0 0 0 3px var(--blue-soft); }
.sig-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 6px; border-bottom: 1px solid var(--line-soft); }
.sig-bar button {
  width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 8px; cursor: pointer;
  background: transparent; color: var(--ink); font-size: 15px; transition: background-color .2s var(--smooth, ease);
}
.sig-bar button:hover { background: var(--blue-soft); color: var(--blue); }
.sig-sep { width: 1px; height: 22px; margin: 0 6px; background: var(--line); }
.sig-color::after { content: ''; width: 16px; height: 16px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 2px var(--panel); }
.sig-editor textarea { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; min-height: 90px; }
.sig-preview { margin: 4px 0 18px; }
.sig-preview > span { display: block; margin-bottom: 6px; font: 600 12.5px var(--display); text-transform: uppercase; letter-spacing: 1px; color: var(--grey); }
.sig-box { padding: 12px 14px; border-top: 1px dashed var(--line); color: var(--grey); font-size: 14px; line-height: 1.6; }
.sig-box a, .fo-sig a { color: var(--blue); text-decoration: underline; }
.sig-empty { color: var(--grey-2); }
/* firma in fondo ai messaggi del forum, separata */
.fo-sig { margin-top: 16px; padding-top: 10px; border-top: 1px dashed var(--line); color: var(--grey); font-size: 13.5px; line-height: 1.6; }

.bday-input {
  width: 100%; max-width: 320px; height: 50px; padding: 0 16px !important; border-radius: 9px !important;
  font: 700 17px var(--display) !important; letter-spacing: 1.5px; color: var(--ink) !important;
}
.bday-input::placeholder { letter-spacing: 1.5px; font-weight: 600; }
/* (vecchi menu a tendina della data, non più usati) */
.bday { display: grid; grid-template-columns: 110px minmax(150px, 200px) 120px; gap: 10px; }
.bday select {
  -webkit-appearance: none; appearance: none; height: 50px; padding: 0 40px 0 16px; border-radius: 9px; cursor: pointer;
  border: 1.5px solid var(--line-soft); background-color: var(--panel-2); color: var(--ink); font: 600 15px var(--body);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238a96ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 15px center; background-size: 12px 8px;
  transition: border-color .28s var(--smooth, ease), background-color .28s var(--smooth, ease);
}
.bday select:hover { border-color: var(--line); }
.bday select:focus { outline: 0; border-color: var(--blue-hot); box-shadow: 0 0 0 3px var(--blue-soft); }
@media (max-width: 560px) { .bday { grid-template-columns: 1fr 1.6fr 1.2fr; } }
.accp-links { display: flex; flex-wrap: wrap; gap: 10px; }
.accp-links form { margin: 0; }
.accp-out { color: #e5484d !important; }

/* ---------- store: barra categorie a schede grandi ---------- */
.cat-bar { gap: 14px; }
.cat-tab { padding: 16px 26px; border-radius: 10px; font-size: 16px; letter-spacing: .3px; text-transform: uppercase; transition: transform .18s var(--zr-pop), box-shadow .18s, border-color .18s; }
.cat-tab:hover { transform: translateY(-3px); }
.cat-tab.is-on { border-color: var(--blue-hot); box-shadow: 0 0 0 3px var(--blue-soft), var(--shadow); }
/* scheda categoria: niente barretta in alto (tagliava gli angoli arrotondati) e niente salto verso l'alto
   (col mouse sul bordo sfarfallava). Al passaggio compare una cornice sfumata blu che segue gli angoli */
.cat2 { transform: none !important; transition: box-shadow .4s ease, border-color .4s ease; }
.cat2::before { display: none !important; }
.cat2::after {
  content: ''; position: absolute; inset: 0; z-index: 4; border-radius: inherit; padding: 2px; pointer-events: none;
  background: linear-gradient(140deg, var(--blue-hot), var(--blue) 45%, rgba(59, 157, 255, .15) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  opacity: 0; transition: opacity .4s ease;
}
.cat2:hover { border-color: transparent; box-shadow: 0 16px 36px rgba(15, 116, 230, .22); }
.cat2:hover::after { opacity: 1; }
.cat2-cover img { transition: transform .7s cubic-bezier(.25, .8, .25, 1), filter .5s ease !important; }
.cat2-arrow { transition: background-color .35s ease, color .35s ease !important; }
.cat2:hover .cat2-arrow { transform: none !important; }

/* ---------- footer ondulato ---------- */
.zr-foot { position: relative; margin-top: 120px; background: #1f2a44; color: #b6c2d6; }
.zr-foot::before {
  content: ''; position: absolute; left: 0; right: 0; bottom: 100%; height: 60px; background: inherit;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 20C320 50 620 55 900 30S1300 0 1440 20V60H0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 20C320 50 620 55 900 30S1300 0 1440 20V60H0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
}
.zr-foot .wrap { width: min(1030px, 92vw); }
.zr-foot-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: 40px 0 26px; }
.zr-foot-brand { display: flex; align-items: center; gap: 16px; }
.zr-foot-brand img { width: 60px; height: 60px; object-fit: contain; transition: transform .3s var(--zr-pop); }
.zr-foot-brand:hover img { transform: rotate(-6deg) scale(1.06); }
.zr-foot-brand b { display: block; font-family: var(--display); font-size: 22px; color: #fff; }
.zr-foot-brand i { font-style: normal; font-size: 14px; color: #9fb0c8; }
.zr-foot-social { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.zr-foot-social > span { font-family: var(--display); font-weight: 600; font-size: 14px; color: #e2e8f0; }
.zr-foot-social div { display: flex; gap: 12px; }
/* icone social: colore del marchio, si ingrandiscono e brillano al passaggio */
.zr-foot-social a, .zr-foot-social button {
  --c: var(--blue); width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px;
  background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer;
  transition: transform .25s var(--zr-pop), background-color .2s, box-shadow .25s, border-color .2s;
}
.zr-foot-social .soc-dc { --c: #5865f2; }
.zr-foot-social .soc-tg { --c: #229ed9; }
.zr-foot-social .soc-ip { --c: #3fae29; }
/* will-change tiene l'icona sullo stesso livello grafico: niente "scatto" di allineamento a fine animazione */
.zr-foot-social a, .zr-foot-social button, .brand-badge { will-change: transform; backface-visibility: hidden; }
.zr-foot-social svg { display: block; }
/* etichetta al passaggio con il link (dsc.gg/…, t.me/…, acquaticmc.it): compare sopra l'icona in dissolvenza */
.zr-foot-social [data-tip] { position: relative; }
.zr-foot-social [data-tip]::after {
  content: attr(data-tip); position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translate(-50%, 4px);
  padding: 6px 11px; border-radius: 8px; background: #0b1324; color: #fff; font: 600 12.5px var(--display); white-space: nowrap;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .35); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease;
}
.zr-foot-social [data-tip]:hover::after, .zr-foot-social [data-tip]:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.zr-foot-social a:hover, .zr-foot-social button:hover { transform: scale(1.12); background: var(--c); border-color: transparent; box-shadow: 0 8px 22px color-mix(in srgb, var(--c) 55%, transparent); }
.zr-foot-social a:active, .zr-foot-social button:active { transform: scale(1.06); }
.zr-foot-links { display: flex; flex-wrap: wrap; gap: 6px 22px; padding: 18px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.zr-foot-links a { font-size: 14px; color: #b6c2d6; transition: color .15s; }
.zr-foot-links a:hover { color: #fff; }
.zr-foot-bottom { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 20px 0 34px; border-top: 1px solid rgba(255, 255, 255, .1); }
.zr-foot-bottom p { margin: 0 0 6px; font-size: 15px; }
.zr-foot-bottom b { color: #fff; }
.zr-foot-small { font-size: 13px !important; color: #8796ae; }
.zr-foot-right { text-align: right; }
.zr-foot-right a { color: #b6c2d6; transition: color .15s; }
.zr-foot-right a:hover { color: #fff; }
/* loghi pagamento: tutti uguali, schedine bianche della stessa misura, si ingrandiscono al passaggio */
.zr-foot-right .pay-logos { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; margin-top: 12px; }
.zr-foot .pay-logos img {
  width: 54px; height: 34px; border-radius: 6px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 3px 8px rgba(0, 0, 0, .35);
  transition: transform .2s var(--zr-pop), box-shadow .2s;
}
.zr-foot .pay-logos img:hover { transform: scale(1.12); box-shadow: 0 6px 14px rgba(0, 0, 0, .35); }
@media (max-width: 760px) {
  .zr-foot-top, .zr-foot-bottom { flex-direction: column; align-items: flex-start; }
  .zr-foot-social { align-items: flex-start; }
  .zr-foot-right { text-align: left; }
  .zr-foot-right .pay-logos { justify-content: flex-start; }
  .zr-leaders { grid-template-columns: 1fr; }
  .zr-leaders-txt { padding: 30px 22px; }
  .zr-leaders-art { min-height: 220px; }
}

/* ---------- finestra "come entrare nel server" ---------- */
html.no-scroll, html.no-scroll body { overflow: hidden; overscroll-behavior: none; }
.zr-join { overscroll-behavior: contain; }
.zr-join { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 16px; background: rgba(6, 12, 24, .55); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s; }
.zr-join.is-on { opacity: 1; visibility: visible; }
.zr-join-box {
  position: relative; width: min(640px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 32px 30px 28px;
  background: var(--panel); border-radius: 18px; border-top: 8px solid var(--blue); box-shadow: 0 30px 70px rgba(0, 0, 0, .4);
  transform: translateY(18px) scale(.97); transition: transform .3s var(--zr-pop);
}
.zr-join.is-on .zr-join-box { transform: none; }
.zr-join-x { position: absolute; top: 18px; right: 18px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; color: var(--grey-2); font-size: 26px; line-height: 1; transition: background .15s, color .15s, transform .2s var(--zr-pop); }
.zr-join-x { transition: background-color .2s ease, color .2s ease !important; }
.zr-join-x:hover { background: var(--panel-2); color: var(--ink); transform: none; }
.zr-join h2 { font-size: 26px; padding-right: 44px; }
.zr-join-ver { display: inline-block; margin-top: 10px; padding: 4px 13px; border-radius: 30px; background: var(--blue-soft); border: 1px solid rgba(15, 116, 230, .25); color: var(--blue); font-family: var(--display); font-weight: 700; font-size: 14px; }
.zr-join-ip {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin: 22px 0; padding: 16px 20px;
  border: 2px dashed var(--blue-hot); border-radius: 12px; background: var(--blue-soft); color: var(--ink); font-family: var(--display); font-size: 20px; font-weight: 700;
  transition: transform .18s var(--zr-pop), background .18s;
}
/* pressione morbida: scende piano al click e risale con la stessa curva; i colori sfumano lentamente */
.zr-join-ip { cursor: pointer; transition: transform .25s cubic-bezier(.25, .8, .25, 1), background-color .4s ease, border-color .4s ease; }
.zr-join-ip:hover { transform: scale(1.015); }
.zr-join-ip:active { transform: scale(.98); }
.zr-join-ip small { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--blue); }
.zr-join-ip .ip-done { display: none; color: #22c55e; }
/* copiato: bordo e sfondo verdi, scritta "✓ Copiato" con un piccolo "pop" */
.zr-join-ip.is-copied {   }
.zr-join-ip.is-copied .ip-idle { display: none; }
.zr-join-ip.is-copied .ip-done { display: inline-flex; }
.zr-join-steps { padding: 22px 24px; border-radius: 14px; background: var(--panel-2); border: 1px solid var(--line-soft); }
.zr-join-steps h3 { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 18px; margin-bottom: 18px; }
.zr-join-steps h3::before, .zr-join-steps h3::after { content: ''; width: 34px; height: 4px; border-radius: 4px; background: var(--blue); }
.zr-join-steps ol { list-style: none; counter-reset: j; margin: 0; padding: 0; display: grid; gap: 16px; }
.zr-join-steps li { counter-increment: j; display: flex; align-items: center; gap: 14px; color: var(--grey); font-size: 15.5px; animation: zrStep .35s var(--zr-ease) both; }
.zr-join-steps li::before { content: counter(j); flex: none; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-family: var(--display); font-weight: 700; font-size: 14px; }
.zr-join-steps li b { color: var(--blue); }
.zr-join-steps li strong { color: var(--ink); }
.zr-join.is-on li:nth-child(2) { animation-delay: .04s; } .zr-join.is-on li:nth-child(3) { animation-delay: .08s; }
.zr-join.is-on li:nth-child(4) { animation-delay: .12s; } .zr-join.is-on li:nth-child(5) { animation-delay: .16s; } .zr-join.is-on li:nth-child(6) { animation-delay: .2s; }
@keyframes zrStep { from { opacity: 0; transform: translateX(-8px); } }

/* ---------- nome "ZeroRoleplay" nei testi: senza logo, in grassetto, allineato al testo ---------- */
.zr { display: inline; gap: 0; font-weight: 700; color: var(--ink); white-space: nowrap; vertical-align: baseline; }
.zr img { display: none !important; }
[data-theme="dark"] .zr { color: #fff; }

/* ---------- fluidità generale ----------
   Tutti gli elementi interattivi usano la stessa durata e la stessa curva morbida (accelera e rallenta dolcemente):
   così hover, pressioni e cambi di colore hanno lo stesso ritmo ovunque. Si cambiano solo tempi e curva:
   ogni elemento continua ad animare soltanto le proprietà che aveva già. */
:root { --smooth: cubic-bezier(.4, 0, .2, 1); --smooth-t: .28s; }
a, button, .btn, input, select, textarea, summary, label.check,
.nav-drop-btn, .nav-menu a, .head-ip, .theme-btn, .brand-badge, .hero-cta,
.news-card, .zr-post, .mode-card, .prod, .cat2, .cat-tab, .cat2-arrow, .rule, .rules-link, .rules-index a,
.zr-foot-social a, .zr-foot-social button, .zr-join-ip, .ui-modal-acts button {
  transition-duration: var(--smooth-t);
  transition-timing-function: var(--smooth);
}
/* testo nitido durante gli ingrandimenti: l'elemento resta sullo stesso livello grafico (niente tremolii) */
.btn, .head-ip, .hero-cta, .rules-link, .theme-btn, .zr-join-ip, .ui-modal-acts button, .zr-foot-social a, .zr-foot-social button {
  backface-visibility: hidden; transform: translateZ(0);
}
.btn:hover, .head-ip:hover, .rules-link:hover { transform: translateZ(0) scale(1.04); }
.btn:active, .rules-link:active, .head-ip:active { transform: translateZ(0) scale(.97); transition-duration: .12s; }
/* immagini dentro le schede: zoom più lento e morbido */
.news-card-img img, .zr-post-img img, .mode-card .cover img, .prod-img img, .cat2-cover img { transition: transform .8s var(--smooth), filter .6s var(--smooth) !important; }

/* ---------- comparsa allo scorrimento: più rapida ---------- */
/* I contenuti restano visibili anche se JavaScript non parte. */
.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(12px); transition: opacity .36s ease-out, transform .36s ease-out; }
.motion-ready .reveal.in { opacity: 1; transform: none; }

/* ---------- tema scuro ---------- */
/* in notte solo l'ombra è più scura: la barretta blu in basso resta come in modalità giorno */
[data-theme="dark"] .brand-badge { box-shadow: 0 12px 26px rgba(0, 0, 0, .5), inset 0 -4px 0 var(--blue); }
[data-theme="dark"] .nav > a { color: var(--grey); }
[data-theme="dark"] .nav > a.is-on { color: #fff; }
[data-theme="dark"] .nav-drop-btn { color: var(--grey); }
[data-theme="dark"] .nav-drop-btn:hover { color: var(--blue-hot); }
[data-theme="dark"] .zr-foot { background: #070d19; }
[data-theme="dark"] .zr-leaders-art { background: linear-gradient(160deg, #13243d, #0d1626); }

@media (prefers-reduced-motion: reduce) {
  .zr-boot img, .zr-boot span::after, .zr-join-steps li { animation: none; }
}

/* Allineamenti condivisi del forum e dell'account. */
.fo-main, .fo-side, .fo-name, .fo-content, .fo-ffield { min-width: 0; }
.fo-welcome-top > div { min-width: 0; display: grid; justify-items: start; gap: 4px; }
.fo-welcome-top b { margin: 0; overflow-wrap: anywhere; }
.fo-box > p:last-child { margin-bottom: 0; }
.fo-staff li > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.fo-staff li { min-height: 40px; gap: 12px; }
.fo-staff small { margin-top: 3px; }
.fo-last-txt small { flex-wrap: wrap; }
.fo-stats { grid-template-columns: minmax(0, 1fr) minmax(0, auto); }
.fo-stats dd { overflow-wrap: anywhere; }
.acc-menu { max-width: calc(100vw - 24px); overflow: hidden; }
.acc-menu > a { text-align: left; }
.acc-foot { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.acc-foot a, .acc-foot button { width: 100%; min-height: 52px; height: auto; text-align: center; line-height: 1.35; }
.accp-form { display: grid; gap: 16px; min-width: 0; }
.accp-form .field { display: grid; gap: 8px; margin: 0; min-width: 0; }
.accp-form .field > label { margin: 0; }
.accp-form .field > small { display: block; line-height: 1.6; color: var(--grey-2); }
.accp-form > .btn { justify-self: start; min-width: 140px; }
.sig-preview { margin: 0; min-width: 0; }
.sig-box, .fo-sig { overflow-wrap: anywhere; }
.sig-editor textarea { display: block; width: 100%; resize: vertical; }
.accp-card > div { min-width: 0; overflow-wrap: anywhere; }
.accp-links { align-items: center; }
.accp-links .btn { min-height: 44px; }
.fo-fsubmit { flex-wrap: wrap; }
@media (max-width: 1080px) and (min-width: 981px) {
  .fo-row { grid-template-columns: 44px minmax(0, 1fr) 76px; gap: 12px; padding: 16px; }
  .fo-row .fo-last { grid-column: 2 / -1; border-left: 0; padding-left: 0; }
}
@media (max-width: 480px) {
  .accp-card { padding: 14px; gap: 12px; }
  .accp-skin { width: 60px; height: 60px; }
  .accp-form > .btn, .accp-links > *, .accp-links .btn { width: 100%; }
  .fo-fsubmit > .btn { width: 100%; }
}

/* Barra ampia con logo sporgente, navigazione e azioni come il riferimento. */
.wrap { width: min(1660px, 94vw); }
.head .wrap { width: min(1660px, 94vw); }
.head-in { height: 70px; gap: 16px; }
.brand { align-self: flex-start; margin-right: 32px; }
.brand-badge { width: 108px; height: 108px; padding: 6px; border-radius: 0 0 4px 4px; background: var(--panel); box-shadow: 0 4px 12px #0f172a14; }
[data-theme="dark"] .brand-badge { box-shadow: 0 4px 12px #0004; }
.brand-badge img { width: 100%; height: 100%; filter: none; }
.nav { margin-left: 0; gap: 24px; font-size: 17px; letter-spacing: .4px; flex-shrink: 0; }
.nav > a, .nav-drop-btn { padding: 10px 6px; font-weight: 700; border-radius: 6px; }
.nav > a.is-on, .nav-drop.is-on > .nav-drop-btn { background: transparent !important; color: var(--blue) !important; }
.nav > a:hover, .nav-drop-btn:hover { color: var(--blue); }
.acc, .acc-login { margin-left: auto; flex-shrink: 0; }
.acc-btn { height: 44px; padding: 0 2px 0 12px; gap: 4px; overflow: visible; border: 0; box-shadow: none; }
.acc-skin { display: block; width: 58px; height: 58px; border-radius: 0; overflow: visible; align-self: flex-end; }
.acc-skin img { display: block; width: 58px; height: 58px; object-fit: contain; }
.head-ip { margin-left: 0; min-height: 44px; padding: 12px 22px; font-size: 16px; background: var(--blue); box-shadow: 0 3px 5px #0f172a20; }
.head-ip .dot, .head-ip small { display: none; }
.theme-btn { flex-shrink: 0; margin-left: 0; }
.btn-primary, .hero-cta { border-radius: 999px; padding: 13px 24px; font-weight: 700; }
.fo-staff-skin { width: 40px; height: 40px; }
.fo-profile-link { color: inherit; }
.fo-profile-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.fo-staff li > a:last-child { min-width: 0; overflow-wrap: anywhere; }
.fo-post-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fo-post-top small { color: var(--grey-2); font-size: 12.5px; }
.fo-post-top form { margin: 0; }
.fo-delete-thread { padding: 14px 22px 0; margin: 0; display: flex; justify-content: flex-end; }
.fo-delete { color: #dc2626 !important; }
.fo-delete:hover { background: #ef444415; }
.fo-profile { padding: 28px; }
.fo-profile-head { display: flex; align-items: center; gap: 24px; }
.fo-profile-head h1 { margin: 0 0 10px; overflow-wrap: anywhere; }
.fo-profile-head p { margin: 12px 0 0; }
.fo-profile-skin { display: block; width: 160px; height: 160px; flex-shrink: 0; }
.fo-profile-skin img { width: 100%; height: 100%; object-fit: contain; }
.fo-profile-stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 16px; margin: 24px 0 0; }
.fo-profile-stats > div { border-radius: 12px; background: var(--panel-2); padding: 16px; }
.fo-profile-stats dt { font-size: 13px; color: var(--grey-2); }
.fo-profile-stats dd { font: 700 22px var(--display); color: var(--ink); margin: 8px 0 0; }
.fo-profile-stats dd small { display: block; font: 400 13px var(--display); margin-top: 4px; color: var(--grey-2); }
.fo-profile-activity { margin-top: 20px; }
.fo-profile-activity h2 { margin: 0 0 16px; font-size: 21px; }
.fo-profile-post { display: block; padding: 16px 0; border-top: 1px solid var(--line-soft); overflow-wrap: anywhere; }
.fo-profile-post b { color: var(--blue); }
.fo-profile-post small { display: block; margin: 6px 0; color: var(--grey-2); }
.fo-profile-post p { white-space: pre-wrap; }
@media (min-width: 1181px) and (max-width: 1450px) {
  .brand { margin-right: 14px; }
  .nav { gap: 12px; font-size: 15px; }
  .head-ip { padding-inline: 16px; font-size: 14px; }
}
@media (max-width: 1180px) {
  .head-in { gap: 12px; }
  .brand { margin-right: 0; }
  .burger { display: block; order: 5; margin-left: 0; }
  .nav { display: none; position: absolute; inset: 70px 3vw auto !important; margin: 0; padding: 16px; flex-direction: column; align-items: stretch; gap: 4px; border-radius: 14px; background: var(--panel); box-shadow: var(--shadow-lg); }
  .nav.open { display: flex; }
  .nav > a, .nav-drop-btn { padding: 12px 14px; }
  .acc, .acc-login { order: 1; margin-left: auto; }
  .head-ip { order: 2; margin-left: 0; }
  .theme-btn { order: 3; }
}
@media (max-width: 760px) {
  .head-in { height: 64px; gap: 8px; }
  .brand-badge { width: 78px; height: 84px; padding: 5px; }
  .head-ip { min-height: 40px; padding: 10px 14px; font-size: 12px; }
  .head-ip-txt { max-width: 132px; }
  .acc-skin, .acc-skin img { width: 48px; height: 54px; }
  .acc-btn { padding-left: 8px; }
  .nav { top: 64px !important; }
  .fo-profile-head { gap: 14px; }
  .fo-profile-skin { width: 100px; height: 120px; }
}
@media (max-width: 420px) {
  .head-in { gap: 6px; }
  .brand-badge { width: 62px; height: 74px; }
  .head-ip { padding-inline: 10px; font-size: 10px; }
  .acc-skin, .acc-skin img { width: 38px; height: 50px; }
  .acc-caret { width: 12px; }
  .theme-btn { width: 32px; height: 36px; }
  .burger { width: 24px; }
  .fo-profile { padding: 18px; }
  .fo-profile-head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 420px) { .head-ip-txt { max-width: 88px; } }
@media (max-width: 360px) { .acc-caret { display: none; } .acc-btn { padding: 0; } }
@media (max-width: 420px) { .head-in { gap: 4px; } }
@media (max-width: 420px) { .burger { padding: 0; } .burger span { margin-inline: auto; } }

/* Proporzioni del forum: colonna centrale da 1380px, righe e comandi compatti. */
.brand-badge { border-radius: 0 0 16px 16px; }
.nav > a.is-on, .nav-drop.is-on > .nav-drop-btn { background: #328bc5 !important; color: #fff !important; border-radius: 999px; padding: 3px 10px; }
.forum-page main > section > .wrap:not(.zr-narrow) { width: min(1380px, 92vw); }
.forum-page .zr-page { padding-top: 48px; }
.forum-page main { --grey-2: #64748b; }
.forum-page .fo-cat { box-shadow: 0 1px 3px #0f172a0d; border: 1px solid var(--line-soft); border-radius: 12px; }
.forum-page .fo-cat-h { padding: 13px 20px; background: #dcefff; color: #18577f; font-size: 13px; }
.forum-page .fo-name b { font-size: 16px; }
.forum-page .fo-row { min-height: 82px; padding: 14px 20px; }
.forum-page .fo-panel-head { padding: 16px 20px; }
.forum-page .fo-panel-head h1 { font-size: 22px; }
.forum-page .fo-panel-head .fo-ico { width: 44px; height: 44px; }
.forum-page .fo-crumbs { padding: 11px 20px; font-size: 13px; background: var(--panel-2); }
.forum-page .fo-info { padding: 16px; background: #eff9ff; border-color: #b8dff8; }
.forum-page .fo-info b { color: #126a9f; font-size: 16px; }
.forum-page .fo-info p { font-size: 14px; color: #334155; }
.forum-page .fo-info-ico { background: #dff2ff; color: #167eae; }
.forum-page .fo-panel .btn-primary, .forum-page .fo-fsubmit .btn-primary, .forum-page .fo-reply .btn-primary { background: #187fb9; border-color: #187fb9; border-radius: 6px; padding: 9px 15px; min-height: 36px; font-size: 13px; box-shadow: none; }
.forum-page .fo-filters { background: var(--panel-2); padding: 12px 16px; gap: 6px; }
.forum-page .fo-filter { padding: 6px 12px; font-size: 12px; }
.forum-page .fo-filter.st-pending { background: #fff0a8; color: #705500; }
.forum-page .fo-filter.st-delivered { background: #baf3d3; color: #165c39; }
.forum-page .fo-filter.st-refunded { background: #ffdfdf; color: #8e2929; }
.forum-page .fo-filter.st-cancelled { background: #e2e8f0; color: #334155; }
.forum-page .fo-tlist { margin: 0 16px 24px; }
.forum-page .fo-trow { grid-template-columns: 36px minmax(0, 1fr) 28px 170px; padding: 10px 16px; gap: 12px; min-height: 58px; }
.forum-page .fo-trow .fo-skin { width: 36px; height: 36px; }
.forum-page .fo-trow-title { gap: 6px; font-size: 14px; }
.forum-page .fo-trow-title b { font-weight: 500; }
.forum-page .fo-trow-main small, .forum-page .fo-trow-last { font-size: 12px; }
.forum-page .fo-trow-last { padding-left: 12px; }
[data-theme="dark"] .forum-page main { --grey-2: #a3b3c8; }
[data-theme="dark"] .forum-page .fo-cat-h { background: #193f60; color: #d2edff; }
[data-theme="dark"] .forum-page .fo-info { background: #102a40; border-color: #285b7a; }
[data-theme="dark"] .forum-page .fo-info b { color: #8ed2ff; }
[data-theme="dark"] .forum-page .fo-info p { color: #d2dfec; }
[data-theme="dark"] .forum-page .fo-info-ico { background: #164362; color: #8ed2ff; }
@media (max-width: 860px) {
  .forum-page .fo-trow { grid-template-columns: 36px minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .forum-page .zr-page { padding-top: 34px; }
  .forum-page .fo-panel-head h1 { font-size: 20px; }
  .forum-page .fo-trow-title { flex-wrap: wrap; }
  .forum-page .fo-trow-title b { white-space: normal; }
  .forum-page .fo-row { grid-template-columns: 44px minmax(0, 1fr); padding: 14px; }
}

/* Stile comune delle pagine e fascia dritta, senza onde. */
body:not(.adm) .wrap { width: min(1408px, 92vw); }
body:not(.adm) .head .wrap { width: min(1660px, 94vw); }
body:not(.adm) .wrap.zr-narrow { width: min(1100px, 92vw); }
body:not(.adm) .zr-page { padding-top: 48px; }
.staff-head, .zr-board-head { background: #4c9fda; padding: 26px 20px !important; }
.staff-head::after, .zr-board-head::after, .zr-foot::before, .hero-wave, .staff-wave { display: none !important; }
body:not(.adm) .hero, body:not(.adm) .ph { -webkit-mask: none !important; mask: none !important; }
.zr-foot { margin-top: 80px; border-top: 6px solid #4c9fda; }
body:not(.adm) .btn-primary { background: #187fb9; border-color: #187fb9; border-radius: 6px; padding: 10px 18px; box-shadow: none; }
body:not(.adm) .btn-primary:hover { background: #126da3; }
.brand-badge { border-radius: 0 0 16px 16px; }
.acc-btn { height: 44px; width: 90px; padding: 0 4px 0 14px; background: #e5e7eb; gap: 8px; }
.acc-skin { width: 52px; height: 58px; flex: none; }
.acc-skin img { width: 52px; height: 58px; }
[data-theme="dark"] .acc-btn { background: #28364b; }
/* La sottolineatura è limitata al nome: il ruolo è un elemento separato. */
.fo-profile-link:hover { text-decoration: none; }
.fo-profile-link:hover > b, .fo-player-name:hover, .fo-online .fo-profile-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.fo-player-name { color: inherit; }
.fo-staff small { text-decoration: none; }
/* Cerchio di sfondo condiviso da tutte le skin, come nella pagina Staff. */
.skin-wrap { isolation: isolate; }
.skin-wrap::before { content: ''; position: absolute; left: 5%; bottom: 0; width: 90%; height: 90%; border-radius: 50%; background: #e5e7eb; z-index: -1; }
[data-theme="dark"] .skin-wrap::before { background: #26364e; }
.skin-wrap img { position: relative; border-radius: 0 0 50% 50%; object-fit: contain; }
.acc-skin::before { display: none; }
.fo-face, .fo-alert-item > img { border-radius: 50%; background: #e5e7eb; object-fit: contain; }
[data-theme="dark"] .fo-face, [data-theme="dark"] .fo-alert-item > img { background: #26364e; }
.fo-nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; position: relative; z-index: 5; margin: 0 0 20px; padding: 0 12px; min-height: 48px; border-radius: 8px; background: #329bd9; color: #fff; box-shadow: 0 2px 5px #167eb32b; }
.fo-nav-tabs { display: flex; align-items: stretch; min-height: 48px; gap: 4px; }
.fo-nav-tabs > a { display: flex; align-items: center; padding: 0 10px; position: relative; font: 600 12px var(--body); text-transform: uppercase; color: #e8f6ff; white-space: nowrap; }
.fo-nav-tabs > a:hover, .fo-nav-tabs > a.is-active { color: #fff; }
.fo-nav-tabs > a.is-active::after { content: ''; position: absolute; bottom: 0; left: 6px; right: 6px; height: 3px; border-radius: 3px 3px 0 0; background: #fff; }
.fo-nav-actions { display: flex; align-items: center; gap: 12px; }
.fo-nav-icon, .fo-notifications > summary { display: grid; place-items: center; width: 25px; height: 32px; color: #fff; cursor: pointer; position: relative; }
.fo-notifications > summary { list-style: none; }
.fo-notifications > summary::-webkit-details-marker { display: none; }
.fo-nav-search { display: flex; align-items: center; margin: 0; background: #ffffff2b; border-radius: 6px; width: 260px; }
.fo-nav-search input { width: 100%; min-width: 0; height: 32px; padding: 0 12px; border: 0; background: transparent; color: #fff; font-size: 13px; box-shadow: none; }
.fo-nav-search input::placeholder { color: #eff8ff; }
.fo-nav-search button { flex: none; height: 32px; width: 34px; display: grid; place-items: center; border: 0; background: transparent; color: #fff; cursor: pointer; }
.fo-badge { position: absolute; top: -2px; right: -6px; border-radius: 12px; background: #b91c1c; color: #fff; font: 700 10px var(--body); padding: 1px 4px; }
.fo-alert-menu { position: absolute; right: 12px; top: calc(100% + 4px); width: min(380px, calc(100vw - 32px)); background: var(--panel); border: 1px solid var(--line); color: var(--ink); box-shadow: var(--shadow-lg); border-radius: 6px; overflow: hidden; }
.fo-alert-menu h2 { margin: 0; font-size: 13px; padding: 12px 16px; background: var(--panel-2); border-bottom: 1px solid var(--line-soft); }
.fo-alert-menu > p { padding: 16px; margin: 0; font-size: 13px; }
.fo-alert-menu form, .fo-notification-list form { margin: 0; }
.fo-alert-item { width: 100%; display: flex; align-items: flex-start; gap: 12px; text-align: left; padding: 14px 16px; color: var(--ink); background: var(--panel); border: 0; border-bottom: 1px solid var(--line-soft); font: 13px/1.5 var(--body); cursor: pointer; }
.fo-alert-item.is-unread { background: var(--blue-soft); }
.fo-alert-item:hover { background: var(--panel-2); }
.fo-alert-item img { flex: none; }
.fo-alert-item small { display: block; margin-top: 4px; color: var(--grey-2); font-size: 11px; }
.fo-alert-all { display: block; text-align: center; color: #1575b0; padding: 10px; font-size: 13px; font-weight: 600; }
.fo-page-title { font: 600 23px var(--body); color: var(--ink); margin: 20px 0 16px; }
.forum-page main { --display: var(--body); }
.fo-side { position: static; gap: 16px; }
.fo-box { border: 1px solid var(--line-soft); border-radius: 8px; box-shadow: 0 1px 2px #0f172a0a; }
.fo-box h3 { background: var(--panel-2); font-size: 15px; font-weight: 600; }
.fo-bday { background: var(--panel); }
.fo-bday .fo-staff { max-height: 174px; overflow-y: auto; }
.fo-bday .fo-staff small { display: none; }
.fo-bday .fo-staff-skin { width: 24px; height: 24px; }
.fo-bday .fo-staff li { min-height: 24px; }
.fo-bday .fo-staff b { font-size: 13px; font-weight: 400; }
.forum-page .fo-row { min-height: 72px; }
.fo-member-search { display: flex; align-items: center; gap: 12px; padding: 8px 14px; border: 1px solid var(--line); background: var(--panel); border-radius: 7px; margin-bottom: 20px; }
.fo-member-search input { border: 0; background: transparent; flex: 1; width: 0; box-shadow: none; }
.fo-member-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.fo-members-title { background: #4c5256; color: #fff; border-radius: 6px; font-size: 13px; text-transform: uppercase; padding: 14px 16px; margin: 0 0 8px; }
.fo-member-grid { display: grid; grid-template-columns: 1fr 1fr; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: 10px 16px; gap: 16px 22px; }
.fo-member { display: flex; align-items: center; gap: 12px; min-width: 0; font-size: 13px; }
.fo-member-avatar { flex: none; }
.fo-member > span { min-width: 0; }
.fo-member a { overflow-wrap: anywhere; }
.fo-member small { display: block; color: var(--grey-2); font-size: 11px; }
.fo-member-count { margin-left: auto; white-space: nowrap; }
.fo-feed { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.fo-feed-row { display: grid; grid-template-columns: 36px minmax(0,1fr) 20px 170px; align-items: center; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--line-soft); min-height: 58px; color: var(--ink); }
.fo-feed-row:last-child { border: 0; }
.fo-feed-row:nth-child(even) { background: var(--panel-2); }
.fo-feed-row:hover { background: var(--blue-soft); }
.fo-feed-main { min-width: 0; font-size: 14px; }
.fo-feed-main > span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fo-feed-main b { font-weight: 500; }
.fo-feed-main small, .fo-feed-last small { display: block; font-size: 12px; color: var(--grey-2); }
.fo-feed-last { border-left: 1px solid var(--line); padding-left: 12px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; text-align: right; font-size: 12px; }
.fo-pages { display: flex; gap: 6px; margin: 20px 0; }
.fo-search-form, .fo-notification-list, .fo-inbox { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.fo-search-row { display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: start; gap: 24px; padding: 18px 20px; border-bottom: 1px solid var(--line-soft); font-size: 13px; }
.fo-search-row > label, .fo-search-row > span { padding-top: 12px; text-align: right; color: var(--ink); font-weight: 600; }
.fo-search-row input:not([type=checkbox]):not([type=radio]) { width: 100%; }
.fo-check { display: flex; align-items: center; gap: 8px; margin: 8px 0; color: var(--grey); font-weight: 400; }
.fo-check input { margin: 0; flex: none; }
.fo-search-sections { max-height: 240px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; padding: 12px; }
.fo-search-sections fieldset { border: 0; padding: 4px 8px; margin: 0; }
.fo-search-sections legend { font-weight: 600; color: var(--ink); }
.fo-search-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fo-search-dates label { color: var(--grey-2); font-size: 12px; }
.fo-search-dates input { margin-top: 6px; }
.fo-search-order { display: flex; gap: 20px; }
.fo-search-submit { display: flex; justify-content: flex-end; padding: 16px 20px; background: var(--panel-2); }
.fo-inbox { display: grid; grid-template-columns: 280px minmax(0,1fr); }
.fo-conversations { padding: 12px; background: var(--panel-2); border-right: 1px solid var(--line-soft); }
.fo-conversations > a { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 6px; color: var(--ink); font-size: 13px; }
.fo-conversations > a.is-active { background: var(--blue-soft); }
.fo-conversations small { display: block; margin-top: 4px; color: var(--grey-2); overflow-wrap: anywhere; }
.fo-message-main { padding: 20px; }
.fo-message { background: var(--panel-2); border-radius: 10px; padding: 12px 16px; margin-bottom: 12px; font-size: 13px; }
.fo-message.is-mine { background: var(--blue-soft); }
.fo-message small { display: block; color: var(--grey-2); margin-top: 4px; }
.fo-message p { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: 0; }
.fo-message-form { display: grid; gap: 10px; margin-top: 20px; font-size: 13px; }
.fo-message-form .btn { justify-self: end; }
.fo-profile-v2 { padding: 0 24px 24px; overflow: hidden; }
.fo-profile-cover { height: 90px; margin: 0 -24px; background: linear-gradient(110deg,#dcefff,#f0f8ff); border-bottom: 1px solid var(--line-soft); }
[data-theme="dark"] .fo-profile-cover { background: linear-gradient(110deg,#163957,#1a2840); }
.fo-profile-v2 .fo-profile-head { position: relative; margin-top: -38px; gap: 22px; align-items: flex-end; }
.fo-profile-v2 .fo-profile-skin { width: 132px; height: 150px; flex: none; background: transparent; }
.fo-profile-identity { padding: 42px 0 6px; min-width: 0; }
.fo-profile-identity h1 { font-size: 30px; margin: 0 0 10px; }
.fo-profile-identity > small { display: block; font-size: 12px; color: var(--grey-2); margin-top: 10px; }
.fo-profile-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.fo-tag { padding: 4px 10px; font-size: 11px; font-weight: 600; border-radius: 20px; }
.fo-tag-positive { background: #dcfce7; color: #166534; }
.fo-profile-v2 .fo-message-player { margin-left: auto; margin-bottom: 6px; }
.fo-profile-v2 .fo-profile-stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.fo-profile-v2 .fo-profile-stats > div { border: 1px solid var(--line-soft); border-radius: 8px; }
.fo-profile-v2 .fo-profile-stats dt { font-size: 12px; }
.fo-rating-positive { color: #15803d !important; }
.fo-rating-negative { color: #b91c1c !important; }
[data-theme="dark"] .fo-rating-positive { color: #86efac !important; }
[data-theme="dark"] .fo-rating-negative { color: #fca5a5 !important; }
.fo-profile-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fo-profile-post .status-pill { margin-right: 8px; vertical-align: middle; }
.fo-profile-post > b { font-size: 14px; }
.fo-profile-post p { font-size: 13px; margin-top: 8px; }
@media(max-width:1100px) {
 .fo-nav-search { width: 180px; }
 .fo-member-grid { grid-template-columns: 1fr; }
}
@media(max-width:760px) {
 .acc-btn { width: 76px; padding-left: 10px; gap: 4px; }
 .acc-skin, .acc-skin img { width: 48px; height: 54px; }
 .fo-nav { flex-wrap: wrap; padding: 0 8px 8px; gap: 0; }
 .fo-nav-tabs { width: 100%; justify-content: space-between; }
 .fo-nav-tabs > a { padding: 0 6px; font-size: 11px; }
 .fo-nav-actions { width: 100%; gap: 12px; }
 .fo-nav-search { flex: 1; width: 0; }
 .fo-search-row { grid-template-columns: 1fr; gap: 8px; padding: 14px; }
 .fo-search-row > label, .fo-search-row > span { text-align: left; padding: 0; }
 .fo-member-columns, .fo-profile-panels { grid-template-columns: 1fr; }
 .fo-feed-row { grid-template-columns: 36px minmax(0,1fr); }
 .fo-feed-row > .fo-lock, .fo-feed-row > span:empty, .fo-feed-last { display: none; }
 .fo-feed-main > span { white-space: normal; }
 .fo-inbox { grid-template-columns: 1fr; }
 .fo-conversations { max-height: 200px; overflow-y: auto; border-right: 0; border-bottom: 1px solid var(--line); }
 .fo-profile-v2 .fo-profile-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .fo-profile-v2 .fo-profile-head { flex-wrap: wrap; gap: 12px; }
 .fo-profile-identity h1 { font-size: 24px; }
 .fo-profile-v2 .fo-message-player { margin: 0; }
 .fo-profile-v2 .fo-profile-skin { width: 100px; height: 120px; }
}
@media(max-width:420px) {
 .acc-btn { width: 52px; padding: 0; gap: 2px; }
 .acc-skin, .acc-skin img { width: 38px; height: 50px; }
 .fo-search-dates { grid-template-columns: 1fr; }
 .fo-profile-v2 .fo-profile-head { flex-direction: row; align-items: flex-end; }
 .fo-profile-identity { padding-top: 44px; }
 .fo-profile-identity h1 { font-size: 21px; }
 .fo-profile-v2 .fo-profile-skin { width: 80px; height: 100px; }
}

/* Movimento breve, con geometria e dimensioni del testo stabili. */
body:not(.adm) :is(.btn,.head-ip,.theme-btn,.brand-badge,.hero-cta,.rules-link,.cat-tab,.fo-vote-btn,.zr-join-ip,.nav-menu a,.zr-foot-social a,.zr-foot-social button),
.ui-modal-acts button { transition: transform .2s ease-out, background-color .18s ease-out, color .18s ease-out, border-color .18s ease-out, box-shadow .2s ease-out, opacity .18s ease-out; }
body:not(.adm) :is(.ico-tile,.cat-tab-ico,.fo-ico,.quick-go,.cat2-arrow) { transition: transform .2s ease-out, background-color .18s ease-out, color .18s ease-out, border-color .18s ease-out; }
.nav-caret svg { transition: transform .2s ease-out !important; }
.fo-row, .fo-trow, .fo-feed-row { transition: background-color .18s ease-out; }
.fo-face { flex: none; }
.acc-skin.skin-wrap { overflow: visible; background: transparent; }
.hero h1 { max-width: 1000px; margin-inline: auto; font-size: clamp(23px,2.3vw,36px); line-height: 1.25; }
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.fo-player-dialog { width: min(500px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 16px; color: var(--ink); background: var(--panel); box-shadow: 0 20px 70px #0004; overflow: visible; }
.fo-player-dialog::backdrop { background: #0f172a55; }
.fo-player-close { position: absolute; z-index: 2; right: 12px; top: 10px; width: 26px; height: 26px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #0003; color: #fff; cursor: pointer; font-size: 21px; }
.fo-player-banner { display: flex; align-items: center; gap: 16px; min-height: 96px; padding: 20px 44px 20px 20px; border-radius: 16px 16px 0 0; background: linear-gradient(100deg,#475569,#1e293b); color: #fff; }
.fo-player-avatar { width: 104px; height: 104px; margin-bottom: -48px; flex: none; background: transparent; }
.fo-player-avatar img { width: 104px; height: 104px; object-fit: contain; }
.fo-player-banner h2 { margin: 0 0 4px; font: 600 20px var(--body); overflow-wrap: anywhere; }
.fo-player-role { display: block; color: #e2e8f0; font-size: 12px; }
.fo-player-card-body { padding: 42px 20px 20px; }
.fo-player-presence { padding: 12px 14px; border: 1px solid var(--line-soft); background: var(--panel-2); border-radius: 8px; font: 600 13px var(--body); }
.fo-player-presence.is-online { color: #087451; }
[data-theme="dark"] .fo-player-presence.is-online { color: #6ee7b7; }
.fo-player-numbers { display: grid; grid-template-columns: repeat(auto-fit,minmax(90px,1fr)); gap: 8px; margin: 12px 0 16px; }
.fo-player-numbers > div { border: 1px solid var(--line-soft); border-radius: 7px; padding: 10px 6px; text-align: center; }
.fo-player-numbers dt { font-size: 11px; color: var(--grey-2); margin-bottom: 4px; }
.fo-player-numbers dd { font-size: 13px; margin: 0; font-weight: 600; }
.fo-player-full { display: block; padding: 10px; background: var(--panel-2); border-radius: 8px; color: var(--ink); text-align: center; font-size: 13px; font-weight: 600; }
.fo-player-full:hover { background: var(--blue-soft); }

/* Menu account identico nelle proporzioni e negli spazi al menu Store. */
.acc-menu { width: 230px; padding: 8px; border-radius: 14px; border: 1px solid var(--line-soft); background: var(--panel); box-shadow: var(--shadow-lg); }
.acc-menu > a, .acc-menu > form > button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; margin: 0; padding: 10px 12px !important; border: 0; border-radius: 9px; background: transparent; color: var(--ink); text-align: left; font: 600 14.5px var(--body); cursor: pointer; transition: background-color .18s ease-out, color .18s ease-out; }
.acc-menu > a span:last-child { display: inline; line-height: 1.4; }
.acc-menu > form { margin: 0; }
.acc-menu .ico { flex: none; color: var(--blue); }
.acc-menu > a:hover, .acc-menu > form > button:hover { background: var(--blue-soft); color: var(--blue); }
.acc-menu .acc-logout, .acc-menu .acc-logout .ico { color: #c52d3c; }
.acc-menu .acc-logout:hover { background: #ef444415; color: #a91e2b; }
[data-theme="dark"] .acc-menu .acc-logout, [data-theme="dark"] .acc-menu .acc-logout .ico { color: #ff8791; }

.accp { padding: 28px clamp(18px,4vw,48px) 36px; gap: 24px; }
.accp-form { gap: 14px; }
.accp-form .field > label { text-transform: none; letter-spacing: 0; font: 600 14px var(--body); color: var(--ink); }
.accp-form .field > small { font-size: 12px; color: var(--grey); }
.sig { padding-top: 24px; }
.sig-bar { gap: 4px; padding: 8px; }
.sig-bar button { width: 32px; height: 32px; }
.sig-editor textarea { min-height: 120px; padding: 14px; font: 14px/1.6 var(--body); color: var(--ink); }
.accp-form > .btn { min-width: 126px; min-height: 40px; }
@media(max-width:480px) { .accp { padding: 20px 16px 28px; } }
.fo-player-banner h2 { color: #fff; }

.fo-tag-premium { background: #fef3c7; color: #854d0e; } .fo-tag-account { background: var(--panel-2); color: var(--grey); }

.account-time { border-top:1px solid var(--line-soft);padding-top:24px; } .account-time h2 { font:600 18px var(--body);margin:0 0 16px; } .account-time small { font-size:13px;color:var(--grey);line-height:1.6; } .account-time dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 10px;} .account-time dl>div {padding:16px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:8px;} .account-time dt {font-size:12px;color:var(--grey);} .account-time dd {margin:6px 0 0;font:600 22px var(--body);color:var(--ink);}

.wiki-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); }
.wiki-side { padding: 24px; background: var(--panel-2); border-right: 1px solid var(--line-soft); }
.wiki-side form { margin-bottom: 20px; }
.wiki-side label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.wiki-side form > div { display: flex; }
.wiki-side input { width: 100%; min-width: 0; }
.wiki-side button { border: 1px solid var(--line); border-left: 0; background: var(--panel); color: var(--ink); border-radius: 0 6px 6px 0; width: 38px; flex: none; }
.wiki-side nav { display: grid; gap: 5px; margin-bottom: 20px; }
.wiki-side nav a { padding: 10px 12px; font-size: 13px; border-radius: 7px; color: var(--ink); }
.wiki-side nav a:hover,.wiki-side nav a.is-active { background: var(--blue-soft); color: var(--blue); }
.wiki-content { padding: 28px clamp(18px,4vw,52px); min-width: 0; line-height: 1.8; color: var(--grey); font-size: 14px; user-select: text; }
.wiki-content h1 { font-size: 28px; margin-top: 0; }
.wiki-content h2 { font-size: 22px; margin-top: 30px; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.wiki-content h3,.wiki-content h4 { font-size: 17px; margin-top: 26px; }
.wiki-content code { background: var(--panel-2); border: 1px solid var(--line-soft); padding: 2px 5px; border-radius: 4px; color: var(--ink); overflow-wrap: anywhere; }
.wiki-content a { color: var(--blue); }
.wiki-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.wiki-cards > a { display: grid; align-content: start; gap: 14px; padding: 22px; border: 1px solid var(--line-soft); border-radius: 10px; color: var(--ink); background: var(--panel-2); }
.wiki-cards > a .ico,.wiki-cards > a span { color: var(--blue); }
.wiki-cards > a span { font-size: 12px; }
.onda-toggle { position: fixed; z-index: 80; bottom: 22px; right: 22px; width: 62px; height: 62px; border-radius: 50%; border: 1px solid var(--line); background: var(--panel); color: var(--ink); box-shadow: var(--shadow-lg); display: grid; place-items: center; cursor: pointer; }
.onda-toggle img { width: 48px; height: 48px; object-fit: contain; }
.onda { border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: var(--shadow-lg); overflow: hidden; color: var(--ink); }
.onda[hidden] { display: none; }
.onda-widget { position: fixed; right: 22px; bottom: 96px; z-index: 81; width: min(410px,calc(100vw - 32px)); }
.onda-head { display: flex; align-items: center; gap: 12px; background: var(--blue-soft); padding: 16px; border-bottom: 1px solid var(--line-soft); }
.onda-head > img { object-fit: contain; }
.onda-head > div { display: grid; gap: 5px; }
.onda-head b { font: 700 21px var(--display); }
.onda-badge { display: inline-block; padding: 3px 7px; border-radius: 20px; background: #dbefff; color: #155c89; font: 600 10px var(--body); white-space: nowrap; }
[data-theme="dark"] .onda-badge { background: #214765; color: #c8eaff; }
.onda-close { margin-left: auto; width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--panel); color: var(--ink); cursor: pointer; font-size: 22px; }
.onda-messages { padding: 16px; height: min(370px,45vh); overflow-y: auto; display: flex; flex-direction: column; gap: 14px; }
.onda-page .onda-messages { height: 460px; max-height: 60vh; }
.onda-message { background: var(--panel-2); border: 1px solid var(--line-soft); padding: 12px; border-radius: 10px; font: 13px/1.65 var(--body); color: var(--ink); }
.onda-message.is-user { align-self: flex-end; max-width: 92%; background: var(--blue-soft); }
.onda-speaker { display: flex; align-items: center; gap: 7px; margin-bottom: 6px; font-size: 12px; }
.onda-speaker img { object-fit: contain; }
.onda-message p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; user-select: text; }
.onda-sources { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.onda-sources a { color: var(--blue); font-size: 11px; padding: 3px 7px; border: 1px solid var(--line); border-radius: 6px; }
.onda-form { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line-soft); margin: 0; }
.onda-form textarea { flex: 1; min-width: 0; min-height: 52px; resize: vertical; max-height: 120px; font: 13px/1.5 var(--body); }
.onda-form > button { display: grid; place-items: center; width: 42px; border: 0; border-radius: 8px; background: #187fb9; color: #fff; cursor: pointer; }
.onda-form > button:disabled { opacity: .5; cursor: wait; }
.onda-foot { display: flex; justify-content: space-between; padding: 0 16px 14px; gap: 10px; font-size: 11px; }
.onda-foot a { color: var(--grey); }
@media(min-width:1181px) and (max-width:1320px) { .nav { gap: 8px; font-size: 14px; } .brand { margin-right: 10px; } .head-in { gap: 12px; } }
@media(max-width:760px) { .wiki-layout { grid-template-columns: 1fr; } .wiki-side { border-right: 0; border-bottom: 1px solid var(--line); } .wiki-side nav { grid-template-columns: repeat(2,minmax(0,1fr)); } .wiki-cards { grid-template-columns: 1fr; } .onda-widget { right: 16px; bottom: 88px; } .onda-toggle { right: 16px; bottom: 16px; } }

.onda-form > label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .onda-message code { font-size:.95em; background:var(--panel); border:1px solid var(--line-soft); padding:1px 4px; border-radius:4px; } .fo-player-numbers:has(>div:nth-child(5)) >div:last-child {grid-column:1/-1;}

@media(min-width:1181px){
 .head .nav > a,.head .nav-drop-btn,.head .nav > a:is(:hover,.is-on),.head .nav-drop:is(:hover,.is-on) > .nav-drop-btn { padding:1px 8px!important;line-height:1.35;font-size:inherit!important;font-weight:700!important;border-radius:999px;transform:none!important;transition:background-color .16s ease,color .16s ease; }
 .head .nav > a:hover,.head .nav-drop:hover > .nav-drop-btn {background:#328bc5!important;color:#fff!important;}
}
.fo-onda-logo {display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--panel);border:1px solid var(--line-soft);}
.fo-onda-logo img {width:72px;height:72px;object-fit:contain;}
.fo-onda-tag {font-size:10px;line-height:1.5;padding:4px 7px;border-radius:16px;background:#dbefff;color:#155c89;}
.fo-ask-onda {display:flex;justify-content:flex-end;padding:0 22px 18px;}
.fo-ai-text {white-space:normal;}
.fo-ai-text p:first-child {margin-top:0;}
.zr-boot {display:none!important;}

html {scrollbar-gutter:stable;}
.prod,.mode-card,.zr-post,.prod-body,.prod-foot,.pdp>div,.buy,.gallery,.zr-post-body,.mode-card .body {min-width:0;}
.prod h3,.prod .feats,.prod-sub,.mode-card h3,.zr-post-body>b,.buy h1 {overflow-wrap:anywhere;word-break:normal;}
.prod-foot,.prod-meta {flex-wrap:wrap;gap:12px;align-items:center;}
.prod-img {height:auto;aspect-ratio:16/9;min-height:150px;}
.prod-img img {display:block;width:100%;height:100%;object-fit:contain;min-height:150px;}
.gallery .main {aspect-ratio:16/10;height:auto;min-height:220px;}
.gallery .main img {display:block;object-fit:contain;max-width:100%;}
.zr-post {align-items:stretch;}
.zr-post-body {justify-content:flex-start;align-items:flex-start;gap:8px;padding:4px 0;}
.zr-post-body>b,.zr-post-body>small,.zr-post-txt {margin:0;text-align:left;}
.zr-post-body .zr-post-more {margin-top:auto;align-self:flex-start;color:#fff;min-height:40px;}
.mode-card .body {display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;}
.mode-card .body h3,.mode-card .body p {margin:0;}
.mode-card .body .meta {display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:0;font-size:13px;}
.mode-card .body .btn {margin:0;min-height:40px;}
.news-meta {display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;}
.news-author {display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.news-author img {border-radius:50%;object-fit:contain;}
@media(max-width:980px){.pdp{grid-template-columns:1fr;gap:24px;}.buy{position:static;}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}.zr-post{grid-template-columns:minmax(180px,.8fr) minmax(0,1fr);}.fo-panel-head{flex-wrap:wrap;}}
@media(max-width:600px){.grid,.modes,.zr-news,.news-grid{grid-template-columns:1fr;}.zr-post{grid-template-columns:1fr;gap:16px;padding:14px;}.zr-post-body{gap:10px;}.zr-post-body .zr-post-more{margin-top:6px;}.zr-post-body>b{font-size:20px;}.prod-img{min-height:180px;}.prod-foot .btn{min-height:40px;}.prod-body,.mode-card .body{padding:18px;}.buy h1{font-size:26px!important;}.gallery .main{min-height:180px;}.buy-row{flex-wrap:wrap;}.buy-row .btn{flex:1;min-width:160px;}.hero-actions{flex-wrap:wrap;}.hero-actions .hero-cta{width:100%;max-width:330px;white-space:normal;text-align:center;}.ph-row,.sec-title{flex-wrap:wrap;}.ph h1{font-size:28px;}}
@media(hover:none),(pointer:coarse){.head,.adm-top,.ui-modal,.zr-join{backdrop-filter:none!important;}.prod:hover .prod-img img,.news-card:hover img,.zr-post:hover .zr-post-img img,.mode-card:hover .cover img,.cat2:hover .cat2-cover img,.zr-leaders:hover .zr-leaders-art img{transform:none!important;}.head,.adm-top{box-shadow:0 1px 0 var(--line-soft);}}

.zr-foot-social {align-items:center;text-align:center;} .zr-foot-social > div {display:flex;justify-content:center;align-items:center;gap:14px;}

body.account-link-page .ph .wrap.ph-in {width:min(1060px,92vw);padding:48px 0 34px;} body.account-link-page .ph h1 {max-width:none;font-size:clamp(28px,3vw,40px);line-height:1.25;} body.account-link-page .ph .lead {max-width:none;margin:0;line-height:1.6;} body.account-link-page .purchase-page.wrap.ph-overlap {width:min(1060px,92vw);margin:28px auto 0;padding-top:0;} .account-link-page .link-layout {width:100%;max-width:none;gap:24px;} .account-link-page .link-main {min-width:0;} .account-link-page .link-guide {min-width:0;} @media(max-width:760px){.account-link-page .link-layout {grid-template-columns:1fr;gap:18px;}.account-link-page .link-main {order:0;}.account-link-page .link-guide {order:1;} body.account-link-page .ph .wrap.ph-in {padding-top:40px;}}

.fo-onda-wait{margin:14px 22px;padding:12px 14px;border-radius:8px;background:var(--blue-soft);color:var(--ink);font-size:13px;}.fo-onda-wait a{color:var(--blue);}

@media (prefers-reduced-motion: reduce) { .motion-ready .reveal {opacity:1;transform:none;transition:none;} .hero-logo {animation:none;} }

/* Intestazioni e ricerca: stessa griglia del forum. */
.content-page main > section > .wrap {width:min(1380px,92vw);}
.content-page .staff-sec {padding-top:48px;}
.head .acc {position:relative;flex:none;}
.head .acc-btn {align-items:flex-end;justify-content:flex-end;padding:0 5px 0 12px;gap:6px;}
.head .acc-caret {align-self:center;flex:none;}
.head .acc-skin {align-self:flex-end;display:flex;align-items:flex-end;justify-content:center;height:58px;width:52px;}
.head .acc-skin img {display:block;width:52px;height:58px;object-fit:contain;object-position:center bottom;border-radius:0;}
.head .acc-menu {top:calc(100% + 10px);right:0;left:auto;margin:0;transform:translateY(-6px);}
.head .acc.open .acc-menu {transform:translateY(0);}
.fo-search-row > div,.fo-search-row > input {min-width:0;}
.fo-search-row input:not([type=checkbox]):not([type=radio]) {display:block;box-sizing:border-box;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:400 14px var(--body);outline:none;transition:border-color .18s,box-shadow .18s;}
.fo-search-row input:not([type=checkbox]):not([type=radio]):focus {border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
.fo-search-row > label,.fo-search-row > span {line-height:20px;}
.fo-search-dates label {display:grid;gap:8px;color:var(--grey);font-size:13px;}
.fo-search-dates input {margin:0;}
.fo-search-order {min-height:44px;align-items:center;flex-wrap:wrap;gap:12px 24px;}
.fo-search-order .fo-check {margin:0;}
.fo-search-sections {padding:12px 14px;scrollbar-gutter:stable;}
.fo-search-sections fieldset {padding:4px 0 12px;}
.fo-search-sections legend {padding:0;margin-bottom:4px;}
.fo-search-sections .fo-check {min-height:26px;margin:4px 0;}
@media(max-width:1180px){.head .acc-skin,.head .acc-skin img {width:48px;height:54px;}}
@media(max-width:760px){.head .acc-btn {padding:0 3px;gap:2px;}.head .acc-skin,.head .acc-skin img {width:38px;height:50px;}}

/* Il ritratto usa un cerchio reale, senza deformazioni ovali. */
.fo-profile-v2 .fo-profile-head {margin-top:-28px;align-items:center;}
.fo-profile-v2 .fo-profile-skin {display:block;width:132px;height:132px;aspect-ratio:1;flex:0 0 132px;overflow:hidden;border-radius:50%;}
.fo-profile-v2 .fo-profile-skin::before {left:0;bottom:0;width:100%;height:100%;border-radius:50%;}
.fo-profile-v2 .fo-profile-skin img {width:100%;height:100%;object-fit:contain;object-position:center bottom;border-radius:50%;}
.fo-profile-v2 .fo-profile-identity {padding:28px 0 0;}
.fo-profile-page .fo-back {display:inline-flex;align-items:center;gap:8px;min-height:32px;margin:0 0 18px;padding:0;line-height:20px;}
@media(max-width:760px){.fo-profile-v2 .fo-profile-head {align-items:center;}.fo-profile-v2 .fo-profile-skin {width:100px;height:100px;flex-basis:100px;}.fo-profile-v2 .fo-profile-identity {padding-top:24px;}}
@media(max-width:420px){.fo-profile-v2 .fo-profile-skin {width:80px;height:80px;flex-basis:80px;}.fo-profile-v2 .fo-profile-identity {padding-top:20px;}}

/* Discussioni: comandi e messaggi allineati alla stessa griglia. */
.fo-thread-page .fo-back {display:inline-flex;align-items:center;gap:8px;min-height:32px;line-height:20px;margin:0 0 18px;}
.fo-thread-tools {display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding:14px 22px;background:var(--panel-2);border-bottom:1px solid var(--line-soft);}
.fo-thread-tools .fo-status {flex:1;min-width:0;margin:0;padding:0;background:transparent;border:0;}
.fo-thread-tools .fo-delete-thread {margin:0;padding:0;}
.fo-thread-page .fo-post {grid-template-columns:150px minmax(0,1fr);}
.fo-thread-page .fo-author {justify-content:flex-start;gap:10px;padding:18px 12px;}
.fo-thread-page .fo-author > a {display:inline-flex;justify-content:center;max-width:100%;}
.fo-thread-page .fo-author .fo-skin {display:block;width:80px;height:80px;aspect-ratio:1;border-radius:50%;}
.fo-thread-page .fo-author .fo-skin::before {left:0;bottom:0;width:100%;height:100%;border-radius:50%;}
.fo-thread-page .fo-author .fo-skin img {object-fit:contain;object-position:center bottom;border-radius:50%;}
.fo-thread-page .fo-content {padding:16px 20px;}
.fo-thread-page .fo-post-top {min-height:40px;margin-bottom:12px;}
.fo-thread-page .fo-answers {margin:0;}
.fo-thread-page .fo-answers dt:first-child {margin-top:0;}
.fo-thread-page .fo-text {margin-top:0;line-height:1.7;overflow-wrap:anywhere;}
.fo-thread-page .fo-ai-text > :first-child {margin-top:0;}
.fo-post.is-ai {border-color:#459cd4;box-shadow:0 0 0 1px #459cd4;}
.fo-post.is-ai .fo-author {background:var(--blue-soft);border-right-color:#459cd433;}
.fo-onda-tag {border:1px solid #7bbce7;white-space:normal;line-height:1.4;}
@media(max-width:760px){.fo-thread-tools {padding:14px;}.fo-thread-page .fo-posts {padding:16px 14px 0;}.fo-thread-page .fo-post {grid-template-columns:1fr;}.fo-thread-page .fo-author {flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;padding:12px 14px;}.fo-thread-page .fo-author .fo-skin,.fo-thread-page .fo-onda-logo {width:48px;height:48px;flex:none;}.fo-thread-page .fo-onda-logo img {width:42px;height:42px;}.fo-thread-page .fo-content {padding:14px;}.fo-thread-page .fo-post-top {gap:8px;margin-bottom:12px;}.fo-thread-page .fo-post.is-ai .fo-author {border-right:0;}}

/* Home: larghezza, sezioni e spaziatura condivise. */
.home-page main > .zr-sec {padding:52px 0;border-bottom:1px solid var(--line-soft);}
.home-page main > .zr-sec > .wrap,.home-page main > .zr-sec > .wrap.zr-narrow {width:min(1380px,92vw);}
.home-page .zr-title {margin:0 0 28px;line-height:1.25;}
.home-page .zr-news {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;}
.home-page .zr-news > .news-card {min-width:0;}
.home-page .zr-news:has(>.news-card:only-child) > .news-card {display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:stretch;}
.home-page .zr-news:has(>.news-card:only-child) .news-card-img {height:210px;}
.home-page .zr-news:has(>.news-card:only-child) .news-card-body {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:28px;gap:10px;}
.home-page .zr-more {margin-top:20px;min-height:32px;}
.home-page .mode-body {display:grid;justify-items:start;gap:18px;padding:24px;}
.home-page .mode-body h3,.home-page .mode-meta {margin:0;}
.home-page .mode-meta {align-items:center;flex-wrap:wrap;gap:8px 18px;}
.home-page .mode-body .btn {margin:0;min-height:44px;}
.zr-faq details {transition:transform .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out,background-color .2s ease-out;}
.zr-faq summary {transition:color .2s ease-out,background-color .2s ease-out;border-radius:10px;}
@media(hover:hover) and (pointer:fine){.zr-faq details:hover {transform:translateY(-2px);border-color:var(--blue-hot);box-shadow:0 7px 18px #0f74e614;}.zr-faq summary:hover {color:var(--blue);background:var(--blue-soft);}.zr-faq summary:hover::after {background:var(--blue);}.zr-faq summary:hover::before {background:#fff;}}
.zr-faq summary:focus-visible {outline:2px solid var(--blue);outline-offset:3px;}
@media(max-width:600px){.home-page main > .zr-sec {padding:36px 0;}.home-page .zr-title {margin-bottom:22px;}.home-page .zr-news:has(>.news-card:only-child) > .news-card {grid-template-columns:1fr;}.home-page .zr-news:has(>.news-card:only-child) .news-card-img {height:190px;}.home-page .zr-news:has(>.news-card:only-child) .news-card-body,.home-page .mode-body {padding:20px;}}

/* Griglia condivisa, bordi e angoli coerenti su tutto il sito. */
body:not(.adm) main > section > .wrap:not(.ph-in),body:not(.adm) main > section.wrap,body:not(.adm) main > .wrap,body.account-page main .wrap {width:min(1380px,92vw);max-width:1380px;}
body:not(.adm):not(.account-link-page) main .ph-in {width:min(1380px,92vw);}
.fo-side .fo-box {border-radius:12px;overflow:hidden;}
.fo-side .fo-box h3 {border-radius:11px 11px 0 0;}
.fo-cat,.fo-feed,.fo-search-form,.fo-member-search,.fo-member-grid,.fo-members-title {border-radius:12px;}
.fo-page-title {margin:22px 0 18px;line-height:1.3;}
.fo-search-dates {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
.fo-search-row .fo-search-dates input {width:100%;max-width:none;}
.fo-search-row {gap:20px;grid-template-columns:160px minmax(0,1fr);padding:20px 24px;}
.fo-member-search {padding:12px 16px;gap:16px;flex-wrap:wrap;}
.fo-member-search>input {min-width:160px;min-height:44px;}
.fo-member-sort {display:flex;align-items:center;gap:10px;color:var(--grey);font-size:13px;}
.fo-member-sort select {min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;}
.fo-member-directory {margin-bottom:24px;}
.fo-member-directory .fo-member-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.fo-member-grid {gap:0;padding:0;overflow:hidden;}
.fo-member {padding:14px 16px;min-height:72px;border-bottom:1px solid var(--line-soft);}
.fo-member-count {font-variant-numeric:tabular-nums;text-align:right;}
.fo-feed-row {grid-template-columns:36px minmax(0,1fr) 20px 180px;min-height:72px;gap:14px;padding:12px 16px;}
.fo-feed-main>span {display:flex;align-items:center;gap:8px;}
.fo-feed-main b {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fo-feed-main small {margin-top:5px;}
.fo-player-close {display:grid;place-items:center;padding:0;top:14px;right:14px;width:30px;height:30px;line-height:1;border:0;}
.fo-player-close svg {display:block;}
.fo-player-banner {padding-right:58px;}
.fo-player-avatar {flex:none;aspect-ratio:1;}
.fo-player-numbers {align-items:stretch;}
.fo-player-numbers>div {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:64px;}
.fo-player-numbers dd {margin:0;}
.fo-player-dialog[open] {animation:panel-enter .2s ease-out;}
.fo-player-dialog[open]::backdrop {animation:backdrop-enter .2s ease-out;}
@keyframes panel-enter {from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes backdrop-enter {from{background:transparent;}to{background:#0f172a55;}}
.acc-menu,.nav-menu {transition:opacity .18s ease,transform .18s ease,visibility .18s;}
.fo-notifications[open] .fo-alert-menu {animation:panel-enter .18s ease-out;}
.zr-join-x {display:grid;place-items:center;padding:0;line-height:1;}
@media(max-width:980px){.fo-member-directory .fo-member-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.fo-search-row {grid-template-columns:1fr;gap:10px;padding:16px;}.fo-search-row>label,.fo-search-row>span {padding:0;text-align:left;}.fo-feed-row {grid-template-columns:36px minmax(0,1fr);gap:12px;}.fo-feed-row>.fo-lock,.fo-feed-last {display:none;}.fo-member-directory .fo-member-grid {grid-template-columns:1fr;}.fo-member-sort {flex:1;flex-wrap:wrap;}.fo-member-sort select {flex:1;}.fo-member-search>input {flex:1;}}
@media(max-width:480px){.fo-search-dates {grid-template-columns:1fr;}.fo-player-numbers {grid-template-columns:repeat(2,minmax(0,1fr));}}

.home-page .hero-in {width:min(1100px,92vw);height:auto;min-height:560px;margin-inline:auto;padding:44px 0 72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center;}
.home-page .hero-logo {width:clamp(220px,24vw,310px);height:clamp(190px,20vw,260px);object-fit:cover;object-position:center;margin:0;flex:none;}
.home-page .hero h1 {width:100%;max-width:1000px;margin:0;text-align:center;text-wrap:balance;line-height:1.3;}
.home-page .hero-actions {width:100%;display:flex;justify-content:center;align-items:center;gap:24px 36px;margin:0!important;}
.home-page .hero-actions .hero-cta {display:inline-flex;align-items:center;justify-content:center;min-height:62px;line-height:1.3;margin:0;}
@media(max-width:600px){.home-page .hero-in {min-height:580px;gap:24px;padding:34px 0 76px;}.home-page .hero-logo {width:220px;height:190px;}.home-page .hero h1 {font-size:23px;}.home-page .hero-actions {gap:22px;}.home-page .hero-actions .hero-cta {width:min(310px,90%);min-height:58px;}}
.home-page .hero-logo { translate: 5% 0; }
.fo-player-dialog.is-closing::backdrop {animation:backdrop-enter .16s ease-in reverse forwards;}

.fo-member-sort {white-space:nowrap;flex:none;}
.fo-player-banner {min-height:128px;align-items:center;}
.fo-player-avatar {width:88px;height:88px;margin:0;border-radius:50%;}
.fo-player-avatar img {width:88px;height:88px;border-radius:50%;}
.fo-player-card-body {padding:20px;}

.head .acc{position:relative;}
.head .acc-menu{top:calc(100% + 6px);left:50%;right:auto;margin:0;transform:translate(-50%,-6px);}
.head .acc.open .acc-menu{transform:translate(-50%,0);}
@media(max-width:760px){.head .acc-menu{left:auto;right:0;transform:translateY(-6px);}.head .acc.open .acc-menu{transform:none;}}

.fo-nav-search{background:#fff;}
.fo-nav-search input{color:#0f172a!important;}
.fo-nav-search input::placeholder{color:#64748b!important;}
.fo-nav-search button{color:#2178b5;}
[data-theme="dark"] .fo-nav{background:#16304f;border:1px solid #24426a;box-shadow:none;}
[data-theme="dark"] .fo-nav-search{background:#0d1d31;border:1px solid #2b4a72;}
[data-theme="dark"] .fo-nav-search input{color:#e8eef7!important;}
[data-theme="dark"] .fo-nav-search input::placeholder{color:#8ea3bd!important;}
[data-theme="dark"] .fo-nav-search button{color:#8fc7ff;}

.home-page .hero{display:flex;flex-direction:column;}
.home-page .hero-in{flex:1;width:min(1100px,92vw);min-height:0;margin-inline:auto;padding:40px 0 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;}
.home-page .hero-mark,.home-page .hero-logo{animation:none!important;}
.home-page .hero-mark{display:flex;justify-content:center;}
.home-page .hero-actions .hero-cta{width:330px;min-height:62px;}


@media(max-width:600px){.home-page .hero-in{padding:32px 0 70px;}.home-page .hero-actions .hero-cta{width:min(310px,90%);}}

.zr-more-btn{display:flex;width:max-content;margin:26px auto 0;}

.fo-members-title{background:#329bd9!important;color:#fff!important;border-color:#329bd9!important;}
[data-theme="dark"] .fo-members-title{background:#16304f!important;border-color:#24426a!important;}

.forum-page select,.fo-member-sort select{-webkit-appearance:none;appearance:none;min-height:44px;padding:0 42px 0 14px!important;border:1.5px solid var(--line)!important;border-radius:10px!important;background-color:var(--panel)!important;color:var(--ink)!important;font:600 14px var(--body);cursor:pointer;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238a96ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 15px center!important;background-size:12px 8px!important;transition:border-color .2s ease,box-shadow .2s ease;}
.forum-page select:hover,.fo-member-sort select:hover{border-color:var(--blue-hot)!important;}
.forum-page select:focus-visible,.fo-member-sort select:focus-visible{outline:0;box-shadow:0 0 0 3px var(--blue-soft);}
.fo-member-search{align-items:center;padding:14px 20px!important;}
.fo-member-sort{gap:12px;}
.fo-member-search .btn{min-height:44px;padding-inline:20px;}

.head .nav>a,.head .nav-drop-btn{display:inline-flex!important;align-items:center;justify-content:center;line-height:1!important;padding:7px 11px 6px!important;}
.head .nav>a.is-on,.head .nav-drop.is-on>.nav-drop-btn{padding:7px 11px 6px!important;}
.status-pill,.tag,.news-tag,.fo-role,.cart-n,.zr-role{display:inline-flex;align-items:center;justify-content:center;line-height:1!important;}

body :is(.btn,.hero-cta,.head-ip,.theme-btn,.acc-btn,.acc-login,.rules-link,.fo-filter,.fo-vote-btn,.cat-tab,.zr-join-ip,.nav-drop-btn,.cart-btn,.zr-foot-social a,.zr-foot-social button,.nav>a,.nav-menu a,.acc-menu>a,.acc-menu>form>button){translate:none!important;scale:none!important;rotate:none!important;transform:none!important;transition:background-color .16s ease,color .16s ease,border-color .16s ease,filter .16s ease!important;box-sizing:border-box;}
body :is(.btn,.hero-cta,.head-ip,.theme-btn,.acc-btn,.acc-login,.rules-link,.fo-filter,.fo-vote-btn,.cat-tab,.zr-join-ip,.cart-btn,.zr-foot-social a,.zr-foot-social button):not(:disabled):active{filter:brightness(.95);}
body :is(.btn-primary,.hero-cta,.head-ip):hover{filter:brightness(1.08);}

body .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px!important;line-height:1.2!important;border-width:1px!important;border-style:solid!important;font-size:14.5px;vertical-align:middle;}
body .btn.btn-sm{min-height:38px;padding:0 14px!important;font-size:13.5px;}
body .btn .ico,body .btn svg{flex:none;display:block;}

body .btn-ghost:hover{background-color:var(--blue-soft)!important;border-color:var(--blue-hot)!important;}
body .rules-link:hover{background-color:color-mix(in srgb,var(--c) 14%,transparent)!important;color:var(--c)!important;box-shadow:none!important;}
body .rules-link:hover .rules-link-ico{color:var(--c)!important;}
body .rules-link:hover .rules-link-ico path{fill:#fff!important;}



[data-theme="dark"] body .btn,[data-theme="dark"] .btn{border-width:1px!important;}
.fo-profile-page > .wrap > :first-child{margin-top:0;}

@media (min-width:1181px){
body .head .nav{gap:6px!important;}
body .head .nav>a,body .head .nav-drop>.nav-drop-btn,body .head .nav>a:is(:hover,.is-on),body .head .nav-drop:is(:hover,.is-on,.open)>.nav-drop-btn{
  display:inline-flex!important;align-items:center;gap:5px;height:30px;padding:0 12px!important;margin:0;border:0;border-radius:999px!important;
  font-size:15px!important;font-weight:700!important;line-height:1!important;letter-spacing:.3px;white-space:nowrap;
  box-shadow:none!important;transform:none!important;translate:none!important;scale:none!important;
  transition:background-color .15s ease-out,color .15s ease-out!important;
}
body .head .nav>a,body .head .nav-drop>.nav-drop-btn{background:transparent!important;color:var(--navy-2)!important;}
[data-theme="dark"] body .head .nav>a,[data-theme="dark"] body .head .nav-drop>.nav-drop-btn{color:var(--grey)!important;}
body .head .nav>a:hover,body .head .nav-drop:is(:hover,.open)>.nav-drop-btn{background:transparent!important;color:var(--blue)!important;}
body .head .nav>a.is-on,body .head .nav-drop.is-on>.nav-drop-btn,body .head .nav>a.is-on:hover,body .head .nav-drop.is-on:hover>.nav-drop-btn{background:#328bc5!important;color:#fff!important;}
body .head .nav-drop-btn .ico{width:15px;height:15px;}
body .head .nav-caret{width:12px;height:12px;margin:0;}
body .head .nav-caret svg{width:12px;height:12px;}
}

.link-command{cursor:pointer;transition:background-color .4s ease,border-color .4s ease!important;}
.link-copy{flex:none;display:inline-flex;align-items:center;padding:0;border:0;background:transparent!important;box-shadow:none!important;cursor:pointer;}
.link-copy small{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--display);color:var(--blue);}
.link-copy .copy-done{display:none;color:#22c55e;}
.link-command.is-copied{}
.link-command.is-copied .copy-idle{display:none;}
.link-command.is-copied .copy-done{display:inline-flex;}

body .fo-role,body .accp-role{display:inline-flex!important;align-items:center;justify-content:center;height:22px;padding:0 10px!important;border:0!important;border-radius:999px!important;background:var(--rc,var(--blue))!important;color:#fff!important;font:700 12px/1 var(--body)!important;letter-spacing:.2px;white-space:nowrap;vertical-align:middle;}
body .fo-role-sm{height:18px;padding:0 8px!important;font-size:10.5px!important;}
.fo-player-role{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;}
.fo-player-premium{font-size:12.5px;color:var(--grey);}
.fo-staff li>span,.fo-member>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;}

body .fo-cat{border-radius:14px!important;overflow:hidden;border:1px solid var(--line-soft)!important;}
body .fo-cat-h{border-radius:0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--line-soft)!important;}
body .fo-nav{border-radius:14px!important;}

.fo-profile-head,.fo-profile-hero{align-items:flex-end;}
.fo-profile-skin{flex:none;}
.fo-profile-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;}
.fo-profile-v2{overflow:hidden;border-radius:14px!important;}
.fo-profile-v2 .fo-profile-cover{height:110px;border-radius:0!important;}
.fo-profile-v2 .fo-profile-head{display:flex;align-items:flex-end;gap:22px;padding:0 28px 22px;margin-top:-64px;position:relative;}
.fo-profile-v2 .fo-profile-skin{width:132px;height:132px;flex:none;box-shadow:0 0 0 5px var(--panel);}
.fo-profile-v2 .fo-profile-identity{display:flex;flex-direction:column;gap:6px;padding-bottom:6px;min-width:0;}
.fo-profile-v2 .fo-profile-identity h1{margin:0;line-height:1.1;}
.fo-profile-v2 .fo-profile-tags{margin:0;}
.fo-tag{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;font:600 12px/1 var(--body);}
@media(max-width:600px){.fo-profile-v2 .fo-profile-head{flex-direction:column;align-items:center;text-align:center;padding:0 16px 18px;}.fo-profile-v2 .fo-profile-identity{align-items:center;}.fo-profile-v2 .fo-profile-tags{justify-content:center;}}

body .accp{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)!important;align-items:start!important;gap:22px!important;padding:26px!important;overflow:hidden;}
body .accp>*{min-width:0;max-width:100%;box-sizing:border-box;}
body .accp-card{grid-column:1/-1!important;display:flex;align-items:center;gap:18px;}
body .accp>.accp-form{display:flex;flex-direction:column;gap:14px;}
body .accp>.accp-form>.btn{align-self:flex-start;margin-top:auto;}
body .accp .field{margin:0;}
body .accp .bday-input{max-width:100%;width:220px;}
body .accp .sig-editor,body .accp .sig-editor textarea,body .accp .signature-preview{width:100%;max-width:100%;box-sizing:border-box;}
body .accp .account-time,body .accp-links{grid-column:1/-1!important;}
@media(max-width:900px){body .accp{grid-template-columns:minmax(0,1fr)!important;padding:18px!important;}}

.fo-profile-v2 .fo-profile-cover{height:120px!important;background:linear-gradient(135deg,#1f4f86,#16304f 70%)!important;}
.fo-profile-v2 .fo-profile-head{align-items:flex-start!important;margin-top:-64px!important;padding:0 28px 24px!important;gap:24px!important;}
.fo-profile-v2 .fo-profile-skin{width:128px!important;height:128px!important;box-shadow:0 0 0 6px var(--panel),0 10px 24px rgba(0,0,0,.25)!important;}
.fo-profile-v2 .fo-profile-identity{flex:1;padding-top:74px!important;padding-bottom:0!important;gap:8px!important;}
.fo-profile-v2 .fo-profile-identity h1{font-size:clamp(24px,2.4vw,30px);}
.fo-profile-v2 .fo-message-player{align-self:flex-end;margin-bottom:4px;}
.fo-profile-stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:12px!important;margin:0!important;padding:0 28px 28px!important;}
.fo-profile-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:14px 10px!important;border:1px solid var(--line-soft);border-radius:12px;background:var(--panel-2);text-align:center;}
.fo-profile-stats dt{margin:0;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--grey);}
.fo-profile-stats dd{margin:0;font:800 22px/1 var(--display);color:var(--ink);}
.fo-profile-activity h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 12px;}
.fo-profile-activity>p{margin:0;padding:18px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--grey);}
@media(max-width:600px){.fo-profile-v2 .fo-profile-head{flex-direction:column;align-items:center!important;text-align:center;}.fo-profile-v2 .fo-profile-identity{padding-top:0!important;align-items:center;}.fo-profile-stats{padding:0 16px 18px!important;}}

body .accp-card{padding:22px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-2) 80%,var(--blue)),var(--panel-2) 60%)!important;}
body .accp-card b{font-size:24px!important;}
body .accp-skin{width:88px!important;height:88px!important;box-shadow:0 0 0 4px var(--panel);}
body .accp>.accp-form{padding:22px!important;border:1px solid var(--line-soft)!important;border-radius:14px!important;background:var(--panel-2)!important;}
body .accp .field>label{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);}
body .accp>.accp-form:not(.sig){justify-content:flex-start;}
body .accp>.accp-form:not(.sig)>.btn{margin-top:14px;}
body .accp .account-time{padding:22px!important;border:1px solid var(--line-soft)!important;border-radius:14px!important;background:var(--panel-2)!important;}

body .head .nav-drop:hover:not(.open) .nav-caret svg,body .head .nav-drop:focus-within:not(.open) .nav-caret svg{transform:none!important;}
body .head .nav-drop.open .nav-caret svg{transform:rotate(180deg)!important;}
body .head .nav-drop-btn:active .nav-caret svg{transform:none!important;}

@media (min-width:1181px){
body .head .nav>a,body .head .nav-drop>.nav-drop-btn,body .head .nav>a:is(:hover,.is-on),body .head .nav-drop:is(:hover,.is-on,.open)>.nav-drop-btn{height:26px!important;padding:0 10px!important;}
}

body :is(.nav-menu a,.acc-menu>a,.acc-menu>form>button){transform:none!important;background-color:transparent;transition:background-color .25s ease,color .25s ease!important;}
body :is(.nav-menu a,.acc-menu>a,.acc-menu>form>button):hover{background-color:var(--blue-soft)!important;}
body :is(.nav-menu a,.acc-menu>a):hover{color:var(--blue)!important;}
body .acc-menu>form>button.acc-logout:hover,body .acc-menu .acc-logout:hover{background-color:rgba(239,68,68,.12)!important;}

body .zr-faq summary,body .zr-faq summary:hover,body .zr-faq summary:active,body .zr-faq summary:focus-visible,
body .zr-faq summary::after,body .zr-faq summary:hover::after,body .zr-faq summary:active::after,
body .zr-faq summary::before,body .zr-faq summary:hover::before,body .zr-faq summary:active::before{
  scale:none!important;translate:none!important;filter:none!important;box-shadow:none;
}
body .zr-faq summary,body .zr-faq summary:hover,body .zr-faq summary:active{transform:none!important;}
body .zr-faq details:not(.is-open) summary::after,body .zr-faq details:not(.is-open) summary:hover::after{transform:none!important;}
body .zr-faq details:not(.is-open) summary::before,body .zr-faq details:not(.is-open) summary:hover::before{transform:rotate(0deg)!important;}
body .zr-faq details.is-open summary::before{transform:rotate(45deg)!important;}
body .zr-faq summary,body .zr-faq summary:hover,body .zr-faq summary:active,body .zr-faq summary:focus,body .zr-faq details[open] summary,body .zr-faq details.is-open summary{background:transparent!important;background-color:transparent!important;border-radius:0;}

.fo-locked{overflow:hidden;}
.fo-locked-body{display:flex;flex-direction:column;align-items:center;gap:14px;padding:44px 24px 46px;text-align:center;}
.fo-locked-ico{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--blue-soft);color:var(--blue);box-shadow:0 0 0 8px color-mix(in srgb,var(--blue-soft) 45%,transparent);}
.fo-locked-body h2{margin:4px 0 0;font-size:clamp(22px,2.4vw,28px);}
.fo-locked-body>p{max-width:520px;margin:0;color:var(--grey);line-height:1.7;}
.fo-locked-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;}

.fo-locked-ico{box-shadow:none!important;}
.link-wait{display:flex;align-items:center;gap:16px;padding:18px 20px!important;border-radius:14px!important;}
.link-wait b{display:block;margin-bottom:2px;}
.link-status-dot{flex:none;width:26px!important;height:26px!important;margin:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;
  border:3px solid var(--blue-soft)!important;border-top-color:var(--blue)!important;animation:linkSpin .8s linear infinite!important;}
.link-status-dot.is-ok{animation:none!important;border-color:#22c55e!important;background:#22c55e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat!important;}
.link-status-dot.is-error{animation:none!important;border-color:#ef4444!important;background:#ef4444 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center/16px no-repeat!important;}
@keyframes linkSpin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.link-status-dot{animation-duration:2.4s!important;}}

.link-wait{display:flex!important;align-items:center!important;gap:16px!important;grid-template-columns:none!important;}
.link-wait>div{margin:0!important;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;}
.link-wait>div b,.link-wait>div p{margin:0!important;line-height:1.4;}
.link-status-dot{position:static!important;align-self:center!important;top:auto!important;left:auto!important;transform-origin:50% 50%;box-sizing:border-box;}
body :is(.btn,.hero-cta,.head-ip,.theme-btn,.acc-btn,.acc-login,.rules-link,.fo-filter,.fo-vote-btn,.cat-tab,.zr-join-ip,.cart-btn,button):is(:hover,:active){transform:none!important;translate:none!important;scale:none!important;rotate:none!important;}
body :is(.btn,.hero-cta,.head-ip,.theme-btn,.acc-btn,.acc-login,.rules-link,.fo-filter,.fo-vote-btn,.cat-tab,.zr-join-ip,.cart-btn,button)::after{background-image:none;}
body :is(.btn,.hero-cta,.head-ip,.theme-btn,.acc-btn,.acc-login,.rules-link,.fo-filter,.fo-vote-btn,.cat-tab,.zr-join-ip,.cart-btn):focus-visible{outline:0!important;text-decoration:underline;text-underline-offset:4px;}
body .accp-card .accp-links{margin-left:auto;align-self:center;grid-column:auto!important;flex:none;}
body .accp-card .accp-links form{margin:0;}
body .accp-card .accp-links .btn{white-space:nowrap;}
@media(max-width:600px){body .accp-card{flex-wrap:wrap;}body .accp-card .accp-links{width:100%;margin-left:0;}body .accp-card .accp-links .btn{width:100%;}}
.fo-mod-panel{padding:24px;}
.fo-mod-panel h1{margin:0 0 20px;}
.fo-mod-panel h2{margin:24px 0 12px;}
.fo-manage-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;}
.fo-manage-form label{display:grid;flex:1;min-width:180px;gap:8px;font-weight:600;}
.fo-manage-form input{min-height:42px;padding:10px 12px;box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);}
.fo-manage-list{display:grid;gap:10px;}
.fo-manage-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;}
.fo-manage-item small{display:block;color:var(--grey);margin-top:5px;}
.fo-manage-item p{margin:8px 0 0;}
.fo-profile-ban{margin-left:auto;align-self:flex-end;}

body .fo-nav .fo-alert-menu{z-index:110;}
body .fo-nav .fo-notifications[open]{z-index:111;}
body .accp-card .accp-links{display:flex;align-items:center;}
body .fo-side .fo-box{align-self:start;}
@media(prefers-reduced-motion:reduce){body .motion-ready .reveal{opacity:1;transform:none;transition:none;}}

.fo-nav-manage{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto!important;min-height:34px;padding:6px 10px!important;white-space:nowrap;border-radius:7px;color:inherit;line-height:1.35;font-weight:600;font-size:12px;}
.fo-nav-manage svg{flex:none;}
.fo-nav-manage:hover{background:rgba(255,255,255,.13);}
.fo-manage-form{margin:20px 0 24px;align-items:end;}
.fo-manage-form>.btn{min-height:42px;flex:none;}
.fo-mod-panel>p{margin:0;line-height:1.65;color:var(--grey);}
.fo-manage-item form{margin:0;}
@media(max-width:760px){.fo-nav-manage span{display:none;}.fo-nav-manage{width:36px!important;padding:6px!important;}.fo-manage-form>.btn{width:100%;}}
