/* Aula — tema Deepelse sopra Claper.
 *
 * Caricato da nginx dopo il CSS di Claper (sub_filter su </head>), quindi vince sul cascade.
 * Claper usa Tailwind 4 e DaisyUI: colori, font, raggi e ombre passano da variabili CSS,
 * e qui si ridefiniscono. Le variabili hanno !important perché DaisyUI le dichiara anche su
 * [data-theme], con specificità più alta di :root.
 *
 * Regole del brand (deepelse-design/README.md):
 *   palette di cinque valori: black #000000, dust #fbf7ea, green #cff200, blue #0000fe, brown #9b694d
 *   grigi = nero in trasparenza su dust, qui appiattiti in hex perché Tailwind li compone in oklch;
 *   raggio 0, pill solo su bottoni, badge e switch; nessuna ombra tranne i modali;
 *   RM Neue per tutto, tracking 0; errori in brown, conferme in green, focus in blue.
 */

@font-face{font-family:"RM Neue";src:url("/aula/fonts/rmneue-regular.woff") format("woff");font-weight:100 400;font-style:normal;font-display:swap}
@font-face{font-family:"RM Neue";src:url("/aula/fonts/rmneue-italic.woff") format("woff");font-weight:100 400;font-style:italic;font-display:swap}
@font-face{font-family:"RM Neue";src:url("/aula/fonts/rmneue-semibold.woff") format("woff");font-weight:500 900;font-style:normal;font-display:swap}
@font-face{font-family:"RM Neue";src:url("/aula/fonts/rmneue-semibolditalic.woff") format("woff");font-weight:500 900;font-style:italic;font-display:swap}
@font-face{font-family:"Orbikular";src:url("/aula/fonts/orbikular-semibold.woff") format("woff");font-weight:400 900;font-style:normal;font-display:swap}

:root,
:root[data-theme],
[data-theme]{
  --dp-black:#000000;
  --dp-dust:#fbf7ea;
  --dp-green:#cff200;
  --dp-blue:#0000fe;
  --dp-brown:#9b694d;
  --dp-ease:cubic-bezier(.2,0,0,1);
  /* Nero su dust al 4, 8, 12, 24, 40, 60, 72, 84, 92% */
  --dp-b04:#f1ede1; --dp-b08:#e7e3d7; --dp-b12:#ddd9ce; --dp-b24:#bfbcb2; --dp-b40:#97948c;
  --dp-b60:#64635e; --dp-b72:#464542; --dp-b84:#282825; --dp-b92:#141413;
  /* Brown su dust al 12 e 24% */
  --dp-r12:#f0e6d7; --dp-r24:#e4d5c4;

  /* Font */
  --font-sans:"RM Neue",ui-sans-serif,system-ui,sans-serif !important;
  --font-display:"RM Neue",ui-sans-serif,system-ui,sans-serif !important;
  --font-serif:"Orbikular",Georgia,serif !important;

  /* Raggi: zero, tranne le pill (rounded-full resta) */
  --radius-xs:0 !important; --radius-sm:0 !important; --radius-md:0 !important; --radius-lg:0 !important;
  --radius-xl:0 !important; --radius-2xl:0 !important; --radius-3xl:0 !important; --radius-4xl:0 !important;
  --radius-box:0 !important; --radius-field:0 !important;
  --radius-selector:999px !important;

  /* Ombre: nessuna */
  --shadow-2xs:none !important; --shadow-xs:none !important; --shadow-sm:none !important; --shadow-md:none !important;
  --shadow-lg:none !important; --shadow-xl:none !important; --shadow-2xl:none !important; --shadow-inner:none !important;
  --shadow-base:none !important;
  --depth:0 !important; --noise:0 !important;

  /* Bianco = dust: niente bianco puro */
  --color-white:#fbf7ea !important;
  --color-black:#000000 !important;

  /* Grigi di ogni famiglia: rampa da dust a nero */
  --color-gray-50:#f1ede1 !important; --color-gray-100:#e7e3d7 !important; --color-gray-200:#ddd9ce !important;
  --color-gray-300:#bfbcb2 !important; --color-gray-400:#97948c !important; --color-gray-500:#64635e !important;
  --color-gray-600:#464542 !important; --color-gray-700:#282825 !important; --color-gray-800:#141413 !important;
  --color-gray-900:#000000 !important; --color-gray-950:#000000 !important;
  --color-slate-50:#f1ede1 !important; --color-slate-100:#e7e3d7 !important; --color-slate-200:#ddd9ce !important;
  --color-slate-300:#bfbcb2 !important; --color-slate-400:#97948c !important; --color-slate-500:#64635e !important;
  --color-slate-600:#464542 !important; --color-slate-700:#282825 !important; --color-slate-800:#141413 !important;
  --color-slate-900:#000000 !important; --color-slate-950:#000000 !important;
  --color-zinc-50:#f1ede1 !important; --color-zinc-100:#e7e3d7 !important; --color-zinc-200:#ddd9ce !important;
  --color-zinc-300:#bfbcb2 !important; --color-zinc-400:#97948c !important; --color-zinc-500:#64635e !important;
  --color-zinc-600:#464542 !important; --color-zinc-700:#282825 !important; --color-zinc-800:#141413 !important;
  --color-zinc-900:#000000 !important; --color-zinc-950:#000000 !important;
  --color-neutral-50:#f1ede1 !important; --color-neutral-100:#e7e3d7 !important; --color-neutral-200:#ddd9ce !important;
  --color-neutral-300:#bfbcb2 !important; --color-neutral-400:#97948c !important; --color-neutral-500:#64635e !important;
  --color-neutral-600:#464542 !important; --color-neutral-700:#282825 !important; --color-neutral-800:#141413 !important;
  --color-neutral-900:#000000 !important; --color-neutral-950:#000000 !important;
  --color-stone-50:#f1ede1 !important; --color-stone-100:#e7e3d7 !important; --color-stone-200:#ddd9ce !important;
  --color-stone-300:#bfbcb2 !important; --color-stone-400:#97948c !important; --color-stone-500:#64635e !important;
  --color-stone-600:#464542 !important; --color-stone-700:#282825 !important; --color-stone-800:#141413 !important;
  --color-stone-900:#000000 !important; --color-stone-950:#000000 !important;

  /* Viola di Claper (primary, secondary, purple, violet, indigo, fuchsia, pink): nero.
   * Le tinte chiare, usate per gli stati selezionati, diventano nero in trasparenza su dust. */
  --color-primary-50:#e7e3d7 !important; --color-primary-100:#ddd9ce !important; --color-primary-200:#bfbcb2 !important;
  --color-primary-300:#97948c !important; --color-primary-400:#64635e !important; --color-primary-500:#000000 !important;
  --color-primary-600:#000000 !important; --color-primary-700:#000000 !important; --color-primary-800:#000000 !important;
  --color-primary-900:#000000 !important;
  --color-secondary-50:#e7e3d7 !important; --color-secondary-100:#ddd9ce !important; --color-secondary-200:#bfbcb2 !important;
  --color-secondary-300:#97948c !important; --color-secondary-400:#64635e !important; --color-secondary-500:#000000 !important;
  --color-secondary-600:#000000 !important; --color-secondary-700:#000000 !important; --color-secondary-800:#000000 !important;
  --color-secondary-900:#000000 !important;
  --color-purple-50:#e7e3d7 !important; --color-purple-100:#ddd9ce !important; --color-purple-200:#bfbcb2 !important;
  --color-purple-300:#97948c !important; --color-purple-400:#64635e !important; --color-purple-500:#000000 !important;
  --color-purple-600:#000000 !important; --color-purple-700:#000000 !important; --color-purple-800:#000000 !important;
  --color-purple-900:#000000 !important; --color-purple-950:#000000 !important;
  --color-violet-50:#e7e3d7 !important; --color-violet-100:#ddd9ce !important; --color-violet-200:#bfbcb2 !important;
  --color-violet-300:#97948c !important; --color-violet-400:#64635e !important; --color-violet-500:#000000 !important;
  --color-violet-600:#000000 !important; --color-violet-700:#000000 !important; --color-violet-800:#000000 !important;
  --color-violet-900:#000000 !important; --color-violet-950:#000000 !important;
  --color-indigo-50:#e7e3d7 !important; --color-indigo-100:#ddd9ce !important; --color-indigo-200:#bfbcb2 !important;
  --color-indigo-300:#97948c !important; --color-indigo-400:#64635e !important; --color-indigo-500:#000000 !important;
  --color-indigo-600:#000000 !important; --color-indigo-700:#000000 !important; --color-indigo-800:#000000 !important;
  --color-indigo-900:#000000 !important; --color-indigo-950:#000000 !important;
  --color-fuchsia-50:#e7e3d7 !important; --color-fuchsia-100:#ddd9ce !important; --color-fuchsia-200:#bfbcb2 !important;
  --color-fuchsia-300:#97948c !important; --color-fuchsia-400:#64635e !important; --color-fuchsia-500:#000000 !important;
  --color-fuchsia-600:#000000 !important; --color-fuchsia-700:#000000 !important; --color-fuchsia-800:#000000 !important;
  --color-fuchsia-900:#000000 !important; --color-fuchsia-950:#000000 !important;
  --color-pink-50:#e7e3d7 !important; --color-pink-100:#ddd9ce !important; --color-pink-200:#bfbcb2 !important;
  --color-pink-300:#97948c !important; --color-pink-400:#64635e !important; --color-pink-500:#000000 !important;
  --color-pink-600:#000000 !important; --color-pink-700:#000000 !important; --color-pink-800:#000000 !important;
  --color-pink-900:#000000 !important; --color-pink-950:#000000 !important;

  /* Blu, celeste, ciano, verde acqua: Blue. Le tinte chiare restano nero in trasparenza */
  --color-blue-50:#f1ede1 !important; --color-blue-100:#e7e3d7 !important; --color-blue-200:#ddd9ce !important;
  --color-blue-300:#0000fe !important; --color-blue-400:#0000fe !important; --color-blue-500:#0000fe !important;
  --color-blue-600:#0000fe !important; --color-blue-700:#0000fe !important; --color-blue-800:#0000fe !important;
  --color-blue-900:#0000fe !important; --color-blue-950:#0000fe !important;
  --color-sky-50:#f1ede1 !important; --color-sky-100:#e7e3d7 !important; --color-sky-200:#ddd9ce !important;
  --color-sky-300:#0000fe !important; --color-sky-400:#0000fe !important; --color-sky-500:#0000fe !important;
  --color-sky-600:#0000fe !important; --color-sky-700:#0000fe !important; --color-sky-800:#0000fe !important;
  --color-sky-900:#0000fe !important; --color-sky-950:#0000fe !important;
  --color-cyan-50:#f1ede1 !important; --color-cyan-100:#e7e3d7 !important; --color-cyan-200:#ddd9ce !important;
  --color-cyan-300:#0000fe !important; --color-cyan-400:#0000fe !important; --color-cyan-500:#0000fe !important;
  --color-cyan-600:#0000fe !important; --color-cyan-700:#0000fe !important; --color-cyan-800:#0000fe !important;
  --color-cyan-900:#0000fe !important; --color-cyan-950:#0000fe !important;
  --color-teal-50:#f1ede1 !important; --color-teal-100:#e7e3d7 !important; --color-teal-200:#ddd9ce !important;
  --color-teal-300:#0000fe !important; --color-teal-400:#0000fe !important; --color-teal-500:#0000fe !important;
  --color-teal-600:#0000fe !important; --color-teal-700:#0000fe !important; --color-teal-800:#0000fe !important;
  --color-teal-900:#0000fe !important; --color-teal-950:#0000fe !important;

  /* Conferme: green come fondo, nero come testo (green non va mai come testo su dust) */
  --color-green-50:#cff200 !important; --color-green-100:#cff200 !important; --color-green-200:#cff200 !important;
  --color-green-300:#cff200 !important; --color-green-400:#cff200 !important; --color-green-500:#000000 !important;
  --color-green-600:#000000 !important; --color-green-700:#000000 !important; --color-green-800:#000000 !important;
  --color-green-900:#000000 !important; --color-green-950:#000000 !important;
  --color-emerald-50:#cff200 !important; --color-emerald-100:#cff200 !important; --color-emerald-200:#cff200 !important;
  --color-emerald-300:#cff200 !important; --color-emerald-400:#cff200 !important; --color-emerald-500:#000000 !important;
  --color-emerald-600:#000000 !important; --color-emerald-700:#000000 !important; --color-emerald-800:#000000 !important;
  --color-emerald-900:#000000 !important; --color-emerald-950:#000000 !important;
  --color-lime-50:#cff200 !important; --color-lime-100:#cff200 !important; --color-lime-200:#cff200 !important;
  --color-lime-300:#cff200 !important; --color-lime-400:#cff200 !important; --color-lime-500:#000000 !important;
  --color-lime-600:#000000 !important; --color-lime-700:#000000 !important; --color-lime-800:#000000 !important;
  --color-lime-900:#000000 !important; --color-lime-950:#000000 !important;
  --color-supporting-green-50:#cff200 !important; --color-supporting-green-100:#cff200 !important;
  --color-supporting-green-500:#000000 !important; --color-supporting-green-600:#000000 !important;
  --color-supporting-green-700:#000000 !important; --color-supporting-green-900:#000000 !important;

  /* Errori e avvisi: brown. Le tinte chiare sono brown al 12 e 24% su dust */
  --color-red-50:#f0e6d7 !important; --color-red-100:#f0e6d7 !important; --color-red-200:#e4d5c4 !important;
  --color-red-300:#9b694d !important; --color-red-400:#9b694d !important; --color-red-500:#9b694d !important;
  --color-red-600:#9b694d !important; --color-red-700:#9b694d !important; --color-red-800:#9b694d !important;
  --color-red-900:#9b694d !important; --color-red-950:#9b694d !important;
  --color-rose-50:#f0e6d7 !important; --color-rose-100:#f0e6d7 !important; --color-rose-200:#e4d5c4 !important;
  --color-rose-300:#9b694d !important; --color-rose-400:#9b694d !important; --color-rose-500:#9b694d !important;
  --color-rose-600:#9b694d !important; --color-rose-700:#9b694d !important; --color-rose-800:#9b694d !important;
  --color-rose-900:#9b694d !important; --color-rose-950:#9b694d !important;
  --color-orange-50:#f0e6d7 !important; --color-orange-100:#f0e6d7 !important; --color-orange-200:#e4d5c4 !important;
  --color-orange-300:#9b694d !important; --color-orange-400:#9b694d !important; --color-orange-500:#9b694d !important;
  --color-orange-600:#9b694d !important; --color-orange-700:#9b694d !important; --color-orange-800:#9b694d !important;
  --color-orange-900:#9b694d !important; --color-orange-950:#9b694d !important;
  --color-amber-50:#f0e6d7 !important; --color-amber-100:#f0e6d7 !important; --color-amber-200:#e4d5c4 !important;
  --color-amber-300:#9b694d !important; --color-amber-400:#9b694d !important; --color-amber-500:#9b694d !important;
  --color-amber-600:#9b694d !important; --color-amber-700:#9b694d !important; --color-amber-800:#9b694d !important;
  --color-amber-900:#9b694d !important; --color-amber-950:#9b694d !important;
  --color-yellow-50:#f0e6d7 !important; --color-yellow-100:#f0e6d7 !important; --color-yellow-200:#e4d5c4 !important;
  --color-yellow-300:#9b694d !important; --color-yellow-400:#9b694d !important; --color-yellow-500:#9b694d !important;
  --color-yellow-600:#9b694d !important; --color-yellow-700:#9b694d !important; --color-yellow-800:#9b694d !important;
  --color-yellow-900:#9b694d !important; --color-yellow-950:#9b694d !important;
  --color-supporting-red-50:#f0e6d7 !important; --color-supporting-red-100:#f0e6d7 !important;
  --color-supporting-red-500:#9b694d !important; --color-supporting-red-600:#9b694d !important;
  --color-supporting-red-700:#9b694d !important; --color-supporting-red-900:#9b694d !important;
  --color-supporting-yellow-50:#f0e6d7 !important; --color-supporting-yellow-100:#f0e6d7 !important;
  --color-supporting-yellow-500:#9b694d !important; --color-supporting-yellow-600:#9b694d !important;
  --color-supporting-yellow-700:#9b694d !important; --color-supporting-yellow-900:#9b694d !important;

  /* Token semantici di DaisyUI */
  --color-base-100:#fbf7ea !important; --color-base-200:#f1ede1 !important; --color-base-300:#ddd9ce !important;
  --color-base-content:#000000 !important;
  --color-primary:#000000 !important; --color-primary-content:#fbf7ea !important;
  --color-secondary:#000000 !important; --color-secondary-content:#fbf7ea !important;
  --color-accent:#0000fe !important; --color-accent-content:#fbf7ea !important;
  --color-neutral:#000000 !important; --color-neutral-content:#fbf7ea !important;
  --color-info:#0000fe !important; --color-info-content:#fbf7ea !important;
  --color-success:#cff200 !important; --color-success-content:#000000 !important;
  --color-warning:#9b694d !important; --color-warning-content:#fbf7ea !important;
  --color-error:#9b694d !important; --color-error-content:#fbf7ea !important;
}

/* ---------- Base ---------- */
html, body{ font-family:"RM Neue",ui-sans-serif,system-ui,sans-serif; background-color:#fbf7ea; }
*, *::before, *::after{ letter-spacing:0 !important; }
/* Ombre: nessuna, tranne il modale. Il focus si disegna con outline (anello blu staccato di 2px) */
*, *::before, *::after{ box-shadow:none !important; text-shadow:none !important; }
.modal-box, [role="dialog"] > div:not([class*="backdrop"]){ box-shadow:0 24px 64px rgba(0,0,0,.18) !important; }
:focus-visible{ outline:2px solid #0000fe !important; outline-offset:2px !important; }
/* Sfumature: nessuna. Il testo a gradiente torna inchiostro pieno */
[class*="bg-gradient-"], [class*="bg-linear-"], [class*="bg-radial"], [class*="bg-conic"], .btn-gradient{ background-image:none !important; }
.bg-clip-text, [class*="bg-clip-text"]{ -webkit-text-fill-color:currentColor !important; color:inherit !important; }
[class*="blur-3xl"], [class*="blur-2xl"]{ display:none !important; }
::selection{ background:#cff200; color:#000000; }
a{ transition:color 140ms cubic-bezier(.2,0,0,1); }

/* ---------- Bottoni: pill. Primario nero → blu; CTA principale green con testo nero ---------- */
.btn{ font-family:"RM Neue",sans-serif !important; font-weight:600 !important; border-radius:999px !important;
  transition:background-color 140ms cubic-bezier(.2,0,0,1), color 140ms cubic-bezier(.2,0,0,1), border-color 140ms cubic-bezier(.2,0,0,1) !important; }
.btn:active:not(:disabled){ transform:scale(.985); }
.btn-primary{ background-color:#000000 !important; border-color:#000000 !important; color:#fbf7ea !important; }
.btn-primary:hover{ background-color:#0000fe !important; border-color:#0000fe !important; }
.btn-gradient{ background-color:#cff200 !important; border:1px solid #cff200 !important; color:#000000 !important; }
.btn-gradient:hover{ background-color:#000000 !important; border-color:#000000 !important; color:#cff200 !important; }
.btn-gradient *{ color:inherit !important; }
.btn:disabled, .btn[disabled], .btn-disabled{ opacity:.32 !important; cursor:not-allowed !important; }

/* Accesso: il pannello è nero, quindi il pulsante è la CTA green della vista */
form[action="/users/log_in"] .btn-primary, form[action^="/users/reset_password"] .btn-primary{
  background-color:#cff200 !important; border-color:#cff200 !important; color:#000000 !important; }
form[action="/users/log_in"] .btn-primary:hover, form[action^="/users/reset_password"] .btn-primary:hover{
  background-color:#fbf7ea !important; border-color:#fbf7ea !important; color:#000000 !important; }
/* Senza email il recupero della password non arriva: le password le reimposta l'amministratore */
a[href="/users/reset_password"]{ display:none !important; }

/* ---------- Campi: angoli vivi, filetto nero al 24%, focus blu ---------- */
.input, .select, .textarea, .file-input,
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="search"],
input[type="datetime-local"], input[type="date"], input[type="url"], textarea, select{ border-radius:0 !important; }

/* ---------- Link d'interfaccia: nero, al passaggio blu ---------- */
a.text-primary-500:hover, a.text-primary-600:hover, .link:hover{ color:#0000fe !important; }

/* ---------- Green solo come fondo: il testo «verde» di Claper torna nero ---------- */
.text-success, .text-green-50, .text-green-100, .text-green-200, .text-green-300, .text-green-400,
.text-emerald-300, .text-emerald-400, .text-lime-300, .text-lime-400{ color:#000000 !important; }

/* ---------- Badge «Dal vivo»: brown con testo dust ---------- */
.bg-red-500, .bg-red-600, .bg-supporting-red-500{ color:#fbf7ea; }

/* ---------- Maiuscole: solo a inizio frase (Claper mette in title case alcuni titoli) ---------- */
.capitalize{ text-transform:none !important; }

/* ---------- Home «Partecipa all'evento»: nero pieno al posto della sfumatura viola ---------- */
body:has(.join-code-input){ background:#000000 !important; }
body:has(.join-code-input) .text-cyan-400, body:has(.join-code-input) .text-cyan-300{ color:#fbf7ea !important; text-decoration:underline; }
.join-code-input{ border-bottom-color:rgba(251,247,234,.24) !important; color:#fbf7ea !important; }
.join-code-input::placeholder{ color:rgba(251,247,234,.24) !important; }
.join-code-input:focus{ border-bottom-color:#fbf7ea !important; }

/* ---------- Partecipanti: barra «Chiedi, commenta…» piena, senza sfumatura ---------- */
.attendee-composer{ background:#141413 !important; border-color:rgba(251,247,234,.24) !important; }
.attendee-composer:focus-within{ border-color:#fbf7ea !important; }
.attendee-composer input, .attendee-composer textarea{ color:#fbf7ea !important; }
.attendee-composer input::placeholder, .attendee-composer textarea::placeholder{ color:rgba(251,247,234,.6) !important; }

/* ---------- Riferimenti a claper.co: via ---------- */
a[href*="claper.co"], a[href*="github.com/ClaperCo"]{ display:none !important; }

/* ---------- Pulsante «Componi le domande» (agente.js) ---------- */
.aula-agente-apri{ background:#000000 !important; border:1px solid #000000 !important; color:#fbf7ea !important; display:inline-flex; align-items:center; text-decoration:none; padding:0 20px; }
.aula-agente-apri:hover{ background:#0000fe !important; border-color:#0000fe !important; }
/* Testata della vista formatore: con «Componi le domande», «Mostra il QR» e «Mostra i risultati» la riga si allunga.
   Il logo centrale di Claper cadrebbe sopra i pulsanti a ogni larghezza fino a 2060px, quindi qui non c'è.
   Sotto 1440px il titolo dell'evento si accorcia, «Partecipa» resta icona e numero dei partecipanti,
   «Componi le domande» diventa «Componi» e i pulsanti stringono il margine. Da 1024px in giù Claper nasconde già i pulsanti. */
body:has(.aula-agente-apri) .absolute.left-1\/2:has(> img){ display:none !important; }
.aula-agente-apri .breve{ display:none; }
@media (max-width:1439px){
  body:has(.aula-agente-apri) h1.truncate{ max-width:160px !important; }
  body:has(.aula-agente-apri) a.btn-tertiary[href^="/e/"] > span:not(#attendees-count){ display:none !important; }
  .aula-agente-apri, .aula-regia{ padding:0 12px !important; }
  .aula-agente-apri .lungo{ display:none; }
  .aula-agente-apri .breve{ display:inline; }
}

/* ---------- Schermo della presentazione: QR per partecipare e logo, come in Mentimeter (schermo.js) ---------- */
/* La schermata a tutto schermo di Claper lascia il posto al riquadro a destra */
#presenter #joinScreen{ display:none !important; }
.aula-qr{ position:fixed; z-index:45; right:2.2vw; top:50%; transform:translateY(-50%); width:19vw; box-sizing:border-box;
  padding:2.4vw 2vw 1.6vw; background:#fbf7ea; color:#000000; border:1px solid #ddd9ce; text-align:center;
  font-family:"RM Neue",sans-serif; opacity:0; visibility:hidden;
  transition:opacity 200ms cubic-bezier(.2,0,0,1), visibility 0s linear 200ms; }
.aula-qr.aula-visibile{ opacity:1; visibility:visible; transition:opacity 200ms cubic-bezier(.2,0,0,1); }
.aula-qr-figura{ display:block; width:100%; height:auto; image-rendering:pixelated; }
.aula-qr-dove{ margin:1.4vw 0 0; font-size:1.5vw; line-height:1.2; font-weight:400; overflow-wrap:anywhere; }
.aula-qr-codice{ margin:.3vw 0 0; font-size:2.6vw; line-height:1.1; font-weight:600; letter-spacing:0; }
.aula-qr-chiudi{ position:absolute; top:.4vw; right:.4vw; width:1.9vw; height:1.9vw; min-width:24px; min-height:24px;
  display:flex; align-items:center; justify-content:center; border:0; border-radius:999px; background:transparent;
  color:#000000; font-size:1.3vw; line-height:1; cursor:pointer; transition:background-color 140ms cubic-bezier(.2,0,0,1); }
.aula-qr-chiudi:hover{ background:#e7e3d7; }
.aula-qr-chiudi:focus-visible{ outline:2px solid #0000fe; outline-offset:2px; }
.aula-logo-schermo{ position:fixed; z-index:45; top:3.6vh; right:2.2vw; height:3.4vh; min-height:16px; width:auto; pointer-events:none; }
/* Pulsanti «Mostra il QR» e «Mostra i risultati» nella vista del formatore */
.aula-regia{ background:transparent !important; border:1px solid rgba(0,0,0,.24) !important; color:#000000 !important; padding:0 20px; }
.aula-regia:hover:not(:disabled){ border-color:#000000 !important; }

/* ---------- Telefono: la domanda in corso ha lo spazio che le serve ---------- */
/* Claper la chiude in un riquadro alto il 40% dello schermo: con quattro opzioni «Vota» finisce sotto il bordo.
   Fino al 75% opzioni e pulsante stanno insieme; i messaggi sotto prendono lo spazio che resta. */
#focus-slot[data-interaction-mode="true"],
#focus-slot[data-interaction-mode="true"] > .max-h-\[40dvh\]{ max-height:75dvh !important; }

/* ---------- Pagina di accesso: link alla richiesta di accesso (aula.js) ---------- */
.aula-registrati{ margin-top:24px; font-size:14px; color:#fbf7ea; }
.aula-registrati a{ color:#fbf7ea; text-decoration:underline; }
.aula-registrati a:hover{ color:#cff200; }
/* ---------- I miei eventi: «Richieste di accesso» per gli amministratori (agente.js) ---------- */
.aula-richieste{ background:transparent !important; border:1px solid rgba(0,0,0,.24) !important; color:#000000 !important; display:inline-flex; align-items:center; gap:8px; padding:0 16px; text-decoration:none; }
.aula-richieste:hover{ border-color:#000000 !important; }
.aula-richieste .numero{ display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:#000000; color:#fbf7ea; font-size:12px; }

/* ---------- Regia: messaggi del pubblico, senza viola, giallo, bianco puro e ombre ---------- */
/* Claper colora la nuvoletta con uno stile in linea: sfumatura viola per le domande (testo con «?»), gialla per i
   messaggi appuntati, le due insieme per le domande appuntate, bianco per gli altri; sotto c'è un'ombra.
   In Aula: nuvoletta dust; la domanda si riconosce dal «?» in nero al 40%; l'appuntato ha il fondo green,
   come un evidenziatore, con la puntina nera. Gli avatar hanno un solo tono neutro invece di un colore per persona. */
div.flex.items-end.drop-shadow-sm{ filter:none !important; }
div.flex.items-end.drop-shadow-sm > div[style^="background"]{ background:#fbf7ea !important; }
div.flex.items-end.drop-shadow-sm > svg path[fill="white"]{ fill:#fbf7ea; }
div.flex.items-end.drop-shadow-sm > div[style*="rgba(134,17,237"] .text-white{ color:rgba(0,0,0,.4) !important; }
div.flex.items-end.drop-shadow-sm > div[style*="rgba(251,191,36"]{ background:#cff200 !important; }
div.flex.items-end.drop-shadow-sm > div[style*="rgba(251,191,36"] svg path{ stroke:#000000 !important; }
div.flex.items-end.drop-shadow-sm:has(> div[style*="rgba(251,191,36"]) > svg path{ fill:#cff200 !important; }
.avatar-placeholder > div[style^="background-color: hsl"]{ background-color:#ddd9ce !important; color:#000000 !important; }

/* ---------- Colori scritti come valore fisso nelle classi di Claper (text-[#…], bg-[#…]): le variabili del tema
   non li raggiungono, quindi si riportano qui uno per uno sulla palette ---------- */
.text-\[\#140553\]{ color:#000000 !important; }                         /* blu-viola quasi nero dei titoli */
.border-\[\#140553\]{ border-color:#000000 !important; }
.bg-\[\#f3defa\]{ background-color:#e7e3d7 !important; }                /* lilla delle impostazioni accese */
.bg-\[\#fbf0df\]{ background-color:#fbf7ea !important; }                /* crema: dust */
.border-\[\#fbf0df\]{ border-color:#fbf7ea !important; }
.text-\[\#fbf0df\]{ color:#fbf7ea !important; }
.placeholder-\[\#fbf0df\]\/40::placeholder{ color:rgba(251,247,234,.4) !important; }
.hover\:bg-\[\#f3d5a3\]:hover{ background-color:#ddd9ce !important; }  /* pesca al passaggio del mouse */
.focus\:border-\[\#f3d5a3\]:focus, .focus-within\:border-\[\#f3d5a3\]:focus-within{ border-color:#0000fe !important; }
.bg-\[\#1a1a1a\]{ background-color:#141413 !important; }
.text-\[\#1a1a1a\]{ color:#141413 !important; }
.bg-\[\#242424\]{ background-color:#282825 !important; }

/* ---------- Toni «supporting» che Claper usa e il tema sopra non copriva ---------- */
/* Telefono: messaggi del formatore su brown al 24%, etichetta «appuntato» green con testo nero, come in regia */
:root, :root[data-theme], [data-theme]{
  --color-supporting-yellow-200:#e4d5c4 !important; --color-supporting-yellow-300:#e4d5c4 !important;
  --color-supporting-yellow-400:#cff200 !important;
  --color-supporting-green-200:#cff200 !important; --color-supporting-green-400:#cff200 !important;
  --color-supporting-red-200:#e4d5c4 !important; --color-supporting-red-400:#9b694d !important;
}
.bg-supporting-yellow-400.text-supporting-yellow-900{ color:#000000 !important; }
