:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#101b2b;color:#f1f5f9}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(circle at 50% -15%,#274762 0,#101b2b 52%);font-size:16px}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}.shell{max-width:950px;margin:auto;padding:20px 20px 96px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:38px}.brand{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:-.04em;font-size:1.1rem}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#40dcc6;color:#102235;font-size:1rem;box-shadow:0 9px 26px #00d1b755}.tiny-button{background:#25354a;color:#cdd8e5;padding:10px 13px;border-radius:12px;font-weight:700}.eyebrow{text-transform:uppercase;color:#48decb;letter-spacing:.19em;font-weight:800;font-size:.71rem}.hero{position:relative;overflow:hidden;border:1px solid #ffffff1d;background:linear-gradient(125deg,#243d58 0,#1a3047 58%,#1a2537 100%);border-radius:30px;padding:32px;box-shadow:0 25px 70px #0003}.hero:before{content:"✦";position:absolute;right:9%;top:2%;font-size:10rem;color:#ffffff0b;transform:rotate(22deg)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.35rem,8vw,4.4rem);line-height:1.04;letter-spacing:-.065em;margin:13px 0 18px}h2{font-size:1.6rem;letter-spacing:-.04em}h3{font-size:1.15rem}.lead{color:#c7d6e5;line-height:1.55;max-width:590px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.primary,.secondary{min-height:50px;padding:13px 21px;border-radius:15px;font-weight:850;transition:transform .15s,filter .15s}.primary{background:#42dec5;color:#102336;box-shadow:0 10px 28px #1cc9ae35}.secondary{background:#ffffff13;color:#ecf7ff;border:1px solid #ffffff2d}.primary:hover,.secondary:hover{transform:translateY(-2px);filter:brightness(1.08)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:34px 0 16px}.section-head h2{margin:0}.muted{color:#9fb0c3}.place-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px}.place-card{position:relative;min-height:185px;border-radius:24px;overflow:hidden;padding:22px;text-align:left;color:white;border:1px solid #ffffff24;background:#2b4162;display:flex;flex-direction:column;justify-content:space-between}.place-card.fr{background:linear-gradient(145deg,#6a3f61,#2b365f)}.place-card.en{background:linear-gradient(145deg,#2d6270,#233955)}.place-card:after{content:"◒";position:absolute;right:13px;bottom:-37px;font-size:11rem;color:#fff1}.place-card>*{position:relative;z-index:1}.place-card .flag{font-size:1.9rem}.place-card h3{font-size:1.45rem;margin:4px 0}.place-card p{margin:0;color:#e5eafa}.place-card small{font-weight:800;color:#d5faef}.card{background:#1b2a3e;border:1px solid #ffffff1b;border-radius:25px;padding:24px}.auth{max-width:440px;margin:7vh auto}.auth h1{font-size:2.6rem}.tabs{display:flex;background:#101c2c;border-radius:15px;padding:4px;margin:24px 0}.tabs button{flex:1;background:transparent;color:#a5b8c9;border-radius:11px;padding:11px;font-weight:800}.tabs button.active{background:#2a4058;color:white}.field{display:block;margin:18px 0 14px;color:#b8c8d7;font-weight:700}.field input,.answer-input{display:block;width:100%;border:1px solid #52657c;border-radius:14px;background:#0e1a2a;color:white;padding:15px 16px;margin-top:8px;outline:none}.field input:focus,.answer-input:focus{border-color:#41dbc4;box-shadow:0 0 0 3px #41dbc429}.full{width:100%}.error{color:#ffb8bd;min-height:1.4em;margin-top:12px}.round-wrap{max-width:660px;margin:0 auto}.round-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.progress-track{height:9px;background:#ffffff19;border-radius:20px;overflow:hidden;margin-bottom:27px}.progress-fill{width:0;height:100%;background:#40dec5;border-radius:20px;transition:width .4s}.task-card{padding:28px}.task-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:#40dec5;font-weight:850}.task-card h1{font-size:clamp(2.05rem,7vw,3.5rem);margin:15px 0 25px}.prompt{color:#dbe9f4;line-height:1.5}.task-word{font-size:1.7rem;font-weight:850;margin:8px 0 25px}.gender-m{color:#8abfff}.gender-f{color:#ff98a4}.audio-row{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.audio-button{background:#28445c;color:#d5f7f0;border:1px solid #40dec54a;padding:12px 15px;border-radius:15px;font-weight:800}.dialog-line{padding:11px 0;border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-line button{border-radius:12px;padding:9px 12px;background:#28445c;color:white}.answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:18px 0}.answer-choice{min-height:52px;border-radius:14px;background:#283d54;color:white;border:1px solid #50657a;font-weight:750}.answer-choice.selected{background:#2d6b67;border-color:#40dec5}.task-actions{display:flex;gap:10px;margin-top:22px}.task-actions>*{flex:1}.feedback{padding:23px;border-radius:20px;margin-top:18px;background:#274b46;border:1px solid #47d9b675}.feedback.near{background:#554a30;border-color:#e9bf6a}.feedback.wrong{background:#4c3b43;border-color:#ed9ca9}.feedback h3{margin:0 0 8px}.feedback p{margin:0 0 10px;line-height:1.45}.feedback .solution{font-size:1.3rem;font-weight:850}.world-scene{min-height:420px;position:relative;overflow:hidden;border-radius:25px;background:linear-gradient(#5783a1 0 65%,#59735c 65% 100%);border:4px solid #ffffff2c;box-shadow:inset 0 -20px 45px #13223736}.world-scene.fr{background:linear-gradient(#786985 0 65%,#6f5872 65% 100%)}.world-scene:before{content:"☀";position:absolute;right:25px;top:15px;font-size:4rem;color:#ffd994}.world-scene:after{content:"⌂";position:absolute;left:12%;bottom:20%;font-size:9rem;color:#e5e4d0;opacity:.7}.sticker{position:absolute;z-index:2;padding:8px 12px;border-radius:13px;background:#f9f7ed;color:#26384c;font-weight:850;box-shadow:0 6px 14px #13243575;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticker.gender-m{border:3px solid #81baff}.sticker.gender-f{border:3px solid #f28c9d}.sticker.selected{outline:4px solid #42dec5}.sticker-tray{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.world-title{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:17px}.back{color:#c7d9e7;background:transparent;padding:8px 0;font-weight:800}.empty{color:#b7c9d7;line-height:1.5}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{background:#263a52;padding:17px;border-radius:17px}.stat strong{font-size:1.9rem;display:block}.lesson-list{display:grid;gap:9px}.lesson{background:#20334a;padding:15px;border-radius:15px;display:flex;justify-content:space-between;gap:12px}.lesson small{color:#a8c0d3}.mistake{padding:13px 0;border-bottom:1px solid #ffffff1a}.mistake small{display:block;color:#b6c8d5}.bottomnav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,950px);display:flex;justify-content:space-around;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:#111d2ff2;border-top:1px solid #ffffff1b;backdrop-filter:blur(14px);z-index:10}.bottomnav button{background:none;color:#a7bbca;padding:8px 14px;border-radius:12px;font-weight:750}.bottomnav button.active{color:#48ddca;background:#25433f}.pill{display:inline-block;border-radius:100px;background:#41dbc422;color:#50e5d1;padding:7px 12px;font-size:.8rem;font-weight:800}@media(max-width:600px){.shell{padding:16px 16px 98px}.topbar{margin-bottom:26px}.hero{padding:26px 23px}.card{padding:21px}.task-card{padding:23px}.section-head{margin-top:29px}.world-scene{min-height:350px}.stats{grid-template-columns:repeat(2,1fr)}}
.gender-badge{display:inline-block;border-radius:100px;padding:6px 11px;margin:0 0 12px;font-size:.78rem;font-weight:850;letter-spacing:.02em}.gender-badge.gender-m{background:#34577d;color:#a8d1ff}.gender-badge.gender-f{background:#713d51;color:#ffb9c2}.gender-badge.gender-mf{background:linear-gradient(90deg,#34577d 0 50%,#713d51 50%);color:white}.solution.gender-mf{background:linear-gradient(90deg,#9bc6ff 0 50%,#ff9aa7 50%);background-clip:text;color:transparent}.sticker.gender-mf{border:3px solid #a8b7ff}
.tray-sticker{position:static;max-width:none}.speak-submit{display:none}
.world-title .eyebrow{display:block;margin-top:12px}
.notice{padding:15px 18px;margin:0 0 22px;background:#554a30;border:1px solid #e9bf6a;border-radius:15px;color:#fff3d4;font-weight:700;line-height:1.4}
.trend-line{display:block;margin-top:10px;color:#b8d8cf;line-height:1.5}
.round-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.round-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:23px;border-radius:24px;background:#273b57;border:1px solid #ffffff2b}.round-card.fr{background:linear-gradient(145deg,#66415e,#273958)}.round-card.en{background:linear-gradient(145deg,#275d6a,#263b58)}.round-card h3{font-size:1.55rem;margin:2px 0}.round-card p{color:#d7e5ef;line-height:1.45;margin:0 0 auto}.round-flag{font-size:2rem}.round-status{position:absolute;right:20px;top:24px;border-radius:100px;background:#ffffff24;padding:6px 10px;font-size:.8rem;font-weight:800}.round-status.done{background:#2f695b;color:#d7fff0}.round-status.active{background:#7b6436;color:#fff0c8}.round-card .primary{margin-top:13px}@media(max-width:600px){.round-grid{grid-template-columns:1fr}}
.round-intro{padding:4px 0 18px}.round-intro h1{font-size:clamp(2.1rem,7vw,3.2rem);margin:11px 0 12px}.round-intro p{margin:0}.round-card{padding:18px;gap:7px}.round-card h3{font-size:1.35rem;margin:0}.round-card p{font-size:.92rem}.round-card .primary{min-height:45px;margin-top:8px}.round-flag{font-size:1.6rem}.round-status{right:17px;top:18px}
.focus-row{padding:12px 0}.focus-row+.focus-row{border-top:1px solid #ffffff1b}.focus-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:10px 0}.focus-controls label{display:grid;gap:5px;color:#b8c8d7;font-size:.88rem;flex:1 1 160px}.focus-controls select,.focus-controls input{width:100%;min-height:44px;border:1px solid #52657c;border-radius:11px;background:#0e1a2a;color:white;padding:9px}.focus-controls button{min-height:44px}
.skip-button{display:block;margin:10px auto 0;text-decoration:underline;text-underline-offset:3px}.skip-notice{padding:12px 16px;margin:-7px 0 18px;border-radius:12px;background:#25433f;color:#d9fff3}
.intro-card .task-word{font-size:clamp(2rem,8vw,3rem);margin:20px 0 6px}.intro-meaning{font-size:1.3rem;color:#d6e7f1;font-weight:700}.intro-example{padding:13px 15px;border-left:3px solid #40dec5;background:#254057;border-radius:0 12px 12px 0;color:#e5f6f3;line-height:1.5}
.speech-heard{line-height:1.65}.speech-target{white-space:pre-wrap}.speech-word.heard{color:#a7ffde;font-weight:750}.speech-word.missing{color:#aebdc9;text-decoration:underline;text-underline-offset:3px}
.place-progress{height:8px;width:100%;margin-top:14px;background:#ffffff3b;border-radius:20px;overflow:hidden}.place-progress span{display:block;height:100%;width:0;background:#48ddca;border-radius:20px}.world-title .place-progress{max-width:250px}.world-preview{position:absolute;left:14px;right:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:8px;z-index:1}.preview-sticker{display:inline-block;padding:8px 11px;border-radius:12px;font-weight:800;background:#f9f7ed;color:#26384c;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-sticker.outline{background:#20384b91;color:#e1eff0;border:2px dashed #e1eff0;opacity:.7}.preview-sticker.color.gender-m{border:3px solid #81baff}.preview-sticker.color.gender-f{border:3px solid #f28c9d}.preview-sticker.color.gender-mf{border:3px solid #a8b7ff}.sticker.mastered{box-shadow:0 6px 14px #13243575,0 0 0 3px #fff9}.world-unlocks{padding:17px;background:#ffffff12;border-radius:16px;margin:20px 0}.world-unlocks h2{font-size:1.1rem;margin:0 0 12px}.world-unlock{display:inline-block;margin:3px;padding:7px 10px;border-radius:9px;background:#3c6970;color:#f3fffd;font-weight:750}
.round-summary{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.summary-chip{display:inline-block;padding:10px 13px;border-radius:12px;background:#31665d;color:#edfffb;font-weight:800}.summary-world{flex-basis:100%;margin:7px 0 0;color:#d5f1e9;line-height:1.5}.summary-world strong{color:#fff}
.account-menu{position:relative}.settings-button{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#25354a;color:#cdd8e5;font-size:1.5rem}.account-options{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:150px;padding:5px;border-radius:13px;border:1px solid #ffffff30;background:#24374e;box-shadow:0 12px 30px #0006}.account-options[hidden]{display:none}.account-options button{width:100%;padding:12px;text-align:left;border-radius:9px;background:transparent;color:#f1f5f9;font-weight:750}.account-options button:hover{background:#ffffff16}.logout-dialog{width:min(90vw,380px);padding:24px;border:1px solid #ffffff38;border-radius:22px;background:#1b2a3e;color:#f1f5f9;box-shadow:0 25px 80px #0009}.logout-dialog::backdrop{background:#07111ccb}.logout-dialog h2{font-size:1.5rem}.logout-dialog p{color:#c7d6e5;line-height:1.5}.logout-actions{display:flex;gap:10px;justify-content:flex-end}.logout-actions button{flex:1;padding-inline:12px}
.task-kicker{font-size:.88rem;color:#a9becd;font-weight:800;margin:16px 0 8px}.task-card .task-prompt{font-size:clamp(2rem,8vw,3.8rem);line-height:1.1;margin:8px 0 24px;overflow-wrap:anywhere}.article-tip{font-size:.88rem;color:#b9d2d6;margin:8px 0 0}
.answer-compare{display:grid;gap:4px;margin:14px 0}.answer-compare p{margin:0;overflow-wrap:anywhere}.answer-compare span{font-weight:800}.answer-compare mark{background:#ffcc86;color:#172432;border-radius:4px;padding:1px 2px}.answer-compare .solution{font-size:1.18rem}
.answer-choice.selected:disabled{opacity:1;box-shadow:0 0 0 3px #40dec56b}
.player-bar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:-10px 0 22px}.player-bar[hidden],.player-bar [hidden]{display:none}.player-status{color:#b7c9d7;font-size:.9rem}.test-banner{margin-top:-18px}
