@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--ink:#143e34;--green:#16684b;--mint:#e1efc9;--yellow:#ffe467;--blue:#0865fa;--cream:#fffbee;--red:#c7433c;--line:#d8e2cc}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:700 16px 'Nunito',system-ui,sans-serif;background:#edf1d9 url('assets/forest.webp') center/cover fixed;min-height:100svh}body:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(#f8f5dfdd,#f1f5d35a 30%,#123d3033)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:4px solid #1070f4;outline-offset:4px}header{height:82px;max-width:1400px;margin:auto;padding:16px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:130px;display:block}.edition{font-size:11px;letter-spacing:3px;font-weight:900}.icon-btn,.ghost{border:1px solid #214d342e;background:#fffbeecc;border-radius:99px;color:var(--ink);padding:11px 18px;font-size:13px}.icon-btn:hover,.ghost:hover{background:#fff}main{max-width:1400px;margin:0 auto;padding:0 4%;min-height:calc(100svh - 150px)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Baloo 2','Nunito',sans-serif;line-height:1.03}h1{font-size:clamp(45px,5.6vw,78px);letter-spacing:-2px}h1 em{color:#16694e;font-style:normal}.eyebrow{font-size:11px;font-weight:900;letter-spacing:2.4px;text-transform:uppercase;color:#426b47;display:block;margin-bottom:12px}.hero{text-align:center;padding:15px 0 14px;position:relative;z-index:2}.hero>p{font-size:17px;font-weight:600;margin:12px auto 0;max-width:560px;line-height:1.55}.pill{display:inline-flex;gap:8px;align-items:center;border-radius:30px;background:#ffffffa8;padding:7px 14px;font-size:12px;margin-bottom:15px}.landing-arena{display:grid;grid-template-columns:1fr minmax(430px,570px) 1fr;align-items:center;gap:20px;position:relative;min-height:340px}.fighter{text-align:center;position:relative;align-self:end}.fighter img{width:100%;max-height:360px;object-fit:contain;filter:drop-shadow(0 16px 6px #17392720);animation:breathe 4s ease-in-out infinite}.fighter.bear img{max-height:400px;animation-delay:1s}.fighter-label{display:inline-block;background:#fffbea;border:1px solid #e5dec7;padding:6px 16px;border-radius:20px;font-size:12px;position:relative;top:-10px}.speech{background:#fffdf3;padding:10px 16px;border-radius:18px;max-width:180px;margin:0 auto 10px;font-size:13px;box-shadow:0 5px 0 #cad7af}.level-stack{display:grid;gap:10px}.level{display:grid;grid-template-columns:50px 1fr 26px;gap:15px;align-items:center;text-align:left;border:2px solid transparent;background:#fffdf4;border-radius:20px;padding:17px 20px;color:var(--ink);box-shadow:0 6px 0 #163e321a;transition:.18s}.level:hover{transform:translateY(-3px);border-color:#1e7b58;box-shadow:0 9px 0 #163e321a}.level-number{width:49px;height:49px;display:grid;place-content:center;border-radius:15px;background:#e7efd6;font:800 21px 'Baloo 2';color:#24664b}.level:nth-child(2) .level-number{background:#fff0b7;color:#836621}.level:nth-child(3) .level-number{background:#f8d6b7;color:#954c23}.level h3{font-size:24px}.level p{font-size:12px;color:#65816c;margin-top:5px}.level .arrow{font-size:25px}.level small{display:block;font-size:11px;margin-top:5px;color:#14664b}.landing-note{text-align:center;font-size:12px;margin:20px 0;color:#345c43}.round-head{display:flex;justify-content:space-between;align-items:center;padding:6px 0 16px;gap:10px}.round-head h2{font-size:29px}.round-head .eyebrow{margin:0 0 3px}.score-pill{background:#fffdf0;border-radius:30px;padding:9px 17px;font-size:14px}.health-panel{max-width:900px;margin:0 auto 16px;background:#fffbeeeb;padding:13px 20px;border-radius:18px;border:1px solid #fff;box-shadow:0 5px 20px #244e2310}.health-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.health-label span:last-child{font-size:11px;color:#668167}.health-track{height:20px;border-radius:7px;background:#d7dec6;position:relative;overflow:hidden}.health-fill{height:100%;width:50%;background:#57b580;transition:width .5s,background .3s}.health-fill.hurt{background:#e45d4f}.segments{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(3.333% - 2px),#fff8 calc(3.333% - 2px),#fff8 3.333%)}.win-mark{position:absolute;left:86.666%;top:0;bottom:0;width:3px;background:#174333}.health-foot{font-size:10px;font-weight:700;margin-top:6px;display:flex;justify-content:space-between;color:#637c60}.battle{display:grid;grid-template-columns:1fr minmax(440px,610px) 1fr;align-items:center;gap:20px}.battle .fighter img{max-height:370px}.battle .bear img{max-height:410px}.question-card{position:relative;background:#fffdf2;border:1px solid white;box-shadow:0 12px 50px #123e3126,0 5px 0 #d5dfbc;border-radius:28px;padding:20px 26px;min-height:465px}.question-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#729071;letter-spacing:1px}.dots{display:flex;gap:3px}.dots i{width:5px;height:5px;border-radius:50%;background:#d1dac4}.dots i.ok{background:#23815a}.dots i.no{background:#d4554a}.question-card h2{font-size:30px;text-align:center;margin:12px 0 3px}.question-sub{text-align:center;font-size:12px;font-weight:600;color:#739176}.object-stage{height:190px;margin:10px 0 14px;border-radius:20px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#f8f1d4,#e9eed7);border:1px solid #dde5cb}.object-stage:after{content:'';position:absolute;bottom:15px;width:130px;height:13px;border-radius:50%;background:#19433012;filter:blur(5px)}.object-stage img{width:142px;height:142px;object-fit:contain;transition:transform .55s,filter .6s;position:relative;z-index:1}.object-stage.hidden-object img{filter:brightness(0) saturate(0);transform:rotate(var(--tilt)) scale(.92)}.veil{position:absolute;z-index:2;pointer-events:none;left:17%;right:17%;height:15px;background:#cbdcba;opacity:.94;transform:rotate(-21deg);border-radius:100% 0 100% 0;top:45%;transition:opacity .4s}.object-stage[data-level=A2] .veil{height:23px;transform:rotate(24deg)}.object-stage[data-level=B1] .veil{height:30px;transform:rotate(-30deg)}.object-stage.revealed .veil{opacity:0}.object-stage.revealed{background:radial-gradient(#fff8d3,#ecf7db)}.object-stage.revealed img{transform:rotate(0) scale(1)}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer{border:2px solid #dfe7d4;background:white;color:var(--ink);border-radius:13px;padding:13px 9px;display:flex;align-items:center;gap:10px;font-size:17px;font-weight:900;min-height:53px;text-align:left;transition:.15s}.answer kbd{font:800 11px 'Nunito';padding:5px 7px;border-radius:6px;background:#eff2e8;color:#789172}.answer:hover:not(:disabled){border-color:#467b58;background:#f4f8ea;transform:translateY(-2px)}.answer.correct{background:#d9f4dd;border-color:#258252;color:#16613d}.answer.wrong{background:#ffe0da;border-color:#cf5044;color:#9e322b}.answer.faded{opacity:.5}.feedback{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:60px;margin-top:12px;border-radius:12px;padding:9px 12px;background:#edf3e3;font-size:12px}.feedback strong{font-size:16px;display:block}.feedback.good{background:#dff2df}.feedback.bad{background:#ffe6dd}.feedback p{font-size:12px;margin-top:3px}.primary{background:var(--yellow);color:#264a30;border:0;border-bottom:4px solid #d1b13f;border-radius:12px;padding:12px 20px;font-weight:900;transition:.1s}.primary:hover{filter:brightness(1.04);transform:translateY(-1px)}.primary:active{transform:translateY(2px);border-bottom-width:2px}.next{font-size:13px;white-space:nowrap;padding:10px 15px}.micro{text-align:center;font-size:10px;color:#658067;margin-top:10px}.result{max-width:620px;margin:32px auto;background:#fffdf1;border:2px solid white;border-radius:30px;padding:30px;text-align:center;box-shadow:0 15px 60px #173e3626}.result .eyebrow{margin-top:12px}.result h1{font-size:45px;letter-spacing:-1px}.result>p{font-size:15px;margin:12px 0;line-height:1.5;color:#53775b}.result-score{font:800 60px 'Baloo 2';margin-top:15px}.result-score small{font-size:25px;color:#729173}.result-face{height:130px;object-fit:contain}.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0 10px}.review-list{text-align:left;font-size:13px;line-height:1.7;margin:12px 0 0;padding:10px 15px;background:#f1f5e9;border-radius:10px}.review-list li{padding:5px;border-bottom:1px solid #dce5d1;list-style:none}.review-list span{color:#ae463c}.sync{font-size:10px;color:#6b7c69;margin-top:14px}.hit img{animation:shake .45s}.boost img{animation:bounce .5s}footer{max-width:1400px;margin:20px auto 0;padding:18px 4%;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#325c43}footer nav{display:flex;gap:20px}footer a,footer button{color:inherit;font:inherit;text-decoration:none;border:0;background:none;padding:0;cursor:pointer}dialog{border:0;max-width:530px;width:calc(100% - 32px);padding:32px;border-radius:24px;color:var(--ink);background:var(--cream);box-shadow:0 20px 80px #10291d44}dialog::backdrop{background:#0d3028a6;backdrop-filter:blur(5px)}dialog h2{font-size:32px;margin-bottom:20px}dialog ol{padding-left:20px;font-size:14px;font-weight:600;line-height:1.6}dialog p{font-size:12px;line-height:1.6;margin:14px 0}.close{position:absolute;right:15px;top:10px;border:0;background:none;color:var(--ink);font-size:25px}.loading{text-align:center;padding:20vh 0}.error-note{padding:10px;background:#fff0ce;border-radius:12px;text-align:center;font-size:12px}.round-toolbar{display:flex;gap:8px;align-items:center}.round-toolbar .ghost{padding:8px 12px;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes breathe{50%{transform:translateY(-7px)}}@keyframes shake{25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}@keyframes bounce{50%{transform:translateY(-20px)}}
@media(min-width:1500px){main{padding-top:15px}.landing-arena{min-height:400px}.question-card{padding:24px 30px}.object-stage{height:220px}.object-stage img{width:165px;height:165px}}
@media(max-width:1000px){.battle{grid-template-columns:1fr minmax(400px,560px) 1fr;gap:8px}.fighter .speech{font-size:11px;padding:8px}.battle .fighter-label{font-size:10px;padding:5px 8px}.landing-arena{grid-template-columns:1fr minmax(360px,500px) 1fr;gap:5px}.level{padding:15px}.level h3{font-size:22px}.edition{display:none}.battle .fighter{align-self:center}}
@media(max-width:700px){header{height:65px;padding:12px 5%}.brand img{width:106px}.icon-btn{font-size:11px;padding:9px 12px}main{padding:0 4%;min-height:calc(100svh - 130px)}h1{font-size:46px}.hero{padding:10px 0}.hero>p{font-size:14px;padding:0 20px}.pill{font-size:10px;margin-bottom:8px}.landing-arena{grid-template-columns:1fr 1fr;gap:5px;min-height:0}.landing-arena>.fighter{order:0;height:148px;align-self:end}.landing-arena>.fighter img{height:143px;width:160px}.landing-arena>.fighter .speech{display:none}.landing-arena .level-stack{grid-column:1/-1;order:1;margin-top:10px}.fighter-label{font-size:10px;top:-14px}.level{padding:13px 16px;grid-template-columns:43px 1fr 18px}.level h3{font-size:23px}.level p{font-size:11px}.level-number{width:42px;height:42px}.landing-note{margin:14px 0;font-size:10px}.round-head{padding:6px 0 9px}.round-head h2{font-size:23px}.round-head .eyebrow{font-size:9px;letter-spacing:1px}.score-pill{font-size:11px;padding:8px}.health-panel{padding:10px 14px;margin-bottom:7px}.health-label{font-size:10px}.health-label span:last-child{font-size:10px}.health-track{height:15px}.health-foot{font-size:8px}.battle{grid-template-columns:1fr 1fr;gap:0}.battle>.fighter{height:96px;grid-row:1;align-self:end}.battle>.fighter img{height:95px;width:105px}.battle>.fighter.bear img{height:104px;width:110px}.battle>.fighter .speech{position:absolute;top:20px;left:4px;max-width:75px;padding:5px;font-size:9px}.battle>.fighter.bear .speech{left:auto;right:0}.battle>.fighter-label{display:none}.battle .question-card{grid-row:2;grid-column:1/-1;padding:13px 17px;border-radius:21px;min-height:0}.battle .fighter:first-child img{margin-left:55px}.battle .fighter.bear img{margin-right:60px}.battle .fighter-label{display:none}.question-card h2{font-size:26px;margin:8px 0 2px}.question-sub{font-size:11px}.object-stage{height:150px;margin:7px 0 10px}.object-stage img{width:116px;height:116px}.answer{font-size:16px;padding:10px;min-height:46px}.answer-grid{gap:8px}.answer kbd{font-size:9px}.feedback{margin-top:9px;min-height:53px;padding:8px}.feedback strong{font-size:14px}.feedback p{font-size:11px}.micro{font-size:9px}.result{padding:23px 18px;margin:20px auto}.result h1{font-size:35px}.result>p{font-size:13px}footer{flex-direction:column;align-items:center;margin-top:10px;padding:15px;font-size:9px}footer>span{display:none}.round-toolbar .ghost{font-size:10px;padding:7px 9px}.dots{gap:2px}.dots i{width:4px;height:4px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.review-list li{display:flex;align-items:center;gap:5px}.review-thumb{width:28px;height:28px;object-fit:contain;flex:0 0 28px;margin-right:5px}

footer{flex-wrap:wrap}footer .developer-credit{flex-basis:100%;width:100%;text-align:center;font-size:11px;line-height:1.5;margin:4px 0 0}

footer .developer-credit{font-size:clamp(14px,1.6vw,19px);font-weight:900;line-height:1.5;color:#143e34;background:#fff2a8;border:2px solid #e6c64b;border-radius:14px;padding:15px 20px;margin-top:12px;box-shadow:0 3px 10px #143e3415}@media(max-width:700px){footer .developer-credit{padding:12px 16px;font-size:14px}}

/* Direct teacher contact; normal navigation also works inside the 51Talk app. */
.contact-teacher{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:18px;padding:12px 16px;text-align:center;text-decoration:none;font-weight:800;border-radius:14px;box-sizing:border-box}
