
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#22241f;background:#f8f6ef}*{box-sizing:border-box}body{margin:0}header{background:#f8f6ef;color:#20251f;padding:21px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e1d5}.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1.8px;font-size:30px;line-height:1}.brand span{color:#ed7049}.muted{color:#6c716d}.wrap{max-width:1200px;margin:26px auto;padding:0 24px}.card{background:#fffefb;border:1px solid #eae8dd;border-radius:24px;padding:28px;box-shadow:0 14px 42px #3b3c2510}.hero{text-align:left;padding:38px 6px 30px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(32px,4vw,48px);letter-spacing:-2px;line-height:1.14;margin:0 0 14px}.hero p{color:#6d716d;margin:0;line-height:1.6}.center{max-width:500px;margin:0 auto}.button{background:#243a31;color:white;border:0;border-radius:100px;padding:14px 24px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1f3b2930}.button.red{background:#ed7049}.button.red:hover{background:#d75e3c}.button.alt{background:#f0eee3;color:#263b31}.button.ghost{background:transparent;border:1px solid #b8c4b8;color:#263b31}.button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}input,select{width:100%;border:1px solid #d9ddd1;border-radius:13px;font-size:16px;padding:13px 15px;margin:7px 0 15px;background:#fff}input:focus,select:focus{outline:2px solid #e5aa86;border-color:#ec7956}label{display:block;font-size:13px;font-weight:700}nav{display:flex;gap:7px;align-items:center}.navbtn{color:#525a52;background:transparent;border:0;cursor:pointer;padding:11px 15px;border-radius:50px;font-size:13px;font-weight:700}.navbtn.active{background:#e8e7d9;color:#1f3428}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.small{font-size:13px}.pill{display:inline-block;background:#e6eacb;color:#4e6040;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em}.stat{font-family:Manrope,sans-serif;font-size:35px;font-weight:800;letter-spacing:-1px}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.option{display:block;border:1px solid #d9dfd3;background:white;padding:16px 18px;border-radius:14px;margin:11px 0;cursor:pointer;text-align:left;width:100%;font-size:15px;transition:border-color .1s,background .1s}.option:hover{border-color:#b6c4af}.option.selected{background:#eff3e8;border-color:#657e61}.option.correct{background:#def5e7;border-color:#26a060}.option.wrong{background:#ffedeb;border-color:#dd5454}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.progress{background:#e4e8d9;height:9px;border-radius:20px;overflow:hidden}.progress>div{background:#ed7049;height:100%;transition:width .2s}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:13px;text-align:left;border-bottom:1px solid #e7e9df}th{color:#64705f;background:#f4f4eb}footer{text-align:center;margin:46px;color:#7c8278;font-size:12px}.note{background:#f3f0db;border:1px solid #e1dcba;color:#6d6b44;border-radius:13px;padding:11px 15px;font-size:12px;margin-bottom:22px}.hidden{display:none!important}
#font-toggle{background:transparent;color:#405445;border:1px solid #c9d0c1;border-radius:50px;padding:10px 14px;cursor:pointer;font-weight:700}html.testo-grande{font-size:19px}html.testo-grande .option,html.testo-grande .button,html.testo-grande .navbtn{font-size:1.12rem}html.testo-grande p,html.testo-grande label,html.testo-grande td,html.testo-grande th,html.testo-grande .muted{font-size:1.05rem}
/* Nuova homepage: editoriale, verde salvia e arancio */
#home{padding:8px 0 0}.welcome-layout{display:grid;grid-template-columns:1fr 1.1fr;min-height:620px;border-radius:32px;overflow:hidden;background:#e8ecdc;border:1px solid #e1e6d3}.welcome-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(32px,5vw,78px);position:relative}.welcome-kicker{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#63765a;margin-bottom:29px}.welcome-kicker:before{content:'';width:9px;height:9px;background:#ed7049;border-radius:100%}.welcome-copy h1{font-family:Manrope,sans-serif;font-size:clamp(44px,5.5vw,78px);line-height:1.04;letter-spacing:-.065em;margin:0 0 28px;font-weight:800;color:#253d32}.welcome-copy h1 em{font-style:normal;color:#ed7049}.welcome-copy p{color:#667263;font-size:16px;line-height:1.7;max-width:360px;margin:0 0 32px}.welcome-copy .button{font-size:16px;padding:17px 29px}.welcome-mini{margin-top:42px;display:flex;gap:16px;align-items:center;color:#697569;font-size:12px}.welcome-mini strong{font-size:23px;color:#253b30;font-family:Manrope,sans-serif}.welcome-visual{position:relative;overflow:hidden;background:#bfd4c4;min-height:480px}.welcome-visual svg{display:block;width:100%;height:100%;min-height:480px;object-fit:cover}.welcome-photo-tag{position:absolute;bottom:27px;left:28px;background:#f8f6edee;backdrop-filter:blur(10px);border-radius:14px;padding:13px 18px;font-size:13px;color:#2f4335;box-shadow:0 10px 30px #203a3425}.welcome-photo-tag strong{display:block;font-size:15px;margin-bottom:2px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 8px}.feature{padding:23px 26px;background:#fffefb;border:1px solid #e6e6dc;border-radius:17px}.feature .feature-icon{display:inline-grid;place-items:center;background:#eff0e0;border-radius:12px;width:39px;height:39px;font-size:20px;margin-bottom:12px}.feature strong{display:block;font-size:15px;color:#304439;margin-bottom:5px}.feature span{font-size:13px;line-height:1.5;color:#74786e}@media(max-width:760px){header{padding:16px 18px;flex-wrap:wrap;gap:14px}.brand{font-size:25px}.navbtn{padding:9px}.wrap{margin:12px auto;padding:0 12px}.card{padding:20px}.grid,.features{grid-template-columns:1fr}.welcome-layout{grid-template-columns:1fr;min-height:0}.welcome-copy{padding:44px 28px 35px}.welcome-copy h1{font-size:50px}.welcome-mini{margin-top:28px}.welcome-visual,.welcome-visual svg{min-height:310px;max-height:390px}th,td{padding:9px 5px;font-size:12px}}

/* Navigazione materie e sottoargomenti */
.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:22px}
.subject-button,.subtopic-button{font-family:inherit;display:flex;align-items:flex-start;flex-direction:column;text-align:left;gap:9px;border:1px solid #e3e6da;border-radius:19px;background:#fdfcf7;color:#243a31;padding:21px 23px;cursor:pointer;min-height:125px;transition:background .15s,border-color .15s,transform .15s}
.subject-button:hover,.subtopic-button:hover{background:#edf3e9;border-color:#9eaf98;transform:translateY(-2px)}
.subject-button strong{font:700 19px/1.25 Manrope,Arial,sans-serif}
.subject-number{font-size:12px;font-weight:800;color:#cc6846}
.subject-detail{font-size:13px;color:#6c716d}
.subtopic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px}
.subtopic-button{min-height:100px;justify-content:center}
.subtopic-button strong{font-size:17px}
@media(max-width:650px){.subject-grid{grid-template-columns:1fr}.subject-button{min-height:105px}}

.qualification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 18px}.qualification-button{font-family:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-height:220px;padding:27px;border:1px solid #e3e6da;border-radius:22px;background:#fffefb;color:#243a31;text-align:left;cursor:pointer;transition:background .15s,transform .15s}.qualification-button strong{font:800 23px/1.2 Manrope,Arial,sans-serif}.qualification-button:hover{background:#edf3e9;transform:translateY(-2px)}#qualification-message{min-height:24px}@media(max-width:800px){.qualification-grid{grid-template-columns:1fr}.qualification-button{min-height:140px}}
