.spx{--ink:#152d46;--blue:#086ca7;--teal:#087a69;--orange:#ec6f32;--paper:#fff;color:var(--ink);font-family:'Poppins',system-ui,sans-serif;max-width:1180px;margin:24px auto;padding:0 20px 30px;line-height:1.65}.spx *{box-sizing:border-box}.spx h1,.spx h2,.spx h3,.spx p{color:inherit!important}.spx h1{font-size:clamp(32px,5vw,60px);line-height:1.12;font-weight:800;margin:18px 0}.spx h2{font-size:24px;line-height:1.3;font-weight:800}.spx h3{font-size:19px;font-weight:700}.spx p{font-size:15px}.spx button,.spx a{touch-action:manipulation}.spx button{font-family:inherit;cursor:pointer}.spx a{text-decoration:none}.spx button:focus-visible,.spx a:focus-visible{outline:3px solid #e46d00;outline-offset:4px}.spx-hero{background:linear-gradient(120deg,#005c84,#087a75);color:#fff;border-radius:30px;padding:40px;display:grid;grid-template-columns:1.5fr 1fr;gap:25px;overflow:hidden;box-shadow:0 14px 40px #075e841c}.spx-hero p{max-width:590px;color:#e7faff!important}.spx-tag{font-size:11px;letter-spacing:1.4px;font-weight:800;display:block}.spx-orbit{display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle,#ffffff18 0 55%,transparent 56%);min-height:230px;transform:rotate(-5deg)}.spx-orbit span{background:#ffdb70;color:#163651;padding:8px 24px;border-radius:18px;font-size:28px;font-weight:800}.spx-orbit b{font-size:88px;line-height:1.6}.spx-orbit small{font-size:10px;letter-spacing:1.5px;color:#fff}.spx-btn{background:var(--blue);border:0;border-radius:14px;padding:13px 20px;color:white!important;font-weight:700;font-size:14px;display:inline-block;text-align:center;box-shadow:0 4px 0 #034776;transition:transform .15s}.spx-btn:hover{transform:translateY(-2px)}.spx-white{background:#ffdc73;color:#18364b!important;box-shadow:0 4px 0 #caa640}.spx-secondary{background:#eef6ff;color:#125e8d!important;box-shadow:none;border:1px solid #c6ddeb}.spx-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 10px;gap:15px}.spx-heading span{font-size:13px}.spx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.spx-chapter,.spx-coming{border:1px solid #d9e7ee;background:#fff;border-radius:24px;padding:28px;color:var(--ink)!important}.spx-chapter{border-top:7px solid #ffbf47;box-shadow:0 8px 22px #1f426710}.spx-chapter strong{display:block;margin-top:25px;color:#075f93}.spx-coming{background:#f0f7fb;border-style:dashed}.spx-big{display:block;font-size:48px;margin-bottom:18px}.spx-chip{display:inline-block;border-radius:20px;background:#eaf5f8;padding:5px 10px;font-size:11px;font-weight:700}.spx-note{margin:25px 0;color:#475f74!important;background:#f1f7fb;border-radius:15px;padding:16px;font-size:13px!important}.spx-breadcrumb{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:13px}.spx-breadcrumb a{color:#09699d}.spx-breadcrumb button{margin-left:auto;border:1px solid #cadde7;background:white;border-radius:20px;padding:8px 14px;color:var(--ink)}.spx-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;gap:15px}.spx-stats div{border:1px solid #d6e8f0;border-radius:19px;background:#fff;padding:18px;text-align:center}.spx-stats strong{display:block;font-size:27px;color:#06746d}.spx-stats span{font-size:12px}.spx-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.spx-map{background:#f2f7fb;border-radius:24px;padding:19px;position:sticky;top:16px}.spx-map h2{font-size:18px;margin:0 0 16px}.spx-mission{display:flex;width:100%;align-items:center;text-align:left;gap:10px;border:1px solid transparent;background:transparent;padding:12px 8px;border-radius:13px;color:var(--ink);font-size:12px;margin-bottom:5px}.spx-mission span{font-size:23px}.spx-mission.active{background:#fff;border-color:#8ecfc5;box-shadow:0 3px 10px #1b465c0d}.spx-mission small{margin-left:auto;color:#057064;white-space:nowrap}.spx-map .spx-btn{display:block;width:100%;margin-top:12px;font-size:12px;padding:12px 8px}.spx-panel{background:#fff;border:1px solid #d9e5ef;border-radius:25px;padding:28px;min-width:0;box-shadow:0 7px 25px #153b570b}.spx-lesson-header{display:flex;gap:15px;align-items:center;border-bottom:1px solid #e5eef4;padding-bottom:20px;margin-bottom:22px}.spx-lesson-header>span{font-size:44px;background:#fff2d0;border-radius:20px;padding:10px}.spx-lesson-header h2{margin:5px 0}.spx-rule{background:#f1f8fc;border-left:5px solid #00a091;border-radius:12px;padding:15px 18px;margin:14px 0}.spx-rule:nth-child(2n){background:#fff8e5;border-left-color:#f4ad21}.spx-rule h3{margin:0 0 7px}.spx-rule p{margin:0}.spx-section{margin-top:26px}.spx-example{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dce8ed;padding:15px;border-radius:14px;margin:10px 0}.spx-example div{flex:1;min-width:0}.spx-example strong{display:block;font-size:17px;color:#075b82}.spx-example small{font-size:13px;color:#4e6476}.spx-audio{border:1px solid #b8d7e4;border-radius:12px;background:#edf8ff;min-width:42px;min-height:42px;color:#16435d;padding:8px}.spx-audio.speaking{background:#ffdd77}.spx-vocab{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.spx-word{padding:13px;border:1px solid #d8e7f0;background:#fbfdff;border-radius:13px;display:flex;align-items:center;gap:8px}.spx-word div{flex:1;overflow-wrap:anywhere}.spx-word strong{font-size:13px;display:block}.spx-word small{font-size:12px;color:#527087}.spx-word .spx-audio{min-width:34px;min-height:34px;padding:5px}.spx-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.spx-message{padding:14px;border-radius:13px;background:#e9f8f0;color:#125337;margin-top:15px}.spx-message.bad{background:#fff1e8;color:#853c0b}.spx-progress{height:9px;background:#e5f0f5;border-radius:20px;overflow:hidden;margin:15px 0 25px}.spx-progress span{height:100%;display:block;background:linear-gradient(90deg,#16a894,#ffd064);transition:width .3s}.spx-quiz-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.spx-question{font-size:23px!important;line-height:1.4;margin:25px 0!important}.spx-options{display:grid;gap:12px}.spx-choice{background:white;border:2px solid #d8e7ef;border-radius:16px;padding:17px;text-align:left;font-size:16px;color:var(--ink);display:flex;align-items:center;gap:12px}.spx-choice b{border-radius:9px;background:#edf4f9;width:30px;min-width:30px;text-align:center;padding:3px}.spx-choice:hover:enabled{border-color:#1b88ad;background:#f0faff}.spx-choice.right{background:#def6eb;border-color:#15905e}.spx-choice.wrong{background:#fff0e6;border-color:#e58b49}.spx-choice:disabled{opacity:1;cursor:default}.spx-result{text-align:center;padding:22px 0}.spx-result .spx-big{font-size:70px}.spx-result strong{font-size:42px;color:#057a68}.spx-flash{border:2px dashed #e3bd63;border-radius:20px;background:#fff9e9;min-height:170px;text-align:center;padding:25px;width:100%;color:var(--ink)}.spx-flash strong{font-size:25px;display:block}.spx-flash span{display:block;font-size:13px;margin-top:15px}.spx-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;margin:15px 0}.spx-toolbar select{background:white;color:var(--ink);padding:8px;border-radius:9px;border:1px solid #b7d1df;max-width:100%}.spx-error-item{background:#fff5e7;border-radius:12px;text-align:left;padding:15px;margin-top:12px}.spx-error-item p{margin:3px 0}.spx-confetti{font-size:24px;letter-spacing:10px;animation:spx-pop .6s ease-out}@keyframes spx-pop{from{transform:scale(.7)}to{transform:scale(1)}}@media(max-width:850px){.spx-layout{grid-template-columns:1fr}.spx-map{position:static}.spx-map #spx-missions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.spx-map .spx-btn{width:auto;display:inline-block;margin-right:5px}.spx-hero{padding:28px;grid-template-columns:1fr .65fr}.spx-orbit b{font-size:64px}}@media(max-width:540px){.spx{padding:0 12px 20px;margin-top:15px}.spx-hero{padding:25px;grid-template-columns:1fr;border-radius:22px}.spx-orbit{display:none}.spx-stats{gap:7px}.spx-stats div{padding:12px 5px}.spx-stats strong{font-size:23px}.spx-stats span{font-size:10px}.spx-panel{padding:19px}.spx-map #spx-missions{grid-template-columns:1fr}.spx-heading{display:block}.spx-example{flex-wrap:wrap}.spx-example div{flex-basis:70%}.spx-question{font-size:20px!important}.spx-choice{font-size:14px;padding:14px}.spx-lesson-header{align-items:flex-start}.spx-lesson-header>span{font-size:30px;padding:8px}.spx-lesson-header h2{font-size:21px}.spx-breadcrumb button{margin-left:0}.spx-vocab{grid-template-columns:repeat(2,minmax(0,1fr))}.spx-word{padding:9px;flex-wrap:wrap}.spx-actions .spx-btn{width:100%}}@media(prefers-reduced-motion:reduce){.spx *{animation:none!important;transition:none!important}}
/* Capitolo ampliato: indice esplicito, tabelle e laboratorio dei verbi. */
.spx-topics-section{margin:28px 0}.spx-topics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.spx-topic{display:flex;align-items:flex-start;flex-direction:column;text-align:left;border:1px solid #c8dfe9;border-radius:17px;background:#fff;padding:17px 13px;color:var(--ink);gap:7px;box-shadow:0 4px 12px #123d5910}.spx-topic:hover{border-color:#008c7f;background:#effbf8}.spx-topic>span{font-size:27px}.spx-topic strong{font-size:12px;line-height:1.4}.spx-topic small{font-size:10px;color:#356077}.spx-map-group{font-size:11px!important;letter-spacing:.5px;text-transform:uppercase;margin:17px 0 8px!important;color:#476578!important;grid-column:1/-1}.spx-map #spx-missions{max-height:620px;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}.spx-table-section{margin:26px 0}.spx-table-scroll{overflow:auto;max-width:100%;border-radius:15px;border:1px solid #cadee9}.spx-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6;text-align:left;background:#fff}.spx-table th,.spx-table td{padding:12px;border:0;border-bottom:1px solid #dce7ee;vertical-align:middle;white-space:normal;min-width:85px}.spx-table thead th{background:#08756d;color:#fff;font-size:12px}.spx-table tbody th{font-weight:600;background:#eef7fc;color:#203e54}.spx-table tbody tr:nth-child(even) td{background:#f6fafc}.spx-table tbody tr:last-child th,.spx-table tbody tr:last-child td{border-bottom:0}.spx-verb{white-space:nowrap;font-weight:800;font-size:17px;display:inline-flex;align-items:baseline;gap:0}.spx-root{color:#086399}.spx-ending{color:#9c3c00;background:#ffdda9;padding:1px 5px;border-radius:5px;box-shadow:inset 0 -2px 0 #ecb66e}.spx-pronoun{color:#076652;background:#d9f4e9;padding:1px 5px;border-radius:5px;margin-right:6px}.spx-builder{padding:22px;background:linear-gradient(120deg,#eefaff,#fff8e6);border:2px solid #bcdfe5;border-radius:20px;margin:24px 0}.spx-builder-controls{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:16px 0}.spx-builder-controls label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:5px;color:var(--ink)}.spx-builder-controls select{width:100%;font:inherit;border:1px solid #b5d2df;background:#fff;color:var(--ink);padding:10px;border-radius:10px}.spx-build-form{background:#fff;padding:18px;border-radius:14px;margin:18px 0 8px;overflow-x:auto}.spx-build-form .spx-verb{font-size:34px}.spx-legend{display:flex;flex-wrap:wrap;gap:13px;font-size:12px!important}.spx select:focus-visible{outline:3px solid #e46d00;outline-offset:3px}@media(max-width:1000px){.spx-topics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.spx-map #spx-missions{max-height:380px}}@media(max-width:540px){.spx-topics{grid-template-columns:repeat(2,minmax(0,1fr))}.spx-topic{padding:13px}.spx-builder{padding:15px}.spx-builder-controls{grid-template-columns:1fr}.spx-build-form .spx-verb{font-size:29px}.spx-table th,.spx-table td{padding:10px 9px}.spx-verb{font-size:15px}}
.spx [hidden]{display:none!important}

/* Contrasto esplicito: prevale anche sui colori globali dei pulsanti. */
#spx-app button.spx-topic{background:#08645a!important;color:#ffffff!important;border:1px solid #06564e!important;box-shadow:0 4px 12px #123d5918!important}
#spx-app button.spx-topic:hover,#spx-app button.spx-topic:focus-visible{background:#054d45!important;color:#ffffff!important}
#spx-app button.spx-topic strong,#spx-app button.spx-topic small{color:#ffffff!important;opacity:1!important}
#spx-app button.spx-topic small{font-size:12px;font-weight:600}
#spx-app .spx-stats>div{background:#ffffff!important;color:#152d46!important}
#spx-app .spx-stats span{display:block;color:#152d46!important;font-weight:700}
#spx-app .spx-stats small{display:block;color:#3b5368!important;font-size:12px;line-height:1.6;margin:10px auto 0;max-width:260px}
#spx-app .spx-progress-help{background:#f0f7fb;color:#152d46!important;border:1px solid #c8dfe9;border-radius:16px;padding:16px 20px;margin:0 0 24px}
#spx-app .spx-progress-help summary{cursor:pointer;font-weight:700;font-size:14px;color:#075f63!important}
#spx-app .spx-progress-help p{font-size:13px;margin:15px 0 0;line-height:1.7}
@media(max-width:540px){#spx-app .spx-stats{grid-template-columns:1fr}#spx-app .spx-stats>div{padding:16px}#spx-app .spx-stats small{max-width:100%}}
.spx-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.spx-color-card{border:1px solid #cbdde6;border-radius:15px;background:#fff;padding:12px;display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;color:#152d46}.spx-color-card strong{font-size:16px}.spx-color-card small{font-size:12px;color:#3b5368}.spx-swatch{display:block;width:100%;height:70px;border-radius:10px;border:1px solid #a9bdc9}.spx-search{border:1px solid #bfdfe4;border-radius:22px;background:#edf8fa;color:#152d46;padding:24px;margin:24px 0}.spx-search h2{margin:0 0 10px}.spx-search p{font-size:13px!important}.spx-search-fields{display:grid;grid-template-columns:1.5fr 1fr auto;gap:12px;align-items:end}.spx-search-fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#152d46}.spx-search-fields input,.spx-search-fields select{width:100%;min-width:0;font-family:inherit;font-size:14px;padding:12px;border:1px solid #9ebfce;border-radius:11px;background:#fff!important;color:#152d46!important;min-height:48px}.spx-search-fields input::placeholder{color:#536a7b;opacity:1}#spx-search button{background:#08645a!important;color:#fff!important;border:1px solid #06564e!important;box-shadow:none!important;border-radius:11px;min-height:48px;padding:12px 19px;font-weight:700}#spx-search .spx-search-result{display:flex;gap:14px;align-items:center;background:#fff!important;color:#152d46!important;border:1px solid #c6dfe8;border-radius:14px;padding:17px;margin-top:10px;text-decoration:none!important}#spx-search .spx-search-result:hover{border-color:#08756d;background:#f7fffd!important}#spx-search .spx-search-result>span{font-size:27px}#spx-search .spx-search-result div{flex:1;min-width:0}#spx-search .spx-search-result strong{display:block;color:#085e69!important;font-size:15px}#spx-search .spx-search-result small{color:#3d5c72!important;font-size:11px}#spx-search .spx-search-result p{margin:5px 0 0;color:#344f65!important;font-weight:400}#spx-search-status{margin:15px 0 0;color:#344f65!important}#spx-search input:focus-visible{outline:3px solid #e46d00;outline-offset:3px}@media(max-width:850px){.spx-search-fields{grid-template-columns:1fr 1fr}.spx-search-fields button{grid-column:1/-1}}@media(max-width:540px){.spx-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.spx-search{padding:18px}.spx-search-fields{grid-template-columns:1fr}.spx-search-result p{display:none}}

/* Contrasto e stato delle sezioni, anche con il tema generale del sito. */
#spx-app button.spx-audio{background:#ffdc73!important;color:#18364b!important;border:2px solid #d1a329!important;box-shadow:0 3px 0 #d1a329!important}
#spx-app button.spx-audio:hover{background:#ffca3a!important}
#spx-app button.spx-audio.speaking{background:#ffc13b!important;outline:3px solid #08645a;outline-offset:2px}
#spx-app button.spx-mission{background:#eaf2f8!important;color:#152d46!important;border:2px solid transparent!important}
#spx-app button.spx-mission.visited{background:#fff0a8!important;color:#152d46!important;border-color:#dfbd42!important}
#spx-app button.spx-mission.active{background:#ffd36b!important;color:#152d46!important;border-color:#ad6400!important;box-shadow:0 3px 0 #d1a329!important;font-weight:800}
#spx-app button.spx-mission div,#spx-app button.spx-mission small{color:#152d46!important}
#spx-app .spx-map-legend{font-size:11px!important;line-height:1.6;color:#344f65!important;margin:0 0 15px}
#spx-app .spx-breadcrumb a,#spx-app .spx-breadcrumb a:visited{display:inline-block;background:#ffdc73!important;color:#18364b!important;border:2px solid #d1a329;border-radius:12px;padding:9px 14px;font-weight:800;text-decoration:none!important}
#spx-app .spx-breadcrumb a:hover{background:#ffca3a!important;color:#18364b!important}
#spx-catalog .spx-chapter-number{display:inline-block;background:#ffdc73!important;color:#18364b!important;font-size:22px;font-weight:900;letter-spacing:.5px;padding:9px 17px;border-radius:12px;border:2px solid #d1a329;margin-bottom:8px}

#spx-catalog .spx-hub-lessons{margin-top:20px}#spx-catalog .spx-hub-lessons summary{cursor:pointer;font-weight:800;color:#18364b;background:#ffdc73;padding:12px;border-radius:12px}#spx-catalog .spx-hub-lessons a{display:block;padding:12px;margin-top:6px;background:#eef7fa!important;color:#18364b!important;border-radius:10px;font-size:13px}#spx-catalog .spx-hub-lessons a:hover{background:#fff0a8!important}#spx-catalog .spx-chapter-progress{color:#18364b!important;background:#fff5cc;padding:14px;border-radius:12px;font-size:13px}

#spx-catalog a.spx-btn,#spx-catalog a.spx-btn:visited{background:#ffdc73!important;color:#18364b!important;border:2px solid #d1a329!important;box-shadow:0 3px 0 #d1a329!important}#spx-catalog a.spx-btn:hover{background:#ffca3a!important;color:#18364b!important}#spx-catalog .spx-expand-hint{display:block;font-size:12px;margin-top:5px;color:#18364b!important}#spx-catalog .spx-hub-lessons[open] summary{background:#ffc75b}#spx-catalog .spx-xp-board{background:linear-gradient(135deg,#075c82,#08645a);color:#fff;border-radius:25px;padding:26px;margin:24px 0}#spx-catalog .spx-xp-board h2,#spx-catalog .spx-xp-board p{color:#fff!important}#spx-catalog .spx-xp-number{font-size:44px;font-weight:900;color:#ffdc73}#spx-catalog .spx-unlocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:20px}#spx-catalog .spx-unlock{background:#fff;color:#18364b;border-radius:17px;padding:18px;border:3px solid #ffdc73}#spx-catalog .spx-unlock h3,#spx-catalog .spx-unlock p{color:#18364b!important}#spx-catalog .spx-unlock p{font-size:13px}#spx-catalog .spx-unlock.locked{background:#e8eff3;border-color:#b8cbd5}#spx-catalog .spx-unlock.locked span{display:block;font-weight:800;color:#344f65}#spx-catalog .spx-music{background:#fff1c7;border:2px solid #dfbd42;border-radius:23px;padding:25px;margin-top:25px;color:#18364b}#spx-catalog .spx-xp-board .spx-progress{margin:14px 0}

#spx-catalog .spx-song{background:#fff;border:2px solid #e4c252;border-radius:20px;padding:22px;color:#18364b}#spx-catalog .spx-song .spx-big{margin:0 0 8px}#spx-video-modal{width:min(960px,94vw);max-width:94vw;max-height:92dvh;padding:0;border:2px solid #ffdc73;border-radius:22px;background:#102b40!important;color:#fff!important;box-shadow:0 25px 90px #0008;overflow:auto}#spx-video-modal::backdrop{background:#061926dc}#spx-video-modal .spx-video-head{display:flex;align-items:center;gap:15px;padding:17px 20px}#spx-video-title{flex:1;color:#fff!important;font-family:system-ui,sans-serif;font-size:20px;margin:0;line-height:1.4}#spx-video-close{background:#ffdc73!important;color:#18364b!important;border:0!important;border-radius:12px;min-width:46px;min-height:46px;font-size:23px;font-weight:900;cursor:pointer;box-shadow:none!important}#spx-video-close:focus-visible{outline:3px solid white;outline-offset:3px}#spx-video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}#spx-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}#spx-video-modal .spx-video-help{color:#fff!important;font:14px/1.6 system-ui,sans-serif;padding:15px 20px;margin:0}#spx-video-external{display:block;color:#ffdc73!important;text-decoration:underline!important}@media(max-width:540px){#spx-video-title{font-size:16px}#spx-video-modal .spx-video-head{padding:12px}}
