:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#203042;font:16px/1.55 system-ui,-apple-system,Arial,sans-serif}main{max-width:980px;margin:30px auto;padding:25px;background:#fff;border:1px solid #dfe5ed;border-radius:12px}header{padding-bottom:18px;border-bottom:2px solid #153b60;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}header .brand img{max-width:230px;max-height:72px;width:auto}header .headlabel{font-size:.9rem;color:#506070;text-align:right}h1{font-size:1.8rem;margin:12px 0}h2{font-size:1.25rem;margin-top:26px}a{color:#164b78}a:hover{text-decoration:underline}small{color:#526272}label{display:block;margin:16px 0 5px;font-weight:600}input:not([type=checkbox]),select,textarea{width:100%;padding:11px;border:1px solid #aab6c5;border-radius:6px;font:inherit;background:white;color:inherit}textarea{min-height:290px;line-height:1.55}input[type=checkbox]{width:auto;margin:0 .4rem 0 0;vertical-align:middle}.confirm{display:block;font-weight:400}button{display:inline-block;border:0;border-radius:6px;background:#164b78;color:#fff;padding:10px 17px;text-decoration:none;cursor:pointer;font:inherit}button.secondary{background:#63758a}.note{background:#eff5fc;padding:12px;border-radius:6px}.error{background:#fff0f0;border-left:4px solid #a22;padding:11px;color:#9c2020}.success{background:#eaf8ec;border-left:4px solid #278239;padding:11px;color:#195b27}.tag{display:inline-block;font-size:.8rem;background:#e9f4eb;color:#286537;border-radius:5px;padding:3px 10px}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid #ddd;padding:10px;vertical-align:top}th{background:#f8fafc}.scroll{overflow-x:auto}nav{margin-bottom:20px}nav a{margin-right:6px}form.inline{display:inline;margin-left:8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.list-item{padding:15px 0;border-bottom:1px solid #ddd}.list-item h2{margin:5px 0}article{max-width:770px}article p{line-height:1.77}@media(max-width:600px){main{margin:0;border:0;padding:16px}.grid{grid-template-columns:1fr}header{flex-wrap:wrap}.headlabel{text-align:left}}
/* Fase 2: archivio per materia; esclusivamente presentazione, nessuna modifica all'autenticazione */
.site-breadcrumb{font-size:.93rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:#647384}
.site-breadcrumb span{color:#93a2b2}
.journal-hero{background:#f1f5f8;padding:28px 30px 30px;border-radius:9px;margin:8px 0 25px;border-left:5px solid #153b60}
.journal-hero h1{font-size:clamp(1.9rem,3vw,2.55rem);line-height:1.16;margin:8px 0 12px;letter-spacing:-.02em}
.journal-hero p:last-child{max-width:760px;color:#485e70;margin:0;font-size:1.08rem}
.eyebrow{font-size:.82rem!important;text-transform:uppercase;letter-spacing:.075em;font-weight:700;color:#476a84;margin:0}
.stage-alert{background:#fff8e7;border:1px solid #dfc68d;padding:10px 14px;border-radius:6px;font-size:.88rem}
.topic-section h2{font-size:1.35rem;margin-bottom:14px}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.topic-card{color:inherit;border:1px solid #dae2e9;border-radius:8px;padding:19px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:border-color .1s ease,box-shadow .1s ease;background:white}
.topic-card:hover,.topic-card:focus-visible,.topic-card.is-active{border-color:#164b78;box-shadow:0 2px 10px #153b6020;text-decoration:none}
.topic-card-title{display:flex;align-items:center;justify-content:space-between;color:#153b60;font-weight:700;font-size:1.15rem}
.topic-card-description{font-size:.93rem;line-height:1.55;color:#596b7b}.topic-count{color:#637789;font-size:.82rem;margin-top:auto}
.topic-intro{margin:24px 0;background:#f7f9fb;padding:20px 24px;border-radius:8px}
.topic-intro h2{font-size:1.5rem;margin:3px 0 9px}.topic-intro h3{font-size:1rem;margin:20px 0 8px}.topic-intro ul{padding-left:22px;margin-top:0}
.journal-list{margin:32px 0}.list-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.list-head h2{margin:0 0 5px}
.journal-item{padding:22px 0;border-bottom:1px solid #d8e2ea}.journal-item h3{margin:7px 0 10px;font-size:1.32rem;line-height:1.3}
.journal-item h3 a{text-decoration:none}.journal-item p:not(.eyebrow){color:#506071;margin:0 0 10px}.read-more{font-weight:650}
.empty-articles{border:1px dashed #bcc9d5;border-radius:8px;padding:22px;color:#536677}
.article-full{max-width:800px}.article-full h1{font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.22;margin:11px 0 25px}.article-body p{font-size:1.04rem;line-height:1.83;margin-bottom:19px}
.article-footer{background:#eef4f8;border-radius:8px;margin:30px 0 8px;padding:24px}.article-footer h2{margin:0 0 7px}.article-footer p{color:#4f6374;margin:8px 0 18px}
.cta-button{display:inline-block;background:#164b78;color:white;padding:11px 18px;border-radius:5px;font-weight:650;text-decoration:none}
.cta-button:hover,.cta-button:focus-visible{background:#0c3152;color:white;text-decoration:none}
@media(max-width:680px){.topic-grid{grid-template-columns:1fr}.journal-hero{padding:23px}.list-head{display:block}}

/* Fase 3: titoli semantici per gli articoli, leggibili anche in anteprima. */
h2.article-heading, h3.article-heading{
  color:#173c5c;letter-spacing:-.012em;line-height:1.3;
  margin:1.75em 0 .65em;font-weight:750;
  overflow-wrap:break-word;
}
h2.article-heading{font-size:clamp(1.3rem,2.25vw,1.55rem);border-left:3px solid #164b78;padding-left:13px}
h3.article-heading{font-size:clamp(1.12rem,2vw,1.32rem)}
.article-full .article-body strong, .article-full p strong{font-weight:750;color:#223a4c}
.article-full .article-body{overflow-wrap:break-word}
@media(max-width:600px){
  .article-full .article-body p{font-size:1.03rem;line-height:1.75}
  h2.article-heading{margin-top:1.45em;padding-left:11px}
  .article-full h1{font-size:clamp(1.65rem,7vw,2.1rem)}
}
