:root{--pc:#f5e6c8;--p:#e8d5a8;--pe:#dcc898;--pb:#c4a06a;--t:#3a2510;--m:#5a3e28;--mc:#8B6914;--o:#f4d03f;--v:#6ab04c;--ve:#4a8c34;--vb:#3d7a2a;--a:#4a90d9;--ae:#2c6faa;--ab:#245d8f;--l:#e67e22;--le:#d35400;--lb:#a04006;--r:#c0392b;--re:#96281b;--rb:#7d2015;--cc:#87CEEB;--cm:#5BB5E0;--cs:#a8d8ea}
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden}
body{font-family:'Nunito',sans-serif;background:linear-gradient(180deg,var(--cc) 0%,var(--cm) 30%,var(--cs) 70%,#d4efdf 100%);min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;position:relative;color:var(--t)}
button{font-family:'Nunito',sans-serif;touch-action:manipulation}
.palm-left,.palm-right{display:none}
.screen{display:none;min-height:100vh;min-height:100dvh;padding:20px;animation:fadeIn .4s ease;position:relative;z-index:1}
.screen.active{display:flex;align-items:center;justify-content:center}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.hidden{display:none !important}
.parchment-card{background:linear-gradient(145deg,var(--pc) 0%,var(--p) 50%,var(--pe) 100%);border-radius:16px;padding:24px;box-shadow:0 4px 20px rgba(90,62,40,.25),inset 0 1px 0 rgba(255,255,255,.4);border:2px solid var(--pb);position:relative}
.parchment-card::before{content:'';position:absolute;inset:0;border-radius:14px;background:repeating-linear-gradient(0deg,transparent,transparent 20px,rgba(139,105,20,.03) 20px,rgba(139,105,20,.03) 21px);pointer-events:none}
.home-container{text-align:center;max-width:440px;width:100%;padding-bottom:40px}
.logo-area{margin-bottom:24px}
.compass-icon{margin-bottom:10px;display:inline-block;animation:compassSpin 8s ease-in-out infinite}
@keyframes compassSpin{0%,100%{transform:rotate(0)}25%{transform:rotate(10deg)}50%{transform:rotate(0)}75%{transform:rotate(-10deg)}}
.logo-title{font-family:'Pirata One',cursive;font-size:3.2rem;color:var(--t);text-shadow:2px 2px 0 rgba(255,255,255,.3);letter-spacing:3px;line-height:1}
.logo-subtitle{font-family:'Fredoka One',cursive;font-size:1.05rem;color:var(--m);margin-top:4px;letter-spacing:1px}
.menu-card{padding:18px 16px}
.menu-heading{font-family:'Pirata One',cursive;font-size:1.3rem;color:var(--t);margin-bottom:14px;letter-spacing:1px}
.games-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:2}
.game-card{background:linear-gradient(145deg,#faf3e6,#f0e4cc);border:2px solid var(--pb);border-radius:14px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px rgba(90,62,40,.18);min-height:120px;justify-content:center;position:relative;overflow:hidden}
.game-card:active{transform:scale(.96);box-shadow:0 1px 4px rgba(90,62,40,.15)}
.game-card.wide{grid-column:span 2;flex-direction:row;text-align:left;gap:14px;padding:14px 16px;min-height:80px;justify-content:flex-start}
.game-card.wide .game-card-icon{flex-shrink:0}
.game-card.wide .game-card-title,.game-card.wide .game-card-desc{text-align:left}
.game-card-icon{width:48px;height:48px;background:rgba(255,255,255,.4);border-radius:10px;display:flex;align-items:center;justify-content:center}
.game-card-title{font-family:'Fredoka One',cursive;font-size:.95rem;color:var(--t);line-height:1.1;text-align:center}
.game-card-desc{font-size:.72rem;color:var(--m);font-weight:700;text-align:center;line-height:1.2}
.game-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:12px 12px 0 0}
.game-memory::before{background:var(--v)}
.game-memquiz::before{background:var(--a)}
.game-quiz::before{background:var(--l)}
.game-wordsearch::before{background:var(--r)}
.game-trail::before{background:var(--mc)}
.home-footer{margin-top:20px;color:rgba(58,37,16,.5);font-size:.8rem;font-weight:700}
.powered-by{display:inline-block;margin-top:8px;font-size:.6rem;color:rgba(58,37,16,.3);text-decoration:none;font-weight:600;letter-spacing:.5px;transition:color .2s}
.powered-by:active{color:rgba(58,37,16,.5)}
.btn{display:flex;align-items:center;gap:14px;padding:16px 20px;border:none;border-radius:14px;cursor:pointer;transition:transform .15s ease;width:100%;text-align:left;font-family:'Nunito',sans-serif}
.btn:active{transform:scale(.97)}
.btn-adventure{background:linear-gradient(135deg,var(--v) 0%,var(--ve) 100%);color:#fff;box-shadow:0 4px 12px rgba(74,140,52,.35),inset 0 1px 0 rgba(255,255,255,.2);border:2px solid var(--vb)}
.btn-quest{background:linear-gradient(135deg,var(--a) 0%,var(--ae) 100%);color:#fff;box-shadow:0 4px 12px rgba(44,111,170,.35),inset 0 1px 0 rgba(255,255,255,.2);border:2px solid var(--ab)}
.btn-easy{background:linear-gradient(135deg,var(--v) 0%,var(--ve) 100%);color:#fff;box-shadow:0 4px 12px rgba(74,140,52,.35);border:2px solid var(--vb)}
.btn-medium{background:linear-gradient(135deg,var(--l) 0%,var(--le) 100%);color:#fff;box-shadow:0 4px 12px rgba(211,84,0,.35);border:2px solid var(--lb)}
.btn-hard{background:linear-gradient(135deg,var(--r) 0%,var(--re) 100%);color:#fff;box-shadow:0 4px 12px rgba(192,57,43,.35);border:2px solid var(--rb)}
.btn-content{display:flex;flex-direction:column;gap:2px}
.btn-text{font-family:'Fredoka One',cursive;font-size:1.2rem}
.btn-desc{font-size:.8rem;opacity:.9;font-weight:600}
.diff-stars{font-size:1.4rem;color:var(--o);text-shadow:1px 1px 0 rgba(0,0,0,.2);flex-shrink:0;min-width:50px}
.btn-back{background:rgba(90,62,40,.2);color:var(--t);border:2px solid rgba(90,62,40,.3);padding:10px 20px;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;font-family:'Nunito',sans-serif;transition:background .2s;align-self:flex-start}
.btn-back-sm{padding:8px 14px;font-size:.9rem}
.btn-back:active{background:rgba(90,62,40,.35)}
.difficulty-container{max-width:420px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.screen-title{font-family:'Pirata One',cursive;color:var(--t);font-size:1.8rem;margin-top:8px;text-shadow:1px 1px 0 rgba(255,255,255,.3);letter-spacing:2px}
.difficulty-buttons{display:flex;flex-direction:column;gap:12px}
.difficulty-container .parchment-card{width:100%}
#screen-game{flex-direction:column;padding:12px;background:linear-gradient(180deg,var(--cc) 0%,var(--cm) 40%,var(--cc) 100%)}
#screen-game.active{align-items:stretch}
.game-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0;gap:8px;flex-wrap:wrap}
.game-stats{display:flex;gap:8px;flex-shrink:0}
.stat{display:flex;flex-direction:column;align-items:center;background:linear-gradient(145deg,var(--pc),var(--p));padding:6px 10px;border-radius:10px;border:1px solid var(--pb);box-shadow:0 2px 6px rgba(90,62,40,.15);min-width:50px}
.stat-label{font-size:.6rem;color:var(--mc);font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.stat-value{font-family:'Fredoka One',cursive;font-size:1rem;color:var(--t)}
.game-board{display:grid;gap:10px;width:100%;margin:0 auto;flex-grow:1;align-content:center;justify-content:center;padding:0 4px}
.game-board.grid-2x4{grid-template-columns:repeat(4,minmax(0,140px))}
.game-board.grid-3x4{grid-template-columns:repeat(4,minmax(0,130px))}
.game-board.grid-4x4{grid-template-columns:repeat(4,minmax(0,120px))}
.card{aspect-ratio:3/4;perspective:800px;cursor:pointer;width:100%}
.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s ease}
.card.flipped .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}
.card.matched{pointer-events:none}
.card-front,.card-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card-back{background:linear-gradient(145deg,#d4a574 0%,#b8864e 50%,#a07032 100%);box-shadow:0 3px 10px rgba(90,62,40,.3);border:3px solid var(--mc)}
.card-back::after{content:'';position:absolute;inset:6px;border:2px dashed rgba(139,105,20,.4);border-radius:8px}
.card-back-icon{width:36px;height:36px;opacity:.7}
.card-front{transform:rotateY(180deg);background:linear-gradient(145deg,#faf3e6,#f0e4cc);box-shadow:0 3px 10px rgba(90,62,40,.3);border:3px solid var(--pb);flex-direction:column;padding:0}
.card-front img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.card-front .card-label{position:absolute;bottom:0;left:0;right:0;font-family:'Fredoka One',cursive;font-size:.75rem;color:#fff;background:linear-gradient(transparent,rgba(90,62,40,.85));padding:12px 4px 5px;text-align:center;line-height:1.1;border-radius:0 0 8px 8px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}
.card-front.quiz-card{background:linear-gradient(145deg,#faf3e6,#f0e4cc);padding:8px;justify-content:center}
.card-front.quiz-card .card-quiz-text{font-size:.72rem;font-weight:700;color:var(--t);text-align:center;line-height:1.25}
.card-front.quiz-card.quiz-question{border-color:var(--a)}
.card-front.quiz-card.quiz-question::before{content:'?';position:absolute;top:4px;right:6px;font-family:'Fredoka One',cursive;font-size:.7rem;color:var(--a)}
.card-front.quiz-card.quiz-answer{border-color:var(--v)}
.card-front.quiz-card.quiz-answer::before{content:'!';position:absolute;top:4px;right:6px;font-family:'Fredoka One',cursive;font-size:.7rem;color:var(--v)}
.card.matched .card-front{border-color:var(--v);box-shadow:0 0 16px rgba(106,176,76,.5);animation:matchPop .5s ease}
@keyframes matchPop{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.06)}100%{transform:rotateY(180deg) scale(1)}}
.card.wrong{animation:cardShake .4s ease}
@keyframes cardShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
#screen-quiz{flex-direction:column;padding:16px}
#screen-quiz.active{align-items:center;justify-content:flex-start}
.quiz-container{max-width:460px;width:100%;display:flex;flex-direction:column;gap:16px;position:relative;z-index:2}
.quiz-header{display:flex;align-items:center;gap:12px}
.quiz-progress-wrap{flex-grow:1;display:flex;flex-direction:column;gap:4px}
.quiz-progress-label{font-family:'Fredoka One',cursive;color:var(--t);font-size:.95rem;text-align:right}
.quiz-progress-bar{background:rgba(90,62,40,.2);height:10px;border-radius:8px;overflow:hidden;border:1px solid rgba(90,62,40,.3)}
.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--v) 0%,var(--ve) 100%);width:0;transition:width .4s ease;border-radius:8px}
.quiz-card-main{padding:22px 18px;text-align:center}
.quiz-icon{margin-bottom:10px;animation:bob 2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.quiz-question-text{font-family:'Fredoka One',cursive;font-size:1.2rem;color:var(--t);margin-bottom:18px;line-height:1.3}
.quiz-options{display:flex;flex-direction:column;gap:10px}
.quiz-option{background:linear-gradient(145deg,#faf3e6,#f0e4cc);border:2px solid var(--pb);padding:14px 16px;border-radius:12px;color:var(--t);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s ease,background .2s;text-align:left;font-family:'Nunito',sans-serif;line-height:1.3}
.quiz-option:active{transform:scale(.97)}
.quiz-option.correct{background:linear-gradient(135deg,var(--v) 0%,var(--ve) 100%);color:#fff;border-color:var(--vb);animation:matchPop2 .4s ease}
@keyframes matchPop2{0%{transform:scale(1)}50%{transform:scale(1.04)}100%{transform:scale(1)}}
.quiz-option.wrong{background:linear-gradient(135deg,var(--r) 0%,var(--re) 100%);color:#fff;border-color:var(--rb);animation:shake2 .4s ease}
@keyframes shake2{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.quiz-option:disabled{cursor:default}
.quiz-score-hud{text-align:center;color:var(--t);font-size:1rem;font-weight:700}
.quiz-score-hud strong{font-family:'Fredoka One',cursive;font-size:1.2rem;color:var(--mc)}
#screen-wordsearch{flex-direction:column;padding:12px}
#screen-wordsearch.active{align-items:stretch}
.wordsearch-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;flex-wrap:wrap}
.wordsearch-wrap{display:flex;flex-direction:column;gap:14px;align-items:center;flex-grow:1;justify-content:center}
.wordsearch-grid{display:grid;gap:2px;background:linear-gradient(145deg,var(--pc),var(--p));padding:8px;border-radius:12px;border:2px solid var(--pb);box-shadow:0 4px 14px rgba(90,62,40,.25);user-select:none;-webkit-user-select:none;touch-action:none}
.ws-cell{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.3);border-radius:6px;font-family:'Fredoka One',cursive;font-size:1.05rem;color:var(--t);cursor:pointer;transition:background .15s;position:relative}
.ws-cell.selecting{background:var(--o);color:var(--t);transform:scale(1.05)}
.ws-cell.found{background:rgba(106,176,76,.55);color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}
@media (max-width:360px){.ws-cell{width:30px;height:30px;font-size:.9rem}}
.wordsearch-words{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:400px}
.ws-word{background:linear-gradient(145deg,#faf3e6,#f0e4cc);border:2px solid var(--pb);padding:6px 12px;border-radius:10px;font-family:'Fredoka One',cursive;font-size:.85rem;color:var(--t);letter-spacing:1px;transition:all .3s}
.ws-word.found{background:linear-gradient(135deg,var(--v) 0%,var(--ve) 100%);color:#fff;border-color:var(--vb);text-decoration:line-through;text-decoration-thickness:2px}
#screen-trail{flex-direction:column;padding:12px}
#screen-trail.active{align-items:stretch}
.trail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;flex-wrap:wrap}
.trail-board{flex-grow:1;background:linear-gradient(180deg,#a8d8ea 0%,#d4efdf 100%);border:3px solid var(--mc);border-radius:16px;padding:14px;position:relative;overflow:hidden;min-height:400px;box-shadow:inset 0 0 30px rgba(139,105,20,.15)}
.trail-path-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.trail-spot{position:absolute;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,var(--pc),var(--p));border:3px solid var(--pb);display:flex;align-items:center;justify-content:center;font-family:'Fredoka One',cursive;font-size:1rem;color:var(--mc);box-shadow:0 3px 8px rgba(90,62,40,.3);transform:translate(-50%,-50%);transition:all .3s ease;z-index:2}
.trail-spot.visited{background:linear-gradient(145deg,var(--v),var(--ve));color:#fff;border-color:var(--vb)}
.trail-spot.current{background:linear-gradient(145deg,var(--o),#e6bc2a);color:var(--t);border-color:var(--mc);animation:pulse 1.2s ease-in-out infinite;z-index:3}
@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.12)}}
.trail-spot.treasure{background:linear-gradient(145deg,var(--o),#d4a017);border-color:var(--m);width:50px;height:50px}
.trail-player{position:absolute;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--r) 0%,var(--re) 100%);border:3px solid #fff;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);transition:left .6s ease,top .6s ease;z-index:5;box-shadow:0 3px 10px rgba(192,57,43,.5)}
.trail-player svg{width:22px;height:22px}
.trail-challenge{position:fixed;inset:0;background:rgba(58,37,16,.75);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .3s ease}
.trail-challenge-card{max-width:440px;width:100%;animation:bounceIn .5s ease;text-align:center}
.trail-challenge-badge{background:linear-gradient(135deg,var(--l),var(--le));color:#fff;font-family:'Fredoka One',cursive;font-size:.85rem;padding:4px 14px;border-radius:16px;display:inline-block;margin-bottom:10px;letter-spacing:1px;text-shadow:1px 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(211,84,0,.35)}
.trail-challenge-text{font-family:'Fredoka One',cursive;font-size:1.1rem;color:var(--t);margin-bottom:14px;line-height:1.3}
.win-container{text-align:center;max-width:400px;width:100%;animation:bounceIn .6s ease;padding-bottom:20px}
@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}
.treasure-chest{margin-bottom:16px;animation:chestBounce 1s ease infinite alternate}
@keyframes chestBounce{from{transform:translateY(0)}to{transform:translateY(-8px)}}
.win-title{font-family:'Pirata One',cursive;font-size:2.8rem;color:var(--t);text-shadow:2px 2px 0 rgba(255,255,255,.3);letter-spacing:2px}
.win-subtitle{color:var(--m);font-size:1.05rem;font-weight:700;margin-top:6px}
.win-stats-card{margin:20px 0;padding:16px}
.win-stats{color:var(--t);font-size:1.05rem}
.win-stats p{margin:4px 0}
.win-stats strong{color:var(--mc);font-family:'Fredoka One',cursive}
.win-buttons{display:flex;flex-direction:column;gap:10px}
.confetti{position:fixed;top:-10px;border-radius:2px;animation:confettiFall linear forwards;pointer-events:none;z-index:999}
@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}
@media (max-width:360px){.logo-title{font-size:2.6rem}.game-board{gap:6px}.stat{padding:4px 8px;min-width:44px}.game-stats{gap:5px}.card-front .card-label{font-size:.6rem}.parchment-card{padding:16px}.btn{padding:14px 16px}.game-card-title{font-size:.85rem}.game-card-desc{font-size:.68rem}.game-card-icon{width:42px;height:42px}.ws-word{font-size:.75rem;padding:5px 10px}}
@media (min-width:600px){.game-board{gap:12px}.game-board.grid-2x4{grid-template-columns:repeat(4,150px)}.game-board.grid-3x4{grid-template-columns:repeat(4,140px)}.game-board.grid-4x4{grid-template-columns:repeat(4,130px)}.ws-cell{width:40px;height:40px;font-size:1.2rem}.trail-spot{width:48px;height:48px;font-size:1.1rem}}

/* ===== EXPANSÃO: Super Quiz + Caça-Palavras + Trilha + Sequência ===== */

/* --- Game cards (cores por jogo) --- */
.game-card-memory { border-top: 6px solid var(--l); }
.game-card-quiz-memory { border-top: 6px solid var(--a); }
.game-card-superquiz { border-top: 6px solid var(--o); }
.game-card-wordsearch { border-top: 6px solid var(--r); }
.game-card-trail { border-top: 6px solid var(--v); }
.game-card-sequence { border-top: 6px solid #8e44ad; }

#screen-superquiz { flex-direction: column; padding: 16px; }
#screen-superquiz.active { align-items: stretch; justify-content: flex-start; }
/* --- Super Quiz --- */
.superquiz-container {
    position: relative; z-index: 1;
    max-width: 520px; margin: 0 auto; width: 100%;
    display: flex; flex-direction: column; gap: 14px;
    flex-grow: 1; justify-content: center;
}
.quiz-progress-bar {
    height: 14px; background: var(--pe);
    border: 2px solid var(--mc); border-radius: 100px;
    overflow: hidden; box-shadow: inset 0 2px 4px rgba(58,37,16,0.15);
}
.quiz-progress-fill {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, var(--o), #d4a017);
    border-radius: 100px;
    transition: width .4s cubic-bezier(.4,0,.2,1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
#sq-progress-fill { background: linear-gradient(90deg, var(--o), #d4a017); }
.quiz-question-card { text-align: center; padding: 18px 16px; }
.quiz-question-label {
    font-family: 'Fredoka One', cursive; font-size: 13px;
    color: var(--m); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px;
}
.quiz-question-text {
    font-family: 'Fredoka One', cursive; font-size: 20px;
    line-height: 1.3; color: var(--t);
}
.quiz-options { display: flex; flex-direction: column; gap: 10px; }
.quiz-option {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px; width: 100%;
    background: linear-gradient(145deg, var(--pc), var(--p));
    border: 3px solid var(--mc); border-radius: 14px;
    font-family: 'Nunito', sans-serif; font-weight: 700;
    font-size: 14px; color: var(--t); text-align: left;
    box-shadow: 0 2px 4px rgba(58,37,16,0.15);
    transition: transform .15s cubic-bezier(.34,1.56,.64,1), background .2s, border-color .2s;
    min-height: 48px; line-height: 1.3; cursor: pointer;
}
.quiz-option:active { transform: translateY(1px) scale(.99); }
.quiz-option-letter {
    flex-shrink: 0; width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    background: var(--mc); color: white; border-radius: 50%;
    font-family: 'Fredoka One', cursive; font-size: 14px;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}
.quiz-option.correct {
    background: linear-gradient(145deg, #b8e394, var(--v));
    border-color: var(--vb); color: white;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
    animation: correctFlash .4s ease;
}
.quiz-option.correct .quiz-option-letter { background: var(--vb); }
.quiz-option.incorrect {
    background: linear-gradient(145deg, #f5a29a, var(--r));
    border-color: var(--rb); color: white;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
    animation: shake .4s ease;
}
.quiz-option.incorrect .quiz-option-letter { background: var(--rb); }
.quiz-option.disabled { pointer-events: none; opacity: .75; }
@keyframes correctFlash {
    0%,100% { box-shadow: 0 2px 4px rgba(58,37,16,0.15); }
    50% { box-shadow: 0 0 20px rgba(106,176,76,.8); }
}
@keyframes shake {
    0%,100% { transform: translateX(0); }
    25% { transform: translateX(-6px); }
    75% { transform: translateX(6px); }
}

/* --- Caça-Palavras --- */
.wordsearch-container {
    position: relative; z-index: 1;
    max-width: 520px; margin: 0 auto; width: 100%;
    display: flex; flex-direction: column; gap: 16px;
}
.ws-instruction {
    text-align: center; font-size: 14px; font-weight: 700;
    color: var(--m); line-height: 1.4;
    background: linear-gradient(145deg, var(--pc), var(--pe));
    border: 2px dashed var(--mc); border-radius: 12px;
    padding: 10px 16px;
}
.ws-instruction strong { color: var(--t); }
.wordsearch-grid {
    display: grid; gap: 3px; padding: 10px;
    background: linear-gradient(145deg, var(--pc), var(--pe));
    border: 3px solid var(--mc); border-radius: 14px;
    box-shadow: 0 4px 12px rgba(58,37,16,.25), inset 0 0 20px rgba(139,105,20,.08);
}
.ws-cell {
    aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
    background: var(--p); border: 1.5px solid var(--pb); border-radius: 5px;
    font-family: 'Fredoka One', cursive;
    font-size: clamp(12px, 3.5vw, 18px);
    color: var(--t); text-transform: uppercase; font-weight: 700;
    transition: background .15s, transform .15s;
    cursor: pointer; user-select: none; touch-action: manipulation;
}
.ws-cell.selecting {
    background: var(--o); border-color: #d4a017;
    transform: scale(1.08);
    box-shadow: 0 0 8px rgba(244,208,63,.8);
    color: var(--t);
}
.ws-cell.found {
    background: linear-gradient(145deg, var(--v), var(--vb));
    border-color: var(--vb); color: white;
    text-shadow: 1px 1px 0 rgba(0,0,0,.25);
}
.ws-cell.multi-found {
    background: linear-gradient(145deg, var(--a), var(--ab));
    border-color: var(--ab); color: white;
}
.wordsearch-words {
    display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
    padding: 12px;
    background: rgba(245,230,200,.6);
    border: 2px dashed var(--mc); border-radius: 14px;
}
.ws-word {
    padding: 6px 12px; background: var(--pc);
    border: 2px solid var(--mc); border-radius: 100px;
    font-family: 'Fredoka One', cursive; font-size: 13px;
    color: var(--t); text-transform: uppercase; letter-spacing: .5px;
    box-shadow: 0 2px 4px rgba(58,37,16,.15);
    transition: all .3s cubic-bezier(.4,0,.2,1);
}
.ws-word.found {
    background: linear-gradient(145deg, var(--v), var(--vb));
    border-color: var(--vb); color: white;
    text-decoration: line-through;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
    transform: scale(.95);
}

/* --- Trilha --- */
.trail-container {
    position: relative; z-index: 1;
    max-width: 520px; margin: 0 auto; width: 100%;
    display: flex; flex-direction: column; gap: 16px;
}
.trail-map {
    position: relative;
    background:
        radial-gradient(ellipse at top, rgba(168,216,234,.4), transparent 60%),
        linear-gradient(160deg, #e8d9a8, #d4b87a 80%, #b8935a);
    border: 3px solid var(--mc); border-radius: 20px;
    padding: 24px 16px; min-height: 440px;
    box-shadow: 0 4px 12px rgba(58,37,16,.25), inset 0 0 30px rgba(139,105,20,.1);
    overflow: hidden;
}
.trail-map::before {
    content: ''; position: absolute; inset: 6px;
    border: 1px dashed rgba(139,105,20,.4);
    border-radius: 12px; pointer-events: none;
}
.trail-path {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    pointer-events: none;
}
.trail-tile {
    position: absolute; width: 54px; height: 54px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(145deg, var(--pc), var(--pe));
    border: 3px solid var(--mc); border-radius: 50%;
    font-family: 'Fredoka One', cursive; font-size: 18px;
    color: var(--t);
    box-shadow: 0 2px 4px rgba(58,37,16,.15);
    transform: translate(-50%, -50%);
    transition: all .4s cubic-bezier(.34,1.56,.64,1);
    z-index: 2; touch-action: manipulation;
}
.trail-tile.completed {
    background: linear-gradient(145deg, var(--v), var(--vb));
    border-color: var(--vb); color: white;
    text-shadow: 1px 1px 0 rgba(0,0,0,.25);
}
.trail-tile.current {
    background: linear-gradient(145deg, var(--o), #d4a017);
    border-color: var(--t); color: var(--t);
    transform: translate(-50%, -50%) scale(1.2);
    box-shadow: 0 0 16px rgba(244,208,63,.8), 0 4px 12px rgba(58,37,16,.25);
    z-index: 3;
    animation: trailPulse 1.4s ease-in-out infinite;
}
@keyframes trailPulse {
    0%,100% { box-shadow: 0 0 12px rgba(244,208,63,.6), 0 4px 12px rgba(58,37,16,.25); }
    50% { box-shadow: 0 0 24px rgba(244,208,63,1), 0 4px 12px rgba(58,37,16,.25); }
}
.trail-tile.finish {
    background: linear-gradient(145deg, var(--r), var(--rb));
    border-color: var(--rb); color: white;
    width: 62px; height: 62px; font-size: 24px;
}
.trail-advance-btn { width: 100%; }
.btn-trail-quit {
    background: transparent; color: var(--m); border: 2px solid rgba(90,62,40,.25);
    font-size: .85rem; padding: 10px 16px; width: 100%;
    border-radius: 12px; cursor: pointer; font-family: 'Nunito', sans-serif;
}
.btn-trail-quit .btn-text { font-family: 'Nunito', sans-serif; font-size: .85rem; font-weight: 700; }
.btn-trail-quit:active { background: rgba(90,62,40,.1); }
.trail-advance-btn.disabled {
    opacity: .5; pointer-events: none; filter: grayscale(.5);
}

/* --- Modal (Trilha desafios) --- */
.modal-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(58,37,16,.65);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 100;
    align-items: center; justify-content: center; padding: 20px;
    animation: fadeIn .3s ease;
}
.modal-overlay.active { display: flex; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.modal-content {
    max-width: 440px; width: 100%; text-align: center;
    animation: modalPop .4s cubic-bezier(.34,1.56,.64,1);
    position: relative;
}
.modal-close-btn {
    position: absolute; top: 10px; right: 14px;
    background: none; border: none; font-size: 24px;
    color: var(--m); cursor: pointer; font-weight: 700;
    width: 36px; height: 36px; display: flex;
    align-items: center; justify-content: center;
    border-radius: 50%; transition: background .2s;
}
.modal-close-btn:active { background: rgba(90,62,40,.15); }
@keyframes modalPop {
    from { transform: scale(.7); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.modal-icon { font-size: 48px; margin-bottom: 8px; line-height: 1; }
.modal-title {
    font-family: 'Fredoka One', cursive; font-size: 22px;
    color: var(--t); margin-bottom: 10px; line-height: 1.2;
}
.modal-text {
    font-size: 15px; color: var(--m); line-height: 1.4;
    margin-bottom: 16px; font-weight: 600;
}
.modal-options { display: flex; flex-direction: column; gap: 10px; }
.modal-option {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 16px;
    background: linear-gradient(145deg, var(--pc), var(--p));
    border: 3px solid var(--mc); border-radius: 14px;
    font-family: 'Fredoka One', cursive; font-size: 15px;
    color: var(--t);
    box-shadow: 0 2px 4px rgba(58,37,16,.15);
    transition: transform .15s cubic-bezier(.34,1.56,.64,1);
    text-align: center; line-height: 1.3; cursor: pointer;
    touch-action: manipulation;
}
.modal-option:active { transform: translateY(1px) scale(.99); }
.modal-option.correct {
    background: linear-gradient(145deg, #b8e394, var(--v));
    border-color: var(--vb); color: white;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}
.modal-option.incorrect {
    background: linear-gradient(145deg, #f5a29a, var(--r));
    border-color: var(--rb); color: white;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
    animation: shake .4s ease;
}
.modal-option.disabled { pointer-events: none; opacity: .7; }

/* --- Sequência --- */
.sequence-container {
    position: relative; z-index: 1;
    max-width: 520px; margin: 0 auto; width: 100%;
    display: flex; flex-direction: column; gap: 16px;
}
.sequence-scenario-card { text-align: center; padding: 20px 18px; }
.sequence-label {
    font-family: 'Fredoka One', cursive; font-size: 13px;
    color: var(--m); text-transform: uppercase; letter-spacing: 1px;
    margin-bottom: 8px;
}
.sequence-scenario {
    font-family: 'Nunito', sans-serif; font-weight: 700;
    font-size: 16px; line-height: 1.4; color: var(--t);
}
.sequence-instruction {
    text-align: center; font-size: 13px; font-weight: 700;
    color: var(--m); font-style: italic;
}
.sequence-slots { display: flex; flex-direction: column; gap: 10px; }
.seq-slot {
    position: relative;
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px; min-height: 56px;
    background: rgba(245,230,200,.5);
    border: 3px dashed var(--mc); border-radius: 14px;
    font-family: 'Nunito', sans-serif; font-weight: 700;
    font-size: 14px; color: var(--m);
    transition: background .2s, border-color .2s;
    line-height: 1.3;
}
.seq-slot-number {
    flex-shrink: 0; width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    background: var(--mc); color: white; border-radius: 50%;
    font-family: 'Fredoka One', cursive; font-size: 14px;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}
.seq-slot.seq-slot-filled {
    background: linear-gradient(145deg, var(--pc), var(--p));
    border-style: solid; color: var(--t);
    box-shadow: 0 2px 4px rgba(58,37,16,.15);
}
.seq-slot.correct-position {
    background: linear-gradient(145deg, #b8e394, var(--v));
    border-color: var(--vb); color: white;
    text-shadow: 1px 1px 0 rgba(0,0,0,.2);
}
.seq-slot.correct-position .seq-slot-number { background: var(--vb); }
.seq-slot.wrong-position {
    animation: shake .4s ease;
    border-color: var(--r);
}
.sequence-pool {
    display: flex; flex-direction: column; gap: 8px; padding: 12px;
    background: rgba(245,230,200,.6);
    border: 2px dashed var(--mc); border-radius: 14px;
}
.seq-chip {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px; width: 100%;
    background: linear-gradient(145deg, var(--pc), var(--p));
    border: 3px solid var(--mc); border-radius: 14px;
    font-family: 'Nunito', sans-serif; font-weight: 700;
    font-size: 14px; color: var(--t);
    box-shadow: 0 2px 4px rgba(58,37,16,.15);
    transition: transform .15s cubic-bezier(.34,1.56,.64,1), opacity .25s;
    cursor: pointer; text-align: left; line-height: 1.3;
    touch-action: manipulation;
}
.seq-chip:active { transform: translateY(1px) scale(.99); }
.seq-chip.placed {
    opacity: .35; pointer-events: none; filter: grayscale(.6);
}
.chip-icon {
    flex-shrink: 0; width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    background: var(--pe); border-radius: 50%;
    border: 2px solid var(--pb);
}
.seq-chip.chip-pensamento .chip-icon { background: #e8d5ff; border-color: #8e44ad; }
.seq-chip.chip-sentimento .chip-icon { background: #ffd5d5; border-color: var(--r); }
.seq-chip.chip-comunicacao .chip-icon { background: #d5e8ff; border-color: var(--a); }
.seq-chip.chip-atitude .chip-icon { background: #d5ffd5; border-color: var(--v); }
.sequence-reset {
    align-self: center; padding: 10px 24px; font-size: 14px;
}
