:root{--sky:#dff7f3;--mint:#63cfae;--mint-dark:#21896f;--ink:#173f3a;--cream:#fffdf5;--sun:#ffd75e;--coral:#ff825f;--coral-dark:#de5d40;--line:#d9eadf;--shadow:0 22px 60px rgba(24,84,70,.14);--font-body:"Arial Rounded MT Bold","PingFang SC","Microsoft YaHei",sans-serif;--font-display:"PingFang SC","Microsoft YaHei",sans-serif}.dialogue-share-shell{min-height:100svh;background:linear-gradient(180deg,#dff9f5,#f8fff1 58%,#bfe995);color:#155a4b;padding:18px 16px 48px;font-family:var(--font-body),"PingFang SC",sans-serif}.dialogue-share-brand{max-width:720px;margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between}.dialogue-share-brand strong{font-size:18px}.dialogue-share-brand a{display:flex;align-items:center;gap:5px;border-radius:999px;background:#fff;color:#16735f;padding:9px 14px;text-decoration:none;font-weight:800;box-shadow:0 5px 14px #1d70501c}.dialogue-share-brand svg{width:15px}.dialogue-share-lead,.dialogue-share-lines,.dialogue-share-work{max-width:720px;margin:0 auto 16px;background:#fffdf7;border:1px solid #cce8df;border-radius:28px;box-shadow:0 12px 30px #285f4620}.dialogue-share-work{padding:22px}.dialogue-share-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.dialogue-share-title span{font-size:14px;color:#668b83}.dialogue-share-title h1{font-size:23px;margin:4px 0 16px;line-height:1.25}.dialogue-share-title p{white-space:nowrap;margin:3px 0;color:#587870;font-size:15px}.dialogue-share-title p b{color:#ff6f54;font-size:36px;margin-left:4px}.dialogue-share-stage{position:relative;overflow:hidden;min-height:270px;border-radius:22px;background:linear-gradient(145deg,#dcf8f3,#f8fff7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px 18px}.dialogue-share-stage-glow{position:absolute;inset:auto auto -90px -40px;width:220px;height:220px;border-radius:50%;background:#aeeacf70}.dialogue-share-stage>svg{width:38px;height:38px;color:#ffc83d}.dialogue-share-stage>small{font-weight:800;color:#4b8275;margin-bottom:10px}.dialogue-share-stage .dialogue-karaoke{font-size:clamp(27px,7vw,44px);line-height:1.25;font-weight:900;position:relative}.dialogue-share-stage>h2{font-size:24px;margin:8px 0}.dialogue-share-stage>p{margin:0 0 18px;color:#63867e}.dialogue-share-stage>button{position:relative;margin-top:22px;border:0;border-radius:999px;background:#ff7258;color:#fff;min-height:54px;padding:0 24px;font-size:18px;font-weight:900;display:flex;align-items:center;gap:8px;box-shadow:0 7px 0 #dd4e37}.dialogue-share-stage>button svg{width:20px}.dialogue-share-error{margin:10px 0 0;text-align:center;color:#c6533f;font-weight:700}.dialogue-share-profile{display:flex;align-items:center;gap:12px;padding:17px 2px 0}.dialogue-share-profile>img{width:54px;height:54px;border-radius:50%;border:3px solid #fff;box-shadow:0 3px 10px #286a5129}.dialogue-share-profile>div{display:flex;flex-direction:column;gap:3px;flex:1 1}.dialogue-share-profile strong{font-size:19px}.dialogue-share-profile span{font-size:13px;color:#79918c}.dialogue-share-profile>button{position:relative;border:1px solid #ffd3c9;background:#fff5f1;color:#e75d48;border-radius:999px;min-width:78px;height:42px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:5px}.dialogue-share-profile>button svg{width:19px;fill:transparent}.dialogue-share-profile>button.liked{background:#ff735a;color:#fff;border-color:#ff735a}.dialogue-share-profile>button.liked svg{fill:#fff}.dialogue-share-profile>button i{position:absolute;opacity:0;top:-10px;font-style:normal;color:#ff6c55}.dialogue-share-profile>button.burst i{animation:dialogue-like-burst .7s ease-out}.dialogue-share-lines{padding:20px}.dialogue-share-lines>h2{font-size:21px;margin:0 0 13px}.dialogue-share-lines article{display:grid;gap:8px;margin-top:12px}.dialogue-share-lines article>div{position:relative;border-radius:16px;background:#e9faf6;padding:13px 52px 13px 14px}.dialogue-share-lines article>div+div{background:#fff4c9}.dialogue-share-lines small{display:block;color:#5e867d;font-weight:800;margin-bottom:5px}.dialogue-share-lines .dialogue-karaoke{font-weight:900;font-size:19px;line-height:1.4}.dialogue-share-lines button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#16836c;display:grid;place-items:center}.dialogue-share-lines button svg{width:18px}.dialogue-share-lead{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:linear-gradient(135deg,#0f806a,#39ad89);color:#fff}.dialogue-share-lead span{font-size:13px;opacity:.85}.dialogue-share-lead h2{font-size:22px;margin:5px 0}.dialogue-share-lead p{font-size:13px;margin:0 0 13px;opacity:.9}.dialogue-share-lead a{display:inline-block;background:#ffdc62;color:#725115;text-decoration:none;font-weight:900;border-radius:999px;padding:8px 16px}.dialogue-share-lead figure{margin:0;text-align:center}.dialogue-share-lead figure img{display:block;width:92px;height:92px;border-radius:10px;background:#fff;padding:5px}.dialogue-share-lead figcaption{font-size:11px;margin-top:5px}.dialogue-share-replay{display:flex;margin:18px auto 0;border:0;background:transparent;color:#166c59;align-items:center;gap:7px;font-weight:800;font-size:16px}.dialogue-share-replay svg{width:19px}@keyframes dialogue-like-burst{0%{opacity:0;transform:translateY(0) scale(.7)}35%{opacity:1}to{opacity:0;transform:translateY(-28px) scale(1.2)}}@media(max-width:480px){.dialogue-share-shell{padding:12px 10px 36px}.dialogue-share-work{padding:17px}.dialogue-share-lead,.dialogue-share-lines,.dialogue-share-work{border-radius:23px}.dialogue-share-title h1{font-size:20px}.dialogue-share-title p b{font-size:31px}.dialogue-share-stage{min-height:242px}.dialogue-share-lead{padding:16px}.dialogue-share-lead h2{font-size:19px}.dialogue-share-lead figure img{width:82px;height:82px}}.dialogue-share-create{background:#178b73!important;box-shadow:0 8px 0 #0e6956!important}.dialogue-share-panel{position:fixed;z-index:80;inset:0;background:#123e34d9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:28px}.dialogue-share-panel>svg{width:58px;height:58px;color:#ffdc62}.dialogue-share-panel h2{font-size:28px;margin:18px 0 8px}.dialogue-share-panel p{max-width:330px;line-height:1.7;margin:0 0 24px}.dialogue-share-panel>a,.dialogue-share-panel>button:not(.dialogue-share-panel-close){width:min(330px,90vw);min-height:56px;border:0;border-radius:18px;background:#ff7258;color:#fff;font-size:18px;font-weight:900;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;margin:6px}.dialogue-share-panel>button.copy{background:#fff;color:#176b5b}.dialogue-share-panel-close{position:absolute;top:max(20px,env(safe-area-inset-top));left:20px;width:46px;height:46px;border:0;border-radius:50%;background:#ffffff24;color:#fff;display:grid;place-items:center}.dialogue-share-arrow{position:absolute;right:26px;top:max(12px,env(safe-area-inset-top));font-size:74px;color:#ffdc62;transform:rotate(-6deg)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);font-family:var(--font-body),"PingFang SC",sans-serif;background:var(--sky)}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{color:inherit}.forest-shell{min-height:100dvh;position:relative;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.9) 0 5%,transparent 5.2%),linear-gradient(180deg,#caeff4,#e7f8ef 62%,#bce4b6)}.forest-decor{position:fixed;inset:0;pointer-events:none;overflow:hidden}.cloud{position:absolute;width:110px;height:28px;border-radius:50px;background:rgba(255,255,255,.75);filter:blur(.2px)}.cloud:after,.cloud:before{content:"";position:absolute;background:inherit;border-radius:50%}.cloud:before{width:42px;height:42px;left:21px;top:-18px}.cloud:after{width:54px;height:54px;right:15px;top:-27px}.c1{left:7%;top:12%;transform:scale(.85)}.c2{right:6%;top:20%;transform:scale(.62);opacity:.8}.leaf{position:absolute;font-size:28px;animation:floatLeaf 7s ease-in-out infinite}.l1{left:5%;top:34%}.l2{right:8%;top:12%;animation-delay:-2s}.tree{position:absolute;bottom:7%;font-size:clamp(70px,10vw,140px);filter:saturate(.8)}.t1{left:-1.5%;transform:rotate(-4deg)}.t2{right:-1%;transform:rotate(4deg)}.hill{position:absolute;border-radius:50% 50% 0 0;bottom:-14%;height:31%;width:65%;background:#90cf8d}.h1{left:-15%;transform:rotate(4deg)}.h2{right:-20%;background:#79bd77;transform:rotate(-5deg)}@keyframes floatLeaf{50%{transform:translateY(18px) rotate(25deg)}}.portal-shell{position:relative;min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 50% -5%,rgba(255,255,255,.9),transparent 34%),linear-gradient(180deg,#c8f2f5,#eafaf3 69%,#b9e69d)}.portal-sky{position:fixed;inset:0;overflow:hidden;pointer-events:none}.portal-cloud{position:absolute;width:122px;height:34px;border-radius:999px;background:rgba(255,255,255,.78);filter:blur(.2px)}.portal-cloud:after,.portal-cloud:before{content:"";position:absolute;border-radius:50%;background:inherit}.portal-cloud:before{width:51px;height:51px;left:20px;top:-23px}.portal-cloud:after{width:67px;height:67px;right:13px;top:-36px}.pc-one{top:13%;left:-32px;transform:scale(.84)}.pc-two{top:18%;right:-28px;transform:scale(.62);opacity:.68}.portal-hill{position:absolute;bottom:-13%;width:76%;height:28%;border-radius:50% 50% 0 0}.ph-one{left:-23%;background:#8dd17d;transform:rotate(5deg)}.ph-two{right:-25%;background:#70bd70;transform:rotate(-5deg)}.portal-sprig{position:absolute;width:100px;height:70px;opacity:.55}.portal-sprig i{position:absolute;width:36px;height:18px;border-radius:100% 0 100% 0;background:#55a96c;transform-origin:0 100%}.portal-sprig i:nth-child(2){left:28px;top:16px;transform:rotate(46deg)}.portal-sprig i:nth-child(3){left:50px;top:38px;transform:rotate(84deg)}.ps-one{left:-12px;top:2%;transform:rotate(8deg)}.ps-two{right:-24px;top:39%;transform:rotate(198deg)}.portal-page{position:relative;z-index:1;width:min(660px,calc(100% - 28px));margin:0 auto;padding:max(36px,env(safe-area-inset-top)) 0 max(34px,env(safe-area-inset-bottom))}.portal-header{text-align:center;animation:portalReveal .55s ease-out both}.portal-avatar{position:relative;width:92px;height:92px;margin:0 auto 13px;padding:4px;border-radius:50%;background:white;box-shadow:0 13px 35px rgba(30,116,97,.19)}.portal-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.portal-avatar svg{position:absolute;width:24px;height:24px;right:-4px;top:1px;color:#ffd451;fill:currentColor;filter:drop-shadow(0 3px 2px rgba(135,97,0,.18));transform:rotate(12deg)}.portal-brand{display:inline-flex;margin:0;padding:7px 20px;border:2px solid #57af76;border-radius:999px;color:#17664f;background:rgba(255,253,245,.94);box-shadow:0 5px 0 rgba(62,144,92,.12);font-weight:900;font-size:16px;letter-spacing:.04em}.portal-header h1{margin:22px auto 24px;color:#13584d;font-family:var(--font-body),"PingFang SC",sans-serif;font-size:clamp(27px,5vw,38px);line-height:1.28;font-weight:900;letter-spacing:-.035em}.portal-cards{display:grid;gap:20px}.portal-card{position:relative;min-height:292px;overflow:hidden;padding:31px 31px 88px;border:3px solid rgba(255,255,255,.9);border-radius:34px;box-shadow:0 18px 42px rgba(34,108,87,.14);animation:portalReveal .58s ease-out both}.portal-card:after{content:"";position:absolute;width:230px;height:230px;right:-92px;top:-90px;border-radius:50%;background:rgba(255,255,255,.28)}.daily-card{background:linear-gradient(140deg,#fffdf1,#fff5dc);border-color:#f7d27d;animation-delay:.08s}.test-card{min-height:270px;background:linear-gradient(140deg,#f3fffb,#e5f9fb);border-color:#8adfd4;animation-delay:.16s}.portal-card-copy{position:relative;z-index:2;width:63%}.portal-kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:#ff8767;color:white;font-size:12px;line-height:1;font-weight:900;letter-spacing:.06em}.test-card .portal-kicker{color:#13776d;background:#c8f3eb}.portal-card h2{margin:14px 0 8px;color:#17574c;font-size:clamp(27px,5.3vw,36px);line-height:1.15;font-weight:900;letter-spacing:-.035em}.daily-card h2{color:#f06442}.portal-card p{margin:0;color:#5a746d;font-size:15px;line-height:1.6;font-weight:800}.portal-action{position:absolute;z-index:4;left:28px;right:28px;bottom:24px;min-height:56px;border:0;border-radius:19px;color:white;display:flex;justify-content:center;align-items:center;gap:7px;font-weight:900;font-size:18px;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.portal-action svg{width:20px}.portal-action.coral{background:#ff7656;box-shadow:0 7px 0 #db5438,0 12px 22px rgba(235,91,57,.2)}.portal-action.mint{background:#31bda4;box-shadow:0 7px 0 #168e7b,0 12px 22px rgba(33,153,132,.2)}.portal-action:hover{transform:translateY(-2px)}.portal-action:active{transform:translateY(5px);box-shadow:0 2px 0 rgba(19,93,78,.65)}.portal-action:focus-visible{outline:4px solid rgba(255,210,84,.8);outline-offset:4px}.daily-illustration,.test-illustration{position:absolute;z-index:2;right:23px;top:50px;width:170px;height:145px}.sun-buddy{position:absolute;right:44px;top:-12px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;color:#f0a300;background:#ffd954;box-shadow:0 8px 16px rgba(220,152,0,.2)}.sun-buddy svg{width:40px;height:40px;stroke-width:2.7}.calendar-sheet{position:absolute;right:3px;bottom:0;width:112px;height:96px;border:4px solid #ff9b62;border-radius:16px;background:#fffdfa;color:#ff8157;box-shadow:0 10px 19px rgba(137,84,42,.16);transform:rotate(4deg)}.calendar-sheet svg{width:100%;height:100%;padding:15px;stroke-width:1.7}.calendar-sheet i{position:absolute;left:41px;top:48px;width:32px;height:17px;border-left:6px solid #ff7656;border-bottom:6px solid #ff7656;transform:rotate(-45deg)}.daily-illustration b{position:absolute;right:-4px;top:46px;padding:8px 11px;border:3px solid white;border-radius:50%;background:#ff7656;color:white;font-size:13px;box-shadow:0 5px 12px rgba(187,71,44,.2)}.test-illustration{right:22px;top:36px}.test-illustration>svg:first-child{position:absolute;right:14px;top:0;width:105px;height:105px;color:#2b8dd6;stroke-width:2.6;filter:drop-shadow(0 9px 9px rgba(30,118,145,.16));transform:rotate(5deg)}.letter-chip{position:absolute;bottom:1px;width:54px;height:58px;border:3px solid rgba(255,255,255,.92);border-radius:14px;display:grid;place-items:center;font-size:36px;line-height:1;font-weight:900;box-shadow:0 8px 14px rgba(46,100,89,.13)}.letter-chip.a{left:18px;color:#348e54;background:#cdf1cf;transform:rotate(-8deg)}.letter-chip.b{left:65px;color:#2676c5;background:#d9edff;z-index:2;transform:rotate(4deg)}.letter-chip.c{right:0;color:#e27620;background:#fff0c9;transform:rotate(10deg)}.test-star{position:absolute;width:25px;height:25px;color:#ffc93e;fill:currentColor}.test-star.one{left:2px;bottom:10px;transform:rotate(-15deg)}.test-star.two{right:13px;top:93px;width:18px}.portal-note{margin:21px 0 7px;display:flex;justify-content:center;align-items:center;gap:7px;color:#316f5f;font-size:13px;font-weight:900}.portal-note svg{width:16px;height:16px}.portal-note svg:last-child{transform:scaleX(-1)}.portal-teacher-entry{display:block;width:fit-content;margin:0 auto;padding:8px;color:#5f8077;font-size:12px}.practice-notice{position:fixed;z-index:20;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(430px,calc(100% - 32px));padding:14px 17px;border:2px solid #8fd9c0;border-radius:20px;display:flex;align-items:center;gap:12px;color:#176752;background:rgba(248,255,251,.96);box-shadow:0 18px 45px rgba(27,99,79,.22);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:noticeRise .35s cubic-bezier(.2,1.4,.4,1)}.practice-notice>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#a77500;background:#fff1ad}.practice-notice svg{width:22px}.practice-notice div{display:grid;gap:2px}.practice-notice strong{font-size:14px}.practice-notice small{color:#678078;font-size:11px}.portal-back{position:absolute;top:20px;left:22px;border:0;background:transparent;color:#688179;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:800;cursor:pointer}.portal-back svg{width:16px}@keyframes portalReveal{0%{opacity:0;transform:translateY(16px)}}@keyframes noticeRise{0%{opacity:0;transform:translate(-50%,22px) scale(.94)}}.reading-lab-shell{--lab-ink:#174a42;--lab-mint:#36bfa3;--lab-coral:#ff795c;position:relative;min-height:100dvh;overflow:hidden;display:grid;place-items:center;padding:max(22px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.92) 0 4%,transparent 4.2%),radial-gradient(circle at 85% 22%,rgba(255,244,181,.7) 0 7%,transparent 7.2%),linear-gradient(155deg,#c9f2ed,#eaf9f2 56%,#b7e3aa)}.reading-lab-shell:after,.reading-lab-shell:before{content:"";position:fixed;pointer-events:none;bottom:-18%;width:72%;height:38%;border-radius:50% 50% 0 0;background:#83ca79}.reading-lab-shell:before{left:-24%;transform:rotate(8deg)}.reading-lab-shell:after{right:-27%;background:#65b76b;transform:rotate(-7deg)}.reading-lab-orbit{position:fixed;pointer-events:none;width:210px;height:210px;border:2px dashed rgba(37,131,111,.15);border-radius:50%}.reading-lab-orbit:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#ffd558;box-shadow:0 4px 10px rgba(173,123,0,.18)}.reading-lab-orbit.orbit-one{top:-72px;right:-38px;animation:labOrbit 18s linear infinite}.reading-lab-orbit.orbit-one:after{left:20px;bottom:23px}.reading-lab-orbit.orbit-two{bottom:2%;left:-120px;width:270px;height:270px;animation:labOrbit 23s linear infinite reverse}.reading-lab-orbit.orbit-two:after{right:2px;top:94px;background:#ff876a}@keyframes labOrbit{to{transform:rotate(1turn)}}.reading-lab-card{position:relative;z-index:2;width:min(540px,100%);min-height:min(780px,calc(100dvh - 44px));padding:27px 30px 24px;border:3px solid rgba(255,255,255,.88);border-radius:38px;color:var(--lab-ink);background:rgba(255,253,246,.96);box-shadow:0 25px 70px rgba(28,91,76,.19);animation:portalReveal .45s ease-out both}.reading-lab-header{position:relative;min-height:56px;display:grid;place-items:center;gap:5px;text-align:center}.reading-lab-back{position:absolute;left:0;top:3px;width:46px;height:46px;display:grid;place-items:center;border:2px solid #dcebe5;border-radius:17px;color:#4b766c;background:white;box-shadow:0 7px 15px rgba(37,93,79,.08)}.reading-lab-back svg{width:22px}.reading-lab-mark{display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;font-weight:900}.reading-lab-mark svg{width:25px;color:var(--lab-mint);stroke-width:2.8}.reading-lab-device{display:flex;align-items:center;gap:4px;color:#6d8c84;font-size:11px;font-weight:800}.reading-lab-device svg{width:13px}.reading-lab-progress{margin:22px 4px 0;display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.reading-lab-progress i{height:7px;border-radius:999px;background:#dcebe5;transition:background .25s,transform .25s}.reading-lab-progress i.done{background:#8ddac4}.reading-lab-progress i.active{background:var(--lab-coral);transform:scaleY(1.35)}.reading-lab-word-zone{padding:35px 0 15px;text-align:center}.reading-lab-eyebrow{color:#6c8981;font-size:14px;font-weight:900;letter-spacing:.06em}.reading-lab-word-zone h1{margin:8px 0 14px;color:#123f38;font-size:clamp(52px,13vw,76px);line-height:1.02;font-weight:900;letter-spacing:-.045em;text-transform:lowercase}.reading-reference-button{min-height:44px;padding:0 17px;border:0;border-radius:15px;display:inline-flex;align-items:center;gap:8px;color:#217765;background:#e7f6f0;font-size:14px;font-weight:900;cursor:pointer}.reading-reference-button svg{width:19px}.reading-reference-button:disabled{opacity:.5;cursor:default}.reading-recorder{position:relative;width:150px;height:150px;margin:6px auto 12px;display:grid;place-items:center}.reading-ripple{position:absolute;inset:10px;border:3px solid rgba(55,191,164,.16);border-radius:50%}.reading-ripple.ripple-b{inset:0;border-width:2px;opacity:.65}.reading-recorder.recording .reading-ripple{animation:readingPulse 1.4s ease-out infinite;border-color:rgba(255,121,92,.35)}.reading-recorder.recording .ripple-b{animation-delay:.45s}@keyframes readingPulse{70%,to{transform:scale(1.18);opacity:0}}.reading-mic-button{position:relative;z-index:3;width:108px;height:108px;border:0;border-radius:50%;display:grid;place-items:center;color:white;background:linear-gradient(155deg,#ff8f70,#ff6f55);box-shadow:0 13px 0 #dc553f,0 20px 35px rgba(217,80,54,.26);cursor:pointer;transition:transform .15s,box-shadow .15s}.reading-mic-button:active:not(:disabled){transform:translateY(7px);box-shadow:0 6px 0 #dc553f,0 13px 25px rgba(217,80,54,.2)}.reading-mic-button:disabled{cursor:default;background:#91cabd;box-shadow:0 8px 0 #69a99a}.reading-mic-button svg{width:45px;height:45px;stroke-width:2.4}.reading-stop-square{width:29px;height:29px;border-radius:7px;background:white}.reading-countdown{position:absolute;z-index:4;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.reading-countdown circle{fill:none;stroke:#ff7657;stroke-width:4;stroke-linecap:round;stroke-dasharray:1;transition:stroke-dashoffset .08s linear}.reading-lab-status{min-height:76px;margin:10px 0 14px;padding:13px 15px;border:2px solid #d8eae4;border-radius:20px;display:flex;align-items:center;gap:12px;background:#f3faf7}.reading-lab-status>svg{flex:0 0 auto;width:28px;color:#48af98}.reading-lab-status div{min-width:0;display:grid;gap:4px}.reading-lab-status strong{font-size:14px;line-height:1.35}.reading-lab-status small{color:#779088;font-size:10px;line-height:1.35}.reading-lab-status.is-error{border-color:#ffd5a8;background:#fff7e8}.reading-lab-status.is-error>svg{color:#e99833}.reading-lab-status.is-good{border-color:#9fdec9;background:#eaf9f2}.reading-score-panel{margin:2px 0 15px;padding:16px 20px;border-radius:22px;display:grid;grid-template-columns:1fr auto;align-items:center;color:#316b5d;background:linear-gradient(135deg,#fff3c8,#fff9e5);box-shadow:inset 0 0 0 2px rgba(243,198,81,.2)}.reading-score-panel>span{font-size:13px;font-weight:900}.reading-score-panel strong{color:#ef764d;font-size:38px;line-height:1}.reading-score-panel strong small{margin-left:3px;font-size:13px}.reading-score-panel p{grid-column:1/-1;margin:7px 0 0;color:#8a7b56;font-size:10px;font-weight:800}.reading-lab-actions button,.reading-lab-primary{min-height:52px;border:0;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:7px;color:#207563;background:#dff4ed;font-size:15px;font-weight:900;text-decoration:none;cursor:pointer}.reading-lab-primary{width:100%;color:white;background:var(--lab-coral)}.reading-lab-actions svg,.reading-lab-primary svg{width:18px}.reading-lab-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}.reading-lab-actions button.primary{color:white;background:var(--lab-mint)}.reading-lab-footer{margin-top:17px;display:flex;justify-content:center;gap:18px;color:#759088;font-size:10px;font-weight:800}.spin{animation:readingSpin .8s linear infinite}@keyframes readingSpin{to{transform:rotate(1turn)}}@media (max-width:560px){.reading-lab-shell{padding-left:10px;padding-right:10px;place-items:start center}.reading-lab-card{min-height:calc(100dvh - max(20px, env(safe-area-inset-top)));padding:22px 20px 20px;border-radius:31px}.reading-lab-word-zone{padding-top:28px}.reading-recorder{margin-top:1px}}@media (max-height:740px){.reading-lab-word-zone{padding:20px 0 8px}.reading-lab-word-zone h1{font-size:52px}.reading-recorder{width:132px;height:132px;margin-bottom:4px}.reading-mic-button{width:94px;height:94px}.reading-lab-status{min-height:68px;margin-top:4px}}.practice-shell{position:relative;min-height:100dvh;overflow-x:hidden;display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) 18px max(30px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 0,#fafff4 0 7%,transparent 34%),linear-gradient(180deg,#cef2f2,#ebfaef 66%,#bce5a4)}.practice-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none}.practice-cloud{position:absolute;width:120px;height:31px;border-radius:999px;background:rgba(255,255,255,.68)}.practice-cloud:after,.practice-cloud:before{content:"";position:absolute;border-radius:50%;background:inherit}.practice-cloud:before{width:48px;height:48px;left:17px;top:-23px}.practice-cloud:after{width:62px;height:62px;right:12px;top:-34px}.practice-cloud.one{left:-32px;top:15%}.practice-cloud.two{right:-37px;top:24%;transform:scale(.7)}.practice-hill{position:absolute;bottom:-15%;width:78%;height:31%;border-radius:50% 50% 0 0}.practice-hill.one{left:-25%;background:#91d382;transform:rotate(5deg)}.practice-hill.two{right:-27%;background:#70bc72;transform:rotate(-5deg)}.practice-intro,.practice-result{position:relative;z-index:1;width:min(560px,100%);padding:42px;border:3px solid rgba(255,255,255,.9);border-radius:36px;background:rgba(255,253,244,.96);box-shadow:0 24px 65px rgba(30,91,76,.16);text-align:center;animation:portalReveal .5s ease-out both}.practice-back{position:absolute;left:24px;top:22px;display:flex;align-items:center;gap:4px;color:#648078;text-decoration:none;font-size:12px;font-weight:800}.practice-back svg{width:17px}.practice-back-button{border:0;background:transparent;cursor:pointer;font-family:inherit}.practice-intro-back{position:static;width:fit-content;min-height:43px;padding:0 14px 0 10px;border:2px solid #cfe7df;border-radius:14px;gap:7px;color:#2c7566;background:#f2faf6;box-shadow:0 4px 0 #dcece6;font-size:15px;font-weight:900;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s ease,background .16s ease}.practice-intro-back svg{width:21px;height:21px}.practice-intro-back:hover{background:#e7f7f0}.practice-intro-back:active{transform:translateY(3px);box-shadow:0 1px 0 #dcece6}.lesson-select-shell{align-items:flex-start;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:35px;overflow-y:auto}.lesson-select{position:relative;z-index:1;width:min(650px,100%);padding:42px 34px 34px;border:3px solid rgba(255,255,255,.88);border-radius:34px;text-align:center;background:rgba(255,253,246,.96);box-shadow:0 22px 55px rgba(30,91,76,.15)}.lesson-select-mark{position:relative;width:76px;height:76px;margin:3px auto 17px;border-radius:25px;display:grid;place-items:center;color:#217b67;background:#d9f6eb;box-shadow:0 8px 0 #b9e6d8;transform:rotate(-3deg)}.lesson-select-mark>svg:first-child{width:39px;height:39px}.lesson-select-mark>svg:last-child{position:absolute;right:-8px;top:-8px;width:27px;color:#ffd34f;fill:currentColor;transform:rotate(14deg)}.lesson-select h1{margin:0;color:#155b4d;font-size:clamp(31px,6vw,43px);line-height:1.2;letter-spacing:-.04em}.lesson-select-copy{margin:12px auto 22px;color:#647d75;font-size:13px;line-height:1.65;font-weight:700}.practice-level-switch{width:fit-content;margin:0 auto 19px;padding:4px;display:grid;grid-template-columns:repeat(2,minmax(82px,1fr));gap:4px;border:1px solid #cfe4dc;border-radius:14px;background:#eef7f3}.practice-level-switch button{min-height:38px;padding:7px 19px;border:0;border-radius:10px;color:#5f7a71;background:transparent;font-family:inherit;font-size:14px;font-weight:850;line-height:1;cursor:pointer}.practice-level-switch button.active{color:#fff;background:#27856f;box-shadow:0 4px 9px rgba(39,133,111,.2)}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.lesson-card{min-height:95px;padding:13px 12px;border:solid #dcebe4;border-width:2px 2px 5px;border-radius:20px;display:grid;grid-template-columns:39px 1fr 22px;align-items:center;gap:9px;text-align:left;color:#245c50;background:#fff;box-shadow:0 7px 15px rgba(42,91,77,.055);cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,box-shadow .18s ease}.lesson-card:hover{transform:translateY(-3px);border-color:#8bd5bf;box-shadow:0 11px 22px rgba(42,91,77,.1)}.lesson-card:active{transform:translateY(1px) scale(.99)}.lesson-card:nth-child(3n+2) .lesson-number{color:#b06e12;background:#fff0bd}.lesson-card:nth-child(3n) .lesson-number{color:#c9583d;background:#ffe2d8}.lesson-number{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#1f8069;background:#dff5ed;font-size:16px;font-weight:950}.lesson-card-copy{min-width:0;display:flex;align-items:center}.lesson-card-copy strong{min-width:0;font-size:16px;line-height:1.2}.lesson-card-copy b,.lesson-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-card-copy b{color:#367568;font-size:12px;font-weight:850;line-height:1.35}.lesson-card-copy small{color:#81958e;font-size:9px;font-weight:700}.lesson-card>svg{width:19px;color:#88a69e}.lesson-card-with-modes{min-height:132px;grid-template-columns:39px 1fr;grid-template-rows:auto auto;cursor:default}.lesson-card-with-modes:hover{transform:none}.lesson-card-with-modes .lesson-number{grid-row:1/3}.lesson-mode-actions{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:8px}.lesson-mode-actions a,.lesson-mode-actions button{min-height:42px;padding:8px 10px;border:1.5px solid #bfe6da;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:5px;background:#eefaf6;color:#176b59;font:inherit;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer}.lesson-mode-actions a.lesson-mode-word-match{border-color:#edd47f;background:#fff8d9;color:#94650b;box-shadow:inset 0 -2px 0 rgba(213,174,51,.13)}.lesson-mode-actions a.lesson-mode-dialogue-choice{border-color:#d7c9eb;background:#f5f0ff;color:#705991;box-shadow:inset 0 -2px 0 rgba(122,92,157,.1)}.lesson-mode-actions a.lesson-mode-dialogue-speaking{border-color:#b8dce8;background:#eaf7fc;color:#31758b;box-shadow:inset 0 -2px 0 rgba(52,126,150,.1)}.lesson-mode-actions a:hover{filter:saturate(1.08) brightness(.99)}.lesson-mode-actions svg{width:15px;height:15px}.activity-shell{min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));position:relative;overflow-x:hidden;display:grid;place-items:center;color:#175f51;background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.82) 0 10%,transparent 11%),linear-gradient(180deg,#d8faf4,#f2ffe9 62%,#91d277)}.activity-shell:after,.activity-shell:before{content:"";position:fixed;z-index:0;bottom:-14vw;width:74vw;height:38vw;border-radius:50% 50% 0 0;background:#88d079}.activity-shell:before{left:-18vw}.activity-shell:after{right:-22vw;background:#5db76c}.activity-card,.activity-game{width:min(100%,760px);position:relative;z-index:1;border:1px solid rgba(198,226,216,.8);border-radius:32px;background:rgba(255,254,247,.96);box-shadow:0 18px 45px rgba(27,94,78,.12)}.activity-loading{align-content:center;gap:10px;font-size:18px;font-weight:900}.activity-loading>svg{width:34px;animation:spin 1s linear infinite}.activity-intro{padding:25px;text-align:center}.activity-back{min-height:48px;padding:0 17px;border:2px solid #cfe8df;border-radius:16px;display:flex;align-items:center;gap:7px;color:#277566;background:#f4fcf8;font:inherit;font-weight:900}.activity-intro>h1{max-width:620px;margin:18px auto 0;font-size:clamp(29px,7vw,44px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.activity-intro>small{display:block;margin-top:9px;color:#4d8a7d;font-size:15px;font-weight:900}.activity-primary{width:100%;min-height:64px;margin-top:18px;border:0;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:9px;color:white;background:#ff7358;box-shadow:0 8px 0 #db4931,0 13px 25px rgba(225,80,53,.17);font:inherit;font-size:20px;font-weight:950;cursor:pointer}.activity-primary:active{transform:translateY(4px);box-shadow:0 4px 0 #db4931}.activity-primary svg{width:22px}.activity-primary.activity-secondary{color:#256f61;background:#e9f8f2;box-shadow:0 7px 0 #bfdfd4}.activity-leaderboard{margin:22px 0 4px;padding:16px;border:2px solid #d5ebe4;border-radius:22px;text-align:left;background:linear-gradient(145deg,#fffdf3,#f6fcfa)}.activity-leaderboard header{display:flex;align-items:center;justify-content:center;padding:0 3px 11px;text-align:center}.activity-leaderboard header strong{display:flex;align-items:center;justify-content:center;gap:7px;font-size:17px}.activity-leaderboard header svg{color:#e7ad16}.activity-leaderboard>div{display:grid;gap:6px}.activity-leaderboard p{min-height:39px;margin:0;padding:7px 10px;border-radius:12px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;background:#eef7f4}.activity-leaderboard p:first-child{background:#fff3be}.activity-leaderboard p.current{outline:2px solid #57bda5}.activity-leaderboard p>b{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.7)}.activity-leaderboard p span{font-weight:850}.activity-leaderboard p em{margin-left:6px;padding:2px 6px;border-radius:9px;color:white;background:#42a78f;font-size:10px;font-style:normal}.activity-leaderboard .activity-rank-rule{display:block;margin:-4px 3px 10px;color:#8a7760;font-size:11px;font-weight:750;text-align:center}.activity-game{align-self:start;min-height:calc(100dvh - 36px);padding:20px}.activity-game>header{display:grid;grid-template-columns:48px 1fr 55px;align-items:center;text-align:center}.activity-game>header>button{width:48px;height:48px;border:0;border-radius:16px;color:#287969;background:#f0faf6}.activity-game>header div{display:grid}.activity-game>header strong{font-size:22px}.activity-game>header small{color:#6d8981;font-size:12px}.activity-game>header>b{font-size:24px}.activity-game>header>b small{font-size:12px;color:#758c86}.activity-timer{width:72%;height:8px;margin:28px auto 10px;overflow:hidden;border-radius:99px;background:#dbeae6}.activity-timer i{display:block;width:100%;height:100%;transform-origin:left;border-radius:inherit;background:linear-gradient(90deg,#4ec5ac,#ffb94f,#ff7258);transition:transform .05s linear}.activity-combo{height:28px;display:flex;justify-content:center;align-items:center;gap:5px;opacity:0;color:#e67d19;font-weight:1000;transform:scale(.8)}.activity-combo.show{opacity:1;transform:scale(1);animation:combo-pop .3s ease}.match-board{margin-top:18px;display:grid;gap:30px}.match-target{min-height:145px;border:3px solid #a8ded0;border-radius:28px;display:grid;place-items:center;align-content:center;gap:8px;color:#176c59;background:linear-gradient(145deg,#e8fbf5,#fff);box-shadow:0 8px 0 #c6e5dc;font:inherit}.match-target strong{font-size:clamp(42px,11vw,72px)}.match-target svg{width:54px;height:54px}.match-target span{font-size:16px;font-weight:850}.match-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.match-options button{min-height:94px;padding:14px;border:solid #d8e8e2;border-width:2px 2px 6px;border-radius:21px;color:#285f54;background:#fff;font:inherit;font-size:20px;font-weight:900}.match-board.wrong .match-options{animation:gentle-shake .3s ease}.match-board.right{animation:match-clear .38s ease}.pair-board{grid-template-columns:1fr 1fr;gap:13px;align-items:stretch}.pair-board>p{grid-column:1/3;margin:0 0 4px;text-align:center;color:#708b83;font-weight:850}.match-pairs{display:grid;gap:12px}.match-pairs button{min-height:88px;padding:10px;border:solid #d6e8e2;border-width:2px 2px 6px;border-radius:19px;color:#236356;background:#fff;font:inherit;font-size:clamp(18px,4.8vw,26px);font-weight:950;line-height:1.1;transition:transform .14s cubic-bezier(.16,1,.3,1),background .14s ease,color .14s ease,border-color .14s ease}.match-pairs.left button{border-color:#a9ded0;background:#eefbf7}.match-pairs button:active{transform:translateY(2px) scale(.98)}.match-pairs button.active{color:#fff;border-color:#27947d;background:#42b99f;transform:translateY(3px);box-shadow:0 0 0 4px rgba(66,185,159,.14)}.match-pairs button svg{width:30px;height:30px}.match-pairs button small{display:block;margin-top:3px;font-size:10px}.pair-board.wrong{animation:gentle-shake .3s ease}.pair-board.right button.active{animation:match-clear .38s ease}.match-pairs button.solved,.match-pairs button.solved:disabled{position:relative;color:#8aa099;border-color:#d8e3df;background:#e9efec;box-shadow:none;opacity:.72;transform:none;cursor:default}.match-pairs button.solved svg{position:absolute;top:7px;right:7px;width:16px;height:16px;padding:2px;border-radius:50%;color:#fff;background:#86b5a8;stroke-width:3}.choice-board{margin-top:26px;display:grid;gap:24px}.choice-prompt{padding:22px;border-radius:24px;display:grid;gap:10px;background:#e7f8f4}.choice-prompt span{color:#4b887b;font-weight:900}.choice-prompt strong{font-size:clamp(25px,6vw,38px);line-height:1.25}.choice-prompt button{width:max-content;min-height:42px;padding:8px 14px;border:0;border-radius:13px;display:flex;align-items:center;gap:6px;color:#257765;background:#fff;font:inherit;font-weight:900}.choice-board>p{margin:0;text-align:center;color:#607c74;font-weight:850}.choice-options{display:grid;gap:14px}.choice-options button{min-height:86px;padding:18px;border:solid #d7e8e2;border-width:2px 2px 6px;border-radius:22px;color:#205f51;background:#fff;font:inherit;font-size:clamp(19px,4.5vw,26px);line-height:1.3;font-weight:900}.choice-board.wrong .choice-options{animation:gentle-shake .3s ease}.choice-board.right{animation:match-clear .38s ease}.choice-try{text-align:center;color:#c66c34;font-weight:900}.activity-result{padding:28px 24px;text-align:center}.activity-medal{width:82px;height:82px;margin:auto;border-radius:26px;display:grid;place-items:center;color:#ca9011;background:#fff0a9;box-shadow:0 8px 0 #f2d05b}.activity-medal svg{width:43px;height:43px}.activity-result>p{margin:20px 0 0;font-weight:900}.activity-result>h1{margin:3px;color:#ff684c;font-size:72px;line-height:1}.activity-result>h1 small{font-size:20px}.activity-result>h2{font-size:24px}.activity-rank{margin:18px 0;padding:15px;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:7px;color:#835e0b;background:#fff1b7;font-weight:950}.activity-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.activity-result-stats span{min-height:78px;padding:10px;border-radius:16px;display:grid;place-items:center;background:#edf8f4;color:#607d75;font-size:12px;font-weight:800}.activity-result-stats b{display:block;color:#19715e;font-size:22px}.activity-error{margin-top:12px;padding:10px;border-radius:12px;color:#9a4e32;background:#fff0e9;font-weight:800}@keyframes combo-pop{50%{transform:scale(1.2) rotate(-2deg)}}@keyframes gentle-shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes match-clear{70%{transform:scale(.96);opacity:.72}}@media (max-width:520px){.activity-shell{padding:0}.activity-card,.activity-game{border-radius:0;min-height:100dvh}.activity-intro{padding:20px 17px}.activity-game{padding:16px}.activity-game>header strong{font-size:19px}.match-options button{min-height:82px}.activity-result-stats{grid-template-columns:1fr 1fr}.activity-result-stats span:last-child{grid-column:1/3}.lesson-card-with-modes{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.activity-shell *{animation:none!important;transition:none!important}}.dialogue-shell{min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));position:relative;overflow-x:hidden;display:grid;place-items:center;background:linear-gradient(180deg,#d9f8f4,#efffe9 58%,#bde695);color:#185c50}.dialogue-shell:after,.dialogue-shell:before{content:"";position:fixed;z-index:0;bottom:-10vw;width:72vw;height:34vw;border-radius:50% 50% 0 0;background:#86d178}.dialogue-shell:before{left:-18vw}.dialogue-shell:after{right:-20vw;background:#5cb66b}.dialogue-cloud{position:fixed;z-index:0;width:160px;height:48px;border-radius:50px;background:rgba(255,255,255,.65);filter:blur(.2px)}.dialogue-cloud:after,.dialogue-cloud:before{content:"";position:absolute;bottom:8px;border-radius:50%;background:inherit}.dialogue-cloud:before{width:70px;height:70px;left:25px}.dialogue-cloud:after{width:54px;height:54px;right:22px}.cloud-one{top:12%;left:-48px}.cloud-two{top:26%;right:-70px;transform:scale(.75)}.dialogue-loading{gap:10px;align-content:center;font-weight:900;font-size:18px}.dialogue-loading svg{width:38px;height:38px}.dialogue-loading button{border:0;border-radius:15px;padding:12px 20px;color:white;background:#ff7458;font-weight:900}.dialogue-intro-card,.dialogue-result-card{width:min(100%,520px);position:relative;z-index:1;padding:24px 22px 22px;border:1px solid rgba(72,151,132,.18);border-radius:30px;background:rgba(255,254,247,.96);box-shadow:0 22px 55px rgba(30,100,80,.15);text-align:center}.dialogue-back{position:absolute;top:20px;left:18px;border:0;padding:8px 10px;display:flex;align-items:center;gap:5px;color:#267566;background:transparent;font:inherit;font-weight:900;cursor:pointer}.dialogue-back svg{width:20px}.dialogue-intro-icon{width:82px;height:82px;margin:10px auto 12px;position:relative;border-radius:27px;display:grid;place-items:center;background:#c8f2e6;box-shadow:0 9px 0 #a3dfce}.dialogue-intro-icon>svg:first-child{width:42px;height:42px}.dialogue-intro-icon>svg:last-child{width:24px;position:absolute;top:-8px;right:-5px;color:#ffbc2f;fill:#ffd354}.dialogue-intro-card h1{max-width:430px;margin:21px auto 0;font-size:clamp(29px,8vw,44px);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.dialogue-subtitle{margin:9px 0 17px;display:block;color:#4d8a7d;font-size:15px;font-weight:900}.dialogue-leaderboard{margin:15px 0 18px;padding:13px;border:2px solid #d9ece6;border-radius:21px;background:#fbfffd;text-align:left}.dialogue-leaderboard header{padding:0 4px 9px;display:flex;align-items:center;justify-content:center;text-align:center}.dialogue-leaderboard header strong{display:flex;align-items:center;justify-content:center;gap:6px;font-size:16px}.dialogue-leaderboard header svg{width:20px;color:#d99c10}.dialogue-leaderboard>div{display:grid;gap:5px}.dialogue-leaderboard p{margin:0;min-height:38px;padding:5px 9px;border-radius:11px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;background:#f1f8f5;font-size:13px}.dialogue-leaderboard p:first-child{background:#fff2bd}.dialogue-leaderboard p.current{outline:2px solid #62cdb0}.dialogue-leaderboard p>b{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;background:white}.dialogue-leaderboard p span{font-weight:850}.dialogue-leaderboard p span small{margin-left:5px;padding:2px 5px;border-radius:6px;color:white;background:#45b99b}.dialogue-leaderboard p>strong{color:#ed684a}.dialogue-primary{width:100%;min-height:56px;border:0;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:8px;color:white;background:#ff7458;box-shadow:0 7px 0 #dc4f35,0 14px 25px rgba(223,81,55,.18);font:inherit;font-size:18px;font-weight:950;cursor:pointer}.dialogue-primary:active{transform:translateY(4px);box-shadow:0 3px 0 #dc4f35}.dialogue-primary svg{width:20px}.dialogue-primary .lucide-loader-circle,.dialogue-primary svg[class*=loader]{animation:spin 1s linear infinite}.dialogue-secondary{margin-top:16px;background:#4bb99d;box-shadow:0 7px 0 #27846f,0 14px 25px rgba(39,132,111,.18)}.choice-prompt button.playing{color:#e05c43;background:#fff7d4}.dialogue-scene-visual{margin:7px 0 5px}.dialogue-scene-visual>div{min-height:88px;display:flex;align-items:center;justify-content:center;gap:14px}.dialogue-scene-visual span{min-width:0;display:grid;place-items:center;gap:2px}.dialogue-scene-visual img{width:auto;max-width:min(180px,38vw);height:96px;object-fit:contain;mix-blend-mode:multiply}.dialogue-scene-visual b{padding:2px 9px;border-radius:999px;color:#2b7567;background:#e7f8f3;font-size:12px;line-height:1.25}.dialogue-scene-visual.many>div{min-height:78px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px 6px}.dialogue-scene-visual.many img{max-width:56px;height:36px}.choice-board>.dialogue-scene-visual{margin:-7px 0 -8px}.choice-board>.dialogue-scene-visual img{height:108px}.choice-board>.dialogue-scene-visual.many img{height:42px}.dialogue-secondary:active{box-shadow:0 3px 0 #27846f}.dialogue-error{margin:9px 0;padding:9px 12px;border-radius:12px;color:#a35335;background:#fff0dc;font-size:13px;font-weight:800}.dialogue-practice-shell{place-items:start center;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.dialogue-game{width:min(100%,540px);position:relative;z-index:1}.dialogue-game>header{min-height:58px;display:grid;grid-template-columns:46px 1fr 54px;align-items:center;text-align:center}.dialogue-game>header button{width:42px;height:42px;border:0;border-radius:15px;display:grid;place-items:center;color:#217464;background:rgba(255,255,255,.78)}.dialogue-game>header div{display:grid}.dialogue-game>header strong{font-size:17px}.dialogue-game>header small{color:#708e87;font-size:11px}.dialogue-game>header>b{font-size:23px}.dialogue-game>header>b small{font-size:12px}.dialogue-progress{margin:5px auto 9px;display:flex;justify-content:center;gap:7px}.dialogue-progress span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#779c92;background:rgba(255,255,255,.67);font-size:12px;font-weight:900}.dialogue-progress span.current{color:white;background:#ff7358;box-shadow:0 4px 0 #dd5138}.dialogue-progress span.done{color:#177663;background:#b9eedf}.dialogue-progress svg{width:16px}.dialogue-scene{min-height:min(710px,calc(100dvh - 98px));padding:17px 16px 15px;border:1px solid rgba(59,129,110,.14);border-radius:28px;display:flex;flex-direction:column;background:rgba(255,254,247,.97);box-shadow:0 18px 45px rgba(30,98,80,.13)}.dialogue-people{display:flex;justify-content:space-between;padding:0 14px}.dialogue-person{display:flex;align-items:center;gap:7px;color:#688b82;font-size:11px;font-weight:850}.dialogue-person i{width:42px;height:42px;border-radius:50% 50% 44% 44%;display:grid;place-items:center;color:#80501f;background:#ffdb80;font-style:normal;font-size:19px;box-shadow:inset 0 -5px rgba(220,156,39,.18)}.dialogue-person.learner i{color:#145e53;background:#bdeee0}.dialogue-bubble{position:relative;margin-top:10px;padding:13px 15px;border-radius:18px 18px 18px 5px;background:#e9f9f6;text-align:left}.dialogue-bubble.answer{margin-left:14%;border-radius:18px 18px 5px 18px;background:#fff4c9}.dialogue-bubble small{display:block;margin-bottom:3px;color:#78958e;font-size:10px;font-weight:850}.dialogue-bubble .dialogue-role-label{width:fit-content;margin:-2px 0 8px;padding:4px 10px 4px 8px;border:1px solid rgba(39,132,111,.12);border-radius:999px;display:inline-flex;align-items:center;gap:5px;color:#3c776a;background:rgba(255,255,255,.72);line-height:1}.dialogue-role-label b{color:#176b59;font-size:14px;font-weight:950}.dialogue-role-label span{font-size:11px;font-weight:850}.dialogue-bubble.answer .dialogue-role-label{border-color:rgba(197,132,8,.13);color:#8a6928;background:rgba(255,255,255,.68)}.dialogue-bubble.answer .dialogue-role-label b{color:#8d6415}.dialogue-bubble strong{display:block;color:#184e45;font-size:clamp(18px,5.4vw,25px);line-height:1.3}.dialogue-karaoke-word{margin:0 1px;padding:0 1px;border-radius:6px;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.dialogue-karaoke-word.past{color:#52a18f}.dialogue-karaoke-word.active{display:inline-block;color:#e4563d;background:rgba(255,218,92,.27);box-shadow:inset 0 -.38em rgba(255,194,47,.28);transform:translateY(-1px) scale(1.035)}.dialogue-bubble button{margin-top:8px;border:0;padding:6px 9px;border-radius:10px;display:flex;align-items:center;gap:4px;color:#247363;background:rgba(255,255,255,.75);font:inherit;font-size:11px;font-weight:900}.dialogue-bubble button svg{width:14px;fill:currentColor}.dialogue-bubble button.playing{color:#e05c43;background:#fff7d4}.dialogue-scene .dialogue-word-recorder{align-self:center;margin:15px auto 6px}.dialogue-recorder-message{min-height:22px;margin:2px 0 7px;color:#367568;text-align:center;font-size:13px;font-weight:850}.dialogue-score{margin:3px auto 5px;width:min(100%,340px);min-height:68px;padding:9px 14px;border:2px solid #b8e8da;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;background:#effcf8}.dialogue-score strong{color:#f06446;font-size:36px;line-height:1;white-space:nowrap}.dialogue-score strong small{margin-left:3px;font-size:13px}.dialogue-score p{margin:0;color:#277566;font-size:15px;line-height:1.35;font-weight:900;text-align:left}.dialogue-actions{margin-top:auto;padding-top:8px;gap:9px}.dialogue-actions,.dialogue-actions button{display:flex;align-items:center;justify-content:center}.dialogue-actions button{min-height:43px;border-radius:14px;padding:9px 13px;gap:4px;font:inherit;font-size:13px;font-weight:900}.dialogue-hint{border:1px solid #d6e9e3;color:#60847b;background:white}.dialogue-hint svg{width:16px}.dialogue-next{min-width:135px;border:0;color:white;background:#ff7458;box-shadow:0 5px 0 #d95239}.dialogue-next svg{width:17px}.dialogue-next .lucide-loader-circle{animation:spin 1s linear infinite}.dialogue-result-card>p{margin:8px 0 0;color:#458173;font-weight:900}.dialogue-medal{width:75px;height:75px;margin:auto;border-radius:25px;display:grid;place-items:center;color:#c58408;background:#ffeaa1;box-shadow:0 8px 0 #f1cc52}.dialogue-medal svg{width:43px;height:43px}.dialogue-result-card>h1{margin:10px 0 0;color:#ed6749;font-size:68px;line-height:1}.dialogue-result-card>h1 small{margin-left:5px;font-size:18px}.dialogue-result-card>h2{margin:9px 0 14px;font-size:19px}.dialogue-rank-celebration,.dialogue-rank-steady{margin:11px 0;padding:11px 13px;border-radius:15px;color:#91630c;background:#fff1b8;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px}.dialogue-rank-celebration svg{width:20px}.dialogue-rank-steady{color:#287364;background:#e4f8f2}.dialogue-result-summary{margin:12px 0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.dialogue-result-summary span{padding:11px;border-radius:14px;background:#eff8f5;font-size:12px}.dialogue-result-summary b{margin-right:4px;color:#176c5b;font-size:23px}.dialogue-result-list{margin:10px 0 18px;display:grid;gap:6px;text-align:left}.dialogue-result-list div{min-height:40px;padding:7px 10px;border-radius:11px;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:6px;background:#f6faf8}.dialogue-result-list div>span{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#dff4ed;font-size:11px;font-weight:900}.dialogue-result-list div>b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dialogue-result-list div>strong{color:#ef684a;font-size:13px}.dialogue-result-actions{display:grid;gap:20px;margin-top:20px}.dialogue-result-actions .dialogue-primary{margin:0}.dialogue-share-guide{position:absolute;top:max(5px,env(safe-area-inset-top));right:5px;width:154px;height:182px;pointer-events:none}.dialogue-share-guide svg{display:block;width:100%;height:100%;overflow:visible}.dialogue-share-guide path:not([d^=M0]){fill:none;stroke:#ffe37a;stroke-width:3;stroke-linecap:round;stroke-dasharray:1 5;animation:dialogue-share-guide-draw .7s ease-out both}.dialogue-share-guide marker path{fill:#ffe37a;stroke:none}@keyframes dialogue-share-guide-draw{0%{stroke-dashoffset:32;opacity:0}to{stroke-dashoffset:0;opacity:1}}@media (max-height:720px){.dialogue-scene{min-height:calc(100dvh - 88px);padding-top:11px}.dialogue-people{display:none}.dialogue-bubble{margin-top:6px;padding:10px 13px}.dialogue-scene .dialogue-word-recorder{margin-top:8px}.dialogue-score strong{font-size:31px}}@media (prefers-reduced-motion:reduce){.dialogue-karaoke-word{transition:none}.dialogue-share-guide path{animation:none}}.practice-lesson-pill,.practice-result-lesson{width:fit-content;margin:12px auto 0;padding:7px 13px;border-radius:999px;color:#267563;background:#e1f5ed;font-size:11px;font-weight:900}.practice-result-lesson{margin-top:0;margin-bottom:8px}.practice-change-lesson{margin-left:7px;border:2px solid #d2e9e1;font-family:inherit;cursor:pointer}.practice-intro-mark{position:relative;width:92px;height:92px;margin:8px auto 18px;border-radius:29px;display:grid;place-items:center;color:#167b69;background:#d9f7ec;transform:rotate(-4deg);box-shadow:0 10px 0 #b5e8d8}.practice-intro-mark>svg:first-child{width:51px;height:51px;stroke-width:2.5}.practice-intro-mark>svg:last-child{position:absolute;right:-9px;top:-10px;width:31px;color:#ffc83f;fill:currentColor;transform:rotate(14deg)}.practice-eyebrow{margin:0 0 7px;color:#269179;font-size:12px;letter-spacing:.16em;font-weight:900}.practice-intro h1{margin:0;color:#145b4e;font-size:clamp(34px,7vw,48px);line-height:1.2;font-weight:900;letter-spacing:-.04em}.practice-intro h1.practice-intro-lesson-title{max-width:100%;margin:17px auto 0;color:#145b4e;font-size:clamp(35px,7vw,47px);line-height:1.16;letter-spacing:-.035em;text-wrap:balance}.practice-intro-copy{max-width:410px;margin:15px auto 22px;color:#617a73;font-size:14px;line-height:1.75;font-weight:700}.practice-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.practice-rule-grid div{min-height:92px;padding:14px 8px;border-radius:19px;display:grid;place-items:center;align-content:center;background:#eff9f3;border:2px solid white;box-shadow:inset 0 0 0 1px #dcece3}.practice-rule-grid strong{color:#ef6f4d;font-size:30px;line-height:1}.practice-rule-grid span{margin-top:6px;color:#657d75;font-size:11px;font-weight:800}.practice-rule-note{margin:15px 0 20px;padding:12px 14px;border-radius:14px;display:flex;align-items:flex-start;gap:7px;text-align:left;color:#856326;background:#fff3cf;font-size:12px;line-height:1.55;font-weight:800}.practice-rule-note svg{width:17px;flex:0 0 auto}.practice-leaderboard{margin:16px 0 19px;padding:13px;border:2px solid #d8ebe3;border-radius:24px;color:#245e51;background:linear-gradient(145deg,#f5fbf7,#fffaf0);box-shadow:inset 0 0 0 3px rgba(255,255,255,.72)}.practice-leaderboard>header{min-height:42px;padding:0 5px 11px;display:flex;align-items:center;justify-content:center;text-align:center}.practice-leaderboard>header>span{display:flex;align-items:center;justify-content:center;gap:6px;color:#176b59;font-size:15px;font-weight:950}.practice-leaderboard>header svg{width:20px;color:#d99a15}.practice-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.practice-rank-card{padding:11px 9px 9px;overflow:hidden;border:1px solid #d7e9e2;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 5px 14px rgba(38,91,76,.06)}.practice-rank-card.pronunciation{border-color:#dbe7ef;background:rgba(246,252,255,.92)}.practice-rank-card h3{margin:0 0 9px;display:flex;align-items:center;justify-content:center;gap:5px;color:#296e5f;font-size:12px;font-weight:950}.practice-rank-card h3 svg{width:15px;height:15px;color:#f0a72a;fill:#fff1b5}.practice-rank-card.pronunciation h3 svg{color:#4aa98f;fill:none}.practice-rank-list{display:grid;gap:6px}.practice-rank-row{min-width:0;min-height:39px;padding:5px 7px;border-radius:12px;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:5px;color:#446b61;background:#f5f9f6;text-align:left}.practice-rank-row>b{width:23px;height:23px;border-radius:8px;display:grid;place-items:center;color:#7c8f88;background:#e6efeb;font-size:11px}.practice-rank-row.rank-1{color:#695018;background:linear-gradient(100deg,#fff2b9,#fff9e6)}.practice-rank-row.rank-1>b{color:#845e09;background:#ffd85b;box-shadow:0 3px 0 #e8b834}.practice-rank-row.rank-2>b{color:#5e7379;background:#dce7e9}.practice-rank-row.rank-3>b{color:#8a5b39;background:#f1d5bd}.practice-rank-row.rank-4>b,.practice-rank-row.rank-5>b{color:#50746a;background:#e4f0eb}.practice-rank-row.is-current{box-shadow:inset 0 0 0 2px #48bfa6}.practice-rank-row>span{min-width:0;overflow:hidden;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.practice-rank-row>span>small{margin-left:3px;padding:1px 4px;border-radius:5px;color:white;background:#48bfa6;font-size:7px;vertical-align:1px}.practice-rank-row>strong{color:#ef704f;font-size:15px;line-height:1}.practice-rank-row>strong small{margin-left:1px;color:#8a9a95;font-size:7px}.practice-leaderboard.loading .practice-rank-row{color:transparent;background:linear-gradient(90deg,#edf4f0 25%,#f8fbf9 50%,#edf4f0 75%);background-size:200% 100%;animation:practiceRankLoading 1.1s linear infinite}.practice-leaderboard.loading .practice-rank-row>*{visibility:hidden}.practice-rank-failed{min-height:105px;display:grid;place-items:center;color:#8a7656;font-size:12px;font-weight:850}@keyframes practiceRankLoading{to{background-position:-200% 0}}.practice-primary{width:100%;min-height:59px;border:0;border-radius:19px;display:flex;justify-content:center;align-items:center;gap:8px;color:white;background:#ff7958;box-shadow:0 7px 0 #d95539,0 13px 25px rgba(223,87,55,.2);font-size:17px;font-weight:900;cursor:pointer}.practice-primary:active{transform:translateY(5px);box-shadow:0 2px 0 #d95539}.practice-primary:disabled{cursor:wait;opacity:.72;transform:none;box-shadow:0 5px 0 #d9674d}.practice-primary svg{width:20px}.practice-primary.practice-secondary{margin-top:15px;color:#226e5e;background:#e7f7f1;box-shadow:0 7px 0 #bddfd4,0 13px 25px rgba(49,129,107,.12)}.practice-primary.practice-secondary:active{box-shadow:0 2px 0 #bddfd4}.practice-preparing{animation:practicePreparing .9s linear infinite}@keyframes practicePreparing{to{transform:rotate(1turn)}}.practice-game-shell{display:block;padding:0}.practice-game{position:relative;z-index:1;width:min(820px,calc(100% - 28px));margin:0 auto;padding:max(17px,env(safe-area-inset-top)) 0 30px}.practice-game-header{height:56px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center}.practice-game-header>a,.practice-game-header>button{width:44px;height:44px;border:0;border-radius:15px;display:grid;place-items:center;color:#397466;background:rgba(255,255,255,.72);cursor:pointer}.practice-game-header>a svg,.practice-game-header>button svg{width:20px}.practice-game-header>div{display:grid;justify-items:center}.practice-game-header>div span{color:#296f61;font-size:15px;font-weight:900}.practice-game-header>div small{color:#789089;font-size:10px;font-weight:800}.practice-game-header>b{justify-self:end;font-size:20px}.practice-game-header>b small{color:#748c84;font-size:11px}.practice-progress{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;padding:10px 8px 16px}.practice-progress span{position:relative;color:rgba(41,111,97,.18)}.practice-progress svg{width:100%;height:auto;fill:currentColor}.practice-progress .done.correct{color:#ffd34f}.practice-progress .done.learned{color:#39b89c}.practice-progress .done.learned svg{fill:#d9f7ef;stroke:currentColor;stroke-width:3}.practice-progress .done.learned:after{content:"";position:absolute;width:23%;aspect-ratio:1;left:50%;top:50%;border-radius:50%;background:currentColor;transform:translate(-50%,-42%)}.practice-progress .done.skipped{color:#a9b9b4}.practice-progress .done.skipped svg{fill:transparent;stroke:currentColor;stroke-width:2.6}.practice-progress .current{color:#ff7958;animation:pulseStar 1.2s infinite}.practice-progress-twenty{grid-template-columns:repeat(10,1fr);row-gap:5px;padding-top:5px;padding-bottom:10px}.practice-progress-twenty span{display:grid;place-items:center}.practice-progress-twenty span.read svg{width:72%;fill:none;stroke-width:2.8}.practice-progress-twenty .done.recorded{color:#48bfa6}.practice-progress-twenty .done.recorded svg{fill:#d9f7ef;stroke:currentColor}.practice-question-card{position:relative;min-height:min(680px,calc(100dvh - 105px));padding:clamp(25px,5vw,45px);overflow:hidden;border:3px solid rgba(255,255,255,.9);border-radius:37px;display:flex;flex-direction:column;align-items:center;text-align:center;background:rgba(255,253,246,.97);box-shadow:0 22px 55px rgba(30,91,76,.15)}.practice-question-card:before{content:"";position:absolute;inset:0;opacity:.25;background-image:radial-gradient(#86ceb9 1px,transparent 1.5px);background-size:25px 25px;-webkit-mask-image:linear-gradient(180deg,black,transparent 50%);mask-image:linear-gradient(180deg,black,transparent 50%)}.practice-question-card>*{position:relative;z-index:1}.practice-question-hint{margin:0;color:#657f77;font-size:14px;font-weight:800}.practice-question-hint.sound-failed{color:#a76622}.practice-sound{width:92px;height:92px;margin:18px 0 8px;border:0;border-radius:50%;display:grid;place-items:center;color:white;background:#50c6a5;box-shadow:0 0 0 11px #d9f5eb,0 13px 25px rgba(37,142,113,.22);cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.practice-sound svg{width:39px;height:39px}.practice-sound.playing{animation:practiceSoundPlaying 1s ease-in-out infinite}.practice-sound.failed{background:#f2a144;box-shadow:0 0 0 11px #fff0d6,0 13px 25px rgba(190,115,35,.22);animation:practiceSoundNeedsTap 1.2s ease-in-out infinite}.practice-sound-spinner{animation:practicePreparing .9s linear infinite}.practice-spelling-meaning{min-height:24px;margin:4px 0 2px;color:#5f7f76;font-size:16px;line-height:1.35;font-weight:850}.practice-sound-status{min-height:30px;margin:0 0 10px;display:flex;align-items:center;justify-content:center;color:#6f8880;font-size:11px;font-weight:800}.practice-sound-status.playing{color:#278970}.practice-sound-status.failed button{min-height:34px;padding:0 14px;border:2px solid #f2b96d;border-radius:999px;display:flex;align-items:center;gap:6px;color:#985c1c;background:#fff3dc;font-size:12px;font-weight:900;cursor:pointer}.practice-sound-status.failed svg{width:16px}.practice-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:0 0 27px}@keyframes practiceSoundPlaying{50%{box-shadow:0 0 0 15px #d9f5eb,0 13px 25px rgba(37,142,113,.22)}}@keyframes practiceSoundNeedsTap{50%{box-shadow:0 0 0 15px #fff0d6,0 13px 25px rgba(190,115,35,.28)}}.practice-slots button{width:clamp(43px,8vw,60px);height:clamp(54px,10vw,69px);border:0;border-bottom:5px solid #aacabd;border-radius:12px 12px 5px 5px;color:#216b5a;background:#f0f8f3;font-size:clamp(27px,5vw,37px);font-weight:900;text-transform:lowercase;cursor:pointer}.practice-slots button.filled{border-color:#54c7a6;background:#dcf7ed;transform:translateY(-3px)}.practice-letters{max-width:620px;margin:auto 0 16px;display:flex;flex-wrap:wrap;justify-content:center;gap:11px}.practice-letters button{width:clamp(53px,10vw,67px);height:clamp(58px,11vw,71px);border:solid #dae8df;border-width:2px 2px 6px;border-radius:18px;color:#285349;background:white;box-shadow:0 4px 12px rgba(44,95,82,.08);font-size:30px;font-weight:900;text-transform:lowercase;cursor:pointer}.practice-letters button:disabled{opacity:.18;transform:scale(.86)}.practice-actions{width:100%;display:flex;justify-content:center;gap:12px}.practice-actions button{padding:9px 13px;border:0;border-radius:999px;display:flex;align-items:center;gap:5px;color:#658078;background:transparent;font-size:12px;font-weight:800;cursor:pointer}.practice-actions button:last-child{padding:9px 16px;color:#287260;background:#e9f7f1;border:2px solid #b6dfd1}.practice-actions svg{width:16px}.practice-feedback{position:absolute;z-index:7;left:50%;bottom:24px;width:min(440px,calc(100% - 34px));transform:translateX(-50%);padding:14px 17px;border-radius:18px;display:flex;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:900;box-shadow:0 12px 25px rgba(39,89,76,.14)}.practice-feedback.good{color:#18745e;background:#dff8ee;border:2px solid #8bd8bd}.practice-feedback.try{color:#926024;background:#fff1d9;border:2px solid #ffd093}.practice-feedback svg{width:19px;flex:0 0 auto}.practice-reading-question{min-height:0;padding:32px 36px 30px;justify-content:flex-start}.practice-reading-wordbar{width:min(430px,100%);min-height:168px;margin:0 auto 5px;flex-direction:column;gap:12px}.practice-reading-word,.practice-reading-wordbar{display:flex;align-items:center;justify-content:center}.practice-reading-word{min-width:0}.practice-reading-word h1{min-width:0;margin:0;color:#155b4d;font-size:clamp(56px,12vw,78px);line-height:.95;letter-spacing:-.045em;white-space:nowrap}.practice-reading-word.medium h1{font-size:clamp(40px,9vw,60px)}.practice-reading-word.long h1{font-size:clamp(29px,7vw,46px)}.practice-reading-meaning{color:#718a82;font-size:15px;line-height:1.2;font-weight:850}.practice-reading-reference{flex:0 0 auto;width:48px;height:48px;padding:0;border:2px solid #bfe2d6;border-radius:50%;display:grid;place-items:center;color:#277863;background:#eef9f5;box-shadow:0 5px 12px rgba(39,120,99,.09);cursor:pointer;transition:transform .18s ease,background .18s ease}.practice-reading-reference:active{transform:scale(.94)}.practice-reading-reference.playing{background:#d8f5ea;animation:practiceSoundPlaying 1s ease-in-out infinite}.practice-reading-reference.failed{color:#a76724;border-color:#efc17e;background:#fff2dc}.practice-reading-reference svg{width:22px}.practice-reading-reference:disabled{opacity:.55;cursor:wait}.practice-reading-recorder{position:relative;width:132px;height:132px;margin:2px 0 3px;display:grid;place-items:center}.practice-reading-recorder>i{position:absolute;inset:15px;border-radius:50%;background:rgba(80,198,165,.13);transition:transform .25s ease,opacity .25s ease}.practice-reading-recorder>i:nth-child(2){inset:2px;opacity:.48}.practice-reading-recorder.recording>i:first-child{animation:readingPracticePulse 1.15s ease-out infinite}.practice-reading-recorder.recording>i:nth-child(2){animation:readingPracticePulse 1.15s ease-out .18s infinite}.practice-reading-recorder>button{position:relative;z-index:2;width:90px;height:90px;border:0;border-radius:50%;display:grid;place-items:center;color:white;background:#ff7958;box-shadow:0 10px 21px rgba(223,87,55,.23);cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease}.practice-reading-recorder>button:active{transform:scale(.95)}.practice-reading-recorder>button:disabled{cursor:wait;opacity:.72}.practice-reading-recorder>button svg{width:38px;height:38px}.practice-reading-recorder.recording>button{background:#e95e4a}.practice-reading-recorder.result>button{background:#48bfa6}.practice-reading-recorder>svg{position:absolute;z-index:3;inset:7px;width:118px;height:118px;pointer-events:none;transform:rotate(-90deg)}.practice-reading-recorder>svg circle{fill:none;stroke:#ffcc55;stroke-width:5;stroke-linecap:round;stroke-dasharray:1;transition:stroke-dashoffset .08s linear}.practice-reading-stop{width:27px;height:27px;border-radius:7px;background:white}.practice-reading-status{min-height:34px;max-width:430px;display:flex;align-items:center;justify-content:center;gap:7px;color:#617b73;font-size:13px;line-height:1.35;font-weight:850}.practice-reading-status>svg{width:19px;flex:0 0 auto}.practice-reading-status.result{color:#1f816b}.practice-reading-status.error{color:#a86627}.practice-reading-result-row{width:min(410px,100%);margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(138px,.82fr);align-items:stretch;gap:10px;animation:practiceScoreReveal .38s cubic-bezier(.34,1.56,.64,1) both}.practice-reading-score{min-height:52px;padding:7px 14px;border:2px solid #8bd8bd;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;color:#22745f;background:#dff8ee}.practice-reading-score span{font-size:13px;font-weight:850}.practice-reading-score strong{color:#ef6f4d;font-size:34px;line-height:1}.practice-reading-score small{margin-left:3px;font-size:14px}.practice-reading-next{min-width:0;min-height:52px;padding:0 18px;border:0;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:7px;color:white;background:#ff7958;box-shadow:0 5px 0 #d95539,0 10px 18px rgba(223,87,55,.18);font-family:inherit;font-size:15px;font-weight:900;cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),opacity .18s ease,box-shadow .18s ease}.practice-reading-next:active{transform:translateY(3px);box-shadow:0 2px 0 #d95539}.practice-reading-next:disabled{opacity:.6;cursor:wait}.practice-reading-next svg{width:19px}@keyframes readingPracticePulse{0%{transform:scale(.75);opacity:.8}to{transform:scale(1.15);opacity:0}}.practice-score-burst{position:absolute;z-index:8;left:50%;top:40%;pointer-events:none;display:flex;align-items:baseline;justify-content:center;gap:3px;color:#ef7b19;filter:drop-shadow(0 5px 0 rgba(255,255,255,.95)) drop-shadow(0 12px 13px rgba(231,139,25,.24));animation:practiceScoreBurst .78s cubic-bezier(.34,1.56,.64,1) both}.practice-score-burst strong{font-family:var(--font-body),"PingFang SC",sans-serif;font-size:clamp(58px,14vw,82px);line-height:.9;font-weight:1000;letter-spacing:-.08em}.practice-score-burst small{font-size:18px;font-weight:900}.practice-score-burst svg{position:absolute;width:25px;height:25px;color:#ffd344;fill:currentColor;animation:practiceScoreSpark .72s ease-out both}.practice-score-burst svg:first-child{left:-31px;top:4px;transform:rotate(-18deg)}.practice-score-burst svg:last-child{right:-34px;bottom:1px;transform:rotate(20deg);animation-delay:.06s}@keyframes practiceScoreBurst{0%{opacity:0;transform:translate(-50%,18px) scale(.42) rotate(-6deg)}38%{opacity:1;transform:translate(-50%,-8px) scale(1.16) rotate(2deg)}72%{opacity:1;transform:translate(-50%,-15px) scale(1)}to{opacity:0;transform:translate(-50%,-35px) scale(.94)}}@keyframes practiceScoreSpark{0%{opacity:0;scale:.25}36%{opacity:1;scale:1.3}to{opacity:0;scale:.85}}.practice-result{width:min(590px,100%)}.practice-trophy{width:94px;height:94px;margin:0 auto 17px;border-radius:31px;display:grid;place-items:center;color:#d69512;background:#fff0a8;box-shadow:0 9px 0 #f3d46d;transform:rotate(-3deg)}.practice-trophy svg{width:51px;height:51px}.practice-trophy.practice-result-badge{width:82px;height:82px;margin-bottom:20px;border:2px solid #f0ce62;border-radius:50%;color:#c98a09;background:radial-gradient(circle at 50% 42%,#fff9d9 0 47%,#ffefaa 48% 100%);box-shadow:0 7px 18px rgba(190,136,15,.14);transform:none}.practice-trophy.practice-result-badge svg{width:43px;height:43px;stroke-width:1.8}.practice-result h1{margin:7px 0 0;display:flex;justify-content:center;align-items:baseline;color:#ef6f4d}.practice-result h1 strong{font-size:72px;line-height:1;letter-spacing:-.05em}.practice-result h1 small{margin-left:5px;font-size:19px}.practice-dual-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 10px}.practice-dual-scores>div{padding:17px 10px 14px;border:2px solid #dcece4;border-radius:20px;background:#f4fbf7}.practice-dual-scores>div:last-child{border-color:#d7e9f2;background:#f1f9fc}.practice-dual-scores span{display:block;color:#678078;font-size:12px;font-weight:850}.practice-dual-scores strong{display:block;margin:8px 0 1px;color:#ef6f4d;font-size:46px;line-height:1}.practice-dual-scores strong small{margin-left:3px;font-size:14px}.practice-dual-scores p{margin:0;color:#8a9a95;font-size:10px;font-weight:750}.practice-rank-result{position:relative;min-height:70px;margin:13px 0 14px;padding:13px 14px;overflow:hidden;border:2px solid #d8ebe3;border-radius:19px;display:flex;align-items:center;gap:12px;text-align:left;color:#34675c;background:#f1f9f5}.practice-rank-result.loading{min-height:49px;justify-content:center;color:#698179;font-size:11px;font-weight:850}.practice-rank-result.loading>svg{width:18px;animation:practicePreparing .9s linear infinite}.practice-rank-result.improved,.practice-rank-result.new{border-color:#f1cf63;background:linear-gradient(115deg,#fff4bd,#fffaf0 62%,#e8faf3);box-shadow:0 9px 22px rgba(204,153,31,.14);animation:practiceRankArrival .55s cubic-bezier(.34,1.56,.64,1) both}.practice-rank-result.ranked{border-color:#91d9c4;background:linear-gradient(120deg,#e2f8ef,#f7fffb)}.practice-rank-result.encourage{border-color:#dcebe5;background:#f5faf7}.practice-rank-result-icon{position:relative;z-index:2;width:45px;height:45px;flex:0 0 auto;border-radius:15px;display:grid;place-items:center;color:#257561;background:white;box-shadow:0 5px 12px rgba(45,98,83,.1);transform:rotate(-3deg)}.practice-rank-result.improved .practice-rank-result-icon,.practice-rank-result.new .practice-rank-result-icon{color:#c98a09;background:#fff5c5;box-shadow:0 5px 0 #f0ca56}.practice-rank-result-icon svg{width:25px;height:25px}.practice-rank-result.encourage .practice-rank-result-icon svg{color:#f0b532;fill:#ffe782}.practice-rank-result-copy{position:relative;z-index:2;min-width:0;flex:1 1;display:grid;gap:6px}.practice-rank-result-copy>strong{color:#1f6758;font-size:14px;line-height:1.3;font-weight:950}.practice-rank-result.improved .practice-rank-result-copy>strong,.practice-rank-result.new .practice-rank-result-copy>strong{color:#8a5f06;font-size:15px}.practice-rank-result-copy>small{color:#70847e;font-size:9px;line-height:1.45;font-weight:750}.practice-rank-result-pills{display:flex;flex-wrap:wrap;gap:6px}.practice-rank-result-pills span{padding:4px 7px;border-radius:999px;color:#53756c;background:rgba(255,255,255,.8);font-size:9px;font-weight:850}.practice-rank-result-pills b{margin-left:4px;color:#ef704f;font-size:11px}.practice-rank-sparks{position:absolute;inset:0;pointer-events:none}.practice-rank-sparks i{position:absolute;width:9px;height:9px;background:#ffd64f;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);animation:practiceRankSpark 1.25s ease-in-out infinite}.practice-rank-sparks i:first-child{right:15px;top:11px}.practice-rank-sparks i:nth-child(2){right:50px;bottom:8px;width:6px;height:6px;animation-delay:.22s}.practice-rank-sparks i:nth-child(3){left:7px;top:5px;width:7px;height:7px;animation-delay:.4s}@keyframes practiceRankArrival{0%{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes practiceRankSpark{0%,to{opacity:.35;transform:scale(.65) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(45deg)}}.practice-result-title{margin:10px 0 17px;color:#225f52;font-size:19px;font-weight:900}.practice-result-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.practice-result-stats span{padding:13px 8px;border-radius:15px;color:#607a72;background:#eef8f3;font-size:12px;font-weight:800}.practice-result-stats b{color:#1c7661;font-size:19px}.practice-reading-review{margin-top:13px;padding:15px;border-radius:17px;text-align:left;background:#f3faf7}.practice-reading-review h2{margin:0 0 10px;color:#56736a;font-size:13px}.practice-reading-review>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.practice-reading-review span{padding:8px 10px;border-radius:11px;display:flex;justify-content:space-between;align-items:center;color:#3c6e62;background:white;font-size:12px}.practice-reading-review span b{text-transform:lowercase}.practice-reading-review span strong{color:#ef6f4d;font-size:16px}.practice-save-state{min-height:35px;margin:13px 0 3px;display:flex;align-items:center;justify-content:center;gap:7px;color:#668078;font-size:12px;font-weight:800}.practice-save-state svg{width:16px;height:16px}.practice-save-state.saved{color:#218069}.practice-save-state.failed button{border:0;padding:8px 12px;border-radius:999px;color:#9b592f;background:#fff0df;font:inherit;cursor:pointer}.practice-review{margin:17px 0;padding:16px;border-radius:18px;text-align:left;background:#fff6df}.practice-review h2{margin:0 0 10px;color:#876525;font-size:14px}.practice-review>div{display:flex;flex-wrap:wrap;gap:7px}.practice-review span{padding:7px 10px;border-radius:11px;display:grid;background:white;border:1px solid #f2dfad}.practice-review b{color:#245c50;font-size:14px}.practice-review small{color:#8b8066;font-size:9px}.practice-home-link{min-height:46px;margin-top:15px;padding:0 18px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#477168;background:#edf7f3;border:2px solid #d2e9e1;font-size:13px;font-weight:900;text-decoration:none}.practice-home-link svg{width:17px}.practice-loading span{position:relative;z-index:1;display:flex;align-items:center;gap:8px;color:#347464;font-weight:900}.practice-loading svg{width:23px;fill:#ffd34f;color:#ffd34f;animation:pulseStar 1.2s infinite}@media (prefers-reduced-motion:reduce){.practice-score-burst,.practice-score-burst svg,.practice-sound{animation-duration:.01ms;animation-iteration-count:1}}.welcome{display:grid;place-items:center;padding:32px 18px}.device-card,.home-card,.result-card,.welcome-card{position:relative;z-index:2;width:min(520px,100%);border:2px solid rgba(255,255,255,.85);border-radius:36px;background:rgba(255,253,245,.94);box-shadow:var(--shadow);padding:42px;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-mark{position:relative;width:96px;height:96px;margin:-4px auto 18px;border:4px solid white;border-radius:50%;background:var(--mint);display:grid;place-items:center;box-shadow:0 10px 24px rgba(58,166,132,.28)}.brand-mark img{width:100%;height:100%;border-radius:50%;object-fit:cover}.brand-mark svg{position:absolute;color:var(--sun);fill:var(--sun);width:25px;right:-7px;top:-8px;transform:rotate(18deg)}.eyebrow{margin:0 0 8px;color:var(--mint-dark);font-weight:900;letter-spacing:.16em;font-size:13px;text-transform:uppercase}.device-card h1,.home-card h1,.result-card h1,.welcome-card h1{font-family:var(--font-display),sans-serif;font-weight:400;margin:0;color:#194c43}.welcome-card h1{font-family:var(--font-body),"PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(31px,6vw,46px);font-weight:900;line-height:1.25;letter-spacing:-.02em}.welcome-copy{margin:14px auto 26px;max-width:370px;line-height:1.8;color:#55736d;font-size:15px}.login-form{display:grid;gap:15px;text-align:left}.admin-login label,.login-form>label{display:grid;gap:7px;color:#3f625b;font-size:14px;font-weight:800}.admin-login input,.login-form input:not([type=checkbox]){width:100%;height:54px;border:2px solid #d9e9df;border-radius:16px;padding:0 16px;background:white;outline:none;color:var(--ink);transition:.2s}.admin-login input:focus,.login-form input:focus{border-color:var(--mint);box-shadow:0 0 0 4px rgba(99,207,174,.16)}.consent{grid-template-columns:22px 1fr;align-items:start;line-height:1.55;font-weight:600!important;font-size:12px!important;color:#698078!important}.consent input{width:19px;height:19px;accent-color:var(--mint-dark);margin:1px 0}.primary-button,.secondary-button{min-height:56px;border:0;border-radius:18px;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-weight:900;transition:transform .15s,box-shadow .15s}.primary-button{color:white;background:var(--coral);box-shadow:0 7px 0 var(--coral-dark),0 14px 24px rgba(255,130,95,.23);margin-top:6px}.primary-button:hover{transform:translateY(-2px)}.primary-button:active{transform:translateY(5px);box-shadow:0 2px 0 var(--coral-dark)}.primary-button:disabled{opacity:.65;cursor:wait}.remember-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:22px 0 0;color:#789087;font-size:11px}.remember-note svg{width:15px}.teacher-entry{display:inline-block;margin-top:15px;color:#6c877f;font-size:12px}.form-error{margin:0;color:#c75538;background:#fff1e9;border-radius:12px;padding:10px 12px;font-size:13px}.student-choice-card{text-align:center}.student-choice-list{display:grid;gap:12px;margin:22px 0 16px}.student-choice-list button{min-height:74px;border:2px solid #d8eadf;border-radius:18px;padding:13px 14px 13px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#194c43;background:rgba(255,255,255,.86);text-align:left;cursor:pointer;box-shadow:0 8px 20px rgba(39,113,91,.08)}.student-choice-list button:disabled{opacity:.65;cursor:wait}.student-choice-list strong{display:block;margin-bottom:5px;font-size:19px;font-weight:900}.student-choice-list small{display:block;color:#6f8881;font-size:12px;font-weight:800}.student-choice-list svg{width:21px;height:21px;flex:0 0 auto;color:#2d8c74}.manual-login-button{width:100%;color:#2f7566;background:#edf8f3;border:2px solid #d4eadf;box-shadow:none}.home-card{width:min(650px,100%);text-align:left}.local-mode-note{margin:-8px 0 18px;padding:10px 13px;border-radius:13px;background:#fff3cf;color:#87621c;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:12px;font-weight:800}.local-mode-note svg{width:17px;flex:0 0 auto}.home-top{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;margin-bottom:26px}.home-greeting{grid-column:2;grid-row:1;min-width:0;text-align:center}.home-top>.icon-button:first-child{grid-column:1;grid-row:1;justify-self:start}.home-top>.icon-button:last-child{grid-column:3;grid-row:1;justify-self:end}.home-top h1{font-family:var(--font-body),"PingFang SC","Microsoft YaHei",sans-serif;font-size:34px;font-weight:900;line-height:1.3;letter-spacing:-.02em}.icon-button{width:48px;height:48px;border:0;background:#e9f6ef;color:#3f7769;border-radius:16px;display:grid;place-items:center;cursor:pointer}.icon-button svg{width:21px}.map-card{padding:28px;background:linear-gradient(140deg,#effbf5,#fff8dc);border:2px solid white;border-radius:28px;text-align:center;box-shadow:inset 0 0 0 1px #dbece3}.map-path{display:flex;align-items:center;margin-bottom:24px}.map-stop{width:54px;height:54px;display:grid;place-items:center;background:white;border:3px solid #cfe6d9;border-radius:50%;font-size:25px;box-shadow:0 5px 12px rgba(57,111,94,.1)}.map-stop.active{border-color:var(--mint);background:#ddf8ed}.map-path i{flex:1 1;height:4px;background:repeating-linear-gradient(90deg,#b7d9c8 0 8px,transparent 8px 13px)}.map-card h2{margin:0;font-size:23px}.map-card p{color:#688179;line-height:1.7;margin:10px auto 0;max-width:480px}.resume-progress{height:8px;border-radius:20px;background:#dcece3;overflow:hidden;margin-top:18px}.resume-progress span{display:block;height:100%;background:var(--mint)}.giant{width:100%;min-height:64px;margin-top:22px;font-size:17px}.home-tips{display:flex;justify-content:center;gap:22px;color:#688179;font-size:12px;margin-top:24px}.device-card p:not(.eyebrow){line-height:1.8;color:#668078}.device-illustration{font-size:72px;filter:drop-shadow(0 12px 12px rgba(29,95,78,.16));margin-bottom:18px}.device-card h1{font-size:35px}.device-card .primary-button{margin-left:auto;margin-right:auto}.secondary-button{width:100%;border:2px solid var(--mint);background:#e8faf3;color:var(--mint-dark);margin:22px 0 8px}.check-ok{color:var(--mint-dark);font-weight:900;display:flex;justify-content:center;gap:7px;margin:14px}.back-link{border:0;background:none;color:#668078;display:flex;gap:6px;align-items:center;cursor:pointer;margin:-12px 0 20px}.back-link svg{width:18px}.game-wrap{position:relative;z-index:2;width:min(860px,calc(100% - 28px));margin:0 auto;padding:18px 0 36px}.game-header{height:52px;display:grid;grid-template-columns:52px 1fr 52px;align-items:center}.icon-button.quiet{background:rgba(255,255,255,.68)}.level-label{justify-self:center;display:flex;align-items:center;gap:6px;font-weight:900;font-size:14px;color:#376e62;background:rgba(255,255,255,.7);padding:8px 16px;border-radius:30px}.question-count{justify-self:end;font-size:19px;font-weight:900}.question-count span{color:#79928a;font-size:12px}.star-progress{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;padding:13px 4px 18px}.star-progress span{color:rgba(51,105,91,.2)}.star-progress svg{width:100%;height:auto;fill:currentColor}.star-progress .done.correct{color:var(--sun);filter:drop-shadow(0 2px 2px rgba(174,128,0,.16))}.star-progress .done.learned{color:#39b89c}.star-progress .done.learned svg{fill:#d9f7ef;stroke:currentColor;stroke-width:3}.star-progress .done.skipped{color:#a9b9b4}.star-progress .done.skipped svg{fill:transparent;stroke:currentColor;stroke-width:2.6}.star-progress .current{color:var(--coral);animation:pulseStar 1.2s infinite}@keyframes pulseStar{50%{transform:scale(1.35) rotate(8deg)}}.question-card{position:relative;min-height:min(680px,calc(100dvh - 125px));overflow:hidden;border-radius:38px;border:3px solid rgba(255,255,255,.86);background:rgba(255,253,245,.96);box-shadow:var(--shadow);padding:clamp(24px,5vw,46px);text-align:center;display:flex;flex-direction:column;align-items:center}.question-card:before{content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;background-image:radial-gradient(#9ad8c2 1px,transparent 1.5px);background-size:25px 25px;-webkit-mask-image:linear-gradient(180deg,black,transparent 50%);mask-image:linear-gradient(180deg,black,transparent 50%)}.question-card>*{position:relative;z-index:1}.mode-hint{color:#628179;font-weight:800;font-size:14px;margin-bottom:8px}.word-emoji{font-size:clamp(70px,13vw,108px);line-height:1.1;margin:12px 0 4px;filter:drop-shadow(0 12px 8px rgba(41,89,75,.13))}.hero-word{font-family:var(--font-body);font-size:clamp(66px,13vw,116px);line-height:1;margin:4px 0 8px;color:#174b41;letter-spacing:.015em;font-weight:900}.hero-word.no-image{margin-top:clamp(65px,10vh,105px);font-size:clamp(82px,16vw,138px)}.word-meaning{font-size:18px;margin:0 0 20px;color:#668078;font-weight:700}.sound-button{border:0;background:#eef8f2;color:#397869;border-radius:999px;padding:10px 18px;display:flex;align-items:center;gap:7px;font-weight:800;cursor:pointer}.sound-button svg{width:18px}.mic-button{margin-top:auto;width:min(330px,92%);border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:12px;font-weight:900;color:#42756a;cursor:pointer}.mic-ring{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:white;box-shadow:0 0 0 10px #ffe8df,0 0 0 18px #fff4ee,0 14px 26px rgba(225,87,53,.27)}.mic-ring svg{width:38px;height:38px}.recording .mic-ring{animation:recording 1s ease-in-out infinite}.voice-meter{height:24px;display:flex;align-items:center;justify-content:center;gap:5px}.voice-meter i{width:6px;height:8px;border-radius:999px;background:#c9ddd7;transition:height .12s ease,background .12s ease}.voice-meter i:nth-child(2),.voice-meter i:nth-child(4){height:13px}.voice-meter i:nth-child(3){height:19px}.voice-meter i.active{background:#2fae8c;height:22px;animation:voice-bounce .45s ease-in-out infinite alternate}@keyframes voice-bounce{to{transform:scaleY(.58)}}@keyframes recording{50%{box-shadow:0 0 0 18px #ffd8ca,0 0 0 30px rgba(255,230,220,.45),0 14px 26px rgba(225,87,53,.27);transform:scale(1.04)}}.big-sound{margin:18px 0 24px;width:94px;height:94px;border-radius:50%;border:0;background:var(--mint);color:white;box-shadow:0 0 0 11px #daf6ec,0 12px 24px rgba(43,142,114,.24);cursor:pointer}.big-sound svg{width:39px;height:39px}.answer-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:8px 0 28px}.answer-slot{width:clamp(43px,8vw,61px);height:clamp(54px,10vw,70px);border:0;border-bottom:5px solid #a7c9ba;background:#f1f8f4;border-radius:12px 12px 5px 5px;font-size:clamp(27px,5vw,38px);font-weight:900;text-transform:lowercase;cursor:pointer}.answer-slot.filled{color:#216c5b;border-color:var(--mint);background:#dcf7ed;transform:translateY(-3px)}.letter-bank{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:620px;margin:auto 0 15px}.letter-tile{width:clamp(54px,10vw,68px);height:clamp(58px,11vw,72px);border:solid #dbe8de;border-width:2px 2px 6px;border-radius:18px;background:white;color:#254f47;font-size:31px;font-weight:900;text-transform:lowercase;cursor:pointer;transition:.14s;box-shadow:0 4px 12px rgba(51,100,86,.08)}.letter-tile:hover{transform:translateY(-4px);border-color:var(--sun)}.letter-tile:disabled{opacity:.18;transform:scale(.85)}.question-actions{display:flex;align-items:center;justify-content:center;gap:14px;width:100%}.reset-button{border:0;background:transparent;color:#6c867e;gap:5px;font-weight:800;padding:10px 12px}.reset-button,.skip-button{display:flex;align-items:center;cursor:pointer}.skip-button{border:2px solid #9fd8c5;background:#f4fcf8;color:#2b7463;border-radius:999px;padding:9px 16px;gap:4px;font-weight:900}.reset-button:disabled,.skip-button:disabled{opacity:.5;cursor:default}.feedback{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;width:min(430px,calc(100% - 36px));padding:15px 20px;border-radius:18px;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:900;z-index:8;box-shadow:0 12px 24px rgba(37,82,70,.15)}.feedback.good{background:#dff8ee;color:#16765e;border:2px solid #8dd7bd}.feedback.answer,.feedback.try{background:#fff1df;color:#9b5d27;border:2px solid #ffd09c}.feedback.has-score{width:min(460px,calc(100% - 28px));padding:11px 18px 11px 12px;justify-content:flex-start;gap:13px}.feedback-copy{display:flex;align-items:center;justify-content:center;gap:7px;flex:1 1;line-height:1.25}.feedback-copy svg{flex:0 0 auto}.cloud-score{flex:0 0 72px;height:62px;border-radius:22px 22px 25px 25px;display:flex;align-items:baseline;justify-content:center;gap:2px;color:#176f5a;background:#fffdf3;border:3px solid #ffd75e;box-shadow:0 5px 0 rgba(232,177,41,.2);animation:scorePop .42s cubic-bezier(.2,1.55,.45,1)}.feedback.answer .cloud-score,.feedback.try .cloud-score{color:#9b5d27}.cloud-score strong{font-family:var(--font-body),"Arial Rounded MT Bold",sans-serif;font-size:33px;line-height:1;font-weight:900;letter-spacing:-.04em}.cloud-score small{font-family:PingFang SC,sans-serif;font-size:12px;font-weight:800}@keyframes scorePop{0%{opacity:0;transform:scale(.45) rotate(-8deg)}}.confetti{position:absolute;inset:0;z-index:7;pointer-events:none}.confetti i{position:absolute;top:-20px;font-style:normal;color:var(--sun);animation:confettiFall 1.2s ease-out forwards}.confetti i:first-child{left:10%;animation-delay:.05s}.confetti i:nth-child(2){left:22%;color:var(--coral);animation-delay:.14s}.confetti i:nth-child(3){left:36%;color:var(--mint)}.confetti i:nth-child(4){left:48%;animation-delay:.22s}.confetti i:nth-child(5){left:61%;color:var(--coral)}.confetti i:nth-child(6){left:72%;color:var(--mint);animation-delay:.12s}.confetti i:nth-child(7){left:84%}.confetti i:nth-child(8){left:92%;color:var(--coral);animation-delay:.25s}@keyframes confettiFall{to{transform:translateY(620px) rotate(520deg);opacity:0}}.error-banner{margin:10px auto;width:fit-content;padding:10px 16px;background:#fff1e9;color:#a84d34;border-radius:12px}.result-card{width:min(570px,100%)}.trophy{font-size:90px;filter:drop-shadow(0 14px 10px rgba(103,74,0,.2));animation:trophyIn .7s cubic-bezier(.2,1.6,.5,1)}@keyframes trophyIn{0%{transform:translateY(-40px) scale(.5) rotate(-15deg);opacity:0}}.result-card h1{font-family:var(--font-body),"PingFang SC","Microsoft YaHei",sans-serif;font-size:34px;font-weight:900;line-height:1.35;letter-spacing:-.02em}.result-card h1 strong{color:#e48726;font-size:42px}.score-cards.single{grid-template-columns:minmax(190px,280px);justify-content:center}.score-cards.single div{grid-template-columns:1fr;justify-items:center;text-align:center}.result-stars{display:flex;justify-content:center;gap:4px;margin:18px 0}.result-stars svg{width:27px;color:#d9e2dc;fill:currentColor}.result-stars .lit{color:var(--sun)}.score-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.score-cards div{border-radius:20px;background:#f1faf6;padding:18px;display:grid;grid-template-columns:auto 1fr;align-items:center;text-align:left}.score-cards span{font-size:30px;grid-row:1/3;margin-right:10px}.score-cards strong{font-size:24px}.score-cards small{color:#758b84}.result-message{background:#fff5d7;border-radius:14px;padding:12px;color:#8b6424;font-weight:800}.local-result-note{margin:10px 0;color:#7a6b45;font-size:12px;line-height:1.55}.result-card .primary-button{width:100%}.midterm-result{position:relative;z-index:2;max-height:calc(100dvh - 32px);overflow-y:auto}.midterm-result-name{margin:4px 0 2px;color:#55756c;font-size:14px;font-weight:800}.midterm-result .practice-result-stats{margin-bottom:13px}.midterm-review{max-height:210px;overflow-y:auto}.loading{display:grid;place-items:center}.seed-loader{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:16px;font-size:55px;animation:seedPulse 1.5s infinite}.seed-loader span{font-size:14px;color:#436f64;font-weight:800}@keyframes seedPulse{50%{transform:translateY(-8px)}}.admin-loading{place-items:center;background:#f3f7f4;color:#527068;font-weight:800}.admin-loading,.admin-login{min-height:100dvh;display:grid}.admin-login{place-items:center;background:#143c35;padding:20px}.admin-login section{width:min(430px,100%);padding:44px;background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.admin-logo{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:#ddf7ee;color:var(--mint-dark)}.admin-login p{color:#6e837d;margin:20px 0 4px;font-weight:800;font-size:13px}.admin-login h1{margin:0 0 28px;font-size:30px}.admin-login form{display:grid;gap:15px}.admin-login button{height:52px;border:0;border-radius:14px;background:#1e8069;color:white;font-weight:900;cursor:pointer}.admin-login a{display:block;text-align:center;color:#6e837d;margin-top:20px;font-size:13px}.admin-shell{min-height:100dvh;background:#f4f7f5;display:grid;grid-template-columns:240px 1fr}.admin-shell aside{position:sticky;top:0;height:100dvh;padding:28px 20px;background:#173d36;color:white;display:flex;flex-direction:column}.admin-brand{display:flex;gap:11px;align-items:center;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.12)}.admin-brand>span{font-size:30px}.admin-brand div{display:grid}.admin-brand small{opacity:.58;margin-top:2px}.admin-shell nav{margin-top:28px}.admin-logout,.admin-shell nav button{width:100%;border:0;border-radius:12px;background:transparent;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:10px;padding:13px;cursor:pointer}.admin-shell nav button.active{background:rgba(98,207,174,.17);color:#91e3c9}.admin-logout{margin-top:auto}.admin-main{padding:38px clamp(24px,4vw,62px);min-width:0}.admin-main>header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.admin-main header p{color:#779087;margin:0 0 5px;font-size:13px;font-weight:800}.admin-main header h1{margin:0;font-size:30px}.admin-actions{display:flex;gap:9px}.admin-actions button{height:42px;border:1px solid #d7e2dd;border-radius:10px;padding:0 15px;background:white;cursor:pointer;font-weight:800;display:flex;align-items:center;gap:7px}.admin-actions button.solid{background:#1f7d69;color:white;border-color:#1f7d69}.admin-actions svg{width:17px}.admin-storage-warning{margin:-8px 0 22px;padding:15px 17px;border:1px solid #f0d39a;border-radius:14px;background:#fff8e8;color:#765925;display:flex;align-items:center;gap:12px}.admin-storage-warning>svg{width:22px;flex:0 0 auto}.admin-storage-warning div{flex:1 1}.admin-storage-warning p{margin:3px 0 0;color:#8a7042;font-size:13px}.admin-storage-warning button{height:36px;border:1px solid #dfbd77;border-radius:9px;padding:0 13px;background:#fff;color:#765925;font-weight:800;cursor:pointer}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.metric-grid>div{background:white;padding:22px;border-radius:18px;box-shadow:0 4px 14px rgba(31,68,57,.04);display:grid;grid-template-columns:48px 1fr}.metric-icon{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#23745f;font-size:21px}.metric-icon svg{width:20px}.metric-icon.mint{background:#def6ed}.metric-icon.yellow{background:#fff5c9;color:#b17d08}.metric-icon.coral{background:#ffebe4}.metric-grid p{margin:0;color:#7b8e88;font-size:12px}.metric-grid strong{font-size:27px}.lesson-scores-card{margin-bottom:20px;overflow:hidden;border-radius:20px;background:white;box-shadow:0 4px 14px rgba(31,68,57,.04)}.lesson-scores-head{padding:21px 24px 17px;display:flex;align-items:center;justify-content:space-between;gap:18px}.lesson-scores-head h2{margin:0 0 5px;display:flex;align-items:center;gap:8px;color:#173f36;font-size:19px}.lesson-scores-head h2 svg{width:21px;color:#27856f}.lesson-scores-head p{margin:0;color:#879992;font-size:12px}.lesson-export{min-height:40px;padding:0 14px;border:1px solid #bcded3;border-radius:11px;display:flex;align-items:center;gap:7px;color:#1f735f;background:#eff9f5;font-weight:850;cursor:pointer;white-space:nowrap}.lesson-export svg{width:17px}.lesson-score-filters{padding:13px 24px 16px;border-top:1px solid #f0f4f2;display:flex;align-items:flex-end;gap:10px;background:#fbfdfc}.lesson-score-filters>label:not(.search-box){min-width:170px;display:grid;gap:5px;color:#72867f;font-size:11px;font-weight:800}.lesson-score-filters select{height:40px;padding:0 34px 0 11px;border:1px solid #dfe7e3;border-radius:11px;color:#163f36;background:white;font-weight:800;outline:0}.lesson-score-filters .search-box{margin-left:auto;width:min(270px,34%);background:white}.lesson-score-summary,.lesson-score-table-head{min-width:900px;display:grid;grid-template-columns:minmax(132px,1.25fr) minmax(132px,1.2fr) 50px repeat(4,minmax(69px,.68fr)) 92px 18px;align-items:center;gap:8px}.lesson-score-table-head{padding:10px 22px;border-top:1px solid #edf2ef;border-bottom:1px solid #e8efeb;color:#83968f;background:#f6faf8;font-size:10px;font-weight:850}.lesson-score-table-head span:nth-child(n+3):nth-child(-n+8){text-align:center}.lesson-score-list{overflow-x:auto}.lesson-score-row{min-width:900px;border-bottom:1px solid #edf1ef}.lesson-score-row:last-child{border-bottom:0}.lesson-score-summary{width:100%;padding:14px 22px;border:0;color:#1d4138;background:white;text-align:left;font-family:inherit;cursor:pointer}.lesson-score-summary:hover{background:#fbfdfc}.lesson-student{min-width:0;display:flex;align-items:center;gap:9px}.lesson-name,.lesson-student>span{min-width:0;display:grid;gap:3px}.lesson-name strong,.lesson-student strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.lesson-name small,.lesson-student small{overflow:hidden;color:#8a9b95;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.lesson-name strong{color:#276e5d}.practice-count{display:flex;align-items:baseline;justify-content:center;color:#355f55;font-size:18px}.practice-count small{margin-left:2px;color:#8a9b95;font-size:9px}.lesson-metric-cell{display:grid;place-items:center}.lesson-metric-cell>small{display:none}.lesson-metric{display:flex;align-items:baseline;justify-content:center;font-size:19px;line-height:1}.lesson-metric i{margin-left:2px;color:#8a9b95;font-size:9px;font-style:normal}.lesson-metric.spell{color:#d99413}.lesson-metric.read{color:#24866f}.lesson-metric.empty{color:#aab8b3}.lesson-score-summary time{color:#70857d;font-size:10px;text-align:center}.lesson-row-chevron{width:18px;color:#8ca49c;transition:transform .2s ease}.lesson-score-row.open .lesson-row-chevron{transform:rotate(180deg)}.lesson-score-detail{min-width:900px;padding:17px 24px 21px 73px;border-top:1px dashed #dce8e3;background:#f7fbf9}.lesson-detail-title{margin-bottom:11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-detail-title span{display:flex;align-items:center;gap:7px;color:#285f52;font-size:13px;font-weight:900}.lesson-detail-title svg{width:17px}.lesson-detail-title>small{color:#8a9b95;font-size:10px}.lesson-pronunciation-words{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.lesson-pronunciation-words>div{min-width:0;min-height:58px;padding:9px 10px;border:1px solid #dceae5;border-left:4px solid #49b697;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:7px;background:white}.lesson-pronunciation-words>div.steady{border-left-color:#e1a52b}.lesson-pronunciation-words>div.review{border-left-color:#eb8468}.lesson-pronunciation-words span{min-width:0;display:grid;gap:2px}.lesson-pronunciation-words span strong{overflow:hidden;color:#21584b;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.lesson-pronunciation-words span small{overflow:hidden;color:#91a09b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.lesson-pronunciation-words b{flex:0 0 auto;color:#ef704f;font-size:20px}.lesson-pronunciation-words b small{margin-left:2px;color:#9aa8a3;font-size:8px}.lesson-no-pronunciation{margin:0;padding:16px;border-radius:10px;color:#869891;background:white;text-align:center;font-size:12px}.lesson-attempt-history{margin-top:11px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#71857e;font-size:10px}.lesson-attempt-history>span{padding:5px 8px;border-radius:999px;color:#387162;background:#e8f5f0}.lesson-score-empty{min-height:170px;border-top:1px solid #edf2ef;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#859790}.lesson-score-empty>span{font-size:30px}.lesson-score-empty strong{margin-top:6px;color:#3d5b53;font-size:14px}.lesson-score-empty small{margin-top:3px;font-size:10px}.dialogue-admin-list{border-top:1px solid #edf2ef}.dialogue-admin-row{border-bottom:1px solid #edf2ef}.dialogue-admin-row>button{width:100%;min-width:850px;padding:14px 22px;border:0;display:grid;grid-template-columns:minmax(140px,1.4fr) repeat(5,minmax(72px,.7fr)) 105px 20px;align-items:center;gap:9px;color:#244c42;background:white;text-align:left;font:inherit;cursor:pointer}.dialogue-admin-row>button:hover{background:#f8fcfa}.dialogue-admin-row>button>span:not(.lesson-student){display:grid;text-align:center}.dialogue-admin-row>button>span>small{color:#8a9b95;font-size:9px}.dialogue-admin-row>button>span>strong{font-size:14px}.dialogue-admin-row>button time{color:#70857d;font-size:10px;text-align:center}.dialogue-admin-row>button>svg{width:17px;transition:transform .2s}.dialogue-admin-row.open>button>svg{transform:rotate(180deg)}.dialogue-admin-detail{padding:14px 24px 18px 72px;display:grid;gap:7px;background:#f5faf8}.dialogue-admin-detail>div{min-height:48px;padding:8px 11px;border-radius:10px;display:grid;grid-template-columns:28px minmax(220px,1fr) 70px 70px 48px;align-items:center;gap:8px;background:white}.dialogue-admin-detail>div>b{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#22715f;background:#ddf4ec}.dialogue-admin-detail>div>span{display:grid;gap:2px}.dialogue-admin-detail>div>span small{color:#84968f;font-size:9px}.dialogue-admin-detail>div>span strong{font-size:12px}.dialogue-admin-detail em{color:#467368;font-size:10px;font-style:normal;font-weight:850}.records-card{background:white;border-radius:20px;box-shadow:0 4px 14px rgba(31,68,57,.04);overflow:hidden}.records-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid #edf1ef}.records-head h2{margin:0 0 4px;font-size:19px}.records-head p{margin:0;color:#879992;font-size:12px}.records-filters{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:720px}.records-filters label:not(.search-box){display:grid;gap:5px;min-width:148px;color:#72867f;font-size:11px;font-weight:800}.records-filters select{padding:0 34px 0 11px;background:white;color:#163f36;font-weight:800;outline:0}.records-filters select,.search-box{height:40px;border:1px solid #dfe7e3;border-radius:11px}.search-box{width:min(270px,40%);display:flex;align-items:center;gap:7px;padding:0 11px}.records-filters .search-box{width:230px}.search-box svg{width:17px;color:#8b9c96}.search-box input{min-width:0;width:100%;border:0;outline:0}.empty-state{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:42px;color:#83968f}.empty-state strong{font-size:16px;color:#3d5b53;margin-top:10px}.empty-state span{font-size:12px;margin-top:5px}.record-row{border-bottom:1px solid #edf1ef}.record-summary{width:100%;border:0;background:white;padding:16px 24px;display:grid;grid-template-columns:48px minmax(120px,1.5fr) repeat(3,1fr) 70px;align-items:center;text-align:left;cursor:pointer;gap:10px}.record-summary:hover{background:#f8fbf9}.avatar{width:38px;height:38px;border-radius:12px;background:#def5ec;color:#24735f;display:grid;place-items:center;font-weight:900}.record-summary>span:not(.avatar){display:grid;gap:3px}.record-summary small{color:#8a9b95;font-size:11px}.record-summary strong{font-size:14px}.total-score{display:flex!important;align-items:baseline;justify-content:flex-end}.total-score strong{font-size:24px;color:#1f7d69}.word-details{padding:8px 24px 22px 82px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:#f8fbf9}.word-details div{padding:10px;background:white;border-radius:10px;display:grid;border-left:3px solid #58c59f}.word-details div.miss{border-left-color:#efa167}.word-details div.learned{border-left-color:#39b89c;background:#effaf6}.word-details small,.word-details span{color:#82948e;font-size:10px}@media (max-width:720px){.forest-shell .tree{opacity:.65}.practice-shell{padding-left:12px;padding-right:12px}.lesson-select-shell{padding-top:max(14px,env(safe-area-inset-top))}.lesson-select{padding:35px 14px 22px;border-radius:29px}.lesson-select-mark{width:66px;height:66px;margin-bottom:14px}.lesson-select-mark>svg:first-child{width:34px}.lesson-select-copy{margin-bottom:17px}.lesson-grid{grid-template-columns:1fr;gap:8px}.lesson-card{min-height:78px;padding:10px 11px;border-radius:17px}.practice-intro,.practice-result{padding:32px 20px 27px;border-radius:29px}.practice-back{left:16px;top:15px}.practice-intro-back{min-height:45px;font-size:16px}.practice-intro h1.practice-intro-lesson-title{margin-top:13px;font-size:37px}.practice-intro-mark{width:78px;height:78px;margin-top:15px}.practice-intro-mark>svg:first-child{width:43px}.practice-rule-grid{gap:6px}.practice-rule-grid div{min-height:82px}.practice-leaderboard{margin-top:13px;padding:10px}.practice-rank-grid{gap:7px}.practice-rank-card{padding-inline:6px}.practice-rank-row{min-height:36px;padding-inline:5px;grid-template-columns:23px minmax(0,1fr) auto;gap:3px}.practice-game{width:calc(100% - 22px)}.practice-progress{gap:3px}.practice-question-card{min-height:calc(100dvh - 105px);padding:24px 14px;border-radius:29px}.reading-mode .practice-game-header{height:50px}.reading-mode .practice-progress-twenty{padding-top:1px;padding-bottom:6px;row-gap:2px}.practice-question-card.practice-reading-question{min-height:0;padding:23px 18px 22px;border-radius:27px}.practice-reading-wordbar{width:100%;min-height:clamp(138px,18dvh,154px);margin:0 auto 2px;gap:clamp(9px,1.65dvh,14px)}.practice-reading-word h1{font-size:clamp(50px,16vw,66px)}.practice-reading-word.medium h1{font-size:clamp(36px,11vw,49px)}.practice-reading-word.long h1{font-size:clamp(27px,8vw,36px)}.practice-reading-meaning{font-size:14px}.practice-reading-reference{width:40px;height:40px}.practice-reading-reference svg{width:20px}.practice-reading-recorder{width:122px;height:122px;margin:1px 0 2px}.practice-reading-recorder>button{width:84px;height:84px}.practice-reading-recorder>button svg{width:35px;height:35px}.practice-reading-recorder>svg{inset:6px;width:110px;height:110px}.practice-reading-status{min-height:31px;font-size:12px}.practice-reading-result-row{width:min(350px,100%);margin-top:7px;grid-template-columns:minmax(0,1.08fr) minmax(132px,.92fr);gap:8px}.practice-reading-score{min-height:50px;padding:6px 10px}.practice-reading-score strong{font-size:31px}.practice-reading-next{min-height:50px;padding-inline:13px}.practice-sound{width:82px;height:82px;margin:16px 0 9px}.practice-spelling-meaning{margin-top:5px;font-size:15px}.practice-letters{gap:8px}.practice-feedback{bottom:17px}.practice-result h1 strong{font-size:63px}.portal-page{width:min(100% - 22px,520px);padding-top:max(24px,env(safe-area-inset-top))}.portal-avatar{width:78px;height:78px;margin-bottom:10px}.portal-brand{padding:6px 15px;font-size:14px}.portal-header h1{margin:17px auto 19px;font-size:clamp(25px,7.4vw,31px)}.portal-cards{gap:15px}.portal-card{min-height:272px;padding:25px 20px 82px;border-radius:28px}.test-card{min-height:252px}.portal-card-copy{width:62%}.portal-card h2{margin-top:12px;font-size:clamp(25px,7vw,30px)}.portal-card p{font-size:13px}.portal-action{left:19px;right:19px;bottom:19px;min-height:53px;border-radius:17px;font-size:17px}.daily-illustration,.test-illustration{right:6px;transform:scale(.78);transform-origin:100% 0}.test-illustration{right:5px}.portal-note{margin-top:17px;font-size:12px}.device-card,.home-card,.result-card,.welcome-card{padding:28px 21px;border-radius:28px}.welcome-card h1{font-size:32px}.home-top h1{font-size:27px}.home-tips{gap:8px;justify-content:space-between}.map-card{padding:22px 15px}.map-stop{width:44px;height:44px;font-size:21px}.question-card{min-height:calc(100dvh - 124px);border-radius:29px;padding:24px 15px}.star-progress{gap:1px}.hero-word.no-image{margin-top:80px}.letter-bank{gap:8px}.feedback{bottom:18px}.admin-shell{display:block}.admin-shell aside{height:auto;position:static;padding:15px 18px;flex-direction:row;align-items:center}.admin-brand{padding:0;border:0}.admin-shell nav{display:none}.admin-logout{margin:0 0 0 auto;width:auto}.admin-main{padding:22px 14px}.admin-main>header{align-items:flex-start;gap:15px}.admin-actions{flex-direction:column}.metric-grid{grid-template-columns:1fr}.lesson-scores-head{padding:18px 16px 14px;align-items:flex-start}.lesson-scores-head p{max-width:240px;line-height:1.5}.lesson-export{min-height:36px;padding-inline:10px;font-size:11px}.lesson-score-filters{padding:12px 14px 14px;display:grid;grid-template-columns:1fr}.lesson-score-filters .search-box,.lesson-score-filters>label:not(.search-box){width:100%;min-width:0;margin:0}.lesson-score-table-head{display:none}.lesson-score-list{overflow:visible}.lesson-score-row{min-width:0}.lesson-score-summary{position:relative;min-width:0;padding:15px 38px 15px 15px;grid-template-columns:1fr auto;gap:10px 8px}.lesson-student{grid-column:1}.lesson-score-summary>.practice-count{grid-column:2;grid-row:1}.lesson-name{grid-column:1/3;padding-bottom:4px;border-bottom:1px solid #edf2ef}.lesson-metric-cell{min-height:52px;padding:7px;border-radius:10px;background:#f6faf8}.lesson-metric-cell>small{display:block;margin-bottom:5px;color:#83968f;font-size:9px}.lesson-score-summary time{grid-column:1/3;text-align:left}.lesson-row-chevron{position:absolute;right:13px;top:19px}.lesson-score-detail{min-width:0;padding:14px}.lesson-detail-title{align-items:flex-start}.lesson-pronunciation-words{grid-template-columns:repeat(2,minmax(0,1fr))}.records-head{align-items:flex-start;gap:12px;flex-direction:column}.records-filters{width:100%;display:grid;grid-template-columns:1fr}.records-filters label:not(.search-box){min-width:0}.records-filters .search-box,.search-box{width:100%}.record-summary{grid-template-columns:42px 1fr 58px;padding:14px}.record-summary>span:nth-child(3),.record-summary>span:nth-child(4),.record-summary>span:nth-child(5){display:none}.word-details{padding:10px 14px 18px;grid-template-columns:repeat(2,1fr)}}@media (max-width:350px){.practice-reading-result-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}