/* MyBluSea — foglio di stile del progetto (un solo foglio sopra quelli comuni: pj-base.css e la famiglia
   pj_base/famiglia/myblusea.css, che si cambiano in pj-base). Unisce i fogli di biblioteca-mare, allenamenti,
   mylogbook e touroperator (2026-10-20), senza ciò che era già nella famiglia o in pj-base.
   Colori solo dalle variabili dei temi (i blocchi qui sotto sono l'unico posto con colori scritti), niente opacity;
   caratteri e spazi in rem. Contrasti: li controlla sito/tests/test_stile.py. */

/* Chiaro: carta = fondo dei loghi; corsia, preparazione e fune = barra del tempo del creatore; barra = colonne del grafico dei viaggi */
:root{
  --carta:#ffffff; --corsia:#1d5c8a; --corsia-chiara:#a9cbe4; --preparazione:#6b7a88; --fune:#c0392b; --carta-testo:#3b4650; --barra:#6f8fbe;
}
/* Penombra */
:root[data-theme="medio"]{
  --corsia:#13305c; --corsia-chiara:#8fb0d0; --preparazione:#3d4f63; --fune:#8b1a10; --carta:#ffffff; --carta-testo:#3b4650; --barra:#35567f;
}
/* Scuro */
:root[data-theme="dark"]{
  --corsia:#6cc6d8; --corsia-chiara:#2f5a78; --preparazione:#7b8a97; --fune:#ff7b6b; --carta:#ffffff; --carta-testo:#3b4650; --barra:#5b84b8;
}
/* Automatico: con il sistema scuro, gli stessi colori del tema Scuro (copia: lo controlla un test) */
@media (prefers-color-scheme:dark){
  :root:not([data-theme]){
  --corsia:#6cc6d8; --corsia-chiara:#2f5a78; --preparazione:#7b8a97; --fune:#ff7b6b; --carta:#ffffff; --carta-testo:#3b4650; --barra:#5b84b8;
  }
}

/* ===== Testata unica (2026-10-21): menu su due righe, fisso in alto sugli schermi larghi =====
   Prima riga: marchio e pagine di tutto il sito (.nav-principale, sul telefono dietro «Menu»). Seconda riga: i moduli a schede,
   quello aperto pieno (gli stessi due colori della testata, invertiti). Sotto la testata, chiara, la fascia delle voci del modulo.
   Fissa solo da 64em e con il testo fino al 125 %: con il testo più grande o sullo schermo piccolo coprirebbe la pagina. */
.marchio{font-size:1.75rem;font-weight:700;margin-right:.75rem}
.marchio[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.3em}
.testata .nav-principale{margin-right:auto}
.nav-moduli ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin-block:0;padding-top:.15rem;padding-bottom:.75rem}
.nav-moduli a{display:block;padding:.45rem 1.1rem;min-height:2.75rem;border:2px solid var(--testata-testo-2);border-radius:2rem;
  color:var(--testata-testo);font-size:1.15rem;font-weight:700;text-decoration:none}
.nav-moduli a:hover{border-color:var(--testata-testo);text-decoration:underline}
.nav-moduli a[aria-current]{background:var(--testata-testo);border-color:var(--testata-testo);color:var(--testata)}
.testata .nav-moduli a:focus-visible{outline-offset:3px}
.nav-sezione{background:var(--superficie);border-bottom:1px solid var(--linea)}
.nav-sezione ul{display:flex;flex-wrap:wrap;gap:.1rem .25rem;list-style:none;margin-block:0;padding-top:.2rem;padding-bottom:.2rem}
.nav-sezione a{display:block;padding:.45rem .7rem;min-height:2.75rem;border-radius:.35rem;color:var(--testo);text-decoration:none;font-weight:500}
.nav-sezione a:hover{text-decoration:underline}
.nav-sezione a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.35em}
@media (max-width:47.5em){
  .marchio{margin-right:auto;font-size:1.45rem}
  .nav-moduli ul{gap:.4rem}
  .nav-moduli a{font-size:1rem;padding:.35rem .8rem}
  .nav-sezione a{padding:.45rem .5rem}
}
@media (min-width:64em) and (min-height:34em){
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]){scroll-padding-top:9rem}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .testata{position:sticky;top:0;z-index:40}
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .risultati,
  html:not([data-testo="150"]):not([data-testo="175"]):not([data-testo="200"]) .riepilogo{top:9rem}
}

/* ===== Prime pagine dei moduli (2026-10-21, sito/inizio_modulo.html): cruscotto per chi è entrato, landing per gli altri ===== */
.cruscotto{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1rem;list-style:none;margin:1.5rem 0 2rem;padding:0}
.riquadro{display:flex;flex-direction:column;background:var(--superficie);border:2px solid var(--linea);border-radius:.6rem;padding:1rem 1.1rem}
.riquadro h2{font-size:1.25rem;margin:0 0 .3rem}
.riquadro p{margin:0 0 .6rem}
.riquadro-numero{font-size:1.1rem;font-weight:700;color:var(--accento)}
.riquadro .riquadro-azioni{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:auto 0 0;font-weight:600}
.riquadro-azioni a{display:inline-flex;align-items:center;min-height:2.75rem}
.schermate{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.2rem;margin:1rem 0 1.5rem}
.schermate figure{margin:0}
.schermate img{display:block;width:100%;height:auto;border:1px solid var(--linea);border-radius:.5rem}
.schermate figcaption{margin-top:.4rem;color:var(--testo-2);font-size:.95rem}
.punti{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem;max-width:48rem}
.punti li{border-left:.3rem solid var(--accento);padding:.2rem 0 .2rem .8rem}
.invito-finale{background:var(--superficie);border:2px solid var(--linea);border-radius:.6rem;padding:1rem 1.2rem;margin:2rem 0 1.5rem;max-width:48rem}
.invito-finale h2{margin-top:0}

/* ===== Biblioteca del mare: libri, vista ridotta per HYDRA, indici ===== */
main{min-height:60vh}
/* Libri, film e arte; Libri, racconti, saggi, documentari (libri/) */
.titolo-opera{font-size:1.25rem;margin:.1rem 0 .3rem}
.autore-opera{font-weight:600}
.filtri-opere{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:0 1rem;align-items:end;margin:0 0 .5rem}
.filtri-opere .campo{margin-bottom:.8rem}
.filtri-pulsanti{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .8rem}
.copertina-opera{display:block;max-width:min(100%,20rem);height:auto;margin:0 0 1rem;border:1px solid var(--linea);border-radius:.4rem}
.spunte .aiuto,.spunte .errore{flex-basis:100%;margin:0}
/* un fieldset si allarga quanto la tabella che contiene: così la tabella scorre dentro la pagina */
.collegamenti-opera{min-width:0;max-width:100%;border:1px solid var(--linea);border-radius:.4rem;padding:.4rem .8rem .8rem}
.collegamenti-opera legend{font-weight:600;padding:0 .3rem}
.scheda-opera .voci{max-width:48rem}
/* Vista ridotta dei manuali ESA per HYDRA (manuali/esa.py) */
.ridotta{padding:1rem 0 2rem}
.ridotta h1{font-size:1.6rem;margin:0 0 .3rem}
.ridotta .indice-ridotto{padding-left:1.4rem}
.ridotta .indice-ridotto li{margin:.25rem 0;overflow-wrap:anywhere}
/* indice delle sezioni di «Libri, film e arte» (2026-10-12): pulsanti in riga, non l'elenco puntato dei moduli */
.indice-sezioni ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0 1.5rem;padding:0}
.indice-sezioni a{display:inline-block;padding:.4rem 1rem;border:2px solid var(--bordo-campo);border-radius:2rem;
  background:var(--superficie);color:var(--testo);text-decoration:none;font-weight:600}
.indice-sezioni a:hover{border-color:var(--accento);text-decoration:underline}

/* ===== Biblioteca del mare: la Manualistica (portata da MySea) ===== */
/* elenco dei manuali */
.griglia{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1rem 0}
.scheda-manuale{border:1px solid var(--linea);border-radius:.45rem;background:var(--superficie);padding:.2rem 1rem .6rem;
  overflow-wrap:break-word}
.scheda-manuale h2{font-size:1.2rem;margin:.8rem 0 .4rem}
.scheda-manuale .etichetta{margin-right:.3rem}
.piccolo{font-size:.9rem}
.tenue{color:var(--testo-2)}
/* briciole e sfoglia */
.briciole ol{list-style:none;margin:1rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .5rem;font-size:.92rem}
.briciole li{overflow-wrap:anywhere}
.briciole li+li::before{content:"›";margin-right:.5rem;color:var(--testo-2)}
.sfoglia{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;margin-top:2rem;max-width:48rem}
.sfoglia a{max-width:100%;white-space:normal;text-align:left;overflow-wrap:break-word}
/* il manuale */
/* il testo dei manuali un paio di punti più grande e con più aria (2026-10-07, come nei manuali Word di ESA) */
.manuale{max-width:50rem;overflow-wrap:break-word;font-size:1.2rem;line-height:1.7}
.manuale p,.manuale li{margin-bottom:.7rem}
.manuale h1{margin-top:.2em;font-size:2.6rem}
.manuale h2{font-size:1.9rem}
.manuale h3{font-size:1.5rem}
.testa-manuale .loghi{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;margin:1rem 0 .4rem}
.testa-manuale .loghi img{height:4.5rem;width:auto;background:var(--carta);padding:.3rem .5rem;border-radius:.4rem}
.testa-manuale .riga-titolo + br + .riga-titolo{font-size:.7em;color:var(--accento)}
.manuale .sottotitolo{font-size:1.2rem;color:var(--testo-2);margin-top:-.3rem}
.manuale .dati-manuale{color:var(--testo-2);margin:.2rem 0 1rem;font-weight:500}
.manuale li{margin:.2rem 0}
.manuale p em:only-child{color:var(--testo-2)}
.manuale code{overflow-wrap:anywhere}
.manuale pre{overflow-x:auto;background:var(--superficie);border:1px solid var(--linea);padding:.7rem;border-radius:.3rem}
.manuale blockquote{border-left:.3rem solid var(--accento);margin:1rem 0;padding:.1rem 1rem;background:var(--superficie)}
.manuale .tabella table{min-width:0}
.manuale th,.manuale td{border:1px solid var(--linea)}
.manuale thead th{background:var(--campo);font-weight:700}
.avviso-bozza{border:1px solid var(--nota-bordo);border-left:.4rem solid var(--nota-bordo);background:var(--nota);
  color:var(--testo);border-radius:.4rem;padding:.6rem .9rem}
.revisione{font-size:.92rem}
.lingue ul{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem;padding:0;margin:.5rem 0}
.lingue a[aria-current]{font-weight:700}
.indice-manuale ul{padding-left:1.2rem}
.indice-manuale > ul{padding-left:0;list-style:none}
.indice-manuale > ul > li{margin:.45rem 0}
.intro-gruppo{color:var(--testo-2)}
/* riquadri :::nome */
.box{border:1px solid var(--linea);border-left:.4rem solid var(--bordo-campo);background:var(--superficie);
  border-radius:.5rem;padding:.5rem 1.2rem .8rem;margin:1.5rem 0;line-height:1.6}
.box-titolo{font-weight:800;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;margin:.4rem 0;
  display:flex;align-items:center;gap:.5rem}
/* simboli dei riquadri (manuali/simboli.py): linee che prendono il colore del titolo */
.box-titolo .simbolo{flex:none;width:3.6rem;height:3.6rem;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.box > :last-child{margin-bottom:.2rem}
.box-obiettivi{border-left-color:var(--accento)}
.box-sicurezza{border:2px solid var(--errore);border-left-width:.5rem}
.box-sicurezza .box-titolo{color:var(--errore)}
.box-avvertenza{border:2px solid var(--cta);border-left-width:.5rem}
.box-ricorda,.box-regola-doro{border-left-color:var(--ok)}
.box-approfondimento,.box-advanced{border-left-style:double;border-left-width:.5rem}
.box-verifica,.box-esercizio,.box-attrezzatura{border-left-color:var(--testo-2)}
.box-sfida{border:2px dashed var(--accento);border-left:.4rem solid var(--accento)}
.box-sfida ul{list-style:none;padding-left:.2rem}
.box-soluzioni{border:2px solid var(--accento);background:var(--campo)}
.box-proposta{border:3px solid var(--accento);border-left-width:.6rem}
.box-proposta .box-titolo{font-size:1.35rem}
.box-da-definire{background:var(--nota);border-color:var(--nota-bordo)}
.casella{display:inline-block;width:1em;height:1em;border:2px solid var(--testo);border-radius:.2rem;
  vertical-align:-.12em;margin-right:.45em}
.in-definizione{border:1px dashed var(--nota-bordo);background:var(--nota);color:var(--testo);border-radius:.25rem;
  padding:0 .3rem;font-weight:600}
/* figure */
.figura{margin:1.4rem 0}
.figura img{display:block;border-radius:.5rem}
.figura-foto img{width:100%;height:auto}
/* ritratti delle persone (formato=ritratto, 2026-10-10): a destra del testo sugli schermi larghi */
.figura-ritratto img{width:100%;max-width:16rem;height:auto}
@media (min-width:40rem){.figura-ritratto{float:right;width:14rem;margin:0 0 1rem 1.2rem}.figura-ritratto img{max-width:none}}
.manuale h2,.manuale h3{clear:both}
.figura figcaption{color:var(--testo-2);font-style:italic;margin-top:.4rem}
/* tavola di riquadri (:::tavola, 2026-10-09): una figura per riquadro, didascalia che spiega il segnale */
.tavola-riquadri{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:.8rem;margin:1.4rem 0}
.tavola-riquadri .figura{margin:0;border:2px solid var(--bordo-campo);border-radius:.5rem;padding:.6rem;background:var(--superficie)}
.tavola-riquadri .figura img{width:100%;height:auto}
.tavola-riquadri figcaption{font-style:normal;color:var(--testo);font-size:.95rem}
.tavola-riquadri.tavola-due{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}
/* in stampa: le righe per rispondere sotto le domande */
@media print{.box-verifica li::after,.box-sfida li::after{content:"";display:block;height:3rem;border-bottom:1px solid var(--linea)}}
.figura.segnaposto{border:2px dashed var(--bordo-campo);border-radius:.5rem;background:var(--campo);padding:.8rem 1rem;min-height:6rem}
.figura-etichetta{font-weight:600;margin:0 0 .3rem;color:var(--testo-2)}
.figura.segnaposto figcaption{font-style:italic}
/* Scarica il PDF: il pulsante da solo sulla sua riga (bersagli distanti, WCAG 2.5.8) */
.scarica-pdf{margin:1.2rem 0}
.scarica-pdf p{margin:.5rem 0}
/* ricerca nei manuali */
.risultati-ricerca{list-style:none;padding:0}
.risultati-ricerca li{margin:0 0 1rem;overflow-wrap:anywhere}
/* Pannello «Immagini del manuale» (amministratori, 2026-10-08) */
.elenco-figure{list-style:none;padding:0;margin:1rem 0}
.riga-figura{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;padding:1rem 0;border-top:1px solid var(--linea)}
.figura-anteprime{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.figura-anteprime figure{margin:0;flex:1 1 min(100%,10rem);max-width:22rem;min-width:0}
.figura-anteprime img{display:block;width:100%;height:auto;border-radius:.3rem;border:1px solid var(--linea)}
.segnaposto-piccolo{border:2px dashed var(--bordo-campo);border-radius:.3rem;padding:1.5rem .6rem;margin:0;text-align:center;background:var(--campo)}
.titolo-figura{font-size:1.1rem;margin:0 0 .3rem}
/* pannello «Simboli dei riquadri» (2026-10-09) */
.elenco-simboli{list-style:none;padding:0;margin:1rem 0}
.riga-simbolo{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--linea)}
.anteprima-simbolo .simbolo{width:3.6rem;height:3.6rem;color:var(--accento)}
.anteprima-base .simbolo{width:1.6rem;height:1.6rem;vertical-align:middle}
.anteprima-riquadro{display:flex;align-items:center;gap:.6rem}
.anteprima-riquadro .simbolo{width:3.6rem;height:3.6rem}
.scelta-simboli{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr));gap:.5rem;border:1px solid var(--linea);border-radius:.5rem;padding:.8rem}
.scelta-simboli label{display:flex;align-items:center;gap:.4rem;padding:.4rem;border:1px solid var(--bordo-campo);border-radius:.35rem;min-height:2.75rem;cursor:pointer}
.scelta-simboli .simbolo-scelta{width:2rem;height:2rem;flex:none}
.crediti-figura{font-style:normal;font-size:.9em}

/* ===== Allenamenti: sessioni, esercizi, esecuzioni ===== */
/* Allenamenti: sessioni, esercizi, esecuzioni */
.filtri{display:flex;flex-wrap:wrap;gap:0 1rem;align-items:flex-end;margin:1rem 0 .5rem}
.filtri .campo{flex:1 1 12rem;min-width:0}
.filtri p{margin:0 0 1.1rem}
.azioni-scheda{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1rem;padding:0}
.azioni-scheda form{margin:0}
.tabella table.fasi td:nth-child(n+2){white-space:nowrap}
.riga-titolo td{font-weight:700;border-top:2px solid var(--testo)}
.riga-recupero td:first-child,.riga-giro td:first-child{font-style:italic}
.sforamento{color:var(--errore)}
.blocco{margin-top:2rem}
.riga-totale th,.riga-totale td{font-weight:700;border-top:2px solid var(--testo);text-align:left}
.genera{margin:0}
.riquadro,.gruppi{border:1px solid var(--linea);border-radius:.35rem;padding:.6rem 1rem;margin:0 0 1.2rem;min-width:0}
.riquadro legend,.gruppi legend{font-weight:700;padding:0 .3rem}
.gruppi.con-errore{border-color:var(--errore)}
textarea.codice{font-family:ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;font-size:.92rem;line-height:1.45}
.avviso-fisso{border:2px solid var(--accento);border-left-width:.5rem;background:var(--superficie);padding:.6rem 1rem;border-radius:.3rem;margin:1rem 0}
.avviso-pericolo{border:2px solid var(--errore);border-left-width:.6rem;background:var(--superficie);padding:.2rem 1rem;border-radius:.3rem;margin:0 0 1.2rem}
.figura-esercizio{margin:0 0 1.5rem}
.figura-esercizio img{display:block;max-height:32rem;width:auto;border:1px solid var(--linea);border-radius:.3rem}
/* 0.11: la scheda della sessione con i dati iniziali su due colonne (una sotto i 40rem) */
.voci.due-colonne{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.voci.due-colonne div{grid-template-columns:minmax(0,1fr);gap:.1rem;padding:.35rem 0}
@media (max-width:40em){.voci.due-colonne{grid-template-columns:minmax(0,1fr)}}
/* 0.11: moduli più compatti nelle pagine delle sessioni (campi più bassi; bordi e area di tocco restano AA) */
.compatto .campo{margin-bottom:.7rem}
.compatto .campo label{margin-bottom:.15rem}
.compatto .campo input:not([type=checkbox]):not([type=radio]),.compatto .campo select,.compatto .campo textarea,
.compatto .cerca input{padding:.3rem .5rem}
.compatto .campo textarea{min-height:4rem}
.compatto .filtri p{margin-bottom:.7rem}
.spunte-in-riga{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;align-items:center}
.spunte-in-riga legend,.spunte-in-riga .aiuto,.spunte-in-riga .errore{flex-basis:100%}
.spunte-in-riga .campo{margin:0}
.valenze-elenco{margin:.2rem 0 0}
.elenco-semplice{margin:0;padding-left:1.2rem}
.elenco-semplice li{margin:.25rem 0}

/* ===== Allenamenti: il creatore di statica, dinamica e nuoto ===== */
.creatore{max-width:72rem}
/* «hidden» vale anche sui pulsanti, che hanno un display proprio */
.creatore [hidden]{display:none !important}
.cr-testa{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:1.1rem}
.cr-testa h1{margin-bottom:.3rem}
.cr-testa .sotto{margin:0;max-width:44rem}
.cr-azioni,.cr-barra-pulsanti{display:flex;flex-wrap:wrap;gap:.5rem}
.cr-barra-pulsanti{margin-top:.8rem}
.cr-pannello{background:var(--superficie);border:1px solid var(--linea);border-radius:.6rem;margin-bottom:.8rem;min-width:0}
.cr-ph{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .9rem;border-bottom:1px solid var(--linea);flex-wrap:wrap}
.cr-ph h2{margin:0;font-size:1.35rem}
.cr-ph-campi{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap}
.cr-pb{padding:.7rem .9rem}
.cr-pb[hidden]{display:none}
.cr-stato{margin:0;font-size:.95rem;color:var(--testo-2)}
.cr-stato.errore{color:var(--errore);font-weight:600}
.cr-escluso{margin:.6rem 1.1rem 0;font-weight:600;color:var(--testo-2)}
/* zone apribili: il titolo è il pulsante (aria-expanded) */
.cr-apri{display:inline-flex;align-items:center;gap:.6rem;border:0;background:none;padding:.1rem .25rem;margin-left:-.25rem;
  font:inherit;color:var(--testo);text-align:left;cursor:pointer;border-radius:.25rem}
.cr-freccia{display:inline-block;width:0;height:0;border-left:.45rem solid transparent;border-right:.45rem solid transparent;
  border-top:.55rem solid currentColor;transition:transform .15s}
.cr-apri[aria-expanded="false"] .cr-freccia{transform:rotate(-90deg)}
.cr-dettagli > summary{cursor:pointer;padding:.8rem 1.1rem;font-weight:700;font-size:1.15rem}
.cr-dettagli[open] > summary{border-bottom:1px solid var(--linea)}
/* campi compatti (0.11: più bassi, per guadagnare spazio; area di tocco sempre sopra i 24 px, bordo 3:1) */
.cr-f{display:flex;flex-direction:column;gap:.1rem;font-size:.85rem;font-weight:600;color:var(--testo-2);min-width:0}
.cr-f.cr-in-riga{flex-direction:row;align-items:center;gap:.4rem}
.creatore input:not([type=checkbox]),.creatore select,.creatore textarea{font:inherit;font-size:1rem;font-weight:400;color:var(--testo);
  background:var(--campo);border:1px solid var(--bordo-campo);border-radius:.3rem;padding:.2rem .4rem;min-height:1.75rem;min-width:0;width:100%}
.creatore textarea{resize:vertical}
.creatore input.cr-corto{width:5rem}
.creatore :focus-visible{outline:3px solid var(--fuoco);outline-offset:2px}
.cr-claim{font-style:italic}
.cr-spunta{display:flex;align-items:center;gap:.4rem;font-size:.95rem;color:var(--testo)}
.cr-spunta input{width:1.1rem;height:1.1rem}
.cr-griglia{display:grid;gap:.5rem .6rem}
.cr-g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.cr-g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.cr-spazio{margin-top:.5rem}
.cr-titolo-tabella{margin-bottom:.4rem}
.cr-aiuto{font-size:.9rem;color:var(--testo-2);margin:.4rem 0 0}
/* lunghezza della vasca */
.cr-seg{display:inline-flex;border:1px solid var(--bordo-campo);border-radius:.3rem;overflow:hidden;align-self:flex-start}
.cr-seg button{border:0;border-radius:0;padding:.2rem .8rem;min-height:1.75rem;background:var(--campo);color:var(--testo);font:inherit;font-size:1rem;cursor:pointer}
.cr-seg button[aria-pressed="true"]{background:var(--pulsante);color:var(--pulsante-testo);font-weight:700}
/* barra del tempo */
.cr-budget{padding:.9rem 1.1rem .25rem}
.cr-numeri{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.1rem;margin-bottom:.5rem}
.cr-grande{font-size:2rem;font-weight:800;line-height:1}
.cr-su{color:var(--testo-2)}
.cr-esito{font-weight:700}
.cr-esito.ok{color:var(--ok)}
.cr-esito.sfora{color:var(--errore)}
.cr-distanza{font-weight:700}
.cr-totale{padding:.8rem 1.1rem;margin:0;font-size:1.05rem}
.cr-corsia{position:relative;height:1.4rem;border-radius:.25rem;border:1px solid var(--bordo-campo);overflow:hidden;display:flex;
  background:repeating-linear-gradient(90deg,var(--campo) 0 1.1rem,var(--fondo) 1.1rem 1.25rem)}
.cr-tratto{height:100%;border-right:1px solid var(--superficie);min-width:1px;flex:0 0 auto}
.cr-tratto.prep{background:var(--preparazione)}
.cr-tratto.apnea{background:var(--corsia)}
.cr-tratto.rec{background:var(--corsia-chiara)}
.cr-tratto.trans{background:repeating-linear-gradient(135deg,var(--corsia-chiara) 0 .25rem,var(--superficie) .25rem .45rem)}
.cr-limite{position:absolute;top:-1px;bottom:-1px;width:3px;background:var(--fune)}
.cr-legenda{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.8rem;color:var(--testo-2);margin:.5rem 0 0;padding:0;list-style:none}
.cr-legenda i{display:inline-block;width:.65rem;height:.65rem;border-radius:.1rem;margin-right:.3rem;vertical-align:-.05rem;border:1px solid var(--bordo-campo)}
.cr-legenda i.prep{background:var(--preparazione)}
.cr-legenda i.apnea{background:var(--corsia)}
.cr-legenda i.rec{background:var(--corsia-chiara)}
.cr-legenda i.trans{background:repeating-linear-gradient(135deg,var(--corsia-chiara) 0 .2rem,var(--superficie) .2rem .32rem)}
.cr-legenda i.limite{background:var(--fune)}
/* le righe: in colonna di tabella se c'è posto, altrimenti tre per riga */
.cr-righe{display:flex;flex-direction:column;container-type:inline-size;container-name:righe}
.cr-riga{display:grid;gap:.4rem;align-items:end;padding:.35rem 0;border-bottom:1px dashed var(--linea)}
.cr-riga:last-child{border-bottom:0}
.cr-calc{font-size:1.1rem;font-weight:700;text-align:right;white-space:nowrap}
.cr-calc small{display:block;font-size:.72rem;font-weight:400;color:var(--testo-2)}
/* il riepilogo del titoletto (fase × giri, recuperi tra i giri) va a capo se non ci sta */
.cr-riga.titolo .cr-calc small{white-space:normal}
.cr-ctl{display:flex;gap:.15rem;justify-content:flex-end}
.cr-icona{font:inherit;font-size:.95rem;line-height:1.2;min-width:1.75rem;min-height:1.75rem;padding:.1rem .35rem;cursor:pointer;
  border:1px solid var(--linea);border-radius:.3rem;background:var(--superficie);color:var(--testo)}
.cr-icona:hover{border-color:var(--accento)}
.cr-icona:disabled{cursor:default;border-style:dashed;color:var(--testo-2)}
/* schede (pattern «tab»): Allenamento, Il tuo archivio, Invia per mail */
.cr-schede{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:2px solid var(--linea);margin:0 0 .8rem}
.cr-schede [role=tab]{font:inherit;font-weight:600;color:var(--testo);background:var(--superficie);border:1px solid var(--linea);
  border-bottom:0;border-radius:.4rem .4rem 0 0;padding:.35rem .9rem;margin-bottom:-2px;cursor:pointer;min-height:2rem}
.cr-schede [role=tab][aria-selected=true]{font-weight:800;border-color:var(--bordo-campo);border-bottom:3px solid var(--accento);background:var(--fondo)}
.cr-schede [role=tab]:hover{text-decoration:underline}
.cr-da-salvare{font-weight:600;color:var(--errore)}
.cr-scheda:focus-visible{outline:3px solid var(--fuoco);outline-offset:2px}
/* ordine delle sezioni, nomi nuovi dello staff, valenza */
.cr-ordine{display:inline-flex;gap:.15rem}
.cr-staff-nuovi{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.4rem 0 0;font-size:.9rem}
.cr-valenza{padding-top:0}
.cr-riga.st{grid-template-columns:minmax(7.5rem,2fr) 1fr 1fr 4.5rem 5.6rem 5.6rem auto}
.cr-riga.dy{grid-template-columns:4rem 4.5rem 5.25rem minmax(5rem,1.2fr) minmax(5rem,1.2fr) 4.5rem 5.6rem 4.5rem 5rem 5rem auto}
.cr-riga.dy.corsie{grid-template-columns:4rem 5.25rem minmax(7.5rem,1fr) minmax(7.5rem,1fr) 5.25rem 5.25rem auto}
/* 0.13: in dinamica «Esercizio» è un campo solo (niente «Tipo») e prende anche il suo posto */
.cr-riga.dy.unico{grid-template-columns:4rem 4.5rem 5.25rem minmax(10rem,2.4fr) 4.5rem 5.6rem 4.5rem 5rem 5rem auto}
.cr-riga.titolo{grid-template-columns:minmax(8.75rem,1fr) 5.6rem 6.25rem 9.4rem auto;padding:.75rem 0 .25rem;border-bottom:1px solid var(--accento)}
.cr-riga.titolo > input{font-weight:700;font-size:1.05rem}
.cr-riga.trans{grid-template-columns:1fr auto;align-items:center;padding:.4rem .6rem;margin:.4rem 0;border:0;border-radius:.3rem;
  background:repeating-linear-gradient(135deg,var(--superficie) 0 .4rem,var(--campo) .4rem .75rem);font-size:.85rem;color:var(--testo-2)}
.cr-riga.trans[hidden]{display:none}
.cr-riga.trans .cr-calc{font-size:.95rem;color:var(--testo)}
.cr-tag{font-size:.8rem;color:var(--testo-2);align-self:center}
.cr-codice{grid-column:1/-1;margin:-.2rem 0 0;font-size:.85rem;color:var(--testo-2)}
.cr-st-prep-tag{grid-column:span 2}
@container righe (max-width:67rem){
  .cr-riga.st,.cr-riga.dy,.cr-riga.dy.corsie,.cr-riga.dy.unico,.cr-riga.titolo{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cr-riga.titolo > input,.cr-riga .cr-ctl,.cr-riga .cr-largo{grid-column:1/-1}
  .cr-st-prep-tag{grid-column:auto}
}
@container righe (max-width:24rem){
  .cr-riga.st,.cr-riga.dy,.cr-riga.dy.corsie,.cr-riga.dy.unico,.cr-riga.titolo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* loghi */
.cr-loghi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:.75rem}
.cr-logo{border:1px dashed var(--linea);border-radius:.5rem;padding:.6rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}
.cr-logo-vista{height:3.75rem;display:flex;align-items:center;justify-content:center;background:var(--carta);border-radius:.3rem}
.cr-logo-vista img{max-height:3.25rem;max-width:100%}
.cr-logo-vista span{color:var(--carta-testo);font-size:.85rem}
.cr-logo-riga{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;font-size:.85rem}
/* libreria degli esercizi */
.cr-dialogo{width:min(40rem,calc(100% - 2rem));max-height:calc(100% - 2rem);border:1px solid var(--bordo-campo);border-radius:.6rem;
  background:var(--superficie);color:var(--testo);padding:1rem 1.2rem}
.cr-dialogo h2{margin-top:0}
.cr-libreria{list-style:none;margin:.5rem 0;padding:0;max-height:22rem;overflow-y:auto;border-top:1px solid var(--linea)}
.cr-libreria li{border-bottom:1px solid var(--linea)}
.cr-libreria button{display:block;width:100%;text-align:left;font:inherit;padding:.5rem .4rem;border:0;background:none;color:var(--testo);cursor:pointer}
.cr-libreria button:hover{background:var(--campo)}
.cr-libreria small{display:block;color:var(--testo-2);font-size:.85rem}
.cr-libreria .attenzione{color:var(--errore);font-weight:700}
/* avviso breve in basso: fuori dalla vista finché è vuoto, ma sempre nella pagina per i lettori di schermo */
.cr-toast{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);background:var(--testo);color:var(--fondo);
  padding:.55rem 1rem;border-radius:.4rem;font-size:.9rem;max-width:min(36rem,calc(100% - 2rem));z-index:20}
.cr-toast:not(.mostra){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}
.cr-toast a{color:inherit}
@media (prefers-reduced-motion:reduce){.cr-freccia{transition:none}}

/* ===== Mylogbook: mappa, località e specie ===== */
/* Mappa delle località */
.mappa{height:24rem;max-height:60vh;margin:1rem 0;border:1px solid var(--linea);border-radius:.4rem}
/* Mappa (Leaflet): comandi e attribuzione con i colori del tema; le tessere di OpenStreetMap restano chiare.
   #mappa davanti: leaflet.css arriva dopo questo foglio e vincerebbe a parità di selettore. */
#mappa .leaflet-bar a,#mappa .leaflet-bar a:hover{background:var(--superficie);color:var(--testo);border-bottom-color:var(--linea)}
#mappa .leaflet-bar{border:2px solid var(--bordo-campo)}
#mappa .leaflet-control-attribution{background:var(--superficie);color:var(--testo-2)}
#mappa .leaflet-control-attribution a{color:var(--accento)}
#mappa .leaflet-popup-content-wrapper,#mappa .leaflet-popup-tip{background:var(--superficie);color:var(--testo)}
/* Specie (0.6): foto salvate sul sito, con autore e licenza sotto */
.specie{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem;list-style:none;margin:1rem 0 2rem;padding:0}
.specie-scheda{margin:0;padding:.6rem;border:1px solid var(--linea);border-radius:.4rem;background:var(--superficie);overflow-wrap:anywhere}
.specie-scheda img{display:block;width:100%;height:auto;border-radius:.3rem;margin-bottom:.4rem}

/* ===== Viaggi: simulatore, grafico e iscrizioni ===== */
.pos{color:var(--ok);font-weight:600}
.neg{color:var(--errore);font-weight:600}
td.numeri{white-space:nowrap;text-align:right}
.modulo-nuovo{max-width:34rem}
.det{display:block;color:var(--testo-2);font-size:.85rem;overflow-wrap:anywhere}
/* Simulatore: barra del viaggio, commutatore, verdetto */
.barra-viaggio{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:flex-end;margin:0 0 1rem}
.modulo-barra{display:flex;flex-wrap:wrap;gap:0 .8rem;align-items:flex-end;margin:0}
.modulo-barra .campo{margin:0 0 1.1rem;flex:1 1 16rem}
.modulo-barra p{margin:0 0 1.1rem}
.azioni-viaggio{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.1rem;padding:0}
.azioni-viaggio form{margin:0}
.commutatore{display:inline-flex;flex-wrap:wrap;margin:0 0 1rem;border:1px solid var(--pulsante);border-radius:.35rem;overflow:hidden}
.commutatore .pulsante{border:0;border-radius:0}
.commutatore .pulsante[aria-pressed="true"]{background:var(--pulsante);color:var(--pulsante-testo)}
.verdetto{background:var(--superficie);border:1px solid var(--linea);border-left:.4rem solid var(--accento);border-radius:.3rem;padding:1rem 1.2rem;margin:0 0 .6rem}
.verdetto .grande{font-size:1.4rem;line-height:1.3;margin:0 0 .4rem;max-width:62ch}
.verdetto .piccolo{margin:0;color:var(--testo-2)}
/* Grafico a colonne: colori da classi, niente fill scritti nei template o nel codice */
.grafico-riquadro{margin:1rem 0 1.6rem}
.grafico-riquadro .tabella{margin-bottom:.4rem}
.grafico{display:block;width:100%;min-width:45rem;height:auto}
.g-linea{stroke:var(--linea);stroke-width:1}
.g-asse{stroke:var(--testo);stroke-width:1.5;pointer-events:none}
.g-testo{fill:var(--testo-2)}
/* la dimensione è nell'attributo font-size: unità del disegno, che cresce con lui */
.g-testo-forte{fill:var(--testo);font-weight:700}
.g-barra{fill:var(--barra)}
.g-barra-sel{fill:var(--accento)}
.g-barra-neg{fill:var(--errore)}
.g-zona{fill:transparent}
g.colonna{cursor:pointer;outline:none}
g.colonna:hover .g-zona{fill:var(--campo)}
g.colonna:focus-visible .g-zona{fill:var(--campo);stroke:var(--fuoco);stroke-width:2}
/* Simulatore e iscrizione: due colonne da 54rem in su, una sola sotto */
.colonne-simulatore{display:grid;grid-template-columns:minmax(0,1fr);gap:0 2rem;align-items:start}
@media (min-width:54rem){
  .colonne-simulatore{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  /* Risultati e quota restano fermi mentre si scorrono i moduli (come nel simulatore di Area 11). */
  .risultati,.riepilogo{position:sticky;top:1rem}
}
.voce{display:grid;grid-template-columns:minmax(0,1fr) 8rem;gap:.3rem .8rem;align-items:center;margin:.4rem 0}
.voce:has(select){grid-template-columns:minmax(0,1fr) minmax(0,14rem)}
.voce label small{display:block;color:var(--testo-2);font-size:.85rem;font-weight:400}
.voce input,.voce select,.riga-camera input,.mini input{
  font:inherit;color:var(--testo);background:var(--campo);border:2px solid var(--bordo-campo);border-radius:.3rem;
  padding:.3rem .5rem;width:100%;min-width:0}
.voce input:focus,.voce select:focus,.riga-camera input:focus,.mini input:focus{
  outline:3px solid var(--fuoco);outline-offset:2px}
.voce input:disabled,.voce select:disabled,.mini input:disabled,.riga-camera input:disabled{
  background:var(--superficie);color:var(--testo-2);border-style:dashed}
@media (max-width:30rem){.voce,.voce:has(select){grid-template-columns:minmax(0,1fr)}}
.calcolato{font-weight:700;text-align:right}
.riga-camera{display:grid;grid-template-columns:minmax(4.5rem,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(4.5rem,.9fr);gap:.4rem;align-items:center;margin:.4rem 0}
.riga-camera.testa{color:var(--testo-2);font-size:.85rem}
@media (max-width:30rem){.riga-camera{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.riga-camera.testa{display:none}.riga-camera label,.riga-camera output{grid-column:1 / -1}}
.mini{display:block;font-size:.88rem;color:var(--testo-2);min-width:0}
.mini input{display:block;margin-top:.1rem;font-size:1rem}
.riga-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.4rem .6rem;align-items:end;margin:.6rem 0;
  padding-top:.5rem;border-top:1px solid var(--linea)}
.riga-extra .mini:first-child{grid-column:1 / -1}
.brevetto{border-top:1px solid var(--linea);padding-top:.5rem;margin-top:.5rem}
.brevetto:first-child{border-top:0;margin-top:0;padding-top:0}
.nome-brevetto{margin:0 0 .3rem}
.riga-brevetto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem .6rem;margin-bottom:.4rem}
/* Tabelle dei risultati */
.risultati h2,.risultati h3{margin-top:1.4rem}
.risultati table,.riepilogo table{min-width:0}
.tabella th.n,.tabella td.n{text-align:right;white-space:nowrap}
.tabella tr.tot td{font-weight:700}
.tabella tr.sep td{color:var(--testo-2)}
.da-controllare{background:var(--nota);border:2px solid var(--nota-bordo);color:var(--testo);border-radius:.35rem;padding:.4rem 1rem .6rem;margin:1rem 0}
.da-controllare h3{margin:.4rem 0 .2rem;font-size:1.1rem}
.da-controllare ul{margin:.2rem 0 0;padding-left:1.2rem}
/* Modulo di iscrizione: scelte come schede */
.scelte{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.6rem;margin:.4rem 0}
.scelta{display:block;border:2px solid var(--linea);border-radius:.5rem;padding:.6rem .8rem;cursor:pointer;background:var(--superficie);min-width:0}
.scelta:has(input:checked){border-color:var(--accento);box-shadow:inset 0 0 0 1px var(--accento)}
.scelta:has(input:focus-visible){outline:3px solid var(--fuoco);outline-offset:2px}
.scelta:has(input:disabled){border-style:dashed;color:var(--testo-2);cursor:default}
.scelta input{margin:0 .4rem 0 0}
.scelta .nota{display:block;margin-top:.15rem;font-size:.9rem}
.scelta .nota.piccolo{font-size:.82rem;line-height:1.35}
.senza-js{margin:0 0 1.5rem}
.riepilogo h2{margin-top:0}
#errore-persone{margin:.2rem 0}
.riquadro .campo:last-child{margin-bottom:.3rem}

/* ===== Portale: profilo, pagina pubblica di una persona, partner (2026-10-20) ===== */
.testa-profilo{margin:0 0 1rem}
.copertina-profilo{display:block;width:100%;height:auto;max-height:12rem;object-fit:cover;border-radius:.4rem;border:1px solid var(--linea)}
.copertina-profilo.vuota{height:5rem;background:var(--superficie)}
.testa-profilo .identita{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:-2rem;padding:0 1rem}
.testa-profilo .identita h1{margin:0;overflow-wrap:anywhere}
.testa-profilo .identita .sotto{margin:.1rem 0 0}
.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pulsante);color:var(--pulsante-testo);font-weight:700;overflow:hidden;flex:none}
.avatar.grande{width:5rem;height:5rem;font-size:1.6rem;object-fit:cover;border:3px solid var(--fondo)}
.partner .riquadro{margin:0}
.partner-logo{display:block;max-width:min(100%,12rem);max-height:6rem;height:auto;margin:.3rem 0 .6rem}
ul.partner{list-style:none;padding:0}
dl.dati{margin:.6rem 0 0}
dl.dati div{display:flex;flex-wrap:wrap;gap:.2rem .6rem;margin:.15rem 0}
dl.dati dt{font-weight:600}
dl.dati dd{margin:0;overflow-wrap:anywhere}
.gruppo-partner{margin-top:1.5rem}
.gruppo-partner h2{margin-bottom:.8rem}
