:root{--ocean:#052f49;--sea:#0b6887;--foam:#eef8f7;--sand:#f6e7c2;--clay:#a94928;--gold:#e6b33d;--ink:#18242c;--muted:#53626b;--white:#fff;--success:#176a4d;--danger:#9b3127;--shadow:0 14px 34px rgba(5,47,73,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#eaf6f6 0,#fff8e9 44%,#f7f2e8 100%);line-height:1.6}
a{color:#075c7b}.skip-link{position:absolute;left:-9999px;top:.5rem;z-index:99;background:#fff;padding:.6rem 1rem}.skip-link:focus{left:.5rem}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.65rem clamp(1rem,4vw,3.5rem);background:rgba(5,47,73,.96);color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.16)}
.brand{font-weight:900;letter-spacing:.02em}.progress-wrap{margin-left:auto;display:flex;align-items:center;gap:.55rem}.progress{width:min(32vw,250px);height:.75rem;background:#31566b;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#fff0a2);width:0;transition:width .35s ease}.progress-text{font-weight:800;white-space:nowrap}.reset{border:1px solid #bcd0da;background:transparent;color:#fff;border-radius:.7rem;padding:.42rem .7rem;cursor:pointer}.reset:hover,.reset:focus{background:#fff;color:var(--ocean)}
.passport-button{border:0;background:var(--gold);color:#3c2900;border-radius:.7rem;padding:.5rem .8rem;font:inherit;font-weight:900;cursor:pointer;white-space:nowrap}.passport-button span{display:inline-grid;place-items:center;min-width:2.7rem;margin-left:.25rem;padding:.08rem .3rem;border-radius:999px;background:#fff4c5}.passport-button:hover,.passport-button:focus{background:#ffe699;outline:3px solid #fff;outline-offset:2px}
main{width:min(1180px,calc(100% - 2rem));margin:auto}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;margin:2rem 0;padding:clamp(1.3rem,4vw,3rem);border-radius:1.5rem;background:linear-gradient(135deg,var(--ocean),var(--sea));color:#fff;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:260px;height:260px;border:50px solid rgba(255,255,255,.06);border-radius:50%;right:-90px;top:-100px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#ffe8a5}.hero h1{font-size:clamp(2.25rem,5vw,4.6rem);line-height:1.02;margin:.25rem 0 1rem}.hero p{max-width:65ch}.hero-map{background:#fff;border-radius:1rem;padding:.55rem;box-shadow:0 15px 34px rgba(0,0,0,.23);transform:rotate(1deg)}.hero-map img{display:block;width:100%;border-radius:.65rem}.legend{display:flex;gap:.45rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:.28rem .62rem;border-radius:999px;font-size:.86rem;font-weight:800;background:#dceeed;color:#06435c}.hero .chip{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35)}
.section{margin:2rem 0 3rem}.section-title{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.2;margin-bottom:.25rem}.lead{color:var(--muted);max-width:76ch}.panel{background:rgba(255,255,255,.92);border:1px solid #d9e5e4;border-radius:1.2rem;padding:clamp(1rem,3vw,2rem);box-shadow:var(--shadow)}
.puzzle-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:1.5rem;align-items:start}.puzzle-board{display:grid;grid-template-columns:repeat(4,1fr);aspect-ratio:16/9;border:7px solid #fff;border-radius:1rem;overflow:hidden;background:#174d65;box-shadow:0 12px 24px rgba(0,0,0,.18)}.puzzle-piece{border:1px solid rgba(255,255,255,.5);background-image:url('assets/images/mapa_canarias.webp');background-size:400% 300%;cursor:pointer;position:relative;min-width:0}.puzzle-piece:hover,.puzzle-piece:focus{z-index:2;outline:4px solid var(--gold);outline-offset:-4px}.puzzle-piece.selected{outline:5px solid #fff29e;outline-offset:-5px;filter:brightness(1.14)}.puzzle-piece span{position:absolute;left:.25rem;top:.25rem;background:rgba(5,47,73,.82);color:#fff;border-radius:50%;width:1.7rem;height:1.7rem;display:grid;place-items:center;font-size:.78rem;font-weight:900}.puzzle-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.button{appearance:none;border:0;border-radius:.75rem;padding:.7rem 1rem;background:var(--ocean);color:#fff;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 5px 12px rgba(5,47,73,.18)}.button:hover,.button:focus{background:#087696;outline:3px solid var(--gold);outline-offset:2px}.button.secondary{background:#e7efeE;color:var(--ocean);box-shadow:none}.status{padding:.85rem 1rem;border-left:.4rem solid var(--gold);background:#fff7dc;border-radius:.2rem .8rem .8rem .2rem;margin-top:1rem}.status.success{border-color:var(--success);background:#e7f7ef;color:#0c5239}
.badge-shelf{display:grid;grid-template-columns:repeat(8,minmax(80px,1fr));gap:.8rem;margin:1.2rem 0}.badge-slot{appearance:none;display:grid;justify-items:center;gap:.25rem;text-align:center;padding:.75rem .4rem;border-radius:1rem;background:#e7eeed;border:2px dashed #9bb1af;min-height:150px;color:#556;font:inherit;cursor:pointer}.badge-slot:hover,.badge-slot:focus{outline:3px solid var(--gold);outline-offset:2px}.badge-slot img{width:78px;height:78px;object-fit:contain;filter:grayscale(1) opacity(.2)}.badge-slot.earned{background:#fff6dc;border:2px solid #c7812d;color:#623017;box-shadow:0 6px 15px rgba(112,66,25,.12)}.badge-slot.earned img{filter:none}.badge-slot strong{font-size:.78rem}.badge-slot small{font-size:.72rem;color:inherit}.badge-state{display:inline-block;padding:.12rem .38rem;border-radius:999px;background:#d5dfde;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.earned .badge-state{background:#d5efdf;color:#145f45}
.island-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem}.island-card{border:0;background:#fff;border-radius:1rem;padding:0;overflow:hidden;text-align:left;box-shadow:0 8px 22px rgba(8,48,63,.12);cursor:pointer;color:var(--ink)}.island-card:hover,.island-card:focus{transform:translateY(-3px);outline:4px solid var(--gold);outline-offset:2px}.island-card img{display:block;width:100%;height:155px;object-fit:cover;background:#efe7d5}.island-card .card-body{padding:1rem}.island-card strong{display:block;color:var(--ocean);font-size:1.13rem}.island-card small{display:block;color:var(--muted);margin-top:.25rem}.island-card.done{box-shadow:0 0 0 3px #27805f,0 8px 22px rgba(8,48,63,.12)}.island-card.done strong:after{content:" ✓";color:var(--success)}
.route{display:none;margin:2rem 0 3rem}.route.active{display:block}.route-head{display:flex;align-items:center;gap:1rem;margin-bottom:.7rem}.route-number{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--gold);color:#3f2a00;font-size:1.3rem;font-weight:950}.route h2{margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1}.route-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.2rem 4rem}.route-step{padding:.28rem .58rem;border-radius:999px;background:#e3e9e8;color:#5b676d;font-size:.78rem;font-weight:850}.route-step.complete{background:#d7efe2;color:#145f45}.route-grid{display:grid;grid-template-columns:minmax(240px,.76fr) minmax(0,1.35fr);gap:1.5rem}.route-figure{margin:0;background:#fff;padding:.6rem;border-radius:1rem;box-shadow:var(--shadow)}.route-figure img{display:block;width:100%;max-height:590px;object-fit:contain;border-radius:.7rem}.route-figure figcaption{font-size:.82rem;color:var(--muted);padding:.55rem .25rem 0}.story{font-size:1.06rem}.radar{margin:1.1rem 0;padding:1rem;border-left:.45rem solid var(--gold);background:#fff7dc;border-radius:.2rem .85rem .85rem .2rem}.radar h3{margin-top:0}.route-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}
.quiz{margin-top:1.4rem;padding:1.15rem;background:#f3f9f8;border:1px solid #cbe0dd;border-radius:1rem}.source-quiz{background:#fff7e3;border-color:#e7c776}.challenge-kicker{margin:0;color:#8b4d16;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:950}.quiz h3{margin:.1rem 0}.question{padding:1rem;margin:.8rem 0;background:#fff;border-radius:.85rem;border:1px solid #dfe9e8}.question legend{font-weight:800;padding:0 .25rem}.choices{display:flex;gap:.65rem;flex-wrap:wrap}.choices label{display:flex;gap:.45rem;align-items:center;padding:.5rem .7rem;border:1px solid #bdd2d0;border-radius:.65rem;cursor:pointer}.choices label:has(input:checked){background:#d9eeeb;border-color:#267a70}.source-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.source-options label{display:flex;gap:.5rem;align-items:flex-start;padding:.65rem;border:1px solid #dac596;border-radius:.7rem;cursor:pointer}.source-options label:has(input:checked){background:#fff0bd;border-color:#a96c19}.feedback{margin-top:.6rem;font-size:.92rem}.feedback.ok{color:var(--success)}.feedback.ko{color:var(--danger)}.source-status,.quiz-status{font-weight:800;margin-top:.65rem}.reward{display:none;grid-template-columns:110px 1fr;gap:1rem;align-items:center;margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#fff8e6,#f4dfb3);border:2px solid #c2762b;border-radius:1rem}.reward.show{display:grid}.reward img{width:105px;height:105px;object-fit:contain}.reward strong{display:block;color:#743319;font-size:1.25rem}
.final-lock{text-align:center;padding:1.5rem}.final-content{display:none}.final-content.unlocked{display:block}.source-table{width:100%;border-collapse:collapse}.source-table th,.source-table td{padding:.7rem;border:1px solid #cddad8;text-align:left;vertical-align:top}.source-table th{background:#dceeed}.credits{font-size:.93rem}.footer{margin-top:4rem;background:var(--ocean);color:#fff;padding:2rem}.footer-inner{width:min(1180px,calc(100% - 2rem));margin:auto}.footer a{color:#ffe49b}dialog{border:0;border-radius:1.2rem;box-shadow:0 20px 60px rgba(0,0,0,.35);width:min(620px,92vw);max-height:90vh;overflow:auto;padding:1.5rem}dialog::backdrop{background:rgba(5,28,40,.62)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dialog-head h2{margin:.1rem 0}.dialog-close{appearance:none;border:0;background:#e7efee;color:var(--ocean);border-radius:50%;width:2.4rem;height:2.4rem;font-size:1.6rem;line-height:1;cursor:pointer}.dialog-close:hover,.dialog-close:focus{background:#d3e6e3;outline:3px solid var(--gold)}.dialog-badge{display:block;width:160px;height:160px;object-fit:contain;margin:auto}.dialog-actions{display:flex;gap:.65rem;justify-content:center;flex-wrap:wrap}.passport-dialog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}.passport-dialog-grid .badge-slot{min-height:138px;padding:.6rem .25rem}.passport-dialog-grid .badge-slot img{width:68px;height:68px}.passport-help{font-size:.88rem;color:var(--muted);margin-bottom:0}
@media(max-width:850px){.hero,.puzzle-layout,.route-grid{grid-template-columns:1fr}.hero-map{max-width:540px}.badge-shelf{grid-template-columns:repeat(4,1fr)}.passport-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.source-options{grid-template-columns:1fr}.route-steps{margin-left:0}}@media(max-width:520px){main{width:min(100% - 1rem,1180px)}.topbar{padding:.5rem;gap:.45rem}.brand{font-size:.82rem}.progress-wrap{display:none}.passport-button{margin-left:auto;padding:.42rem .58rem}.reset{padding:.4rem .55rem;font-size:.82rem}.badge-shelf{grid-template-columns:repeat(2,1fr)}.puzzle-board{border-width:4px}.route-nav{flex-direction:column}.reward{grid-template-columns:1fr;text-align:center}.reward img{margin:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.island-card:hover{transform:none}}@media print{.topbar,.puzzle-actions,.route-nav,.button,.island-grid,dialog{display:none!important}.route{display:block!important;break-before:page}.hero{color:#000;background:#fff;box-shadow:none;border:2px solid #333}.panel{box-shadow:none}.quiz{break-inside:avoid}.footer{color:#000;background:#fff}}

/* Identidad editorial: cuaderno de campo canario. */
:root{--earth:#8c6548;--earth-dark:#5f4b3b;--beige:#f3e7cf;--paper:#fffdf7;--yellow:#e6c86b;--yellow-soft:#f7edbd;--sky:#d8eaed;--sky-dark:#6f9ea5;--green:#dfe8d4;--green-dark:#708266;--ink:#3f3b32;--muted:#655f53;--success:#587653;--danger:#9a4e42;--shadow:none}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3,.section-title,.route h2{font-family:Georgia,"Times New Roman",serif;color:var(--earth-dark);letter-spacing:0}
.topbar{background:var(--earth-dark);box-shadow:none;border-bottom:4px solid var(--yellow)}
.progress{height:.6rem;background:#8f8174;border-radius:2px}.progress span{background:var(--yellow)}
.reset,.passport-button{border-radius:2px;box-shadow:none}.passport-button{background:var(--yellow);color:#40372d}.passport-button span{border-radius:2px;background:#fff7d6}
.hero{grid-template-columns:1.12fr .88fr;margin:2.2rem 0;padding:clamp(1.4rem,4vw,2.7rem);border:1px solid var(--line);border-left:12px solid var(--earth);border-radius:2px;background:var(--beige);color:var(--ink);box-shadow:none;overflow:visible}
.hero:after{display:none}.hero h1{color:var(--earth-dark);font-size:clamp(2.15rem,4.5vw,4.2rem);line-height:1.05}.hero .eyebrow{color:#765233}.hero-map{padding:.45rem;border:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:none;transform:none}.hero-map img{border-radius:0}
.legend{gap:.35rem}.chip,.hero .chip{padding:.25rem .5rem;border:1px solid #9fbfc4;border-radius:2px;background:#edf6f7;color:#4b6264;font-size:.78rem;font-weight:700}
.section{margin:2.5rem 0 3.5rem}.section-title{font-size:clamp(1.7rem,3vw,2.4rem);border-bottom:3px solid var(--yellow);padding-bottom:.35rem}.panel{padding:clamp(1rem,3vw,2rem);border:1px solid var(--line);border-radius:2px;background:var(--paper);box-shadow:none}
.puzzle-layout{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:stretch}.puzzle-board{border:4px solid var(--sky-dark);border-radius:0;background:#9bbfc5;box-shadow:none}.puzzle-piece span{border-radius:2px;background:rgba(95,75,59,.9)}
.button{border:1px solid var(--earth-dark);border-radius:2px;background:var(--earth-dark);box-shadow:none}.button:hover,.button:focus{background:var(--earth);outline-color:var(--yellow)}.button.secondary{border-color:#aab8a2;background:var(--green);color:#45513f}
.status{border:1px solid #d2ba6e;border-left:6px solid var(--yellow);border-radius:2px;background:var(--yellow-soft)}.status.success{border-color:#9db294;border-left-color:var(--green-dark);background:var(--green);color:#42543e}
.badge-shelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.badge-slot{grid-template-rows:78px 22px minmax(35px,auto) 22px;align-content:start;min-height:174px;height:100%;padding:.7rem;border:1px solid #aeb9ad;border-radius:2px;background:#f0f3ed;color:#55584f}.badge-slot img{width:76px;height:76px}.badge-slot.earned{border:1px solid #b49644;border-top:6px solid var(--yellow);background:var(--paper);box-shadow:none}.badge-state{align-self:end;border-radius:2px;background:#dfe5dc}.earned .badge-state{background:var(--green);color:#4e6248}
.island-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:stretch}.island-card{display:grid;grid-template-rows:155px minmax(132px,1fr);width:100%;height:100%;border:1px solid var(--line);border-radius:2px;background:var(--paper);box-shadow:none;overflow:hidden;text-align:center!important}.island-card:hover,.island-card:focus{transform:none;outline:3px solid var(--yellow);outline-offset:1px}.island-card img{height:155px;border-bottom:1px solid var(--line)}.island-card .card-body{display:grid;grid-template-rows:auto minmax(44px,auto) auto;align-content:start;justify-items:center;gap:.35rem;width:100%;margin:0;padding:1rem 1.15rem 1.2rem!important;box-sizing:border-box;text-align:center!important}.island-card .card-body>*{display:block;width:100%;margin-left:0;margin-right:0;text-align:center!important}.island-card strong{color:var(--earth-dark);font-family:Georgia,"Times New Roman",serif;line-height:1.25}.island-card.done{border-color:var(--green-dark);box-shadow:inset 0 5px 0 var(--green)}
.route{margin:2.8rem 0 4rem}.route-head{align-items:flex-start;border-bottom:3px solid var(--yellow);padding-bottom:.7rem}.route-number{width:2.75rem;height:2.75rem;border-radius:2px;background:var(--yellow);font-family:Georgia,"Times New Roman",serif}.route-steps{margin:.7rem 0 1.5rem 3.75rem}.route-step{padding:.22rem .5rem;border:1px solid #b8c2b4;border-radius:2px;background:#eff2ed;color:#5c6259}.route-step.complete{border-color:#9db294;background:var(--green);color:#45583f}
.route-grid{grid-template-columns:minmax(320px,43%) minmax(0,1fr);gap:2rem;align-items:start}.route-figure{padding:.45rem;border:1px solid var(--line);border-radius:2px;background:var(--paper);box-shadow:none}.route-figure img{width:100%;aspect-ratio:16/10;max-height:none;object-fit:cover;border-radius:0;background:var(--beige)}.route-figure figcaption{min-height:3rem;padding:.55rem .3rem .2rem}.story{font-size:1.04rem}.route-meta{margin:0 0 .35rem;padding-bottom:.35rem;border-bottom:1px solid var(--line);color:#765233;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.story-intro{color:#5b554b}.story-refrain{border:1px solid #aebfa1;border-left:6px solid var(--green-dark);border-radius:2px;background:var(--green)}
.radar{padding:1rem;border:1px solid #aac8ce;border-left:6px solid var(--sky-dark);border-radius:2px;background:var(--sky)}.radar summary{cursor:pointer;color:#465f63}
.quiz{margin-top:1.5rem;padding:1.2rem;border:1px solid #aac8ce;border-left:7px solid var(--sky-dark);border-radius:2px;background:#edf6f7}.source-quiz{border-color:#d2ba6e;border-left-color:var(--yellow);background:#fffaf0}.challenge-kicker{color:#765233;letter-spacing:.06em}.question{height:100%;padding:1rem;margin:.8rem 0;border:1px solid var(--line);border-radius:2px;background:var(--paper)}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.choices label,.source-options label{height:100%;min-height:52px;border-radius:2px;background:var(--paper)}.choices label:has(input:checked){background:var(--green);border-color:var(--green-dark)}.source-options{align-items:stretch}.source-options label:has(input:checked){background:var(--yellow-soft);border-color:#b3943f}
.reward{grid-template-columns:112px minmax(0,1fr);border:1px solid #c4a64b;border-left:7px solid var(--yellow);border-radius:2px;background:var(--yellow-soft)}
.source-table th{background:var(--sky)}.source-table th,.source-table td{border-color:#adc5c7}.footer{background:var(--earth-dark);border-top:5px solid var(--yellow)}
dialog{border:1px solid var(--line);border-radius:2px;box-shadow:0 12px 30px rgba(76,61,48,.25);background:var(--paper)}dialog::backdrop{background:rgba(68,58,48,.55)}.dialog-close{border-radius:2px;background:var(--green);color:var(--earth-dark)}
.passport-dialog-grid{align-items:stretch}.passport-dialog-grid .badge-slot{min-height:164px}
@media(max-width:1050px){.island-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-grid{grid-template-columns:1fr}.route-figure{max-width:760px}}
@media(max-width:850px){.hero,.puzzle-layout{grid-template-columns:1fr}.badge-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-map{max-width:none}}
@media(max-width:620px){.island-grid,.badge-shelf,.choices,.source-options{grid-template-columns:1fr}.island-card{grid-template-rows:auto auto}.island-card img{height:auto;aspect-ratio:16/9}.route-steps{margin-left:0}.route-grid{gap:1rem}.passport-dialog-grid{grid-template-columns:1fr}.reward{grid-template-columns:1fr;text-align:center}.reward img{margin:auto}}

/* Versión 3: lectura acompañada, locución y navegación ligera. */
button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #174f60;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.55}
.experience-tools{margin-top:1.2rem;padding:1rem;border:1px solid #b89a63;border-left:6px solid var(--yellow);background:rgba(255,253,247,.82)}
.experience-tools h2{margin:0 0 .2rem;font-size:1.15rem}.experience-tools p{margin:.3rem 0 .7rem}
.mode-switch,.experience-actions{display:flex;flex-wrap:wrap;gap:.45rem}.mode-switch button,.text-button{min-height:42px;padding:.48rem .7rem;border:1px solid #8b765d;border-radius:2px;background:var(--paper);color:var(--earth-dark);font:inherit;font-weight:750;cursor:pointer}
.mode-switch button[aria-pressed="true"]{border-color:var(--earth-dark);background:var(--yellow);box-shadow:inset 0 -3px 0 rgba(95,75,59,.18)}
.mode-status{min-height:1.6em;color:var(--muted);font-size:.88rem}.text-button:hover:not(:disabled),.text-button:focus-visible{background:var(--green)}
.privacy-note{max-width:78ch;margin:1rem 0 0;color:#fff8df;font-size:.88rem}
.card-action{margin-top:.25rem;color:#6a5844;font-size:.78rem;font-weight:800}.island-card:hover .card-action,.island-card:focus-visible .card-action{text-decoration:underline}
.mode-guided .route-grid{grid-template-columns:1fr;max-width:900px;margin-inline:auto}.mode-guided .route-figure{width:min(100%,720px)}
.mode-guided .story{max-width:70ch;font-size:1.16rem;line-height:1.82}.mode-guided .story>p{margin:1.05em 0}
.quiz-stepper .question>legend:focus-visible{outline:3px solid #174f60;outline-offset:3px}
.mode-guided .route-head,.mode-guided .route-steps{max-width:900px;margin-left:auto;margin-right:auto}
.narrator{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(280px,1.3fr);gap:1rem;align-items:center;margin:1rem 0 1.3rem;padding:1rem;border:1px solid #9ebec4;border-left:7px solid var(--sky-dark);background:var(--sky)}
.narrator.is-speaking{border-left-color:var(--green-dark);background:linear-gradient(90deg,var(--green),var(--sky))}
.narrator-kicker{margin:0;color:#5f4b3b;text-transform:uppercase;letter-spacing:.06em;font-size:.73rem;font-weight:900}.narrator h3{margin:.05rem 0 .25rem;font-size:1.2rem}.voice-note{margin:0;color:#4d5f60;font-size:.82rem;line-height:1.45}
.narrator-controls{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.narrator-controls .button{min-height:44px;padding:.55rem .72rem}.narrator-controls label{display:flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:750}.narrator-controls select{min-height:42px;border:1px solid #7f9697;border-radius:2px;background:var(--paper);color:var(--ink);font:inherit}.narration-status{flex-basis:100%;min-height:1.5em;margin:.15rem 0 0;color:#43575a;font-size:.84rem;font-weight:700}
.quiz-stepper .question{display:none}.quiz-stepper .question.current{display:block;animation:question-in .18s ease-out}.question-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;margin:.75rem 0 1rem}.question-counter{text-align:center;color:var(--earth-dark);font-weight:850}.question-dots{grid-column:1/-1;display:flex;justify-content:center;gap:.35rem}.question-dots span{width:9px;height:9px;border:1px solid #8b8d82;background:#fff;border-radius:50%}.question-dots span.answered{background:var(--green-dark)}.question-dots span.current{outline:2px solid var(--yellow);outline-offset:2px}
.puzzle-piece.dragging{opacity:.5}.puzzle-piece.drag-over{outline:5px solid var(--yellow);outline-offset:-5px;filter:brightness(1.08)}
dialog[open] .dialog-badge{animation:badge-arrive .48s ease-out}.reward.show{animation:reward-in .35s ease-out}
@keyframes question-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes badge-arrive{0%{opacity:0;transform:scale(.65) rotate(-8deg)}75%{transform:scale(1.06) rotate(2deg)}100%{opacity:1;transform:none}}@keyframes reward-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.narrator{grid-template-columns:1fr}.narrator-controls{align-items:stretch}.narrator-controls .button{flex:1 1 135px}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.progress-wrap{display:none}.brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.experience-actions .text-button{flex:1 1 180px}}
@media(max-width:480px){.topbar{grid-template-columns:1fr auto}.topbar .reset{grid-column:1/-1;justify-self:end}.passport-button{margin-left:0}.question-nav{grid-template-columns:1fr 1fr}.question-counter{grid-column:1/-1;grid-row:1}.question-prev,.question-next{grid-row:2}.narrator-controls label{flex-basis:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.quiz-stepper .question.current,dialog[open] .dialog-badge,.reward.show{animation:none}}
@media print{.experience-tools,.narrator,.question-nav,.card-action{display:none!important}.quiz-stepper .question{display:block!important}.mode-guided .radar{display:block}.mode-guided .story{font-size:1rem}.route-grid{grid-template-columns:1fr!important}}
/* Versión 3.3: cuaderno activo de vocabulario, investigación y creación. */
.activity-workshop{max-width:1040px;margin:1.6rem auto;padding:clamp(1rem,3vw,1.6rem);border:1px solid #b9aa8e;border-left:8px solid var(--earth);background:#fbf5e8;box-shadow:inset 0 0 0 5px rgba(255,253,247,.72)}
.activity-workshop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding-bottom:1rem;border-bottom:1px solid #cdbf9f}.activity-workshop-head h3{margin:.08rem 0 .25rem;font-size:clamp(1.35rem,2.5vw,1.8rem)}.activity-workshop-head p:last-child{max-width:68ch;margin:.3rem 0 0;color:var(--muted)}
.activity-workshop-progress{flex:0 0 auto;min-width:4.2rem;padding:.36rem .55rem;border:1px solid #998970;background:var(--paper);color:var(--earth-dark);font-size:.78rem;font-weight:900;text-align:center}.activity-workshop-progress.is-complete{border-color:var(--green-dark);background:var(--green);color:#40513c}
.activity-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:1rem 0}.activity-tabs button{position:relative;min-height:48px;padding:.55rem .7rem;border:1px solid #a99a80;background:#eee5d2;color:#5d5142;font:inherit;font-weight:850;cursor:pointer}.activity-tabs button[aria-selected="true"]{border-color:var(--earth-dark);background:var(--yellow);color:#44382c;box-shadow:inset 0 -4px 0 rgba(95,75,59,.2)}.activity-tabs button.is-complete:after{content:"✓";display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;margin-left:.4rem;background:var(--green-dark);color:#fff;font-size:.75rem}
.activity-panel{padding:clamp(1rem,2.8vw,1.5rem);border:1px solid #c9bea8;background:var(--paper)}.activity-panel[hidden]{display:none}.activity-panel h4{margin:0 0 .3rem;font-size:1.3rem}.activity-panel>p:first-of-type{max-width:72ch;color:var(--muted)}
.activity-block{margin:1rem 0 1.2rem;padding:1rem;border:1px solid #b9ccd0;border-left:6px solid var(--sky-dark);background:#edf6f7}.activity-block:nth-of-type(even){border-color:#d6c17d;border-left-color:var(--yellow);background:#fff9e8}.activity-block h5{margin:0 0 .75rem;font:800 1rem Arial,Helvetica,sans-serif;color:var(--earth-dark)}
.activity-match-grid,.activity-fill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.activity-match-row,.activity-fill-row{display:grid;grid-template-rows:minmax(3.2rem,auto) auto minmax(1.35rem,auto);gap:.4rem;padding:.75rem;border:1px solid #bbc7c4;background:#fff}.activity-match-row>span,.activity-fill-row>span{line-height:1.45}.activity-match-row select,.activity-fill-row input{width:100%;min-height:44px;padding:.48rem .55rem;border:1px solid #8a968f;border-radius:0;background:#fff;color:var(--ink);font:inherit}.activity-item-feedback{display:block;min-height:1.25rem;color:var(--muted);font-size:.83rem;font-weight:700}.is-correct{border-color:#769370!important;background:#eef6e9!important}.is-correct .activity-item-feedback{color:#476941}.is-wrong,.is-missing{border-color:#bb756b!important;background:#fff3ef!important}.is-wrong .activity-item-feedback,.is-missing .activity-item-feedback{color:#8a4038}
.activity-research-question{margin:1rem 0;padding:1rem;border:1px solid #b8c9c8;background:#f2f8f7}.activity-research-question legend{max-width:80ch;padding:0 .35rem;color:var(--earth-dark);font-weight:850}.activity-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.activity-choice-grid label{display:flex;align-items:flex-start;gap:.5rem;min-height:74px;padding:.7rem;border:1px solid #aebebc;background:#fff;cursor:pointer}.activity-choice-grid label:has(input:checked){border-color:var(--green-dark);background:var(--green)}.activity-choice-grid input{margin-top:.25rem}.activity-research-question>.activity-item-feedback{margin:.6rem 0 0}.activity-answer-note{margin:.4rem 0 0}.activity-panel-status{min-height:1.5rem;margin:.7rem 0 0;color:var(--earth-dark);font-weight:850}.activity-sources{margin-top:1rem;padding:.7rem 1rem;border-left:5px solid var(--sky-dark);background:var(--sky)}.activity-sources summary{cursor:pointer;font-weight:800}.activity-sources ul{margin-bottom:.2rem}
.activity-tip{padding:.65rem .8rem;border-left:5px solid var(--yellow);background:var(--yellow-soft);color:#574d3d}.activity-text-label{display:grid;gap:.4rem;margin:1rem 0}.activity-text-label>span{font-weight:850}.activity-text-label textarea{width:100%;min-height:116px;padding:.8rem;border:1px solid #9a8e7a;background:#fff;color:var(--ink);font:inherit;line-height:1.55;resize:vertical}.activity-text-label small{justify-self:end;color:var(--muted)}
.drawing-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.9rem 0;padding:.65rem;border:1px solid #c4b89e;background:#f2ead9}.drawing-toolbar>span{font-weight:850}.draw-color{width:38px;height:38px;border:3px solid #fff;background:var(--draw-color);box-shadow:0 0 0 1px #776b5a;cursor:pointer}.draw-color.is-selected{outline:3px solid var(--yellow);outline-offset:2px}.drawing-toolbar label{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-weight:750}.draw-size{accent-color:var(--earth)}.drawing-frame{padding:.55rem;border:1px solid #9e927e;background:#e8dfce}.activity-canvas{display:block;width:100%;height:auto;aspect-ratio:45/26;background:#fffdf7;touch-action:none;cursor:crosshair}.drawing-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.65rem 0 0}.drawing-actions .text-button{flex:1 1 150px}
.mode-guided .activity-workshop{max-width:900px}.mode-guided .activity-panel{font-size:1.05rem}
@media(max-width:800px){.activity-match-grid,.activity-fill-grid,.activity-choice-grid{grid-template-columns:1fr}.activity-choice-grid label{min-height:0}.activity-workshop-head{display:block}.activity-workshop-progress{display:inline-block;margin-top:.8rem}.drawing-toolbar label{flex-basis:100%;margin-left:0}.drawing-toolbar label input{flex:1}}
@media(max-width:520px){.activity-tabs{grid-template-columns:1fr}.activity-tabs button{text-align:left}.activity-workshop{padding:.8rem;border-left-width:5px}.activity-panel,.activity-block{padding:.8rem}.draw-color{width:34px;height:34px}}
@media print{.activity-workshop{break-inside:avoid;box-shadow:none}.activity-tabs,.activity-panel .button,.drawing-toolbar,.drawing-actions{display:none!important}.activity-panel[hidden]{display:block!important}.activity-panel{margin-top:.75rem}.activity-canvas{max-height:280px;object-fit:contain}.activity-item-feedback,.activity-panel-status{display:none}}
/* Adaptación por nivel, reto final, diploma, modo docente y terminología unificada. */
[hidden]{display:none!important}
.learning-level-block{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(68,54,38,.16)}
.learning-level-block h3{margin:0 0 .35rem;font:800 1rem/1.25 Arial,Helvetica,sans-serif;color:var(--ink)}
.learning-level-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.7rem 0}
.learning-level-switch button{border:1px solid #b7aa8d;background:#fffaf0;color:#433829;border-radius:2px;padding:.7rem .8rem;font:800 .9rem/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.learning-level-switch button[aria-pressed="true"]{background:#d9a52e;border-color:#765213;color:#2b2318;box-shadow:0 0 0 3px rgba(217,165,46,.2)}
.level-route-note{max-width:70rem;margin:.8rem auto 1.15rem;padding:.8rem 1rem;border:1px solid #dec982;border-left:5px solid #d9a52e;border-radius:2px;background:#fff6d8;color:#493e2f}
body[data-learning-level="early"] .story p{font-size:1.16rem;line-height:1.82}
body[data-learning-level="early"] .route-grid{grid-template-columns:1fr;max-width:880px;margin-inline:auto}
body[data-learning-level="early"] .story .radar{display:none}

.teacher-button{border:1px solid rgba(255,255,255,.35);background:#d7e7d2;color:#23352a;border-radius:2px;padding:.55rem .9rem;font:800 .86rem/1 Arial,Helvetica,sans-serif;cursor:pointer;white-space:nowrap}
.teacher-summary{display:flex;flex-wrap:wrap;gap:.55rem;margin:.85rem 0}
.teacher-summary span{background:#f3ead7;border:1px solid #ded0b3;border-radius:2px;padding:.45rem .7rem;font-weight:750}
.teacher-name{display:grid;gap:.35rem;margin:1rem 0;font-weight:750}
.teacher-name input,.final-identity input{width:100%;box-sizing:border-box;border:1px solid #ac9d7e;border-radius:2px;background:#fffdf7;color:#30291f;padding:.7rem .8rem;font:inherit}
.teacher-table-wrap{overflow-x:auto;margin:1rem 0}
.teacher-table{width:100%;border-collapse:collapse;font-size:.92rem}
.teacher-table th,.teacher-table td{padding:.65rem;border-bottom:1px solid #e2d6bf;text-align:left;white-space:nowrap}
.teacher-table thead th{background:#edf3e8;color:#2f4935}
.teacher-local-note{padding:.75rem .9rem;background:#eef7f7;border:1px solid #b7d0d2;border-left:5px solid #78aeb2;border-radius:2px}
.file-input-hidden{display:none}
.final-challenge{margin-top:1.35rem;padding:1rem;border:1px solid #ddc68e;border-left:7px solid #d9a52e;border-radius:2px;background:#fff9e8}
.final-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.final-match-item{display:grid;gap:.45rem;padding:.8rem;background:#fff;border:1px solid #e1d7c1;border-radius:2px}
.final-match-item select{width:100%;padding:.58rem;border:1px solid #ae9c78;border-radius:2px;background:#fffdf8;font:inherit}
.final-match-item small{min-height:1.2em}
.final-match-item[data-result="correct"]{border-color:#6f9a70;background:#eef7ea}
.final-match-item[data-result="wrong"]{border-color:#b66d5c;background:#fff0eb}
.final-celebration{margin-top:1rem;padding:1.1rem;border-radius:2px;background:linear-gradient(135deg,#e9f2df,#e1f1f3);border:1px solid #aac4aa;border-left:7px solid #708266}
.final-celebration h4{margin:.15rem 0 .45rem;color:#294d39;font-size:1.35rem}
.final-identity{display:grid;gap:.35rem;margin:1rem 0;max-width:34rem;font-weight:750}
.story .is-reading,.route-head .is-reading{background:#fff0a9;box-shadow:0 0 0 .25rem #fff0a9;border-radius:.2rem;transition:background .2s ease}
.print-artifact{display:none}
.passport-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.final-project{margin-top:1.6rem;padding-top:1rem;border-top:1px solid #d7c8a7}
@media(max-width:760px){
 .learning-level-switch,.final-match-grid{grid-template-columns:1fr}
 .teacher-button{padding:.5rem .65rem}
 .topbar{grid-template-columns:minmax(0,1fr) auto auto auto}
}
@media(max-width:480px){
 .topbar{grid-template-columns:1fr 1fr}
 .topbar .brand{grid-column:1/-1}
 .topbar .passport-button,.topbar .teacher-button{width:100%;justify-self:stretch}
 .topbar .reset{grid-column:1/-1;justify-self:stretch}
}
@media print{
 body.print-diploma>*,body.print-passport>*{display:none!important}
 body.print-diploma>#diplomaPrint,body.print-passport>#passportPrint{display:grid!important}
 .print-artifact{box-sizing:border-box;width:100%;min-height:96vh;place-content:center;padding:12mm;background:#fff;color:#2f291f}
 .diploma-sheet{position:relative;max-width:250mm;min-height:160mm;display:grid;place-content:center;text-align:center;padding:18mm;border:4px double #9a663d;background:linear-gradient(135deg,#fffaf0,#f2ead7);overflow:hidden}
 .diploma-sheet:before,.diploma-sheet:after{content:"";position:absolute;width:95mm;height:95mm;border:2px solid rgba(154,102,61,.18);transform:rotate(45deg)}
 .diploma-sheet:before{left:-55mm;top:-55mm}.diploma-sheet:after{right:-55mm;bottom:-55mm}
 .diploma-kicker{letter-spacing:.16em;text-transform:uppercase;font-weight:850;color:#87532f}
 .diploma-sheet h1{font-size:34pt;margin:4mm 0;color:#233b31}
 .diploma-name{font:700 25pt/1.2 Georgia,"Times New Roman",serif;color:#7d4c2c;border-bottom:1px solid #b98e54;padding:3mm 8mm;margin:3mm auto;min-width:120mm}
 .diploma-badges{display:flex;justify-content:center;gap:3mm;margin:7mm 0}
 .diploma-badges img{width:18mm;height:18mm;object-fit:contain}
 .passport-print-sheet{max-width:250mm;margin:auto;padding:10mm;border:2px solid #a87943;background:#fffaf0}
 .passport-print-sheet>h1,.passport-print-sheet>p{text-align:center}
 .passport-print-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5mm;margin-top:8mm}
 .passport-print-slot{text-align:center;border:1px dashed #b9aa8d;border-radius:10px;padding:4mm;opacity:.45}
 .passport-print-slot.earned{opacity:1;border-style:solid;background:#fff}
 .passport-print-slot img{width:28mm;height:28mm;object-fit:contain;filter:grayscale(1)}
 .passport-print-slot.earned img{filter:none}
 .passport-print-slot h3{font-size:12pt;margin:2mm 0 1mm}.passport-print-slot p{font-size:9pt;margin:0}
 @page{size:A4 landscape;margin:8mm}
}

/* Versión 3.6: itinerario de creación para Secundaria. */
.creation-version{padding:.15rem 0}.creation-secondary{display:none}
body[data-learning-level="secondary"] .creation-primary{display:none!important}
body[data-learning-level="secondary"] .creation-secondary{display:block}
body[data-learning-level="secondary"] .activity-workshop{border-left-color:var(--sky-dark);background:#f4efe2}
.creation-stage-label{display:inline-block;margin:0 0 .65rem!important;padding:.3rem .55rem;border:1px solid #b69c62;background:var(--yellow-soft);color:#654a2f!important;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.secondary-brief{margin:1rem 0;padding:1rem;border:1px solid #b8c9c8;border-left:6px solid var(--sky-dark);background:#edf6f7}
.secondary-brief h5{margin:0 0 .5rem;font:850 1rem Arial,Helvetica,sans-serif;color:var(--earth-dark)}
.secondary-brief ol{margin:.4rem 0 .1rem;padding-left:1.35rem}.secondary-brief li+li{margin-top:.32rem}
.secondary-scene-choice,.secondary-review{margin:1rem 0;padding:1rem;border:1px solid #b9aa8e;background:#fffaf0}
.secondary-scene-choice legend,.secondary-review legend{padding:0 .35rem;color:var(--earth-dark);font-weight:900}
.secondary-scene-choice label,.secondary-review label{display:flex;align-items:flex-start;gap:.6rem;margin:.55rem 0;padding:.62rem;border:1px solid #d5c8ad;background:var(--paper);cursor:pointer}
.secondary-scene-choice label:has(input:checked),.secondary-review label:has(input:checked){border-color:var(--green-dark);background:var(--green)}
.secondary-scene-choice input,.secondary-review input{flex:0 0 auto;margin-top:.28rem;accent-color:var(--green-dark)}
.secondary-review p{margin:.15rem 0 .65rem;color:var(--muted)}
.creation-review{margin:1rem 0;padding:1rem;border:1px solid #b9aa8e;background:#fffaf0}
.creation-review legend{padding:0 .35rem;color:var(--earth-dark);font-weight:900}
.creation-review>p,.creation-review-genre>p{margin:.2rem 0 .8rem;color:var(--muted)}
.creation-review-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto);align-items:center;gap:.65rem;margin:.55rem 0;padding:.7rem;border:1px solid #d5c8ad;background:var(--paper);cursor:pointer}
.creation-review-row select{min-width:0;max-width:100%;min-height:44px;padding:.5rem;border:1px solid #927e65;background:var(--paper);color:var(--ink);font:inherit}
.creation-review-genre{margin-top:1rem;padding-top:.75rem;border-top:1px solid #b9aa8e}
.creation-review-genre h5{font-size:1rem;margin:.1rem 0 .5rem}
.creation-review .creation-review-summary{font-weight:700;color:var(--earth-dark)}
@media(max-width:700px){.creation-review-row{grid-template-columns:minmax(0,1fr)}.creation-review-row select{width:100%}}
.secondary-text-label textarea{min-height:280px;background:#fffef9}.secondary-length-note{margin:-.35rem 0 1rem;padding:.55rem .7rem;border-left:5px solid var(--yellow);background:var(--yellow-soft);font-weight:750}
@media(max-width:900px){.learning-level-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.learning-level-switch{grid-template-columns:1fr}.secondary-text-label textarea{min-height:230px}}

/* Ajustes de interfaz y accesibilidad · versión 3.7 */
html{scroll-padding-top:6.75rem}
.route{scroll-margin-top:6.75rem}
.hero{align-items:start}
.hero>div:first-child{min-width:0}
.hero-visual{position:relative;z-index:1;display:grid;gap:.8rem;align-self:start;min-width:0}
.hero-map{margin:0;width:100%}
.hero-map img{width:100%;height:auto;aspect-ratio:1600/807;object-fit:contain}
.puzzle-board{aspect-ratio:1600/807}
.puzzle-piece{background-repeat:no-repeat}
.hero-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.hero-stat{display:grid;place-items:center;min-height:4.5rem;padding:.65rem .45rem;border:1px solid #c9b98f;border-radius:.8rem;background:#fffaf0;color:#5f4b3b;text-align:center}
.hero-stat strong{display:block;font-size:1.3rem;line-height:1}.hero-stat span{display:block;margin-top:.2rem;font-size:.76rem;font-weight:800;line-height:1.2}
.hero>.experience-tools{position:relative;z-index:1;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem;margin-top:.25rem;color:var(--ink)}
.hero>.experience-tools>h2,.hero>.experience-tools>p,.hero>.experience-tools>.experience-actions{grid-column:1/-1}
.narration-setting{min-width:12rem}.narration-setting select{max-width:18rem;width:100%}
.credits-references{margin-top:1rem;border:1px solid #d7c49c;background:#fffaf0}
.credits-references summary{padding:.8rem 1rem;color:var(--earth-dark);font-weight:900;cursor:pointer}
.credits-references[open] summary{border-bottom:1px solid #d7c49c;background:#f5ead2}
.credits-references>div{padding:.2rem 1rem 1rem}.credits-references li+li{margin-top:.45rem}
.version-label{display:inline-block;margin-top:.45rem;padding:.2rem .55rem;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:.78rem;font-weight:850}
.noscript-note{width:min(1180px,calc(100% - 2rem));margin:1rem auto;padding:1rem;border:2px solid #a8611b;background:#fff3cd;color:#4e3215}
@media(max-width:850px){html{scroll-padding-top:7.5rem}.route{scroll-margin-top:7.5rem}.hero-visual{width:min(100%,680px);justify-self:center}.hero-map{max-width:none}}
@media(max-width:620px){.hero>.experience-tools{grid-template-columns:1fr}.hero>.experience-tools>*{grid-column:1}}
@media(max-width:520px){html{scroll-padding-top:8rem}.route{scroll-margin-top:8rem}.hero-summary{grid-template-columns:1fr}.hero-stat{min-height:3.5rem}.narration-setting{flex-basis:100%;min-width:0}.narration-setting select{max-width:none}}

/* Revisión 3.7.1: foco visible y explicación del pasaporte. */
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #174f60;outline-offset:3px}
.passport-criteria{padding:1rem;border-left:4px solid #174f60;background:#fffaf0;color:#3b3029;line-height:1.6}

/* MitoMapa 3.8: seguimiento, reutilización y adaptación al zoom. */
html{scroll-padding-top:var(--header-offset,8rem)}
.route{scroll-margin-top:var(--header-offset,8rem)}
.storage-notice{margin:1rem 0;padding:1rem;background:#fff4d6;color:#422e0b;border:2px solid #805b10;border-radius:.8rem}
.storage-notice[hidden]{display:none}
.storage-notice .button{margin:.6rem 0 0}
.progress-dual{padding:.85rem 1rem;border:1px solid #9bb6b9;background:#edf5f3;color:#174f60;font-weight:700;border-radius:.7rem}
.level-route-note h3{margin:.2rem 0 .6rem}.level-route-note ol{padding-left:1.4rem;margin:.5rem 0}.level-route-note li+li{margin-top:.4rem}
.itinerary-status{font-weight:800;color:#174f60}.itinerary-footnote{font-size:.9rem}.assigned-tasks{white-space:pre-wrap;padding:.7rem;border-left:3px solid #174f60;background:#fffaf0;color:#3b3029}
.assigned-tasks:not([hidden])::before{content:"Tareas acordadas: ";font-weight:700}
.review-toggle{display:flex;align-items:flex-start;gap:.5rem;min-width:12rem}.review-toggle input{width:1.2rem;height:1.2rem;flex-shrink:0}
.assigned-label{display:grid;gap:.3rem;margin-top:.7rem;font-size:.85rem}.assigned-label textarea{width:100%;min-height:4rem;padding:.5rem;font:inherit;resize:vertical;border:1px solid #776954;border-radius:.35rem;box-sizing:border-box;background:#fff;color:#332a23}
.rea-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.rea-downloads .button{white-space:normal;text-align:center}
@media(max-width:520px){.rea-downloads{flex-direction:column;align-items:stretch}.teacher-table-wrap{max-width:100%;overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.teacher-table td:last-child{white-space:normal;min-width:16rem}

/* 3.8.1 — diálogo docente: tabla dentro del área visible. */
#teacherDialog{box-sizing:border-box;width:min(1120px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);padding:1.25rem;overflow-y:auto;overflow-x:hidden}
#teacherDialog .dialog-head{position:sticky;top:-1.25rem;z-index:3;padding:.6rem 0;background:var(--paper)}
#teacherDialog .dialog-close{flex-shrink:0}
#teacherDialog .teacher-table-wrap{box-sizing:border-box;width:100%;max-width:100%;min-width:0;max-height:48vh;max-height:48dvh;overflow:auto;scrollbar-gutter:stable;border:1px solid var(--line);overscroll-behavior:contain}
#teacherDialog .teacher-table{min-width:52rem;width:100%}
#teacherDialog .teacher-table thead th{position:sticky;top:0;z-index:1}
.teacher-scroll-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}
.teacher-scroll-controls[hidden]{display:none}
.teacher-scroll-controls p{flex-basis:100%;margin:0;font-size:.9rem}
@media(max-width:620px){#teacherDialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);padding:.75rem}#teacherDialog .dialog-head{top:-.75rem}#teacherDialog .teacher-table-wrap{max-height:45vh;max-height:45dvh}.teacher-scroll-controls .button{flex:1;padding:.55rem}}

/* Revisión histórica 3.9 */
.image-literacy{font-size:.9rem;text-align:left;margin-top:.8rem;padding:.75rem;border:1px solid #b8a68a;border-radius:.6rem;background:#fffaf0;color:#493b30}.image-literacy summary{cursor:pointer;font-weight:700}.historical-review table{width:100%;table-layout:fixed;border-collapse:collapse}.historical-review th,.historical-review td{padding:.6rem;border:1px solid #b8a68a;text-align:left;vertical-align:top;overflow-wrap:anywhere}.historical-review th:first-child{width:24%}.historical-review summary{cursor:pointer;font-weight:700}

/* Web 4.0: accesos visibles y materiales de aula. */
.expedition-links{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.1rem 0}
.expedition-links a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .8rem;border:1px solid #8c6548;border-radius:3px;background:#fffdf7;color:#5f4b3b;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.expedition-links a:hover{background:#f7edbd}
.reuse-heading{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.reuse-heading img{flex:0 0 72px;object-fit:contain}
.reuse-heading h2{margin:.2rem 0}
.rea-downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;margin:1.4rem 0}
.download-card{display:flex;flex-direction:column;min-width:0;padding:1.2rem;border:1px solid #c9b98f;background:#fffdf7;border-top:4px solid #8c6548}
.download-card h3{margin:.25rem 0;font-size:1.25rem}
.download-card p{margin:.6rem 0 1rem}
.download-card .download-format{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.06em;color:#5f4b3b}
.download-card .button{margin-top:auto;overflow-wrap:anywhere}
.mediateca-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);align-items:center;gap:1.5rem}
.mediateca-brand{display:flex;align-items:center;justify-content:center;padding:.75rem}
.mediateca-logo{display:block;width:100%;max-width:320px;height:auto}
.mediateca-card .button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;box-sizing:border-box;margin-top:.25rem;text-align:center}
.download-card .download-help{margin:.75rem 0 0;font-size:.9rem;overflow-wrap:anywhere}
.download-help a{display:inline-flex;align-items:center;min-height:44px;color:#5f4b3b;text-underline-offset:3px}
@media(max-width:650px){.mediateca-card{grid-template-columns:1fr;gap:.5rem}.mediateca-brand{justify-content:flex-start;padding:.4rem 0}.mediateca-logo{max-width:280px}}
.classroom-materials{border-left:4px solid #8c6548;background:#f3e7cf;padding:1rem 1.25rem}
.classroom-materials h3{margin:0}
.classroom-materials ul{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;padding-left:1.2rem;margin-bottom:0}
.classroom-materials a{display:inline-block;padding:.4rem 0;color:#5f4b3b;text-underline-offset:3px}
@media(max-width:850px){.rea-downloads{grid-template-columns:1fr}}
@media(max-width:520px){.reuse-heading{align-items:flex-start;gap:.65rem}.reuse-heading img{width:48px;height:48px;flex-basis:48px}.expedition-links{flex-direction:column}.expedition-links a{justify-content:center}}
@media print{.expedition-links{display:none}}

/* 4.0.2: tareas asignadas y estados de borrador */
.teacher-assignment{display:flex;flex-wrap:wrap;gap:.4rem;border:1px solid #8b7b65;border-radius:.4rem;padding:.5rem;margin:0 0 .5rem;white-space:normal}
.teacher-assignment legend{font-weight:700;font-size:.85rem}.teacher-assignment label{display:flex;align-items:center;gap:.25rem;font-size:.85rem}
.assigned-label select{max-width:100%;padding:.4rem;background:#fff;color:#332a23;border:1px solid #776954;font:inherit}
.external-review{display:flex;align-items:flex-start;gap:.4rem;margin:.5rem 0;font-size:.85rem;white-space:normal}
.draft-status,.research-draft-status{font-size:.9rem;color:#3b513a;margin:.65rem 0}.external-creation-note{padding:1rem;background:#edf3e8;border:1px solid #799173;border-radius:.5rem;color:#29422b}
.feedback-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}.feedback-grid label{display:grid;gap:.4rem}.feedback-grid select,.feedback-grid textarea,.form-url-setting input{width:100%;box-sizing:border-box;padding:.65rem;font:inherit;border:1px solid #776954;border-radius:.35rem;background:#fff;color:#332a23}.feedback-grid textarea{resize:vertical;min-height:6rem}
.form-url-setting{display:grid;gap:.4rem;margin:1rem 0}.feedback-note{font-size:.9rem}.draft-status:empty,.research-draft-status:empty{display:none}
@media print{#studentFeedback,.form-url-setting{display:none!important}}

.hero-authors{padding:.65rem .85rem;border-left:4px solid var(--earth);background:rgba(255,255,255,.75);font-size:.95rem;line-height:1.5}
.hero-authors a{color:var(--earth-dark);font-weight:700}
.learning-path{margin:1rem 0;padding:1rem 1.2rem;border:1px solid #b9ccd0;border-left:5px solid var(--sky-dark);background:#edf6f7}
.learning-path h3{margin:0 0 .5rem;color:var(--earth-dark)}
.learning-path ol{margin:.3rem 0 0;padding-left:1.4rem}
.learning-path li+li{margin-top:.45rem}
.heritage-note{margin:1rem 0;padding:.8rem 1rem;border-left:5px solid var(--yellow);background:#fff9e8}
.curriculum-table-wrap{max-width:100%;overflow-x:auto}
.curriculum-table{width:100%;border-collapse:collapse;margin:1rem 0}
.curriculum-table caption{text-align:left;font-weight:800;margin-bottom:.4rem}
.curriculum-table th,.curriculum-table td{padding:.65rem;border:1px solid #b9ccd0;text-align:left;vertical-align:top}
.curriculum-table th{background:#edf6f7}
.print-credit{margin-top:1rem;font-size:.8rem;color:#554735}
.panel pre{overflow-wrap:anywhere}
#studentFeedback > .eyebrow{color:var(--earth-dark)}
.puzzle-disclosure{border:1px solid #cfc3ad;background:#fffdf7}
.puzzle-disclosure>summary{padding:1rem;font-weight:800;cursor:pointer;min-height:44px;color:var(--earth-dark)}
.puzzle-disclosure>summary:focus-visible{outline:3px solid var(--earth-dark);outline-offset:3px}
.puzzle-disclosure>.lead{padding:0 1rem}
#exploreMap,#compareStories{scroll-margin-top:var(--header-offset,100px)}
@media print{.puzzle-disclosure,#compareStories,.story-sequence{display:none!important}}

/* La etiqueta completa permite activar el ambiente con ratón, tacto o teclado. */
.narrator-controls .narration-ambient-label{min-height:44px;cursor:pointer;gap:.6rem}
.narration-ambient{width:20px;height:20px;flex:none;accent-color:var(--earth-dark)}
.narration-ambient:focus-visible{outline:3px solid var(--earth-dark);outline-offset:3px}

/* Mapa de relieve restaurado: presentación discreta, sin modificar la imagen. */
.hero-map{padding:.35rem;border:1px solid #b6cbd5;border-radius:.9rem;overflow:hidden;box-shadow:0 4px 14px #163a5412}
.hero-map img{border-radius:.55rem;aspect-ratio:3000/1514}

.puzzle-board{aspect-ratio:3000/1514}
.footer{color:#fff}
.footer a{overflow-wrap:anywhere}
.footer a:focus-visible,.footer summary:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media print{.footer{color:#000;background:#fff;border-top:1px solid #000}.footer a{color:#000}}

/* Espacio entre la encuesta y sus acciones, con el correo visible al final. */
#studentFeedback .feedback-actions{margin-top:1.5rem;margin-bottom:1rem;gap:1rem;justify-content:flex-start;align-items:center}
#studentFeedback .feedback-mail-suggestion{margin:0 0 .65rem;line-height:1.6;max-width:80ch}
#studentFeedback .feedback-mail-suggestion a{overflow-wrap:anywhere}
#studentFeedback #feedbackEmailHelp{margin:.65rem 0 0;line-height:1.5}
