/* DUVEO English — isolated, mobile-first interface. No remote assets. */
.duveo-english{--de-ink:#f2f8ff;--de-muted:#b9cbe1;--de-line:#344d68;--de-night:#0b182b;--de-surface:#152840;--de-soft:#1c344d;--de-teal:#68e0c3;--de-sky:#8acbff;--de-gold:#f5d084;color:var(--de-ink);background:radial-gradient(ellipse at 15% -12%,#214466,transparent 46%),var(--de-night);border-radius:23px;overflow:hidden;font:15px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif;min-width:0;isolation:isolate}
.duveo-english *{box-sizing:border-box}
.duveo-english button{color:inherit;font:inherit;cursor:pointer}
.duveo-english button:disabled{opacity:.48;cursor:not-allowed}
.duveo-english button:focus-visible{outline:3px solid var(--de-gold);outline-offset:4px}
.duveo-english h1,.duveo-english h2,.duveo-english h3,.duveo-english h4{color:inherit;margin:0;line-height:1.22}
.duveo-english p{color:inherit;margin:0 0 1em}
.duveo-english .de-muted{color:var(--de-muted)}
.duveo-english .de-brandbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:19px 26px;border-bottom:1px solid var(--de-line);background:#101f36}
.duveo-english .de-logo{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.01em;font-size:19px}
.duveo-english .de-logo-mark{display:grid;place-items:center;border-radius:13px;color:#0b273d;background:linear-gradient(135deg,#8ee5f8,#7af0d7);font-weight:950;width:39px;height:39px}
.duveo-english .de-brand-caption{font-size:11px;color:var(--de-muted);font-weight:600;display:block;letter-spacing:.08em;text-transform:uppercase}
.duveo-english .de-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:650;font-size:13px}
.duveo-english .de-pill{border:1px solid #466481;border-radius:50px;padding:7px 12px;background:#1a324e;color:#dff2ff}
.duveo-english .de-hero{padding:34px clamp(16px,4vw,46px) 25px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(205px,.6fr);gap:27px;align-items:center}
.duveo-english .de-eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#83d7d6;font-size:11px;font-weight:850;margin-bottom:12px}
.duveo-english .de-hero h1{font-size:clamp(27px,3.6vw,46px);letter-spacing:-.04em;margin:0 0 15px;max-width:700px}
.duveo-english .de-hero p{max-width:680px;color:#c6d8e9;line-height:1.7;font-size:15px}
.duveo-english .de-accent{color:var(--de-teal)}
.duveo-english .de-hero-card{border:1px solid #426480;border-radius:24px;padding:22px;background:linear-gradient(135deg,#244466,#15304d)}
.duveo-english .de-meter{height:12px;background:#2f4966;border-radius:20px;overflow:hidden;margin:12px 0}
.duveo-english .de-meter>span{display:block;background:linear-gradient(90deg,#69d9c0,#87cbfa);height:100%;border-radius:inherit;transition:width .32s}
.duveo-english .de-stat{display:flex;align-items:baseline;gap:9px}
.duveo-english .de-stat strong{font-size:32px;letter-spacing:-.04em}
.duveo-english .de-subhead{padding:10px clamp(16px,4vw,46px) 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.duveo-english .de-subhead h2{font-size:22px}
.duveo-english .de-route{padding:0 clamp(16px,4vw,46px) 40px}
.duveo-english .de-level{margin-bottom:24px;position:relative}
.duveo-english .de-level-title{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font-size:14px;margin-bottom:11px}
.duveo-english .de-level-title strong{color:#e2f7ff;font-size:17px}
.duveo-english .de-level-title span{color:#9cb7d2}
.duveo-english .de-module-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px}
.duveo-english .de-module-card{min-width:0;display:flex;align-items:center;gap:15px;text-align:left;border:1px solid #3d5a76;border-radius:20px;background:#142a43;padding:19px;min-height:109px;transition:transform .2s,background .2s,border-color .2s}
.duveo-english .de-module-card:not(:disabled):hover{background:#20415d;border-color:#83dacc;transform:translateY(-2px)}
.duveo-english .de-module-card.is-current{border-color:#75e2c9;box-shadow:inset 0 0 0 1px #75e2c9}
.duveo-english .de-module-card.is-done{background:#163d46;border-color:#4ab79f}
.duveo-english .de-module-card.is-locked{background:#101e31;border-color:#2e435b}
.duveo-english .de-step-icon{height:52px;width:52px;border-radius:17px;display:grid;place-items:center;background:#294761;color:#eaf7ff;font-size:26px;flex:0 0 auto}
.duveo-english .is-current .de-step-icon{background:#bbeee1;color:#093a38}
.duveo-english .is-done .de-step-icon{background:#2c776b}
.duveo-english .de-card-kicker{font-size:11px;color:#88aec8;letter-spacing:.08em;font-weight:800;margin-bottom:3px}
.duveo-english .de-card-title{font-weight:800;font-size:15px;line-height:1.3}
.duveo-english .de-card-state{font-size:12px;color:#a9bdce;margin-top:5px}
.duveo-english .de-back{border:0;background:transparent;color:#b4defa;padding:8px 0;font-size:13px;font-weight:750;text-align:left}
.duveo-english .de-lesson-header{padding:24px clamp(16px,3vw,32px) 17px;border-bottom:1px solid var(--de-line)}
.duveo-english .de-lesson-header h1{font-size:clamp(25px,3vw,35px);letter-spacing:-.035em;margin:9px 0 10px}
.duveo-english .de-lesson-header p{color:#bdd1e5;max-width:800px}
.duveo-english .de-lesson-layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:560px}
.duveo-english .de-stepnav{background:#10243b;border-right:1px solid var(--de-line);padding:20px 11px}
.duveo-english .de-step-button{display:flex;width:100%;text-align:left;align-items:center;gap:10px;border:0;border-radius:13px;background:transparent;padding:12px 9px;color:#bfd2e4;font-size:13px;margin-bottom:8px}
.duveo-english .de-step-button.is-active{background:#294863;color:#fff;font-weight:800}
.duveo-english .de-step-button.is-done{color:#95e4c9}
.duveo-english .de-step-index{display:grid;place-items:center;border:1px solid #527390;border-radius:50%;width:28px;height:28px;flex:0 0 auto;font-size:12px}
.duveo-english .de-work{padding:clamp(16px,3vw,34px);min-width:0}
.duveo-english .de-step-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:17px}
.duveo-english .de-step-top h2{font-size:clamp(21px,2.6vw,28px)}
.duveo-english .de-label{font-size:12px;font-weight:780;color:#98dfe2;text-transform:uppercase;letter-spacing:.13em;margin-bottom:6px}
.duveo-english .de-stage-copy{color:#d0ddeb;max-width:780px;margin-bottom:16px}
.duveo-english .de-scene{position:relative;border:1px solid #5c7892;border-radius:22px;overflow:hidden;background:#c0d5e8;aspect-ratio:960/520}
.duveo-english .de-scene img{display:block;width:100%;height:100%;object-fit:cover}
.duveo-english .de-hotspot{position:absolute;width:clamp(34px,5vw,52px);height:clamp(34px,5vw,52px);border:3px solid white;border-radius:50%;background:#116d85;color:white;box-shadow:0 0 0 6px #116d8580,0 2px 9px #0008;display:grid;place-items:center;font-weight:950;transform:translate(-50%,-50%)}
.duveo-english .de-hotspot.is-found{background:#1a7963;box-shadow:0 0 0 4px #ffffffaa}
.duveo-english .de-hotspot-label{display:inline-block;border-radius:12px;background:#173b52;border:1px solid #6da3a5;padding:11px 15px;margin-top:14px;color:#efffff}
.duveo-english .de-progress-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#adc5db;font-size:13px;margin:15px 0}
.duveo-english .de-btn{background:#80e6ce;color:#0b2730!important;border:1px solid #80e6ce;border-radius:14px;padding:12px 19px;font-weight:850!important;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.duveo-english .de-btn:hover:not(:disabled){background:#adf2e0}
.duveo-english .de-btn:disabled{background:#3d5a61;border-color:#3d5a61;color:#c0d0ce!important}
.duveo-english .de-btn.de-alt{background:#1c3651;color:#e4f3ff!important;border-color:#55738e}
.duveo-english .de-btn.de-alt:hover:not(:disabled){background:#2b4c69}
.duveo-english .de-btn.de-small{padding:9px 12px;min-height:42px;font-size:13px}
.duveo-english .de-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;align-items:center}
.duveo-english .de-reading{background:#f7f9ff;color:#1c3346;border-radius:18px;padding:clamp(18px,3vw,29px);margin-bottom:17px}
.duveo-english .de-reading p{color:#244153;font-size:clamp(16px,1.7vw,19px);line-height:1.85;margin:12px 0}
.duveo-english .de-reading .de-reading-es{border-top:1px solid #c7d9e2;padding-top:14px;color:#536d7b;font-size:15px}
.duveo-english .de-reading-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.duveo-english .de-reading-top strong{color:#426586;font-size:13px}
.duveo-english .de-reading .de-btn{font-size:13px}
.duveo-english .de-question{border:1px solid #3f607a;border-radius:17px;background:#182e47;padding:19px;margin-top:16px}
.duveo-english .de-question h3{font-size:16px;margin-bottom:14px;line-height:1.5}
.duveo-english .de-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.duveo-english .de-option{border:1px solid #57708c;border-radius:11px;background:#213b55;padding:13px 12px;min-height:50px;text-align:left;font-size:14px}
.duveo-english .de-option:hover:not(:disabled){border-color:#a1e9da;background:#30536c}
.duveo-english .de-option.is-correct{background:#1a6056;border-color:#78dec6;color:#fff}
.duveo-english .de-option.is-incorrect{background:#673c47;border-color:#e59a9a}
.duveo-english .de-feedback{font-size:13px;color:#c5e9df;margin-top:12px;line-height:1.6}
.duveo-english .de-vocab{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.duveo-english .de-vcard{border:1px solid #4f708c;border-radius:17px;background:linear-gradient(150deg,#213e5d,#1b324b);min-height:120px;padding:13px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.duveo-english .de-vcard strong{font-size:18px;color:#eaf8ff}
.duveo-english .de-vcard small{color:#a6c7db;font-size:12px}
.duveo-english .de-vcard.is-flipped{background:#1a4a51;border-color:#7dd6c1}
.duveo-english .de-grammar-item{border-left:4px solid #7cd8ca;background:#1b334d;border-radius:0 15px 15px 0;padding:20px;margin:15px 0}
.duveo-english .de-grammar-item h3{margin:0 0 9px;font-size:18px}
.duveo-english .de-grammar-item p{color:#d6e4ef;white-space:pre-line;line-height:1.7}
.duveo-english .de-grammar-example{margin-top:10px;padding:12px 14px;border:1px solid #466782;border-radius:11px}
.duveo-english .de-dialogue{display:grid;gap:10px}
.duveo-english .de-speech{display:flex;gap:12px;align-items:flex-start;border:1px solid #46627f;border-radius:16px;padding:13px;background:#1c334d}
.duveo-english .de-avatar{width:38px;height:38px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#356f81;font-weight:750}
.duveo-english .de-speech p{margin:2px 0 4px;line-height:1.5}
.duveo-english .de-speech small{color:#c1d0dc}
.duveo-english .de-speech .de-btn{margin-left:auto;flex:0 0 auto}
.duveo-english .de-result{border:1px solid #5ba492;border-radius:22px;background:linear-gradient(120deg,#1b5256,#173b51);padding:27px}
.duveo-english .de-result h2{font-size:clamp(24px,3vw,35px);margin-bottom:12px}
.duveo-english .de-result-figure{font-size:58px;font-weight:900;line-height:1.15;letter-spacing:-.06em;color:#b7f8e7}
.duveo-english .de-toast{padding:13px 15px;border:1px solid #5aa794;border-radius:13px;background:#1b564c;color:#ebfff9;margin:13px 0}
.duveo-english .de-footer{border-top:1px solid #2c4560;padding:14px 22px;display:flex;flex-wrap:wrap;gap:13px;justify-content:space-between;color:#9eb4c9;font-size:12px;background:#101f33}
.duveo-english .de-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.duveo-english .de-maya{display:flex;align-items:center;gap:11px;background:#1d3a53;border:1px solid #527b8d;padding:13px 16px;border-radius:15px;margin-bottom:18px}
.duveo-english .de-maya-badge{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;background:#b0eedb;color:#16483a;border-radius:50%;font-weight:900;font-size:23px}
.duveo-english .de-maya strong{font-size:14px}
.duveo-english .de-maya small{display:block;color:#bad0d9}
.duveo-english .de-confetti{position:absolute;pointer-events:none;inset:0;overflow:hidden;z-index:10}
.duveo-english .de-confetti i{position:absolute;width:9px;height:13px;top:-20px;border-radius:2px;animation:de-fall 950ms ease-out both}
@keyframes de-fall{to{transform:translateY(650px) rotate(520deg);opacity:0}}
@media(max-width:900px){.duveo-english .de-lesson-layout{grid-template-columns:1fr}.duveo-english .de-stepnav{display:flex;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--de-line);padding:11px}.duveo-english .de-step-button{flex:0 0 auto;width:auto;margin:0;padding:8px 9px}.duveo-english .de-hero{grid-template-columns:1fr}.duveo-english .de-hero-card{max-width:440px}}
@media(max-width:540px){.duveo-english{border-radius:14px}.duveo-english .de-brandbar{padding:13px}.duveo-english .de-logo{font-size:16px}.duveo-english .de-hero{padding-top:22px}.duveo-english .de-step-button{font-size:12px}.duveo-english .de-step-index{width:25px;height:25px}.duveo-english .de-option-list{grid-template-columns:1fr}.duveo-english .de-work{padding:15px}.duveo-english .de-scene{aspect-ratio:4/3}.duveo-english .de-scene img{object-fit:cover}.duveo-english .de-speech{flex-wrap:wrap}.duveo-english .de-speech .de-btn{margin-left:50px}.duveo-english .de-vocab{grid-template-columns:repeat(2,minmax(0,1fr))}.duveo-english .de-vcard strong{font-size:15px}.duveo-english .de-reading p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.duveo-english *{transition:none!important;animation:none!important}}

/* Dynamic illustrations linked to each passage — 30 contextual scenes across 15 modules. */
.duveo-english .de-story-stage{border:1px solid #6c98b8;border-radius:20px;overflow:hidden;background:#dbe9f8;margin:15px 0 12px;box-shadow:0 14px 32px #06172635}
.duveo-english .de-story-visual{position:relative;aspect-ratio:960/520;background:#b2d0e3;overflow:hidden}
.duveo-english .de-story-visual img{display:block;width:100%;height:100%;object-fit:cover}
.duveo-english .de-story-count{position:absolute;top:12px;left:12px;background:#17375c;color:white;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:800;box-shadow:0 5px 18px #0005}
.duveo-english .de-story-bottom{padding:12px 16px;background:#f2f7ff;color:#18324c;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.duveo-english .de-story-bottom strong{font-size:17px}
.duveo-english .de-story-bottom span{font-size:14px;color:#547087}
.duveo-english .de-story-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 17px;flex-wrap:wrap}
.duveo-english .de-story-dots{display:flex;justify-content:center;gap:10px}
.duveo-english .de-story-dots button{width:14px;height:14px;border:2px solid #9fc3dc;background:transparent;border-radius:50%;cursor:pointer;padding:0}
.duveo-english .de-story-dots button.is-current{background:#69e0c5;border-color:#69e0c5;box-shadow:0 0 0 4px #69e0c530}
.duveo-english .de-active-reading{border:1px solid #abc9dc}
.duveo-english .de-story-phrase{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #c4d6e4;padding:12px 0 16px;color:#41627b}
@media(max-width:650px){.duveo-english .de-story-nav .de-btn{font-size:12px;padding:10px}.duveo-english .de-story-visual{aspect-ratio:960/640}.duveo-english .de-story-visual img{object-fit:cover}.duveo-english .de-story-bottom{display:block}.duveo-english .de-story-bottom span{display:block;margin-top:3px}}
/* v1.2.0 — Visual referents are rendered by the ACTUAL course UI, not only an external mockup. */
.duveo-english .de-visual-intro{font-size:14px;color:#d3e9f4;margin:16px 0 10px;font-weight:650}
.duveo-english .de-context-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:12px 0 23px}
.duveo-english .de-object-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:#f7fbff;color:#213a4d;border:2px solid #8baec7;border-radius:17px;padding:10px;min-width:0;transition:transform .15s,border-color .15s}
.duveo-english .de-object-card:hover{transform:translateY(-2px);border-color:#15bba3}
.duveo-english .de-object-card img{width:100%;max-width:163px;aspect-ratio:350/275;object-fit:contain;border-radius:12px;background:#e5eff7}
.duveo-english .de-object-card strong{color:#163c60;font-size:14px;line-height:1.25;text-align:center;overflow-wrap:anywhere;margin-top:5px}
.duveo-english .de-object-card span{color:#506b80;font-size:13px;text-align:center;overflow-wrap:anywhere}
.duveo-english .de-object-card small{color:#117961;font-size:12px;font-weight:800}
.duveo-english .de-vocab-photo{width:100%;max-height:120px;aspect-ratio:350/275;object-fit:contain;border-radius:13px;margin-bottom:7px;background:#edf6fc}
.duveo-english .de-conversation-stage{display:grid;grid-template-columns: minmax(200px,.85fr) minmax(0,1.15fr);gap:18px;border-radius:22px;padding:19px;border:1px solid #5e859e;background:linear-gradient(135deg,#163958,#295573)}
.duveo-english .de-character-row{display:flex;align-items:stretch;justify-content:center;gap:10px}
.duveo-english .de-character{border:2px solid #7499b1;background:#254766;border-radius:19px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px;min-width:0;flex:1;max-width:160px}
.duveo-english .de-character.is-speaking{border-color:#85edd1;background:#285a67;box-shadow:0 0 0 3px #85edd12c}
.duveo-english .de-character svg{width:100%;max-width:135px;height:auto;border-radius:100%}
.duveo-english .de-character strong{color:#fff;font-size:17px}
.duveo-english .de-character small{color:#d6e9f2;font-size:11px;line-height:1.2;text-align:center}
.duveo-english .de-dialogue-bubble{background:#fff;color:#16364d;align-self:center;border-radius:22px;padding:20px;box-shadow:0 12px 24px #0002}
.duveo-english .de-dialogue-count{color:#3d7086;font-size:11px;letter-spacing:.08em;font-weight:800}
.duveo-english .de-dialogue-bubble h3{color:#174863;margin:7px 0;font-size:19px}
.duveo-english .de-dialogue-main{background:#eaf6ff;border:2px solid #a4cfe8;border-radius:15px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left;width:100%;line-height:1.5}
.duveo-english .de-dialogue-main span{font-weight:800;color:#133b53;font-size:clamp(16px,2vw,20px)}
.duveo-english .de-dialogue-main b{flex:0 0 auto}
.duveo-english .de-dialogue-bubble p{color:#586c78;margin:13px 0 0;font-size:15px}
.duveo-english .de-dialogue-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:16px 0 20px}
.duveo-english .de-dialogue-transcript{margin:10px 0;border-radius:13px;border:1px solid #476681;padding:10px 14px}
.duveo-english .de-dialogue-transcript summary{cursor:pointer;font-weight:750}
.duveo-english .de-dialogue-list{display:grid;gap:8px;margin-top:12px}
.duveo-english .de-dialogue-turn{background:#1a405b;border:1px solid #4e7590;border-radius:11px;padding:11px;display:flex;align-items:center;gap:12px;text-align:left}
.duveo-english .de-dialogue-turn.is-current{border-color:#87dcc4}
.duveo-english .de-dialogue-turn span{flex:1}
.duveo-english .de-dialogue-turn strong{color:#a9f0d7;min-width:68px}
@media(max-width:900px){.duveo-english .de-context-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.duveo-english .de-conversation-stage{grid-template-columns:1fr}}
@media(max-width:440px){.duveo-english .de-context-gallery{gap:7px}.duveo-english .de-object-card{padding:7px}.duveo-english .de-object-card strong{font-size:12px}.duveo-english .de-object-card span{font-size:11px}.duveo-english .de-conversation-stage{padding:11px}.duveo-english .de-dialogue-bubble{padding:14px}}

/* Original DUVEO activities integrated without changing the six-step learning path. */
.duveo-english .de-expansion{margin:22px 0;padding:15px;border:1px solid #486580;border-radius:14px;background:#142e48}
.duveo-english .de-expansion h3{margin:0 0 12px;color:#e4f7ff}
.duveo-english .de-expansion p{line-height:1.5}
.duveo-english .de-extra-phrases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.duveo-english .de-extra-phrases button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-radius:11px;border:1px solid #4c7293;background:#1c405d;color:#eef8ff;padding:12px;text-align:left;cursor:pointer}
.duveo-english .de-extra-phrases button span{color:#cbddec}
.duveo-english .de-extra-phrases button small{color:#91e6cc}
.duveo-english .de-extra-grammar summary{cursor:pointer;font-weight:700;padding:6px}
.duveo-english .de-extra-grammar article{border-top:1px solid #486580;padding-top:12px;margin-top:12px}
.duveo-english .de-level-extra{padding:6px 16px 16px}
.duveo-english .de-final-access{margin:30px 12px;padding:24px;background:linear-gradient(135deg,#152e55,#3b2463);border:1px solid #5e699d;border-radius:18px}
.duveo-english .de-final-access h2{margin:0 0 9px;color:#fff}
.duveo-english .de-final-access p{color:#d2ddef}
.duveo-english .de-extra-shell{padding:16px}
.duveo-english .de-extra-shell .de-work{max-width:950px;margin:20px auto;border-radius:20px;padding:22px}
.duveo-english button:disabled{cursor:not-allowed;opacity:.48}
@media(max-width:640px){.duveo-english .de-extra-phrases{grid-template-columns:1fr}.duveo-english .de-extra-shell{padding:8px}.duveo-english .de-extra-shell .de-work{padding:13px}}


/* DUVEO English v1.5.0 · Diseño aula luminosa, dinámico y accesible.
   CSS limitado al contenedor del curso; no modifica el tema de WordPress. */
.duveo-english{
 --de-ink:#17234b;--de-muted:#526184;--de-line:#dde4f8;--de-night:#f7f9ff;
 --de-surface:#fff;--de-soft:#f1f3ff;--de-teal:#008d82;--de-sky:#336ada;--de-gold:#ffd468;
 color:#19264e;background:linear-gradient(160deg,#f9faff 0%,#effbff 54%,#fff9f7 100%);
 box-shadow:0 16px 46px #242a6220;border:1px solid #e7eafb;font-size:15px;
}
.duveo-english h1,.duveo-english h2,.duveo-english h3,.duveo-english h4{color:#19264e}
.duveo-english .de-muted,.duveo-english .de-card-state{color:#53617c}
.duveo-english button:focus-visible{outline:3px solid #5c43d7;outline-offset:3px}
.duveo-english .de-brandbar{background:#fff;color:#1a2856;border-color:#e5e8fa;padding:16px clamp(16px,3vw,40px);box-shadow:0 3px 14px #242a6209}
.duveo-english .de-logo{font-size:21px;letter-spacing:-.045em}
.duveo-english .de-logo-mark{background:linear-gradient(145deg,#6c46e6,#2676ff);color:#fff;border-radius:15px;box-shadow:0 7px 18px #5a49bc39}
.duveo-english .de-accent{color:#6e44e3}
.duveo-english .de-brand-caption{color:#647292;letter-spacing:.05em}
.duveo-english .de-tools{gap:9px}
.duveo-english .de-pill{background:#f2f3ff;border:1px solid #dbdfff;color:#443b91;border-radius:99px;font-weight:750}
.duveo-english .de-hero{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:minmax(0,1.35fr) minmax(235px,.65fr);
 background:linear-gradient(115deg,#6647df 0%,#5358e8 47%,#2b89d9 100%);color:#fff;
 padding:clamp(34px,5vw,62px) clamp(20px,5vw,64px);gap:26px;border-radius:0 0 35px 35px}
.duveo-english .de-hero:before,.duveo-english .de-hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none}
.duveo-english .de-hero:before{width:360px;height:360px;top:-220px;right:18%;background:#ffffff14}
.duveo-english .de-hero:after{width:240px;height:240px;bottom:-160px;left:35%;background:#7bfff326}
.duveo-english .de-hero h1{color:#fff;font-size:clamp(32px,4vw,54px);letter-spacing:-.045em;line-height:1.12;margin:0 0 18px;max-width:780px}
.duveo-english .de-hero h1 .de-accent{color:#ffdf78}
.duveo-english .de-hero p{color:#f2f3ff;font-size:clamp(15px,1.45vw,17px);line-height:1.72}
.duveo-english .de-hero .de-eyebrow{color:#d6fff7;font-size:12px;letter-spacing:.1em}
.duveo-english .de-hero .de-actions{margin-top:20px}
.duveo-english .de-hero .de-btn{background:#ffdd76;border-color:#ffdd76;color:#302248!important;box-shadow:0 10px 22px #160b5933}
.duveo-english .de-hero .de-btn:hover:not(:disabled){background:#ffebae;transform:translateY(-2px)}
.duveo-english .de-hero-card{position:relative;overflow:hidden;background:#fff;border:1px solid #ffffffad;color:#243159;border-radius:27px;padding:26px;box-shadow:0 24px 50px #1d286b37;transform:rotate(1deg)}
.duveo-english .de-hero-card:before{content:"✦";position:absolute;right:18px;top:10px;color:#ffae63;font-size:32px}
.duveo-english .de-hero-card .de-eyebrow{color:#6350cb}
.duveo-english .de-hero-card .de-stat strong{font-size:45px;color:#4d3fb9}
.duveo-english .de-hero-card .de-muted{color:#5e6781}
.duveo-english .de-meter{background:#e5e9fd;height:11px;overflow:hidden}
.duveo-english .de-meter>span{background:linear-gradient(90deg,#6e46ef,#21b8b0);border-radius:inherit}
.duveo-english .de-hero-benefits{display:flex;flex-wrap:wrap;gap:9px;margin-top:21px;max-width:730px}
.duveo-english .de-hero-benefits span{display:inline-flex;align-items:center;gap:5px;color:#fff;font-size:12px;font-weight:750;border:1px solid #ffffff56;border-radius:30px;padding:7px 11px;background:#ffffff20;backdrop-filter:blur(6px)}
.duveo-english .de-subhead{padding:34px clamp(18px,4vw,50px) 17px}
.duveo-english .de-subhead h2{font-size:clamp(23px,2.5vw,30px);letter-spacing:-.025em}
.duveo-english .de-route{padding:0 clamp(18px,4vw,50px) 40px}
.duveo-english .de-level{background:#ffffffcd;border:1px solid #e5e8fc;border-radius:24px;padding:20px 18px 6px;margin-bottom:17px;box-shadow:0 8px 23px #1c245909}
.duveo-english .de-level-title{align-items:center;margin-bottom:15px;gap:9px}
.duveo-english .de-level-title strong{color:#4535aa;font-size:18px}
.duveo-english .de-level-title span{color:#596a89}
.duveo-english .de-module-card{background:#fff;border:1px solid #e0e4f6;border-radius:18px;color:#29325c;box-shadow:0 5px 15px #38437b0b;padding:17px;min-height:106px;transition:transform .2s,box-shadow .2s,border-color .2s}
.duveo-english .de-module-card:not(:disabled):hover{background:#fff;border-color:#7762f3;transform:translateY(-4px);box-shadow:0 12px 25px #6659aa23}
.duveo-english .de-module-card.is-current{background:#f6f4ff;border-color:#8373ff;box-shadow:inset 0 0 0 1px #8874ff}
.duveo-english .de-module-card.is-done{background:#e9faf5;border-color:#6ad9bb}
.duveo-english .de-module-card.is-locked{background:#f5f6fa;border-color:#e4e6ee}
.duveo-english .de-step-icon{border-radius:17px;background:#e9e7ff;color:#5543c9;font-size:25px}
.duveo-english .is-current .de-step-icon{background:linear-gradient(135deg,#6b4de0,#3d78f4);color:#fff}
.duveo-english .is-done .de-step-icon{background:#c9f5e7;color:#106c59}
.duveo-english .de-card-kicker{color:#6853ca}
.duveo-english .de-card-title{color:#222e53}
.duveo-english .de-back{color:#5041b2}
.duveo-english .de-lesson-header{background:linear-gradient(118deg,#ede9ff,#ebf9ff 72%,#fff5ed);padding:27px clamp(18px,4vw,47px);border-bottom:1px solid #e1e7fc}
.duveo-english .de-lesson-header h1{color:#1f2856;font-size:clamp(28px,3.2vw,40px)}
.duveo-english .de-lesson-header p{color:#455672;font-size:15px}
.duveo-english .de-eyebrow,.duveo-english .de-label{color:#5f48bb}
.duveo-english .de-lesson-layout{grid-template-columns:minmax(225px,245px) minmax(0,1fr);background:#f9faff}
.duveo-english .de-stepnav{background:#fff;border-color:#e2e6f7;padding:22px 12px}
.duveo-english .de-step-button{color:#475674;border-radius:15px;margin-bottom:7px;transition:background .18s,transform .18s}
.duveo-english .de-step-button:hover:not(:disabled){background:#f1edff;transform:translateX(2px)}
.duveo-english .de-step-button.is-active{color:#fff;background:linear-gradient(105deg,#6947dc,#526ff1);box-shadow:0 7px 14px #6254c72b}
.duveo-english .de-step-button.is-done{color:#087a6a}
.duveo-english .de-step-index{border-color:#c5cdf1;color:inherit;background:#ffffff30}
.duveo-english .de-work{background:#f9faff;color:#1d2b4d;padding:clamp(20px,3.4vw,38px)}
.duveo-english .de-step-top{padding-bottom:8px;border-bottom:1px solid #e8eafb;margin-bottom:24px}
.duveo-english .de-step-top h2{font-size:clamp(23px,2.7vw,31px)}
.duveo-english .de-stage-copy{color:#4b5a78;font-size:15px}
.duveo-english .de-visual-intro{color:#405477}
.duveo-english .de-scene,.duveo-english .de-story-stage{border:1px solid #c9d1f3;box-shadow:0 12px 28px #344c7b12}
.duveo-english .de-hotspot{background:#5c40d7;box-shadow:0 0 0 6px #6342d76b,0 3px 8px #20204c49}
.duveo-english .de-hotspot-label{background:#efedff;color:#382c83;border-color:#c6bdfb}
.duveo-english .de-progress-hint{color:#5a6683}
.duveo-english .de-btn{background:#5c46d6;border-color:#5c46d6;color:#fff!important;border-radius:13px;box-shadow:0 5px 14px #5950bd25;transition:transform .17s,background .17s}
.duveo-english .de-btn:hover:not(:disabled){background:#4736bc;transform:translateY(-2px)}
.duveo-english .de-btn:disabled{background:#ebedf7;border-color:#dde0ee;color:#7e87a1!important;box-shadow:none}
.duveo-english .de-btn.de-alt{background:#fff;color:#4d40b4!important;border-color:#c7bff1;box-shadow:0 3px 9px #7266b10d}
.duveo-english .de-btn.de-alt:hover:not(:disabled){background:#f0edff}
.duveo-english .de-reading{background:#fff;color:#1d315b;box-shadow:0 7px 24px #4152910d;border:1px solid #e1e6f5}
.duveo-english .de-reading p{color:#293d61}
.duveo-english .de-question{background:#fff;border-color:#dfe4f4;color:#263457;box-shadow:0 8px 20px #3145860b}
.duveo-english .de-question h3{color:#1c2953}
.duveo-english .de-option{background:#f8faff;border:1px solid #dce2f1;color:#29385e;border-radius:13px;transition:background .16s,border-color .16s}
.duveo-english .de-option:hover:not(:disabled){background:#f0edff;border-color:#7562de}
.duveo-english .de-option.is-correct{background:#dff9ed;color:#0b654c;border-color:#31b98a}
.duveo-english .de-option.is-incorrect{background:#ffeded;color:#94363b;border-color:#ef9a9e}
.duveo-english .de-feedback{color:#2c6b61;font-weight:650}
.duveo-english .de-vcard{background:#fff;border-color:#dce4f6;color:#233457;box-shadow:0 6px 15px #3646840c}
.duveo-english .de-vcard:hover{border-color:#785fe7;transform:translateY(-2px)}
.duveo-english .de-vcard strong{color:#3e2e9c}
.duveo-english .de-vcard small{color:#087f76}
.duveo-english .de-vcard.is-flipped{background:#e9faf5;border-color:#62c7af}
.duveo-english .de-grammar-item{background:#fff;border-left:5px solid #7358e7;border-radius:0 17px 17px 0;box-shadow:0 4px 15px #2f377b0c}
.duveo-english .de-grammar-item p{color:#435474}
.duveo-english .de-grammar-example{background:#f4f7ff;border-color:#dce2f5}
.duveo-english .de-speech{background:#fff;border-color:#dce4f4}
.duveo-english .de-speech small{color:#5d6982}
.duveo-english .de-avatar{background:#eeeaff;color:#5142b1}
.duveo-english .de-maya{background:linear-gradient(105deg,#e9f8fc,#f4edff);border:1px solid #d3d7ff;border-radius:18px;color:#25345b}
.duveo-english .de-maya-badge{background:linear-gradient(135deg,#7151e1,#2caeb7);color:#fff}
.duveo-english .de-maya small{color:#556783}
.duveo-english .de-object-card{border-color:#dee4f7;box-shadow:0 5px 14px #3442820d}
.duveo-english .de-object-card:hover{border-color:#7b68e6}
.duveo-english .de-conversation-stage{background:linear-gradient(120deg,#f0efff,#dff9fa);border-color:#d2d5f9}
.duveo-english .de-character{background:#fff;border-color:#d1d8f6}
.duveo-english .de-character.is-speaking{background:#f1edff;border-color:#735be6;box-shadow:0 0 0 3px #7563e628}
.duveo-english .de-character strong{color:#2f3270}
.duveo-english .de-character small{color:#526281}
.duveo-english .de-dialogue-bubble{border:1px solid #e3e7f9;box-shadow:0 12px 24px #3f53821b}
.duveo-english .de-dialogue-main{background:#f3f6ff;border-color:#cbd6fa}
.duveo-english .de-dialogue-transcript{background:#fff;border-color:#dfe4f3}
.duveo-english .de-dialogue-turn{background:#f6f8ff;border-color:#d7ddf0;color:#233459}
.duveo-english .de-dialogue-turn.is-current{border-color:#6b4ddd;background:#eeedff}
.duveo-english .de-dialogue-turn strong{color:#4c3ab4}
.duveo-english .de-expansion{background:#fff;border:1px solid #dfe4f5;box-shadow:0 7px 19px #33447b0a}
.duveo-english .de-expansion h3{color:#26335e}
.duveo-english .de-extra-phrases button{background:#f7f8ff;border-color:#dfe3f5;color:#25365b}
.duveo-english .de-extra-phrases button:hover{border-color:#735ee0;background:#f2eeff}
.duveo-english .de-extra-phrases button span{color:#52607e}
.duveo-english .de-extra-phrases button small{color:#087d73}
.duveo-english .de-extra-grammar article{border-color:#e1e4f2}
.duveo-english .de-result{background:linear-gradient(120deg,#e5faf5,#eceaff);border-color:#aeddd3;color:#25315c}
.duveo-english .de-result h2{color:#213056}
.duveo-english .de-result-figure{color:#5d47cd}
.duveo-english .de-toast{background:#dff7eb;border-color:#9bdac3;color:#0b6954}
.duveo-english .de-final-access{background:linear-gradient(120deg,#6150d6,#287fc5);border-color:#6578d6;color:#fff}
.duveo-english .de-final-access h2{color:#fff}
.duveo-english .de-final-access p{color:#eff4ff}
.duveo-english .de-extra-shell .de-work{background:#fff;border:1px solid #e3e7f6;box-shadow:0 6px 20px #33477b16}
.duveo-english .de-footer{background:#f2f5ff;border-color:#e0e5f6;color:#63718e}
@media(max-width:900px){
 .duveo-english .de-lesson-layout{grid-template-columns:1fr}
 .duveo-english .de-stepnav{background:#fff;border-color:#e6e9f7}
 .duveo-english .de-hero{grid-template-columns:1fr}
 .duveo-english .de-hero-card{max-width:500px;transform:none}
}
@media(max-width:540px){
 .duveo-english .de-hero{padding:34px 19px;border-radius:0 0 25px 25px}
 .duveo-english .de-hero h1{font-size:35px}
 .duveo-english .de-hero-benefits{gap:7px}
 .duveo-english .de-hero-benefits span{font-size:11px;padding:7px 8px}
 .duveo-english .de-brandbar{padding:13px 14px}
 .duveo-english .de-tools .de-pill{padding:5px 8px;font-size:11px}
 .duveo-english .de-level{padding:16px 12px 3px}
 .duveo-english .de-module-row{grid-template-columns:1fr}
 .duveo-english .de-work{padding:18px 14px}
 .duveo-english .de-hero-card{padding:21px}
}
@media(prefers-reduced-motion:reduce){
 .duveo-english *, .duveo-english *:before, .duveo-english *:after{animation:none!important;transition:none!important;transform:none!important;scroll-behavior:auto!important}
}

/* Readable help copy inside the white progress panel. */
.duveo-english .de-hero .de-hero-card p{color:#626d88;font-size:13px;line-height:1.6}

/* Favicon oficial DUVEO Stream: mismo activo que utiliza la marca matriz. */
.duveo-english .de-logo-mark{
  display:block;width:46px;height:46px;min-width:46px;object-fit:contain;
  padding:3px;box-sizing:border-box;border-radius:14px;background:#fff;
  border:1px solid #e8eafa;box-shadow:0 6px 17px #28325f1a;
}
@media(max-width:540px){.duveo-english .de-logo-mark{width:40px;height:40px;min-width:40px;padding:2px;border-radius:12px}}


/* DUVEO English v1.5.3 · Contraste de estados y selección visible.
   Activo = violeta sólido + señal de posición; correcto = verde + icono;
   incorrecto = rojo + icono; bloqueado = gris. Colores y texto cumplen
   contraste mínimo para los principales estados en fondos claros. */
.duveo-english{
 --de-active:#5030be;--de-active-dark:#382083;
 --de-success:#08664b;--de-error:#8d2436;
 --de-focus:#eeab21;
}
.duveo-english button:focus-visible,.duveo-english [tabindex]:focus-visible{
 outline:3px solid var(--de-focus)!important;outline-offset:3px;
}
/* El módulo disponible destaca incluso si la persona no distingue el color. */
.duveo-english .de-module-card.is-current{
 background:#ebe6ff;border:2px solid #5431c5;
 box-shadow:inset 5px 0 0 #5431c5,0 7px 18px #4830a12e;
 color:#21194c;position:relative;
}
.duveo-english .de-module-card.is-current .de-card-state{
 color:#412395;font-weight:850;
}
.duveo-english .de-module-card.is-current .de-card-state:before{content:'● ';color:#5431c5}
.duveo-english .de-module-card.is-current:hover:not(:disabled){
 background:#ded5ff;border-color:#382083;
 box-shadow:inset 5px 0 0 #382083,0 11px 26px #4830a13e;
}
.duveo-english .de-module-card.is-done{
 background:#e2f9ef;border:2px solid #13805c;
 box-shadow:inset 5px 0 0 #13805c;
}
.duveo-english .de-module-card.is-done .de-card-state{color:#09573f;font-weight:800}
.duveo-english .de-module-card.is-locked:disabled{
 opacity:1;background:#f2f4f9;border:1px solid #b6bfd0;
 box-shadow:none;color:#56647d;
}
.duveo-english .de-module-card.is-locked .de-card-title{color:#56627a}
.duveo-english .de-module-card.is-locked .de-card-state{color:#606c80}
.duveo-english .de-module-card.is-locked .de-step-icon{background:#e4e8f0;color:#626f83}
/* Selección actual del aula: contraste sólido, índice y etiqueta inequívoca. */
.duveo-english .de-step-button.is-active,
.duveo-english .de-step-button.is-active.is-done{
 background:#5030be;color:#fff;border:2px solid #382083;
 box-shadow:inset 5px 0 0 #ffd45f,0 7px 17px #3b248a35;
 font-weight:850;
}
.duveo-english .de-step-button.is-active .de-step-index{
 background:#fff;border-color:#fff;color:#3e249b;font-weight:900;
}
.duveo-english .de-step-button .de-active-tag{
 margin-left:auto;padding:2px 7px;border-radius:8px;
 background:#ffdc77;color:#35226d;font-size:10px;
 font-weight:900;letter-spacing:.02em;
}
.duveo-english .de-step-button.is-done:not(.is-active){
 color:#08664b;background:#e1f7ed;border-left:4px solid #13805c;font-weight:750;
}
.duveo-english .de-step-button.is-done:not(.is-active) .de-step-index{background:#fff;color:#08664b;border-color:#13805c}
.duveo-english .de-step-button:disabled:not(.is-active):not(.is-done){
 opacity:1;color:#637189;background:#f4f6fb;border:1px dashed #c9d1e0;
}
.duveo-english .de-step-button:not(.is-active):not(:disabled):hover{background:#e9e4ff;color:#372185}
/* Estados de respuestas: no desvanecer la respuesta después de pulsarla. */
.duveo-english .de-option.is-correct,
.duveo-english .de-option.is-correct:disabled{
 opacity:1!important;color:#07563d!important;background:#cef5df!important;
 border:2px solid #08774f!important;box-shadow:inset 5px 0 0 #08774f;
 font-weight:800;
}
.duveo-english .de-option.is-correct:after{
 content:'✓ Correcta';display:inline-block;margin-left:8px;
 font-size:11px;font-weight:900;color:#07563d;
}
.duveo-english .de-option.is-incorrect,
.duveo-english .de-option.is-incorrect:disabled{
 opacity:1!important;color:#822338!important;background:#ffe0e6!important;
 border:2px solid #af2b47!important;box-shadow:inset 5px 0 0 #af2b47;
 font-weight:800;
}
.duveo-english .de-option.is-incorrect:after{
 content:'✕ Revisar';display:inline-block;margin-left:8px;
 font-size:11px;font-weight:900;color:#822338;
}
.duveo-english .de-option:disabled:not(.is-correct):not(.is-incorrect){
 opacity:.76;color:#4e5e78;background:#f4f6fb;
}
.duveo-english .de-option:not(:disabled):hover{
 background:#eae4ff;border:2px solid #5431c5;color:#32207a;
}
.duveo-english .de-option:not(:disabled):active{background:#ded4ff}
/* Los objetos, tarjetas y personajes seleccionados muestran borde además del color. */
.duveo-english .de-object-card.is-active,
.duveo-english .de-object-card[aria-pressed="true"]{
 border:3px solid #5030be;background:#eae5ff;
 box-shadow:0 0 0 3px #d2c6ff,0 7px 19px #44319a28;
}
.duveo-english .de-object-card.is-active small{color:#3a218f}
.duveo-english .de-vcard.is-flipped{
 background:#dcf8ea;border:2px solid #127755;
 box-shadow:inset 4px 0 0 #127755;
}
.duveo-english .de-vcard.is-flipped span{color:#09583f;font-weight:800}
.duveo-english .de-hotspot.is-found{background:#087454;box-shadow:0 0 0 5px #fff,0 0 0 8px #087454}
.duveo-english .de-story-dots button.is-current{
 background:#5030be;border:2px solid #36207e;
 box-shadow:0 0 0 4px #d7ccff;
 transform:scale(1.18);
}
.duveo-english .de-dialogue-turn.is-current{
 background:#e9e2ff;border:2px solid #5130bd;
 box-shadow:inset 5px 0 0 #5130bd;
}
.duveo-english .de-dialogue-turn.is-current strong{color:#372184}
.duveo-english .de-character.is-speaking{
 background:#ece7ff;border:3px solid #5030be;
 box-shadow:0 0 0 3px #c9bafd;
}
.duveo-english .de-character.is-speaking small{color:#3b2685;font-weight:800}
.duveo-english .de-dialogue-main:hover:not(:disabled){
 background:#e7e0ff;border-color:#5431c5;
}
.duveo-english .de-btn:not(:disabled):active{background:#392086;transform:translateY(1px)}
.duveo-english .de-btn.de-alt:not(:disabled):active{background:#e0d8ff}
.duveo-english .de-pill{color:#3a2b89}
@media(max-width:540px){
 .duveo-english .de-step-button .de-active-tag{font-size:9px}
 .duveo-english .de-option.is-correct:after,
 .duveo-english .de-option.is-incorrect:after{display:block;margin:3px 0 0}
}
