
.guarda {
  --accento: #8b6cff;
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: start;
  margin: 22px 0 26px; padding: 20px 24px 22px; border-radius: 20px;
  border: 1.5px solid rgba(167, 139, 250, 0.55);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(139, 108, 255, 0.22), transparent 55%),
    linear-gradient(180deg, rgba(167, 139, 250, 0.08), rgba(167, 139, 250, 0.02) 60%),
    rgba(17, 11, 40, 0.78);
  box-shadow: 0 0 22px rgba(124, 92, 255, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
.guarda-occhio {
  width: 110px; height: auto; margin-top: 4px;
  filter: drop-shadow(0 0 10px rgba(167, 139, 250, 0.55));
  animation: guarda-respira 5s ease-in-out infinite;
}
@keyframes guarda-respira {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(167, 139, 250, 0.45)); }
  50% { filter: drop-shadow(0 0 16px rgba(190, 165, 255, 0.85)); }
}
.guarda-corpo { min-width: 0; }
.guarda-testa { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.guarda-testa h2 { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 1.45rem; color: #f4f0ff; letter-spacing: 0.01em; }
.guarda-sotto { margin: 3px 0 0; font-size: 0.86rem; color: var(--testo-tenue); }
.guarda-conto {
  display: inline-flex; align-items: center; gap: 6px; flex: none; margin: 4px 0 0;
  padding: 5px 12px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; color: #e9e2ff;
  border: 1px solid rgba(167, 139, 250, 0.4); background: rgba(124, 92, 255, 0.12);
}
.guarda-conto > span:last-child { margin-left: 4px; font-variant-numeric: tabular-nums; }

.guarda-novita {
  display: inline-flex; align-items: center; gap: 7px; flex: none; margin: 4px 0 0;
  padding: 5px 12px 5px 9px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; color: #e9e2ff; text-decoration: none;
  border: 1px solid rgba(167, 139, 250, 0.4); background: linear-gradient(90deg, rgba(124, 92, 255, 0.22), rgba(124, 92, 255, 0.08));
  transition: border-color 0.15s, background-color 0.15s;
}
.guarda-novita:hover { text-decoration: none; border-color: #c4b5fd; }
.guarda-novita .card-ico { width: 18px; height: 18px; margin: 0; }
.guarda-novita-punto { width: 8px; height: 8px; border-radius: 50%; background: #f0c24f; box-shadow: 0 0 6px rgba(240, 194, 79, 0.8); animation: guarda-novita-batte 2.2s ease-in-out infinite; }
@keyframes guarda-novita-batte { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.35); } }
@media (max-width: 560px) { .guarda-novita-testo { display: none; } .guarda-novita { padding: 5px 9px; } }
.guarda-punto { width: 8px; height: 8px; border-radius: 50%; background: rgba(196, 181, 253, 0.25); }
.guarda-punto.acceso { background: #f0c24f; box-shadow: 0 0 6px rgba(240, 194, 79, 0.8); }
.guarda-lista {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px;
}
.guarda-lista > li { min-width: 0; display: flex; }
.guarda-voce { flex: 1 1 auto; min-width: 0; min-height: 66px; }
.guarda-voce .oggi-evento-testo strong { color: #f4f0ff; }
.guarda-voce-fatta { opacity: 0.62; }
.guarda-voce-fatta:hover { opacity: 0.9; }
.guarda-voce-fatta .oggi-evento-testo strong { color: var(--testo-tenue); }
.guarda-spunta {
  display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
  font-size: 0.8rem; font-weight: 700; color: #1d1442;
  background: linear-gradient(180deg, #f6d98c, #e8b84a); box-shadow: 0 0 8px rgba(240, 194, 79, 0.5);
}
.guarda-figura-stellina, .guarda-figura-tl {
  border-radius: 12px; border: 1px solid rgba(240, 194, 79, 0.45);
  background: radial-gradient(circle, rgba(240, 194, 79, 0.2), rgba(26, 22, 48, 0.95) 70%);
}
.guarda-figura-stellina .stellina-nuovo { width: 30px; height: 30px; }
.guarda-figura-stellina .btn-ico { width: 24px; height: 24px; color: #f3cf7a; }
.guarda-figura-tl { border-color: color-mix(in srgb, var(--tinta) 55%, transparent); background: radial-gradient(circle, color-mix(in srgb, var(--tinta) 22%, transparent), rgba(26, 22, 48, 0.95) 70%); }
.guarda-figura-tl .btn-ico { width: 24px; height: 24px; color: var(--tinta); }
.guarda-figura-img { object-fit: contain; filter: drop-shadow(0 0 6px rgba(167, 139, 250, 0.45)); }
.guarda-voce-lettura_transiti:not(.guarda-voce-fatta) { border-color: rgba(240, 194, 79, 0.5); }
.guarda-voce-lettura_transiti:not(.guarda-voce-fatta) .oggi-evento-freccia { color: #f0c24f; }
.guarda-tutto-fatto { align-items: center; padding: 14px 22px; }
.guarda-tutto-fatto .guarda-occhio { width: 76px; filter: drop-shadow(0 0 12px rgba(240, 194, 79, 0.55)); animation: none; }
.guarda-tutto-fatto .guarda-testa { margin-bottom: 0; }
.guarda-tutto-fatto .guarda-testa h2 { font-size: 1.15rem; }
.guarda-rivedi > summary { cursor: pointer; margin-top: 8px; font-size: 0.82rem; color: #c4b5fd; list-style: none; }
.guarda-rivedi > summary::-webkit-details-marker { display: none; }
.guarda-rivedi > summary::after { content: " ›"; }
.guarda-rivedi[open] > summary { margin-bottom: 10px; }

@media (prefers-reduced-motion: reduce) { .guarda-occhio { animation: none; } }

@media (max-width: 760px) {
  .guarda { grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; align-items: center; padding: 16px 16px 18px; }
  .guarda-corpo { display: contents; }
  .guarda-occhio { width: 58px; margin: 0; }
  .guarda-testa { flex-direction: column; gap: 8px; margin: 0; }
  .guarda-testa h2 { font-size: 1.22rem; }
  .guarda-sotto { font-size: 0.8rem; }
  .guarda-conto { margin: 0; padding: 3px 10px; }
  .guarda-lista, .guarda-rivedi { grid-column: 1 / -1; }
  .guarda-lista { grid-template-columns: minmax(0, 1fr); margin-top: 12px; }
  .guarda-rivedi > summary { margin-top: 6px; }
  .guarda-tutto-fatto .guarda-occhio { width: 50px; }
}
.benvenuto-profilo {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px;
  margin: 0 0 18px; padding: 16px 22px; border-radius: 18px;
  border: 1.5px solid rgba(240, 194, 79, 0.5);
  background:
    radial-gradient(120% 160% at 0% 50%, rgba(240, 194, 79, 0.14), transparent 50%),
    linear-gradient(90deg, rgba(139, 108, 255, 0.16), rgba(139, 108, 255, 0.04)),
    rgba(17, 11, 40, 0.8);
  box-shadow: 0 0 20px rgba(240, 194, 79, 0.18);
  animation: benvenuto-entra 0.6s ease-out both;
}
@keyframes benvenuto-entra { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.benvenuto-ico { width: 92px; height: auto; filter: drop-shadow(0 0 10px rgba(190, 165, 255, 0.5)); animation: benvenuto-stella 1.1s ease-out both; }

@keyframes benvenuto-stella { from { opacity: 0; transform: translate(-14px, 10px) rotate(-8deg) scale(0.85); } to { opacity: 1; transform: none; } }
.benvenuto-testo h2 { margin: 0 0 4px; font-family: var(--serif); font-weight: 500; font-size: 1.3rem; color: #f3cf7a; }
.benvenuto-testo p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #d9d4ee; }
.benvenuto-vai { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .benvenuto-profilo, .benvenuto-ico { animation: none; } }
@media (max-width: 720px) {
  .benvenuto-profilo { grid-template-columns: auto minmax(0, 1fr); gap: 12px 14px; padding: 14px 16px; }
  .benvenuto-ico { width: 64px; }
  .benvenuto-testo h2 { font-size: 1.12rem; }
  .benvenuto-vai { grid-column: 1 / -1; justify-content: center; }
}
.obe-tipo {
  display: inline-flex; gap: 4px; margin-bottom: 14px; padding: 4px; border-radius: 999px;
  border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.03);
}
.obe-tipo > * { padding: 6px 14px; border-radius: 999px; font-size: 0.86rem; color: var(--testo-tenue); text-decoration: none; }
.obe-tipo > a:hover { color: var(--testo); background: rgba(255, 255, 255, 0.05); text-decoration: none; }
.obe-tipo > [aria-current] { color: #1d1442; font-weight: 600; background: linear-gradient(180deg, #d9ccff, #a78bfa); }

.obe-interruttore { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 20px; cursor: pointer; }
.obe-interruttore input { position: absolute; opacity: 0; pointer-events: none; }
.obe-interruttore-binario {
  flex: none; position: relative; width: 42px; height: 24px; margin-top: 2px; border-radius: 999px;
  background: rgba(255, 255, 255, 0.1); border: 1px solid var(--card-bordo); transition: background 0.2s;
}
.obe-interruttore-binario::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%;
  background: #cfc6ea; transition: transform 0.2s;
}
.obe-interruttore input:checked + .obe-interruttore-binario { background: #8b6cff; border-color: #a78bfa; }
.obe-interruttore input:checked + .obe-interruttore-binario::after { transform: translateX(18px); background: #fff; }
.obe-interruttore input:focus-visible + .obe-interruttore-binario { outline: 2px solid #a78bfa; outline-offset: 2px; }
.obe-interruttore strong { display: block; font-weight: 500; }
.obe-interruttore small { display: block; font-size: 0.8rem; color: var(--testo-debole); line-height: 1.4; }
.obe-scala {
  list-style: none; margin: 6px 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); position: relative;
}
.obe-scala::before {
  content: ""; position: absolute; top: 11px; left: 8%; right: 8%; height: 2px;
  background: rgba(255, 255, 255, 0.1);
}
.obe-gradino { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; cursor: pointer; margin: 0; }
.obe-gradino input { position: absolute; opacity: 0; pointer-events: none; }
.obe-gradino-punto {
  position: relative; z-index: 1; width: 24px; height: 24px; border-radius: 50%;
  border: 2px solid rgba(196, 181, 253, 0.35); background: #17122e; transition: all 0.2s;
}
.obe-gradino-nome { font-size: 0.74rem; line-height: 1.25; color: var(--testo-debole); padding: 0 2px; }
.obe-gradino.acceso .obe-gradino-punto, .obe-scala:has(input:checked) .obe-gradino:has(~ .obe-gradino input:checked) .obe-gradino-punto,
.obe-gradino:has(input:checked) .obe-gradino-punto {
  border-color: #a78bfa; background: radial-gradient(circle, #d9ccff 0%, #8b6cff 70%);
  box-shadow: 0 0 10px rgba(139, 108, 255, 0.6);
}
.obe-gradino:has(input:checked) .obe-gradino-nome, .obe-gradino.raggiunto .obe-gradino-nome { color: #f1edff; font-weight: 600; }
.obe-gradino-5:has(input:checked) .obe-gradino-punto, .obe-gradino-5.acceso .obe-gradino-punto {
  background: radial-gradient(circle, #fff 0%, #c4b5fd 55%, #8b6cff 100%);
  box-shadow: 0 0 16px rgba(196, 181, 253, 0.9);
}
.obe-gradino input:focus-visible + .obe-gradino-punto { outline: 2px solid #a78bfa; outline-offset: 3px; }
.obe-scala-lettura { margin: 22px 0 8px; }

.obe-intensita { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 20px; margin-top: 20px; }
.obe-segmenti { display: flex; border: 1px solid var(--card-bordo); border-radius: 12px; overflow: hidden; }
.obe-segmento { flex: 1 1 0; min-width: 0; margin: 0; cursor: pointer; position: relative; }
.obe-segmento + .obe-segmento { border-left: 1px solid var(--card-bordo); }
.obe-segmento input { position: absolute; opacity: 0; pointer-events: none; }
.obe-segmento span {
  display: block; padding: 8px 4px; text-align: center; font-size: 0.8rem; color: var(--testo-tenue);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background 0.15s, color 0.15s;
}
.obe-segmento:hover span { background: rgba(255, 255, 255, 0.04); color: var(--testo); }
.obe-segmento input:checked + span { background: rgba(139, 108, 255, 0.22); color: #f1edff; font-weight: 600; }
.obe-segmento input:focus-visible + span { outline: 2px solid #a78bfa; outline-offset: -2px; }
.obe-pagina { border-left-color: rgba(167, 139, 250, 0.6); }
.obe-pagina .sogno-pagina-data { color: #c4b5fd; }
.obe-uscita.obe-pagina { border-left-color: #c4b5fd; box-shadow: 0 0 22px rgba(139, 108, 255, 0.25); }
.obe-dati { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 18px 0 0; }
.obe-dati > div { padding: 10px 12px; border-radius: 12px; border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.03); }
.obe-dati dt { font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--testo-debole); }
.obe-dati dd { margin: 3px 0 0; font-size: 0.98rem; color: var(--testo); }
.obe-racconta { margin-top: 20px; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(167, 139, 250, 0.4); background: rgba(139, 108, 255, 0.1); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.obe-racconta p { margin: 0; flex: 1 1 260px; color: var(--testo); line-height: 1.5; }
.obe-stessa-notte { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--card-bordo); }
.obe-stessa-notte h3 { margin: 0 0 10px; font-family: var(--serif); font-weight: 500; font-size: 1.05rem; }
.obe-stessa-notte ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.obe-stessa-notte a { display: inline-flex; align-items: center; gap: 8px; color: var(--testo); }
.obe-stessa-notte small { color: var(--testo-debole); }
.obe-voce-segno { display: inline-grid; place-items: center; width: 16px; }
.obe-voce-sogno { color: #e8b84a; }
.obe-voce-sessione::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #a78bfa; box-shadow: 0 0 6px rgba(167, 139, 250, 0.8); }
.obe-riga { border-left-color: rgba(167, 139, 250, 0.55); }
.obe-riga .sogno-giorno-numero { color: #c4b5fd; }
.obe-riga-tipo { margin: 0 0 2px; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: #a78bfa; }
.obe-mini-scala { display: flex; align-items: center; gap: 4px; margin-top: 4px; }
.obe-mini-scala span { width: 18px; height: 5px; border-radius: 3px; background: rgba(255, 255, 255, 0.1); }
.obe-mini-scala span.acceso { background: #8b6cff; box-shadow: 0 0 5px rgba(139, 108, 255, 0.5); }
.obe-mini-scala strong { margin-left: 8px; font-size: 0.84rem; font-weight: 500; color: var(--testo-tenue); }
.obe-uscita.obe-riga { border-left-color: #c4b5fd; }
.obe-uscita .obe-mini-scala span.acceso { background: #c4b5fd; }
.obe-cal-sessione {
  position: absolute; left: 8px; bottom: 7px; width: 8px; height: 8px; border-radius: 50%;
  background: #a78bfa; box-shadow: 0 0 6px rgba(167, 139, 250, 0.9);
}
.obe-cal-sessione.statico { position: static; display: inline-block; }

.rk-cal-seduta {
  position: absolute; right: 8px; bottom: 7px; width: 8px; height: 8px; transform: rotate(45deg);
  background: #d28bff; box-shadow: 0 0 6px rgba(210, 139, 255, 0.9);
}
.rk-cal-seduta.statico { position: static; display: inline-block; vertical-align: 1px; margin-right: 2px; }
.reiki-riga { border-left-color: var(--tinta, #b36bff); }
.reiki-riga .sogno-giorno-numero { color: #e2b8ff; }
.reiki-riga-tipo { color: #d28bff; }
.sogni-cal-casella.reiki:not(.sognata):not(.praticata) { background: rgba(179, 107, 255, 0.07); border-color: rgba(210, 139, 255, 0.28); }
.sogni-cal-stella.obe-cal-uscita:not(.statico) { right: auto; left: 6px; }
.sogni-cal-stella.obe-cal-uscita { color: #e4dcff; text-shadow: 0 0 8px rgba(167, 139, 250, 1), 0 0 14px rgba(139, 108, 255, 0.7); }
.sogni-cal-casella.praticata:not(.sognata) { background: rgba(139, 108, 255, 0.07); border-color: rgba(167, 139, 250, 0.28); }
.sogni-cal-casella.uscita { background: rgba(139, 108, 255, 0.12); border-color: rgba(196, 181, 253, 0.55); }
.obe-statistiche { margin-bottom: 18px; border-color: rgba(167, 139, 250, 0.35); }
.obe-stat-titolo { margin: 0 0 12px; font-family: var(--serif); font-weight: 500; font-size: 1.15rem; }
.obe-stat-numeri { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.obe-stat-numeri > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: rgba(139, 108, 255, 0.08); }
.obe-stat-numeri strong { font-family: var(--serif); font-size: 1.5rem; font-weight: 500; color: #f1edff; line-height: 1.1; }
.obe-stat-numeri strong.obe-stat-livello { font-family: inherit; font-size: 0.98rem; font-weight: 600; line-height: 1.3; }
.obe-stat-numeri span { font-size: 0.76rem; color: var(--testo-debole); }
.obe-stat-oro strong { color: #f3cf7a; }
.obe-stat-scoperte { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.obe-stat-scoperte li { position: relative; padding-left: 22px; font-size: 0.92rem; line-height: 1.5; }
.obe-stat-scoperte li::before { content: "✦"; position: absolute; left: 2px; color: #c4b5fd; }
.obe-stat-nota { margin: 10px 0 0; }

@media (max-width: 680px) {
  .obe-intensita { grid-template-columns: minmax(0, 1fr); }
  
  .obe-scala { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .obe-scala { display: flex; flex-direction: column-reverse; }
  .obe-scala::before { top: 12px; bottom: 12px; left: 11px; right: auto; width: 2px; height: auto; }
  .obe-gradino { flex-direction: row; gap: 12px; text-align: left; }
  .obe-gradino-nome { font-size: 0.88rem; }
  .obe-stat-numeri { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .sogni-azioni .obe-nuova { order: 3; }
}
.obe-ico {
  display: inline-block; flex: none; width: 22px; height: 22px; background: currentColor;
  -webkit-mask: var(--icona) center / contain no-repeat; mask: var(--icona) center / contain no-repeat;
}
.obe-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.obe-modulo { padding: 24px 28px 26px; }
.obe-modulo-testa { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 6px; }
.obe-modulo-titolo { margin: 0; font-size: 1.35rem; }
.obe-motto { display: flex; align-items: center; gap: 12px; }
.obe-motto p { margin: 0; max-width: 16ch; font-family: var(--serif); font-size: 0.95rem; line-height: 1.35; color: var(--testo-tenue); text-align: center; }
.obe-figura { width: auto; height: 92px; filter: drop-shadow(0 0 10px rgba(240, 194, 79, 0.35)); }
.obe-modulo .obe-tipo { margin: 0; padding: 5px; }
.obe-modulo .obe-tipo > * { display: inline-flex; align-items: center; gap: 10px; padding: 9px 22px; font-size: 0.95rem; }
.obe-modulo .obe-tipo .obe-ico { width: 20px; height: 20px; }

.obe-passo { display: flex; align-items: center; gap: 12px; margin: 26px 0 14px; font-family: var(--serif); font-weight: 500; font-size: 1.22rem; }
.obe-passo-numero {
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; flex: none;
  font-family: inherit; font-size: 0.95rem; color: #1d1442; background: linear-gradient(180deg, #d9ccff, #a78bfa);
}
.obe-passo-matita .obe-ico { width: 16px; height: 16px; }

.obe-dati-griglia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.7fr); gap: 14px; align-items: end; margin-bottom: 20px; }
.obe-dati-griglia .campo { margin-bottom: 0; }
.obe-con-icona { position: relative; }
.obe-con-icona input { padding-left: 42px; }
.obe-ico-campo { position: absolute; left: 14px; bottom: 15px; width: 18px; height: 18px; color: var(--testo-tenue); pointer-events: none; }
.obe-sonno {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start;
  margin: 0; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.03);
}
.obe-sonno-ico { width: 20px; height: 20px; color: #c4b5fd; margin-top: 1px; }
.obe-sonno-testo strong { font-size: 0.86rem; }
.obe-sonno-testo small { font-size: 0.74rem; line-height: 1.35; }
.obe-sonno .obe-interruttore-binario { margin-top: 0; }

.obe-tecniche { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.obe-tecnica, .obe-finale { position: relative; margin: 0; cursor: pointer; display: flex; }
.obe-tecnica input, .obe-finale input { position: absolute; opacity: 0; pointer-events: none; }
.obe-tecnica-scheda, .obe-finale-scheda {
  flex: 1; display: flex; align-items: center; gap: 8px; border-radius: 14px;
  border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.03); color: var(--testo-tenue);
  transition: border-color 0.15s, background 0.15s, color 0.15s, box-shadow 0.15s;
}
.obe-tecnica-scheda { flex-direction: column; justify-content: center; padding: 14px 6px; min-height: 76px; text-align: center; font-size: 0.86rem; }
.obe-tecnica-ico { width: 30px; height: 30px; color: #c4b5fd; }
.obe-finale-scheda { padding: 12px 14px; font-size: 0.86rem; line-height: 1.3; }
.obe-finale-ico { width: 24px; height: 24px; color: #c4b5fd; }
.obe-tecnica:hover .obe-tecnica-scheda, .obe-finale:hover .obe-finale-scheda { border-color: rgba(167, 139, 250, 0.5); color: var(--testo); }
.obe-tecnica input:checked + .obe-tecnica-scheda, .obe-finale input:checked + .obe-finale-scheda {
  border-color: #a78bfa; color: #f1edff;
  background: linear-gradient(180deg, rgba(139, 108, 255, 0.28), rgba(139, 108, 255, 0.12));
  box-shadow: 0 0 14px rgba(124, 92, 255, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.obe-tecnica input:focus-visible + .obe-tecnica-scheda, .obe-finale input:focus-visible + .obe-finale-scheda { outline: 2px solid #a78bfa; outline-offset: 2px; }
.obe-finali { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }

.obe-riquadro { padding: 14px 16px; border-radius: 16px; border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.025); }
.obe-riquadro-testa { margin: 0 0 14px; font-size: 0.9rem; }
.obe-riquadro-testa span { margin-left: 10px; color: var(--testo-tenue); font-size: 0.84rem; }
.obe-riquadro-titolo { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 0.95rem; }
.obe-campo-ico { color: #c4b5fd; }
.obe-modulo .obe-intensita { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-top: 12px; }
.obe-lucidita-estremi { display: flex; justify-content: space-between; margin: 6px 4px 0; font-size: 0.74rem; color: var(--testo-debole); }
.obe-segmento input:checked + span { background: linear-gradient(180deg, #8b6cff, #6d4fe0); color: #fff; }
.obe-modulo .obe-scala::before { top: 26px; background: linear-gradient(90deg, rgba(167, 139, 250, 0.6), rgba(167, 139, 250, 0.35) 80%, rgba(240, 194, 79, 0.6)); }
.obe-modulo .obe-gradino-punto {
  display: grid; place-items: center; width: 52px; height: 52px; border-width: 1.5px;
  background: radial-gradient(circle, #2a2050, #17122e 70%); color: #c4b5fd;
}
.obe-gradino-ico { width: 26px; height: 26px; }
.obe-modulo .obe-gradino:has(input:checked) .obe-gradino-punto,
.obe-modulo .obe-scala:has(input:checked) .obe-gradino:has(~ .obe-gradino input:checked) .obe-gradino-punto {
  background: radial-gradient(circle, #a78bfa 0%, #6d4fe0 75%); color: #fff;
}
.obe-modulo .obe-gradino-5 .obe-gradino-punto { border-color: rgba(240, 194, 79, 0.7); color: #f3cf7a; background: radial-gradient(circle, #3a2c20, #17122e 70%); }
.obe-modulo .obe-gradino-5:has(input:checked) .obe-gradino-punto {
  border-color: #f0c24f; color: #fff7dc; background: radial-gradient(circle, #f6d98c 0%, #c8902a 80%);
  box-shadow: 0 0 20px rgba(240, 194, 79, 0.8);
}
.obe-modulo .obe-gradino-nome { font-size: 0.8rem; }

.obe-contatore { margin: 4px 0 0; text-align: right; font-variant-numeric: tabular-nums; }
.obe-azioni { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.obe-azioni .btn { padding: 13px 26px; }
.obe-privato { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 0 auto; font-size: 0.82rem; color: var(--testo-tenue); }
.obe-privato .ico-lucchetto { width: 14px; height: 14px; }
.obe-lato { display: flex; flex-direction: column; gap: 16px; }
.obe-lato .card { margin: 0; padding: 18px 18px 16px; }
.obe-lato h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-family: var(--serif); font-weight: 500; font-size: 1.15rem; }
.obe-stellina { color: #f0c24f; font-size: 1.2rem; text-shadow: 0 0 8px rgba(240, 194, 79, 0.7); }
.obe-info { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid #f0c24f; color: #f0c24f; font-size: 0.8rem; font-weight: 700; font-family: Georgia, serif; }
.obe-riepilogo dl { margin: 0; padding: 6px 12px; border-radius: 12px; background: rgba(255, 255, 255, 0.03); }
.obe-riepilogo dl > div { display: grid; grid-template-columns: 22px minmax(0, 1fr) minmax(0, 1.1fr); gap: 10px; align-items: center; padding: 6px 0; font-size: 0.84rem; }
.obe-riepilogo dl > div > .obe-ico { width: 16px; height: 16px; color: var(--testo-tenue); }
.obe-riepilogo dl > div:not(:has(.obe-ico))::before { content: ""; }
.obe-riepilogo dt { color: var(--testo-tenue); }
.obe-riepilogo dd { margin: 0; color: var(--testo); }
.obe-significato ol { list-style: none; margin: 0; padding: 4px 6px; display: grid; gap: 10px; border-radius: 12px; background: rgba(255, 255, 255, 0.03); }
.obe-significato-voce { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; }
.obe-significato-ico {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(167, 139, 250, 0.45); background: radial-gradient(circle, rgba(139, 108, 255, 0.2), #17122e 70%); color: #c4b5fd;
}
.obe-significato-ico .obe-ico { width: 22px; height: 22px; }
.obe-significato-voce.obe-gradino-5 .obe-significato-ico { border-color: rgba(240, 194, 79, 0.7); color: #f3cf7a; box-shadow: 0 0 10px rgba(240, 194, 79, 0.3); }
.obe-significato strong { display: block; font-size: 0.92rem; font-weight: 500; }
.obe-significato small { display: block; font-size: 0.78rem; line-height: 1.35; color: var(--testo-debole); }
.obe-paesaggio {
  margin: 0; min-height: 300px; padding: 24px 18px; border-radius: 18px;
  display: flex; flex-direction: column; justify-content: flex-end; align-items: center; text-align: center;
  background:
    linear-gradient(180deg, transparent 30%, rgba(10, 7, 26, 0.85) 85%),
    var(--paesaggio, radial-gradient(70% 50% at 50% 35%, rgba(240, 194, 79, 0.25), transparent 70%)) center / cover no-repeat;
}
.obe-paesaggio-video { position: relative; overflow: hidden; isolation: isolate; min-height: 460px; background: #0b0920; }
.obe-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; z-index: -2; }
.obe-paesaggio-video::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(10, 7, 26, 0.15) 0%, transparent 35%, rgba(10, 7, 26, 0.88) 88%);
}
.obe-paesaggio blockquote { margin: 0 0 14px; font-family: var(--serif); font-style: italic; font-size: 1.12rem; line-height: 1.45; color: #f3cf7a; }
.obe-paesaggio figcaption { font-family: var(--serif); letter-spacing: 0.5em; font-size: 0.9rem; color: #e8dcc0; }

@media (max-width: 1100px) {
  .obe-layout { grid-template-columns: minmax(0, 1fr); }
  .obe-lato { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .obe-paesaggio:not(.obe-paesaggio-video) { display: none; }
  
  .obe-paesaggio-video {
    grid-column: 1 / -1; justify-self: center; width: 100%; max-width: 440px;
    min-height: 0; aspect-ratio: 4 / 5;
  }
}
@media (max-width: 860px) {
  .obe-dati-griglia { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .obe-dati-griglia .campo:first-child, .obe-sonno { grid-column: 1 / -1; }
  .obe-tecniche { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .obe-finali { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .obe-modulo .obe-intensita { grid-template-columns: minmax(0, 1fr); }
  .obe-lato { grid-template-columns: minmax(0, 1fr); }
  .obe-motto { display: none; }
}
@media (max-width: 680px) {
  .obe-modulo { padding: 18px 16px 20px; }
  .obe-modulo .obe-tipo > * { padding: 8px 14px; }
  .obe-riquadro-testa span { display: block; margin: 2px 0 0; }
  .obe-modulo .obe-scala::before { top: 20px; bottom: 20px; left: 19px; }
  .obe-modulo .obe-gradino-punto { width: 40px; height: 40px; }
  .obe-gradino-ico { width: 20px; height: 20px; }
  .obe-tecniche { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .obe-segmento span { font-size: 0.76rem; padding: 8px 2px; white-space: normal; line-height: 1.2; }
  .obe-privato { margin-left: 0; }
}
.obe-ico-colore { background: none; -webkit-mask: none; mask: none; object-fit: contain; }
.astra-pulsante {
  position: fixed; right: 22px; bottom: 22px; z-index: 900;
  width: 64px; height: 64px; padding: 0; border-radius: 50%; cursor: pointer;
  border: 2px solid rgba(240, 194, 79, 0.75);
  background: #17122e;
  box-shadow: 0 0 18px rgba(167, 139, 250, 0.55), 0 6px 18px rgba(0, 0, 0, 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.astra-pulsante img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.astra-conto {
  position: absolute; top: -5px; right: -5px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  background: #f0c24f; color: #1b1230; font-size: 0.78rem; font-weight: 700; line-height: 1;
  border: 2px solid #17122e; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45); pointer-events: none;
}
.astra-conto[hidden] { display: none; }

.astra-occhi { position: absolute; inset: 0; opacity: 0; transition: opacity 0.8s ease; pointer-events: none; }
.astra-sveglia .astra-occhi { opacity: 1; }
.astra-sveglia .astra-occhi-aperti { animation: astra-batte 5.4s ease-in-out 1.5s infinite; }
@keyframes astra-batte {
  0%, 90% { opacity: 1; }
  93% { opacity: 0; }
  95% { opacity: 0; }
  99%, 100% { opacity: 1; }
}

.astra-scintille { position: absolute; inset: 0; pointer-events: none; }
.astra-scintille i {
  position: absolute; font-style: normal; line-height: 1; color: #ffeaa8; opacity: 0;
  font-family: system-ui, sans-serif; 
  text-shadow: 0 0 2px #fff, 0 0 5px #ffd36b, 0 0 10px #f0c24f, 0 0 16px rgba(196, 160, 255, .95);
}

.astra-scintille i:nth-child(1) { left: -2%; top: 34%; font-size: 15px; --dx: -16px; --dy: -8px; }
.astra-scintille i:nth-child(2) { left: 92%; top: 44%; font-size: 16px; --dx: 16px;  --dy: -4px; }
.astra-scintille i:nth-child(3) { left: 36%; top: -10%; font-size: 13px; --dx: -4px; --dy: -18px; }
.astra-scintille i:nth-child(4) { left: 2%;  top: 76%; font-size: 11px; --dx: -14px; --dy: 8px; }
.astra-scintille i:nth-child(5) { left: 80%; top: 84%; font-size: 12px; --dx: 13px;  --dy: 9px; }
.astra-scintille i:nth-child(6) { left: 8%;  top: 2%;  font-size: 12px; }
.astra-scintille i:nth-child(7) { left: 46%; top: 96%; font-size: 10px; }
.astra-sveglia .astra-scintille i { animation: astra-scintilla-battito 5.4s ease-out 1.5s infinite; }
.astra-sveglia .astra-scintille i:nth-child(2) { animation-delay: 1.56s; }
.astra-sveglia .astra-scintille i:nth-child(3) { animation-delay: 1.62s; }
.astra-sveglia .astra-scintille i:nth-child(4) { animation-delay: 1.68s; }
.astra-sveglia .astra-scintille i:nth-child(5) { animation-delay: 1.74s; }
.astra-sveglia .astra-scintille i:nth-child(6) { animation: astra-scintilla-brilla 2.3s ease-in-out .4s infinite; }
.astra-sveglia .astra-scintille i:nth-child(7) { animation: astra-scintilla-brilla 3.1s ease-in-out 1.6s infinite; }
@keyframes astra-scintilla-battito {
  0%, 88% { opacity: 0; transform: translate(0, 0) scale(.3) rotate(0deg); }
  92% { opacity: 1; transform: translate(calc(var(--dx, 0px) * .4), calc(var(--dy, -4px) * .4)) scale(1.25) rotate(30deg); }
  100% { opacity: 0; transform: translate(var(--dx, 0px), var(--dy, -9px)) scale(.5) rotate(80deg); }
}
@keyframes astra-scintilla-brilla {
  0%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); }
  45% { opacity: 1; transform: scale(1.2) rotate(45deg); }
  70% { opacity: .2; transform: scale(.7) rotate(70deg); }
}

.astra-sveglia::before {
  content: ""; position: absolute; inset: -5px; border-radius: 50%; pointer-events: none;
  background: conic-gradient(from 0deg, transparent 0 62%, rgba(240, 194, 79, .2) 72%, rgba(255, 226, 140, 1) 84%, transparent 94%);
  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
          mask: radial-gradient(closest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
  animation: astra-riflesso 3.6s linear infinite;
}
@keyframes astra-riflesso { to { transform: rotate(1turn); } }
@media (prefers-reduced-motion: reduce) {
  .astra-sveglia .astra-occhi-aperti, .astra-sveglia .astra-scintille i, .astra-sveglia::before { animation: none; }
}

#guarda { scroll-margin-top: 88px; }
.guarda.guarda-indicata { animation: guarda-indicata 2.2s ease-out; }
@keyframes guarda-indicata {
  0% { box-shadow: 0 0 0 0 rgba(240, 194, 79, 0); }
  25% { box-shadow: 0 0 0 4px rgba(240, 194, 79, 0.8), 0 0 36px rgba(240, 194, 79, 0.45); }
  100% { box-shadow: 0 0 0 0 rgba(240, 194, 79, 0); }
}
@media (prefers-reduced-motion: reduce) { .guarda.guarda-indicata { animation: none; outline: 3px solid #f0c24f; } }
.astra-pulsante:hover, .astra-pulsante:focus-visible { transform: scale(1.06); box-shadow: 0 0 26px rgba(196, 181, 253, 0.85), 0 6px 18px rgba(0, 0, 0, 0.45); }
.astra-pulsante:focus-visible { outline: 2px solid #f0c24f; outline-offset: 3px; }

.astra-nuovo { animation: astra-chiama 3s ease-in-out infinite; }
@keyframes astra-chiama {
  0%, 62%, 100% { box-shadow: 0 0 18px rgba(167, 139, 250, 0.55), 0 6px 18px rgba(0, 0, 0, 0.45); transform: scale(1); }
  72% { box-shadow: 0 0 34px rgba(240, 194, 79, 0.95), 0 0 60px rgba(167, 139, 250, 0.6); transform: scale(1.1); }
}
.astra-velo { position: fixed; inset: 0; z-index: 1000; background: rgba(6, 4, 16, 0.55); opacity: 0; transition: opacity 0.25s; }
.astra-velo.aperto { opacity: 1; }
.astra-pannello {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1001; width: min(400px, 100vw); overflow-y: auto; overflow-x: hidden;
  padding: 22px 22px 28px; border-left: 1.5px solid rgba(167, 139, 250, 0.45);
  background:
    radial-gradient(120% 50% at 50% 0%, rgba(139, 108, 255, 0.28), transparent 70%),
    #120d26;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.5);
  transform: translateX(100%); transition: transform 0.25s ease;
}
.astra-pannello.aperto { transform: none; }
.astra-testa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.astra-figura { width: 92px; height: auto; filter: drop-shadow(0 0 14px rgba(167, 139, 250, 0.6)); }
.astra-nome { margin: 0; font-family: var(--serif); letter-spacing: 0.4em; font-size: 0.8rem; color: #f0c24f; text-transform: uppercase; }
.astra-testa h2 { margin: 4px 0 0; font-family: var(--serif); font-weight: 500; font-size: 1.3rem; line-height: 1.25; }
.astra-chiudi {
  align-self: start; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--card-bordo);
  background: rgba(255, 255, 255, 0.05); color: var(--testo); font-size: 1.3rem; line-height: 1; cursor: pointer;
}
.astra-chiudi:hover { border-color: #a78bfa; }
.astra-saluto { margin: 16px 0 14px; font-family: var(--serif); font-style: italic; font-size: 1.02rem; line-height: 1.55; color: #e9e2ff; }
.astra-punti { list-style: none; counter-reset: punto; margin: 0; padding: 0; display: grid; gap: 12px; }
.astra-punti li {
  counter-increment: punto; position: relative; padding: 12px 14px 12px 48px; border-radius: 14px;
  border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.03);
}
.astra-punti li::before {
  content: counter(punto); position: absolute; left: 12px; top: 12px;
  display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
  font-size: 0.8rem; font-weight: 700; color: #1d1442; background: linear-gradient(180deg, #f6d98c, #e8b84a);
}
.astra-punti strong { display: block; margin-bottom: 3px; font-size: 0.95rem; color: #f1edff; }
.astra-punti span { display: block; font-size: 0.86rem; line-height: 1.5; color: var(--testo-tenue); }
.astra-consiglio {
  display: flex; gap: 10px; margin: 16px 0 0; padding: 12px 14px; border-radius: 14px;
  border: 1px solid rgba(240, 194, 79, 0.45); background: rgba(240, 194, 79, 0.07);
  font-size: 0.88rem; line-height: 1.5; color: #f3e7c0;
}
.astra-consiglio span { color: #f0c24f; }

body.scena-piena .astra-pulsante { display: none; }

.astra-tour-avvia { display: block; width: 100%; margin: 0 0 14px; }
.astra-adesso { margin: 0 0 10px; }
.astra-adesso summary { border-color: rgba(167, 139, 250, 0.4); background: rgba(139, 108, 255, 0.1); }
.astra-adesso ul { margin-top: 10px; }
.astra-adesso ul { list-style: none; padding: 0; display: grid; gap: 8px; margin-bottom: 0; }
.astra-adesso li { font-size: 0.88rem; line-height: 1.45; color: #e9e2ff; }
.astra-adesso li button {
  display: block; width: 100%; text-align: left; padding: 9px 12px; border-radius: 10px; cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.05);
  color: inherit; font: inherit; line-height: 1.45; transition: border-color 0.15s, background 0.15s;
}
.astra-adesso li button:hover, .astra-adesso li button:focus-visible { border-color: #f0c24f; background: rgba(240, 194, 79, 0.1); }
.astra-adesso-nota { margin: 8px 0 0; font-size: 0.78rem; color: var(--testo-tenue); }

.astra-guarda {
  display: flex; align-items: center; gap: 12px; width: 100%; margin: 0 0 10px; padding: 8px 14px 8px 10px;
  border-radius: 12px; border: 1px solid rgba(240, 194, 79, 0.45); background: rgba(139, 108, 255, 0.12);
  color: #e9e2ff; font: inherit; text-align: left; cursor: pointer; transition: border-color 0.15s, background 0.15s;
}
.astra-guarda[hidden] { display: none; }
.astra-guarda:hover, .astra-guarda:focus-visible { border-color: #f0c24f; background: rgba(240, 194, 79, 0.1); }
.astra-guarda img { flex: none; width: 55px; height: 32px; object-fit: contain; }
.astra-guarda-testi { flex: 1; display: grid; gap: 2px; min-width: 0; }
.astra-guarda-testi strong { font-size: 0.92rem; }
.astra-guarda-sotto { font-size: 0.8rem; color: #f0c24f; }
.astra-guarda-visto { border-color: var(--card-bordo); }
.astra-guarda-visto img { opacity: 0.55; }
.astra-guarda-visto .astra-guarda-sotto { color: var(--testo-tenue); }
.astra-guarda-freccia { font-size: 1.4rem; color: #f0c24f; line-height: 1; }
.astra-tendina { margin: 0 0 10px; }
.astra-tendina summary {
  list-style: none; cursor: pointer; padding: 10px 14px; border-radius: 12px; font-size: 0.9rem; font-weight: 600;
  border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.03); color: #e9e2ff;
  display: flex; justify-content: space-between; align-items: center;
}
.astra-tendina summary::-webkit-details-marker { display: none; }
.astra-tendina summary::after { content: "+"; font-size: 1.2rem; color: #f0c24f; transition: transform 0.2s; }
.astra-tendina[open] summary::after { content: "−"; }
.astra-tendina summary:hover, .astra-tendina summary:focus-visible { border-color: #a78bfa; }
.astra-tendina .astra-punti { margin-top: 12px; }

.astra-dici { margin: 14px 0 0; }
.dici-modulo { display: grid; gap: 8px; margin-top: 10px; }
.dici-intro { margin: 0; font-size: 0.85rem; line-height: 1.5; color: var(--testo-tenue); }
.dici-modulo textarea, .dici-modulo input[type="email"] { width: 100%; box-sizing: border-box; font-size: 0.9rem; }
.dici-modulo textarea { min-height: 96px; resize: vertical; }
.dici-trappola { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dici-azioni { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dici-privato { font-size: 0.74rem; line-height: 1.4; color: var(--testo-debole); }
.dici-azioni .btn { flex: none; padding: 8px 18px; }
.dici-esito:empty { display: none; }
.dici-esito { margin: 0; }
.dici-errore { font-size: 0.82rem; color: #f6a9bd; }
.dici-grazie { margin: 10px 0 0; padding: 12px 14px; border-radius: 12px; font-size: 0.9rem; line-height: 1.5;
  border: 1px solid rgba(240, 194, 79, 0.45); background: rgba(240, 194, 79, 0.07); color: #f3e7c0; }
.su-testo { margin-top: 8px; color: var(--testo); }
.su-testo p { margin: 0 0 6px; line-height: 1.5; }
.astra-tour-schermo { position: fixed; inset: 0; z-index: 2000; background: transparent; }
.astra-tour-luce {
  position: fixed; z-index: 2001; pointer-events: none; border-radius: 16px;
  border: 2px solid #f0c24f; box-shadow: 0 0 0 100vmax rgba(6, 4, 16, 0.76), 0 0 24px rgba(240, 194, 79, 0.55);
  transition: top 0.28s ease, left 0.28s ease, width 0.28s ease, height 0.28s ease;
}
.astra-tour-nuvola {
  position: fixed; z-index: 2002; width: min(340px, calc(100vw - 24px)); padding: 14px 16px 14px;
  border-radius: 18px; border: 1.5px solid rgba(167, 139, 250, 0.55);
  background: radial-gradient(120% 70% at 50% 0%, rgba(139, 108, 255, 0.3), transparent 70%), #130e2a;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}
.astra-tour-testa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.astra-tour-volto { width: 44px; height: 44px; border-radius: 50%; border: 2px solid rgba(240, 194, 79, 0.75); object-fit: cover; }
.astra-tour-passo { margin: 0; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: #f0c24f; }
.astra-tour-titolo { margin: 2px 0 0; font-family: var(--serif); font-weight: 500; font-size: 1.12rem; line-height: 1.2; color: #f4f0ff; }
.astra-tour-x {
  align-self: start; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; font-size: 1.2rem; line-height: 1;
  border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.05); color: var(--testo);
}
.astra-tour-x:hover { border-color: #a78bfa; }
.astra-tour-testo { margin: 10px 0 12px; font-size: 0.92rem; line-height: 1.5; color: #e4defa; }
.astra-tour-tasti { display: flex; justify-content: flex-end; gap: 8px; }
@media (prefers-reduced-motion: reduce) { .astra-tour-luce { transition: none; } }
@media (prefers-reduced-motion: reduce) {
  .astra-nuovo { animation: none; }
  .astra-pannello, .astra-velo { transition: none; }
}
@media (max-width: 680px) {
  .astra-pulsante { right: 14px; bottom: 14px; width: 54px; height: 54px; transition: transform 0.2s ease, box-shadow 0.2s ease, translate 0.25s ease, opacity 0.25s; }
  
  .astra-pulsante.astra-ritirato { translate: 46% 0; opacity: 0.85; }
  
  .astra-pulsante .astra-conto { transition: left 0.25s ease, right 0.25s ease; }
  .astra-pulsante.astra-ritirato .astra-conto { right: auto; left: -6px; }
  .astra-pannello {
    top: auto; left: 0; width: 100vw; max-height: 86vh; border-left: 0; border-top: 1.5px solid rgba(167, 139, 250, 0.45);
    border-radius: 22px 22px 0 0; transform: translateY(100%);
  }
  .astra-figura { width: 64px; }
}
.lettura-firma { display: flex; align-items: center; gap: 12px; min-width: 0; }
.lettura-astra {
  flex: none; width: 46px; height: 46px; border-radius: 50%; object-fit: cover;
  border: 1.5px solid #e8b84a; box-shadow: 0 0 12px rgba(232, 184, 74, 0.35);
}
.lettura-di { margin: 0 0 1px; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: #e8b84a; }
.lettura-astra-scrive { animation: astra-scrive 2.4s ease-in-out infinite; }
@keyframes astra-scrive {
  0%, 100% { box-shadow: 0 0 10px rgba(232, 184, 74, 0.3); }
  50% { box-shadow: 0 0 22px rgba(196, 181, 253, 0.85); }
}
@media (prefers-reduced-motion: reduce) { .lettura-astra-scrive { animation: none; } }
@media (max-width: 680px) { .lettura-astra { width: 38px; height: 38px; } }
.guarda-occhi { position: relative; display: grid; place-items: center; }
.guarda-occhi > * { grid-area: 1 / 1; transition: opacity 0.6s ease, transform 0.6s ease; }
.guarda-occhio-chiuso {
  width: 92px; height: 92px; opacity: 0; transform: scaleY(1.4);
  background: #e9dcff;
  -webkit-mask: var(--icona) center / contain no-repeat; mask: var(--icona) center / contain no-repeat;
  filter: drop-shadow(0 0 6px rgba(196, 181, 253, 0.9)) drop-shadow(0 0 14px rgba(240, 194, 79, 0.45));
}

.guarda-chiuso .guarda-occhio { opacity: 0; transform: scaleY(0.2); }
.guarda-chiuso .guarda-occhio-chiuso { opacity: 1; transform: none; width: 72px; height: 72px; }
@media (prefers-reduced-motion: reduce) { .guarda-occhi > * { transition: none; } }
@media (max-width: 760px) {
  .guarda-occhio-chiuso, .guarda-chiuso .guarda-occhio-chiuso { width: 50px; height: 50px; }
}
.guarda-lista > li { position: relative; }
.guarda-voce-sogno:not(.guarda-voce-fatta) { padding-right: 150px; }
.guarda-voce-sogno:not(.guarda-voce-fatta) .guarda-stato { display: none; }
.guarda-nessuno {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  padding: 6px 12px; border-radius: 999px; cursor: pointer; white-space: nowrap;
  font: inherit; font-size: 0.78rem; color: #d9ccff;
  border: 1px solid rgba(167, 139, 250, 0.45); background: rgba(139, 108, 255, 0.12);
  transition: background 0.15s, border-color 0.15s;
}
.guarda-nessuno:hover { background: rgba(139, 108, 255, 0.25); border-color: #a78bfa; }
.guarda-nessuno:focus-visible { outline: 2px solid #a78bfa; outline-offset: 2px; }
@media (max-width: 480px) {
  .guarda-voce-sogno:not(.guarda-voce-fatta) { padding-right: 12px; padding-bottom: 46px; }
  .guarda-nessuno { top: auto; bottom: 10px; transform: none; }
}
.obe-eroe {
  position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 26px; align-items: center;
  margin: 8px 0 22px; padding: 34px 36px; min-height: 300px; border-radius: 24px;
  border: 1.5px solid rgba(167, 139, 250, 0.45);
  background:
    linear-gradient(90deg, rgba(14, 10, 32, 0.96) 30%, rgba(14, 10, 32, 0.55) 65%, rgba(14, 10, 32, 0.15)),
    var(--paesaggio) right 30% / cover no-repeat, #120d26;
  box-shadow: 0 0 30px rgba(124, 92, 255, 0.25);
}
.obe-eroe-figura { width: 130px; height: auto; filter: drop-shadow(0 0 18px rgba(240, 194, 79, 0.45)); animation: obe-fluttua 6s ease-in-out infinite; }
@keyframes obe-fluttua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.obe-eroe-sopra { margin: 0 0 6px; font-size: 0.76rem; letter-spacing: 0.16em; text-transform: uppercase; color: #f0c24f; }
.obe-eroe h1 { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 2.4rem; line-height: 1.1; color: #f6f1ff; }
.obe-eroe-sotto { max-width: 46ch; margin: 12px 0 20px; font-size: 1.02rem; line-height: 1.6; color: #d9d4ee; }
.obe-eroe-azioni { display: flex; flex-wrap: wrap; gap: 10px; }
.obe-eroe-azioni .ico-lucchetto { width: 14px; height: 14px; }

.obe-testo p { margin: 0 0 1em; max-width: 72ch; font-size: 1.02rem; line-height: 1.75; }
.obe-testo p:last-child { margin-bottom: 0; }
.obe-testo h2, .obe-sezione-titolo { margin: 0 0 12px; font-family: var(--serif); font-weight: 500; font-size: 1.3rem; }
.ripiega-testa { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.ripiega-testa::-webkit-details-marker { display: none; }
.ripiega-testa > h2 { flex: 1; min-width: 0; margin: 0; }
.ripiega-freccia {
  flex: none; width: 10px; height: 10px; margin: 0 8px;
  border-right: 2px solid #b9a6ff; border-bottom: 2px solid #b9a6ff;
  transform: rotate(-135deg) translate(-2px, -2px); transition: transform 0.2s ease;
}
.ripiega:not([open]) .ripiega-freccia { transform: rotate(45deg) translate(-2px, -2px); }
.ripiega[open] > .ripiega-testa { margin-bottom: 6px; }
.ripiega:not([open]) { margin-bottom: 14px; }
.obe-blocco { margin: 30px 0 22px; }

.obe-mini { display: none; gap: 10px; margin: -4px 0 26px; }
#tecniche:not([open]) + .obe-mini { display: flex; flex-wrap: wrap; }
.obe-mini-voce {
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
  border: 1px solid rgba(167, 139, 250, 0.4); background: rgba(255, 255, 255, 0.04);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.obe-mini-voce:hover { transform: translateY(-2px); border-color: var(--accento); box-shadow: 0 0 18px rgba(124, 92, 255, 0.35); }
.obe-mini-voce .obe-ico { width: 30px; height: 30px; }
.obe-blocco-titolo { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-family: var(--serif); font-weight: 500; font-size: 1.5rem; }
.obe-blocco-titolo span { color: #f0c24f; font-size: 1.1rem; }
.obe-blocco-sotto { margin: 0 0 16px; color: var(--testo-tenue); max-width: 70ch; }

.obe-percorso {
  list-style: none; margin: 0; padding: 18px 12px; position: relative;
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px;
  border-radius: 18px; border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.025);
}
.obe-percorso::before {
  content: ""; position: absolute; top: 44px; left: 8%; right: 8%; height: 2px;
  background: linear-gradient(90deg, rgba(167, 139, 250, 0.5), rgba(240, 194, 79, 0.6));
}
.obe-percorso li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.obe-percorso-ico {
  display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #c4b5fd;
  border: 1.5px solid rgba(167, 139, 250, 0.5); background: radial-gradient(circle, #2a2050, #17122e 70%);
}
.obe-percorso-ico .obe-ico { width: 26px; height: 26px; }
.obe-percorso .obe-gradino-5 .obe-percorso-ico { color: #f3cf7a; border-color: #f0c24f; box-shadow: 0 0 14px rgba(240, 194, 79, 0.4); }
.obe-percorso strong { font-size: 0.88rem; font-weight: 600; color: #f1edff; }
.obe-percorso small { font-size: 0.76rem; line-height: 1.35; color: var(--testo-debole); }

.obe-preparazione { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.obe-prep { position: relative; margin: 0; padding: 18px 18px 16px; }
.obe-prep-numero {
  display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 10px; border-radius: 50%;
  font-size: 0.85rem; font-weight: 700; color: #1d1442; background: linear-gradient(180deg, #f6d98c, #e8b84a);
}
.obe-prep h3 { margin: 0 0 6px; font-size: 1rem; }
.obe-prep p { margin: 0; font-size: 0.88rem; line-height: 1.55; color: var(--testo-tenue); }

.obe-tecniche-griglia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.obe-scheda {
  display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 20px; color: inherit; text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.obe-scheda:hover { transform: translateY(-3px); border-color: rgba(167, 139, 250, 0.6); box-shadow: 0 0 20px rgba(124, 92, 255, 0.25); text-decoration: none; }
.obe-scheda-ico, .obe-tecnica-cerchio {
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; color: #d9ccff;
  border: 1px solid rgba(167, 139, 250, 0.5); background: radial-gradient(circle, rgba(139, 108, 255, 0.3), #17122e 75%);
  box-shadow: 0 0 14px rgba(124, 92, 255, 0.3);
}
.obe-scheda-ico .obe-ico { width: 32px; height: 32px; }
.obe-scheda h3 { margin: 4px 0 0; font-family: var(--serif); font-weight: 500; font-size: 1.25rem; }
.obe-scheda p { margin: 0; flex: 1; font-size: 0.9rem; line-height: 1.55; color: var(--testo-tenue); }
.obe-scheda-dati { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 0.8rem; color: var(--testo-debole); }
.obe-scheda-vai { margin-top: 4px; font-size: 0.88rem; font-weight: 600; color: #c4b5fd; }
.obe-difficolta { display: inline-flex; align-items: center; gap: 4px; font-size: 0.8rem; color: var(--testo-tenue); }
.obe-difficolta i { width: 8px; height: 8px; border-radius: 50%; background: rgba(196, 181, 253, 0.25); }
.obe-difficolta i.acceso { background: #f0c24f; box-shadow: 0 0 6px rgba(240, 194, 79, 0.7); }
.obe-difficolta span { margin-left: 4px; }

.obe-invito {
  margin: 26px 0 18px; padding: 24px 26px 24px 150px; position: relative; overflow: hidden;
  border-color: rgba(240, 194, 79, 0.45);
  background:
    radial-gradient(60% 120% at 0% 50%, rgba(240, 194, 79, 0.12), transparent 60%),
    linear-gradient(90deg, rgba(139, 108, 255, 0.14), rgba(139, 108, 255, 0.03)), var(--card);
}
.obe-invito::before {
  content: ""; position: absolute; left: 34px; top: 50%; width: 82px; height: 140px; transform: translateY(-50%);
  background: var(--figura) center / contain no-repeat; filter: drop-shadow(0 0 12px rgba(240, 194, 79, 0.45));
}
.obe-invito h2 { margin: 0 0 6px; font-family: var(--serif); font-weight: 500; font-size: 1.35rem; color: #f3cf7a; }
.obe-invito p { margin: 0 0 14px; max-width: 64ch; line-height: 1.6; color: #d9d4ee; }
.obe-invito-azioni { display: flex; flex-wrap: wrap; gap: 10px; }
.obe-invito-azioni .ico-lucchetto { width: 14px; height: 14px; }
.obe-invito .obe-invito-nota { margin: 12px 0 0; }
.obe-prudenza { border-color: rgba(167, 139, 250, 0.3); }
.obe-prudenza h2 { margin: 0 0 8px; font-size: 1.05rem; }
.obe-prudenza p { margin: 0; font-size: 0.9rem; line-height: 1.6; color: var(--testo-tenue); max-width: 80ch; }
.obe-briciole { margin: 4px 0 12px; font-size: 0.86rem; color: var(--testo-debole); }
.obe-briciole a { color: #c4b5fd; }
.obe-tecnica-testa { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; padding: 26px 28px; }
.obe-tecnica-cerchio { width: 96px; height: 96px; border-radius: 50%; }
.obe-tecnica-cerchio .obe-ico { width: 54px; height: 54px; }
.obe-tecnica-testa h1 { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 2.1rem; }
.obe-tecnica-breve { margin: 8px 0 12px; font-size: 1.04rem; line-height: 1.55; color: #d9d4ee; }
.obe-tecnica-dati { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.obe-dato { font-size: 0.84rem; color: var(--testo-tenue); }
.obe-dato strong { color: #f1edff; font-weight: 600; }
.obe-passi li { padding-top: 14px; padding-bottom: 14px; }
.obe-due { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.obe-due > .card { margin: 0 0 16px; }
.obe-segnali p { margin: 0; line-height: 1.65; }
.obe-consiglio { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; border-color: rgba(240, 194, 79, 0.4); background: linear-gradient(135deg, rgba(240, 194, 79, 0.07), transparent 60%), var(--card); }
.obe-consiglio img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 1.5px solid #e8b84a; box-shadow: 0 0 12px rgba(232, 184, 74, 0.35); }
.obe-consiglio p { margin: 0; line-height: 1.6; }
.obe-consiglio .lettura-di { margin-bottom: 4px; }
.obe-errori { margin: 0; display: grid; gap: 10px; }
.obe-errori > div { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--card-bordo); background: rgba(255, 255, 255, 0.03); }
.obe-errori dt { font-weight: 600; color: #f1edff; margin-bottom: 3px; }
.obe-errori dd { margin: 0; font-size: 0.9rem; line-height: 1.55; color: var(--testo-tenue); }
.obe-altre { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 8px; }
.obe-altra { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 14px 16px; color: inherit; text-decoration: none; }
.obe-altra:hover { border-color: rgba(167, 139, 250, 0.6); text-decoration: none; }
.obe-altra small { font-size: 0.76rem; color: var(--testo-debole); }
.obe-altra strong { font-family: var(--serif); font-weight: 500; font-size: 1.05rem; }
.obe-altra-tutte { text-align: center; }
.obe-altra-dopo { text-align: right; }
.obe-prudenza-breve { margin: 10px 0 16px; }

@media (prefers-reduced-motion: reduce) { .obe-eroe-figura { animation: none; } }
@media (max-width: 980px) {
  .obe-preparazione { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .obe-tecniche-griglia { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .obe-percorso { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 18px; }
  .obe-percorso::before { display: none; }
}
@media (max-width: 680px) {
  .obe-eroe { grid-template-columns: minmax(0, 1fr); padding: 24px 20px; text-align: left;
    background: linear-gradient(180deg, rgba(14, 10, 32, 0.4), rgba(14, 10, 32, 0.95) 55%), var(--paesaggio) center top / cover no-repeat, #120d26; }
  .obe-eroe-figura { width: 80px; }
  .obe-eroe h1 { font-size: 1.9rem; }
  .obe-preparazione, .obe-tecniche-griglia, .obe-due { grid-template-columns: minmax(0, 1fr); }
  .obe-percorso { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .obe-invito { padding: 20px 18px; }
  .obe-invito::before { display: none; }
  .obe-tecnica-testa { grid-template-columns: minmax(0, 1fr); padding: 20px; }
  .obe-tecnica-cerchio { width: 72px; height: 72px; }
  .obe-tecnica-testa h1 { font-size: 1.7rem; }
  .obe-altre { grid-template-columns: minmax(0, 1fr); }
  .obe-altra-dopo, .obe-altra-tutte { text-align: left; }
}

.obe-preparazione > .card, .obe-tecniche-griglia > .card, .obe-due > .card, .obe-altre > .card { margin-top: 0; margin-bottom: 0; }
.obe-due { margin-bottom: 16px; }
.obe-scheda { padding: 0 0 18px; overflow: hidden; }
.obe-scheda > :not(.obe-scheda-figura) { margin-left: 20px; margin-right: 20px; }
.obe-scheda-figura { position: relative; display: block; margin-bottom: 14px; aspect-ratio: 16 / 9; overflow: hidden; }
.obe-scheda-figura img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.obe-scheda:hover .obe-scheda-figura img { transform: scale(1.04); }
.obe-scheda-figura::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, var(--card) 100%); }
.obe-scheda-figura .obe-scheda-ico { position: absolute; left: 20px; bottom: -6px; z-index: 1; backdrop-filter: blur(4px); background: rgba(23, 18, 46, 0.75); }
.obe-con-illustrazione { position: relative; min-height: 300px; overflow: hidden; }

.obe-con-illustrazione::before {
  content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 58%; z-index: 0;
  background: var(--ill) center / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%);
          mask-image: linear-gradient(90deg, transparent 0, #000 40%);
}
.obe-con-illustrazione > * { position: relative; z-index: 1; }
.obe-con-illustrazione > div { max-width: 50%; }
@media (max-width: 980px) and (min-width: 681px) { .obe-con-illustrazione > div { max-width: 58%; } }
@media (prefers-reduced-motion: reduce) { .obe-scheda-figura img { transition: none; } }
@media (max-width: 680px) {
  .obe-con-illustrazione { min-height: 0; padding-top: 190px; }
  .obe-con-illustrazione::before { left: 0; width: auto; bottom: auto; height: 230px;
    -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%); mask-image: linear-gradient(180deg, #000 55%, transparent 100%); }
  .obe-con-illustrazione > div { max-width: none; }
}
.obe-percorso li { cursor: default; }
.obe-percorso-ico {
  position: relative;
  border-color: color-mix(in srgb, #a78bfa calc(30% + var(--passo) * 12%), transparent);
  box-shadow: 0 0 calc(var(--passo) * 3px) rgba(167, 139, 250, calc(0.1 + var(--passo) * 0.08));
  color: color-mix(in srgb, #e9e2ff calc(55% + var(--passo) * 9%), #6f5fa8);
}
.obe-percorso-num {
  position: absolute; top: -4px; right: -6px; display: grid; place-items: center;
  width: 18px; height: 18px; border-radius: 50%; font-size: 0.66rem; font-weight: 700;
  color: #1d1442; background: #c4b5fd;
}
.obe-percorso .obe-gradino-5 .obe-percorso-num { background: linear-gradient(180deg, #f6d98c, #e8b84a); }
@media (max-width: 680px) {
  .obe-percorso { display: flex; flex-direction: column; gap: 14px; padding: 16px 16px 16px 14px; }
  .obe-percorso::before { display: block; top: 30px; bottom: 30px; left: 39px; right: auto; width: 2px; height: auto;
    background: linear-gradient(180deg, rgba(167, 139, 250, 0.4), rgba(240, 194, 79, 0.7)); }
  .obe-percorso li { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; align-items: center; text-align: left; }
  .obe-percorso-ico { grid-row: 1 / 3; }
  .obe-percorso strong { align-self: end; }
  .obe-percorso small { align-self: start; }
}
.guarda-testa { align-items: center; }
.guarda-testa > div:first-child { flex: 1 1 auto; min-width: 0; }
.guarda-apri {
  flex: none; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(167, 139, 250, 0.45); background: rgba(124, 92, 255, 0.12); color: #e9e2ff;
  transition: background 0.15s, border-color 0.15s;
}
.guarda-apri:hover { background: rgba(124, 92, 255, 0.25); border-color: #a78bfa; }
.guarda-apri:focus-visible { outline: 2px solid #a78bfa; outline-offset: 2px; }
.guarda-freccia { width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(2px) rotate(-135deg); transition: transform 0.3s ease; }
.guarda-chiuso .guarda-freccia { transform: translateY(-2px) rotate(45deg); }
.guarda-elenco { display: grid; grid-template-rows: 1fr; transition: grid-template-rows 0.35s ease, opacity 0.3s ease; }
.guarda-elenco-dentro { min-height: 0; overflow: hidden; }
.guarda-chiuso .guarda-elenco { grid-template-rows: 0fr; opacity: 0; }
.guarda-chiuso .guarda-elenco-dentro { visibility: hidden; transition: visibility 0s 0.35s; }
.guarda-chiuso { align-items: center; padding-top: 14px; padding-bottom: 14px; }
.guarda-chiuso .guarda-testa { margin-bottom: 0; }
.guarda-chiuso .guarda-testa h2 { font-size: 1.15rem; }
.guarda-chiuso .guarda-occhio { width: 76px; }
.guarda-chiuso .guarda-occhio-chiuso { width: 72px; height: 72px; }
@media (prefers-reduced-motion: reduce) { .guarda-elenco, .guarda-freccia { transition: none; } }
@media (max-width: 760px) {
  .guarda-testa { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 10px; }
  .guarda-testa > div:first-child { flex-basis: 100%; }
  .guarda-apri { width: 34px; height: 34px; margin-left: auto; }
  .guarda-elenco { grid-column: 1 / -1; }
  .guarda-chiuso .guarda-occhio { width: 50px; }
  .guarda-chiuso .guarda-occhio-chiuso { width: 50px; height: 50px; }
}

@media (max-width: 760px) {
  .guarda-chiuso { gap: 0 14px; padding: 10px 12px 10px 14px; }
  .guarda-chiuso .guarda-occhio { width: 44px; }
  .guarda-chiuso .guarda-occhio-chiuso { width: 44px; height: 44px; }
  .guarda-chiuso .guarda-occhi::after { width: 44px; height: 44px; }
  .guarda-chiuso .guarda-testa { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 10px; row-gap: 4px; }
  .guarda-chiuso .guarda-testa > div:first-child { grid-column: 1; }
  .guarda-chiuso .guarda-testa h2 { font-size: 1.08rem; }
  .guarda-chiuso .guarda-sotto { display: none; }
  .guarda-chiuso .guarda-conto { grid-column: 1; grid-row: 2; justify-self: start; margin: 0; padding: 3px 10px; font-size: 0.74rem; }
  .guarda-chiuso .guarda-apri { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
}
.guarda-scintille { position: relative; width: 0; height: 0; pointer-events: none; }
.guarda-scintille i {
  position: absolute; left: 0; top: 0; width: 8px; height: 8px; margin: -4px 0 0 -4px; opacity: 0;
  background: #f6e3a8; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
  filter: drop-shadow(0 0 4px rgba(240, 194, 79, 0.9));
}
.guarda-occhi::after {
  content: ""; grid-area: 1 / 1; width: 70px; height: 70px; border-radius: 50%; opacity: 0; pointer-events: none;
  border: 2px solid rgba(240, 194, 79, 0.7); box-shadow: 0 0 18px rgba(196, 181, 253, 0.6);
}
.guarda-si-apre .guarda-occhio { animation: guarda-apre 0.9s cubic-bezier(.2, .9, .3, 1.2) both, guarda-respira 5s ease-in-out 0.9s infinite; }
.guarda-si-apre .guarda-occhi::after { animation: guarda-alone 1.1s ease-out 0.25s both; }
.guarda-si-apre .guarda-scintille i { animation: guarda-scintilla 1.1s ease-out both; }
.guarda-si-apre .guarda-scintille i:nth-child(1) { --dx: -54px; --dy: -30px; animation-delay: 0.3s; }
.guarda-si-apre .guarda-scintille i:nth-child(2) { --dx: 56px; --dy: -24px; animation-delay: 0.38s; }
.guarda-si-apre .guarda-scintille i:nth-child(3) { --dx: -40px; --dy: 34px; animation-delay: 0.46s; }
.guarda-si-apre .guarda-scintille i:nth-child(4) { --dx: 46px; --dy: 30px; animation-delay: 0.42s; }
@keyframes guarda-apre {
  0% { transform: scaleY(0.08); opacity: 0.3; filter: drop-shadow(0 0 4px rgba(167, 139, 250, 0.4)); }
  55% { transform: scaleY(1.08); opacity: 1; filter: drop-shadow(0 0 22px rgba(240, 194, 79, 0.95)) brightness(1.35); }
  100% { transform: scaleY(1); opacity: 1; filter: drop-shadow(0 0 10px rgba(167, 139, 250, 0.55)); }
}
@keyframes guarda-alone {
  0% { opacity: 0.9; transform: scale(0.5); }
  100% { opacity: 0; transform: scale(2.1); }
}
@keyframes guarda-scintilla {
  0% { opacity: 0; transform: translate(0, 0) scale(0.3) rotate(0deg); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(1.3) rotate(90deg); }
}
@media (prefers-reduced-motion: reduce) {
  .guarda-si-apre .guarda-occhio { animation: none; }
  .guarda-si-apre .guarda-occhi::after, .guarda-si-apre .guarda-scintille i { animation: none; }
}
.bib-testa { display: flex; align-items: center; gap: 20px; margin: 10px 0 22px; }
.bib-icona { width: 96px; height: auto; filter: drop-shadow(0 0 12px rgba(167, 139, 250, 0.6)); }
.bib-testa h1 { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 2rem; }
.bib-testa p { margin: 4px 0 0; color: var(--testo-tenue); }
.bib-guida { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px; align-items: start; padding: 26px; }
.bib-copertina { display: block; border-radius: 10px; overflow: hidden; box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(167, 139, 250, 0.35); transition: transform 0.2s ease; }
.bib-copertina:hover { transform: translateY(-3px) rotate(-0.5deg); }
.bib-copertina img { display: block; width: 100%; height: auto; }
.bib-gratis { margin: 0 0 6px; font-size: 0.76rem; letter-spacing: 0.14em; text-transform: uppercase; color: #f0c24f; }
.bib-testo h2 { margin: 0 0 8px; font-family: var(--serif); font-weight: 500; font-size: 1.7rem; }
.bib-descrizione { margin: 0 0 16px; line-height: 1.6; color: #d9d4ee; }
.bib-contiene-titolo { margin: 0 0 6px; font-weight: 600; }
.bib-contiene { margin: 0 0 20px; padding: 0; list-style: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 18px; }
.bib-contiene li { position: relative; padding-left: 20px; font-size: 0.92rem; color: var(--testo-tenue); }
.bib-contiene li::before { content: "✦"; position: absolute; left: 0; color: #c4b5fd; }
.bib-azioni { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.bib-pagine { font-size: 0.84rem; color: var(--testo-debole); }
.bib-passo { margin: 18px 0 0; font-size: 0.9rem; color: var(--testo-tenue); }
.bib-presto { margin: 14px 4px 0; }
@media (max-width: 760px) {
  .bib-guida { grid-template-columns: minmax(0, 1fr); padding: 20px; }
  .bib-copertina { max-width: 220px; margin: 0 auto; }
  .bib-contiene { grid-template-columns: minmax(0, 1fr); }
  .bib-testa h1 { font-size: 1.6rem; }
  .bib-icona { width: 70px; }
}
.azioni-eroe { align-items: center; gap: 26px; }
.eroe-link {
  color: #ece9f7; font-weight: 600; font-size: 0.98rem;
  text-decoration: none; border-bottom: 1px solid rgba(236, 233, 247, 0.45);
  padding-bottom: 2px; transition: color .2s, border-color .2s;
}
.eroe-link:hover { color: #fff; border-color: #f0c24f; text-decoration: none; }
.eroe-link span { display: inline-block; transition: transform .2s; }
.eroe-link:hover span { transform: translateX(3px); }

.eroe-regalo {
  display: flex; align-items: center; gap: 18px;
  margin-top: 30px; max-width: 470px;
  padding: 12px 16px 12px 12px; border-radius: 16px;
  background: linear-gradient(110deg, rgba(240, 194, 79, 0.10), rgba(18, 13, 40, 0.72) 55%);
  border: 1px solid rgba(240, 194, 79, 0.32);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  color: #d8d2f0; text-decoration: none; text-align: left;
  transition: border-color .2s, transform .2s;
}
.eroe-regalo:hover { border-color: rgba(240, 194, 79, 0.6); transform: translateY(-2px); text-decoration: none; }
.eroe-regalo-copertina {
  flex: none; width: 58px; height: 82px; border-radius: 4px;
  background: center / cover no-repeat;
  transform: rotate(-6deg);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.55), 0 0 18px rgba(240, 194, 79, 0.25);
}
.eroe-regalo-testo { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.eroe-regalo-occhiello { font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: #f0c24f; }
.eroe-regalo strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 600; color: #fff; }
.eroe-regalo-testo > span:last-child { font-size: 0.84rem; color: #b9b2e0; }
.eroe-regalo-freccia, .eroe-astra-btn span { transition: transform .2s; }
.eroe-regalo-freccia {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid rgba(240, 194, 79, 0.45); color: #f0c24f;
}
.eroe-regalo:hover .eroe-regalo-freccia { transform: translateX(3px); background: rgba(240, 194, 79, 0.15); }
.eroe-app {
  display: flex; align-items: center; gap: 16px;
  margin-top: 26px; max-width: 470px;
  padding: 12px 16px 12px 12px; border-radius: 16px;
  background: linear-gradient(110deg, rgba(61, 220, 132, 0.12), rgba(18, 13, 40, 0.72) 55%);
  border: 1px solid rgba(61, 220, 132, 0.30);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  color: #d8d2f0; text-align: left;
}
.eroe-app-icona {
  flex: none; width: 56px; height: 56px; border-radius: 14px;
  background: center / cover no-repeat;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.55), 0 0 18px rgba(61, 220, 132, 0.25);
}
.eroe-app-testo { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.eroe-app-occhiello { font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: #3ddc84; }
.eroe-app strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 600; color: #fff; }
.eroe-app-testo > span:last-child { font-size: 0.84rem; color: #b9b2e0; }
.eroe-app-bollo {
  flex: none; align-self: flex-start;
  padding: 4px 10px; border-radius: 999px;
  font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: #0b1a12; background: #3ddc84; font-weight: 700;
}
@media (max-width: 600px) {
  .eroe-app { margin-left: auto; margin-right: auto; }
  .eroe-app-bollo { display: none; }
}

.eroe-astra {
  display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center;
  
  margin-top: 36px; max-width: 470px;
}
.eroe-astra-figura {
  
  height: 168px; background: center / contain no-repeat;
  margin-right: -14px; position: relative; z-index: 1;
}
.eroe-astra-scheda {
  padding: 16px 18px; border-radius: 16px;
  background: rgba(14, 10, 32, 0.72);
  border: 1px solid rgba(185, 178, 224, 0.22);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); text-align: left;
}
.eroe-astra-scheda h2 { font-family: var(--serif); font-size: 1.2rem; margin: 0 0 6px; color: #fff; }
.eroe-astra-scheda h2 span { color: #f0c24f; font-size: 0.95rem; }
.eroe .eroe-astra-scheda p { font-size: 0.88rem; line-height: 1.5; margin: 0 0 12px; max-width: none; color: #c4bee0; }
.eroe-astra-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 16px; border-radius: 999px; font-size: 0.86rem; font-weight: 600;
  color: #ece9f7; border: 1px solid rgba(185, 178, 224, 0.4); text-decoration: none;
  transition: border-color .2s, background .2s;
}
.eroe-astra-btn:hover { border-color: #9b8cff; background: rgba(155, 140, 255, 0.14); text-decoration: none; }
.eroe-astra-btn:hover span { transform: translateX(3px); }

@media (max-width: 620px) {
  .azioni-eroe { flex-direction: column; gap: 18px; }
  .eroe-regalo, .eroe-astra { margin-left: auto; margin-right: auto; }
  .eroe-astra { grid-template-columns: 110px minmax(0, 1fr); }
  .eroe-astra-figura { height: 128px; }
}
.vetrina-testata { text-align: center; margin: 44px auto 26px; max-width: 640px; }
.vetrina-occhiello {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  font-size: 0.72rem; letter-spacing: 0.24em; text-transform: uppercase; color: #b9b2e0;
}
.vetrina-occhiello::before, .vetrina-occhiello::after {
  content: ""; width: 60px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(185, 178, 224, 0.55));
}
.vetrina-occhiello::after { transform: scaleX(-1); }
.vetrina-testata h2 { font-family: var(--serif); font-size: clamp(1.7rem, 3.6vw, 2.4rem); margin: 10px 0 8px; color: #fff; }
.vetrina-testata p { color: #b9b2e0; margin: 0; font-size: 0.98rem; }
.classifica-podio .podio-gradino {
  padding: 14px 16px 20px; gap: 4px; overflow: hidden;
  background: radial-gradient(ellipse 90% 60% at 50% 32%, rgba(124, 92, 255, 0.16), transparent 70%), #0f0b24;
  border-color: rgba(185, 160, 255, 0.22);
}
.classifica-podio .podio-1 {
  padding-top: 18px; padding-bottom: 26px;
  border-color: rgba(240, 194, 79, 0.55);
  box-shadow: 0 0 0 1px rgba(240, 194, 79, 0.2), 0 14px 44px rgba(240, 194, 79, 0.18);
}
.classifica-podio .podio-gradino:hover { border-color: rgba(240, 194, 79, 0.7); }
.podio-emblema {
  display: block; width: 78%; max-width: 230px; aspect-ratio: 1; margin: 0 auto 2px;
  background: center / cover no-repeat;
  
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 58%, transparent 71%);
          mask-image: radial-gradient(circle at 50% 50%, #000 58%, transparent 71%);
  transition: transform .4s ease;
}
.classifica-podio .podio-1 .podio-emblema { width: 86%; max-width: 270px; }
.classifica-podio .podio-gradino:hover .podio-emblema { transform: scale(1.04) rotate(-2deg); }
.classifica-podio .podio-medaglia { top: 12px; left: 12px; transform: none; z-index: 2; }
.classifica-podio .podio-1 .podio-medaglia { top: 12px; }
.classifica-podio .podio-nome { color: #fff; }
.classifica-podio .stella.piena { color: #f0c24f; text-shadow: 0 0 6px rgba(240, 194, 79, 0.45); }
.classifica-podio .stella.vuota { color: #f0c24f; opacity: 0.4; }
.classifica-podio .podio-motivo { font-style: italic; color: #c4bee0; margin-top: 4px; }
.classifica-podio .classifica-tuo { position: absolute; top: 16px; right: 12px; }
@media (max-width: 620px) {
  .classifica-podio .podio-gradino { padding: 8px 4px 12px; }
  .classifica-podio .podio-1 { padding-top: 10px; padding-bottom: 16px; }
  .podio-emblema, .classifica-podio .podio-1 .podio-emblema { width: 100%; }
  .classifica-podio .podio-medaglia, .classifica-podio .podio-1 .podio-medaglia { top: 6px; left: 6px; width: 26px; height: 26px; font-size: 0.82rem; }
  .classifica-podio .classifica-tuo { top: auto; bottom: 4px; right: 50%; transform: translateX(50%); font-size: 0.6rem; white-space: nowrap; }
}
.social-carosello {
  display: flex; gap: 12px; overflow-x: auto; padding: 4px 2px 12px;
  scroll-snap-type: x mandatory; scrollbar-width: thin;
}
.social-carosello img {
  flex: none; width: 216px; height: auto; border-radius: 12px; scroll-snap-align: start;
  border: 1px solid var(--card-bordo); background: #0d0a1f;
}
.rm { --oro:#f0c24f; --lilla:#b9a0ff; }
.rm-testa {
  position: relative; overflow: hidden; border-radius: 22px; padding: 34px 34px 30px;
  background:
    radial-gradient(ellipse 60% 90% at 85% 30%, rgba(124,92,255,.35), transparent 70%),
    radial-gradient(ellipse 40% 60% at 10% 100%, rgba(240,194,79,.14), transparent 70%),
    linear-gradient(160deg, #1d1640, #0f0b24 70%);
  border: 1px solid rgba(185,160,255,.25); box-shadow: var(--ombra);
  display: grid; grid-template-columns: minmax(0,1fr) 170px; gap: 24px; align-items: center;
}
.rm-occhiello { font-size: .74rem; letter-spacing: .24em; text-transform: uppercase; color: var(--oro); }
.rm-testa h1 { font-family: var(--serif); font-size: clamp(2rem, 4.4vw, 2.9rem); margin: 8px 0 6px; color: #fff; line-height: 1.1; }
.rm-testa h1 em { font-style: normal; background: linear-gradient(100deg,#c9b6ff,#9b8cff 40%,#6fb4ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rm-testa p { color: #c4bee0; margin: 0; }
.rm-emblema { width: 170px; height: 170px; background: center/cover no-repeat;
  -webkit-mask-image: radial-gradient(circle, #000 58%, transparent 71%); mask-image: radial-gradient(circle, #000 58%, transparent 71%); }
.rm-cifre { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 22px 0 0; grid-column: 1 / -1; }
.rm-cifra { background: rgba(14,10,32,.6); border: 1px solid rgba(185,160,255,.18); border-radius: 14px; padding: 12px 14px; }
.rm-cifra b { display: block; font-family: var(--serif); font-size: 1.7rem; color: #fff; line-height: 1.1; }
.rm-cifra span { font-size: .8rem; color: var(--testo-tenue); }
.rm-cifra.oro b { color: var(--oro); }

.rm-griglia { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.rm-scheda { background: linear-gradient(170deg, rgba(124,92,255,.08), var(--card) 45%); border: 1px solid var(--card-bordo);
  border-radius: 18px; padding: 22px 22px 20px; box-shadow: var(--ombra); position: relative; overflow: hidden; }
.rm-scheda.larga { grid-column: 1 / -1; }
.rm-titolo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.rm-titolo .ac-ico { flex: none; }
.rm-titolo h2 { font-family: var(--serif); font-size: 1.25rem; margin: 0; color: #fff; }
.rm-titolo small { margin-left: auto; color: var(--testo-debole); font-size: .8rem; }
.rm-ico { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(124,92,255,.16); border: 1px solid rgba(185,160,255,.3); }
.rm-ico i { width: 22px; height: 22px; background: var(--lilla); -webkit-mask: var(--icona) center/contain no-repeat; mask: var(--icona) center/contain no-repeat; }

.rm-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rm-lista li { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center;
  padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05); }
.rm-lista img { width: 38px; height: 38px; }
.rm-lista strong { display: block; color: #fff; font-weight: 600; }
.rm-lista span { color: var(--testo-tenue); font-size: .86rem; }
.rm-lista em { font-style: normal; color: var(--oro); font-size: .82rem; white-space: nowrap; }
.rm-tl { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--t) 22%, transparent); }
.rm-tl i { width: 22px; height: 22px; background: color-mix(in srgb, var(--t) 55%, white); -webkit-mask: var(--icona) center/contain no-repeat; mask: var(--icona) center/contain no-repeat; }
.rm-lune { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); gap: 8px; align-items: end; height: 150px; margin: 6px 0 4px; }
.rm-luna { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; }
.rm-barra { width: 100%; max-width: 30px; border-radius: 8px 8px 4px 4px; background: linear-gradient(180deg, #b9a0ff, #6b4fe0); }
.rm-barra.top { background: linear-gradient(180deg, #f6dc8c, #c9922f); box-shadow: 0 0 16px rgba(240,194,79,.4); }
.rm-luna b { font-size: .8rem; color: #fff; }
.rm-luna img { width: 26px; height: 26px; }
.rm-nota { color: var(--testo-tenue); font-size: .88rem; margin: 10px 0 0; }
.rm-nota strong { color: var(--oro); font-weight: 600; }
.rm-tipi { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.rm-tipo { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px 5px 6px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); font-size: .85rem; color: #e4def8; }
.rm-tipo img { width: 24px; height: 24px; }
.rm-tipo b { color: #fff; }
.rm-etichette { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.rm-etichette span { padding: 3px 10px; border-radius: 999px; font-size: .78rem; color: #cfc3ff; background: var(--accento-tenue); border: 1px solid rgba(124,92,255,.35); }
.rm-obe { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 16px; align-items: center; }
.rm-obe-ill { width: 120px; height: 120px; border-radius: 16px; background: center/cover no-repeat; border: 1px solid rgba(185,160,255,.25); }
.rm-reiki-ill { border-radius: 50%; border-width: 2px; box-shadow: 0 0 22px rgba(167, 139, 250, 0.25); }
.rm-scala { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 5px; margin: 8px 0 6px; }
.rm-scala i { height: 10px; border-radius: 6px; background: rgba(255,255,255,.08); }
.rm-scala i.on { background: linear-gradient(90deg, #8b6cff, #b9a0ff); }
.rm-scala i.top { background: linear-gradient(90deg, #f0c24f, #f6dc8c); box-shadow: 0 0 10px rgba(240,194,79,.5); }
.rm-obe p { margin: 4px 0 0; color: var(--testo-tenue); font-size: .88rem; }
.rm-obe strong { color: #fff; }
.rm-settimane { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.rm-sett { text-align: center; padding: 12px 6px; border-radius: 12px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); }
.rm-sett.top { border-color: rgba(240,194,79,.55); background: rgba(240,194,79,.07); }
.rm-sett b { display: block; font-family: var(--serif); font-size: 1.6rem; color: #fff; }
.rm-sett.top b { color: var(--oro); }
.rm-sett span { font-size: .76rem; color: var(--testo-debole); }
.rm-sett .rm-stelle { display: block; font-size: .72rem; margin-top: 4px; color: var(--oro); letter-spacing: .05em; }
.rm-arriva .rm-lista li { background: rgba(240,194,79,.04); border-color: rgba(240,194,79,.14); }
.rm-astra { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 16px; align-items: start; }
.rm-astra img { width: 76px; height: 76px; border-radius: 50%; border: 2px solid rgba(240,194,79,.55); box-shadow: 0 0 22px rgba(155,140,255,.4); }
.rm-astra blockquote { margin: 0; font-family: var(--serif); font-style: italic; font-size: 1.05rem; line-height: 1.6; color: #e9e4fb; }
.rm-astra blockquote p { margin: 0 0 0.7em; }
.rm-astra blockquote p:last-child { margin-bottom: 0; }

.rm-lettera blockquote { font-style: normal; }
.rm-lettera blockquote p:first-child { font-style: italic; }
.rm-rispondi { margin-top: 12px; display: inline-block; }

@media (max-width: 620px) {
  .rm-lettera { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .rm-lettera img { width: 56px; height: 56px; }
}
.rm-astra cite { display: block; margin-top: 8px; font-style: normal; font-size: .8rem; color: var(--oro); letter-spacing: .08em; }

.rm-piede { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 26px 0 8px; }

@media (max-width: 760px) {
  .rm-testa { grid-template-columns: minmax(0,1fr) 110px; padding: 24px 20px; }
  .rm-emblema { width: 110px; height: 110px; }
  .rm-cifre { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rm-griglia { grid-template-columns: minmax(0,1fr); }
  .rm-lune { height: 120px; gap: 4px; }
  .rm-luna img { width: 20px; height: 20px; }
  .rm-lista li { grid-template-columns: 42px minmax(0,1fr) !important; }
  .rm-lista em { grid-column: 2; margin-top: -4px; }
  .rm-lista.rm-due { grid-template-columns: minmax(0,1fr) !important; }
  .rm-titolo small { display: none; }
}

.rm-sett { text-decoration: none; color: inherit; transition: border-color .2s, transform .2s; }
.rm-sett:hover { border-color: rgba(240,194,79,.5); transform: translateY(-2px); text-decoration: none; }
.rm-lista + .rm-lista { margin-top: 10px; }
.rm-lista.rm-due { grid-template-columns: repeat(2, minmax(0,1fr)); }
.rm-lista.rm-due li { grid-template-columns: 42px minmax(0,1fr); }
.rm-scheda.chiusa { min-height: 230px; }
.rm-scheda.chiusa > :not(.rm-lucchetto):not(.rm-titolo) { filter: blur(3px); opacity: .55; pointer-events: none; user-select: none; }
.rm-lucchetto { position: absolute; inset: 64px 0 0; display: grid; place-items: center; text-align: center; padding: 16px 22px 22px;
  background: linear-gradient(180deg, rgba(15,11,36,0) 0%, rgba(15,11,36,.75) 35%, rgba(15,11,36,.92)); }
.rm-lucchetto p { margin: 8px auto 12px; color: #d8d2f0; font-size: .9rem; max-width: 420px; }
.rm-lucchetto-ico { display: inline-block; width: 26px; height: 26px; }
.rm-finto { display: flex; align-items: flex-end; gap: 10px; height: 110px; padding: 0 6px; }
.rm-finto i { flex: 1; border-radius: 8px 8px 4px 4px; background: linear-gradient(180deg,#b9a0ff,#6b4fe0); }
.rm-astra-attesa { align-items: center; }
.rm-astra-attesa p { margin: 0; color: var(--testo-tenue); font-style: italic; }
.rm-puntini { display: inline-flex; gap: 4px; margin-left: 6px; }
.rm-puntini i { width: 5px; height: 5px; border-radius: 50%; background: var(--oro); animation: rm-puntino 1.2s infinite ease-in-out; }
.rm-puntini i:nth-child(2) { animation-delay: .15s; } .rm-puntini i:nth-child(3) { animation-delay: .3s; }
@keyframes rm-puntino { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .rm-puntini i { animation: none; opacity: .7; } }

.guarda-figura-report { width: 44px; height: 44px; border-radius: 50%; background: center / cover no-repeat;
  box-shadow: 0 0 14px rgba(155,140,255,.45); flex: none; }

@media (max-width: 760px) { .rm-piede { margin-bottom: 84px; } }
.rm-testa-tutti { grid-template-columns: minmax(0,1fr) 130px; }
.rm-testa-tutti .rm-emblema { width: 130px; height: 130px; }
.rm-archivio { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.rm-mese { position: relative; display: grid; grid-template-columns: 64px minmax(0,1fr) auto; grid-template-rows: auto auto auto;
  column-gap: 14px; align-items: center; padding: 18px; border-radius: 18px; text-decoration: none; color: var(--testo);
  background: linear-gradient(170deg, rgba(124,92,255,.10), var(--card) 55%); border: 1px solid var(--card-bordo);
  box-shadow: var(--ombra); transition: transform .2s, border-color .2s; }
.rm-mese:hover { transform: translateY(-3px); border-color: rgba(240,194,79,.5); text-decoration: none; }
.rm-mese.primo { border-color: rgba(240,194,79,.45); }
.rm-mese-emblema { grid-row: 1 / 3; width: 64px; height: 64px; background: center/cover no-repeat;
  -webkit-mask-image: radial-gradient(circle, #000 58%, transparent 71%); mask-image: radial-gradient(circle, #000 58%, transparent 71%); }
.rm-mese-nome { font-family: var(--serif); font-size: 1.35rem; color: #fff; text-transform: capitalize; align-self: end; }
.rm-mese-anno { grid-column: 2; font-size: .8rem; color: var(--testo-debole); align-self: start; }
.rm-mese-cifre { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 12px; font-size: .8rem; color: var(--testo-tenue); }
.rm-mese-cifre b { color: #fff; font-family: var(--serif); font-size: 1rem; }
.rm-mese-cifre b.oro { color: #f0c24f; }
.rm-mese-freccia { grid-column: 3; grid-row: 1 / 3; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid rgba(236,233,247,.3); color: #ece9f7; transition: transform .2s; }
.rm-mese:hover .rm-mese-freccia { transform: translateX(3px); }
.rm-nuovo { position: absolute; top: 12px; right: 12px; width: 9px; height: 9px; border-radius: 50%; background: #f0c24f; box-shadow: 0 0 10px rgba(240,194,79,.8); }
@media (max-width: 900px) { .rm-archivio { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .rm-archivio { grid-template-columns: minmax(0,1fr); } .rm-testa-tutti { grid-template-columns: minmax(0,1fr) 90px; } .rm-testa-tutti .rm-emblema { width: 90px; height: 90px; } }
.saluto-report {
  border-color: rgba(111,180,255,.85);
  background: radial-gradient(circle, rgba(111,180,255,.22), rgba(17,11,40,.78) 70%);
  box-shadow: 0 0 14px rgba(111,180,255,.4), inset 0 1px 0 rgba(255,255,255,.08);
}
.saluto-report:hover { box-shadow: 0 0 22px rgba(111,180,255,.7); }
.saluto-report .btn-ico { color: #b5d8ff; filter: drop-shadow(0 0 4px rgba(111,180,255,.7)); }

@media (max-width: 680px) {
  .saluto-affinita { width: 34px; height: 34px; margin: 14px 0 0 5px; }
  .saluto-affinita .btn-ico { width: 18px; height: 18px; }
  .saluto-persone { font-size: .8rem; gap: 7px; padding: 3px 3px 3px 12px; }
  .saluto-persone > .btn-ico { display: none; }
  .saluto-persone-conto { width: 26px; height: 26px; font-size: .8rem; }
  .saluto-report-nuovo { width: 9px; height: 9px; top: -1px; right: -1px; }
}
.saluto-report-nuovo { position: absolute; top: 1px; right: 1px; width: 11px; height: 11px; border-radius: 50%;
  background: #f0c24f; box-shadow: 0 0 8px rgba(240,194,79,.9); border: 2px solid #1d1442; }
.rm-presto { min-height: 260px; }
.rm-presto strong { color: #f0c24f; }
.rm-presto-nota { margin-top: 10px !important; font-size: .9rem; color: var(--testo-tenue) !important; }
.rm-piede-sinistra { justify-content: flex-start; margin: 22px 0 0; }
.rm-presto-luna { -webkit-mask-image: none; mask-image: none; background-size: contain; filter: drop-shadow(0 0 24px rgba(240,194,79,.35)); }

@media (max-width: 760px) {
  .rm-presto { grid-template-columns: minmax(0,1fr); position: relative; }
  .rm-presto h1 { padding-right: 70px; }
  .rm-presto-luna { position: absolute; top: 18px; right: 16px; width: 64px; height: 64px; }
}
.lf { position: relative; overflow: hidden; padding: 30px 30px 26px; border-radius: 22px;
  background: radial-gradient(ellipse 70% 60% at 85% 0%, rgba(124,92,255,.32), transparent 70%),
              radial-gradient(ellipse 50% 50% at 0% 100%, rgba(240,194,79,.10), transparent 70%),
              linear-gradient(165deg, #211849, #120d2b 70%);
  border: 1px solid rgba(240,194,79,.45); box-shadow: 0 0 0 1px rgba(240,194,79,.12), 0 18px 50px rgba(0,0,0,.5); }
.lf[hidden] { display: none; }
.lf-occhiello { display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
  color: #f0c24f; padding: 5px 12px; border-radius: 999px; background: rgba(240,194,79,.1); border: 1px solid rgba(240,194,79,.35); }
.lf-occhiello i { width: 7px; height: 7px; border-radius: 50%; background: #f0c24f; box-shadow: 0 0 8px #f0c24f; }
.lf-testa { display: grid; grid-template-columns: minmax(0,1fr) 96px; gap: 18px; align-items: center; margin-top: 16px; }
.lf h2 { font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.2rem); line-height: 1.15; margin: 0 0 6px; color: #fff; }
.lf h2 em { font-style: normal; color: #f0c24f; }
.lf-data { color: #c9bff0; font-size: .95rem; margin: 0; }
.lf-ico { width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(circle, rgba(240,194,79,.22), rgba(17,11,40,.6) 70%); border: 1.5px solid rgba(240,194,79,.6);
  box-shadow: 0 0 26px rgba(240,194,79,.35); }
.lf-ico span { width: 54px; height: 54px; background: #f6dc8c; -webkit-mask: var(--icona) center/contain no-repeat; mask: var(--icona) center/contain no-repeat;
  filter: drop-shadow(0 0 6px rgba(240,194,79,.8)); }
.lf-contiene { margin: 18px 0 22px; color: #ddd6f3; font-size: 1rem; line-height: 1.55; }
.lf-btn { font-family: var(--sans); display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 18px 22px;
  border: 0; border-radius: 999px; font-size: 1.12rem; font-weight: 600; color: #fff; cursor: pointer;
  background: linear-gradient(100deg, #7c5cff, #9b7bff 55%, #7c5cff); box-shadow: 0 10px 30px rgba(124,92,255,.5), inset 0 1px 0 rgba(255,255,255,.25);
  transition: transform .2s, box-shadow .2s; }
.lf-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(124,92,255,.65), inset 0 1px 0 rgba(255,255,255,.25); }
.lf-btn b { font-size: 1.3rem; }
.lf-costo { text-align: center; margin: 10px 0 0; font-size: .85rem; color: #a49fc4; }
.lf-costo span { color: #f0c24f; }
.lf-oppure { margin: 22px 0 10px; font-size: .82rem; color: #a49fc4; text-align: center; }
.lf-pillole { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.lf-pillola { font-family: var(--sans); display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 10px; border-radius: 999px;
  font-size: .92rem; color: #ece9f7; cursor: pointer; background: rgba(255,255,255,.05); border: 1px solid rgba(185,160,255,.35);
  transition: border-color .2s, background .2s; }
.lf-pillola:hover { border-color: #f0c24f; background: rgba(240,194,79,.08); }
.lf-pillola i { width: 20px; height: 20px; background: #c9b6ff; -webkit-mask: var(--icona) center/contain no-repeat; mask: var(--icona) center/contain no-repeat; }
.lf-altro { display: block; width: 100%; text-align: center; margin-top: 20px; padding: 16px 0 0; border: 0; border-top: 1px solid rgba(255,255,255,.07);
  background: none; font-family: var(--sans); font-size: .88rem; color: #b9b2e0; cursor: pointer; }
.lf-altro:hover { color: #fff; }
.lf-altro::after { content: " ↓"; color: #9b8cff; }
@media (max-width: 680px) {
  .lf { padding: 22px 18px 20px; } .lf-testa { grid-template-columns: minmax(0,1fr) 70px; }
  .lf-ico { width: 70px; height: 70px; } .lf-ico span { width: 40px; height: 40px; }
  .lf-pillole { gap: 6px; } .lf-pillola { padding: 7px 12px 7px 8px; font-size: .86rem; gap: 6px; }
}

.lettura-contiene[hidden], #ml-completo[hidden], [data-pronta-no][hidden], [data-pronta-solo][hidden] { display: none !important; }
.schede-apri { display: none; }
@media all {
  .schede-pieghevole .schede-apri {
    position: relative; display: inline-flex; align-items: center; gap: 8px; margin-left: auto; order: 99;
    padding: 7px 10px 7px 14px; border-radius: 999px; cursor: pointer;
    font: inherit; font-size: 0.84rem; color: #d9ccff;
    background: transparent; border: 1px dashed rgba(185, 160, 255, 0.4);
  }
  .schede-apri-n {
    min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-grid; place-items: center;
    font-size: 0.72rem; font-weight: 600; color: #1b1733; background: #c9b6ff;
  }
  .schede-apri i {
    width: 9px; height: 9px; margin: 0 2px 3px 2px; border-right: 2px solid #c9b6ff; border-bottom: 2px solid #c9b6ff;
    transform: rotate(45deg); transition: transform .2s ease;
  }
  .schede-apri-novita::after {
    content: ""; position: absolute; top: -3px; right: -1px; width: 10px; height: 10px; border-radius: 50%;
    background: #f0c24f; box-shadow: 0 0 8px #f0c24f;
  }
  .schede-pieghevole:not(.schede-chiuse) .schede-apri { border-style: solid; }
  .schede-pieghevole:not(.schede-chiuse) .schede-apri-n,
  .schede-pieghevole:not(.schede-chiuse) .schede-apri-novita::after { display: none; }
  .schede-pieghevole:not(.schede-chiuse) .schede-apri i { transform: rotate(-135deg); margin-bottom: -3px; }
  .schede-persona.schede-chiuse .scheda:not(.attiva) { display: none; }
}
.modulo-lettura .contatori {
  margin: 22px 0 0; padding: 14px 18px 12px; gap: 10px 0; flex-wrap: nowrap; border-radius: 16px;
  background: rgba(255, 255, 255, 0.025); border: 1px solid rgba(255, 255, 255, 0.07);
}
.modulo-lettura .contatore {
  flex: 1 1 0; min-width: 0; padding: 0; border: 0; border-radius: 0; background: none;
  gap: 2px 8px; grid-template-columns: minmax(0, 1fr) auto;
}
.modulo-lettura .contatore + .contatore { border-left: 1px solid rgba(255, 255, 255, 0.07); margin-left: 22px; padding-left: 22px; }
.modulo-lettura .contatore-ico { display: none; }
.modulo-lettura .contatore-etichetta { font-size: 0.68rem; white-space: nowrap; }
.modulo-lettura .contatore-numero { font-size: 0.8rem; white-space: nowrap; }
.modulo-lettura .contatore-numero strong { font-family: var(--sans); font-size: 0.95rem; }
.modulo-lettura .contatore-barra { margin-top: 3px; height: 4px; }
.modulo-lettura .contatore-nota { font-size: 0.72rem; }
@media (max-width: 680px) {
  .modulo-lettura .contatori { padding: 12px 14px 10px; }
  .modulo-lettura .contatore { grid-template-columns: minmax(0, 1fr); }
  .modulo-lettura .contatore + .contatore { margin-left: 14px; padding-left: 14px; }
  .modulo-lettura .contatore-etichetta { font-size: 0.64rem; letter-spacing: 0.06em; }
}
.ml-modo-scelta { display: none; }
.ml-modo-piegabile .ml-modo-scelta {
  position: relative; display: flex; align-items: center; gap: 10px; width: 100%; margin: 0 0 12px;
  padding: 14px 46px 14px 54px; border-radius: 12px; cursor: pointer; text-align: left;
  font: inherit; font-size: 1rem; color: var(--testo);
  background: linear-gradient(180deg, rgba(124, 92, 255, 0.10), rgba(124, 92, 255, 0.03) 60%), #100d20;
  border: 1px solid color-mix(in srgb, var(--accento) 26%, var(--card-bordo));
}
.ml-modo-piegabile .ml-modo-scelta:hover { border-color: color-mix(in srgb, var(--accento) 55%, var(--card-bordo)); }
.ml-modo-piegabile .ml-modo-scelta:focus-visible { outline: none; border-color: var(--accento); box-shadow: 0 0 0 3px var(--accento-tenue); }
.ml-modo-piegabile .ml-modo-scelta::after {
  content: ""; position: absolute; right: 19px; top: 50%; width: 8px; height: 8px; margin-top: -6px;
  border-right: 2px solid var(--testo-tenue); border-bottom: 2px solid var(--testo-tenue);
  transform: rotate(45deg); transition: transform 0.2s ease, margin 0.2s ease;
}
.ml-modo-piegabile .ml-modo-scelta[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: -2px; }
.ml-modo-scelta-testo { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ml-modo-scelta .ml-badge[hidden] { display: none; }
.ml-modo-chiuso .ml-modi { display: none; }
.ml-modo-scelta-breve { display: none; }
@media (max-width: 680px) {
  .ml-modo-piegabile .ml-modo-scelta-testo { display: none; }
  .ml-modo-piegabile .ml-modo-scelta-breve { display: inline; white-space: nowrap; }
}
.sogno-testo-testa { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.sogno-testo-testa label { margin: 0; }
.voce-detta, .voce-ascolta {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; cursor: pointer;
  padding: 7px 15px 7px 11px; border-radius: 999px; font: inherit; font-size: 0.86rem; line-height: 1.3;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}
.voce-detta[hidden], .voce-ascolta[hidden] { display: none; }
.voce-detta .btn-ico, .voce-ascolta .btn-ico { width: 18px; height: 18px; }
.voce-detta {
  color: #e4dcff; background: rgba(124, 92, 255, 0.14); border: 1px solid rgba(167, 139, 250, 0.45);
}
.voce-detta:hover { background: rgba(124, 92, 255, 0.24); border-color: #b9a6ff; color: #fff; }
.voce-detta.in-ascolto {
  color: #fff; background: #e5566d; border-color: #e5566d;
  animation: dm-ascolto 1.4s ease-out infinite;
}
.voce-detta.in-ascolto .btn-ico { animation: dm-onda 1.1s ease-in-out infinite; }
.voce-avviso { margin-top: 10px; }

.lettura-azioni-testa { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.lettura-azioni-fine .voce-ascolta { margin-right: 6px; vertical-align: middle; }
.voce-ascolta {
  color: #f3d98a; background: rgba(240, 194, 79, 0.08); border: 1px solid rgba(240, 194, 79, 0.45);
}
.voce-ascolta:hover { background: rgba(240, 194, 79, 0.16); border-color: #f0c24f; color: #fff3cf; }
.voce-ascolta.in-lettura {
  color: #1b1533; background: linear-gradient(180deg, #f6d77a, #e2ad3c); border-color: #f0c24f;
  box-shadow: 0 0 14px rgba(240, 194, 79, 0.45);
}
.voce-ascolta.in-lettura .btn-ico { animation: dm-onda 1.1s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .voce-detta.in-ascolto, .voce-detta.in-ascolto .btn-ico, .voce-ascolta.in-lettura .btn-ico { animation: none; }
}
.barra {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0) 70%), rgba(18, 14, 40, 0.42);
  -webkit-backdrop-filter: blur(22px) saturate(170%);
          backdrop-filter: blur(22px) saturate(170%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.03), 0 8px 30px rgba(6, 3, 22, 0.35);
}
.astra-velo { background: rgba(6, 4, 16, 0.28); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.astra-pannello {
  background:
    radial-gradient(120% 50% at 50% 0%, rgba(139, 108, 255, 0.30), transparent 70%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 40%),
    rgba(18, 13, 40, 0.55);
  -webkit-backdrop-filter: blur(26px) saturate(170%);
          backdrop-filter: blur(26px) saturate(170%);
  border-left: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.10), -10px 0 40px rgba(0, 0, 0, 0.45);
}
@media (max-width: 680px) {
  .astra-pannello {
    border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 -10px 40px rgba(0, 0, 0, 0.45);
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .barra { background: var(--vetro); }
  .astra-pannello { background: radial-gradient(120% 50% at 50% 0%, rgba(139, 108, 255, 0.28), transparent 70%), #120d26; }
  .astra-velo { background: rgba(6, 4, 16, 0.55); }
}
.saluto-persone, .saluto-affinita, .saluto-report, .saluto-aziende {
  -webkit-backdrop-filter: blur(10px) saturate(180%);
          backdrop-filter: blur(10px) saturate(180%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38), inset 0 -1px 0 rgba(255, 255, 255, 0.06),
              0 0 16px var(--alone), 0 6px 18px rgba(4, 2, 16, 0.35);
}
.saluto-persone:hover, .saluto-affinita:hover, .saluto-report:hover, .saluto-aziende:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), inset 0 -1px 0 rgba(255, 255, 255, 0.08),
              0 0 24px var(--alone), 0 6px 18px rgba(4, 2, 16, 0.35);
}
.saluto-persone {
  --alone: rgba(124, 92, 255, 0.6);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.04) 55%), rgba(124, 92, 255, 0.14);
  border-color: rgba(167, 139, 250, 0.9);
}
.saluto-persone:hover { background: linear-gradient(170deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0.06) 55%), rgba(124, 92, 255, 0.2); }
.saluto-affinita {
  --alone: rgba(240, 143, 191, 0.55);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.04) 55%), rgba(240, 143, 191, 0.14);
  border-color: rgba(240, 143, 191, 0.85);
}
.saluto-report {
  --alone: rgba(111, 180, 255, 0.55);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.04) 55%), rgba(111, 180, 255, 0.14);
  border-color: rgba(111, 180, 255, 0.9);
}
.saluto-aziende {
  --alone: rgba(232, 184, 74, 0.5);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.04) 55%), rgba(232, 184, 74, 0.14);
  border-color: rgba(232, 184, 74, 0.9);
}

.schede-persona .scheda {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.02) 60%);
  -webkit-backdrop-filter: blur(8px) saturate(160%);
          backdrop-filter: blur(8px) saturate(160%);
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
.schede-persona .scheda:hover {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.03) 60%), rgba(124, 92, 255, 0.10);
  border-color: rgba(160, 130, 255, 0.6);
}
.schede-persona .scheda-lettura:not(.attiva) {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.03) 60%), rgba(124, 92, 255, 0.18);
  border-color: rgba(196, 181, 253, 0.6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 0 12px rgba(124, 92, 255, 0.3);
}
.schede-persona .scheda.attiva {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0) 52%), linear-gradient(180deg, #8a6cff, #5b3fd6);
  border-color: rgba(220, 210, 255, 0.85);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 0 18px rgba(124, 92, 255, 0.55);
}
.ml-numero {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0) 55%),
              radial-gradient(circle at 50% 35%, rgba(124, 92, 255, 0.35), rgba(40, 28, 92, 0.55) 75%);
}
.lettura-suggerita-ico, .contatore-ico {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0) 55%),
              radial-gradient(circle, rgba(124, 92, 255, 0.25), rgba(14, 11, 34, 0.9) 70%);
}
.guarda-figura-stellina {
  background: linear-gradient(170deg, rgba(255, 244, 214, 0.20), rgba(255, 255, 255, 0) 55%),
              radial-gradient(circle, rgba(240, 194, 79, 0.2), rgba(26, 22, 48, 0.95) 70%);
}
.lettura-contiene-ico {
  background: linear-gradient(170deg, rgba(255, 244, 214, 0.20), rgba(255, 255, 255, 0) 55%),
              radial-gradient(circle, rgba(232, 184, 74, 0.22), rgba(14, 11, 34, 0.9) 70%);
}
.lf-ico {
  background: linear-gradient(170deg, rgba(255, 244, 214, 0.20), rgba(255, 255, 255, 0) 55%),
              radial-gradient(circle, rgba(240, 194, 79, 0.22), rgba(17, 11, 40, 0.6) 70%);
}
.ml-numero { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 12px rgba(124, 92, 255, 0.4); }
.lettura-suggerita-ico, .contatore-ico { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), 0 0 10px rgba(124, 92, 255, 0.25); }
.guarda-figura-stellina { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), 0 0 10px rgba(240, 194, 79, 0.22); }
.lettura-contiene-ico { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38), 0 0 16px rgba(232, 184, 74, 0.3); }
.lf-ico { box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, 0.42), 0 0 26px rgba(240, 194, 79, 0.35); }

.guarda-figura-tl {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0) 55%),
              radial-gradient(circle, color-mix(in srgb, var(--tinta) 22%, transparent), rgba(26, 22, 48, 0.95) 70%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), 0 0 10px color-mix(in srgb, var(--tinta) 25%, transparent);
}
.oggi-evento-glifo {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0) 55%),
              linear-gradient(150deg, color-mix(in srgb, var(--accento) 42%, transparent), color-mix(in srgb, var(--accento) 16%, transparent)), #1a1630;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32);
}
.giorno-nuovo {
  position: fixed; left: 50%; top: 86px; z-index: 70;
  display: flex; align-items: center; gap: 14px; width: max-content; max-width: calc(100vw - 32px); box-sizing: border-box;
  padding: 10px 10px 10px 18px; border-radius: 999px; font-size: 0.92rem; color: #f1edff;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.03) 55%), rgba(24, 18, 52, 0.6);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
          backdrop-filter: blur(20px) saturate(170%);
  border: 1px solid rgba(240, 194, 79, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 18px rgba(240, 194, 79, 0.25), 0 12px 30px rgba(6, 3, 22, 0.5);
  opacity: 0; transform: translate(-50%, -10px); transition: opacity 0.3s ease, transform 0.3s ease;
}
.giorno-nuovo.visibile { opacity: 1; transform: translate(-50%, 0); }
.giorno-nuovo-btn {
  flex: none; padding: 7px 16px; border-radius: 999px; border: 0; cursor: pointer;
  font: inherit; font-size: 0.86rem; font-weight: 600; color: #1b1533;
  background: linear-gradient(180deg, #f6d77a, #e2ad3c); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
.giorno-nuovo-btn:hover { filter: brightness(1.06); }
@media (max-width: 560px) { .giorno-nuovo { top: 78px; font-size: 0.84rem; gap: 10px; padding-left: 14px; } .giorno-nuovo-btn { padding: 7px 13px; font-size: 0.82rem; } }
@media (prefers-reduced-motion: reduce) { .giorno-nuovo { transition: none; } }
.oggi-titolare-nome { display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px 6px 10px; }
.oggi-titolare-ico { width: 20px; height: 20px; flex: none; background: #e8c77a;
  -webkit-mask: var(--icona) center / contain no-repeat; mask: var(--icona) center / contain no-repeat; }
.oggi-titolare-freccia { color: #e8b84a; font-size: 1.2rem; line-height: 1; margin-left: 2px; }

.oggi-zona-clima.oggi-zona-vetro { display: block; padding: 20px 22px; }
.oggi-segno {
  padding: 18px 20px 20px; border-radius: 22px;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02) 40%), rgba(20, 15, 46, 0.42);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
          backdrop-filter: blur(14px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 14px 40px rgba(6, 3, 22, 0.35);
}
.oggi-segno-testa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; margin-bottom: 6px; }
.oggi-segno-glifo { width: 54px; height: 54px; }
.oggi-segno-nome { display: flex; flex-direction: column; min-width: 0; }
.oggi-segno-nome strong { font-family: var(--serif); font-size: 1.6rem; font-weight: 600; line-height: 1.1; color: #fff; }
.oggi-segno-nome a { font-family: var(--serif); font-size: 1.02rem; color: #c9b8ff; }
.oggi-segno-nome a:hover { color: #fff; text-decoration: none; }
.oggi-segno-oroscopo {
  position: relative; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
  padding: 9px 16px; border-radius: 999px; font-size: 0.9rem; color: #ece6ff;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 60%);
  border: 1px solid rgba(196, 181, 253, 0.45); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.oggi-segno-oroscopo:hover { text-decoration: none; border-color: #c4b5fd; background: rgba(124, 92, 255, 0.16); }
.oggi-segno-oroscopo-nuovo { border-color: rgba(240, 194, 79, 0.75); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 14px rgba(240, 194, 79, 0.3); }
.oggi-segno-nuovo {
  padding: 2px 8px; border-radius: 999px; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.04em; color: #1b1533;
  background: linear-gradient(180deg, #f6d77a, #e2ad3c);
}
.oggi-segno-corpo { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 22px; align-items: start; }
.oggi-segno-corpo > .oggi-cerchio { margin-top: 14px; }

.oggi-zona-vetro .oggi-aree { gap: 10px; }
.oggi-zona-vetro .oggi-area {
  display: block; padding: 10px 12px; border-radius: 16px;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015) 60%);
  border: 1px solid rgba(255, 255, 255, 0.09); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
.oggi-zona-vetro .oggi-area + .oggi-area { border-top: 1px solid rgba(255, 255, 255, 0.09); }
.oggi-zona-vetro .oggi-area:first-child, .oggi-zona-vetro .oggi-area:last-child { padding: 10px 12px; }
.oggi-area-sommario { display: flex; gap: 14px; align-items: center; list-style: none; }
.oggi-area-sommario::-webkit-details-marker { display: none; }
.oggi-area-apribile > summary { cursor: pointer; }
.oggi-area-apribile:hover { border-color: rgba(196, 181, 253, 0.35); }
.oggi-area-freccia {
  flex: none; width: 8px; height: 8px; margin: 0 4px 0 2px;
  border-right: 2px solid #b9a6ff; border-bottom: 2px solid #b9a6ff;
  transform: rotate(-45deg); transition: transform 0.2s ease;
}
.oggi-area-apribile[open] .oggi-area-freccia { transform: rotate(45deg); margin-top: -4px; }
.oggi-area-aspetti { list-style: none; margin: 10px 0 2px; padding: 10px 2px 0; border-top: 1px solid rgba(255, 255, 255, 0.07); display: grid; gap: 7px; }
.oggi-area-aspetti li { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: 9px; align-items: baseline; font-size: 0.84rem; line-height: 1.4; color: var(--testo-tenue); }
.oggi-area-aspetti li strong { color: var(--testo); font-weight: 600; }
.oggi-area-aspetti li i { width: 8px; height: 8px; border-radius: 50%; background: var(--colore); box-shadow: 0 0 6px var(--colore); align-self: center; }
.oggi-aspetto-orbo { color: var(--testo-debole); font-variant-numeric: tabular-nums; }
.oggi-podio-btn {
  display: flex; align-items: center; gap: 16px; width: 100%; max-width: 560px; margin: 18px auto 0;
  padding: 8px 12px 8px 10px; border-radius: 22px; color: #fff;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.02) 55%), rgba(40, 26, 92, 0.45);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
          backdrop-filter: blur(12px) saturate(160%);
  border: 1px solid rgba(196, 181, 253, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 0 22px rgba(124, 92, 255, 0.35);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.oggi-podio-btn:hover { text-decoration: none; transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26), 0 0 30px rgba(124, 92, 255, 0.55); }
.oggi-podio { position: relative; flex: none; width: 118px; }
.oggi-podio img { display: block; width: 100%; height: auto; filter: drop-shadow(0 0 8px rgba(167, 139, 250, 0.55)); }
.oggi-podio-segno { position: absolute; transform: translate(-50%, -50%); aspect-ratio: 1; filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.6)); }
.oggi-podio-1 { left: 50%; top: 47%; width: 19%; }
.oggi-podio-2 { left: 18.7%; top: 57%; width: 15%; }
.oggi-podio-3 { left: 81.2%; top: 58%; width: 15%; }
.oggi-podio-testo { flex: 1; min-width: 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 600; letter-spacing: 0.01em; }
.oggi-podio-testo em { font-style: italic; font-weight: 400; color: #f0c24f; }
.oggi-podio-freccia {
  flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
  font-size: 1.5rem; line-height: 1; color: #e4dcff; border: 1px solid rgba(196, 181, 253, 0.45);
  background: rgba(255, 255, 255, 0.05);
}

@media (max-width: 900px) {
  .oggi-segno-corpo { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .oggi-segno-corpo .oggi-aree { width: 100%; }
}
@media (max-width: 560px) {
  .oggi-zona-clima.oggi-zona-vetro { padding: 16px 12px; }
  .oggi-segno { padding: 14px 12px 14px; }
  .oggi-segno-testa { grid-template-columns: auto minmax(0, 1fr); gap: 10px 12px; }
  .oggi-segno-oroscopo { grid-column: 1 / -1; justify-self: start; padding: 7px 14px; font-size: 0.86rem; }
  .oggi-segno-glifo { width: 46px; height: 46px; }
  .oggi-segno-nome strong { font-size: 1.4rem; }
  .oggi-podio { width: 92px; }
  .oggi-podio-btn { gap: 12px; }
  .oggi-podio-testo { font-size: 1.04rem; white-space: nowrap; }
  .oggi-podio-freccia { width: 34px; height: 34px; font-size: 1.3rem; }
}
.oggi-segno {
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.02) 38%, rgba(255, 255, 255, 0) 60%),
    radial-gradient(ellipse 70% 60% at 30% 55%, rgba(12, 8, 32, 0.62), rgba(12, 8, 32, 0.22) 70%, rgba(12, 8, 32, 0.12)),
    linear-gradient(180deg, rgba(12, 8, 32, 0.25), rgba(12, 8, 32, 0.45)),
    url("/static/img/cielo-vetro.webp") 70% 20% / cover no-repeat,
    #160f34;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
.oggi-podio-btn {
  background:
    linear-gradient(170deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 55%),
    linear-gradient(90deg, rgba(14, 9, 36, 0.35), rgba(14, 9, 36, 0.62) 45%, rgba(14, 9, 36, 0.25)),
    url("/static/img/cielo-vetro.webp") 75% 30% / cover no-repeat,
    #1e1546;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
@media (max-width: 900px) {
  .oggi-segno {
    background:
      linear-gradient(165deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.02) 38%, rgba(255, 255, 255, 0) 60%),
      radial-gradient(ellipse 80% 45% at 50% 30%, rgba(12, 8, 32, 0.55), rgba(12, 8, 32, 0.18) 75%),
      linear-gradient(180deg, rgba(12, 8, 32, 0.15), rgba(12, 8, 32, 0.55) 55%, rgba(12, 8, 32, 0.7)),
      url("/static/img/cielo-vetro-piccolo.webp") 78% 0 / auto 62% no-repeat,
      #160f34;
  }
  .oggi-podio-btn {
    background:
      linear-gradient(170deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 55%),
      linear-gradient(90deg, rgba(14, 9, 36, 0.3), rgba(14, 9, 36, 0.6) 50%, rgba(14, 9, 36, 0.3)),
      url("/static/img/cielo-vetro-piccolo.webp") 80% 35% / cover no-repeat,
      #1e1546;
  }
}

.oggi-zona-vetro .oggi-area {
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.015) 60%), rgba(13, 9, 32, 0.62);
}
.oggi-podio-btn {
  background:
    linear-gradient(170deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 55%),
    linear-gradient(90deg, rgba(14, 9, 36, 0.35), rgba(14, 9, 36, 0.66) 45%, rgba(14, 9, 36, 0.55)),
    url("/static/img/cielo-vetro.webp") 75% 30% / cover no-repeat,
    #1e1546;
}
@media (max-width: 900px) {
  .oggi-podio-btn {
    background:
      linear-gradient(170deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 55%),
      linear-gradient(90deg, rgba(14, 9, 36, 0.3), rgba(14, 9, 36, 0.66) 50%, rgba(14, 9, 36, 0.58)),
      url("/static/img/cielo-vetro-piccolo.webp") 80% 35% / cover no-repeat,
      #1e1546;
  }
}
.oggi-corpo:not(.oggi-corpo-chiuso) .oggi-zona-transito {
  margin: 20px 22px 20px 0; border-left: 1px solid rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 22px;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02) 35%, rgba(255, 255, 255, 0) 60%),
    linear-gradient(90deg, rgba(12, 8, 32, 0.7), rgba(12, 8, 32, 0.4) 60%, rgba(12, 8, 32, 0.2)),
    linear-gradient(180deg, rgba(12, 8, 32, 0.5), rgba(12, 8, 32, 0.42) 55%, rgba(12, 8, 32, 0.1)),
    url("/static/img/cielo-vetro.webp") 92% 0 / cover no-repeat,
    #160f34;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 14px 40px rgba(6, 3, 22, 0.35);
}
.oggi-corpo:not(.oggi-corpo-chiuso) .oggi-zona-transito .oggi-momento { background: rgba(13, 9, 32, 0.6); }
@media (max-width: 900px) {
  .oggi-corpo:not(.oggi-corpo-chiuso) .oggi-zona-transito {
    margin: 0 22px 20px; border-top: 1px solid rgba(255, 255, 255, 0.12);
    background:
      linear-gradient(165deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02) 35%, rgba(255, 255, 255, 0) 60%),
      linear-gradient(90deg, rgba(12, 8, 32, 0.75), rgba(12, 8, 32, 0.45) 60%, rgba(12, 8, 32, 0.2)),
      linear-gradient(180deg, rgba(12, 8, 32, 0.15), rgba(12, 8, 32, 0.55) 50%, rgba(12, 8, 32, 0.7)),
      url("/static/img/cielo-vetro-piccolo.webp") 85% 0 / auto 70% no-repeat,
      #160f34;
  }
}
@media (max-width: 560px) {
  .oggi-corpo:not(.oggi-corpo-chiuso) .oggi-zona-transito { margin: 0 12px 16px; padding: 18px 16px; }
}
.confronta {
  margin: 18px 0 14px; padding: 16px 18px 14px; border-radius: 20px;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.015) 55%), rgba(240, 143, 191, 0.06);
  border: 1px solid rgba(240, 143, 191, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 0 18px rgba(240, 143, 191, 0.10);
}
.confronta-testa { display: flex; align-items: center; gap: 14px; }

.confronta-titoli { flex: 1; min-width: 0; }
.confronta.ripiega[open] > .ripiega-testa { margin-bottom: 0; }
.confronta.ripiega:not([open]) { margin-bottom: 0; padding-bottom: 16px; }
.confronta .ripiega-freccia { margin: 0 4px 0 0; }
.confronta-ico {
  position: relative; flex: none; width: 46px; height: 46px; border-radius: 50%;
  border: 1.5px solid rgba(240, 143, 191, 0.85);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.04) 55%), rgba(240, 143, 191, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38), 0 0 14px rgba(240, 143, 191, 0.45);
}
.confronta-ico::before {
  content: ""; position: absolute; inset: 11px; background: #f6b3d3;
  -webkit-mask: var(--icona) center / contain no-repeat; mask: var(--icona) center / contain no-repeat;
  filter: drop-shadow(0 0 4px rgba(240, 143, 191, 0.7));
}
.confronta-testa strong { display: block; font-family: var(--serif); font-size: 1.15rem; font-weight: 600; color: #fff; }
.confronta-testa span { display: block; font-size: 0.84rem; color: var(--testo-tenue); }
.confronta-scelte {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
  gap: 10px; align-items: center; margin-top: 14px;
}
.confronta-scelta { margin: 0; }
.confronta-scelta select { padding-right: 34px; cursor: pointer; }
.confronta-piu { font-size: 1.4rem; line-height: 1; color: #f6b3d3; text-shadow: 0 0 8px rgba(240, 143, 191, 0.6); }
.confronta-vai { white-space: nowrap; margin: 0; }
.confronta-tutto { display: inline-block; margin-top: 10px; font-size: 0.86rem; color: #c9b8ff; }

@media (max-width: 420px) { .confronta-testa { gap: 11px; } .confronta-testa strong { font-size: 1.05rem; } .confronta-ico { width: 42px; height: 42px; } }
@media (max-width: 640px) {
  .confronta { padding: 14px 14px 12px; }
  .confronta-scelte { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .confronta-piu { justify-self: center; }
  .confronta-vai { width: 100%; justify-content: center; }
}
.cm {
  margin-top: 20px;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.015) 40%),
    linear-gradient(180deg, rgba(12, 8, 32, 0.55), rgba(12, 8, 32, 0.78)),
    url("/static/img/cielo-vetro.webp") 80% 30% / cover no-repeat,
    #160f34;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 14px 40px rgba(6, 3, 22, 0.35);
}
.cm-testa-ico { width: 30px; height: 30px; color: #c9b8ff; }
.cm-data { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 4px 0 6px; }
.cm-data strong { display: inline-block; font-family: var(--serif); font-size: 1.3rem; font-weight: 600; color: #fff; }
.cm-data strong::first-letter { text-transform: uppercase; }
.cm-data span { font-size: 0.86rem; padding: 2px 10px; border-radius: 999px; color: #c9b8ff; background: rgba(124, 92, 255, 0.14); border: 1px solid rgba(167, 139, 250, 0.3); }
.cm-data span.cm-oggi { color: #1b1533; background: linear-gradient(180deg, #f6d77a, #e2ad3c); border-color: transparent; font-weight: 600; }
.cm-tela { position: relative; min-height: 200px; display: grid; place-items: center; }
.cm-pronto .cm-tela { display: block; }
.cm-svg { display: block; overflow: visible; }
.cm-errore { display: none; color: var(--testo-tenue); }
.cm-guasto .cm-errore { display: block; }
.cm-guasto .cm-tela, .cm-guasto .cm-comandi, .cm-guasto .cm-aspetti, .cm-guasto .cm-legenda { display: none; }

.cm-segno { fill-opacity: 0.16; stroke: rgba(255, 255, 255, 0.07); }
.cm-fuoco { fill: #e5566d; } .cm-terra { fill: #3fae7a; } .cm-aria { fill: #f0c24f; } .cm-acqua { fill: #6fb4ff; }
.cm-segno-glifo { opacity: 0.85; }
.cm-fascia-bordo { fill: none; stroke: rgba(196, 181, 253, 0.45); stroke-width: 1; }
.cm-asta { stroke: rgba(201, 184, 255, 0.35); stroke-width: 1; stroke-dasharray: 2 3; }
.cm-alone { fill: rgba(124, 92, 255, 0.18); stroke: rgba(201, 184, 255, 0.35); stroke-width: 1; transition: fill 0.2s, stroke 0.2s; }
.cm-retro { fill: #ff8fa3; font-weight: 700; font-family: var(--sans); }
.cm-natale-tondo { fill: rgba(20, 14, 46, 0.9); stroke: rgba(201, 184, 255, 0.6); stroke-width: 1.2; transition: stroke 0.2s, fill 0.2s; }
.cm-natale-glifo { fill: #e4dcff; font-family: "DejaVu Sans", "Segoe UI Symbol", sans-serif; }
.cm-linea { fill: none; stroke-width: 2; stroke-linecap: round; }
.cm-linea.cm-armonico { stroke: #4fd1c5; filter: drop-shadow(0 0 4px rgba(79, 209, 197, 0.8)); }
.cm-linea.cm-teso { stroke: #ff6b81; filter: drop-shadow(0 0 4px rgba(255, 107, 129, 0.8)); }
.cm-linea.cm-unione { stroke: #f0c24f; filter: drop-shadow(0 0 4px rgba(240, 194, 79, 0.8)); }
.cm-transito.cm-armonico .cm-alone { fill: rgba(79, 209, 197, 0.25); stroke: #4fd1c5; }
.cm-transito.cm-teso .cm-alone { fill: rgba(255, 107, 129, 0.25); stroke: #ff6b81; }
.cm-transito.cm-unione .cm-alone { fill: rgba(240, 194, 79, 0.25); stroke: #f0c24f; }
.cm-natale.cm-armonico .cm-natale-tondo { stroke: #4fd1c5; fill: rgba(79, 209, 197, 0.22); }
.cm-natale.cm-teso .cm-natale-tondo { stroke: #ff6b81; fill: rgba(255, 107, 129, 0.22); }
.cm-natale.cm-unione .cm-natale-tondo { stroke: #f0c24f; fill: rgba(240, 194, 79, 0.22); }

.cm-comandi { display: flex; align-items: center; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.cm-btn {
  flex: none; height: 38px; min-width: 38px; padding: 0 12px; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 1rem; color: #ece6ff;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 60%);
  border: 1px solid rgba(196, 181, 253, 0.45); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.cm-btn:hover { border-color: #c4b5fd; background: rgba(124, 92, 255, 0.18); }
.cm-play { width: 46px; height: 46px; padding: 0; display: grid; place-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0) 52%), linear-gradient(180deg, #8a6cff, #5b3fd6);
  border-color: rgba(220, 210, 255, 0.85); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 0 16px rgba(124, 92, 255, 0.5); }
.cm-play i { width: 0; height: 0; margin-left: 3px; border-left: 13px solid #fff; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.cm-play.cm-in-corsa i { width: 12px; height: 14px; margin: 0; border: 0; border-left: 4px solid #fff; border-right: 4px solid #fff; }
.cm-oggi-btn { font-size: 0.88rem; }
.cm-cursore { flex: 1 1 200px; min-width: 0; accent-color: #9b7bff; cursor: pointer; }
.cm-velocita { width: auto; padding: 8px 10px; font-size: 0.86rem; }
.cm-aspetti { list-style: none; margin: 14px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; }
.cm-aspetti li { display: flex; align-items: baseline; gap: 6px; font-size: 0.9rem; color: var(--testo-tenue); padding-left: 14px; position: relative; }
.cm-aspetti li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 8px; height: 8px; border-radius: 50%; background: #c9b8ff; }
.cm-aspetti li.cm-armonico::before { background: #4fd1c5; box-shadow: 0 0 6px #4fd1c5; }
.cm-aspetti li.cm-teso::before { background: #ff6b81; box-shadow: 0 0 6px #ff6b81; }
.cm-aspetti li.cm-unione::before { background: #f0c24f; box-shadow: 0 0 6px #f0c24f; }
.cm-aspetti li strong { color: #fff; font-weight: 600; }
.cm-aspetti li em { margin-left: auto; font-style: normal; color: var(--testo-debole); font-variant-numeric: tabular-nums; }
.cm-aspetti li.cm-vuoto { grid-column: 1 / -1; padding-left: 0; }
.cm-aspetti li.cm-vuoto::before { display: none; }
.cm-legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 8px 0 0; font-size: 0.8rem; color: var(--testo-debole); }
.cm-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.cm-legenda i { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid; }
.cm-l-transito { border-color: rgba(201, 184, 255, 0.6) !important; background: rgba(124, 92, 255, 0.3); }
.cm-l-natale { border-color: rgba(201, 184, 255, 0.6) !important; background: rgba(20, 14, 46, 0.9); }
.cm-l-armonico { border-color: #4fd1c5 !important; } .cm-l-teso { border-color: #ff6b81 !important; } .cm-l-unione { border-color: #f0c24f !important; }
@media (max-width: 640px) {
  .cm { padding: 16px 12px; }
  .cm-data strong { font-size: 1.1rem; }
  .cm-cursore { order: 5; flex-basis: 100%; }
  .cm-velocita { margin-left: auto; }
  .cm-aspetti { grid-template-columns: minmax(0, 1fr); }
}
.saluto-testo { flex: 1 1 auto; min-width: 0; }
.saluto-citazione { flex: none; }
.saluto-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 10px; margin-top: 20px; }
.saluto-azioni > .saluto-persone, .saluto-azioni > .saluto-affinita, .saluto-azioni > .finestra { margin: 0; }

.saluto-azioni > .saluto-persone { height: 50px; gap: 10px; padding: 0 6px 0 14px; }
@media (max-width: 680px) {
  .saluto-azioni > .saluto-persone { height: 34px; gap: 7px; padding: 0 4px 0 10px; }
  .saluto-azioni > .saluto-persone > .btn-ico { display: inline-block; width: 20px; height: 20px; }
}
@media (max-width: 680px) { .saluto-azioni { margin-top: 14px; gap: 10px 6px; } }

.finestra {
  display: inline-flex; align-items: center; gap: 10px; vertical-align: top; max-width: 100%;
  height: 50px; padding: 0 14px 0 6px; border-radius: 999px;
  color: var(--testo); text-decoration: none; white-space: nowrap;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 55%), rgba(30, 20, 70, 0.5);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
          backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(196, 181, 253, 0.55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 0 14px rgba(124, 92, 255, 0.3);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.finestra:hover { text-decoration: none; transform: translateY(-1px); border-color: #c4b5fd;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 0 22px rgba(124, 92, 255, 0.5); }
.finestra-aperta { border-color: rgba(240, 194, 79, 0.8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 16px rgba(240, 194, 79, 0.3); }
.finestra-aperta:hover { border-color: #f0c24f; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 0 24px rgba(240, 194, 79, 0.45); }
.finestra-figura { display: block; flex: none; width: 40px; height: 40px; object-fit: contain; filter: drop-shadow(0 0 6px rgba(240, 194, 79, 0.45)); }
.finestra-testo { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.finestra-occhiello { font-size: 0.86rem; color: #d9d2f5; }
.finestra-occhiello::first-letter { color: #f0c24f; }
.finestra-quando { font-size: 0.95rem; font-weight: 700; color: #f6d77a; }
.finestra-date {
  display: flex; align-items: center; gap: 8px; align-self: stretch; padding-left: 12px;
  border-left: 1px solid rgba(255, 255, 255, 0.14); font-size: 0.86rem; color: #ece6ff;
}
.finestra-freccia { font-size: 1.2rem; line-height: 1; color: #c9b8ff; }
.finestra-chiusa .ico-lucchetto { flex: none; color: #f0c24f; }
@media (max-width: 680px) {
  .saluto-testo { flex: 1 1 auto; }
  .finestra { display: flex; width: 100%; height: auto; min-height: 48px; padding: 4px 12px 4px 5px; gap: 8px; }
  .finestra-figura { width: 38px; height: 38px; }
  .finestra-testo { flex-direction: column; align-items: flex-start; gap: 0; line-height: 1.25; }
  .finestra-occhiello { font-size: 0.74rem; }
  .finestra-quando { font-size: 0.86rem; }
  .finestra-date { margin-left: auto; padding-left: 8px; border-left: 0; font-size: 0.78rem; }
}
.saluto-og {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 6px 20px;
  width: min(100%, 640px); margin-top: 16px; padding: 16px 20px 16px 16px; border-radius: 24px;
  color: var(--testo); text-decoration: none;
  background: linear-gradient(170deg, rgba(255, 244, 214, 0.16), rgba(255, 255, 255, 0.02) 55%), rgba(30, 20, 70, 0.55);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
          backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(240, 194, 79, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 0 30px rgba(240, 194, 79, 0.28);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.saluto-og:hover { text-decoration: none; transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 0 40px rgba(240, 194, 79, 0.45); }
.saluto-og-emblema {
  grid-row: span 3; width: 96px; height: 96px; border-radius: 50%; background: var(--emblema) center / cover no-repeat;
  border: 2px solid rgba(240, 194, 79, 0.75); box-shadow: 0 0 0 5px rgba(240, 194, 79, 0.08), 0 0 24px rgba(155, 140, 255, 0.55);
}
.saluto-og-testa { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; min-width: 0; }
.saluto-og-occhiello { flex-basis: 100%; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #f0c24f; }
.saluto-og-segno {
  font-family: var(--serif); font-weight: 700; font-size: 1.7rem; line-height: 1.1;
  background: linear-gradient(180deg, #ffffff, #e9dcff 55%, #f3cf7a); -webkit-background-clip: text; background-clip: text; color: transparent;
  padding-bottom: 0.18em; margin-bottom: -0.18em;   
}
.saluto-og-stelle { font-size: 1.15rem; letter-spacing: 0.06em; }
.saluto-og q {
  display: block; font-family: var(--serif); font-style: italic; font-size: 1.12rem; line-height: 1.4;
  color: #efe9ff; quotes: "«" "»"; text-wrap: pretty;
}
.saluto-og-vai {
  justify-self: start; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 7px 16px; border-radius: 999px;
  font-size: 0.9rem; font-weight: 700; color: #2a1a05;
  background: linear-gradient(180deg, #fbe7a8, #e9b748); box-shadow: 0 0 14px rgba(240, 194, 79, 0.45);
  transition: box-shadow 0.2s ease;
}
.saluto-og-vai i { width: 8px; height: 8px; border-radius: 50%; background: #7a3d00; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.45); }
.saluto-og:hover .saluto-og-vai { box-shadow: 0 0 22px rgba(240, 194, 79, 0.7); }
.saluto-og-letto { border-color: rgba(240, 194, 79, 0.45); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 18px rgba(240, 194, 79, 0.15); }
.saluto-og-letto .saluto-og-vai { color: #f1edff; background: rgba(124, 92, 255, 0.28); border: 1px solid rgba(196, 181, 253, 0.6); box-shadow: none; }
@media (max-width: 680px) {
  .saluto-og { gap: 4px 14px; padding: 14px 14px 14px 12px; }
  .saluto-og-emblema { grid-row: span 1; width: 66px; height: 66px; }
  .saluto-og-occhiello { font-size: 0.7rem; letter-spacing: 0.09em; }
  .saluto-og-segno { font-size: 1.35rem; }
  .saluto-og q { grid-column: 1 / -1; margin-top: 6px; font-size: 1rem; }
  .saluto-og-vai { grid-column: 1 / -1; justify-self: stretch; justify-content: center; padding: 9px 16px; }
}
@media (prefers-reduced-motion: reduce) { .saluto-og, .finestra { transition: none; } .saluto-og:hover, .finestra:hover { transform: none; } }

.guarda-figura-oroscopo {
  position: relative; border-radius: 12px; border: 1px solid rgba(240, 194, 79, 0.55);
  background: linear-gradient(170deg, rgba(255, 244, 214, 0.2), rgba(255, 255, 255, 0) 55%),
              radial-gradient(circle, rgba(240, 194, 79, 0.25), rgba(26, 22, 48, 0.95) 70%);
}
.guarda-figura-oroscopo .btn-ico { width: 26px; height: 26px; color: #f6d77a; }
.guarda-figura-oroscopo .stellina-nuovo { position: absolute; right: -6px; top: -6px; width: 20px; height: 20px; }

.og { max-width: 760px; margin: 0 auto; }
.og-testa {
  position: relative; display: flex; align-items: center; gap: 20px; padding: 26px 28px; border-radius: var(--raggio);
  background:
    linear-gradient(90deg, rgba(13, 9, 32, 0.92), rgba(13, 9, 32, 0.55) 60%, rgba(13, 9, 32, 0.2)),
    url("/static/img/cielo-vetro.webp") 85% 25% / cover no-repeat, #160f34;
  border: 1px solid rgba(255, 255, 255, 0.12); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 14px 40px rgba(6, 3, 22, 0.35);
}
.og-emblema { flex: none; width: 96px; height: 96px; border-radius: 50%; background: var(--emblema) center / cover no-repeat;
  box-shadow: 0 0 22px rgba(155, 140, 255, 0.55); border: 1.5px solid rgba(196, 181, 253, 0.6); }
.og-data { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; font-size: 0.88rem; color: var(--testo-tenue); text-transform: capitalize; }
.og-titolo-pagina { margin: 0; font-family: var(--serif); font-size: clamp(1.6rem, 3.6vw, 2.3rem); line-height: 1.1; color: #fff; }
.og-per { margin: 6px 0 0; color: #c9b8ff; font-size: 0.95rem; }
.og-corpo { margin-top: 18px; }
.og-attesa {
  display: flex; align-items: center; gap: 16px; padding: 22px 24px; border-radius: var(--raggio);
  background: rgba(255, 255, 255, 0.03); border: 1px solid var(--card-bordo);
}
.og-attesa strong { display: block; font-family: var(--serif); font-size: 1.1rem; color: #fff; }
.og-attesa span { color: var(--testo-tenue); font-size: 0.9rem; }
.og-attesa .dm-scrive { margin-left: auto; }
.og-testo {
  padding: 26px 30px 28px; border-radius: var(--raggio); color: var(--testo);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01) 50%), rgba(20, 15, 46, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.og-di { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; color: #e8b84a; }
.og-di img { border-radius: 50%; }
.og-titolo { margin: 4px 0 12px; font-family: var(--serif); font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.2; color: #fff; }
.og-paragrafo { margin: 0; font-family: var(--serif); font-size: 1.12rem; line-height: 1.7; color: #ece6ff; }
.og-aree { display: grid; gap: 10px; margin-top: 22px; }
.og-area {
  display: flex; gap: 14px; align-items: flex-start; padding: 12px 14px; border-radius: 16px;
  background: rgba(13, 9, 32, 0.5); border: 1px solid color-mix(in srgb, var(--tinta) 30%, transparent);
}
.og-area-ico { flex: none; width: 44px; height: 44px; border-radius: 12px; background: center / 80% no-repeat;
  background-color: color-mix(in srgb, var(--tinta) 18%, #1a1630); border: 1px solid color-mix(in srgb, var(--tinta) 45%, transparent); }
.og-area strong { display: block; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tinta); }
.og-area p { margin: 2px 0 0; line-height: 1.5; }
.og-consiglio {
  display: flex; gap: 14px; align-items: flex-start; margin-top: 16px; padding: 14px 16px; border-radius: 16px;
  background: linear-gradient(170deg, rgba(255, 244, 214, 0.12), rgba(255, 255, 255, 0) 55%), rgba(240, 194, 79, 0.08);
  border: 1px solid rgba(240, 194, 79, 0.55);
}
.og-consiglio-ico { flex: none; font-size: 1.4rem; line-height: 1; color: #f0c24f; text-shadow: 0 0 10px rgba(240, 194, 79, 0.8); }
.og-consiglio strong { display: block; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; color: #f0c24f; }
.og-consiglio p { margin: 2px 0 0; line-height: 1.5; color: #fff3cf; }
.og-invito {
  display: flex; align-items: center; gap: 16px; margin-top: 18px; padding: 18px 20px; border-radius: var(--raggio);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.015) 55%), rgba(124, 92, 255, 0.12);
  border: 1px solid rgba(196, 181, 253, 0.45);
}
.og-invito-ico { flex: none; width: 46px; height: 46px; background: #c9b8ff;
  -webkit-mask: var(--icona) center / contain no-repeat; mask: var(--icona) center / contain no-repeat; }
.og-invito strong { font-family: var(--serif); font-size: 1.1rem; color: #fff; }
.og-invito p { margin: 4px 0 0; font-size: 0.9rem; color: var(--testo-tenue); }
.og-invito .btn { margin-left: auto; white-space: nowrap; }
.og-altro { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 4px 0; font-size: 0.92rem; }
.og-altro a { color: #c9b8ff; }
@media (max-width: 640px) {
  .og-testa { padding: 18px 16px; gap: 14px; }
  .og-emblema { width: 66px; height: 66px; }
  .og-testo { padding: 18px 16px 20px; }
  .og-paragrafo { font-size: 1.04rem; }
  .og-invito { flex-wrap: wrap; }
  .og-invito .btn { margin-left: 0; width: 100%; justify-content: center; }
}
.og-testa { gap: 26px; padding: 30px 32px; }
.og-emblema { width: 150px; height: 150px; border-width: 2px; border-color: rgba(240, 194, 79, 0.7);
  box-shadow: 0 0 0 6px rgba(240, 194, 79, 0.08), 0 0 34px rgba(155, 140, 255, 0.6), 0 0 60px rgba(240, 194, 79, 0.2); }
.og-testa-testo { min-width: 0; }
.og-segno {
  display: flex; align-items: center; gap: 14px; margin: 0; font-family: var(--serif); font-weight: 700;
  font-size: clamp(2.3rem, 6vw, 3.4rem); line-height: 1.05; letter-spacing: 0.01em;
  background: linear-gradient(180deg, #ffffff, #e9dcff 55%, #f3cf7a); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 2px 14px rgba(0, 0, 0, 0.5));
  
  padding-bottom: 0.18em; margin-bottom: -0.18em;
}
.og-segno-glifo { width: 0.9em; height: 0.9em; filter: drop-shadow(0 0 10px rgba(240, 194, 79, 0.6)); }
.og-stelle { margin: 8px 0 4px; font-size: 1.5rem; letter-spacing: 0.08em; line-height: 1; }
.og-stelle .stella.piena, .og-area-stelle .stella.piena { color: #f0c24f; text-shadow: 0 0 8px rgba(240, 194, 79, 0.6); }
.og-stelle .stella.mezza, .og-area-stelle .stella.mezza {
  background: linear-gradient(90deg, #f0c24f 50%, rgba(240, 194, 79, 0.3) 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.og-stelle .stella.vuota, .og-area-stelle .stella.vuota { color: rgba(240, 194, 79, 0.45); }
.og-per { margin: 6px 0 0; font-size: 0.95rem; color: #c9b8ff; }
.og-per strong { color: #fff; font-weight: 600; }
.og-per span { margin: 0 6px; color: rgba(201, 184, 255, 0.6); }
.og-area strong { display: flex; align-items: center; gap: 10px; }
.og-area-stelle { font-size: 0.95rem; letter-spacing: 0.05em; text-transform: none; }
@media (max-width: 640px) {
  .og-testa { flex-direction: column; text-align: center; padding: 22px 16px; gap: 12px; }
  .og-emblema { width: 120px; height: 120px; }
  .og-data { justify-content: center; }
  .og-segno { justify-content: center; }
  .og-stelle { font-size: 1.35rem; }
}
.os-carta { margin-bottom: 22px; }
.os-nav {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin: 14px 0 0; padding: 3px; border-radius: 999px;
  border: 1px solid rgba(196, 181, 253, 0.35); background: rgba(18, 12, 43, 0.5);
}
.os-nav a, .os-nav-spenta {
  flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  color: #e9e2ff; text-decoration: none; font-size: 1.1rem; line-height: 1; background: rgba(124, 92, 255, 0.15);
  transition: background 0.15s ease;
}
.os-nav a:hover { text-decoration: none; background: rgba(124, 92, 255, 0.4); }
.os-nav-spenta { opacity: 0.35; cursor: default; }
.os-nav strong { min-width: 0; padding: 0 8px; font-size: 0.92rem; font-weight: 600; color: #f1edff; }
.os-nav em { font-style: normal; font-size: 0.74rem; color: #f0c24f; margin-left: 8px; white-space: nowrap; }
.os-carta .lf-contiene { margin-top: 14px; }
.os-passata .lf-btn { text-decoration: none; }
.os-passata .lf-btn:hover { text-decoration: none; }
.os-torna { display: block; margin-top: 14px; text-align: center; font-size: 0.92rem; font-weight: 600; color: #c9b8ff; }
.os-altro > summary { list-style: none; }
.os-altro > summary::-webkit-details-marker { display: none; }
.os-altro[open] > summary::after { content: " ↑"; }
.os-data { margin-top: 14px; flex-wrap: wrap; }
.os-altro .aiuto { margin: 10px 0 0; }
.os-altra { margin-top: 12px; }
.os-risultato:empty { display: none; }
.os-risultato { margin-bottom: 22px; }
.os-ruota { position: relative; }
.os-ruota-testa { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.os-ruota-testa:empty { display: none; }
@media (max-width: 900px) {
  .os-griglia > .os-colonna { display: contents; }
  .os-carta { order: 1; } .os-risultato { order: 2; } .os-luna { order: 3; } .os-transiti { order: 4; } .os-ruota { order: 5; }
  .os-carta, .os-risultato { margin-bottom: 0; }
}
@media (max-width: 680px) {
  .os-nav { display: flex; width: 100%; }
  .os-nav strong { flex: 1 1 auto; text-align: center; padding: 0 4px; font-size: 0.88rem; }
  .os-nav em { display: block; margin: 0; }
}
button.giorno-luna { font: inherit; color: inherit; cursor: pointer; transition: border-color 0.15s ease, transform 0.15s ease; }
button.giorno-luna:hover { border-color: #a78bfa; transform: translateY(-1px); }
button.giorno-luna:focus-visible { outline: 2px solid #a78bfa; outline-offset: 2px; }
.giorno-luna.scelto { border-color: #f0c24f; box-shadow: 0 0 0 3px rgba(240, 194, 79, 0.18), 0 0 16px rgba(240, 194, 79, 0.25); }
.ol-nota { display: none; }
.ol-attivo .ol-nota { display: block; margin: -6px 0 12px; text-align: center; font-size: 0.8rem; color: var(--testo-tenue); }
.ol-attivo .riga-giorno { display: none; }
.ol-attivo .riga-giorno.scelto {
  display: block; opacity: 1; margin: 0; padding: 14px 16px; border: 1px solid rgba(196, 181, 253, 0.25);
  border-left: 3px solid #f0c24f; border-radius: 14px; background: rgba(124, 92, 255, 0.08);
}
.os-transiti > summary { list-style: none; cursor: pointer; }
.os-transiti > summary::-webkit-details-marker { display: none; }
.os-transiti:not([open]) > summary { margin-bottom: 0; }
.ot-testa { display: flex; align-items: center; gap: 12px; }
.ot-conto { padding: 3px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 600; color: #e9e2ff;
  border: 1px solid rgba(167, 139, 250, 0.4); background: rgba(124, 92, 255, 0.12); white-space: nowrap; }
.ot-apri { flex: none; margin-left: auto; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid rgba(167, 139, 250, 0.45); background: rgba(124, 92, 255, 0.12); color: #e9e2ff; transition: background 0.15s ease; }
.os-transiti > summary:hover .ot-apri { background: rgba(124, 92, 255, 0.28); }
.ot-apri i { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg); transition: transform 0.2s ease; }
.os-transiti[open] .ot-apri i { transform: translateY(2px) rotate(-135deg); }
@media (prefers-reduced-motion: reduce) { button.giorno-luna, .ot-apri i { transition: none; } button.giorno-luna:hover { transform: none; } }
.og-nav { margin-top: 12px; }
.og-nav strong { min-width: 92px; text-align: center; }
@media (max-width: 680px) { .og-nav { display: inline-flex; width: auto; } }
.adesso {
  width: min(100%, 640px); margin-top: 14px; border-radius: 22px; overflow: hidden;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.02) 55%), rgba(24, 16, 58, 0.55);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
          backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(196, 181, 253, 0.45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 0 18px rgba(124, 92, 255, 0.25);
}
.adesso-barra { display: flex; align-items: center; gap: 12px; padding: 6px 10px 6px 8px; }
.adesso-icona { flex: none; width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 0 6px rgba(240, 194, 79, 0.45)); }
.adesso-titolo { flex: none; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #f0c24f; }
.adesso-breve { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 14px; min-width: 0; overflow: hidden; color: #e9e2ff; font-size: 0.92rem; container-type: inline-size; }

@container (max-width: 330px) { .adesso-breve-giove .adesso-breve-nome { display: none; } }
@container (max-width: 190px) { .adesso-breve-nome { display: none; } }
.adesso-breve-voce { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.adesso-breve-simbolo { color: #c9b8ff; font-family: "DejaVu Sans", "Segoe UI Symbol", sans-serif; }
.adesso-breve-sorge { color: #f6d77a; font-weight: 700; }
.adesso-breve b { color: #fff; font-weight: 600; }
.adesso-glifo { width: 18px; height: 18px; }
.adesso-orologio {
  flex: none; margin-left: auto; font-family: var(--serif); font-size: 1.45rem; font-weight: 600; line-height: 1;
  color: #fff; font-variant-numeric: tabular-nums; letter-spacing: 0.03em;
}
.adesso-apri {
  flex: none; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid rgba(167, 139, 250, 0.45); background: rgba(124, 92, 255, 0.12); color: #e9e2ff;
}
.adesso-apri[hidden] { display: none; }
.adesso-apri:hover { background: rgba(124, 92, 255, 0.28); }
.adesso-apri:focus-visible { outline: 2px solid #a78bfa; outline-offset: 2px; }
.adesso-apri i { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(2px) rotate(-135deg); transition: transform 0.2s ease; }
.adesso-chiuso .adesso-apri i { transform: translateY(-2px) rotate(45deg); }

.adesso:not(.adesso-chiuso) .adesso-breve { visibility: hidden; }
.adesso-chiuso .adesso-dettagli { display: none; }
.adesso-dettagli { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 20px;
  padding: 10px 16px 14px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.adesso-voce { display: flex; align-items: center; gap: 12px; min-width: 0; }
.adesso-figura { flex: none; display: grid; place-items: center; width: 38px; height: 38px; }
.adesso-luna-figura { width: 34px; height: 34px; filter: drop-shadow(0 0 6px rgba(241, 228, 184, 0.45)); }
.adesso-testo { display: flex; flex-direction: column; min-width: 0; }
.adesso-riga { display: flex; align-items: center; flex-wrap: wrap; gap: 0 6px; font-size: 0.93rem; color: #e9e2ff; }
.adesso-riga b { color: #fff; font-weight: 600; }
.adesso-luogo { font-size: 0.82rem; color: var(--testo-tenue); }
.adesso-testo small { font-size: 0.8rem; color: #b9b0dc; }

.adesso-orizzonte { position: relative; }
.adesso-orizzonte::before { content: ""; position: absolute; left: 3px; right: 3px; bottom: 11px; height: 1.5px; border-radius: 1px;
  background: linear-gradient(90deg, transparent, #c9b8ff 20%, #c9b8ff 80%, transparent); }
.adesso-orizzonte i { position: absolute; left: 50%; bottom: 12px; width: 18px; height: 9px; margin-left: -9px;
  border-radius: 18px 18px 0 0; background: radial-gradient(circle at 50% 100%, #fbe7a8, #e9b748 70%);
  box-shadow: 0 0 10px rgba(240, 194, 79, 0.6); }
.adesso-orizzonte i::after { content: ""; position: absolute; left: 50%; top: -11px; width: 1.5px; height: 7px; margin-left: -0.75px;
  background: #f6d77a; border-radius: 1px; }

.adesso-breve-giove .adesso-breve-simbolo { color: #c9b8ff; }
.adesso-breve-giove.adesso-giove-aperta .adesso-breve-simbolo,
.adesso-breve-giove.adesso-giove-aperta b { color: #f6d77a; }
.adesso-giove {
  grid-column: 1 / -1; padding: 8px 12px 8px 8px; margin: 0 -8px; border-radius: 14px; text-decoration: none; color: inherit;
  border: 1px solid transparent; transition: background 0.15s ease, border-color 0.15s ease;
}
.adesso-giove:hover { text-decoration: none; background: rgba(124, 92, 255, 0.12); border-color: rgba(196, 181, 253, 0.35); }
.adesso-giove.adesso-giove-aperta { border-color: rgba(240, 194, 79, 0.35); background: rgba(240, 194, 79, 0.06); }
.adesso-giove-figura { width: 38px; height: 38px; object-fit: contain; filter: drop-shadow(0 0 6px rgba(240, 194, 79, 0.45)); }
.adesso-giove-quando { color: #f6d77a !important; }
.adesso-giove-freccia { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 1.3rem; color: #c9b8ff; }
.adesso-giove-freccia .ico-lucchetto { color: #f0c24f; }
@media (max-width: 760px) {
  .adesso { width: 100%; }
  .adesso-barra { gap: 8px; padding: 5px 8px 5px 6px; }
  .adesso-icona { width: 36px; height: 36px; }
  .adesso-titolo { display: none; }
  .adesso-breve { justify-content: flex-start; gap: 12px; font-size: 0.88rem; }
  .adesso-orologio { font-size: 1.2rem; }
  .adesso-apri { width: 30px; height: 30px; }
  .adesso-dettagli { grid-template-columns: minmax(0, 1fr); padding: 10px 12px 12px; }
  
  .adesso:not(.adesso-chiuso) .adesso-titolo { display: inline; }
  .adesso:not(.adesso-chiuso) .adesso-breve { display: none; }
}
@media (max-width: 480px) { .adesso-breve-nome { display: none; } }
@media (prefers-reduced-motion: reduce) { .adesso-apri i { transition: none; } }
.piano-sconto {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 2px 10px;
  margin: 10px 0 4px; padding: 10px 12px; border-radius: 14px;
  background: linear-gradient(170deg, rgba(255, 244, 214, 0.12), rgba(255, 255, 255, 0.02) 60%), rgba(30, 20, 70, 0.4);
  border: 1px dashed rgba(240, 194, 79, 0.6);
}
.piano-sconto-percento { grid-row: span 2; padding: 6px 10px; border-radius: 10px; font-weight: 700; font-size: 1.05rem;
  color: #2a1a05; background: linear-gradient(180deg, #fbe7a8, #e9b748); }
.piano-sconto-testo { font-size: 0.92rem; color: #ece6ff; }
.piano-sconto-testo strong { color: #fff; }
.piano-sconto-testo code { padding: 1px 6px; border-radius: 6px; background: rgba(240, 194, 79, 0.16); color: #f6d77a; font-weight: 700; letter-spacing: 0.04em; }
.piano-sconto small { font-size: 0.78rem; color: var(--testo-tenue); }
.ca-eroe {
  position: relative; overflow: hidden; display: grid; gap: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: end;
  margin: 8px 0 20px; padding: 34px 36px; border-radius: 24px;
  border: 1.5px solid rgba(167, 139, 250, 0.45);
  
  background:
    linear-gradient(90deg, rgba(14, 10, 32, 0.55) 0%, rgba(14, 10, 32, 0) 55%),
    url("/static/img/ascendente-orizzonte.webp") center 78% / cover no-repeat, #120d26;
  box-shadow: 0 0 30px rgba(124, 92, 255, 0.25);
}
.ca-eroe-testo { align-self: start; }
.ca-sopra { margin: 0 0 8px; font-size: 0.76rem; letter-spacing: 0.16em; text-transform: uppercase; color: #f0c24f; }
.ca-eroe h1 { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 2.4rem; line-height: 1.1; color: #f6f1ff; }
.ca-sotto { margin: 12px 0 0; max-width: 42ch; color: #d9d0f5; line-height: 1.65; }
.ca-modulo {
  padding: 22px 22px 18px; border-radius: 18px;
  background: rgba(18, 13, 40, 0.78); border: 1px solid rgba(167, 139, 250, 0.32);
  backdrop-filter: blur(6px); box-shadow: 0 12px 34px rgba(5, 3, 18, 0.45);
}
.ca-modulo .campo { margin-bottom: 14px; }
.ca-azioni { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.ca-privacy { font-size: 0.82rem; color: var(--testo-tenue); }
.ca-privacy .ico-lucchetto { width: 12px; height: 12px; }

#ca-risultato { scroll-margin-top: 90px; }
.ca-errore { margin: 0 0 18px; }
.ca-risultati { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 16px; }
.ca-risultati .card { margin: 0; }
.ca-punto {
  position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 18px; align-content: start;
  border-color: rgba(185, 166, 255, 0.45);
  background: radial-gradient(120% 90% at 0% 0%, rgba(124, 92, 255, 0.22), transparent 60%), var(--card);
  animation: ca-compare 0.5s ease both;
}
.ca-dsc { animation-delay: 0.08s; background: radial-gradient(120% 90% at 0% 0%, rgba(240, 194, 79, 0.12), transparent 60%), var(--card); }
@keyframes ca-compare { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ca-punto { animation: none; } }
.ca-emblema {
  grid-row: span 3; width: 96px; height: 96px; border-radius: 50%;
  background: center / cover no-repeat; filter: drop-shadow(0 0 14px rgba(167, 139, 250, 0.45));
}
.ca-etichetta { margin: 2px 0 2px; font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; color: #b9a8ff; }
.ca-dsc .ca-etichetta { color: #f0c24f; }
.ca-punto h2 { margin: 0 0 8px; font-family: var(--serif); font-weight: 600; font-size: 1.7rem; color: #f6f1ff; }
.ca-grado { font-family: inherit; font-size: 1rem; font-weight: 500; color: var(--testo-tenue); margin-left: 4px; }
.ca-testo { margin: 0; color: var(--testo-tenue); line-height: 1.7; }
.ca-confine { margin: 0 0 16px; }

.ca-dettagli { margin: 0 0 16px; }
.ca-pillole { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.ca-pillola {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 8px; border-radius: 999px;
  background: rgba(167, 139, 250, 0.1); border: 1px solid rgba(167, 139, 250, 0.3); font-size: 0.92rem; font-weight: 600;
}
.ca-pillola-glifo { width: 26px; height: 26px; background: var(--segno) center / contain no-repeat; }
.ca-calcolato { margin: 0; line-height: 1.6; }
.ca-invito { margin: 0 0 18px; }
.ca-domande { margin: 0 0 18px; }
.ca-domande h2 { margin: 0 0 12px; font-family: var(--serif); font-size: 1.3rem; font-weight: 600; }
.voce-calcolo {
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: space-between;
  border-color: rgba(240, 194, 79, 0.45);
  background: radial-gradient(120% 120% at 100% 0%, rgba(240, 194, 79, 0.14), transparent 60%), var(--card);
}
.voce-calcolo h2 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.2rem; font-weight: 600; }
.voce-calcolo p { margin: 0; color: var(--testo-tenue); }

@media (max-width: 860px) {
  .ca-eroe {
    grid-template-columns: minmax(0, 1fr); padding: 26px 20px 20px;
    background: url("/static/img/ascendente-orizzonte-piccolo.webp") 90% top / cover no-repeat, #120d26;
  }
  .ca-eroe h1 { font-size: 1.9rem; }
  .ca-risultati { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .ca-eroe { padding: 22px 14px 14px; border-radius: 20px; }
  .ca-modulo { padding: 16px 14px 14px; }
  .ca-punto { grid-template-columns: 64px minmax(0, 1fr); column-gap: 14px; }
  .ca-emblema { width: 64px; height: 64px; }
  .ca-punto h2 { font-size: 1.4rem; }
}
.ca-home {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr); gap: 26px; align-items: center;
  margin: 34px 0 6px; padding: 30px 32px; border-radius: 24px;
  border: 1.5px solid rgba(240, 194, 79, 0.35);
  background:
    linear-gradient(90deg, rgba(14, 10, 32, 0.75) 0%, rgba(14, 10, 32, 0.2) 70%),
    url("/static/img/ascendente-orizzonte.webp") center 80% / cover no-repeat, #120d26;
  box-shadow: 0 0 30px rgba(124, 92, 255, 0.22);
}
.ca-home h2 { margin: 0 0 8px; font-family: var(--serif); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.1rem); color: #f6f1ff; }
.ca-home-testo p:last-child { margin: 0; color: #d9d0f5; line-height: 1.6; }
.ca-home-modulo {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.4fr) auto; gap: 10px; align-items: end;
  padding: 16px; border-radius: 18px; background: rgba(18, 13, 40, 0.75);
  border: 1px solid rgba(167, 139, 250, 0.3); backdrop-filter: blur(6px);
}
.ca-home-campo { display: grid; gap: 6px; min-width: 0; font-size: 0.82rem; color: var(--testo-tenue); }
.ca-home-campo input { width: 100%; min-width: 0; height: 48px; box-sizing: border-box; }
.ca-home-modulo .btn { white-space: nowrap; }
@media (max-width: 1000px) {
  .ca-home { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .ca-home {
    padding: 22px 16px 16px; gap: 18px;
    background: url("/static/img/ascendente-orizzonte-piccolo.webp") 90% top / cover no-repeat, #120d26;
  }
  .ca-home-modulo { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; }
  .ca-home-luogo, .ca-home-modulo .btn { grid-column: 1 / -1; }
}
.fb-card h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fb-card h3 .pillola-stato { font-size: 0.72rem; }
.fb-scelta { display: flex; align-items: center; gap: 8px; margin: 4px 0; font-weight: 500; color: var(--testo); }
.fb-elenco-titolo { margin: 22px 0 12px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.07); font-family: var(--serif); font-size: 1.1rem; }
.fb-post-elenco { display: grid; gap: 14px; }
.fb-post {
  display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 16px; padding: 14px; border-radius: 16px;
  background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); scroll-margin-top: 90px;
}
.fb-post.fb-bozza { border-color: rgba(232, 184, 74, 0.45); background: rgba(232, 163, 61, 0.06); }
.fb-post.fb-errore { border-color: rgba(251, 113, 133, 0.4); }
.fb-post-img img { display: block; width: 160px; height: auto; border-radius: 10px; }
.fb-post.fb-pubblicato, .fb-post.fb-scartato, .fb-post.fb-scaduto { grid-template-columns: 96px minmax(0, 1fr); opacity: 0.85; }
.fb-post.fb-pubblicato .fb-post-img img, .fb-post.fb-scartato .fb-post-img img, .fb-post.fb-scaduto .fb-post-img img { width: 96px; }
.fb-post-vuoto { width: 160px; aspect-ratio: 4 / 5; border-radius: 10px; background: rgba(255, 255, 255, 0.04); }
.fb-post-testo { display: grid; gap: 8px; min-width: 0; }
.fb-post-testa { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fb-post-data { color: var(--testo-tenue); font-size: 0.88rem; }
.fb-post textarea { width: 100%; font-size: 0.86rem; line-height: 1.5; }
.fb-post-azioni { display: flex; gap: 8px; flex-wrap: wrap; }
.fb-errore { margin: 0; color: #fda4af; }
@media (max-width: 620px) {
  .fb-post { grid-template-columns: minmax(0, 1fr); }
  .fb-post-img img, .fb-post-vuoto { width: 140px; }
}
.fb-token-stato { margin: 8px 0 0; font-size: 0.86rem; display: flex; gap: 8px; align-items: baseline; }
.fb-token-stato::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; transform: translateY(-1px); }
.fb-token-ok { color: #5eead4; }
.fb-token-no { color: #fda4af; font-weight: 600; }

.fb-post-vuoto { display: grid; place-items: center; padding: 12px; text-align: center; }
.fb-post-vuoto span { color: var(--testo-tenue); font-size: 0.8rem; line-height: 1.4; }
.sc-nav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.sc-settimana { font-family: var(--serif); font-size: 1.08rem; min-width: 0; }
.sc-oggi-link { font-size: 0.86rem; }
.sc-nuovo { margin-left: auto; }
.sc-griglia { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.sc-giorno {
  display: flex; flex-direction: column; gap: 6px; min-height: 150px; padding: 8px;
  border-radius: 12px; background: rgba(255, 255, 255, 0.025); border: 1px solid rgba(255, 255, 255, 0.07);
}
.sc-voci { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.sc-giorno header { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; padding: 0 2px 4px; }
.sc-nome { text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.72rem; color: var(--testo-tenue); }
.sc-numero { font-family: var(--serif); font-size: 1.15rem; }
.sc-oggi { border-color: color-mix(in srgb, var(--accento) 60%, transparent); background: var(--accento-tenue); }
.sc-oggi .sc-nome { color: var(--testo); }
.sc-passato { opacity: 0.55; }
.sc-voce {
  position: relative; display: grid; gap: 4px; padding: 7px 8px; border-radius: 9px; font-size: 0.8rem;
  background: rgba(255, 255, 255, 0.05); border-left: 3px solid var(--sc-colore, var(--accento));
}
.sc-oroscopo { --sc-colore: var(--accento); }
.sc-classifica { --sc-colore: var(--accento-oro); }
.sc-luna { --sc-colore: #a5b4fc; }
.sc-immagine { --sc-colore: var(--accento-blu); }
.sc-stato-in_programma { background: transparent; border-style: dashed; border-top: 1px dashed rgba(255, 255, 255, 0.12);
  border-right: 1px dashed rgba(255, 255, 255, 0.12); border-bottom: 1px dashed rgba(255, 255, 255, 0.12); }
.sc-stato-scartato, .sc-stato-scaduto { opacity: 0.55; }
.sc-stato-scartato .sc-tipo { text-decoration: line-through; }
.sc-voce-link { display: grid; gap: 4px; color: inherit; }
.sc-voce-link:hover { text-decoration: none; }
.sc-voce-link:hover .sc-tipo { color: var(--accento); }
.sc-ora { font-variant-numeric: tabular-nums; color: var(--testo-tenue); font-size: 0.74rem; }
.sc-tipo { font-weight: 600; color: var(--testo); overflow-wrap: anywhere; }
.sc-voce .pillola-stato { justify-self: start; font-size: 0.66rem; padding: 1px 7px; gap: 5px; }
.sc-voce .pillola-stato::before { width: 5px; height: 5px; }
.sc-auto {
  justify-self: start; font-size: 0.64rem; letter-spacing: 0.05em; text-transform: uppercase; padding: 1px 6px;
  border-radius: 6px; color: #5eead4; border: 1px solid rgba(45, 212, 191, 0.35);
}
.sc-voce .sc-auto { position: absolute; top: 6px; right: 6px; }
.sc-salta { margin: 0; }
.sc-salta-btn {
  padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 0.72rem;
  color: var(--testo-tenue); text-decoration: underline; text-underline-offset: 2px;
}
.sc-salta-btn:hover { color: #fda4af; }
.sc-vuoto { margin: auto 0; text-align: center; color: rgba(255, 255, 255, 0.18); }
@media (max-width: 900px) {
  .sc-griglia { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .sc-giorno { flex-direction: row; align-items: flex-start; min-height: 0; gap: 10px; }
  .sc-giorno header { flex: none; width: 42px; flex-direction: column; align-items: center; gap: 0; padding: 2px 0 0; }
  .sc-vuoto { margin: 4px 0; text-align: left; }
  .sc-voce, .sc-voce-link { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
  .sc-voce-link { flex: 1 1 auto; min-width: 0; }
  .sc-ora { min-width: 38px; }
  .sc-voce .sc-auto { position: static; }
  .sc-salta { margin-left: auto; }
}
.sc-modulo { display: grid; gap: 4px; }
.sc-voce.sc-scelta { outline: 2px solid var(--accento); outline-offset: 1px; background: var(--accento-tenue); }
.sc-dettaglio { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.07); }
.sc-suggerimento { margin: 14px 0 0; text-align: center; }
.sc-chiudi {
  margin-left: auto; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%;
  font-size: 1.2rem; line-height: 1; color: var(--testo-tenue); border: 1px solid rgba(255, 255, 255, 0.12);
}
.sc-chiudi:hover { color: var(--testo); border-color: var(--accento); text-decoration: none; }
.sc-da-approvare { border-color: rgba(232, 184, 74, 0.4); }
.sc-da-approvare .fb-post.fb-bozza { background: rgba(255, 255, 255, 0.03); }
.sc-conta {
  display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; margin-left: 6px;
  border-radius: 999px; font-family: var(--sans, inherit); font-size: 0.78rem; font-weight: 700; vertical-align: 2px;
  color: #1a1330; background: #f3cf6b;
}
.sc-conta-tenue { color: var(--testo); background: rgba(255, 255, 255, 0.1); }
.sc-tendina > summary { list-style: none; cursor: pointer; margin-bottom: 0; }
.sc-tendina > summary::-webkit-details-marker { display: none; }
.sc-tendina > summary::after {
  content: ""; flex: none; width: 10px; height: 10px; margin: 0 6px 0 auto; border: solid var(--testo-tenue);
  border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-3px); transition: transform 0.2s ease;
}
.sc-tendina[open] > summary::after { transform: rotate(-135deg) translateY(-3px); }
.sc-tendina > summary:hover h3 { color: var(--accento); }
.sc-tendina[open] > summary { margin-bottom: 18px; }
.sc-tendina { scroll-margin-top: 90px; }
.sc-metti {
  margin-top: 18px; padding: 14px 16px; border-radius: 14px; display: grid; gap: 12px;
  background: var(--accento-tenue); border: 1px solid color-mix(in srgb, var(--accento) 35%, transparent);
}
.sc-metti-testa { display: flex; align-items: center; gap: 12px; }
.sc-metti-testa > div { display: grid; gap: 2px; min-width: 0; }
.sc-metti-testa .aiuto { margin: 0; }
.sc-metti-campi { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sc-metti-campi input[type="date"], .sc-metti-campi input[type="time"] { width: auto; flex: 0 1 170px; min-width: 0; }
.sc-metti-campi .levetta { margin: 0; }
.short-corpo { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 22px; align-items: center; }
.short-video { width: 220px; aspect-ratio: 9 / 16; border-radius: 16px; background: #0b0920; border: 1px solid rgba(255, 255, 255, 0.1); object-fit: cover; }
.short-vuoto { display: grid; place-items: center; background: linear-gradient(180deg, rgba(124, 92, 255, 0.12), rgba(10, 7, 26, 0.6)); }
.short-testo { display: grid; gap: 12px; justify-items: start; }
.short-testo p { margin: 0; }
.short-scritte { margin-top: 8px; }
.short-copia { display: flex; gap: 10px; align-items: flex-start; }
.short-copia textarea { flex: 1; min-width: 0; font-size: 0.88rem; line-height: 1.5; resize: vertical; }
.short-copia .btn { flex: none; margin-top: 4px; }
@media (max-width: 620px) {
  .short-corpo { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .short-testo { justify-items: center; text-align: center; }
}
.sc-metti-campi .btn { margin-left: auto; }
@media (max-width: 620px) {
  .sc-metti-campi .btn { margin-left: 0; width: 100%; }
}
.sc-tipi { display: flex; flex-wrap: wrap; gap: 8px; }
.sc-tipo-scelta { display: inline-flex; cursor: pointer; margin: 0; }
.sc-tipo-scelta input { position: absolute; opacity: 0; pointer-events: none; }
.sc-tipo-scelta span {
  padding: 8px 14px; border-radius: 999px; font-size: 0.88rem; font-weight: 500; color: var(--testo-tenue);
  background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.12); transition: all 0.15s ease;
}
.sc-tipo-scelta input:checked + span { color: var(--testo); background: var(--accento-tenue); border-color: var(--accento); }
.sc-tipo-scelta input:focus-visible + span { outline: 2px solid var(--accento); outline-offset: 2px; }
.sc-regole { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.sc-regole li {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 14px;
  border-radius: 12px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08);
}
.sc-regola-spenta { opacity: 0.6; }
.sc-regola-testo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
.sc-regola-testo span:not(.pillola-stato) { color: var(--testo-tenue); font-size: 0.9rem; }
.sc-regola-testo .pillola-stato { font-size: 0.7rem; }
.sc-regola-azioni { display: flex; gap: 8px; margin: 0; }
.sc-nuova-regola summary { cursor: pointer; color: var(--accento); font-weight: 600; padding: 4px 0; }
.sc-nuova-regola[open] summary { margin-bottom: 12px; }
.sc-settegiorni { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px 26px; }
.sc-settegiorni label { display: inline-flex; margin: 0; cursor: pointer; }
.sc-settegiorni input { position: absolute; opacity: 0; pointer-events: none; }
.sc-settegiorni span {
  min-width: 46px; padding: 6px 8px; text-align: center; border-radius: 8px; font-size: 0.82rem; text-transform: capitalize;
  color: var(--testo-tenue); border: 1px solid rgba(255, 255, 255, 0.12);
}
.sc-settegiorni input:checked + span { color: var(--testo); background: var(--accento-tenue); border-color: var(--accento); }
.sc-settegiorni input:focus-visible + span { outline: 2px solid var(--accento); outline-offset: 2px; }
.sc-modulo .sc-giorno-mese { flex: none; width: 76px; display: inline-block; margin-left: 6px; padding: 6px 10px; }
.sc-modulo input[type="file"] { color: var(--testo-tenue); font-size: 0.88rem; max-width: 100%; }
.sc-modulo input[type="file"]::file-selector-button {
  margin-right: 12px; padding: 8px 16px; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 500;
  color: var(--testo); background: var(--accento-tenue); border: 1px solid color-mix(in srgb, var(--accento) 50%, transparent);
}
.sc-modulo input[type="file"]::file-selector-button:hover { border-color: var(--accento); }
.elenco-modelli { width: 100%; margin-top: 8px; }
.pf-testa { display: flex; align-items: center; gap: 18px; margin: 10px 0 22px; }
.pf-testa h1 { margin: 0; font-family: var(--serif); font-size: clamp(1.6rem, 4vw, 2.2rem); }
.pf-testa p { margin: 4px 0 0; color: var(--testo-tenue); }
.pf-giove { flex: none; filter: drop-shadow(0 0 14px rgba(240, 194, 79, 0.45)); }
.pf-invito {
  display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 18px;
  border-color: rgba(240, 194, 79, 0.45); background: linear-gradient(120deg, rgba(240, 194, 79, 0.12), rgba(124, 92, 255, 0.1));
}
.pf-invito h2 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.25rem; }
.pf-invito p { margin: 0; color: var(--testo-tenue); max-width: 60ch; }
.pf-griglia > .pf-ambito { margin: 0; }
.pf-griglia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.pf-ambito {
  display: flex; flex-direction: column; gap: 12px; margin: 0; position: relative; overflow: hidden;
  border-top: 3px solid var(--tinta);
  background: radial-gradient(120% 60% at 50% 0%, color-mix(in srgb, var(--tinta) 14%, transparent), transparent 70%), var(--card);
}
.pf-aperto { box-shadow: 0 0 0 1px color-mix(in srgb, var(--tinta) 55%, transparent), 0 10px 40px color-mix(in srgb, var(--tinta) 18%, transparent); }
.pf-ambito-testa { display: flex; align-items: center; gap: 12px; }
.pf-ambito-testa img { flex: none; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--tinta) 45%, transparent)); }
.pf-ambito-testa h2 { margin: 0; font-family: var(--serif); font-size: 1.35rem; }
.pf-ambito-testa p { margin: 2px 0 0; font-size: 0.82rem; color: var(--testo-tenue); }
.pf-quando { display: grid; gap: 2px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.04); }
.pf-quando strong { font-family: var(--serif); font-size: 1.6rem; line-height: 1.15; color: var(--tinta); }
.pf-quando small { font-size: 0.95rem; color: var(--testo); }
.pf-ora {
  justify-self: start; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700;
  padding: 2px 8px; border-radius: 999px; color: #1a1330; background: var(--tinta);
}

.pf-intensita { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--tinta); }
.pf-intensita em { font-style: normal; font-size: 0.86rem; font-weight: 700; letter-spacing: 0.02em; color: #e9e2ff; }

.pf-archi { flex: none; overflow: visible; }
.pf-arco { transform-box: view-box; transform-origin: 20px 20px; animation: pf-gira linear infinite; }
.pf-arco-1 { animation-duration: 20s; }
.pf-arco-2 { animation-duration: 28s; animation-direction: reverse; }
.pf-arco-3 { animation-duration: 36s; }
.pf-bagliore { transform-box: fill-box; transform-origin: center; animation: pf-respiro 4s ease-in-out infinite; }
@keyframes pf-gira { to { transform: rotate(360deg); } }
@keyframes pf-respiro { 50% { transform: scale(1.35); opacity: 0.12; } }
@media (prefers-reduced-motion: reduce) {
  .pf-arco, .pf-bagliore { animation: none; }
}
.pf-onde-riga { display: inline-flex; color: var(--tinta); }
.pf-spiega-int { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 22px; margin: -2px 0 18px; font-size: 0.86rem; color: var(--testo-tenue); }
.pf-spiega-int p { margin: 0; }
.pf-int-legenda { display: flex; gap: 16px; list-style: none; margin: 0; padding: 0; }
.pf-int-legenda li { display: inline-flex; align-items: center; gap: 6px; color: var(--testo); }
.pf-int-legenda .pf-onde { color: #c9b8ff; }
.pf-perche { margin: 0; font-weight: 600; }
.pf-consiglio { margin: 0; color: var(--testo-tenue); line-height: 1.5; }
.pf-condividi {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
  padding: 5px 16px 5px 10px; border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--tinta) 45%, transparent);
  background: color-mix(in srgb, var(--tinta) 10%, transparent);
  color: var(--tinta); font-size: 0.86rem; font-weight: 600; text-decoration: none;
  transition: background 0.2s;
}
.pf-condividi img { margin: -2px 0; }
.pf-condividi:hover { background: color-mix(in srgb, var(--tinta) 20%, transparent); }
.pf-condividi.pf-attesa { opacity: 0.6; pointer-events: none; }
.pf-poi { padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.pf-poi-titolo { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--testo-tenue); }
.pf-poi ul { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; }
.pf-poi li { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 0.9rem; }
.pf-poi-corso { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-style: normal; font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; background: color-mix(in srgb, var(--tinta, #a99bff) 22%, transparent); color: var(--tinta, #a99bff); }
.pf-nessuno { margin: 0; color: var(--testo-tenue); }
.pf-sintonia { padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.08); display: grid; gap: 8px; }
.pf-poi + .pf-sintonia { margin-top: 0; }
.pf-sintonia ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pf-sintonia li { display: grid; justify-items: center; gap: 4px; font-size: 0.85rem; font-weight: 600; text-align: center; }
.pf-emblema {
  width: 64px; height: 64px; background: center / cover no-repeat rgba(255, 255, 255, 0.04); border-radius: 50%;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 58%, transparent 71%);
          mask-image: radial-gradient(circle at 50% 50%, #000 58%, transparent 71%);
}
.pf-sintonia p { margin: 0; font-size: 0.86rem; color: var(--testo-tenue); line-height: 1.5; }
.pf-sintonia a { font-size: 0.88rem; font-weight: 600; }
.pf-velato { filter: blur(6px); opacity: 0.6; user-select: none; pointer-events: none; }
.pf-lucchetto { margin: 0; display: flex; align-items: center; gap: 8px; color: #f0c24f; font-weight: 600; font-size: 0.9rem; }
.pf-mesi h2 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.25rem; }
.pf-strisce { display: grid; gap: 10px; margin-top: 16px; }
.pf-etichette { position: relative; height: 18px; margin-left: 120px; font-size: 0.72rem; color: var(--testo-tenue); text-transform: capitalize; }
.pf-etichette span { position: absolute; top: 0; transform: translateX(-2px); padding-left: 4px; border-left: 1px solid rgba(255, 255, 255, 0.2); }
.pf-etichette .pf-oggi-etichetta { left: 0; color: var(--testo); text-transform: none; }
@media (max-width: 620px) { .pf-etichette .pf-mese-vicino { display: none; } }  
.pf-riga { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; align-items: center; }
.pf-riga-nome { display: flex; align-items: center; gap: 6px; font-size: 0.88rem; font-weight: 600; }
.pf-celle { display: grid; grid-template-columns: repeat(var(--settimane), minmax(0, 1fr)); gap: 3px; }
.pf-cella { display: block; height: 22px; border-radius: 4px; background: rgba(255, 255, 255, 0.05); }
.pf-l1 { background: color-mix(in srgb, var(--tinta, #9b7bff) 35%, transparent); }
.pf-l2 { background: color-mix(in srgb, var(--tinta, #9b7bff) 65%, transparent); }
.pf-l3 { background: var(--tinta, #9b7bff); box-shadow: 0 0 10px color-mix(in srgb, var(--tinta, #9b7bff) 60%, transparent); }

.pf-riga-lavoro .pf-l1 { background: #9c7f3c; }
.pf-riga-lavoro .pf-l2 { background: #d4a94b; }
.pf-riga-lavoro .pf-l3 { background: #f8d97c; box-shadow: 0 0 12px rgba(248, 217, 124, 0.7); }
.pf-legenda { display: flex; gap: 16px; flex-wrap: wrap; margin: 14px 0 0 120px; font-size: 0.8rem; color: var(--testo-tenue); }
.pf-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.pf-legenda .pf-cella { width: 16px; height: 12px; --tinta: #c9b8ff; }
.pf-nota { margin: 14px 0 0; }
.pf-calendario { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; }
.pf-cal-ico { flex: none; filter: drop-shadow(0 0 10px rgba(124, 92, 255, 0.4)); }
.pf-cal-testo { flex: 1 1 300px; min-width: 0; }
.pf-cal-testo h2 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.25rem; }
.pf-cal-testo p { margin: 0; color: var(--testo-tenue); font-size: 0.9rem; line-height: 1.5; }
.pf-cal-azioni { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pf-cal-file { font-size: 0.86rem; }
@media (max-width: 620px) {
  
  .pf-calendario { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px 12px; }
  .pf-cal-ico { width: 34px; height: 34px; align-self: center; }
  .pf-cal-testo { display: contents; }
  .pf-cal-testo h2 { margin: 0; align-self: center; font-size: 1.15rem; }
  .pf-cal-testo p, .pf-cal-azioni { grid-column: 1 / -1; }
  .pf-cal-azioni { flex-direction: column; align-items: stretch; margin-top: 10px; }
  .pf-cal-azioni .btn { text-align: center; }
  .pf-cal-file { text-align: center; padding-top: 4px; }
}
.pf-cielo { display: inline-block; margin-top: 10px; font-weight: 600; }
@media (max-width: 900px) {
  .pf-griglia { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .pf-testa { gap: 12px; }
  .pf-giove { width: 48px; height: 48px; }
  .pf-riga { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .pf-etichette, .pf-legenda { margin-left: 0; }
  .pf-celle { gap: 2px; }
  .pf-cella { height: 18px; border-radius: 3px; }
}
.lavori-elenco { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; }
.lavoro {
  display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 4px 14px;
  padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.lavoro-ico { width: 30px; height: 30px; }
.lavoro-nome { font-weight: 600; }
.lavoro-dettaglio { color: var(--testo-tenue); font-size: 0.88rem; line-height: 1.45; }
.lavoro-msg { margin-top: 4px; color: #ff9b9b; font-size: 0.78rem; line-height: 1.4; word-break: break-word; }
.lavoro-stato { display: inline-flex; align-items: center; gap: 7px; font-size: 0.82rem; color: var(--testo-tenue); white-space: nowrap; }
.lavoro-stato i { width: 9px; height: 9px; border-radius: 50%; background: #8a85ad; }
.lavoro-bene .lavoro-stato i { background: #4ade80; box-shadow: 0 0 8px rgba(74, 222, 128, 0.7); }
.lavoro-attesa .lavoro-stato i { background: #f0c24f; }
.lavoro.lavoro-errore .lavoro-stato { color: #ff9b9b; }
.lavoro.lavoro-errore { border-color: rgba(255, 120, 120, 0.35); background: rgba(255, 90, 90, 0.06); }
.lavoro.lavoro-errore .lavoro-stato i { background: #ff6b6b; box-shadow: 0 0 8px rgba(255, 107, 107, 0.7); }
.lavoro-spento { opacity: 0.7; }
.lavoro-azioni { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.lavoro-azioni form { margin: 0; }
@media (max-width: 700px) {
  .lavoro { grid-template-columns: 30px minmax(0, 1fr); gap: 6px 12px; align-items: start; }
  .lavoro-stato, .lavoro-azioni { grid-column: 2; justify-content: flex-start; }
  .lavoro-azioni { margin-top: 4px; }
}
.guarda-altre { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin-top: 12px; }
.guarda-altre-titolo { font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--testo-tenue); margin-right: 2px; }
.guarda-altre ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.guarda-altra {
  display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px 4px 5px; border-radius: 999px;
  background: rgba(124, 92, 255, 0.10); border: 1px solid rgba(167, 139, 250, 0.28);
  color: #ece7ff; font-size: 0.84rem; text-decoration: none; transition: background 0.2s, border-color 0.2s;
}
.guarda-altra:hover { background: rgba(124, 92, 255, 0.2); border-color: rgba(167, 139, 250, 0.5); }
.guarda-altra img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; flex: none; }
.guarda-altra .guarda-stato { color: var(--testo-tenue); font-size: 0.8rem; }
.guarda-altra .guarda-spunta { width: 16px; height: 16px; font-size: 0.62rem; }
.guarda-altra-chiusa { opacity: 0.75; }
.push-elenco { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.push-elenco li {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px;
  background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.06);
}
.push-chi { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.push-chi strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.push-chi small { color: var(--testo-tenue); font-size: 0.8rem; }
.push-elenco form { margin: 0; }
.riga-notifiche { margin-top: 12px; }
.riga-email + .riga-notifiche { margin-top: 10px; }
.riga-notifiche a { color: var(--accento); text-decoration: underline; text-underline-offset: 3px; }
.notifiche-card { max-width: 640px; margin: 10px auto 30px; }
.notifiche-testa { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; }
.notifiche-testa h1 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.5rem; }
.notifiche-testa p { margin: 0; color: var(--testo-tenue); line-height: 1.5; }
.notifiche-senza { margin: 0 0 12px; }
.notifiche-elenco { display: grid; gap: 10px; }
.notifiche-voce {
  display: flex; align-items: center; gap: 16px; padding: 14px 16px; border-radius: 14px; cursor: pointer;
  background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.07);
}
.notifiche-voce-testo { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.notifiche-voce-testo span { color: var(--testo-tenue); font-size: 0.88rem; line-height: 1.45; }
.notifiche-voce .levetta { flex: none; margin: 0; }
.notifiche-elenco .btn { justify-self: start; margin-top: 6px; }
@media (max-width: 620px) {
  .notifiche-testa { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 12px; }
  .notifiche-testa img { width: 44px; height: 44px; align-self: center; }
  .notifiche-testa > div { display: contents; }
  .notifiche-testa h1 { align-self: center; font-size: 1.3rem; margin: 0; }
  .notifiche-testa p { grid-column: 1 / -1; margin-top: 6px; }
}
.notifiche-campana { flex: none; filter: drop-shadow(0 0 12px rgba(167, 139, 250, 0.45)); }
.riga-notifiche img { filter: drop-shadow(0 0 6px rgba(167, 139, 250, 0.4)); }
.riga-notifiche img { opacity: 1; }
.app-negozio a[href^="/abbonati"],
.app-negozio a[href^="/abbonamento"],
.app-negozio form[action^="/abbonati"],
.app-negozio .solo-browser { display: none !important; }
.chiuso-in-app { flex-basis: 100%; margin: 6px 0 0; color: #f0c24f; font-weight: 600; font-size: 0.95rem; text-align: center; }
.chiuso-in-app .ico-lucchetto { display: inline-block; vertical-align: -2px; margin-right: 6px; }
.quadro-griglia { display: grid; grid-template-columns: minmax(280px, 400px) minmax(0, 1fr); gap: 20px; align-items: start; }
.quadro-griglia > .card { margin: 0; }
.quadro-anteprima { position: sticky; top: 20px; }
.quadro-sezione { margin: 22px 0 10px; font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--testo-tenue); font-weight: 600; }
.quadro-modulo .btn { width: 100%; margin-top: 6px; }
.quadro-muro { display: flex; justify-content: center; padding: 34px 20px; border-radius: 14px;
  background: radial-gradient(ellipse at 30% 0%, #efe8dc 0%, #ddd4c6 60%, #cfc5b5 100%); }
.quadro-img { display: block; width: 100%; max-width: 440px; height: auto; border-radius: 4px; background: #1b1733;
  box-shadow: 0 30px 50px -18px rgba(30, 20, 10, 0.5), 0 10px 18px rgba(30, 20, 10, 0.22), 0 0 0 2px rgba(214, 236, 228, 0.6); }
.quadro-muro-chiaro .quadro-img { background: rgba(225, 240, 234, 0.18); box-shadow: 0 26px 44px -22px rgba(30, 20, 10, 0.25), 0 0 0 2px rgba(200, 230, 220, 0.8); }
.quadro-azioni { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 6px; }
@media (max-width: 860px) {
  .quadro-griglia { grid-template-columns: minmax(0, 1fr); }
  .quadro-anteprima { position: static; }
}
.visite-riquadro .card-titolo { flex-wrap: wrap; }
.vq-aggiornato { margin-left: auto; font-size: 0.8rem; color: var(--testo-debole); }
.vq-fermo { color: #f28ca6; font-weight: 600; }
.vq-numeri { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 6px 0 22px; }
.vq-numero { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 14px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(255, 255, 255, 0.09); box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.6); }
.vq-etichetta { font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--testo-tenue); }
.vq-numero strong { font-family: var(--serif); font-size: 2rem; font-weight: 600; color: var(--testo); line-height: 1.1;
  font-variant-numeric: tabular-nums; }
.vq-nota { font-size: 0.82rem; color: var(--testo-debole); }
.vq-elenchi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vq-elenco h4 { margin: 0 0 8px; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--testo-tenue); font-weight: 600; }
.vq-elenco ul { list-style: none; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; overflow: hidden; }
.vq-elenco li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 14px; font-size: 0.92rem; }
.vq-elenco li + li { border-top: 1px solid rgba(255, 255, 255, 0.06); }
.vq-nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vq-quanti { font-variant-numeric: tabular-nums; color: var(--testo-tenue); }
.vq-piede { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 18px 0 0; font-size: 0.88rem; color: var(--testo-debole); }
.vq-tutte { margin-left: auto; }
@media (max-width: 900px) {
  .vq-numeri { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .vq-numero { padding: 14px; min-width: 0; }
  .vq-numero strong { font-size: clamp(1.05rem, 5.2vw, 1.8rem); white-space: nowrap; }
  .vq-elenchi { grid-template-columns: minmax(0, 1fr); }
}
.collegati .vq-numeri { margin-bottom: 16px; }
.cg-vivo { border-color: rgba(45, 212, 191, 0.35); }
.cg-pallino { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #2dd4bf;
  box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.6); animation: cg-battito 2s infinite; vertical-align: 1px; }
@keyframes cg-battito { 0% { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.55); } 70% { box-shadow: 0 0 0 8px rgba(45, 212, 191, 0); } 100% { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0); } }
@media (prefers-reduced-motion: reduce) { .cg-pallino { animation: none; } }
.cg-elenco { list-style: none; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; overflow: hidden; }
.cg-elenco li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 10px 14px; }
.cg-elenco li + li { border-top: 1px solid rgba(255, 255, 255, 0.06); }
.cg-mail { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cg-mezzo { min-width: 74px; text-align: center; font-size: 0.78rem; padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.06); color: var(--testo-tenue); }
.cg-app { background: rgba(167, 139, 250, 0.16); color: #c9b8ff; }
.cg-quando { min-width: 82px; text-align: right; font-size: 0.88rem; color: var(--testo-debole); font-variant-numeric: tabular-nums; }
.cg-ora { color: #2dd4bf; font-weight: 600; }
@media (max-width: 600px) {
  .cg-elenco li { grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; }
  .cg-elenco .admin-io-sigla { display: none; }
  .cg-mezzo { min-width: 0; }
  .cg-quando { min-width: 0; }
}
.segnala { margin: 10px 0 0; text-align: right; font-size: 0.78rem; }
.segnala > summary { display: inline-block; list-style: none; cursor: pointer; color: var(--testo-debole); opacity: 0.7;
  padding: 2px 4px; border-radius: 6px; transition: opacity 0.15s, color 0.15s; }
.segnala > summary::-webkit-details-marker { display: none; }
.segnala > summary:hover, .segnala[open] > summary { opacity: 1; color: var(--testo-tenue); }
.segnala-modulo { margin-top: 8px; padding: 12px 14px; text-align: left; border-radius: 12px;
  background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); }
.segnala-domanda { margin: 0 0 8px; font-size: 0.85rem; color: var(--testo-tenue); }
.segnala-motivi { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.segnala-motivi label { cursor: pointer; }
.segnala-motivi input { position: absolute; opacity: 0; pointer-events: none; }
.segnala-motivi span { display: inline-block; padding: 4px 11px; border-radius: 999px; font-size: 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.12); color: var(--testo-tenue); }
.segnala-motivi input:checked + span { border-color: rgba(185, 166, 255, 0.6); background: rgba(124, 92, 255, 0.18); color: var(--testo); }
.segnala-motivi input:focus-visible + span { outline: 2px solid #b9a6ff; outline-offset: 2px; }
.segnala-modulo textarea { width: 100%; box-sizing: border-box; font-size: 0.85rem; min-height: 0; }
.segnala-azioni { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.segnala-privato { font-size: 0.75rem; color: var(--testo-debole); }
.segnala-azioni button { font: inherit; font-size: 0.8rem; padding: 5px 14px; border-radius: 999px; cursor: pointer;
  color: var(--testo); background: rgba(124, 92, 255, 0.25); border: 1px solid rgba(185, 166, 255, 0.4); }
.segnala-fatto { margin: 10px 0 0; text-align: right; font-size: 0.78rem; color: var(--testo-debole); }
.dm-bolla .segnala { margin-top: 6px; }
.sg-avviso { display: block; margin: 0 0 16px; text-decoration: none; }
.sg-elenco { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sg-riga { padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.03); }
.sg-nuova { border-color: rgba(240, 194, 79, 0.35); }
.sg-testa { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 0.86rem; }
.sg-motivo { padding: 2px 10px; border-radius: 999px; font-weight: 600; background: rgba(255, 255, 255, 0.08); }
.sg-offensivo { background: rgba(242, 140, 166, 0.18); color: #f6a9bd; }
.sg-sbagliato { background: rgba(240, 194, 79, 0.16); color: #f3d27a; }
.sg-tipo { color: var(--testo-tenue); }
.sg-chi { color: var(--testo-debole); }
.sg-quando { margin-left: auto; color: var(--testo-debole); font-variant-numeric: tabular-nums; }
.sg-nota { margin: 8px 0 0; font-style: italic; color: var(--testo-tenue); }
.sg-testo { margin-top: 8px; font-size: 0.9rem; }
.sg-testo summary { cursor: pointer; color: #b9a6ff; }
.sg-testo div { margin-top: 8px; padding: 10px 12px; border-radius: 10px; background: rgba(0, 0, 0, 0.2); color: var(--testo-tenue); }
.sg-azione { margin-top: 10px; }

.dm-bolla .segnala > summary, .lettura-card .segnala > summary { color: #8a7f9e; }
.dm-bolla .segnala-modulo, .lettura-card .segnala-modulo { background: rgba(70, 50, 110, 0.05); border-color: rgba(70, 50, 110, 0.16); }
.dm-bolla .segnala-domanda, .lettura-card .segnala-domanda { color: #5b4f73; }
.dm-bolla .segnala-motivi span, .lettura-card .segnala-motivi span { border-color: rgba(70, 50, 110, 0.25); color: #5b4f73; }
.dm-bolla .segnala-motivi input:checked + span, .lettura-card .segnala-motivi input:checked + span { background: #6a4be0; border-color: #6a4be0; color: #fff; }
.dm-bolla .segnala-modulo textarea, .lettura-card .segnala-modulo textarea { background: #fffdf8; color: #2b2340; border: 1px solid rgba(70, 50, 110, 0.22); }
.dm-bolla .segnala-privato, .lettura-card .segnala-privato, .dm-bolla .segnala-fatto, .lettura-card .segnala-fatto { color: #8a7f9e; }
.dm-bolla .segnala-azioni button, .lettura-card .segnala-azioni button { background: #6a4be0; border-color: #6a4be0; color: #fff; }
.segnala-modulo textarea::placeholder { font-style: normal; opacity: 0.7; }
.astra-chiedi { margin: 14px 0 0; }
.astra-chiedi summary { border-color: rgba(240, 194, 79, 0.4); background: rgba(240, 194, 79, 0.07); }
.chiedi { margin-top: 10px; display: grid; gap: 10px; }
.chiedi .astra-come { margin: 0; }
.chiedi .astra-come summary { font-weight: 500; font-size: 0.86rem; }
.chiedi-intro, .chiedi-nota { margin: 0; font-size: 0.85rem; line-height: 1.5; color: var(--testo-tenue); }
.chiedi-nota { font-size: 0.74rem; color: var(--testo-debole); }
.chiedi-chat { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; max-height: 46vh; overflow-y: auto; }
.chiedi-chat:empty { display: none; }
.chiedi-chat li { max-width: 92%; padding: 9px 13px; border-radius: 14px; font-size: 0.88rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.chiedi-chat .chiedi-utente { justify-self: end; background: rgba(124, 92, 255, 0.3); border: 1px solid rgba(185, 166, 255, 0.4); color: #f1edff; border-bottom-right-radius: 4px; }
.chiedi-chat .chiedi-astra { justify-self: start; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--card-bordo); color: #e9e2ff; border-bottom-left-radius: 4px; }
.chiedi-chat .chiedi-attesa { opacity: 0.6; animation: chiedi-pulsa 1.1s ease-in-out infinite; }
.chiedi-chat a { color: #f0c24f; text-decoration: underline; }
@keyframes chiedi-pulsa { 50% { opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) { .chiedi-chat .chiedi-attesa { animation: none; } }
.chiedi-modulo { display: flex; gap: 8px; }

.chiedi-modulo input { flex: 1; min-width: 0; font-size: 16px; }
.chiedi-modulo .btn { flex: none; padding: 8px 18px; }
.chiedi-inoltra { justify-self: start; font: inherit; font-size: 0.82rem; cursor: pointer; padding: 6px 14px; border-radius: 999px;
  color: #e9e2ff; background: transparent; border: 1px solid rgba(255, 255, 255, 0.2); }
.chiedi-inoltra-forte { color: #1d1442; background: linear-gradient(180deg, #f6d98c, #e8b84a); border-color: transparent; font-weight: 600; }
.astra-scorciatoie .sc-elenco { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-top: 12px; }
.astra-scorciatoie .sc-per { grid-column: 1 / -1; margin: 0 0 2px; font-size: 0.82rem; color: #c4b5fd; }
.astra-scorciatoie .sc-sep { grid-column: 1 / -1; height: 1px; margin: 4px 2px; background: linear-gradient(90deg, transparent, rgba(167, 139, 250, 0.4), transparent); }
.astra-scorciatoie .sc-elenco a {
  display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; text-decoration: none; min-width: 0;
  color: #efeaff; font-size: 0.9rem; background: rgba(35, 27, 66, 0.7); border: 1.5px solid rgba(167, 139, 250, 0.3);
  transition: border-color 0.2s, background 0.2s;
}
.astra-scorciatoie .sc-ico {
  flex: none; width: 34px; height: 34px; border-radius: 10px;
  background: var(--figura) center / 78% no-repeat, color-mix(in srgb, var(--tinta, #8b6cff) 22%, #120c2b);
  border: 1px solid color-mix(in srgb, var(--tinta, #8b6cff) 50%, transparent);
}
.astra-scorciatoie .sc-ico.sc-maschera { background: color-mix(in srgb, var(--tinta, #8b6cff) 22%, #120c2b); position: relative; }
.astra-scorciatoie .sc-ico.sc-maschera::after {
  content: ""; position: absolute; inset: 7px; background: #f0c24f;
  -webkit-mask: var(--icona) center / contain no-repeat; mask: var(--icona) center / contain no-repeat;
}
.astra-scorciatoie .sc-nome { flex: 1 1 auto; min-width: 0; font-size: 0.88rem; line-height: 1.2; letter-spacing: normal; text-transform: none; font-weight: 500; color: inherit; overflow-wrap: anywhere; }
.astra-scorciatoie .sc-lucchetto { flex: none; width: 14px; height: 14px; background: #a99fd0; -webkit-mask: var(--icona) center / contain no-repeat; mask: var(--icona) center / contain no-repeat; }
.astra-scorciatoie .sc-elenco a:hover, .astra-scorciatoie .sc-elenco a:focus-visible { border-color: #a78bfa; background: rgba(60, 46, 110, 0.75); }
.astra-fumetto {
  position: fixed; right: 22px; bottom: 98px; z-index: 899; max-width: min(280px, calc(100vw - 44px));
  display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 16px 16px 4px 16px;
  color: #efeaff; font-size: 0.9rem; line-height: 1.4; cursor: pointer;
  background: linear-gradient(160deg, #2a2056, #1b1538); border: 1.5px solid rgba(240, 194, 79, 0.65);
  box-shadow: 0 0 22px rgba(167, 139, 250, 0.4), 0 10px 26px rgba(0, 0, 0, 0.5);
  opacity: 0; transform: translateY(8px); transition: opacity 0.3s ease, transform 0.3s ease;
}
.astra-fumetto[hidden] { display: none; }
.astra-fumetto.visibile { opacity: 1; transform: none; }
.astra-fumetto button {
  flex: 0 0 auto; width: 24px; height: 24px; margin: -4px -6px 0 0; border: 0; border-radius: 50%; cursor: pointer;
  background: transparent; color: #c4b5fd; font-size: 1.15rem; line-height: 1;
}
.astra-fumetto button:hover { color: #fff; }
body.scena-piena .astra-fumetto { display: none; }
@media (max-width: 680px) {
  .astra-fumetto { right: 14px; bottom: 80px; }
}
@media (prefers-reduced-motion: reduce) { .astra-fumetto { transition: none; } }
