:root{--ink:#153e32;--green:#205943;--cream:#f6f4eb;--muted:#526359;--gold:#edca6d;--line:#d3ddcf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 system-ui,sans-serif}header,main,footer{max-width:1120px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:25px 28px;border-bottom:1px solid var(--line)}a{color:var(--green);text-underline-offset:4px}.brand{font-size:25px;font-weight:800;text-decoration:none;letter-spacing:-1px}.brand span{background:var(--ink);color:var(--gold);border-radius:50%;padding:1px 8px;margin-right:7px}.tag,.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px}.tag{border:1px solid var(--line);padding:5px 12px;border-radius:30px}main{padding:0 28px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:45px;align-items:center;padding:64px 0 40px}h1{font-size:clamp(36px,4.4vw,57px);letter-spacing:-2px;line-height:1.1;margin:18px 0 22px}h2{font-size:clamp(25px,3vw,33px);line-height:1.2;letter-spacing:-.7px;margin:8px 0 18px}h3{line-height:1.3;font-size:22px}p{max-width:74ch}.hero p:not(.eyebrow){color:var(--muted)}button,.button{display:inline-block;border:0;border-radius:10px;padding:14px 22px;background:var(--ink);color:white;font:inherit;font-weight:650;cursor:pointer;text-decoration:none;min-height:48px}.button{margin-top:12px}.button span{margin-left:22px}button:hover,.button:hover{background:#2f654d}button:disabled{opacity:.55;cursor:default}.secondary{background:#e3ebdf;color:var(--ink)}.secondary:hover{background:#d2dfcd}:focus-visible{outline:3px solid #b65122;outline-offset:4px}.skip{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:9}.skip:focus{top:12px}.landscape{height:370px;background:#d9e6d1;border-radius:130px 130px 20px 20px;position:relative;overflow:hidden;isolation:isolate}.sun{position:absolute;border-radius:50%;background:#edca6d;width:100px;height:100px;top:45px;right:45px}.mesa{position:absolute;clip-path:polygon(0 60%,12% 60%,20% 30%,65% 30%,78% 65%,100% 70%,100% 100%,0 100%);width:120%;height:230px;left:-30px}.back{top:35px;background:#92aa7c}.front{top:110px;background:#356849;transform:scaleX(-1)}.water{position:absolute;background:#b4d8d3;width:48px;height:130px;top:220px;left:50%;transform:rotate(28deg);border-radius:50%}.land-label{position:absolute;bottom:0;padding:18px 22px;background:var(--ink);color:var(--cream);width:100%;font-size:12px;letter-spacing:2px}.land-label small{letter-spacing:0;color:#cfddcb}.stats{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;gap:30px;justify-content:space-between;font-size:13px}.stats strong{font-size:25px;padding-right:8px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;margin:40px 0}section#acervo{padding:20px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:25px;background:#e6ecdf;border-radius:14px}.card:nth-child(2){background:#e1eeeb}.card:nth-child(3){background:#f0e7cb}.card .number{font-size:12px;font-weight:bold;letter-spacing:2px}.card p{font-size:15px}.source{font-size:13px;color:var(--muted)}.callout{margin-top:35px;padding:30px;border-left:5px solid var(--gold)}progress{width:100%;height:12px;accent-color:var(--green)}#progress-text{font-size:14px;color:var(--muted)}fieldset{border:0;padding:0;margin:22px 0}legend{font-weight:700;padding:0;margin-bottom:12px}label.answer{display:flex;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;margin:8px 0;cursor:pointer}label.answer:has(input:checked){background:#edf4e8;border-color:var(--green)}input[type=radio]{accent-color:var(--green);flex-shrink:0;width:18px;height:18px}label.answer:hover{background:#f6f8f3}.feedback{background:#eff5e9;padding:14px 18px;border-radius:10px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.result{background:var(--ink);color:white;padding:26px;border-radius:16px}.score{font-size:42px;font-weight:800;display:block}.result p{margin:6px 0}.result h3{color:var(--gold)}summary{cursor:pointer;font-weight:650}textarea,select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:12px;max-width:100%;width:100%;display:block;margin:10px 0}footer{padding:20px 28px 40px;font-size:14px;color:var(--muted)}[hidden]{display:none!important}#activity h3:focus{outline:none}@media(max-width:700px){header{padding:18px}.tag{font-size:9px;padding:5px 8px;letter-spacing:1px}main{padding:0 18px}.hero{grid-template-columns:1fr;padding:30px 0;gap:25px}.landscape{height:260px;border-radius:75px 75px 16px 16px}.sun{top:20px;width:75px;height:75px}.back{top:-30px}.front{top:20px}.water{top:130px}.stats{gap:12px;align-items:start}.stats span{flex:1;font-size:11px}.stats strong{display:block}.cards{grid-template-columns:1fr}.panel{padding:22px 18px;margin:30px 0}h1{letter-spacing:-1.4px}.callout{padding:18px}.card{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.hero,.stats,#acervo,.callout,details,footer,button,.button,progress{display:none}.panel{border:0;margin:0}body{background:white}.result{background:white;color:black}.result h3{color:black}}

@media(max-width:360px){header .tag{display:none}}

/* A trilha mantém o objetivo visível durante cada desafio. */
.journey-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.journey-tools button{font-size:14px;padding:10px 16px}.trail{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;gap:8px;margin:24px 0}.trail li{padding:14px 10px;border-radius:12px;background:#f3f5ef;font-size:12px;font-weight:700;color:var(--muted);border:1px solid transparent}.trail li>span{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;margin-bottom:8px}.trail small{display:block;font-size:11px;font-weight:400;margin-top:4px}.trail .current{background:#fff5d7;border-color:#b78e29;color:var(--ink)}.trail .current>span{background:var(--gold);border-color:transparent}.trail .done{background:#e6f1e5;color:var(--green)}.trail .done>span{background:var(--green);color:white}.question-count{color:var(--muted);font-size:14px;border-bottom:1px solid var(--line);padding-bottom:14px}#activity{margin-top:26px;padding:26px;background:#fafbf7;border:1px solid var(--line);border-radius:16px}#activity>h3:first-child{margin-top:0}.mission-banner{display:flex;gap:16px;align-items:center;margin-bottom:22px}.mission-banner>span{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;border-radius:18px;background:var(--gold);font-size:38px}.mission-banner p{font-size:11px;letter-spacing:1px}.mission-banner strong{font-size:14px;letter-spacing:0}.feedback.success{border-left:4px solid var(--green)}.feedback.retry{background:#fff2d7;border-left:4px solid #b78e29}.answer{transition:background .15s,border-color .15s,transform .15s}.answer:has(input:checked){box-shadow:0 0 0 1px var(--green);transform:translateX(3px)}.focus-mode .hero,.focus-mode .stats,.focus-mode #acervo,.focus-mode .callout,.focus-mode main>details,.focus-mode footer{display:none}.focus-mode main{max-width:940px}.focus-mode #jornada{margin-top:24px}.focus-mode #jornada>h2{font-size:26px}.focus-mode #jornada>p:not(.eyebrow):not(#progress-text):not(#storage-warning){display:none}#activity fieldset{animation:question-in .22s ease-out}@keyframes question-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.trail{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.trail li{font-size:10px;padding:10px 4px;overflow-wrap:anywhere}.trail small{font-size:9px}.trail li>span{width:24px;height:24px}#activity{padding:18px 12px}.journey-tools{gap:8px}.journey-tools .eyebrow{font-size:10px;letter-spacing:1px}.actions button{width:100%}.mission-banner strong{font-size:12px}}@media(prefers-reduced-motion:reduce){#activity fieldset{animation:none}.answer{transition:none;transform:none!important}}@media print{.journey-tools,.trail,.question-count{display:none}#activity{border:0;padding:0;background:white}}

/* Controles de exploração e revisão das escolhas. */
.question-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.question-step{min-width:48px;padding:10px;background:#e3ebdf;color:var(--ink);border:2px solid transparent}.question-step:hover{background:#d2dfcd}.question-step.answered{background:#d7ead4}.question-step[aria-current]{border-color:var(--ink);background:var(--gold)}.selection-status,.exploration-status{font-size:14px;color:var(--muted)}.selection-status{min-height:1.65em}.exploration-status{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:24px}.card{align-self:start}.explore{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-top:18px;border:1px solid #b5c6ad}.explore[aria-expanded=true]{background:var(--ink);color:white}.field-note{border-top:1px solid #b5c6ad;margin-top:18px;padding-top:6px;animation:question-in .22s ease-out}.field-note .eyebrow{font-size:11px}button,.button{transition:background .15s,box-shadow .15s}button:active,.button:active{box-shadow:inset 0 0 0 2px currentColor}@media(prefers-reduced-motion:reduce){.field-note{animation:none}button,.button{transition:none}}@media print{.question-nav,.selection-status{display:none}}

/* Reações às escolhas, também identificadas por texto e ícone. */
label.answer.is-correct{background:#e3f2df;border-color:#205943;box-shadow:0 0 0 1px #205943}label.answer.is-incorrect{background:#fff2d7;border-color:#946315;box-shadow:0 0 0 1px #946315}.answer-reaction .feedback{display:flex;gap:14px;align-items:flex-start;animation:question-in .22s ease-out}.answer-reaction p{margin:8px 0 0}.reaction-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#205943;color:white;font-size:24px;font-weight:800}.retry .reaction-icon{background:#805511}@media(prefers-reduced-motion:reduce){.answer-reaction .feedback{animation:none}}

/* A expedição ganha vida com o progresso, sem movimento contínuo. */
.hero h1{max-width:12ch}.hero .button{background:#205943;box-shadow:0 5px 0 #12392c}.hero .button:hover{background:#326b4d}.adventure{margin:24px 0;position:relative}.guide{display:flex;align-items:center;gap:18px;background:#fff4d5;border:1px solid #ead391;border-radius:22px 22px 0 0;padding:16px 22px}.guide-bird{flex:0 0 88px;height:88px;border-radius:50%;background:#e4b952}.guide-bird svg{width:100%;height:100%;overflow:visible}.guide p{margin:0}.guide .eyebrow{font-size:10px;color:#685127;margin-bottom:5px}.guide #guide-message{font-size:17px;font-weight:650;line-height:1.45}.guide>div:nth-child(2){flex:1}.guide button{flex-shrink:0;font-size:13px;padding:10px 14px;background:#fffaf0}.guide-bird[data-mood=happy] svg{animation:guide-hop .55s ease-out}.guide-bird[data-mood=thinking] svg{transform:rotate(-8deg)}.habitat{height:210px;position:relative;overflow:hidden;background:#dceee8}.habitat-art{width:100%;height:100%;position:absolute;inset:0}.map-caption{position:absolute;left:18px;top:12px;font-size:10px;font-weight:750;letter-spacing:1.5px;background:#ffffffd9;padding:5px 10px;border-radius:20px}.map-stops{position:absolute;inset:70px 8% 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-stops button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;font-size:12px;background:#fff9e9;color:var(--ink);border:2px solid #fff;box-shadow:0 5px 0 #183e3540;border-radius:18px;transition:transform .2s,background .2s}.map-stops button:hover{transform:translateY(-5px);background:#fff0bb}.map-stops button[aria-pressed=true]{border-color:#153e32}.map-stops button>span{font-size:28px;line-height:1.1}.map-stops button.visited{background:#f6d674}.map-detail{margin:0;max-width:none;padding:12px 18px;background:#eaf1e3;border-radius:0 0 16px 16px;font-size:13px;min-height:66px}.habitat-trees,.habitat-water,.habitat-people{opacity:.15;transition:opacity .6s}.adventure[data-completed="1"] .habitat-trees,.adventure[data-completed="2"] .habitat-trees,.adventure[data-completed="3"] .habitat-trees,.adventure[data-completed="2"] .habitat-water,.adventure[data-completed="3"] .habitat-water,.adventure[data-completed="3"] .habitat-people{opacity:1}.passport{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 4px}.passport .eyebrow{font-size:10px;letter-spacing:1.5px;margin:0 0 5px}.passport strong{font-size:15px}.passport ul{list-style:none;display:flex;gap:12px;padding:0;margin:0}.passport li{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#59645a;padding:10px 12px;border:1px dashed #b3bdae;border-radius:14px;min-width:84px}.passport li>span:first-child{font-size:26px;line-height:1.2}.passport li small{font-size:9px}.passport li.earned{background:#fff0ba;border:1px solid #c6a347;color:#584211}.celebration{position:relative;isolation:isolate;display:flex;gap:14px;align-items:center;padding:20px;background:#205943;color:white;border-radius:18px;overflow:hidden;animation:question-in .3s ease-out}.celebration>div{flex:1}.celebration strong{font-size:20px}.celebration p{margin:3px 0 0;font-size:14px}.celebration button{padding:5px 14px;font-size:23px;z-index:1}.celebration-medal{font-size:36px;color:#f7d67c}.leaf-burst{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.leaf-burst i{position:absolute;left:calc(var(--i)*10%);top:-18px;width:10px;height:16px;border-radius:2px 9px;background:#f8d97f;animation:leaf-fall 1.5s calc(var(--i)*.07s) ease-out both}.leaf-burst i:nth-child(even){background:#96d6b7}.mission-banner>span{box-shadow:0 4px 0 #d4ae4a}.answer:hover{border-color:#86a17d}.result{background:linear-gradient(130deg,#153e32,#2e6b4b)}@keyframes guide-hop{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-10px) rotate(8deg)}70%{transform:translateY(-3px) rotate(-4deg)}}@keyframes leaf-fall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(170px) rotate(210deg);opacity:0}}@media(max-width:700px){.guide{padding:14px 12px;gap:10px;flex-wrap:wrap}.guide-bird{flex-basis:62px;height:62px}.guide #guide-message{font-size:14px}.guide button{margin-left:auto;min-height:40px;padding:7px 12px}.habitat{height:190px}.map-stops{left:5%;right:5%;gap:5px}.map-stops button{font-size:10px;padding:9px}.map-caption{font-size:8px;left:10px}.passport{flex-direction:column;align-items:flex-start;gap:12px}.passport ul{width:100%;gap:6px}.passport li{flex:1;min-width:0;padding:9px 5px;font-size:10px}.passport li small{font-size:8px}.celebration{padding:14px;gap:10px}.celebration strong{font-size:16px}.celebration p{font-size:12px}.celebration-medal{font-size:28px}}@media(prefers-reduced-motion:reduce){.guide-bird svg,.celebration,.leaf-burst i{animation:none!important}.leaf-burst{display:none}.habitat-trees,.habitat-water,.habitat-people,.map-stops button{transition:none}.map-stops button:hover{transform:none}}@media print{.adventure{display:none}}
.expedition-workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:22px;align-items:start;margin-top:24px}.expedition-workspace .adventure{margin:0;min-width:0}.expedition-workspace #activity{margin:0;min-width:0}.expedition-workspace .guide{flex-wrap:wrap;padding:16px;gap:12px}.expedition-workspace .guide-bird{flex-basis:60px;height:60px}.expedition-workspace .guide #guide-message{font-size:14px}.expedition-workspace .guide button{margin-left:auto}.expedition-workspace .passport{flex-direction:column;align-items:stretch;gap:12px}.expedition-workspace .passport ul{gap:6px}.expedition-workspace .passport li{min-width:0;flex:1;padding:10px 5px}.expedition-workspace .map-stops{left:5%;right:5%}.expedition-workspace .map-stops button{font-size:10px;padding:9px}.expedition-workspace .map-caption{font-size:8px;letter-spacing:1px}.expedition-map{background:#eaf1e3;border-radius:0 0 16px 16px}.expedition-map summary{padding:10px 16px;font-size:13px}.celebration{position:fixed;z-index:20;bottom:22px;left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 32px));box-shadow:0 12px 45px #153e3250;animation:none}@media(max-width:900px){.expedition-workspace{grid-template-columns:1fr}.expedition-workspace .guide{flex-wrap:nowrap}.expedition-workspace .guide button{margin-left:0}}@media(max-width:480px){.expedition-workspace .guide{flex-wrap:wrap}.expedition-workspace .guide button{margin-left:auto}.celebration{bottom:12px}}@media print{.expedition-workspace{display:block}}

/* Participação identificada e acompanhamento do professor. */
.participation{margin:24px 0;padding:20px}.participation-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.participation-heading a{font-size:14px}.participation p{font-size:14px;margin:10px 0}.participation.enrolled{border:2px solid var(--green)}.participation .actions:has(button[hidden]):not(:has(button:not([hidden]))){display:none}.join-grid{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-top:16px}.join-grid label{flex:1;min-width:140px;font-size:14px;font-weight:650}input:not([type=radio]){display:block;width:100%;font:inherit;padding:12px;border:1px solid #a7b8a2;border-radius:9px;background:white;color:var(--ink);margin:6px 0 0;min-height:48px}#login-form{max-width:420px}#login-form button{margin-top:16px}.teacher-title{font-size:clamp(28px,4vw,42px);letter-spacing:-1px}.teacher-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.teacher-metrics>div{padding:18px;border-radius:14px;background:#eaf1e3}.teacher-metrics strong{display:block;font-size:32px}.teacher-metrics span{font-size:13px}.table-scroll{overflow:auto;max-width:100%;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}thead{background:#eaf1e3}.student-link{min-height:42px;padding:8px 12px}.access-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}.access-roster article{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px dashed #8eaa83;border-radius:10px;font-size:14px}.access-roster strong{font-size:24px}.access-roster code{font-size:15px}#teacher-status{padding:0 8px}#student-detail{background:#f7f9f3}.focus-mode #participation{margin-top:18px}@media(max-width:700px){.teacher-metrics{grid-template-columns:repeat(2,1fr)}.join-grid{display:grid;grid-template-columns:1fr}.join-grid button{width:100%}.participation{padding:16px}.teacher-metrics>div{padding:12px}}@media print{#participation,#teacher-login,#teacher-status,#create-class,.access-roster{display:none}}

.name-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:16px 0}.name-roster label{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbf7}.name-roster strong{flex:0 0 38px}.name-roster input{margin:0;min-width:0}.access-roster article>span:nth-child(2){font-weight:650;color:var(--green)}.student-link{max-width:240px;text-align:left}

.invite-panel{background:#f5f1dd;border:1px solid #e2d6a6}.invite-link{display:flex;gap:10px;max-width:780px}.invite-link input{flex:1;min-width:0;font-size:14px}.invite-link button{flex-shrink:0}.join-grid{max-width:660px}.join-grid label{max-width:480px}.participation details:not([hidden]){margin-top:8px}.participation details[hidden]{display:none}.participation #join-form{max-width:520px}.participation #join-form button{margin-bottom:6px}.invite-link input::selection{background:#edca6d}@media(max-width:480px){.invite-link{flex-direction:column}.invite-link button{width:100%}}
