@font-face{font-family:Unb;src:url(/corsi/fonts/unbounded-900.woff2);font-weight:900;font-display:swap}
@font-face{font-family:Bric;src:url(/corsi/fonts/bricolage-800c.woff2);font-weight:800;font-display:swap}
@font-face{font-family:Hanken;src:url(/corsi/fonts/hanken.woff2);font-weight:100 900;font-display:swap}
:root{--carta:#f5f2e7;--blu:#2230ff;--verde:#c6ff00;--bordo:#0e0e10;--rosso:#b0001e;--ink:#0e0e10;--ok:#1a8a3a}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--carta);color:var(--ink);font:17px/1.6 Hanken,system-ui,sans-serif}header,footer{display:flex;justify-content:space-between;align-items:center;gap:6px 18px;flex-wrap:wrap;padding:6px max(18px,calc((100% - 1200px)/2));border-bottom:2px solid var(--bordo)}header{font-weight:800}footer{border-top:2px solid var(--bordo);font-size:14px}a{color:var(--blu);text-underline-offset:4px;overflow-wrap:anywhere}main{max-width:1240px;margin:auto;padding:16px 18px 60px}h1{font:900 clamp(24px,4vw,54px)/1.2 Unb,sans-serif;color:var(--blu);letter-spacing:-.04em;margin:6px 0 12px;overflow-wrap:anywhere}h1 span{background:var(--verde);color:var(--ink);padding:0 5px}h2,h3{font-family:Bric,sans-serif;font-weight:800;line-height:1.2}h2{font-size:clamp(25px,3vw,34px)}h3{font-size:21px}.etichetta{letter-spacing:.14em;font-size:12px;font-weight:800;margin:0}.intro{font-size:21px;max-width:760px}.pannello,fieldset,details{background:#fff;border:2px solid var(--bordo);padding:20px;margin:24px 0}.pannello>:first-child{margin-top:0}.barra{display:grid;gap:8px;background:var(--blu);color:white;padding:12px 16px;border:2px solid var(--bordo)}.barra p{margin:0}progress{width:100%;height:14px;accent-color:var(--verde)}label{display:block;margin:15px 0 6px;font-weight:600}input,textarea,select,button{font:inherit;max-width:100%}input:not([type=radio]):not([type=checkbox]),textarea,select{width:100%;padding:11px;border:2px solid var(--ink);background:white;color:var(--ink);min-width:0;min-height:48px}textarea{resize:vertical;min-height:110px}button,.pulsante{background:var(--verde);border:2px solid var(--ink);color:var(--ink);padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-block;margin:8px 8px 8px 0;min-height:48px;font-weight:800;box-shadow:3px 3px 0 var(--ink);transition:transform .12s}button:hover,.pulsante:hover{transform:translateY(-2px)}button:active{transform:translateY(1px)}button:disabled{opacity:.65;cursor:default}.secondario{background:white}:focus-visible{outline:3px solid var(--blu);outline-offset:4px}.avviso{background:var(--verde);padding:14px}.errore{color:var(--rosso)}.testo p{white-space:pre-line}.video-vuoto{background:var(--blu);color:white;text-align:center;padding:32px 18px;margin:20px 0;min-height:200px;display:grid;align-content:center}.video-vuoto strong{font:800 25px/1.2 Bric,sans-serif}video{width:100%;aspect-ratio:16/9;background:var(--ink)}figure{margin:22px 0}figure svg{display:block;width:100%;height:auto;max-height:600px}figcaption,.piccolo{font-size:14px}fieldset{min-width:0}legend{font-weight:800;padding:0 6px}.check{display:flex;align-items:flex-start;gap:12px;min-height:44px}.check input{flex:none;width:26px;height:26px}.azioni{display:flex;gap:12px;flex-wrap:wrap}.azioni button,.azioni .pulsante{flex:1;min-width:130px;margin:8px 0;text-align:center}.commento{border-top:2px solid var(--ink);padding:18px 0}.commento time{font-size:13px}.risposta{border-left:5px solid var(--blu);padding-left:16px}.badge{display:block;width:140px;height:140px;object-fit:contain}.admin-id{overflow-wrap:anywhere}.contenuto-aula{min-width:0}summary{cursor:pointer;min-height:44px;font-weight:800;display:flex;align-items:center}.risultati-grid{display:grid;gap:18px}.risultati-grid .pannello{margin:0}.cast-aula{width:130px;height:130px;object-fit:contain;float:right}.stampabile{max-width:1000px}
header a,footer a{min-height:44px;display:inline-flex;align-items:center}h2,h3,.video-vuoto strong,.attestato-nome{font-stretch:80%}.contenuto-aula>.testo{overflow-wrap:anywhere}noscript article{overflow-wrap:anywhere}

/* aula: un solo "Continua", la mappa dei moduli in fondo (a destra su desktop) */
.continua{margin:12px 0 0}.continua button{width:100%;min-height:56px;font-size:1.05rem;line-height:1.3;text-align:center;margin:0;box-shadow:5px 5px 0 var(--ink)}
.primario{min-height:56px;font-size:1.05rem;box-shadow:5px 5px 0 var(--ink)}
.aula-layout{display:grid;gap:24px}
#mappa{min-width:0}#mappa h2{font-size:24px;margin:8px 0 12px}#moduli{display:grid;gap:14px}
.modulo-nav{position:relative;background:#fff;border:2px solid var(--ink);padding:12px 12px 12px 58px;box-shadow:3px 3px 0 var(--ink)}
.modulo-nav h3{margin:0 0 4px;font-size:19px}.modulo-nav p{margin:4px 0;font-size:14px}
.modulo-nav .num{position:absolute;left:10px;top:12px;width:36px;height:36px;display:grid;place-items:center;background:var(--blu);color:#fff;font:900 16px Unb,sans-serif}
.modulo-nav.fatto .num{background:var(--verde);color:var(--ink);border:2px solid var(--ink)}
.chip{display:inline-block;font-size:12px!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--ink);padding:1px 8px;background:#fff}
.modulo-nav.corso .chip{background:#ff5ca8;color:#fff}.modulo-nav.fatto .chip{background:var(--verde)}.modulo-nav.quiz .chip{background:#ffe4ef}
.modulo-nav details{border:0;padding:0;margin:6px 0 0;background:none}
.modulo-nav button{display:block;width:100%;text-align:left;margin:8px 0 0;background:white;font-size:14px;box-shadow:none;min-height:44px}
.modulo-nav button[aria-current=step]{background:var(--verde);border-left:6px solid var(--blu)}
#link-box{margin:28px 0 0}#link-box summary{min-height:44px}

/* quiz */
.quiz-box{min-width:0}
.quiz-testa{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:36px}
.serie{margin:0;background:var(--verde);border:2px solid var(--ink);padding:1px 12px;font-weight:800;box-shadow:2px 2px 0 var(--ink)}
.passi{display:flex;gap:6px;margin:8px 0 16px}
.passi i{flex:1;height:12px;background:#dad7ca;border:2px solid var(--ink);position:relative;overflow:hidden;display:block}
.passi i b{position:absolute;inset:0;transform:scaleX(0);transform-origin:left center}
.passi i.giusta b{transform:scaleX(1);background:var(--ok)}.passi i.sbagliata b{transform:scaleX(1);background:#ff5ca8}
.passi i.corrente{background:#fff;box-shadow:0 0 0 2px var(--blu)}
.domanda{font-size:clamp(20px,3.2vw,26px);margin:6px 0 10px}
.opzioni{display:grid}
button.opzione{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;margin:6px 0;padding:10px 12px;min-height:56px;font-weight:600;box-shadow:3px 3px 0 var(--ink)}
.lettera{flex:none;width:32px;height:32px;display:grid;place-items:center;border:2px solid var(--ink);background:var(--carta);font:900 14px Unb,sans-serif}
.opz-testo{flex:1;min-width:0;overflow-wrap:anywhere}
.segno{flex:none;width:28px;height:28px}.spunta{width:28px;height:28px;display:block}
button.opzione.scelta{border-color:var(--blu);background:#eef0ff}
button.opzione.giusta{border-color:var(--ok);background:#e8f7ec;color:#0d4d20}
button.opzione.sbagliata{border-color:var(--rosso);background:#ffe4ef;color:#7c0028}
.opzioni.chiuso button.opzione{cursor:default}.opzioni.chiuso button.opzione:hover{transform:none}
.correzione:empty{display:none}.correzione{padding:14px;margin:12px 0;border:2px solid var(--ink);line-height:1.5}.correzione p{margin:6px 0 0}
.correzione.giusto{background:#e8f7ec;border-color:var(--ok)}.correzione.sbagliato{background:#ffe4ef;border-color:var(--rosso);color:#7c0028}
details.perche{background:none;border:0;padding:0;margin:8px 0 0}details.perche summary{font-size:15px}
.quiz-box>.primario{margin-top:4px}
.coriandoli{position:fixed;left:0;top:0;pointer-events:none;z-index:100}

/* fine quiz, fine modulo, risultati */
.anello{position:relative;width:170px;height:170px;margin:8px auto}.anello svg{display:block;width:100%;height:100%}
.anello-num{position:absolute;inset:0;display:grid;place-items:center;font:900 34px Unb,sans-serif;letter-spacing:-.04em}
.esito{font-weight:800;text-align:center;font-size:1.15rem}
.tessere{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.tessere div{border:2px solid var(--ink);padding:10px;background:var(--carta)}.tessere dt{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tessere dd{margin:2px 0 0;font:800 24px/1.2 Bric,sans-serif}
.revisione{border-top:2px solid var(--ink);padding:14px 0}.revisione h3{margin:0 0 8px}.revisione p{margin:6px 0}.tua{color:#7c0028;font-weight:700}.giusta-r{color:#0d4d20;font-weight:700}
.scheda-modulo{text-align:center;border-width:3px;box-shadow:6px 6px 0 var(--blu)}.scheda-modulo .tessere{text-align:left}
.cintura{display:block;width:min(240px,70%);height:auto;margin:10px auto}.cintura .nastro{transform-box:fill-box;transform-origin:left center}.cintura .nodo{transform-box:fill-box;transform-origin:center}.cintura.spenta{opacity:.5}
.mod-riga{position:relative;background:#fff;border:2px solid var(--ink);padding:14px 14px 14px 62px;box-shadow:3px 3px 0 var(--ink);min-width:0}
.mod-riga .num{position:absolute;left:12px;top:14px;width:38px;height:38px;display:grid;place-items:center;background:var(--blu);color:#fff;font:900 16px Unb,sans-serif}
.mod-riga.fatto .num{background:var(--verde);color:var(--ink);border:2px solid var(--ink)}
.mod-riga h2{font-size:21px;margin:2px 0 6px}.mod-riga p{margin:4px 0;font-size:15px}.mod-riga .cintura{width:120px;margin:6px 0 0}
.barra-mod{height:12px;border:2px solid var(--ink);background:#dad7ca;overflow:hidden;margin:8px 0}.barra-mod b{display:block;height:100%;background:var(--blu);transform-origin:left center}.mod-riga.fatto .barra-mod b{background:var(--ok)}
.totale-prog{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.totale-prog .tessere{flex:1;min-width:230px;margin:0}
.condividi canvas{display:block;width:min(100%,360px);height:auto;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--blu);margin:14px 0;background:var(--carta)}
.condividi textarea{min-height:150px}

/* attestato */
.attestato{border:4px solid var(--ink);box-shadow:8px 8px 0 var(--blu);background:#fff;padding:24px;margin:24px 0;text-align:center;overflow-wrap:anywhere}.attestato .badge,.attestato .badge-svg{margin:10px auto}.attestato .badge-svg{display:block;width:240px;height:240px}.attestato .badge{width:240px;height:240px}
.attestato-nome{font:800 clamp(30px,6vw,56px)/1.15 Bric,sans-serif;margin:6px 0}.attestato-id{font-size:12px}
.azioni-attestato{display:grid;gap:10px;max-width:420px;margin:0 auto}.azioni-attestato .primario,.azioni-attestato .secondario{width:100%;text-align:center;margin:0}

@media(min-width:600px){.tessere{grid-template-columns:repeat(4,minmax(0,1fr))}.scheda-modulo .tessere{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:960px){.aula-layout{grid-template-columns:285px minmax(0,1fr);align-items:start}#mappa{order:-1;position:sticky;top:12px}#moduli{max-height:78vh;overflow-y:auto;padding:4px}.risultati-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.continua button{width:auto;min-width:420px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@page{size:A4 landscape;margin:12mm}@media print{header,footer,.no-print,button,.pulsante,#stato{display:none!important}body{background:white;color:black;font-size:12pt}main{padding:0;max-width:none}.attestato{box-shadow:none;border:3px solid black;min-height:165mm;margin:0;break-inside:avoid}.attestato .badge,.attestato .badge-svg{width:35mm;height:35mm}a{color:black;text-decoration:none}}
@media print{.attestato{padding:8mm;min-height:165mm}.attestato p{margin:2mm 0}.attestato h2{font-size:22pt;margin:3mm 0}.attestato .badge,.attestato .badge-svg{width:28mm;height:28mm;margin:2mm auto}.attestato-nome{font-size:28pt}.attestato-id{font-size:8pt}}

.opzione{position:relative}.lampo{position:absolute;inset:-4px;border:5px solid var(--verde);pointer-events:none}
