
:root{color-scheme:light;--navy:#10234c;--muted:#60728d;--blue:#0875c1;--sky:#085491;--green:#079e70;--green-dark:#087b5c;--mint:#e6f8ef;--gold:#ffcb3d;--paper:#f3f7fc;--line:#e1e9f3;--shadow:0 6px 24px #203d6a0c;--font:'Trebuchet MS',ui-rounded,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#e7eef7}body{margin:0;color:var(--navy);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #338cf0}button{user-select:none}button:active:not(:disabled){transform:translateY(1px)}svg{vertical-align:middle;flex-shrink:0}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.16;letter-spacing:-.55px}h1{font-size:34px}h2{font-size:22px}h3{font-size:18px}p{line-height:1.55}a{color:var(--green-dark)}input,select{font-size:16px;min-height:48px}button{min-height:44px}small,.small{font-size:13px}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hide{display:none!important}.app-shell{position:relative;max-width:1120px;min-height:100svh;margin:0 auto;background:linear-gradient(155deg,#fff 15%,#f0f7ff 100%);padding-bottom:calc(98px + env(safe-area-inset-bottom));box-shadow:0 0 80px #12305512}.brandbar{position:relative;z-index:2;background:radial-gradient(ellipse at 30% 70%,#1883c9,transparent 75%),linear-gradient(115deg,#073f7a,#07518e 70%,#0873b8);color:white;padding:calc(12px + env(safe-area-inset-top)) 16px 12px}.header-inner{height:45px;display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:980px;margin:auto}.logo{display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;color:white;padding:0;text-decoration:none;min-height:44px;line-height:1;flex-shrink:0}.wordmark{display:flex;align-items:center;font-family:'Arial Black',var(--font);font-size:30px;font-weight:1000;letter-spacing:-1.8px;transform:rotate(-3deg);filter:drop-shadow(0 3px 0 #06396260);line-height:.92}.wordmark svg{width:.76em;height:.76em;margin:0 1px}.logo-sub{font-size:12px;letter-spacing:-.25px;font-weight:900;color:#ffe166;margin-top:5px;text-shadow:0 1px 2px #063967}.header-left,.header-right{width:64px;display:flex;align-items:center;gap:4px}.header-right{justify-content:flex-end}.icon-button{width:44px;min-width:44px;height:44px;min-height:44px;display:inline-grid;place-items:center;border-radius:14px;background:transparent}.brandbar .icon-button{color:#fff}.brandbar .icon-button:hover{background:#ffffff17}.avatar-button{border:1px solid #ffffff55;padding:4px 6px;min-width:54px;border-radius:14px;color:#fff;background:#75c7ee26;display:flex;flex-direction:column;align-items:center;font-size:10px;font-weight:800;line-height:1.2}.avatar-button img{width:31px;height:31px;border-radius:50%;border:1px solid #c3f0fe}.home-header .header-inner{height:70px}.home-header .wordmark{font-size:51px;letter-spacing:-2.8px}.home-header .logo-sub{font-size:17px}.home-header .header-left{width:54px}.home-header .header-right{width:54px}.home-header .avatar-button img{width:39px;height:39px}.home-header .avatar-button{font-size:11px}.brandbar:after{content:'';position:absolute;left:0;right:0;height:15px;bottom:-14px;z-index:-1;background:linear-gradient(#0871b6,transparent);pointer-events:none}.brandbar.flat:after{display:none}.storage-warning{padding:12px 16px;background:#fff3d1;font-size:13px;color:#684e0c;text-align:center}.view-enter{animation:enter .2s ease-out}@keyframes enter{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
.content{padding:20px 18px;max-width:820px;margin:auto}.content.wide{max-width:1000px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.section-heading p{font-size:13px;color:var(--muted);margin-top:4px}.section-heading h2{font-size:21px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:14px}.mt12{margin-top:12px}.mt18{margin-top:18px}.mt24{margin-top:24px}.mb12{margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:5px;background:#e9f3fc;color:#275f97;border-radius:100px;padding:5px 9px;font-size:11px;font-weight:800;line-height:1.3}.pill.green{color:#0b7757;background:#e5f7ef}.pill.white{color:white;background:#ffffff26;border:1px solid #ffffff33}.link-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 0;background:transparent;color:var(--green-dark);font-size:13px;font-weight:800}.link-button:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 19px;border-radius:18px;font-weight:800;font-size:15px;line-height:1.25;text-decoration:none;border:1px solid transparent;box-shadow:none}.btn.primary{background:linear-gradient(140deg,#0db47c,#069768);color:#fff;box-shadow:inset 0 2px 1px #ffffff30,0 4px 12px #04956a1d;border-color:#059d702a}.btn.primary:hover{background:linear-gradient(140deg,#0dac77,#07845e)}.btn.secondary{background:#fff;color:var(--navy);border-color:var(--line);box-shadow:0 2px 2px #17386507}.btn.soft{background:#e1efff;color:#174776}.btn.gold{background:#ffcf4f;color:#473d14}.btn.danger{color:#af3640;background:#fff0f0;border-color:#f8d9da}.btn.small{font-size:13px;min-height:45px;padding:10px 15px;border-radius:13px}.btn.full{width:100%}.btn:disabled{background:#e4ebf1;color:#6a7a8d;box-shadow:none;border-color:#dde5ed}.surface{background:#fff;border:1px solid #e9eff6;border-radius:22px;box-shadow:var(--shadow);padding:20px}.note{border-radius:16px;padding:13px 15px;background:#eaf4ff;color:#3d5976;font-size:13px}.note p+p{margin-top:7px}.note.warm{background:#fff5db;color:#685019}.quiet-note{font-size:12px;color:var(--muted);line-height:1.65;margin-top:16px}.track{height:7px;background:#dfe8f2;border-radius:20px;overflow:hidden;flex:1}.track>span{height:100%;display:block;background:linear-gradient(90deg,#12c48a,#02a574);border-radius:20px;transition:width .3s}.stars{display:inline-flex;gap:1px;color:#dce3ed;white-space:nowrap;font-size:14px;letter-spacing:1px}.stars .filled{color:#ffbe25;text-shadow:0 1px #d9921433}
/* Adventure */
.home-scene{position:relative;height:211px;background:#1465a0 url('assets/7f278bed10c1.jpg') center bottom/100% auto no-repeat;isolation:isolate}.home-scene:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#117bbd 0%,#197bbe00 38%,#072c5020)}.scene-tagline{text-align:center;color:white;font-size:13px;font-weight:700;text-shadow:0 1px 2px #064277;padding:4px 12px;position:relative;z-index:1}.scene-tagline span{background:#0b7bbc99;border-radius:12px;padding:5px 10px;display:inline-block}.home-welcome{position:absolute;bottom:54px;left:23px;color:white;display:none;max-width:280px}.home-welcome h1{text-shadow:0 2px 9px #073454aa;font-size:35px}.home-welcome p{font-size:14px;margin-top:10px;text-shadow:0 1px 4px #02233f}.stat-dock{position:relative;z-index:1;margin:-25px 16px 0;padding:14px 16px;display:grid;grid-template-columns:.8fr 1fr 1.6fr;gap:12px;align-items:center;color:#fff;background:linear-gradient(120deg,#102c57,#102247);border:1px solid #21436d;border-radius:22px;box-shadow:0 5px 17px #12264d1c;min-height:78px}.stat-number{font-size:18px;font-weight:900;line-height:1.1;display:block}.stat-label{font-size:10px;color:#d6e3f7;display:block;margin-top:4px}.stat-mini{display:flex;align-items:center;gap:7px}.gold{color:#ffcc41}.gold svg{filter:drop-shadow(0 2px 1px #86520e55)}.xp-stat .track{margin-top:5px;height:5px;max-width:73px;background:#244776}.round-progress{width:49px;height:49px;flex-shrink:0;border-radius:50%;background:conic-gradient(#23d6a4 var(--p),#254b7c 0);display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px #ffffff0e}.round-progress:before{content:'';position:absolute;inset:6px;border-radius:50%;background:#132c52}.round-progress b{z-index:1;font-size:14px}.chapter-stat .stat-number{font-size:11px;line-height:1.2}.chapter-stat .stat-label{font-size:10px;line-height:1.3}.home-path{padding:20px 18px 12px}.home-path>.section-heading{margin-bottom:12px}.home-path h2{font-size:21px}.chapter-list{position:relative;display:grid;gap:12px;margin:0 0 16px 10px}.chapter-list:before{content:'';position:absolute;top:34px;bottom:38px;left:3px;border-left:2px dashed #cad7e8}.chapter-card{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) 18px;align-items:center;gap:13px;min-height:98px;width:100%;text-align:left;padding:9px 11px 9px 10px;border:1px solid #e3ebf5;border-radius:20px;background:linear-gradient(125deg,#fff,#f7faff);box-shadow:0 5px 12px #1e3d6710}.chapter-card.current{border:2px solid #0aa978;box-shadow:0 0 0 3px #d6f4e944,0 4px 15px #08795414;padding:8px 10px 8px 9px}.chapter-card.done{border-color:#9fdcc4}.chapter-card.locked{color:#475a78;background:linear-gradient(135deg,#f8fbff,#f0f5fb)}.chapter-card img,.chapter-art{width:96px;height:77px;object-fit:cover;border-radius:12px;flex-shrink:0;overflow:hidden}.chapter-card.locked img{opacity:.86}.chapter-art{display:grid;place-items:center;background:linear-gradient(160deg,#afdce9,#d8f0de);border:1px solid #c9dde5;position:relative;color:#0d6c59}.chapter-art:before{content:'';position:absolute;inset:36% -30% -25%;transform:rotate(-15deg);background:#61b58340;border:1px solid #faffff}.chapter-art svg{position:relative;width:43px;height:43px;filter:drop-shadow(0 3px 0 #ffffff80)}.chapter-art.c10{background:radial-gradient(#fff6c2,#f7d45f)}.chapter-art.c10 img{object-fit:contain;width:70px;height:68px}.chapter-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.chapter-copy small{font-size:11px;font-weight:500;color:#61718e}.chapter-copy strong{font-size:15px;line-height:1.18;letter-spacing:-.25px;color:var(--navy)}.chapter-copy>span{font-size:11px;color:#657691;line-height:1.33}.chapter-status{color:var(--green-dark)}.locked .chapter-status{color:#8393af}.chapter-number{position:absolute;left:-13px;top:12px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#13bd8c,#079564);color:white;border:2px solid white;font-weight:900;box-shadow:0 1px 5px #204a6630;z-index:1}.locked .chapter-number{background:linear-gradient(135deg,#6d809c,#3b4f72)}.chapter-card .stars{font-size:11px;line-height:1.1}.all-chapters{width:100%;font-size:12px;margin-top:4px}.daily-card{margin:8px 18px 18px;padding:17px 19px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:20px}.daily-card .flame{font-size:25px}.daily-card .daily-info{flex:1;min-width:0}.daily-card strong{font-size:13px}.daily-card p{font-size:11px;color:var(--muted);margin:4px 0 7px}.daily-card .track{height:6px}.resume-banner{margin:16px 18px 0;padding:11px 13px;border-radius:16px;border:1px solid #b9ded6;background:#e9f9f2;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.resume-banner small{display:block;color:var(--muted);font-size:11px}.resume-banner .btn{flex-shrink:0}
/* Chapter hero / tabs */
.chapter-scene{height:211px;background:#73b8d4;position:relative;overflow:hidden;color:white;isolation:isolate}.chapter-scene:before{content:'';position:absolute;inset:0;background:url('assets/7f278bed10c1.jpg') center/cover;z-index:-2;filter:saturate(.8)}.chapter-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#12583fed,#12533e9c 53%,#0c41750a),linear-gradient(0deg,#0d425ddd,transparent 60%)}.chapter-hero-copy{padding:27px 19px 0;width:67%;position:relative;z-index:1}.chapter-hero-copy .chapter-kicker{font-size:16px;font-weight:700;text-shadow:0 1px 2px #123d45}.chapter-hero-copy h1{font-size:29px;font-weight:900;max-width:290px;margin-top:4px;line-height:1.02;letter-spacing:-.75px;text-shadow:0 2px 3px #16434380}.chapter-hero-copy p{font-size:12px;margin-top:9px;max-width:210px;line-height:1.4;color:#f1ffff}.hero-player{position:absolute;width:199px;right:-5px;bottom:26px;pointer-events:none}.hero-progress{position:absolute;bottom:14px;left:18px;right:18px;display:flex;align-items:center;gap:13px;z-index:2}.hero-progress .track{border:2px solid #fff;box-shadow:inset 0 0 2px #10243d;height:16px;background:#2b5d7494}.hero-progress .track>span{box-shadow:inset 0 3px #a3ffcf45}.hero-progress>span{font-size:11px;font-weight:800;white-space:nowrap;min-width:74px;text-align:right}.chapter-panel{background:linear-gradient(165deg,#fff,#f6faff);border-radius:24px 24px 0 0;position:relative;margin-top:-1px;z-index:2}.lesson-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:0 15px;background:#ffffffd9;border-bottom:1px solid #eaf0f7;border-radius:24px 24px 0 0}.lesson-tabs button{position:relative;padding:15px 5px 13px;color:#657595;font-size:12px;background:none;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:72px}.lesson-tabs button.active{color:var(--green-dark);font-weight:800}.lesson-tabs button.active:after{content:'';position:absolute;height:3px;bottom:0;background:var(--green);left:7px;right:7px;border-radius:2px}.lesson-tabs button svg{width:24px;height:24px}.lesson-content{padding:18px;max-width:950px;margin:auto}.vocab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.vocab-card{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:133px;background:linear-gradient(#fff,#f9fbff);border:1px solid #e7edf4;border-radius:18px;box-shadow:0 2px 7px #1b3a7108;padding:11px 7px;color:var(--navy)}.vocab-card .sound-circle{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#e8f6ff,#b9dbff);color:#1675df;margin-bottom:10px;box-shadow:inset 0 1px 2px white}.vocab-card strong{font-size:16px;font-weight:900;line-height:1.15;word-break:normal;overflow-wrap:anywhere}.vocab-card>span:last-child{font-size:12px;color:#657590;margin-top:6px;line-height:1.25}.vocab-card:hover{border-color:#a3d5f2;background:#f3faff}.vocab-controls{display:flex;gap:1px;align-items:center;color:var(--muted);font-size:11px}.vocab-controls button{min-width:35px;width:35px;min-height:44px}.vocab-controls svg{width:17px;height:17px}.coach-row{display:flex;align-items:center;gap:14px;margin:12px 0 8px}.coach-avatar{height:64px;width:66px;object-fit:cover;object-position:top;border-radius:20px;flex-shrink:0;mix-blend-mode:multiply}.speech-bubble{position:relative;background:#fff;border:1px solid #edf1f7;border-radius:17px;padding:13px 15px;box-shadow:0 3px 16px #16375809;font-size:13px;line-height:1.4}.speech-bubble:before{content:'';position:absolute;left:-6px;top:22px;width:10px;height:10px;transform:rotate(45deg);background:#fff;border-left:1px solid #edf1f7;border-bottom:1px solid #edf1f7}.build-zone{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;min-height:62px;gap:7px;border:1.5px dashed #c4cfdf;border-radius:15px;background:#ffffff80;padding:10px}.build-placeholder{color:#78869c;font-size:13px;line-height:1.4;text-align:center}.word-bank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0 15px;min-height:44px}.word{min-height:42px;padding:10px 14px;background:#fff;border:1px solid #e3e9f2;border-radius:12px;font-size:14px;box-shadow:0 2px 1px #23375905}.build-zone .word{background:linear-gradient(#f7fbff,#e8f2ff);border-color:#c7dff7;color:#184c8b;font-weight:800}.word:disabled{color:#b7c2d1;border-style:dashed;background:#edf3f8;box-shadow:none}.word[hidden]{display:none}.game-tools{display:flex;align-items:center;gap:12px;margin-top:13px}.game-tools .btn.primary{flex:1}.game-tools .btn.soft{min-width:35%;font-size:14px}.game-tools .small{flex:1;font-size:11px;color:var(--muted)}.warmup-note{font-size:10px;text-align:center;color:var(--muted);margin-top:10px}.warmup-feedback{font-size:13px;border-radius:13px;background:var(--mint);padding:12px;margin-bottom:10px;color:#086448}.warmup-feedback.wrong{background:#fff1db;color:#705014}.grammar-guide{margin-top:23px;border-top:1px solid var(--line);padding-top:17px}.grammar-guide>summary{font-size:17px;font-weight:900;cursor:pointer}.grammar-guide>summary span{font-size:12px;color:var(--muted);font-weight:400}.grammar{padding:16px 0;border-bottom:1px solid var(--line)}.grammar:last-child{border-bottom:0}.grammar h3{font-size:16px;margin-bottom:8px}.grammar p{font-size:13px;color:#556983}.examples{margin-top:10px;border-left:3px solid #a2d8c4;padding-left:12px;display:grid;gap:7px;font-size:13px;color:#235d50}.mission-card{text-align:center;padding:12px 2px 20px}.mission-medallion{width:82px;height:82px;margin:4px auto 16px;display:grid;place-items:center;border-radius:25px;background:linear-gradient(145deg,#ddf8eb,#c1e9da);color:var(--green)}.mission-medallion.gold{background:#fff0ba;color:#d1981a}.mission-card h2{font-size:24px;margin-bottom:10px}.mission-card p{font-size:14px;color:var(--muted);max-width:430px;margin:0 auto 16px}.mission-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:19px 0}.mission-steps div{border:1px solid var(--line);border-radius:16px;padding:13px 8px;background:white}.mission-steps b{display:block;font-size:20px;color:var(--green)}.mission-steps span{font-size:11px;color:var(--muted)}.mission-card .btn{max-width:450px}
/* In-run tasks */
.play-content{padding:18px;max-width:760px;margin:auto}.play-top{display:flex;gap:12px;align-items:center;margin:0 0 17px}.play-top .icon-button{border:1px solid var(--line);background:#fff;width:40px;min-width:40px}.play-progress{flex:1;min-width:0}.play-label{font-size:11px;color:#637593;display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.play-label strong{color:var(--navy)}.play-score{font-size:13px;white-space:nowrap;color:#9b7521;display:flex;align-items:center;gap:3px}.play-score svg{color:#ffc631}.play-scene{position:relative;height:92px;background:linear-gradient(100deg,#0c634bef,#0c6a50cc),url('assets/7f278bed10c1.jpg') center/cover;color:#fff;display:flex;align-items:center;padding:16px 20px;overflow:hidden}.play-scene .hero-player{width:110px;bottom:-24px;right:14px;opacity:.98}.play-scene h1{font-size:23px;position:relative;z-index:1;max-width:70%}.play-scene .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:4px;color:#c9f0df}.game-card{padding:19px 17px;border-radius:23px;background:#fff;border:1px solid #e5ecf5;box-shadow:var(--shadow)}.game-type{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.game-type .type-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#39715e;font-weight:800}.game-type .pill{font-size:9px;padding:5px 7px}.game-card h2{font-size:20px;line-height:1.3;letter-spacing:-.4px;margin-bottom:18px}.prompt-row{display:flex;align-items:center;gap:12px;margin-bottom:17px}.prompt-row h2{margin:0;font-size:19px}.prompt-icon{width:41px;height:43px;display:grid;place-items:center;color:#f4ba20;background:#fff9dc;border-radius:14px;flex-shrink:0}.choices{display:grid;gap:9px}.choice{display:flex;align-items:center;gap:10px;text-align:left;min-height:52px;padding:10px 12px;border:1.5px solid #e2e8f2;border-radius:15px;background:linear-gradient(#fff,#fbfcfe);font-size:14px;line-height:1.35;color:#304362}.choice-letter{height:26px;width:26px;border-radius:50%;display:grid;place-items:center;background:#edf1f8;color:#516789;flex-shrink:0;font-weight:800;font-size:12px;box-shadow:inset 0 -2px #e0e7f1}.choice>span:nth-child(2){flex:1}.choice.selected{border-color:#529dde;background:#edf6ff;color:#13447c}.choice.selected .choice-letter{background:#347cbb;color:#fff}.choice.correct{border-color:#21a577;background:#e9faf1;color:#0b6e52;font-weight:800}.choice.correct .choice-letter{background:#12a473;color:white}.choice.wrong{border-color:#dbad91;background:#fff3ed;color:#9f5237}.choice.wrong .choice-letter{background:#d78463;color:#fff}.choice:disabled{opacity:1}.choice:not(:disabled):hover{border-color:#72aacf}.feedback{margin-top:14px;background:linear-gradient(125deg,#e3f9ec,#e9fcf5);color:#076549;border:1px solid #d3f0e1;border-radius:18px;padding:15px;outline:none}.feedback.wrong{background:#fff4e4;border-color:#f5e4c6;color:#74531c}.feedback-title{display:flex;gap:10px;align-items:center}.feedback-circle{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0eaa77,#00885e);color:white;flex-shrink:0}.feedback.wrong .feedback-circle{background:#cb9950}.feedback h3{font-size:18px}.feedback .feedback-xp{font-size:11px;margin-left:auto;font-weight:800;text-align:right}.feedback p{font-size:13px;margin-top:9px}.feedback .correct-answer{font-size:16px;font-weight:900}.feedback .btn{margin-top:14px;width:100%}.hint-box{font-size:13px;margin-top:13px;background:#fff4d8;border-radius:14px;padding:13px;color:#6a5121}.dialogue-card{display:flex;align-items:center;gap:11px;margin-bottom:18px;background:#f3f9ff;border-radius:17px;padding:10px}.dialogue-card .coach-avatar{width:55px;height:57px;border-radius:13px}.dialogue-card small{font-size:10px;color:#6c7c91;display:block;margin-bottom:2px}.dialogue-card strong{font-size:18px;line-height:1.2}.passage{font-size:17px;border-left:4px solid #90cbb5;border-radius:0 14px 14px 0;background:#f0f8f4;padding:14px 16px;margin-bottom:17px;line-height:1.55}.passage .eyebrow{font-size:9px;color:#548877;margin-bottom:7px}.listen-box{padding:14px;border:1px solid #ddecfa;background:#f4faff;border-radius:18px;margin-bottom:17px;text-align:center}.listen-controls{display:flex;justify-content:center;align-items:center;gap:9px}.listen-controls .btn{border-radius:15px}.audio-transcript{font-size:18px;margin-top:13px;font-weight:800;letter-spacing:.1px}.audio-caption{font-size:11px;color:var(--muted);margin-top:8px}.type-input,.field{width:100%;padding:13px 14px;border:1.5px solid #d8e4ef;border-radius:14px;background:white;outline-offset:3px}.type-input{font-size:20px;min-height:58px}.accents{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.accents button{width:36px;min-height:38px;border:1px solid #dbe7f2;border-radius:10px;background:#f2f8fd;font-size:17px}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.match-col{display:grid;gap:9px;min-width:0}.match-label{text-align:center;text-transform:uppercase;font-size:10px;font-weight:800;color:var(--muted);letter-spacing:1px;margin-bottom:2px}.match-item{min-height:59px;padding:10px 7px;font-size:13px;background:#fafdff;border:1.5px solid #dce7f1;border-radius:14px;line-height:1.3;overflow-wrap:anywhere}.match-item.picked{border-color:#5b9edb;background:#e7f4ff}.match-item.matched{background:#e6f9ed;border-color:#99d9bd;color:#1e7a56;opacity:.8}.match-status{font-size:12px;color:#5d7490;min-height:36px;margin-top:13px}.sort-grid{display:grid;gap:11px}.sort-row{padding:12px;background:#f7faff;border-radius:14px}.sort-row>strong{font-size:13px;display:block;margin-bottom:8px}.sort-buttons{display:flex;gap:7px;flex-wrap:wrap}.sort-buttons button{flex:1;min-height:40px;background:white;border:1px solid #dce6f1;border-radius:11px;font-size:12px;padding:8px 11px}.sort-buttons .selected{color:#076647;border-color:#76c6aa;background:#e2f7ef;font-weight:900}.basket-note{font-size:16px;padding:15px;background:#eff9ee;border:1px solid #d5e9d1;border-radius:15px;margin-bottom:15px}.basket-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.basket-item{border:1px solid var(--line);border-radius:16px;padding:12px;text-align:center;background:#fcfdff}.basket-item .food{font-size:32px;display:block}.basket-item strong{font-size:12px;font-weight:800;display:block;margin:5px 0 9px}.counter{display:flex;justify-content:center;align-items:center;gap:9px}.counter button{min-height:38px;min-width:36px;border-radius:10px;border:1px solid #dbe5f1;background:#f2f7fc;font-size:20px}.counter button:disabled{opacity:.35}.counter output{font-size:18px;min-width:20px;font-weight:900}
/* Results & progress */
.celebration{position:relative;isolation:isolate;text-align:center;overflow:hidden;padding:18px 20px 39px;background:linear-gradient(0deg,#07946a,#047753 55%,#0967b0);color:white;border-radius:0 0 28px 28px}.celebration:before{content:'';position:absolute;inset:-100%;z-index:-1;background:repeating-conic-gradient(from 15deg at 50% 48%,#ffffff15 0deg 9deg,transparent 9deg 23deg);opacity:.8;pointer-events:none}.celebration:after{content:'';position:absolute;height:120px;left:-50px;right:-50px;bottom:-82px;border-radius:50%;border:3px solid #ffffff30;z-index:-1}.trophy-art{width:126px;height:107px;object-fit:contain;margin:0 auto 4px;filter:drop-shadow(0 5px 5px #043b5780)}.celebration h1{font-size:34px;font-weight:1000;letter-spacing:-1px;text-shadow:0 2px 3px #15443e66}.celebration h2{font-size:17px;margin-top:7px;color:#fff}.celebration p{font-size:12px;max-width:360px;margin:7px auto 0;color:#e1fff5;line-height:1.45}.celebration.practice-result{background:linear-gradient(0deg,#147eae,#07629e)}.celebration.comeback-result{background:linear-gradient(0deg,#186291,#123e74)}.reward-dock{position:relative;margin:-22px 18px 0;background:linear-gradient(#fff,#fbfdff);border:1px solid #e5edf4;border-radius:18px;padding:16px 11px;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 4px 13px #1a416013;z-index:2}.reward{display:flex;align-items:center;justify-content:center;gap:7px;border-right:1px solid #eaf0f7}.reward:last-child{border:0}.reward strong{font-size:20px;font-weight:1000;display:block;line-height:1.1;letter-spacing:-.5px}.reward small{font-size:9px;color:#63728c;display:block;margin-top:5px}.reward-symbol{font-size:29px;line-height:1}.chapter-timeline{display:flex;gap:12px;overflow-x:auto;padding:10px 1px 6px;scrollbar-width:thin}.timeline-stop{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:3px;width:43px;background:none;padding:0;font-size:11px;color:var(--muted)}.timeline-stop .stop-number{width:40px;height:40px;display:grid;place-items:center;border:3px solid #e8eef6;box-shadow:0 1px 3px #27466b20;border-radius:50%;background:linear-gradient(#edf2f8,#cdd9e8);font-size:17px;font-weight:900;color:#596f90}.timeline-stop.done .stop-number{background:linear-gradient(140deg,#22c397,#078e63);color:white;border-color:#bfe7d8}.timeline-stop.current .stop-number{border-color:#4daa87;color:#08714f}.timeline-stop:last-child .stop-number{background:linear-gradient(#fff6d3,#f6d978);border-color:#f8ecc6;color:#b87a0f}.timeline-stop .stars{font-size:10px;line-height:1}.timeline-card{padding:17px;border-radius:21px}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.timeline-heading h2{font-size:17px}.timeline-heading small{font-size:10px;color:var(--muted);text-align:right}.recap-item{padding:14px;background:#f6f9fd;border-radius:14px;display:grid;gap:6px;margin-top:10px}.recap-item>span{font-size:12px;color:#60758e}.recap-item>strong{font-size:14px}.recap-item>small{font-size:12px;color:#63768a}.score-pill{font-size:12px;font-weight:800;padding:7px 10px;background:#e5f6ef;border-radius:10px;color:#18775a}.progress-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#096ab0,#114b83);padding:26px 24px 35px;color:#fff;position:relative;overflow:hidden}.progress-hero:after{content:'';position:absolute;inset:0;background:repeating-conic-gradient(from 30deg at 91% 100%,transparent 0 17deg,#ffffff08 17deg 25deg);pointer-events:none}.progress-hero h1{font-size:30px;max-width:250px}.progress-hero p{font-size:12px;margin-top:9px;color:#d9edf9}.progress-hero .trophy-art{margin:0;width:110px;height:100px;flex-shrink:0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:11px}.metric{padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow)}.metric .metric-icon{width:34px;height:34px;display:grid;place-items:center;background:#eaf5ff;border-radius:11px;color:#1377b2;margin-bottom:10px}.metric strong{display:block;font-size:26px;font-weight:900;letter-spacing:-.5px;line-height:1.1}.metric span{font-size:11px;color:var(--muted);display:block;margin-top:6px}.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.achievement{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;display:flex;gap:12px;align-items:center}.achievement.locked{background:#f5f8fc;color:#647691}.badge-icon{width:43px;height:43px;border-radius:13px;background:#e0f5e9;color:#08784f;display:grid;place-items:center;flex-shrink:0}.locked .badge-icon{background:#e6edf4;color:#9aabc1}.achievement strong{font-size:12px;display:block}.achievement small{font-size:10px;color:#6f819a;display:block;margin-top:3px}.progress-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.progress-row:last-child{border:0}.progress-row .pr-num{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#eaf3fb;font-size:13px;color:#4c708f;font-weight:900}.progress-row h3{font-size:13px;letter-spacing:0;margin-bottom:5px}.progress-row small{font-size:10px;color:var(--muted)}.progress-row .pr-score{text-align:right}.progress-row .pr-score strong{font-size:13px;display:block}

/* Practice arena / phrasebook / settings */
.page-heading{padding:24px 22px 28px;background:linear-gradient(125deg,#0c6db0,#155187);color:#fff;position:relative;overflow:hidden}.page-heading:after{content:'';position:absolute;right:-50px;top:-70px;width:230px;height:230px;border:35px solid #ffffff05;border-radius:50%}.page-heading .eyebrow{color:#b5ddf4;margin-bottom:7px}.page-heading h1{font-size:30px}.page-heading p{font-size:13px;color:#dceffc;margin-top:8px;max-width:530px}.arena-feature{position:relative;overflow:hidden;background:linear-gradient(120deg,#076b57,#0c9471);padding:23px;border-radius:23px;color:white;box-shadow:0 6px 17px #114f331c}.arena-feature:before{content:'';position:absolute;left:50%;top:-30px;width:220px;height:250px;transform:rotate(-19deg);border:2px solid #ffffff22;background:repeating-linear-gradient(0deg,#ffffff09 0 30px,transparent 30px 60px);pointer-events:none}.arena-feature .feature-ball{position:absolute;right:15px;bottom:19px;transform:rotate(-15deg);color:#fff;filter:drop-shadow(0 8px 4px #075839);opacity:.98}.arena-feature .eyebrow{color:#a3f0d4;margin-bottom:7px}.arena-feature h2{font-size:29px;margin-bottom:9px;max-width:70%}.arena-feature p{font-size:13px;max-width:70%;color:#d9fff0;line-height:1.5;margin-bottom:18px}.arena-feature .btn{position:relative;z-index:1}.arena-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.arena-card{padding:17px;border-radius:20px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.arena-card h2{font-size:20px;margin:12px 0 9px}.arena-card p{font-size:12px;color:var(--muted);margin-bottom:14px;flex:1}.arena-card .btn{width:100%;font-size:12px;padding:10px 8px}.topics{display:grid;gap:9px}.topic{display:flex;align-items:center;gap:12px;text-align:left;padding:13px;background:#fff;border:1px solid var(--line);border-radius:17px;min-width:0}.topic .badge-icon{width:38px;height:38px}.topic-copy{flex:1;min-width:0}.topic strong{display:block;font-size:13px}.topic small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.topic>svg{color:#7391ab}.phrase-filters{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:18px}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:14px;top:16px;color:#8296ad}.search-wrap input{padding-left:43px;background:#fff}.phrasebook-grid{display:grid;grid-template-columns:1fr;gap:9px}.phrase-entry{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 15px;min-width:0}.phrase-entry .phrase-words{flex:1;min-width:0}.phrase-entry strong{display:block;font-size:17px;line-height:1.3}.phrase-entry span{display:block;font-size:13px;color:var(--muted);margin-top:3px}.phrase-entry small{display:block;font-size:10px;color:#5d8b7e;margin-bottom:5px}.phrase-entry .tip{font-size:11px;color:#728698;margin-top:7px;line-height:1.5}.phrase-entry .sound-circle{border-radius:50%;color:#1978d4;background:#dfedff;flex-shrink:0}.empty{padding:35px 20px;text-align:center;border:1px dashed #c8d7e9;border-radius:20px;background:#f9fcff;color:var(--muted)}.empty h2{font-size:21px;color:var(--navy);margin-bottom:8px}.empty p{font-size:13px}.settings-section h2{font-size:19px;margin-bottom:15px}.settings-section .field{margin-top:7px}.settings-section>label{display:block;font-size:13px;color:var(--muted)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0}.setting-row label{font-size:14px;font-weight:800}.setting-row small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px;line-height:1.5}.setting-row input[type=checkbox]{min-height:28px;width:44px;height:25px;accent-color:var(--green);flex-shrink:0}.settings-section p{font-size:13px;color:var(--muted);margin-bottom:13px}.settings-section details{margin-top:17px;font-size:13px}.settings-section summary{font-size:13px;font-weight:800;cursor:pointer}.settings-section details p{margin-top:12px;font-size:12px}.version-note{font-size:10px;text-align:center;color:#899ab0;margin:22px 0 2px;letter-spacing:.5px}.voice-note{font-size:11px;color:#6c7e90;margin-top:11px}.save-status{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--green-dark);margin-top:13px}.day-streak{font-size:24px;color:#f4a634}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:40;width:100%;max-width:1120px;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 13px calc(8px + env(safe-area-inset-bottom));border:1px solid #dce5f1;border-bottom:0;border-radius:24px 24px 0 0;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 -7px 27px #294b7208;min-height:73px}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;color:#6c7a94;font-size:10px;min-height:52px;font-weight:500;border-radius:14px}.bottom-nav button svg{height:24px;width:24px}.bottom-nav button.active{color:#144b80;font-weight:900}.bottom-nav button.active:before{content:'';position:absolute;top:0;width:36px;height:3px;background:#19a57b;border-radius:3px}.bottom-nav button:hover{background:#eef7fc}.toast{position:fixed;bottom:calc(91px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);z-index:100;opacity:0;pointer-events:none;width:max-content;max-width:min(92vw,520px);background:#152b4ef2;color:white;border-radius:15px;padding:13px 18px;box-shadow:0 4px 30px #0d244325;font-size:13px;transition:.2s;line-height:1.5}.toast.show{opacity:1;transform:translate(-50%,0)}.confetti-container{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:80}.confetti-bit{position:absolute;top:-10px;width:8px;height:13px;border-radius:1px;background:var(--c);left:var(--x);animation:fall var(--t) ease-in var(--delay) forwards}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(700deg)}}
/* Penalty shootout */
.pitch-card{position:relative;border-radius:22px;padding:22px 17px;background:repeating-linear-gradient(0deg,#0a9c7130 0 44px,#046d2630 44px 88px),linear-gradient(#10a577,#078761);color:white;overflow:hidden;border:1px solid #149f78}.pitch-card:after{content:'';position:absolute;width:230px;height:140px;bottom:-80px;border:2px solid #c9fae078;border-radius:50%;left:50%;transform:translateX(-50%);pointer-events:none}.goal-net{width:230px;height:90px;max-width:90%;margin:4px auto 17px;border:5px solid white;border-bottom:2px solid #fff;border-radius:7px 7px 0 0;transform:perspective(500px) rotateX(-5deg);background:repeating-linear-gradient(0deg,transparent 0 14px,#ffffff40 14px 15px),repeating-linear-gradient(90deg,transparent 0 18px,#ffffff40 18px 19px),#1743525c;box-shadow:0 5px 5px #143d3233;position:relative;display:grid;place-items:center}.goal-net .ball-icon{position:absolute;bottom:-22px;width:38px;height:38px;filter:drop-shadow(0 6px 3px #05382b55)}.goal-net.goal .ball-icon{bottom:35px;width:29px;height:29px;transition:bottom .4s,width .4s}.goal-net.miss .ball-icon{left:0;bottom:-19px;opacity:.4}.shot-score{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;margin-bottom:16px}.shot-dots{display:flex;justify-content:center;gap:7px;margin:20px auto 0}.shot-dots span{width:14px;height:14px;border-radius:50%;border:2px solid #bdf5e1;background:#ffffff15}.shot-dots span.yes{background:#ffd64f;border-color:#fff0b3}.shot-dots span.no{background:#276d72;border-color:#94aeb4}.goal-callout{text-align:center;font-size:28px;font-weight:900;min-height:40px}.clock-track{height:5px;background:#ffffff35;border-radius:10px;margin:9px 0 0;overflow:hidden}.clock-track>span{height:100%;display:block;background:#ffe078}.shoot-question{margin-top:16px}.timed-control{display:flex;justify-content:center;align-items:center;gap:10px;margin:15px 0;font-size:13px;color:#536e82}.timed-control input{min-height:24px;accent-color:var(--green);width:19px;height:19px}
@media(min-width:720px){.brandbar{padding:18px 32px}.header-inner{height:53px}.home-header .header-inner{height:77px}.home-header .wordmark{font-size:49px}.brandbar .header-left,.brandbar .header-right{width:92px}.home-layout{display:grid;grid-template-columns:1fr 1.08fr;align-items:start}.home-scene{height:365px;background-size:auto 74%;background-position:center bottom}.scene-tagline{font-size:14px;padding-top:10px}.home-welcome{display:block;bottom:158px;left:32px}.home-welcome h1{font-size:30px;max-width:280px}.home-welcome p{max-width:270px}.stat-dock{margin:-28px 23px 0;padding:17px;grid-template-columns:.8fr .9fr 1.5fr}.stat-number{font-size:23px}.stat-label{font-size:11px}.chapter-stat .stat-number{font-size:12px}.round-progress{width:56px;height:56px}.home-path{padding:28px 26px 20px}.chapter-card{grid-template-columns:99px minmax(0,1fr) 20px;min-height:111px;gap:17px}.chapter-card img,.chapter-art{width:99px;height:85px}.chapter-copy strong{font-size:17px}.chapter-copy small{font-size:12px}.chapter-copy>span{font-size:12px}.home-path h2{font-size:26px}.home-path .section-heading{margin-bottom:20px}.daily-card{margin:24px 24px}.daily-card strong{font-size:15px}.daily-card p{font-size:12px}.home-layout .resume-banner{margin:19px 24px 0}.home-layout .home-left{position:sticky;top:0}.chapter-scene{height:266px}.chapter-hero-copy{max-width:900px;margin:auto;padding:39px 20px 0;width:80%}.chapter-hero-copy h1{font-size:43px;max-width:510px}.chapter-hero-copy p{font-size:16px;max-width:400px}.chapter-hero-copy .chapter-kicker{font-size:19px}.hero-player{right:12%;width:252px;bottom:28px}.hero-progress{max-width:800px;left:0;right:0;margin:auto;bottom:23px}.hero-progress>span{font-size:13px}.lesson-tabs{max-width:950px;margin:auto;padding:0 25px}.lesson-tabs button{padding:18px 5px;font-size:14px;min-height:80px}.lesson-content{padding:27px 25px}.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:29px;align-items:start}.learn-grid .builder-section{margin-top:0}.learn-grid .vocab-card{min-height:161px;padding:17px 10px}.learn-grid .vocab-card strong{font-size:19px}.learn-grid .vocab-card>span:last-child{font-size:14px}.learn-grid .vocab-card .sound-circle{width:42px;height:42px}.lesson-content .section-heading h2{font-size:24px}.mission-card{max-width:630px;margin:auto;padding:20px}.content{padding:28px 25px}.content.wide{padding:28px 35px}.play-content{padding:26px}.game-card{padding:26px}.game-card h2{font-size:25px}.prompt-row h2{font-size:22px}.choice{font-size:16px;min-height:58px}.play-scene{height:119px;padding:25px max(35px,calc((100% - 760px)/2 + 25px))}.play-scene h1{font-size:28px;max-width:470px}.play-scene .hero-player{right:20%;width:137px;bottom:-35px}.celebration{padding:25px 20px 41px}.celebration h1{font-size:44px}.celebration h2{font-size:20px}.celebration p{font-size:14px;max-width:510px}.trophy-art{width:151px;height:126px}.reward-dock{max-width:707px;margin:-24px auto 0;padding:22px 18px}.reward strong{font-size:25px}.reward small{font-size:12px}.reward-symbol{font-size:36px}.timeline-heading h2{font-size:20px}.timeline-heading small{font-size:12px}.chapter-timeline{justify-content:space-between}.timeline-stop{width:45px}.progress-hero{padding:31px max(34px,calc((100% - 770px)/2)) 40px}.progress-hero h1{font-size:39px;max-width:430px}.progress-hero .trophy-art{width:150px;height:129px}.progress-hero p{font-size:14px}.metrics{grid-template-columns:repeat(4,1fr)}.metric{padding:17px}.badge-grid{grid-template-columns:repeat(3,1fr)}.page-heading{padding:29px max(32px,calc((100% - 930px)/2)) 34px}.page-heading h1{font-size:39px}.page-heading p{font-size:15px}.arena-feature{padding:28px}.arena-feature h2{font-size:37px}.arena-feature p{font-size:15px;max-width:60%}.arena-feature .feature-ball{right:55px;bottom:23px;width:123px;height:123px}.arena-card{padding:22px}.arena-card h2{font-size:25px}.arena-card p{font-size:14px}.arena-card .btn{font-size:14px}.topics{grid-template-columns:1fr 1fr}.phrase-filters{grid-template-columns:1.2fr 1fr}.phrasebook-grid{grid-template-columns:1fr 1fr}.phrase-entry{padding:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.settings-grid>.stack{min-width:0}.bottom-nav{max-width:650px;border-radius:22px 22px 0 0;padding-left:30px;padding-right:30px}.bottom-nav button{font-size:12px;gap:6px;min-height:57px}.bottom-nav button svg{width:26px;height:26px}.progress-row h3{font-size:15px}.progress-row small{font-size:12px}.progress-row .pr-score strong{font-size:15px}.warmup-note{font-size:11px}.warmup-feedback{font-size:14px}.mission-steps span{font-size:12px}.phrasebook-grid .phrase-entry strong{font-size:17px}}
@media(max-width:359px){.home-header .wordmark{font-size:43px}.home-header .logo-sub{font-size:15px}.home-header .header-left{width:45px}.home-header .header-right{width:45px}.home-scene{height:184px}.stat-dock{padding:12px 10px;gap:8px;margin-left:12px;margin-right:12px}.stat-number{font-size:16px}.stat-mini{gap:5px}.round-progress{width:43px;height:43px}.chapter-stat .stat-number{font-size:10px}.home-path{padding:19px 12px 12px}.chapter-card{grid-template-columns:79px minmax(0,1fr) 14px;gap:10px;min-height:95px}.chapter-card img,.chapter-art{width:79px;height:73px}.chapter-copy strong{font-size:14px}.chapter-copy>span{font-size:10px}.chapter-hero-copy h1{font-size:26px}.hero-player{width:175px;right:-10px;bottom:27px}.chapter-hero-copy p{max-width:175px;font-size:11px}.lesson-content,.content,.play-content{padding:15px 12px}.vocab-card strong{font-size:14px}.vocab-card>span:last-child{font-size:11px}.vocab-grid{gap:7px}.reward{gap:4px}.reward strong{font-size:17px}.reward small{font-size:8px}.reward-symbol{font-size:25px}.game-card{padding:16px 13px}.choice{font-size:13px;padding:10px}.badge-grid{grid-template-columns:1fr}.arena-grid{grid-template-columns:1fr}.game-type .pill{font-size:8px}.word{padding:10px 12px}.celebration h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.confetti-container{display:none}}
/* Keep the adventure path close to the reference at phone sizes. */
#main:focus{outline:none}
@media(max-width:719px){.home-layout{display:flex;flex-direction:column}.home-left{display:contents}.home-scene{order:0;height:180px}.stat-dock{order:1}.home-layout .resume-banner{order:2}.home-path{order:3}.daily-card{order:4;margin-top:6px}.chapter-scene{height:190px}.hero-player{width:182px;bottom:26px}.chapter-hero-copy{padding-top:22px}.vocab-card{min-height:125px}.lesson-tabs button{min-height:66px;padding-top:12px;padding-bottom:11px}}
/* Prevent a horizontal chapter timeline from widening a CSS grid item. */
.stack>*{min-width:0}.timeline-card{min-width:0;max-width:100%}.chapter-timeline{max-width:100%}.metrics,.badge-grid{min-width:0}
/* A complete first-lesson warm-up stays within a typical phone viewport. */
.chapter-scene>.hero-player{bottom:0}
@media(min-width:720px){.chapter-scene>.hero-player{width:230px}}
@media(max-width:719px){.chapter-scene{height:170px}.chapter-scene>.hero-player{width:160px;bottom:0;right:0}.chapter-hero-copy{padding-top:18px}.chapter-hero-copy h1{font-size:27px}.lesson-tabs button{min-height:60px;padding-top:8px;padding-bottom:8px;gap:4px}.lesson-content{padding:14px}.lesson-content .section-heading{margin-bottom:9px}.lesson-content .section-heading p{margin-top:3px}.vocab-card{min-height:111px;padding:8px 7px}.vocab-card .sound-circle{width:30px;height:30px;margin-bottom:8px}.learn-grid>section:first-child>.link-button{display:none}.builder-section{margin-top:15px}.builder-section .coach-avatar{width:53px;height:50px}.builder-section .coach-row{margin-top:8px;margin-bottom:8px}.builder-section .speech-bubble{padding:10px 13px}.builder-section .build-zone{padding:6px;min-height:56px}.builder-section .word-bank{margin-top:8px;margin-bottom:8px}}
.hero-progress>span{background:#09364d8a;border-radius:7px;padding:3px 6px;text-shadow:0 1px 2px #063345}

/* Stadium Edition 4.0 — immersive match layout; the rest of Spanish Quest is unchanged. */
body.copa-match{overflow:hidden;background:#071b28;overscroll-behavior:none}
body.copa-match .app-shell{max-width:none;margin:0;border:0;box-shadow:none;background:#071b28;min-height:100vh}
body.copa-match #header,body.copa-match #bottom-nav{display:none!important}
body.copa-match #main{padding:0!important;min-height:0;background:#071b28}
body.copa-match #storage-warning:not(.hide){position:fixed;z-index:105;top:0;left:0;right:0;font-size:11px;padding:4px 12px}
.copa-match *{box-sizing:border-box}
.copa-game{--mint:#a7f6d1;--ink:#e9f3f5;--muted:#9cb3c1;color:var(--ink);position:relative;display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:1240px;margin:0 auto;overflow:hidden;background:#071b28;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;isolation:isolate}
.copa-topbar{position:absolute;left:0;right:0;top:0;z-index:8;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 13px;background:linear-gradient(180deg,rgba(4,20,30,.96),rgba(4,20,30,.76) 76%,rgba(4,20,30,0));pointer-events:none}
.copa-topbar>*{pointer-events:auto}
.copa-icon-btn{appearance:none;display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid #ffffff2a;background:#0c2636b8;color:#f5fbfa;border-radius:50%;padding:0;cursor:pointer;backdrop-filter:blur(6px)}
.copa-icon-btn svg{width:18px;height:18px}.copa-icon-btn:hover{background:#214c5b}.copa-icon-btn:focus-visible,.copa-choice:focus-visible,.copa-button:focus-visible,.copa-aim-button:focus-visible{outline:3px solid #a7f6d1;outline-offset:3px}
.copa-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.copa-brand-mark{width:29px;height:34px;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,93% 67%,50% 100%,7% 67%);background:var(--mint);color:#123a35;font-size:18px;font-weight:950;font-style:italic}.copa-brand strong{display:block;font-size:11px;font-weight:900;letter-spacing:1.9px;color:#f6faf8}.copa-brand small{display:block;margin-top:3px;font-size:9px;font-weight:700;color:#a7c1c7;letter-spacing:1.4px;text-transform:uppercase}
.copa-stage-wrap{position:relative;min-height:180px;flex:1;overflow:hidden;background:linear-gradient(#84afc5 0 30%,#477a3c 55%,#1b532b)}
.copa-stage-wrap:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#041c273b 0,transparent 29%,transparent 79%,#071b28a8 100%);z-index:2}
.copa-field{position:absolute;inset:0;touch-action:none;overflow:hidden}.copa-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:default}.copa-phase-aim .copa-canvas{cursor:crosshair}
.copa-trajectory{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}.copa-line{fill:none;stroke:#feffe9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.copa-line-shadow{fill:none;stroke:#133d26;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.38}.copa-aim-dot{fill:#ffffff0a;stroke:#ffdfa1;stroke-width:2;display:none}.copa-aim-dot.valid{stroke:#b9ffdd;fill:#8cfad442}
.copa-ball-marker{position:absolute;pointer-events:none;z-index:4;transform:translate(-50%,-50%);color:white}.copa-ball-marker>span{display:block;border:1.5px solid #d8fff1cc;box-shadow:0 0 0 7px #c3ffe113;width:48px;height:48px;border-radius:50%;animation:copa-ball-pulse 2s ease-in-out infinite}.copa-ball-marker small{position:absolute;left:50%;top:62px;transform:translateX(-50%);white-space:nowrap;font-size:9px;font-weight:900;letter-spacing:1.6px;text-shadow:0 2px 4px #13352c}.copa-ball-marker.drawing{opacity:.2}.copa-ball-marker.drawing small{display:none}
@keyframes copa-ball-pulse{50%{box-shadow:0 0 0 12px #d2fff109;border-color:#fff}}
.copa-scoreboard{position:absolute;left:16px;right:16px;top:calc(env(safe-area-inset-top,0px) + 67px);z-index:5;display:flex;gap:10px;align-items:flex-start;justify-content:space-between;pointer-events:none}.copa-score-tile{display:flex;align-items:center;border-radius:11px;overflow:hidden;border:1px solid #ffffff25;background:#092633de;box-shadow:0 5px 20px #06212626;backdrop-filter:blur(8px);min-height:43px}.copa-team-label{font-weight:900;letter-spacing:1px;font-size:10px;padding:0 11px;color:#ecfff6}.copa-score-number{font-weight:950;font-size:26px;font-variant-numeric:tabular-nums;min-width:42px;line-height:43px;text-align:center;background:var(--mint);color:#12372e}.copa-score-sep{width:1px;background:#ffffff2e;height:23px}.copa-save-tally{padding:0 11px;line-height:1.25}.copa-save-tally b{font-size:16px;display:block;font-variant-numeric:tabular-nums}.copa-save-tally small{font-size:8px;color:#9cb4c1;font-weight:800;letter-spacing:1px}.copa-shot-tag{padding:8px 11px;border:1px solid #ffffff25;background:#092633d9;backdrop-filter:blur(7px);border-radius:10px;text-align:center;min-width:75px}.copa-shot-tag small{display:block;font-size:8px;letter-spacing:1.5px;color:#a8c3ca;font-weight:850}.copa-shot-tag b{font-size:17px;font-variant-numeric:tabular-nums;display:block;margin-top:2px;font-weight:900}
.copa-field-label{position:absolute;z-index:4;left:16px;bottom:13px;display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.5px;font-weight:800;color:#effaf0;text-shadow:0 1px 5px #142e1b}.copa-field-label:before{content:'';width:5px;height:5px;border-radius:50%;background:#b4f9d2}.copa-build{position:absolute;z-index:4;right:16px;bottom:13px;font-size:8px;letter-spacing:1.2px;font-weight:700;color:#d4e7d4;text-shadow:0 1px 5px #142e1b}
.copa-sheet{position:relative;flex:0 0 auto;z-index:6;border-top:1px solid #83b9bb35;background:linear-gradient(150deg,#102b3b,#0b202e 60%);border-radius:23px 23px 0 0;margin-top:-13px;padding:17px 20px max(15px,env(safe-area-inset-bottom,0px));box-shadow:0 -12px 32px #071b2826;max-height:55%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.copa-sheet h1,.copa-sheet h2,.copa-sheet h3,.copa-sheet p{color:inherit;margin:0}
.copa-kicker{font-size:9px;line-height:1.2;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:#abd9c9;display:flex;align-items:center;gap:6px}.copa-kicker em{font-style:normal;color:#718d9c;font-weight:650;letter-spacing:1px}.copa-round-dots{display:flex;gap:5px;align-items:center;margin-left:auto}.copa-round-dots i{width:6px;height:6px;border-radius:50%;background:#34525e;display:block}.copa-round-dots i.current{background:#e4f4e9;box-shadow:0 0 0 2px #e4f4e926}.copa-round-dots i.goal{background:#a7f6d1}.copa-round-dots i.save{background:#e3b184}
.copa-question-title{font-size:20px;font-weight:820;line-height:1.27;letter-spacing:-.35px;margin:11px 0 14px!important;text-wrap:pretty}
.copa-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.copa-choice{appearance:none;min-height:51px;display:flex;align-items:center;gap:8px;text-align:left;padding:10px 11px;border:1px solid #54738266;background:#1836469c;color:#f2f6f7;border-radius:11px;font:650 14px/1.25 inherit;font-family:inherit;font-size:14px;font-weight:650;line-height:1.25;cursor:pointer;transition:background .15s,border-color .15s;overflow-wrap:anywhere}.copa-choice .letter{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;background:#254553;color:#a4c0c9;font-size:10px;font-weight:850}.copa-choice:hover{border-color:#7bccaa;background:#1c4350}.copa-choice.correct{background:#a7f6d11a;border-color:#a7f6d1;color:#b9ffdb}.copa-choice.wrong{border-color:#e4b385;background:#e4b38514}.copa-choice:disabled{cursor:default;opacity:1}
.copa-help-line{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;line-height:1.4;color:#93acba;margin-top:12px}.copa-help-line span{display:flex;gap:5px;align-items:center}.copa-help-line svg{width:12px;height:12px}.copa-help-line button{font:inherit;border:0;background:none;padding:2px;color:#b2c3cd;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.copa-intro .copa-sheet{padding-top:23px}.copa-intro h1{font-size:34px;line-height:1.03;font-weight:930;letter-spacing:-1.15px;margin:9px 0 12px!important;max-width:440px}.copa-intro h1 span{color:#adf2cf}.copa-intro-text{font-size:13px;line-height:1.5;color:#b9cbd5!important;max-width:420px}.copa-rules{display:flex;gap:17px;margin-top:15px;font-size:10px;font-weight:800;color:#bfd4de}.copa-rules span{display:flex;align-items:center;gap:6px}.copa-rules i{width:6px;height:6px;display:inline-block;background:#a7f6d1;border-radius:50%}.copa-rules span:last-child i{background:#e5b182}
.copa-start-row{display:flex;align-items:center;gap:12px;margin-top:19px}.copa-timer-toggle{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#becdd3;cursor:pointer;flex-shrink:0}.copa-timer-toggle input{appearance:none;background:#365564;border-radius:20px;width:32px;height:18px;position:relative;margin:0;transition:background .2s;min-height:0}.copa-timer-toggle input:after{content:'';position:absolute;left:3px;top:3px;background:#c1d5dc;width:12px;height:12px;border-radius:50%;transition:transform .2s}.copa-timer-toggle input:checked{background:#70cba4}.copa-timer-toggle input:checked:after{transform:translateX(14px);background:#fff}
.copa-button{border:0;appearance:none;background:#a7f6d1;color:#12382f;font-family:inherit;min-height:47px;padding:11px 16px;border-radius:11px;font-size:13px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:inset 0 1px #ffffff69;flex:1;transition:background .15s}.copa-button:hover{background:#c9ffe4}.copa-button svg{width:16px;height:16px}.copa-button.secondary{background:#203e4d;color:#d9e8ec;border:1px solid #51708065;flex:0 0 auto;box-shadow:none}.copa-button:disabled{opacity:.5;cursor:default}
.copa-aim-title{font-size:24px!important;letter-spacing:-.65px;font-weight:900;margin:5px 0 4px!important;line-height:1.16}.copa-correction{font-size:12px;color:#bfd2dc!important;line-height:1.4}.copa-correction strong{color:#e7f8ed}.copa-sheet.is-wrong .copa-kicker{color:#e9c197}
.copa-aim-note{margin:9px 0 0!important;font-size:11px;line-height:1.4;color:#98b8be!important;min-height:16px}.copa-aim-controls{display:flex;gap:6px;margin-top:12px;align-items:center}.copa-aim-controls>span{font-size:9px;line-height:1.2;color:#829dab;margin-right:auto;max-width:76px}.copa-aim-button{appearance:none;border:1px solid #426673;background:#1b3c4a;color:#d6e8ec;border-radius:8px;min-height:44px;padding:9px 11px;font-family:inherit;font-size:10px;font-weight:800;cursor:pointer}.copa-aim-button:hover{border-color:#a7f6d1}.copa-aim-button:disabled{opacity:.35;cursor:default}
.copa-outcome{position:absolute;z-index:7;left:0;right:0;top:46%;text-align:center;pointer-events:none;opacity:0;transform:translateY(10px) scale(.94);transition:opacity .25s,transform .25s}.copa-outcome.visible{opacity:1;transform:translateY(0) scale(1)}.copa-outcome strong{font-size:clamp(39px,10vw,68px);font-style:italic;letter-spacing:-1.4px;font-weight:950;line-height:1;color:#f1ffee;text-shadow:0 3px 0 #16493b,0 5px 28px #082318b5;display:block}.copa-outcome span{display:inline-block;background:#072d25cf;color:#c0ffde;font-size:9px;font-weight:900;letter-spacing:1.8px;padding:7px 11px;border:1px solid #baffde45;border-radius:5px;margin-top:10px;backdrop-filter:blur(5px)}.copa-outcome.saved span{background:#302c29ce;border-color:#edc18a4a;color:#f4d4b2}.copa-result-buttons{display:flex;gap:9px;margin-top:13px}.copa-result-buttons .secondary{padding:10px 13px;font-size:11px}
.copa-flight-caption{padding:11px 0 4px;display:flex;gap:11px;align-items:center}.copa-flight-caption .copa-spinner{width:24px;height:24px;border:2px solid #44616b;border-top-color:#c2ffe0;border-radius:50%;animation:copa-spin .8s linear infinite}.copa-flight-caption strong{display:block;font-size:17px}.copa-flight-caption small{display:block;margin-top:4px;font-size:11px;color:#b0c4ce}.copa-flight .copa-sheet{min-height:102px}
@keyframes copa-spin{to{transform:rotate(360deg)}}
.copa-pause{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#041722bd;backdrop-filter:blur(13px);padding:30px}.copa-pause-box{max-width:350px;width:100%;text-align:center}.copa-pause h2{font-size:35px;color:#f4f8f5;margin:14px 0 9px;letter-spacing:-1px}.copa-pause p{font-size:13px;line-height:1.6;color:#a6c0cc;margin:0 0 21px}.copa-pause .copa-button{width:100%;margin-top:9px}.copa-pause-symbol{border:1px solid #a7f6d144;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:auto;color:#a7f6d1;background:#a7f6d110}
.copa-match-report h1{font-size:32px;line-height:1.08;font-weight:930;letter-spacing:-1px;margin:7px 0 12px!important}.copa-match-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px 0;margin-bottom:12px;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15}.copa-match-stats strong{display:block;font-size:27px;letter-spacing:-.5px;color:#bcffdc}.copa-match-stats small{display:block;color:#94b4c1;font-size:10px;margin-top:3px}.copa-match-report .copa-correction{font-size:12px;margin-bottom:13px!important}.copa-match-report .copa-button{width:100%}.copa-text-button{display:block;padding:12px 8px 2px;margin:0 auto;border:0;background:none;color:#afc3d0;text-decoration:underline;text-underline-offset:4px;font-size:11px;cursor:pointer}
.copa-clock{height:3px;position:absolute;bottom:0;left:0;right:0;background:#ffffff20;z-index:8}.copa-clock>span{display:block;height:100%;background:#a7f6d1;transition:width .12s linear}.copa-time-pill{position:absolute;z-index:5;top:calc(env(safe-area-inset-top,0px) + 125px);right:16px;background:#142d35d6;color:#e5efd2;font-size:10px;font-weight:850;padding:5px 8px;border-radius:6px;font-variant-numeric:tabular-nums}
.copa-loading{position:absolute;inset:0;display:grid;place-items:center;color:#d6ece4;font-size:12px;background:#1d4b44}.copa-no3d{position:absolute;inset:25% 8% 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;font-size:13px;line-height:1.4;color:white;background:#123842d9;padding:18px;border-radius:20px}.copa-no3d svg{width:56px;height:56px}.copa-no3d small{color:#bfd5d9;font-size:11px}
@media(min-width:800px){.copa-topbar{padding-left:28px;padding-right:28px}.copa-brand strong{font-size:13px}.copa-brand small{font-size:10px}.copa-scoreboard{left:28px;right:28px}.copa-sheet{padding-left:30px;padding-right:30px}.copa-question-title{font-size:25px}.copa-choice{font-size:16px;min-height:57px}.copa-intro h1{font-size:45px}.copa-field-label{left:28px}.copa-build{right:28px}}
@media(min-width:760px) and (min-aspect-ratio:11/10){.copa-game{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.84fr);grid-template-rows:1fr}.copa-stage-wrap{min-height:0}.copa-topbar{right:34.4%}.copa-sheet{margin:0;border-radius:0;max-height:100%;height:100%;border-left:1px solid #83b9bb35;border-top:0;display:flex;flex-direction:column;justify-content:center;padding-top:30px;padding-bottom:30px;box-shadow:none}.copa-choices{grid-template-columns:1fr}.copa-start-row{flex-direction:column;align-items:stretch}.copa-timer-toggle{justify-content:center;padding-bottom:10px}.copa-question-title{margin-top:18px!important;margin-bottom:24px!important}.copa-help-line{margin-top:18px}.copa-rules{flex-wrap:wrap}.copa-match-report .copa-sheet{padding-top:30px}.copa-topbar .copa-icon-btn{width:38px}.copa-stage-wrap:after{background:linear-gradient(#04172270,transparent 30%,transparent 85%,#04172280)}.copa-result-buttons{flex-wrap:wrap}.copa-result-buttons .copa-button{flex-basis:100%}.copa-aim-controls{flex-wrap:wrap;gap:8px}.copa-outcome strong{font-size:56px}.copa-brand-mark{width:30px}}
@media(max-height:690px) and (max-width:759px){.copa-sheet{padding:13px 16px max(11px,env(safe-area-inset-bottom,0px));border-radius:19px 19px 0 0;max-height:54%}.copa-topbar{padding-top:calc(env(safe-area-inset-top,0px) + 8px);padding-bottom:8px}.copa-scoreboard{top:calc(env(safe-area-inset-top,0px) + 55px)}.copa-intro h1{font-size:29px;margin:6px 0 8px!important}.copa-intro-text{font-size:12px}.copa-start-row{margin-top:13px}.copa-intro .copa-sheet{padding-top:16px}.copa-question-title{font-size:18px;margin:9px 0 11px!important}.copa-choice{min-height:45px;font-size:13px;padding:8px}.copa-help-line{margin-top:9px;font-size:9px}.copa-rules{margin-top:9px}.copa-aim-title{font-size:21px!important}.copa-aim-controls{margin-top:8px}.copa-time-pill{top:calc(env(safe-area-inset-top,0px) + 105px)}.copa-score-tile{min-height:36px}.copa-score-number{line-height:36px;font-size:23px}.copa-shot-tag{padding:6px 10px}}
@media(max-width:359px){.copa-sheet{padding-left:13px;padding-right:13px}.copa-question-title{font-size:18px}.copa-choice{font-size:12px;padding:9px 8px;gap:6px}.copa-topbar{gap:7px;padding-left:11px;padding-right:11px}.copa-brand strong{font-size:10px;letter-spacing:1.2px}.copa-brand small{font-size:8px;letter-spacing:1px}.copa-icon-btn{width:33px;height:33px}.copa-scoreboard{left:11px;right:11px}.copa-intro h1{font-size:28px}.copa-intro-text{font-size:12px}.copa-rules{gap:10px;font-size:9px}.copa-timer-toggle{font-size:10px}.copa-start-row{gap:8px}.copa-button{font-size:12px}.copa-aim-controls>span{font-size:8px}.copa-aim-button{padding:7px 9px}.copa-round-dots{gap:4px}.copa-round-dots i{width:5px;height:5px}}
@media(prefers-reduced-motion:reduce){.copa-ball-marker>span,.copa-spinner{animation:none!important}.copa-outcome{transition:none}.copa-icon-btn,.copa-button{transition:none}}

.copa-pause .copa-button:focus-visible{outline:3px solid #a7f6d1;outline-offset:4px}

