
.intro-authors{text-align:center;padding:2.4rem 1rem;background:linear-gradient(105deg,#fff1ab,#ffd9f3,#d2f0ff);border-bottom:5px solid #fff}
.intro-authors h2{font-size:clamp(1.4rem,2.5vw,2.2rem);margin:1rem auto;max-width:980px;color:#6739a9}
.intro-authors .amp{color:#ff3f95}.intro-authors p{font-weight:700;color:#65497e}
.topics-section{max-width:1400px}
.topic-grid{display:grid;gap:2rem}
.topic{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:1.4rem;align-items:center;padding:1.2rem;border:3px solid #ffe5a0;border-radius:28px;background:rgba(255,255,255,.93);box-shadow:0 14px 35px #6a40a91c}
.topic:nth-child(even){border-color:#badaff;background:#f8fbff}.topic:nth-child(even) .topic-pic{order:-1}
.topic:nth-child(3n){border-color:#ffbce1}
.topic-copy{padding:1rem}.topic-copy h3{font-size:clamp(1.5rem,2.5vw,2rem);color:#6638a3}.topic-copy p{font-size:1rem;margin:.65rem 0;color:#443757}.topic-copy ul{padding-left:1.4rem}.topic-copy li{padding:.3rem 0}.topic-copy .subline{font-weight:900;color:#bc3d7a;margin-top:1.1rem}
.topic-pic{display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:linear-gradient(135deg,#ffe3f0,#e1efff,#fff0b8);padding:.5rem 1rem;border-radius:23px;cursor:pointer;min-height:245px;animation:floaty 5s ease-in-out infinite;text-align:center;color:#633aa4;font-weight:900;font-size:.95rem;box-shadow:0 10px 20px #7c4dff1a}
.topic-pic img{width:min(100%,360px);max-height:300px;object-fit:contain;transition:transform .3s ease}.topic-pic:hover img,.topic-pic:focus-visible img{transform:scale(1.07) rotate(-2deg)}.topic-pic:focus-visible{outline:4px solid #2778cc;outline-offset:4px}
.topic-pic span{background:#fff;border-radius:40px;padding:.5rem 1.2rem;margin-top:.5rem;box-shadow:0 5px 12px #43216716}
.subitem{padding:.65rem .9rem;background:#fff7e7;border-left:4px solid #ffa927;margin:.6rem 0;border-radius:8px}.subitem strong{display:block;color:#6638a3}
.games-section{max-width:1050px}.games-section .center-actions{margin:2rem auto;text-align:center}
.ending{display:grid;grid-template-columns:minmax(220px,.45fr) 1fr;align-items:center;gap:2rem;padding:2rem 5vw;background:linear-gradient(110deg,#8e4cf6,#f15aa9,#ffac36);color:white}.ending h2{color:white}.ending img{width:100%;max-height:320px;object-fit:contain;animation:floaty 5s infinite}.ending p{font-size:1.12rem}
.detail-modal{border:0;border-radius:24px;width:min(95vw,750px);max-height:88vh;padding:1.5rem;background:#fffefc;box-shadow:0 20px 90px #1b083c66;color:#39274f;overflow:auto}.detail-modal::backdrop{background:#23143ac9;backdrop-filter:blur(5px)}.detail-modal img{width:min(72vw,290px);height:200px;object-fit:contain;display:block;margin:0 auto;animation:floaty 4s infinite}.detail-modal h2{color:#6638a3;font-size:1.8rem}.detail-modal .modal-close{position:sticky;top:0;float:right;border:0;border-radius:50%;background:#fff0f6;color:#9d255c;font-weight:900;font-size:1.1rem;padding:.55rem .8rem;cursor:pointer}.modal-question{background:#fff5d5;border-radius:13px;padding:.85rem 1rem;margin:1rem 0}.modal-question p{margin:.2rem 0 0}.modal-text{text-align:center;max-width:600px;margin:auto}
@media(max-width:750px){.topic{grid-template-columns:1fr;gap:0}.topic:nth-child(even) .topic-pic{order:0}.topic-copy{padding:.5rem}.topic-pic{min-height:190px}.ending{grid-template-columns:1fr;text-align:center}.ending img{max-height:230px}.header nav a{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.topic-pic,.detail-modal img,.ending img{animation:none}.topic-pic img{transition:none}}
@media print{.diploma{display:flex !important}.intro-authors,.topic,.ending,.games-section{display:none!important}}
/* Juegos adicionales: interacción táctil y teclado */
.huaca-puzzle{width:min(100%,510px);aspect-ratio:16/9;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;margin:1.25rem auto;border:7px solid #7c4dff;border-radius:16px;overflow:hidden;background:#7c4dff}
.puzzle-piece{border:0;cursor:pointer;background-image:url('assets/hero-huaca.png');background-size:300% 300%;min-width:0;min-height:0;transition:filter .18s,outline .18s}
.puzzle-piece.selected{outline:5px solid #ffe135;outline-offset:-5px;filter:brightness(1.24)}
.diff-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;margin:1rem 0}
.diff-image{position:relative;line-height:0;overflow:hidden;border-radius:14px;border:3px solid #dfbfff;background:#eee}
.diff-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.diff-caption{position:absolute;z-index:2;left:8px;top:8px;background:#fffbdc;color:#543466;border-radius:999px;font-size:.75rem;line-height:1.3;font-weight:900;padding:.35rem .6rem}
.diff-hotspot{position:absolute;border:0;border-radius:50%;background:transparent;cursor:pointer;font-size:1.4rem;font-weight:bold;color:white;display:flex;align-items:center;justify-content:center}
.diff-hotspot.found{border:3px solid #22d36a;background:#16a351a8;box-shadow:0 0 0 3px #fff9}
.diff-hotspot:focus-visible{outline:3px solid #ffd62d;background:#ffd62d44}
.maze-grid{display:grid;grid-template-columns:repeat(13,1fr);width:min(100%,490px);aspect-ratio:1;margin:1rem auto;border:7px solid #7c4dff;border-radius:12px;overflow:hidden;background:#fff}
.maze-cell{display:flex;align-items:center;justify-content:center;font-size:clamp(.6rem,2vw,1.45rem);line-height:1;min-width:0;min-height:0}
.maze-cell.wall{background:#794ccc;border:1px solid #996dec}.maze-cell.open{background:#fff8db;border:1px solid #f3ecc9}
.maze-pad{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin:1rem 0}
.maze-btn{font-size:1.3rem;cursor:pointer;padding:.45rem .9rem;border:2px solid #7c4dff;background:#f4ecff;border-radius:12px}
.win-message{color:#05733d!important;font-weight:900!important}
@media(max-width:700px){.diff-wrap{grid-template-columns:1fr;max-width:550px;margin-inline:auto}.diff-hotspot{font-size:1.3rem}}

/* Revisión previa de juegos y certificado */
.quiz-new{margin-top:1rem;background:#fff1fa;color:#753f98;border:2px solid #f4b3e4;font-size:.86rem}
@media print{
  html,body{width:297mm!important;height:210mm!important;max-height:210mm!important;margin:0!important;padding:0!important;overflow:hidden!important}
  .diploma{position:fixed!important;inset:0!important;width:297mm!important;height:210mm!important;min-height:0!important;max-height:210mm!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;page-break-after:avoid!important;break-after:avoid!important}
  .diploma .sheet{width:297mm!important;height:210mm!important;max-height:210mm!important;min-height:0!important;padding:12mm!important}
  .diploma .inner{padding:10mm!important}
  .diploma .inner p{margin:0 0 5mm!important}
  .diploma .inner p:nth-last-child(2){font-size:10pt!important;color:#7242a1!important;font-weight:700!important}
}

/* Ajustes universales para navegadores móviles Safari y Android Chrome */
html{scroll-padding-top:88px}
.header{min-height:66px;padding:.55rem clamp(12px,3vw,30px);gap:.65rem}
.header .brand{font-size:.78rem;letter-spacing:.035em;line-height:1.15;max-width:220px}
.header .brand small{font-size:.53rem;letter-spacing:.1em;margin-top:3px}
.header .brand-icon{font-size:1.35rem}
.header nav{gap:.22rem;justify-content:end}
.header nav a{font-size:.82rem;white-space:nowrap;padding:.5rem .55rem}
.game-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.8rem}
.game-tabs .tab{border:2px solid #decfff;border-radius:14px;min-height:56px;line-height:1.3;padding:.7rem .45rem;white-space:normal;text-align:center;overflow-wrap:anywhere}
.game-tabs .tab.active{border-color:#6a38bd;box-shadow:0 4px 12px #6a38bd30}
.game-panel{border-radius:22px}
.puzzle-reference{display:block;max-width:min(100%,510px);width:100%;height:auto;margin:1rem auto;border:3px solid #ffce44;border-radius:14px}
.puzzle-reference[hidden]{display:none!important}
.puzzle-piece{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.maze-btn,.answer,.btn,.tab,.topic-pic{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:600px){
 html{scroll-padding-top:70px}
 .header{min-height:62px;padding:.4rem .65rem}
 .header .brand{font-size:.64rem;max-width:142px;gap:.3rem}
 .header .brand small{font-size:.49rem}
 .header .brand-icon{font-size:1.25rem}
 .header nav{gap:.05rem;flex-wrap:nowrap}
 .header nav a{font-size:.73rem;padding:.55rem .35rem}
 .hero{padding:1.4rem .8rem}
 .hero-inner{border-radius:20px}
 .game-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
 .game-tabs .tab{min-height:52px;font-size:.83rem;padding:.65rem .35rem}
 .games-section{padding-inline:1rem}
 .game-panel{padding:1.1rem}
 .huaca-puzzle{border-width:4px;gap:2px}
 .diff-image{border-width:2px}
 .diff-hotspot{min-width:26px;min-height:26px;transform:translate(-5%,-5%)}
 .maze-btn{min-width:60px;min-height:48px}
}
@media(max-width:370px){.header .brand{font-size:.59rem;max-width:118px}.header nav a{font-size:.67rem;padding:.45rem .25rem}}
@media(prefers-reduced-motion:reduce){.floaty,.bobble,.sway,.pulse-soft{animation:none!important}*{scroll-behavior:auto!important}}
