:root{--ink:#23264a;--muted:#6b6f93;--purple:#6256e8;--purple2:#8b72ff;--pink:#ff74aa;--cyan:#5bd6ed;--gold:#ffcc4a;--green:#55d6a1;--card:#ffffffeb;--line:#e8e7f8;--shadow:0 18px 50px rgba(73,58,145,.16)}*{box-sizing:border-box}html{min-height:100%;background:#eef2ff}body{margin:0;min-height:100vh;color:var(--ink);font-family:'Trebuchet MS',system-ui,sans-serif;background:radial-gradient(circle at 10% 10%,#fff1fb 0,transparent 28%),radial-gradient(circle at 90% 12%,#e2f9ff 0,transparent 30%),linear-gradient(145deg,#f7f4ff,#edf5ff 50%,#fff6fb);overflow-x:hidden}.hidden{display:none!important}button,input,textarea{font:inherit}.glass-card{background:var(--card);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);border-radius:28px}.sky-deco span{position:fixed;z-index:-1;color:#887cff;opacity:.2;font-size:28px;animation:float 7s ease-in-out infinite}.sky-deco span:nth-child(1){left:7%;top:15%}.sky-deco span:nth-child(2){left:18%;top:75%;animation-delay:1.2s}.sky-deco span:nth-child(3){left:76%;top:14%;animation-delay:2.4s}.sky-deco span:nth-child(4){left:88%;top:72%;animation-delay:3.6s}.sky-deco span:nth-child(5){left:54%;top:7%;animation-delay:4.8s}@keyframes float{50%{transform:translateY(-18px) rotate(12deg)}}
.login-shell{min-height:100vh;max-width:1180px;margin:auto;padding:48px 28px;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}.login-hero{padding:34px 10px}.school-badge{width:84px;height:84px;border-radius:27px;display:grid;place-items:center;font-family:'Trebuchet MS',system-ui,sans-serif;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--purple),#8876ff);box-shadow:0 15px 30px #6256e84a;transform:rotate(-5deg);margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:900;color:#7469d8;margin:0 0 8px;text-transform:uppercase}.eyebrow.light{color:#e8e6ff}.login-hero h1{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:clamp(58px,8vw,96px);line-height:.88;margin:0;color:#2b2f5a;letter-spacing:-.045em}.login-hero h1 span{display:block;color:transparent;background:linear-gradient(90deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text}.hero-copy{max-width:620px;font-size:21px;font-weight:700;line-height:1.55;color:#61658d}.hero-party{height:150px;display:flex;align-items:end;gap:18px;padding:14px 0}.anime-avatar{width:105px;height:105px;border-radius:50%;position:relative;background:#ffe5d2;border:6px solid #fff;box-shadow:0 13px 30px #564ea128;overflow:hidden}.anime-avatar:before{content:"";position:absolute;width:120px;height:75px;background:linear-gradient(145deg,#25345d,#5065a8);border-radius:55% 45% 45% 55%;left:-8px;top:-23px;transform:rotate(-8deg)}.anime-avatar.avatar-b:before{background:linear-gradient(145deg,#4e2e58,#a65682)}.anime-avatar i,.anime-avatar b{position:absolute;width:12px;height:17px;border-radius:50%;background:#2f3255;top:48px}.anime-avatar i{left:28px}.anime-avatar b{right:28px}.anime-avatar i:after,.anime-avatar b:after{content:"";position:absolute;width:4px;height:6px;background:#fff;border-radius:50%;left:2px;top:2px}.magic-pet{width:130px;height:130px;border-radius:44% 56% 48% 52%;background:linear-gradient(145deg,#e7ddff,#fff);display:grid;place-items:center;font-size:75px;position:relative;box-shadow:0 18px 35px #6759d035;border:4px solid #fff;animation:bob 3s ease-in-out infinite}.magic-pet>span{filter:drop-shadow(0 5px 8px #493ca835)}.magic-pet> :first-child{}.magic-pet:before{content:"✦";position:absolute;color:#ffd35c;font-size:30px;top:-12px;right:3px}.magic-pet:after{content:"✧";position:absolute;color:#8b72ff;font-size:24px;bottom:6px;left:0}@keyframes bob{50%{transform:translateY(-9px)}}.feature-pills{display:flex;flex-wrap:wrap;gap:10px}.feature-pills span{padding:10px 14px;border-radius:999px;background:#fff;box-shadow:0 6px 20px #5952a912;font-size:13px;font-weight:800;color:#555980}.login-card{padding:36px;position:relative}.mini-ribbon{display:inline-block;background:linear-gradient(90deg,#6f60ec,#9a80ff);color:#fff;border-radius:999px;padding:7px 12px;font-size:11px;letter-spacing:.12em;font-weight:900}.login-card h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:34px;margin:12px 0 0}.login-card>p{color:var(--muted);font-weight:650;line-height:1.5}.login-card label{display:block;margin:20px 0 7px;font-size:13px;font-weight:900;color:#555a82}.input-wrap{height:56px;display:flex;align-items:center;border:2px solid #eceafb;border-radius:18px;background:#fafaff;padding:0 13px;transition:.2s}.input-wrap:focus-within{border-color:#8977ef;box-shadow:0 0 0 4px #7b69ea18;background:#fff}.input-wrap>span{font-size:18px;margin-right:10px}.input-wrap input{border:0;outline:0;background:transparent;min-width:0;flex:1;color:var(--ink);font-weight:800;font-size:16px}.input-wrap button{border:0;background:transparent;cursor:pointer}.primary-btn{border:0;color:#fff;background:linear-gradient(110deg,#6256e8,#8d6ff7 55%,#e268b5);border-radius:18px;height:56px;font-weight:900;box-shadow:0 12px 24px #6f5be236;cursor:pointer;transition:.18s;display:flex;align-items:center;justify-content:center;gap:14px}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px #6f5be247}.login-btn{width:100%;margin-top:24px}.error-text{color:#d94264;min-height:22px;font-size:13px;font-weight:800}.login-note{margin-top:10px;padding:12px 14px;border-radius:14px;background:#f2f0ff;color:#686596;font-size:12px;font-weight:700}
.topbar{height:76px;padding:0 max(22px,calc((100vw - 1260px)/2));display:flex;align-items:center;gap:24px;background:rgba(255,255,255,.83);backdrop-filter:blur(18px);border-bottom:1px solid #ebe9fa;position:sticky;top:0;z-index:20}.brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;color:var(--ink);cursor:pointer;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px}.brand-gem{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--purple),#9e79ff);color:#fff}.top-stats{display:flex;gap:8px;margin-left:auto}.stat-chip{height:42px;padding:0 12px;border-radius:14px;background:#f7f6ff;display:flex;align-items:center;gap:6px;font-size:13px}.stat-chip b{font-size:14px}.stat-chip small{font-size:10px;color:#8a87a9;font-weight:800;text-transform:uppercase}.player-menu{display:flex;align-items:center;gap:8px}.player-pill{height:48px;border:0;background:#fff;border-radius:16px;box-shadow:0 7px 20px #4e4b8513;padding:5px 11px 5px 6px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer}.player-pill>span:last-child{display:flex;flex-direction:column}.player-pill small{color:#8a88a8;font-weight:800}.mini-avatar{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd7e8,#d8d2ff);font-weight:900;color:#5b4db2}.icon-btn,.round-btn{border:0;background:#f3f2fb;color:#5f5a8c;width:42px;height:42px;border-radius:14px;cursor:pointer;font-weight:900}.dashboard{max-width:1260px;margin:auto;padding:30px 22px 70px}.welcome-banner{min-height:230px;padding:34px 38px;border-radius:32px;background:linear-gradient(120deg,#5348cf,#7761e7 56%,#ae69e9);box-shadow:0 22px 50px #5e50cf3b;color:#fff;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.welcome-banner:before,.welcome-banner:after{content:"";position:absolute;border-radius:50%;background:#fff1}.welcome-banner:before{width:270px;height:270px;right:-70px;top:-100px}.welcome-banner:after{width:180px;height:180px;right:180px;bottom:-120px}.welcome-banner h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:40px;line-height:1.05;margin:0}.welcome-banner h2 span{color:#ffe171}.welcome-banner p{font-weight:700;color:#e9e7ff}.level-row{display:grid;grid-template-columns:auto minmax(140px,320px) auto;gap:12px;align-items:center;font-size:12px;font-weight:900;margin-top:22px}.xp-bar{height:10px;border-radius:99px;background:#ffffff31;overflow:hidden}.xp-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffe46f,#fff2b2);border-radius:99px;transition:.5s}.pet-stage{width:210px;height:165px;z-index:1;display:grid;place-items:center}.pet-stage .pet-svg{width:160px;height:160px;filter:drop-shadow(0 18px 15px #372f8a55);animation:bob 3s ease-in-out infinite}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;margin-top:24px}.quest-panel,.pet-card,.badge-card{padding:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:26px;margin:0}.map-badge{padding:7px 10px;border-radius:12px;background:#f0efff;color:#6a5fd1;font-size:11px;font-weight:900}.quest-map{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:19px}.quest-node{min-height:150px;border:1px solid #eceaf7;background:linear-gradient(145deg,#fff,#faf9ff);border-radius:22px;padding:18px;text-align:left;cursor:pointer;position:relative;transition:.18s;overflow:hidden}.quest-node:hover{transform:translateY(-4px);box-shadow:0 14px 28px #5e55a01d;border-color:#cec9f6}.quest-node:before{content:"";position:absolute;width:85px;height:85px;border-radius:50%;right:-28px;top:-28px;background:var(--node,#eeeaff)}.quest-number{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:var(--node,#eeeaff);color:#554ac2;font-weight:900;font-size:17px}.quest-node h4{margin:12px 0 3px;font-size:15px}.quest-node p{margin:0;color:#8a87a7;font-size:11px;font-weight:700}.quest-stars{position:absolute;right:13px;bottom:12px;font-size:12px;letter-spacing:1px;color:#d8d6e9}.quest-stars .won{color:#ffc838}.quest-node.completed{border-color:#c7f1df}.quest-node.completed .quest-number{background:#dff8ec;color:#269369}.side-column{display:flex;flex-direction:column;gap:22px}.pet-card{text-align:center}.pet-card .section-heading{text-align:left}.pet-portrait{height:160px;display:grid;place-items:center;margin-top:6px}.pet-portrait .pet-svg{width:145px;height:145px;filter:drop-shadow(0 15px 13px #473b9a25)}.pet-progress{text-align:left}.pet-progress>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.pet-progress span{color:#8c89aa}.xp-bar.pet{background:#efedfb}.xp-bar.pet i{background:linear-gradient(90deg,#6a5be6,#ff79af)}.pet-progress small{display:block;color:#9390ac;margin-top:7px}.secondary-btn{border:0;background:#f0efff;color:#6257d0;border-radius:14px;padding:11px 14px;font-weight:900;cursor:pointer;width:100%;margin-top:16px}.badge-card{min-height:180px}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.badge{aspect-ratio:1;border-radius:16px;background:#f6f5fb;display:grid;place-items:center;font-size:25px;filter:grayscale(1);opacity:.35;position:relative}.badge.unlocked{filter:none;opacity:1;background:linear-gradient(145deg,#fff9df,#fff0b8);box-shadow:0 8px 18px #cfa84520}.badge small{position:absolute;font-size:8px;bottom:4px;font-weight:900;color:#6c688d;text-align:center;line-height:1.05}
.lesson-dialog,.pet-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}.lesson-dialog{width:100vw;height:100vh}.lesson-dialog::backdrop,.pet-dialog::backdrop{background:#29264188;backdrop-filter:blur(6px)}.lesson-shell{width:100%;height:100%;background:#f6f7ff;display:flex;flex-direction:column}.lesson-header{min-height:98px;padding:18px max(22px,calc((100vw - 1050px)/2));background:linear-gradient(115deg,#574bd4,#8169ea);color:#fff;display:grid;grid-template-columns:50px 1fr auto;gap:16px;align-items:center}.lesson-header .round-btn{background:#ffffff20;color:#fff}.lesson-header h2{font-family:'Trebuchet MS',system-ui,sans-serif;margin:0;font-size:28px}.lesson-reward{padding:10px 13px;border-radius:14px;background:#ffffff18;font-size:13px}.mode-tabs{display:flex;justify-content:center;gap:8px;padding:12px;background:#fff;border-bottom:1px solid #e9e8f4;position:sticky;top:0;z-index:4}.mode-tabs button{border:0;background:#f5f4fb;color:#747191;padding:10px 16px;border-radius:14px;font-weight:900;cursor:pointer}.mode-tabs button.active{background:#6658df;color:#fff;box-shadow:0 8px 18px #6558df2e}.lesson-content{width:min(100% - 32px,980px);margin:22px auto 60px}.learn-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.learning-card{padding:24px;background:#fff;border:1px solid #ebeaf7;border-radius:24px;box-shadow:0 10px 26px #54508c0c}.learning-card.full{grid-column:1/-1}.learning-card h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:23px;margin:0 0 5px}.learning-card .sub{color:#8a88a4;font-size:12px;font-weight:700}.speed-control{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.speed-btn{border:1px solid #e5e2f7;background:#f8f7ff;border-radius:11px;padding:8px 11px;color:#6f69a1;font-weight:900;cursor:pointer}.speed-btn.active{background:#6558dc;color:#fff;border-color:#6558dc}.word-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.word-chip{border:0;background:#f3f1ff;color:#4f4a8b;border-radius:13px;padding:10px 13px;font-weight:800;cursor:pointer;display:flex;gap:7px;align-items:center}.word-chip:hover{background:#e8e4ff}.passage-box{margin-top:16px;padding:19px;border-radius:17px;background:#fafaff;color:#44486e;line-height:1.8;font-size:15px}.play-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.play-btn{border:0;background:linear-gradient(135deg,#6558df,#8b72f2);color:#fff;border-radius:14px;padding:10px 14px;font-weight:900;cursor:pointer}.challenge-card{max-width:680px;margin:18px auto;background:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow);text-align:center}.challenge-icon{width:100px;height:100px;border-radius:35px;background:linear-gradient(145deg,#ece9ff,#fff3fb);display:grid;place-items:center;font-size:48px;margin:2px auto 18px;box-shadow:inset 0 0 0 1px #fff}.challenge-card h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:28px;margin:0}.challenge-card p{color:#82809c;font-weight:700}.answer-input{width:100%;min-height:58px;border:2px solid #e8e5f7;border-radius:17px;padding:14px 16px;outline:0;background:#fafaff;color:#303355;font-weight:800;font-size:17px;margin:12px 0;resize:vertical}.answer-input:focus{border-color:#8070e9;box-shadow:0 0 0 4px #7768e315}.challenge-actions{display:flex;gap:10px}.challenge-actions button{flex:1}.feedback{min-height:50px;margin-top:13px;padding:12px;border-radius:14px;font-size:13px;font-weight:800;text-align:left}.feedback.correct{background:#e9fbf3;color:#278863}.feedback.wrong{background:#fff0f4;color:#c24766}.hint-answer{font-weight:900;color:#6258c7}.quest-progress{display:flex;justify-content:center;gap:6px;margin-bottom:16px}.quest-dot{width:12px;height:12px;border-radius:50%;background:#e5e3ef}.quest-dot.done{background:#55d6a1}.quest-dot.current{background:#7b69e9;box-shadow:0 0 0 4px #7b69e91a}.result-burst{font-size:74px;animation:pop .45s ease-out}@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.14)}100%{transform:scale(1)}}.result-stars{font-size:36px;letter-spacing:7px;color:#ffca38}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:#29284a;color:#fff;padding:12px 18px;border-radius:14px;font-weight:900;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:99;box-shadow:0 12px 30px #20203b44}.toast.show{opacity:1;transform:translate(-50%,0)}.pet-dialog{width:min(92vw,760px)}.pet-picker{padding:25px}.pet-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.pet-option{border:2px solid #eceaf7;background:#fafaff;border-radius:20px;padding:14px;cursor:pointer;text-align:center}.pet-option:hover{border-color:#8b79ed;transform:translateY(-2px)}.pet-option .pet-svg{width:100px;height:100px}.pet-option b{display:block;margin-top:4px}.pet-option small{color:#8a87a6}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;padding-top:28px;gap:14px}.login-hero{text-align:center;padding-bottom:0}.school-badge{margin:0 auto 18px}.hero-copy{margin-left:auto;margin-right:auto}.hero-party,.feature-pills{justify-content:center}.login-hero h1{font-size:64px}.dashboard-grid{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr}.quest-map{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.login-shell{padding:22px 14px}.login-hero h1{font-size:54px}.hero-copy{font-size:16px}.hero-party{height:120px}.anime-avatar{width:80px;height:80px}.magic-pet{width:100px;height:100px;font-size:55px}.login-card{padding:24px}.topbar{padding:0 12px}.brand b{display:none}.top-stats .stat-chip:nth-child(2){display:none}.player-pill>span:last-child{display:none}.dashboard{padding:18px 12px 50px}.welcome-banner{padding:26px 23px;min-height:250px;align-items:flex-start}.welcome-banner h2{font-size:31px}.pet-stage{position:absolute;right:-20px;bottom:-10px;width:145px;height:145px;opacity:.9}.pet-stage .pet-svg{width:120px;height:120px}.level-row{grid-template-columns:auto 1fr;max-width:70%}.level-row>span:last-child{grid-column:1/-1}.quest-panel,.pet-card,.badge-card{padding:17px}.quest-map{grid-template-columns:1fr 1fr;gap:9px}.quest-node{min-height:135px;padding:14px}.side-column{grid-template-columns:1fr}.learn-grid{grid-template-columns:1fr}.learning-card.full{grid-column:auto}.mode-tabs{overflow:auto;justify-content:flex-start}.mode-tabs button{white-space:nowrap}.lesson-header{padding:14px;grid-template-columns:42px 1fr}.lesson-reward{display:none}.lesson-content{width:calc(100% - 20px);margin-top:12px}.challenge-card{padding:22px 17px}.pet-options{grid-template-columns:1fr 1fr}.badges{grid-template-columns:repeat(5,1fr)}}

/* v1.1 — full English names, live word highlighting, 100-pet encyclopedia */
.player-pill b{display:block;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reader-note{display:inline-flex;align-items:center;gap:6px;margin:5px 0 10px;padding:7px 10px;border-radius:11px;background:#fff7cf;color:#786222;font-size:12px;font-weight:900}
.reader-box{max-height:360px;overflow:auto;scroll-behavior:smooth;white-space:pre-wrap}
.reader-word{border-radius:6px;padding:1px 2px;margin:-1px -2px;transition:background .12s,color .12s,box-shadow .12s,transform .12s;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.reader-word.active{background:linear-gradient(120deg,#ffe66c,#ffcf54);color:#302a61;box-shadow:0 2px 0 #f0b928,0 0 0 3px #ffe66c44;transform:translateY(-1px);font-weight:900}
.sentence-reader-list{display:flex;flex-direction:column;gap:10px}
.sentence-reader{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;background:#fff;border:1px solid #efedf9;border-radius:14px;padding:9px}
.sentence-reader .word-chip{padding:9px;margin:0}.reader-line{margin:4px 0;line-height:1.9;white-space:pre-wrap}
.pet-actions{display:grid;gap:8px}.pet-actions .secondary-btn{margin-top:8px}.dex-btn{background:linear-gradient(120deg,#f0efff,#fff0fa);color:#594eb9}.dex-btn span{float:right;color:#8a7fd5}
.unlock-banner{margin:12px 0;padding:11px;border-radius:14px;background:linear-gradient(120deg,#fff4c8,#ffe8f6);color:#76512f;font-weight:900}

.pet-dex-dialog{border:0;padding:0;background:transparent;width:100vw;height:100vh;max-width:none;max-height:none}.pet-dex-dialog::backdrop{background:#29264188;backdrop-filter:blur(7px)}
.pet-dex-shell{height:100%;background:linear-gradient(145deg,#f7f5ff,#eef8ff 55%,#fff5fb);overflow:auto}
.pet-dex-header{min-height:150px;padding:24px 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(115deg,#493fc4,#7661e3 55%,#a95ed9);color:#fff;position:sticky;top:0;z-index:5;box-shadow:0 10px 30px #3d34852c}
.pet-dex-header h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:36px;margin:0}.pet-dex-header p:not(.eyebrow){margin:4px 0;color:#ece9ff;font-weight:700}.pet-dex-header .round-btn{background:#ffffff21;color:#fff}
.pet-dex-toolbar{max-width:none;margin:18px auto 0;padding:0 22px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px}.dex-stats{display:flex;gap:8px;flex-wrap:wrap}.dex-stats span{padding:8px 11px;border-radius:999px;background:#fff;box-shadow:0 5px 17px #48437f10;font-size:12px;font-weight:900;color:#615b8e}.dex-filters{display:flex;background:#fff;border:1px solid #e9e7f7;border-radius:14px;padding:4px}.dex-filters button{border:0;background:transparent;border-radius:10px;padding:8px 12px;color:#77749a;font-weight:900;cursor:pointer}.dex-filters button.active{background:#6558dc;color:#fff}.pet-dex-toolbar>b{font-size:12px;color:#66618f}
.pet-dex-grid{max-width:none;margin:14px auto 60px;padding:0 22px;display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.dex-card{min-height:300px;border:2px solid #eceaf7;border-radius:23px;padding:14px;background:#fff;position:relative;text-align:center;box-shadow:0 10px 26px #554f8d0b;transition:.18s;overflow:hidden}.dex-card.unlocked:hover{transform:translateY(-4px);box-shadow:0 16px 30px #554f8d1a}.dex-card.selected{border-color:#7565e7;box-shadow:0 0 0 4px #7565e719,0 14px 30px #554f8d18}.dex-card.locked{background:linear-gradient(145deg,#f4f3fa,#e9e9f1);border-color:#e0dfe9}.dex-card:before{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-38px;top:-45px;background:#8876ef0d}.dex-number{position:absolute;left:13px;top:11px;font-size:10px;font-weight:900;color:#9995b5}.dex-art{height:135px;display:grid;place-items:center}.dex-art .pet-svg{width:130px;height:130px;filter:drop-shadow(0 12px 10px #4e448522)}.pet-silhouette{width:104px;height:104px;border-radius:45% 55% 48% 52%;background:linear-gradient(145deg,#bbb9c9,#88879a);color:#e9e8ef;display:grid;place-items:center;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:52px;filter:drop-shadow(0 9px 12px #4a485323)}.dex-rarity{display:inline-block;padding:4px 8px;border-radius:999px;background:#f1effd;color:#7166cd;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.dex-card h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px;margin:7px 0 0}.dex-card p{min-height:34px;margin:2px 0 8px;color:#8a87a5;font-size:11px;font-weight:700}.dex-use{border:0;border-radius:12px;padding:8px 10px;background:#6558dc;color:#fff;font-size:11px;font-weight:900;cursor:pointer;width:100%}.selected .dex-use{background:#3ca777}.unlock-req{display:flex;flex-direction:column;gap:4px;padding:7px;border-radius:12px;background:#ffffff8c;color:#68657a;font-size:10px;font-weight:900}.rarity-rare .dex-rarity{background:#e5f5ff;color:#2a77a5}.rarity-epic .dex-rarity{background:#efe6ff;color:#7a41bb}.rarity-legendary .dex-rarity{background:#fff0ca;color:#a96a14}.rarity-mythic{background:linear-gradient(145deg,#fff8d8,#f5e8ff,#e8f8ff);border-color:#e2c95b}.rarity-mythic .dex-rarity{background:linear-gradient(90deg,#ffcc52,#d789f1);color:#fff}

@media(max-width:1020px){.pet-dex-grid{grid-template-columns:repeat(4,1fr)}.pet-dex-toolbar{grid-template-columns:1fr auto}.pet-dex-toolbar>b{grid-column:1/-1}.top-stats{gap:4px}.stat-chip{padding:0 8px}}
@media(max-width:760px){.pet-dex-grid{grid-template-columns:repeat(2,1fr);padding:0 12px}.pet-dex-toolbar{padding:0 12px;grid-template-columns:1fr}.pet-dex-header{padding:22px 16px;min-height:130px}.pet-dex-header h2{font-size:28px}.dex-filters{width:max-content}.player-pill b{max-width:130px}.top-stats .stat-chip:nth-child(3){display:none}}
@media(max-width:420px){.pet-dex-grid{gap:8px}.dex-card{padding:10px;min-height:282px}.dex-art{height:120px}.dex-art .pet-svg{width:112px;height:112px}.player-pill b{max-width:100px}}


/* v1.2 — reliable passage reader with pause/resume and click-to-start */
.reader-clickable{cursor:pointer;position:relative}
.reader-clickable:hover{background:#ece9ff;color:#4a42a4;box-shadow:0 0 0 2px #7668e71e}
.reader-clickable:focus-visible{outline:2px solid #6d5de1;outline-offset:2px;background:#f0edff}
.reader-word.active{background:linear-gradient(120deg,#fff176,#ffc94f);color:#2f275e;box-shadow:0 2px 0 #eeb626,0 0 0 4px #ffd84d55,0 0 22px #ffd44c66;animation:readerGlow .65s ease-in-out infinite alternate}
@keyframes readerGlow{from{filter:saturate(1);transform:translateY(-1px) scale(1)}to{filter:saturate(1.15);transform:translateY(-1px) scale(1.035)}}
.reader-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.reader-pause{border:1px solid #dedaf7;background:#fff;color:#5d55a8;border-radius:14px;padding:10px 14px;font-weight:900;cursor:pointer;transition:.15s}
.reader-pause:hover:not(:disabled){background:#f3f0ff;border-color:#bdb4ef;transform:translateY(-1px)}
.reader-pause:disabled{opacity:.42;cursor:not-allowed}
.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 6px;padding:10px 12px;border:1px solid #ece9fb;border-radius:15px;background:linear-gradient(120deg,#faf9ff,#fff)}
.reader-status{display:flex;align-items:center;gap:8px;color:#777397;font-size:12px;font-weight:800;min-width:260px;flex:1}
.reader-status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c8c5d5;box-shadow:0 0 0 4px #c8c5d51a;flex:none}
.reader-status-dot.playing{background:#55c994;box-shadow:0 0 0 4px #55c99422;animation:readerPulse 1s ease-in-out infinite}
.reader-status-dot.paused{background:#f2b94b;box-shadow:0 0 0 4px #f2b94b25}
@keyframes readerPulse{50%{box-shadow:0 0 0 8px #55c99410}}
.reader-box{user-select:text}
@media(max-width:620px){.reader-toolbar{align-items:flex-start}.reader-status{min-width:100%;font-size:11px}.reader-controls{width:100%}.reader-controls>*{flex:1}.reader-pause,.play-btn{min-height:44px}}

/* v1.4 — Dictation punctuation coaching */
.dictation-note{max-width:560px;margin:14px auto 4px!important;padding:10px 13px;border-radius:13px;background:#fff8d8;color:#786425!important;font-size:12px;line-height:1.5;text-align:left;border:1px solid #f3e5a7}.dictation-note b{color:#5d50c7}
.feedback.wrong b{color:#9f3150}

/* v1.5 — Reading Realm / comic e-book */
.world-portals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 0}.world-portal{min-height:132px;border:1px solid #e6e3f6;border-radius:25px;padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#fff;box-shadow:0 12px 30px rgba(67,58,129,.10);text-align:left;position:relative;overflow:hidden}.world-portal:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-52px;top:-58px;opacity:.22}.dictation-portal:before{background:#8d78ff}.reading-portal:before{background:#56d6ed}.reading-portal{cursor:pointer;background:linear-gradient(135deg,#f7fbff,#f3f0ff 58%,#fff3fa);transition:.18s}.reading-portal:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(67,58,129,.17);border-color:#c8c1f4}.portal-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:31px;background:linear-gradient(145deg,#eeeaff,#fff);box-shadow:inset 0 0 0 1px #ece9fa}.reading-portal .portal-icon{background:linear-gradient(145deg,#dff9ff,#e9e4ff)}.world-portal h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:22px;margin:0 0 2px}.world-portal p:not(.eyebrow){margin:0;color:#777594;font-size:13px;font-weight:700;line-height:1.45}.portal-tag,.portal-arrow{position:relative;z-index:1;padding:7px 10px;border-radius:999px;background:#f0edff;color:#6659ce;font-size:10px;font-weight:900}.portal-arrow{font-size:20px;width:42px;height:42px;display:grid;place-items:center}.portal-progress{height:7px;border-radius:99px;background:#eae7f7;margin:10px 0 5px;overflow:hidden;max-width:330px}.portal-progress i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#5bd6ed,#7762eb);transition:.4s}.reading-portal small{color:#66628c;font-size:10px}

.reading-dialog{border:0;padding:0;background:transparent;width:100vw;height:100vh;max-width:none;max-height:none}.reading-dialog::backdrop{background:#25213d91;backdrop-filter:blur(7px)}.reading-shell{height:100%;background:linear-gradient(145deg,#e9f8ff,#f3f1ff 45%,#fff7fb);overflow:hidden;display:flex;flex-direction:column}.reading-header{min-height:94px;padding:14px max(18px,calc((100vw - 1420px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;background:linear-gradient(110deg,#4467cf,#6056df 56%,#8a5ed8);color:#fff;box-shadow:0 8px 28px #39357f33;z-index:4}.reading-header .round-btn{background:#ffffff1e;color:#fff}.reading-header h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:29px;line-height:1;margin:0}.reading-header small{color:#dedcff;font-weight:800}.reading-source-link{color:#fff;text-decoration:none;background:#ffffff1d;border:1px solid #ffffff2b;padding:9px 12px;border-radius:13px;font-size:11px;font-weight:900}.reading-layout{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr;max-width:1460px;width:100%;margin:auto}.reading-library{padding:20px 15px;background:#ffffffb8;border-right:1px solid #dfddf1;overflow:auto}.reading-library-title{display:flex;gap:10px;align-items:center}.reading-library-title>span{font-size:34px}.reading-library-title h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:25px;margin:0}.reading-library-copy{font-size:11px;color:#817e9e;font-weight:700;margin:8px 0 13px}.reading-term-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#f0eff8;border-radius:14px;padding:4px}.reading-term-tabs button{border:0;border-radius:10px;padding:9px 5px;color:#797694;background:transparent;font-size:11px;font-weight:900;cursor:pointer}.reading-term-tabs button.active{background:#6256e8;color:#fff;box-shadow:0 5px 12px #6256e82a}.reading-unit-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.reading-unit{border:1px solid transparent;background:transparent;border-radius:15px;padding:9px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;text-align:left;color:#5f5b83;cursor:pointer}.reading-unit:hover{background:#f7f6ff}.reading-unit.active{background:linear-gradient(110deg,#6659df,#8a6feb);color:#fff;box-shadow:0 8px 18px #5f52d02d}.reading-unit.completed:not(.active){background:#effbf5;border-color:#d3f0e1}.reading-unit-no{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:#ece9ff;color:#6558cf;font-weight:900;font-size:11px}.reading-unit.active .reading-unit-no{background:#ffffff25;color:#fff}.reading-unit b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px}.reading-unit small{display:block;font-size:9px;color:#9592ad;font-weight:800;margin-top:1px}.reading-unit.active small{color:#e7e4ff}.reading-unit i{font-style:normal;font-size:18px}.reading-progress-card{margin-top:15px;padding:12px;border-radius:15px;background:#fff;border:1px solid #ece9f7}.reading-progress-card>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#6d698d}.reading-progress-track{height:7px;border-radius:99px;background:#eeedf5;margin-top:8px;overflow:hidden}.reading-progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#54d3b2,#5b79e5);border-radius:99px;transition:.4s}

.reading-main{padding:18px 22px 54px;overflow:auto}.reading-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#ffffffd9;border:1px solid #e7e5f4;border-radius:18px;padding:13px 15px;margin-bottom:13px;box-shadow:0 8px 20px #4f4a7e0c}.reading-tools .eyebrow{margin-bottom:3px}.reading-audio-row{display:flex;gap:7px}.reading-audio-btn{border:0;border-radius:12px;padding:9px 12px;background:#6558dc;color:#fff;font-weight:900;cursor:pointer}.reading-audio-btn.secondary{background:#efedfb;color:#625a9b}.reading-audio-btn:disabled{opacity:.45;cursor:not-allowed}.reading-tools small{display:block;margin-top:5px;color:#8a87a1;font-size:10px;font-weight:700}.reading-speed{display:flex;align-items:center;gap:5px}.reading-speed>span{font-size:10px;font-weight:900;color:#716d92;margin-right:3px}.reading-speed button{border:1px solid #ddd9f5;background:#f9f8ff;color:#69658d;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:900;cursor:pointer}.reading-speed button.active{background:#6558dc;color:#fff;border-color:#6558dc}.comic-reader-card{background:linear-gradient(145deg,#e3b97f,#a97145);border:1px solid #9a663f;border-radius:25px;padding:12px;box-shadow:0 20px 40px #6540242b;position:relative}.comic-reader-card:before{content:"";position:absolute;inset:7px;border:2px dashed #ffffff26;border-radius:20px;pointer-events:none}.comic-topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;color:#fff4df;padding:1px 8px 9px;font-size:11px;font-weight:900}.comic-sfx{transform:rotate(-4deg);font-family:'Trebuchet MS',system-ui,sans-serif;font-size:17px;color:#ffe26a;text-shadow:2px 2px #6e3f2d}.comic-stage{position:relative;display:grid;grid-template-columns:50px minmax(0,920px) 50px;align-items:center;justify-content:center;gap:12px}.comic-nav{width:48px;height:48px;border-radius:50%;border:3px solid #fff;background:#6658e4;color:#fff;font-size:34px;display:grid;place-items:center;line-height:1;cursor:pointer;box-shadow:0 7px 15px #3d2d6c34;z-index:2}.comic-nav:disabled{opacity:.3;cursor:not-allowed}.reading-book-page{background:#fffdf7;min-height:530px;border-radius:10px 18px 18px 10px;border:2px solid #a77a53;box-shadow:inset 18px 0 24px #5a342111,0 12px 22px #4c2c1c33;position:relative;overflow:hidden;transform-origin:left center;transition:transform .3s,opacity .3s}.reading-book-page:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0000000b,transparent 6%,transparent 94%,#00000008)}.reading-book-page.flip-next{transform:perspective(1000px) rotateY(-18deg);opacity:.55}.reading-book-page.flip-prev{transform:perspective(1000px) rotateY(18deg);opacity:.55}.reading-book-page.turn-next,.reading-book-page.turn-prev{animation:pageSettle .28s ease}@keyframes pageSettle{from{opacity:.45;transform:perspective(1000px) rotateY(10deg)}to{opacity:1;transform:none}}.reading-cover{min-height:530px;padding:44px 42px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 22% 20%,#fff0c9,transparent 30%),radial-gradient(circle at 80% 22%,#dff9ff,transparent 28%),linear-gradient(145deg,#fef6df,#f7f3ff 55%,#eaf9ff);position:relative}.reading-cover h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:42px;line-height:1.05;margin:4px 0 9px;color:#31365f}.reading-cover p,.reading-cover span{font-weight:900;color:#6b62c7}.reading-cover small{max-width:520px;color:#77738f;font-size:13px;font-weight:700;line-height:1.5}.reading-cover-icon{font-size:66px}.comic-burst{position:absolute;top:28px;left:28px;background:#ffe05e;border:3px solid #2f2d50;color:#2f2d50;font-family:'Trebuchet MS',system-ui,sans-serif;font-weight:900;padding:7px 14px;transform:rotate(-7deg);box-shadow:4px 4px #2f2d50}.cover-pet{width:135px;height:125px;margin:8px 0}.cover-pet .pet-svg{width:125px;height:125px}.source-page{min-height:530px;background:#fffdf7;padding:13px;display:flex;flex-direction:column}.source-page-top{height:36px;display:flex;justify-content:space-between;align-items:center;color:#8e775d;font-size:10px;font-weight:900;padding:0 5px}.comic-label{padding:5px 9px;background:#ffe46b;color:#51422e;border:2px solid #5b4634;transform:rotate(-2deg)}.source-page-viewport{flex:1;min-height:468px;border:3px solid #2c2b45;overflow:hidden;position:relative;background:#f7f4ed;cursor:zoom-in;transition:.25s}.source-page-viewport img{position:absolute;top:0;width:200%;height:100%;max-width:none;object-fit:fill;transition:transform .25s}.source-page-viewport.left img{left:0}.source-page-viewport.right img{left:-100%}.source-page-viewport.zoomed{overflow:auto;cursor:zoom-out}.source-page-viewport.zoomed img{height:auto;min-height:100%;transform:scale(1.18);transform-origin:top left}.source-page-viewport.right.zoomed img{transform-origin:top right}.source-fallback{min-height:440px;display:grid;place-items:center;text-align:center;padding:30px;color:#716b82}.source-fallback a{display:block;margin-top:8px;color:#5e54c9;font-weight:900}.reading-page-dots{text-align:center;padding:8px 0 0;position:relative;z-index:1}.reading-page-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ffffff59;margin:0 3px}.reading-page-dot.active{background:#fff;transform:scale(1.25)}.comic-tip{text-align:center;color:#fff3e1;font-size:10px;font-weight:800;margin:4px 0 1px;position:relative;z-index:1}

.post-reading-panel{margin-top:15px;background:#ffffffde;border:1px solid #e6e3f3;border-radius:22px;padding:20px;box-shadow:0 12px 28px #514b8110}.reading-mission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.reading-mission-head h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:27px;margin:0}.reading-mission-head p:not(.eyebrow){margin:2px 0;color:#807d99;font-size:12px;font-weight:700}.mission-badge{padding:7px 10px;border-radius:999px;background:#f0edff;color:#685bd0;font-size:10px;font-weight:900}.reading-questions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:15px}.reading-question{border:1px solid #ece9f6;border-radius:17px;padding:13px;background:#fff}.reading-question>b{display:flex;gap:8px;font-size:12px;line-height:1.35}.reading-question>b span{width:25px;height:25px;border-radius:9px;background:#6658dc;color:#fff;display:grid;place-items:center;flex:none}.reading-options{display:grid;gap:6px;margin-top:10px}.reading-options button{border:1px solid #e8e6f2;background:#faf9ff;color:#5f5b7e;border-radius:10px;padding:8px 9px;text-align:left;font-size:10px;font-weight:800;cursor:pointer}.reading-options button.selected{border-color:#7869e3;background:#f0edff;color:#5045b1;box-shadow:0 0 0 2px #7767de13}.reading-options button.right{border-color:#78d4a6;background:#eafaf2;color:#287a53}.reading-options button.wrong{border-color:#ee9bb0;background:#fff0f3;color:#a13b57}.reading-check{width:min(360px,100%);margin:15px auto 0}.reading-feedback{display:none;margin:12px auto 0;max-width:520px;padding:11px 13px;border-radius:13px;background:#effbf5;color:#2c8058;font-size:12px;font-weight:800;text-align:center}.reading-feedback.show{display:block}.reading-feedback span{display:inline-block;margin-left:5px;color:#6558d8}.reflection-prompts{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:15px}.reflection-prompts label{display:flex;flex-direction:column;gap:8px;border:1px solid #ece9f6;border-radius:17px;padding:13px;background:#fff;font-size:11px}.reflection-prompts textarea{border:1px solid #e4e1f2;border-radius:11px;padding:10px;resize:vertical;outline:none;color:#3e4169}.reflection-prompts textarea:focus{border-color:#8678e6;box-shadow:0 0 0 3px #7566df12}

@media(max-width:1080px){.reading-layout{grid-template-columns:230px 1fr}.comic-stage{grid-template-columns:40px minmax(0,1fr) 40px}.comic-nav{width:40px;height:40px}.reading-book-page,.reading-cover,.source-page{min-height:470px}.source-page-viewport{min-height:408px}.world-portals{grid-template-columns:1fr}.reading-unit b{max-width:125px}}
@media(max-width:760px){.reading-header{grid-template-columns:auto 1fr;padding:12px}.reading-source-link{grid-column:1/-1;width:max-content;margin-left:54px}.reading-layout{display:block;overflow:auto}.reading-library{border-right:0;border-bottom:1px solid #dfddf1;max-height:290px}.reading-main{overflow:visible;padding:12px}.reading-tools{align-items:flex-start;flex-direction:column}.reading-speed{flex-wrap:wrap}.comic-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:5px}.comic-nav{width:34px;height:34px;font-size:25px}.reading-book-page,.reading-cover,.source-page{min-height:410px}.reading-cover{padding:35px 18px}.reading-cover h3{font-size:31px}.source-page-viewport{min-height:348px}.reading-questions,.reflection-prompts{grid-template-columns:1fr}.world-portal{grid-template-columns:auto 1fr}.portal-tag,.portal-arrow{display:none}}
@media(max-width:520px){.world-portals{gap:10px}.world-portal{padding:15px;min-height:120px}.portal-icon{width:48px;height:48px;border-radius:16px;font-size:25px}.reading-library{padding:14px 10px}.reading-unit-list{display:grid;grid-template-columns:1fr 1fr}.reading-unit{grid-template-columns:29px 1fr;padding:7px}.reading-unit i{display:none}.reading-unit b{max-width:100px}.reading-unit-no{width:28px;height:28px}.comic-reader-card{padding:8px;border-radius:18px}.comic-topline b{display:none}.comic-stage{grid-template-columns:30px minmax(0,1fr) 30px}.comic-nav{width:30px;height:30px}.reading-book-page,.reading-cover,.source-page{min-height:355px}.source-page{padding:7px}.source-page-viewport{min-height:300px}.reading-cover-icon{font-size:52px}.cover-pet{width:110px;height:105px}.cover-pet .pet-svg{width:104px;height:104px}.reading-mission-head{display:block}.mission-badge{display:inline-block;margin-top:7px}.post-reading-panel{padding:14px}.reading-header h2{font-size:23px}}
.top-reading-btn{border:0;background:linear-gradient(120deg,#ebe8ff,#e4f8ff);color:#5b52b7;border-radius:14px;padding:9px 12px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px #5650a810;transition:.15s}.top-reading-btn:hover{transform:translateY(-1px);background:linear-gradient(120deg,#dfdbff,#d7f4ff)}
@media(max-width:620px){.top-reading-btn span{display:none}.top-reading-btn{padding:9px 10px}}

/* ===== Reading Realm v2: anime game-book interface ===== */
.reading-v2-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;border:0;padding:0;background:transparent;overflow:hidden}.reading-v2-dialog::backdrop{background:#1d2558cc}.reading-v2-shell{height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#dff6ff 0,#edf7ff 38%,#dbeeff 100%);position:relative;overflow:hidden}.reading-v2-shell:before{content:"";position:absolute;inset:74px 0 0;background:radial-gradient(circle at 10% 15%,#ffffffd9 0 7%,transparent 8%),radial-gradient(circle at 88% 14%,#ffffffc7 0 8%,transparent 9%),linear-gradient(180deg,#7ad4ff55,transparent 45%),linear-gradient(0deg,#8cd08c55,transparent 20%);pointer-events:none}
.reading-v2-topbar{height:76px;flex:none;display:grid;grid-template-columns:235px 1fr auto;align-items:center;gap:18px;padding:8px 22px;background:#ffffffed;border-bottom:1px solid #c9d8ef;box-shadow:0 8px 24px #324b7f16;position:relative;z-index:5}.reading-v2-brand{display:flex;align-items:center;gap:10px;font-family:'Trebuchet MS',system-ui,sans-serif,sans-serif;color:#31447c;line-height:.95}.reading-v2-brand .brand-star{font-size:34px;filter:drop-shadow(0 4px 6px #3b4d8a22)}.reading-v2-brand b{display:block;font-size:24px}.reading-v2-brand strong{display:block;font-size:16px;letter-spacing:.6px;color:#5b52d6}.reading-v2-nav{height:100%;display:flex;justify-content:center;align-items:stretch;gap:6px}.reading-v2-nav button{min-width:78px;border:0;background:transparent;color:#34466f;border-radius:16px;padding:7px 12px;font-weight:900;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:22px;transition:.16s}.reading-v2-nav button span{font-size:10px}.reading-v2-nav button:hover{background:#eef4ff}.reading-v2-nav button.active{color:#fff;background:linear-gradient(135deg,#6756e8,#4d8bf1);box-shadow:0 8px 18px #5669df45}.reading-v2-player{display:flex;align-items:center;gap:10px}.reading-v2-currency{display:flex;gap:5px}.reading-v2-currency span{background:linear-gradient(135deg,#2f6fa3,#4551a6);color:#fff;padding:9px 11px;border-radius:13px;font-size:11px;font-weight:900;white-space:nowrap}.reading-v2-user{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dce5f5;border-radius:16px;padding:5px 10px;min-width:165px}.reading-avatar-top{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ffd8a8,#8bb9ff);border:2px solid #fff;box-shadow:0 0 0 2px #6774d6;color:#263456;font-weight:900}.reading-v2-user small{display:block;font-size:8px;color:#7b87a6;font-weight:800}.reading-v2-user b{display:block;max-width:116px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#2d3964;font-size:11px}.reading-close-v2{width:36px;height:36px;border:0;border-radius:12px;background:#eff2fb;color:#586388;font-size:22px;cursor:pointer;font-weight:900}.reading-close-v2:hover{background:#ffe8ee;color:#c45470}
.reading-v2-body{position:relative;z-index:2;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:14px 18px 16px;max-width:1680px;width:100%;margin:0 auto}.reading-v2-center{min-width:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.reading-story-toolbar{flex:none}.reading-story-select-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffd9;border:1px solid #d6e5f5;border-radius:17px;padding:8px 13px;box-shadow:0 8px 18px #516a9710}.reading-story-select-wrap h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:25px;line-height:1;margin:0;color:#293968}.reading-story-select-wrap small{font-size:9px;color:#7c86a1;font-weight:800}.reading-story-picker{position:relative;z-index:12}.reading-story-picker summary{list-style:none;cursor:pointer;background:#6558df;color:#fff;border-radius:12px;padding:9px 13px;font-size:10px;font-weight:900}.reading-story-picker summary::-webkit-details-marker{display:none}.reading-story-picker[open] .reading-story-picker-body{display:block}.reading-story-picker-body{display:none;position:absolute;right:0;top:42px;width:340px;max-height:55vh;overflow:auto;background:#fff;border:1px solid #e0e3f2;border-radius:16px;box-shadow:0 20px 45px #2c356338;padding:10px}.reading-term-tabs.compact{display:flex;gap:6px;margin-bottom:8px}.reading-term-tabs.compact button{flex:1}.reading-unit-list.compact{display:grid;gap:6px}.reading-unit-list.compact .reading-unit{padding:7px 8px;border-radius:11px}.reading-unit-list.compact .reading-unit b{font-size:10px}.reading-unit-list.compact .reading-unit small{font-size:8px}
.comic-reader-v2{flex:1;min-height:0;background:linear-gradient(180deg,#976c46,#70452f);border-radius:20px;border:2px solid #865d3f;box-shadow:0 18px 42px #334a7430;padding:10px 12px 8px;display:flex;flex-direction:column}.comic-book-frame{flex:1;min-height:0;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:8px}.comic-nav-v2{width:46px;height:46px;border-radius:50%;border:3px solid #fff;background:linear-gradient(145deg,#6755ee,#4958d9);color:#fff;font-size:32px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 6px 0 #273775,0 10px 18px #27377545;display:grid;place-items:center;z-index:3}.comic-nav-v2:disabled,.book-footer-btn:disabled{opacity:.28;cursor:not-allowed;filter:grayscale(.5)}.comic-book-open{height:100%;min-height:520px;max-height:calc(100vh - 230px);background:#fffaf0;border:3px solid #5b463b;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 6px #f2e3ca,inset 0 0 35px #6a4a2c1f,0 8px 20px #24180f44;position:relative;perspective:1600px}.comic-book-open.flip-next{animation:bookFlipNext .28s ease}.comic-book-open.flip-prev{animation:bookFlipPrev .28s ease}@keyframes bookFlipNext{50%{transform:perspective(1300px) rotateY(-7deg);opacity:.72}}@keyframes bookFlipPrev{50%{transform:perspective(1300px) rotateY(7deg);opacity:.72}}.open-book-cover{height:100%;display:grid;grid-template-columns:1fr 1fr;position:relative;background:#fffdf5}.open-book-page{padding:42px 44px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.open-book-page.left-page{background:radial-gradient(circle at 30% 25%,#fff6b8,transparent 29%),linear-gradient(140deg,#ffe8bb,#f8f0ff)}.open-book-page.right-page{background:radial-gradient(circle at 75% 15%,#dff5ff,transparent 27%),linear-gradient(140deg,#fdfcff,#eff7ff)}.book-chapter-tag{background:#5f56df;color:#fff;padding:6px 12px;border-radius:999px;font-size:10px;font-weight:900;margin-bottom:10px}.book-cover-art{height:145px;display:flex;align-items:center;justify-content:center;gap:10px}.book-cover-art .pet-svg{width:120px;height:120px}.book-cover-art>span{font-size:52px}.open-book-page h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:34px;line-height:1.05;color:#31406a;margin:10px 0}.open-book-page>p{color:#737994;font-weight:800;font-size:12px;line-height:1.5;max-width:430px}.cover-mission-list{display:grid;gap:8px;margin:14px 0;width:min(380px,100%)}.cover-mission-list span{background:#fff;border:1px solid #e2e8f6;border-radius:12px;padding:9px 12px;text-align:left;color:#4e5983;font-size:10px;font-weight:850}.start-comic-btn{width:min(320px,100%);margin-top:5px}.book-centre-fold{position:absolute;top:0;bottom:0;left:50%;width:20px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#6c4e3733 35%,#fff7 50%,#6c4e372d 65%,transparent);pointer-events:none;z-index:2}.comic-spread-view{height:100%;padding:14px;background:#f8f1df}.comic-paper{height:100%;position:relative;overflow:hidden;border:1px solid #ccb894;background:#fff;box-shadow:0 6px 14px #6e54352b}.comic-paper img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.comic-paper .book-centre-fold.visual{width:14px;mix-blend-mode:multiply;opacity:.55}.comic-ready-badge,.comic-progress-badge{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:8px;background:#6557e1;color:#fff;font-size:8px;font-weight:900;box-shadow:0 5px 12px #2e337444}.comic-progress-badge{background:#e89c3f}.comic-book-footer{height:45px;flex:none;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;gap:8px;padding-top:7px}.book-footer-btn{border:1px solid #be8b62;background:linear-gradient(#bd835d,#8e5b3d);color:#fff;border-radius:10px;padding:8px 12px;font-size:10px;font-weight:900;cursor:pointer}.book-page-progress{text-align:center;color:#fff4e5;font-size:10px}.reading-page-dots{padding:2px 0 0}.reading-page-dot{background:#ffffff5a}.reading-page-dot.active{background:#fff}
.reading-bottom-audio{flex:none;min-height:54px;background:#ffffffea;border:1px solid #dce6f4;border-radius:18px;box-shadow:0 8px 18px #3e52711a;padding:7px 10px;display:flex;align-items:center;gap:8px;overflow-x:auto}.reading-main-play{border:0;background:linear-gradient(135deg,#6c5ae8,#4d79ee);color:#fff;border-radius:13px;padding:10px 16px;font-weight:900;white-space:nowrap;cursor:pointer}.reading-main-pause{border:0;background:#ecefff;color:#5d5bb4;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}.reading-main-pause:disabled,.reading-main-play:disabled{opacity:.42}.reading-speed-v2{display:flex;gap:5px;white-space:nowrap}.reading-speed-v2 button{padding:8px 10px;border-radius:10px;border:1px solid #d7dbef;background:#f6f7fc;color:#697190;font-size:10px;font-weight:900;cursor:pointer}.reading-speed-v2 button.active{background:#6558df;color:#fff;border-color:#6558df}.reading-highlight-toggle{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:850;color:#53607e;white-space:nowrap}.reading-highlight-toggle input{accent-color:#6658df}.reading-audio-note-v2{margin-left:auto;color:#8992a9;font-size:8px;font-weight:800;white-space:nowrap}
.reading-v2-side{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.reading-side-card{background:linear-gradient(180deg,#fffdf8,#f7fbff);border:2px solid #d1b58f;border-radius:18px;padding:14px;box-shadow:0 8px 20px #4e61821a;position:relative}.quest-info-v2{background:linear-gradient(180deg,#fff7e8,#fffdf7)}.reading-grade-ribbon{display:inline-block;background:linear-gradient(135deg,#6b57e6,#4f68dd);color:#fff;border-radius:8px;padding:6px 14px;font-size:9px;font-weight:900;box-shadow:0 5px 12px #4d4fa12b}.quest-info-v2 h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:21px;line-height:1.05;margin:10px 0 4px;color:#2d3b69}.reading-side-page{color:#5663b9;font-size:11px;margin-bottom:7px}.quest-info-v2 p{font-size:10px;line-height:1.45;color:#5b6381;font-weight:750}.quest-info-v2 small{display:block;margin-top:4px;color:#8790a7;font-size:8px;font-weight:800}.reading-progress-track{height:7px;border-radius:99px;background:#e7e8f2;overflow:hidden;margin-top:8px}.reading-progress-track i{height:100%;display:block;background:linear-gradient(90deg,#5cc3ff,#6a5be6);border-radius:99px}.tool-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tool-card-head h3{margin:0;color:#33416c;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px}.reading-helper-pet{width:75px;height:75px;flex:none}.reading-helper-pet .pet-svg{width:75px;height:75px}.reading-tools-v2>p{font-size:9px;line-height:1.45;color:#66708c;font-weight:750;margin:4px 0 8px}.reading-tools-v2 ul{padding-left:16px;margin:0 0 8px;color:#616b88;font-size:8px;font-weight:800;line-height:1.6}.tap-word-box{border-top:1px solid #e4e7f1;padding-top:8px}.tap-word-box summary{cursor:pointer;color:#5658b6;font-size:9px;font-weight:900}.reading-tap-words{margin-top:8px;max-height:142px;overflow:auto;line-height:2;padding:5px;border-radius:12px;background:#f8f9ff;border:1px solid #e5e8f4}.tap-word{border:0;background:transparent;padding:2px 3px;border-radius:5px;color:#303b62;font-size:9px;font-weight:800;cursor:pointer;transition:.12s}.tap-word:hover{background:#e8e9ff;color:#534ac5}.tap-word.active-word{background:#ffea7c;color:#463900;box-shadow:0 0 0 2px #ffd94b80}.tap-punct{font-size:9px;color:#64708e}.tap-word-empty{font-size:8px;color:#8a90a5;font-weight:800}.mission-panel-title{display:flex;align-items:center;gap:8px}.mission-panel-title>span{font-size:25px}.mission-panel-title h3{margin:0;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px;color:#35416c}.post-reading-panel.compact{margin:7px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.mission-compact-intro{display:flex;flex-direction:column;gap:2px;background:#f1f2f9;border-radius:10px;padding:8px 9px;margin-bottom:7px}.mission-compact-intro b{font-size:9px;color:#4d5778}.mission-compact-intro small{font-size:7px;color:#8991a6;font-weight:800}.reading-questions.compact-grid{display:grid;grid-template-columns:1fr;gap:6px;margin-top:0}.reading-question.compact-q{padding:8px;border-radius:10px}.reading-question.compact-q>b{font-size:8px}.reading-question.compact-q>b span{width:20px;height:20px;border-radius:7px;font-size:8px}.reading-question.compact-q .reading-options{gap:4px;margin-top:6px}.reading-question.compact-q .reading-options button{padding:6px 7px;font-size:7px;border-radius:7px}.post-reading-panel.compact .reading-check{margin-top:8px;padding:9px;font-size:9px}.post-reading-panel.compact .reading-feedback{font-size:8px;padding:8px}.reflection-prompts.compact-reflection{display:grid;grid-template-columns:1fr;gap:6px;margin-top:0}.reflection-prompts.compact-reflection label{padding:8px;border-radius:10px;font-size:8px}.reflection-prompts.compact-reflection textarea{padding:7px;font-size:8px}.reading-source-link-v2{display:block;text-align:center;color:#6875a3;font-size:8px;font-weight:850;text-decoration:none;padding:4px}.reading-source-link-v2:hover{color:#4d4fc6;text-decoration:underline}
@media(max-width:1180px){.reading-v2-topbar{grid-template-columns:190px 1fr auto;padding:8px 12px}.reading-v2-brand b{font-size:20px}.reading-v2-brand strong{font-size:13px}.reading-v2-nav button{min-width:58px;padding:6px}.reading-v2-nav button span{display:none}.reading-v2-body{grid-template-columns:minmax(0,1fr) 300px;padding:10px}.comic-book-open{min-height:460px}.reading-v2-currency{display:none}}
@media(max-width:900px){.reading-v2-topbar{grid-template-columns:1fr auto;height:66px}.reading-v2-nav{display:none}.reading-v2-user{min-width:145px}.reading-v2-body{display:block;overflow:auto}.reading-v2-center{overflow:visible}.reading-v2-side{overflow:visible;margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.mission-panel-v2{grid-column:1/-1}.comic-book-open{min-height:480px;max-height:none}.reading-bottom-audio{position:sticky;bottom:0;z-index:6}.reading-audio-note-v2{display:none}}
@media(max-width:620px){.reading-v2-brand strong{display:none}.reading-v2-user{display:none}.reading-v2-topbar{height:58px}.reading-v2-body{padding:6px}.reading-story-select-wrap h2{font-size:19px}.reading-story-picker-body{width:min(320px,86vw)}.comic-book-frame{grid-template-columns:32px minmax(0,1fr) 32px;gap:3px}.comic-nav-v2{width:32px;height:32px;font-size:23px;border-width:2px;box-shadow:0 4px 0 #273775}.comic-book-open{min-height:380px}.open-book-page{padding:25px 15px}.open-book-page h3{font-size:24px}.book-cover-art{height:100px}.book-cover-art .pet-svg{width:84px;height:84px}.comic-book-footer{grid-template-columns:1fr auto 1fr}.book-footer-btn{padding:7px;font-size:8px}.reading-bottom-audio{gap:5px}.reading-main-play{padding:9px 11px}.reading-highlight-toggle span{display:none}.reading-v2-side{grid-template-columns:1fr}.mission-panel-v2{grid-column:auto}.reading-helper-pet{width:60px;height:60px}.reading-helper-pet .pet-svg{width:60px;height:60px}}

/* ===== Reading Realm v1.7: true HTML manga + robust audio + large MC ===== */
.reading-v2-body{grid-template-columns:minmax(0,1fr) 390px}
.comic-book-open.manga-edition{background:#efe1c8;border:4px solid #7a4b2e;box-shadow:0 16px 32px #35211140,inset 0 0 0 7px #c58c55;overflow:hidden}
.manga-spread{position:relative;height:100%;display:grid;grid-template-columns:1fr 1fr;background:#fffdf6;overflow:hidden}
.manga-page{position:relative;padding:16px 17px 20px;min-width:0;background:linear-gradient(90deg,#fffefa,#fff 86%,#e7dbc7)}
.right-manga-page{background:linear-gradient(90deg,#e7dbc7,#fff 14%,#fffefa)}
.manga-page-title{height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:3px solid #27314e;margin-bottom:10px;padding:0 5px}
.manga-page-title span{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:24px;font-weight:900;color:#27314e;line-height:1}.manga-page-title b{font-size:10px;background:#6256df;color:#fff;padding:5px 9px;border-radius:99px;white-space:nowrap}
.manga-panel-grid{height:calc(100% - 52px);display:grid;grid-template-rows:1fr 1fr;gap:10px}.right-manga-page .manga-panel-grid{height:calc(100% - 26px)}
.manga-panel{position:relative;overflow:hidden;border:3px solid #20283f;border-radius:5px;background:#f6f8ff;box-shadow:inset 0 0 0 2px #ffffff8c;min-height:0;display:grid;grid-template-columns:42% 58%}
.manga-panel:nth-child(even){grid-template-columns:55% 45%}.manga-panel:nth-child(even) .manga-art{order:2}.manga-panel:nth-child(even) .manga-text{order:1}
.manga-art{position:relative;overflow:hidden;min-width:0;background:linear-gradient(145deg,#dbe9ff,#fff7cd)}
.manga-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,#ffffff80 1px,transparent 1.8px);background-size:10px 10px;opacity:.32}
.scene-space .manga-art{background:radial-gradient(circle at 70% 25%,#fff 0 2px,transparent 3px),linear-gradient(155deg,#101a4c,#41338d 60%,#8d5ebe)}
.scene-school .manga-art{background:linear-gradient(#9ddcff 0 58%,#f2d8ae 58%)}.scene-nature .manga-art{background:linear-gradient(#91d9ff 0 45%,#72c66c 45% 75%,#4e9e58 75%)}
.scene-sport .manga-art{background:linear-gradient(#8bd5ff 0 45%,#58b95f 45%)}.scene-food .manga-art{background:linear-gradient(150deg,#ffd3b8,#fff0ce)}.scene-travel .manga-art{background:linear-gradient(#86cdfd 0 55%,#dbe6ef 55%)}
.scene-home .manga-art{background:linear-gradient(#ffe1c2 0 62%,#c28b64 62%)}.scene-weather .manga-art{background:linear-gradient(145deg,#6781b1,#b8d9ee)}.scene-animal .manga-art{background:linear-gradient(#a4ddff 0 50%,#9bd17f 50%)}
.scene-help .manga-art{background:linear-gradient(145deg,#c7d7e5,#f6c8a4)}.scene-festival .manga-art{background:linear-gradient(145deg,#ffbdd8,#ffe89f)}.scene-music .manga-art{background:linear-gradient(145deg,#b8b9ff,#ffd0e7)}.scene-city .manga-art{background:linear-gradient(145deg,#b9e5ff,#e8defe)}
.scene-symbol{position:absolute;right:9px;top:8px;font-size:40px;filter:drop-shadow(0 3px 0 #fff);z-index:1}.manga-sfx{position:absolute;left:9px;top:8px;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:19px;font-weight:1000;color:#fff;text-shadow:2px 2px 0 #1f2744,-1px -1px 0 #1f2744;transform:rotate(-7deg);z-index:3}
.manga-person{position:absolute;width:74px;height:102px;bottom:-4px;z-index:2}.manga-person.left{left:13%}.manga-person.right{right:7%;transform:scale(.86)}.manga-face{position:absolute;width:54px;height:59px;border-radius:48% 48% 45% 45%;background:#ffd9c2;left:10px;top:20px;border:2px solid #343346;z-index:3}.manga-body{position:absolute;width:66px;height:48px;border-radius:35px 35px 8px 8px;background:var(--shirt);bottom:0;left:4px;border:2px solid #343346}.manga-hair.back{position:absolute;width:64px;height:64px;left:5px;top:10px;border-radius:52% 52% 36% 36%;background:var(--hair);border:2px solid #343346;z-index:2}.manga-hair.fringe{position:absolute;width:57px;height:29px;left:9px;top:15px;background:var(--hair);clip-path:polygon(0 0,100% 0,91% 65%,75% 35%,62% 78%,48% 31%,34% 74%,20% 38%,7% 70%);z-index:4}.eye{position:absolute;width:8px;height:12px;background:#20243d;border-radius:50%;top:27px}.eye:after{content:"";position:absolute;width:3px;height:4px;background:#fff;border-radius:50%;left:1px;top:1px}.e1{left:12px}.e2{right:12px}.mouth{position:absolute;width:15px;height:7px;border-bottom:3px solid #d34f67;border-radius:0 0 20px 20px;left:18px;top:43px}
.halftone{position:absolute;inset:0;background:repeating-radial-gradient(circle at 15% 35%,#27314e1c 0 1px,transparent 1px 5px);mix-blend-mode:multiply;z-index:0}
.manga-text{position:relative;align-self:center;margin:8px;padding:12px 12px 13px;background:#fff;color:#20283f;font-size:13px;font-weight:800;line-height:1.55;max-height:calc(100% - 16px);overflow:auto;z-index:4}
.speech-bubble{border:2px solid #20283f;border-radius:26px}.speech-bubble:after{content:"";position:absolute;left:-12px;bottom:20px;width:22px;height:22px;background:#fff;border-left:2px solid #20283f;border-bottom:2px solid #20283f;transform:rotate(45deg)}
.narration-box{border:2px solid #20283f;border-radius:4px;background:#fff9c9;box-shadow:4px 4px 0 #20283f22}.manga-panel-no{position:absolute;left:5px;bottom:5px;z-index:7;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#5f55df;color:#fff;font-size:10px;font-weight:1000;border:2px solid #fff}.panel-listen{position:absolute;right:5px;bottom:5px;z-index:8;border:2px solid #fff;background:#5e57dc;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;box-shadow:0 3px 0 #33386a;font-size:13px}.panel-listen:active{transform:translateY(2px);box-shadow:0 1px 0 #33386a}
.comic-word{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:0 1px;border-radius:4px;cursor:pointer}.comic-word:hover{background:#dfe7ff}.comic-word.active-word,.tap-word.active-word{background:#ffea62!important;color:#332d00!important;box-shadow:0 0 0 3px #ffbf2488,0 0 12px #ffd447;transform:scale(1.04)}.comic-punct{white-space:pre}.manga-page-footer{position:absolute;bottom:5px;right:18px;font-size:8px;font-weight:900;color:#817a73}.manga-end-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:3px dashed #806fc9;border-radius:10px;background:linear-gradient(145deg,#fff7ca,#ede8ff);font-family:'Trebuchet MS',system-ui,sans-serif;font-size:23px;color:#4c4786;text-align:center;padding:20px}.manga-end-card span{font:800 11px Inter,sans-serif;color:#686d8c}
.reading-main-stop{border:0;background:#fff0f1;color:#cc4051;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer;white-space:nowrap}.reading-main-stop:disabled{opacity:.4}.reading-main-pause span,.reading-main-stop span{font-size:10px}
/* MC questions: deliberately larger for primary pupils */
.mission-panel-v2{overflow:visible}.post-reading-panel.compact{overflow:visible}.mission-compact-intro{padding:11px 12px;margin-bottom:10px}.mission-compact-intro b{font-size:14px}.mission-compact-intro small{font-size:11px;line-height:1.35}.reading-questions.compact-grid{gap:11px}.reading-question.compact-q{padding:12px;border:1px solid #e0e4f1;border-radius:14px;background:#fff}.reading-question.compact-q>b{font-size:15px;line-height:1.45;display:flex;align-items:flex-start;gap:8px;color:#232a45}.reading-question.compact-q>b span{width:28px;height:28px;border-radius:9px;font-size:13px;flex:none}.reading-question.compact-q .reading-options{gap:7px;margin-top:10px}.reading-question.compact-q .reading-options button{padding:10px 11px;font-size:14px;line-height:1.35;border-radius:10px;text-align:left;min-height:44px}.reading-question.compact-q .reading-options button strong{font-size:14px}.post-reading-panel.compact .reading-check{margin-top:11px;padding:12px;font-size:14px}.post-reading-panel.compact .reading-feedback{font-size:13px;padding:11px}
.tap-word{font-size:12px;line-height:1.8}.tap-punct{font-size:12px}.reading-tap-words{max-height:160px}.reading-tools-v2>p{font-size:11px}.reading-tools-v2 ul{font-size:10px}.reading-audio-note-v2{font-size:10px}.reading-bottom-audio{min-height:62px}.reading-main-play,.reading-main-pause,.reading-main-stop{font-size:13px}.reading-speed-v2 button{font-size:12px}.reading-highlight-toggle{font-size:11px}
@media(max-width:1180px){.reading-v2-body{grid-template-columns:minmax(0,1fr) 350px}.manga-text{font-size:11px}.reading-question.compact-q>b{font-size:14px}.reading-question.compact-q .reading-options button{font-size:13px}}
@media(max-width:900px){.reading-v2-side{display:block}.reading-side-card{margin-bottom:10px}.manga-spread{min-height:560px}.manga-text{font-size:13px}.reading-question.compact-q>b{font-size:17px}.reading-question.compact-q .reading-options button{font-size:16px;min-height:50px}.mission-compact-intro b{font-size:16px}.mission-compact-intro small{font-size:13px}}
@media(max-width:620px){.manga-spread{grid-template-columns:1fr;overflow:auto}.manga-page{min-height:520px}.right-manga-page{border-top:5px solid #7a4b2e}.book-centre-fold.visual{display:none}.manga-panel{grid-template-columns:38% 62%}.manga-text{font-size:13px}.reading-bottom-audio{flex-wrap:wrap;position:sticky}.reading-main-play,.reading-main-pause,.reading-main-stop{font-size:12px}.reading-question.compact-q>b{font-size:17px}.reading-question.compact-q .reading-options button{font-size:16px}}
/* v1.7 readability pass: larger primary-friendly MC text */
.mission-compact-intro b{font-size:17px!important}.mission-compact-intro small{font-size:13px!important}
.reading-question.compact-q{padding:15px!important}
.reading-question.compact-q>b{font-size:18px!important;line-height:1.5!important}
.reading-question.compact-q>b span{width:32px!important;height:32px!important;font-size:15px!important}
.reading-question.compact-q .reading-options{gap:9px!important;margin-top:12px!important}
.reading-question.compact-q .reading-options button{padding:13px 14px!important;font-size:16px!important;line-height:1.45!important;min-height:52px!important}
.reading-question.compact-q .reading-options button strong{font-size:16px!important}
.post-reading-panel.compact .reading-check{min-height:52px!important;font-size:16px!important}
@media(max-width:900px){.reading-question.compact-q>b{font-size:19px!important}.reading-question.compact-q .reading-options button{font-size:17px!important;min-height:56px!important}}

/* P6 First Term uploaded comic spreads */
.comic-book-open.uploaded-spread-edition{background:#efe1c8;border:4px solid #7a4b2e;box-shadow:0 16px 32px #35211140,inset 0 0 0 7px #c58c55;overflow:hidden}
.uploaded-spread-view{height:100%;min-height:520px;padding:12px;background:linear-gradient(145deg,#d9bb88,#a56d45);display:flex;align-items:center;justify-content:center}
.uploaded-spread-paper{width:100%;height:100%;min-height:494px;background:#fff;border:2px solid #5b463b;border-radius:8px;overflow:hidden;position:relative;box-shadow:0 8px 18px #2e1b1138;display:flex;align-items:center;justify-content:center}
.uploaded-spread-paper img{width:100%;height:100%;max-height:calc(100vh - 260px);object-fit:contain;display:block;background:#fff;user-select:none}
.uploaded-spread-tip{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);background:#18244dd9;color:#fff;border:1px solid #ffffff55;border-radius:999px;padding:6px 12px;font-size:10px;font-weight:850;white-space:nowrap;box-shadow:0 4px 10px #0003}
@media(max-width:900px){.uploaded-spread-view{min-height:460px}.uploaded-spread-paper{min-height:434px}.uploaded-spread-paper img{max-height:none}.uploaded-spread-tip{font-size:9px}}
@media(max-width:620px){.uploaded-spread-view{min-height:360px;padding:6px}.uploaded-spread-paper{min-height:348px}.uploaded-spread-tip{display:none}}

/* v2.1 uploaded P6 comic spread: preserve native aspect ratio and remove empty paper space */
.comic-book-open.uploaded-spread-edition{height:auto!important;min-height:0!important;max-height:none!important;background:#b07a50!important;padding:0!important}
.uploaded-spread-view{height:auto!important;min-height:0!important;padding:8px!important;display:block!important}
.uploaded-spread-paper{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;display:block!important;background:transparent!important;border-radius:8px!important}
.uploaded-spread-paper img{position:static!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:transparent!important;display:block!important}
.uploaded-spread-tip{bottom:10px!important}
@media(max-width:900px){.uploaded-spread-view,.uploaded-spread-paper{min-height:0!important}.uploaded-spread-paper img{height:auto!important}}


/* v2.2 reading realm polish: lighter comic stage and interactive speech hotspots */
.reading-v2-center{overflow:visible}
.comic-reader-v2{flex:none!important;background:linear-gradient(180deg,#e8f4ff,#d3ecff 50%,#eaf8ff)!important;border:2px solid #9ec8ea!important;box-shadow:0 18px 42px #5a83b726!important;padding:10px 12px 10px!important}
.comic-book-frame{flex:none!important;align-items:center!important}
.comic-book-open{height:auto!important;min-height:0!important;max-height:none!important;background:linear-gradient(180deg,#f8fcff,#eef7ff)!important;border:3px solid #88aed4!important;box-shadow:inset 0 0 0 6px #ffffffcc,inset 0 0 26px #bdd8f433,0 10px 24px #2e588526!important}
.comic-book-footer{height:auto!important;padding-top:8px!important}.book-footer-btn{border:1px solid #90b8dd!important;background:linear-gradient(#8dc1ea,#6aa1ce)!important}
.book-page-progress{color:#5073a0!important}
.reading-page-dot{background:#8db5da80!important}.reading-page-dot.active{background:#5c87c3!important}
.comic-nav-v2{background:linear-gradient(145deg,#7b9fff,#5f7ef0)!important;box-shadow:0 6px 0 #4262c9,0 10px 18px #4d71d045!important}
.comic-nav-v2:disabled{opacity:.22!important}

.comic-book-open.uploaded-spread-edition{background:transparent!important;padding:0!important;border-color:#88aed4!important}
.uploaded-spread-view{height:auto!important;min-height:0!important;padding:6px!important;background:linear-gradient(180deg,#eef8ff,#dff1ff)!important;display:block!important}
.uploaded-spread-paper{width:100%!important;height:auto!important;min-height:0!important;display:block!important;background:#ffffff!important;border:2px solid #9dc0e1!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 8px 22px #5b84ad22!important}
.comic-spread-shell{position:relative;display:block;line-height:0}
.uploaded-spread-paper img{position:static!important;width:100%!important;height:auto!important;max-height:none!important;display:block!important;object-fit:contain!important;background:#fff!important}
.uploaded-spread-tip{left:50%!important;bottom:8px!important;transform:translateX(-50%)!important;background:#1d3b6fd9!important;color:#fff!important;border:1px solid #ffffff55!important;border-radius:999px!important;padding:6px 12px!important;font-size:10px!important;font-weight:850!important;box-shadow:0 4px 10px #0003!important;z-index:4}

.comic-hotspot-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.comic-hotspot{position:absolute;pointer-events:auto;border:2px dashed rgba(255,255,255,.28);border-radius:20px;background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px rgba(40,80,120,.05);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.comic-hotspot:hover{background:rgba(255,255,255,.12);border-color:rgba(76,114,255,.45);box-shadow:0 0 0 3px rgba(99,130,255,.12),inset 0 0 0 1px rgba(255,255,255,.35)}
.comic-hotspot.active-word{background:rgba(255,230,110,.30)!important;border-color:rgba(255,186,55,.95)!important;box-shadow:0 0 0 4px rgba(255,230,110,.22),inset 0 0 0 1px rgba(255,245,195,.9)!important;transform:scale(1.01)}

@media(max-width:1180px){
  .comic-reader-v2{padding:8px!important}
  .uploaded-spread-view{padding:4px!important}
  .uploaded-spread-tip{font-size:9px!important;padding:5px 10px!important}
}
@media(max-width:780px){
  .comic-book-frame{grid-template-columns:40px minmax(0,1fr) 40px!important;gap:6px!important}
  .comic-nav-v2{width:40px!important;height:40px!important;font-size:28px!important}
  .uploaded-spread-tip{display:none!important}
  .comic-hotspot{border-radius:14px!important}
}


/* v2.3 comic-word highlight layer inside uploaded P6 comics */
.comic-word-overlay{position:absolute;inset:0;z-index:3;pointer-events:none}
.comic-overlay-block{position:absolute;pointer-events:auto;display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:2px 4px;padding:.6% .8%;overflow:hidden;border-radius:18px;background:transparent;border:1px solid transparent;transition:background .15s, box-shadow .15s, border-color .15s}
.comic-overlay-block:hover{background:rgba(255,255,255,.08);border-color:rgba(78,113,242,.18)}
.comic-overlay-block.active-chunk,.comic-overlay-block.active-word{background:rgba(255,238,140,.18);border-color:rgba(255,186,56,.78);box-shadow:0 0 0 3px rgba(255,228,106,.16), inset 0 0 0 1px rgba(255,250,220,.68)}
.comic-overlay-word,.comic-overlay-punct{font:inherit;font-weight:850;font-size:clamp(8px,.82vw,17px);line-height:1.04;letter-spacing:-.01em}
.comic-overlay-word{appearance:none;border:none;background:transparent;color:transparent;padding:0 .1em;border-radius:5px;cursor:pointer;white-space:nowrap;transition:background .12s, box-shadow .12s, color .12s;min-height:1.05em}
.comic-overlay-punct{color:transparent;user-select:none}
.comic-overlay-word:hover{background:rgba(99,130,255,.15);box-shadow:0 0 0 1px rgba(99,130,255,.14)}
.comic-overlay-word.active-word{color:#1d2440;background:rgba(255,239,122,.96)!important;box-shadow:0 0 0 1px #e2b400,inset 0 0 0 1px rgba(255,255,255,.82)!important}
.comic-overlay-block.active-chunk .comic-overlay-word.active-word{color:#1d2440}

@media(max-width:1180px){
  .comic-overlay-block{gap:1px 3px;padding:.55% .75%}
  .comic-overlay-word,.comic-overlay-punct{font-size:clamp(7px,1.05vw,14px)}
}
@media(max-width:780px){
  .comic-overlay-block{border-radius:12px}
  .comic-overlay-word,.comic-overlay-punct{font-size:clamp(6px,1.25vw,11px)}
}

/* v2.5 — remove comic-area highlighting; keep only exact transcript word highlight */
.comic-hotspot,
.comic-hotspot:hover,
.comic-hotspot.active-word{
  background:transparent!important;
  border-color:transparent!important;
  border-style:solid!important;
  box-shadow:none!important;
  transform:none!important;
  outline:none!important;
}
.comic-overlay-block,.comic-overlay-word,.comic-overlay-punct,.comic-word-overlay{display:none!important}


/* ===== Quest Champions · v4.5 ===== */
.top-quick-actions{display:flex;align-items:center;gap:7px}.top-leaderboard-btn{border:0;background:linear-gradient(120deg,#fff0b8,#ffe2f2 55%,#e9e5ff);color:#6d4d1a;border-radius:14px;padding:9px 12px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px #b7772414;transition:.16s}.top-leaderboard-btn:hover{transform:translateY(-1px) rotate(-1deg);box-shadow:0 8px 18px #b7772422}
.leaderboard-teaser{position:relative;overflow:hidden;padding:17px!important;background:linear-gradient(135deg,#fffaf0,#fff1c8 42%,#f0eaff 100%)!important;border:1px solid #eed59a!important}.leaderboard-teaser:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:#fff8b5aa;right:-55px;top:-70px}.leaderboard-teaser-glow{position:absolute;inset:auto -15px -45px auto;width:120px;height:100px;background:radial-gradient(circle,#b58cff55,transparent 70%);pointer-events:none}.leaderboard-teaser-copy{position:relative;z-index:1}.leaderboard-teaser h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:23px;margin:2px 0;color:#4d3d78}.leaderboard-teaser p:not(.eyebrow){font-size:10px;color:#80749a;font-weight:800;margin:2px 0 10px;max-width:230px}.mini-podium{position:relative;height:57px;display:flex;align-items:flex-end;justify-content:center;gap:4px;margin:2px 0 10px}.mini-podium span{display:grid;place-items:center;border-radius:13px 13px 5px 5px;box-shadow:0 5px 10px #6855a51a;font-size:21px}.mini-silver{width:48px;height:39px;background:#e7ecf5}.mini-gold{width:54px;height:54px;background:linear-gradient(#ffe785,#ffc94f)}.mini-bronze{width:48px;height:32px;background:#f5d2b0}.leaderboard-open-btn{position:relative;z-index:1;width:100%;border:0;border-radius:13px;padding:10px;background:linear-gradient(135deg,#6658e8,#8b63df);color:white;font-weight:900;cursor:pointer;box-shadow:0 7px 15px #6658e82b}.leaderboard-open-btn:hover{transform:translateY(-1px)}
.leaderboard-dialog{border:0;padding:0;background:transparent;width:min(1180px,96vw);max-width:none;max-height:94vh;border-radius:30px;overflow:hidden}.leaderboard-dialog::backdrop{background:#171a3fb8;backdrop-filter:blur(8px)}.leaderboard-shell{background:linear-gradient(180deg,#eef5ff,#f8f6ff 58%,#fff9ed);max-height:94vh;overflow:auto;color:#2f365e;position:relative}.leaderboard-hero{min-height:155px;display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;padding:24px 34px;background:radial-gradient(circle at 20% 10%,#ffffff44 0 10%,transparent 11%),linear-gradient(120deg,#4d55c7 0,#7657df 48%,#b460d9 100%);color:#fff;position:relative;overflow:hidden}.leaderboard-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:44px solid #ffffff12;right:-100px;top:-160px}.leaderboard-hero-stars{position:absolute;inset:8px 0 auto;text-align:center;letter-spacing:50px;color:#ffe89488;font-size:15px;white-space:nowrap}.leaderboard-trophy{width:90px;height:90px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#fff2a4,#ffbd4a);font-size:52px;box-shadow:0 12px 0 #d68c35,0 18px 28px #272d743d;transform:rotate(-4deg);z-index:1}.leaderboard-title-wrap{z-index:1}.leaderboard-title-wrap h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:43px;line-height:1;margin:2px 0;text-shadow:0 4px 0 #49339a}.leaderboard-title-wrap>p:last-child{margin:4px 0 0;font-size:13px;color:#edeaff;font-weight:800}.leaderboard-close{width:45px;height:45px;border:0;border-radius:15px;background:#ffffff1f;color:#fff;font-size:28px;cursor:pointer;z-index:2}.leaderboard-close:hover{background:#ffffff35}.leaderboard-grade-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;padding:15px 28px 6px;position:sticky;top:0;z-index:6;background:#f3f6ffef;backdrop-filter:blur(9px)}.leaderboard-grade-tabs button{border:1px solid #dce1f5;background:#fff;border-radius:16px;padding:10px 6px;color:#626985;font-weight:1000;font-size:15px;cursor:pointer;box-shadow:0 4px 10px #44507b0b;transition:.15s}.leaderboard-grade-tabs button small{display:block;color:#9a9eb2;font-size:8px;margin-top:1px}.leaderboard-grade-tabs button.active{background:linear-gradient(135deg,#6657e7,#825ee1);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 8px 17px #6156d832}.leaderboard-grade-tabs button.active small{color:#ebe8ff}.leaderboard-content{padding:14px 28px 18px}.leaderboard-scorebar{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e5e7f3;border-radius:18px;padding:11px 15px;box-shadow:0 7px 20px #404b7c0d}.leaderboard-scorebar>div{display:flex;align-items:center;gap:8px;min-width:160px}.leaderboard-scorebar>div>span{font-size:26px}.leaderboard-scorebar small{display:block;font-size:7px;color:#9b97b5;font-weight:1000;letter-spacing:.8px}.leaderboard-scorebar b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:17px;color:#50488d}.leaderboard-scorebar p{flex:1;margin:0;font-size:10px;color:#85829d;font-weight:800}.leaderboard-participants{border-radius:99px;padding:7px 10px;background:#f1efff;color:#665bd1;font-size:9px;font-weight:1000;white-space:nowrap}.leaderboard-podium{min-height:240px;display:flex;justify-content:center;align-items:flex-end;gap:12px;padding:18px 5px 12px}.podium-card{width:min(205px,29%);min-height:188px;background:#fff;border-radius:24px 24px 12px 12px;border:1px solid #e6e2f3;padding:14px 11px 0;text-align:center;position:relative;box-shadow:0 14px 25px #44476e12;display:flex;flex-direction:column;align-items:center}.podium-card.rank-1{min-height:235px;background:linear-gradient(180deg,#fff9d9,#fff 70%);border-color:#f2d36b;box-shadow:0 17px 32px #ca993c21;order:2}.podium-card.rank-2{order:1}.podium-card.rank-3{order:3}.podium-card.is-me{outline:3px solid #72d7c8;outline-offset:2px}.podium-medal{position:absolute;top:-15px;right:12px;font-size:27px;filter:drop-shadow(0 3px 3px #6e5d6322)}.leader-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f0eaff,#d9efff);border:3px solid #fff;box-shadow:0 0 0 2px #c7c6e5;color:#4b4b78;font-weight:1000;font-size:11px;flex:none}.podium-card .leader-avatar{width:78px;height:78px;font-size:15px;margin:8px 0 5px}.podium-card.rank-1 .leader-avatar{width:94px;height:94px;background:linear-gradient(145deg,#fff2a0,#ffc0dc);box-shadow:0 0 0 3px #f2cb54,0 7px 18px #d9a73433}.podium-card h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:15px;line-height:1.05;margin:5px 0 2px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.podium-card p{font-size:9px;font-weight:900;color:#9893ac;margin:0}.podium-card>b{font-size:12px;color:#7254b7;margin:8px 0 10px}.podium-block{height:34px;width:calc(100% + 22px);margin-top:auto;margin-left:-11px;margin-right:-11px;border-radius:10px 10px 12px 12px;display:grid;place-items:center;background:#e7eaf3;color:#777d98;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px;font-weight:1000}.rank-1 .podium-block{height:49px;background:linear-gradient(#ffe26e,#ffc247);color:#7c5310}.rank-2 .podium-block{height:41px;background:linear-gradient(#eef1f8,#cdd4e0)}.rank-3 .podium-block{background:linear-gradient(#f1d0b0,#d8a070)}.podium-card.empty{opacity:.55}.leaderboard-table-card{background:#fff;border:1px solid #e5e6f0;border-radius:20px;overflow:hidden;box-shadow:0 9px 24px #4147700d}.leaderboard-table-head,.leader-row{display:grid;grid-template-columns:70px minmax(220px,1fr) 90px 120px;align-items:center;gap:10px}.leaderboard-table-head{padding:9px 16px;background:#f2f3fb;color:#858ba5;font-size:8px;font-weight:1000;text-transform:uppercase;letter-spacing:.7px}.leader-row{padding:9px 16px;border-top:1px solid #f0f1f6;min-height:52px;transition:.14s}.leader-row:hover{background:#faf9ff;transform:translateX(2px)}.leader-row.is-me{background:linear-gradient(90deg,#e8fff8,#f4f1ff);box-shadow:inset 4px 0 #58cdbb}.leader-rank{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:16px;font-weight:1000;color:#7c78a0}.leader-name{display:flex;align-items:center;gap:10px;min-width:0}.leader-name b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-name em{font-style:normal;background:#57c9b8;color:#fff;border-radius:99px;padding:3px 6px;font-size:7px;font-weight:1000}.leader-class{font-size:10px;color:#888ba2;font-weight:900}.leader-score{text-align:right;font-size:11px;color:#5f4caf;font-weight:1000}.leaderboard-loading,.leaderboard-empty,.leaderboard-error{min-height:105px;display:flex;align-items:center;justify-content:center;gap:9px;color:#7f7b99;font-size:10px;text-align:center;padding:20px}.leaderboard-loading span{font-size:24px;animation:leaderSpin 1.6s ease-in-out infinite}.leaderboard-empty{flex-direction:column}.leaderboard-empty:first-letter{font-size:28px}.leaderboard-error{flex-direction:column;color:#8b6c7b}.leaderboard-error button{border:0;border-radius:11px;padding:8px 13px;background:#6757df;color:#fff;font-weight:900;cursor:pointer}.podium-load{align-self:center;min-height:120px}.leaderboard-me{margin-top:12px;min-height:68px;border-radius:18px;padding:10px 14px;background:linear-gradient(110deg,#3c498b,#6757d8 62%,#8c62db);color:#fff;display:flex;align-items:center;gap:14px;box-shadow:0 9px 20px #4d4c9e29;position:relative;overflow:hidden}.leaderboard-me:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:#ffffff10;right:-35px;top:-48px}.my-rank-spark{font-size:27px}.leaderboard-me small{display:block;font-size:7px;color:#d9d7ff;font-weight:1000}.leaderboard-me>div:nth-child(2)>b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:26px;line-height:1}.my-rank-name{flex:1}.my-rank-name strong{display:block;font-size:12px}.my-rank-name span{display:block;font-size:9px;color:#dfddff;margin-top:2px}.my-rank-score{font-size:14px;font-weight:1000;z-index:1}.leaderboard-footer{display:flex;justify-content:space-between;gap:10px;padding:10px 28px 16px;color:#8e8a9e;font-size:8px;font-weight:800}.leaderboard-footer span:last-child{white-space:nowrap}@keyframes leaderSpin{50%{transform:translateY(-5px) rotate(12deg)}}
@media(max-width:800px){.leaderboard-dialog{width:100vw;max-height:100vh;border-radius:0}.leaderboard-shell{max-height:100vh}.leaderboard-hero{grid-template-columns:70px 1fr auto;padding:18px 16px;min-height:125px}.leaderboard-trophy{width:60px;height:60px;border-radius:20px;font-size:35px;box-shadow:0 8px 0 #d68c35}.leaderboard-title-wrap h2{font-size:31px}.leaderboard-grade-tabs{padding:10px 8px 5px;gap:5px}.leaderboard-grade-tabs button{padding:8px 2px;font-size:11px}.leaderboard-grade-tabs button small{display:none}.leaderboard-content{padding:9px}.leaderboard-scorebar p{display:none}.leaderboard-podium{gap:5px;min-height:210px}.podium-card{width:31%;padding-left:6px;padding-right:6px}.podium-card h3{font-size:11px}.leaderboard-table-head,.leader-row{grid-template-columns:45px minmax(150px,1fr) 56px 88px;padding-left:9px;padding-right:9px}.leader-avatar{width:34px;height:34px}.leader-name b{font-size:9px}.leader-class,.leader-score{font-size:9px}.leaderboard-footer{padding:8px 12px 12px}.leaderboard-footer span:first-child{max-width:70%}}
@media(max-width:620px){.top-quick-actions{gap:4px}.top-leaderboard-btn span{display:none}.top-leaderboard-btn{padding:9px 10px}.leaderboard-hero{grid-template-columns:55px 1fr 36px;gap:9px}.leaderboard-trophy{width:48px;height:48px;font-size:28px;border-radius:15px}.leaderboard-title-wrap h2{font-size:25px}.leaderboard-title-wrap>p:last-child{font-size:9px}.leaderboard-close{width:34px;height:34px}.leaderboard-scorebar{padding:9px}.leaderboard-scorebar>div{min-width:0;flex:1}.leaderboard-participants{font-size:7px}.leaderboard-podium{padding-top:16px}.podium-card{min-height:155px}.podium-card.rank-1{min-height:185px}.podium-card .leader-avatar{width:51px;height:51px}.podium-card.rank-1 .leader-avatar{width:60px;height:60px}.podium-card>b{font-size:9px}.leaderboard-table-head{display:none}.leader-row{grid-template-columns:37px minmax(130px,1fr) 48px 72px;gap:5px}.leader-name{gap:6px}.leader-name em{display:none}.leaderboard-me{gap:8px}.my-rank-score{font-size:11px}.leaderboard-footer{font-size:7px}}

/* Quest Champions v4.6 — weekly race, class league and crown titles */
.leaderboard-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:9px 28px 5px;background:#f3f6ffef;position:sticky;top:58px;z-index:5;backdrop-filter:blur(9px)}
.leaderboard-mode-tabs button{border:1px solid #e1e4f4;background:#fff;border-radius:17px;padding:10px 12px;color:#626985;font-weight:1000;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;box-shadow:0 5px 12px #454e7d0a;transition:.16s}
.leaderboard-mode-tabs button>span{font-size:12px;line-height:1.1}.leaderboard-mode-tabs button>small{grid-column:2;font-size:7px;color:#a0a3b7;margin-top:2px}.leaderboard-mode-tabs button.active{background:linear-gradient(135deg,#5c58e9,#8c5fe6);color:#fff;border-color:transparent;box-shadow:0 8px 18px #6558dd2d;transform:translateY(-1px)}
.leaderboard-mode-tabs button.active>small{color:#e8e6ff}.crown-title{font-size:7px;font-weight:1000;letter-spacing:.35px;color:#805400;background:linear-gradient(90deg,#fff4a8,#ffd35a,#fff4a8);border:1px solid #e6bd42;border-radius:99px;padding:4px 8px;margin-top:0;box-shadow:0 4px 10px #c79b2b20;white-space:nowrap}.podium-card.rank-1 .crown-title{margin-top:4px}.leader-score.weekly{color:#d58317}.class-crest{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:22px;font-weight:1000;color:#fff;background:linear-gradient(145deg,#57a9e7,#7062df);border:4px solid #fff;box-shadow:0 0 0 2px #b8c5eb,0 8px 18px #5462a526;margin:8px 0 5px}.podium-card.rank-1 .class-crest{width:78px;height:78px;font-size:26px;background:linear-gradient(145deg,#ffcf50,#f08d48);box-shadow:0 0 0 3px #f0cb58,0 8px 19px #cb8b3533}.mini-class-crest{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#e7edff,#e9e1ff);color:#5f58ab;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:10px;font-weight:1000;border:1px solid #d4d7ef;flex:none}.class-row .leader-class{text-align:center}.leaderboard-podium.class-mode{min-height:230px}.leaderboard-podium.class-mode .podium-card p{min-height:12px}.leaderboard-podium.class-mode .podium-card>b{color:#4b5ca9}.leaderboard-teaser-copy p:last-child{max-width:330px}
@media(max-width:800px){.leaderboard-mode-tabs{top:50px;padding:7px 9px 4px;gap:5px}.leaderboard-mode-tabs button{padding:8px 7px;column-gap:4px}.leaderboard-mode-tabs button>span{font-size:9px}.leaderboard-mode-tabs button>small{display:none}.crown-title{font-size:6px;padding:3px 5px}.class-crest{width:52px;height:52px;font-size:17px}.podium-card.rank-1 .class-crest{width:61px;height:61px;font-size:21px}}
@media(max-width:560px){.leaderboard-mode-tabs button{grid-template-columns:1fr;text-align:center;display:block;font-size:13px}.leaderboard-mode-tabs button>span{display:block;font-size:8px;margin-top:1px}.leaderboard-podium.class-mode{min-height:195px}.mini-class-crest{width:30px;height:30px;font-size:9px}}

/* ===== v4.7 Synonym Quest · Realm of Words ===== */
.world-portals{grid-template-columns:repeat(3,minmax(0,1fr))}
.synonym-portal:before{background:#ffbf4d}.synonym-portal{cursor:pointer;background:linear-gradient(135deg,#fff8e8,#f6efff 56%,#eafcff);transition:.18s}.synonym-portal:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(80,61,138,.17);border-color:#d7c8f5}.synonym-portal .portal-icon{background:linear-gradient(145deg,#fff0b8,#eadfff);box-shadow:inset 0 0 0 1px #f1dfa7}.synonym-progress i{background:linear-gradient(90deg,#ffbf4d,#d85be6,#5c78f0)}
.top-synonym-btn{border:0;background:linear-gradient(120deg,#efe9ff,#ffe9bd 58%,#e8fbff);color:#6545a1;border-radius:14px;padding:9px 12px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px #6843b314;transition:.16s}.top-synonym-btn:hover{transform:translateY(-1px) rotate(1deg);box-shadow:0 8px 18px #6843b322}

.synonym-dialog{border:0;padding:0;background:transparent;width:min(1280px,97vw);max-width:none;max-height:95vh;border-radius:32px;overflow:hidden}.synonym-dialog::backdrop{background:#17163fc2;backdrop-filter:blur(9px)}.synonym-shell{background:linear-gradient(180deg,#f2f5ff,#fbf8ff 54%,#fffaf0);max-height:95vh;overflow:auto;color:#30365e;position:relative}.synonym-hero{min-height:164px;display:grid;grid-template-columns:105px minmax(0,1fr) auto 46px;gap:18px;align-items:center;padding:24px 30px;background:radial-gradient(circle at 18% 20%,#ffffff36 0 8%,transparent 9%),linear-gradient(120deg,#3e4fbd 0,#7452db 43%,#c34ec7 72%,#ed9d4d 115%);color:#fff;position:relative;overflow:hidden}.synonym-hero:after{content:"";position:absolute;width:370px;height:370px;border-radius:50%;border:46px solid #ffffff10;right:-120px;top:-175px}.synonym-hero-sparkles{position:absolute;inset:10px 0 auto;text-align:center;letter-spacing:64px;color:#ffe98d8a;font-size:16px;white-space:nowrap}.synonym-orb{width:88px;height:88px;border-radius:31px;display:grid;place-items:center;background:linear-gradient(145deg,#fff0a8,#f6c4ff 45%,#9ee9ff);box-shadow:0 12px 0 #5c3aa0,0 18px 28px #25265c55;transform:rotate(-5deg);position:relative;z-index:2}.synonym-orb span{font-size:49px;filter:drop-shadow(0 5px 5px #58367b45)}.synonym-orb i{position:absolute;width:24px;height:24px;border-radius:50%;background:#ffffff90;right:10px;top:9px;filter:blur(1px)}.synonym-title-wrap{z-index:2}.synonym-title-wrap h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:45px;line-height:.95;margin:3px 0 4px;text-shadow:0 4px 0 #493092}.synonym-title-wrap>p:last-child{margin:0;color:#efeaff;font-size:13px;font-weight:800}.synonym-hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px;z-index:2}.synonym-hero-status span{padding:7px 12px;border-radius:99px;background:#ffffff1f;border:1px solid #ffffff2e;font-size:9px;font-weight:1000}.synonym-hero-status b{padding:9px 12px;border-radius:13px;background:linear-gradient(135deg,#fff1a1,#ffca55);color:#724d0b;box-shadow:0 6px 0 #b87231;font-size:12px}.synonym-close{width:45px;height:45px;border:0;border-radius:15px;background:#ffffff1e;color:#fff;font-size:28px;cursor:pointer;z-index:3}.synonym-close:hover{background:#ffffff34}
.synonym-stats-strip{display:grid;grid-template-columns:repeat(4,145px) minmax(230px,1fr);gap:9px;padding:13px 22px;background:#eef2ff;border-bottom:1px solid #dfe4f4}.synonym-stats-strip>div{background:#fff;border:1px solid #e2e5f3;border-radius:17px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;box-shadow:0 5px 13px #4e57960a}.synonym-stats-strip>div>span{grid-row:1/3;font-size:25px}.synonym-stats-strip small{font-size:7px;color:#9a9db0;font-weight:1000;letter-spacing:.6px}.synonym-stats-strip b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:18px;color:#50488d;line-height:1}.synonym-stats-strip .synonym-progress-wide{grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px}.synonym-progress-wide small{grid-column:1}.synonym-progress-wide>div{height:8px;background:#ecebf7;border-radius:99px;overflow:hidden;grid-column:1}.synonym-progress-wide>div i{display:block;height:100%;width:0;background:linear-gradient(90deg,#51d1bd,#6e68eb,#cf5ed5);border-radius:99px;transition:.35s}.synonym-progress-wide>b{grid-column:2;grid-row:1/3;align-self:center}
.synonym-body{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:620px}.synonym-map-panel{background:linear-gradient(180deg,#f8f9ff,#f2f0fb);border-right:1px solid #e0e1ee;padding:17px 12px}.synonym-map-head{padding:4px 7px 11px}.synonym-map-head h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:23px;margin:0;color:#4a477e}.synonym-map-head span{font-size:9px;color:#9896ac;font-weight:800}.synonym-realm-list{display:grid;gap:5px}.synonym-realm{width:100%;border:1px solid transparent;background:transparent;border-radius:14px;padding:8px 9px;display:grid;grid-template-columns:35px 1fr auto;gap:8px;align-items:center;text-align:left;color:#6c6f89;cursor:pointer;transition:.14s}.synonym-realm:hover{background:#fff;border-color:#e1e1ef;transform:translateX(2px)}.synonym-realm.active{background:linear-gradient(115deg,#6659df,#8d61de);color:#fff;box-shadow:0 7px 16px #6659df25}.synonym-realm>span{width:35px;height:35px;border-radius:11px;background:#fff;display:grid;place-items:center;font-size:18px;box-shadow:0 3px 8px #3e467510}.synonym-realm.active>span{background:#ffffff22}.synonym-realm b{font-size:10px;display:block}.synonym-realm small{font-size:7px;opacity:.76;font-weight:800;display:block;margin-top:1px}.synonym-realm i{font-style:normal;font-size:17px}.synonym-main{padding:17px 19px 24px;min-width:0}.synonym-guide-card{min-height:104px;border-radius:22px;padding:13px 16px;display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:13px;align-items:center;background:linear-gradient(115deg,#eef7ff,#f2ecff 56%,#fff3d5);border:1px solid #dfe4f0;box-shadow:0 8px 20px #3f46780d;position:relative;overflow:hidden}.synonym-guide-card:after{content:"✦";position:absolute;font-size:110px;color:#ffffff65;right:150px;top:-42px;transform:rotate(16deg)}.synonym-guide-pet{width:82px;height:82px;display:grid;place-items:center;z-index:1}.synonym-guide-pet .pet-svg{width:82px;height:82px}.synonym-guide-card h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:21px;margin:0;color:#4d4382}.synonym-guide-card p:last-child{margin:3px 0 0;color:#75758f;font-size:10px;font-weight:800;max-width:610px;line-height:1.4}.synonym-grade-power{z-index:1;background:#fff;border:1px solid #e2ddf3;border-radius:15px;padding:10px 12px;min-width:142px;text-align:center;box-shadow:0 5px 12px #4e477c0d}.synonym-grade-power small{display:block;color:#9a96ad;font-size:6px;font-weight:1000}.synonym-grade-power b{display:block;color:#654fc1;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:17px}.synonym-grade-power span{display:block;color:#8a879d;font-size:7px;font-weight:900}.synonym-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0}.synonym-mode-tabs button{border:1px solid #e2e3ef;background:#fff;border-radius:17px;padding:10px 12px;color:#646782;font-weight:1000;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:center;text-align:left;box-shadow:0 5px 12px #454e7d0a;transition:.15s}.synonym-mode-tabs button>span{font-size:11px}.synonym-mode-tabs button>small{grid-column:2;color:#a09db0;font-size:7px;margin-top:1px}.synonym-mode-tabs button.active{background:linear-gradient(135deg,#5c59e6,#8c5ee0);color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:0 8px 18px #6459da2d}.synonym-mode-tabs button.active>small{color:#ebe8ff}.synonym-content{min-height:420px}.synonym-footer{display:flex;justify-content:space-between;gap:20px;padding:10px 20px 14px;border-top:1px solid #ece8f2;color:#918da1;font-size:8px;font-weight:800;background:#fffdf8}

.synonym-vault-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;align-items:center;margin-bottom:10px}.synonym-search{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #dfe1ed;border-radius:14px;padding:9px 12px}.synonym-search span{font-size:16px}.synonym-search input{border:0;outline:0;width:100%;font:inherit;font-size:10px;color:#494b68}.synonym-filter-pill{border:1px solid #e0e0ed;border-radius:13px;padding:9px 12px;background:#fff;color:#655f8f;font-size:9px;font-weight:1000}.synonym-vault-count{border-radius:99px;padding:8px 11px;background:#efeaff;color:#6757ce;font-size:8px;font-weight:1000;white-space:nowrap}.synonym-word-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.synonym-word-card{background:#fff;border:1px solid #e2e2ee;border-radius:19px;padding:11px;box-shadow:0 7px 17px #4c4f7a0d;position:relative;overflow:hidden;min-width:0}.synonym-word-card.discovered{border-color:#a8dfd4;background:linear-gradient(155deg,#f0fffb,#fff 38%)}.synonym-word-card:after{content:"";position:absolute;width:65px;height:65px;border-radius:50%;background:#efebff;right:-25px;top:-28px;opacity:.65}.synonym-word-head{display:flex;align-items:center;gap:7px;position:relative;z-index:1}.synonym-speak{width:34px;height:34px;border:0;border-radius:11px;background:linear-gradient(145deg,#eae6ff,#e1f8ff);cursor:pointer;font-size:15px}.synonym-word-head div{min-width:0;flex:1}.synonym-word-head h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:18px;margin:0;line-height:1;color:#443f77}.synonym-word-head small{font-size:7px;color:#9995a9;text-transform:uppercase;font-weight:1000}.synonym-crystal-mark{font-size:17px;filter:grayscale(1);opacity:.35}.synonym-word-card.discovered .synonym-crystal-mark{filter:none;opacity:1}.synonym-power-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:9px}.synonym-power-chip{border:0;border-radius:99px;background:#f1eff9;color:#665e8d;padding:5px 8px;font-size:8px;font-weight:900;cursor:pointer;transition:.13s}.synonym-power-chip:hover{background:#e2dcff;color:#5747ba;transform:translateY(-1px)}.synonym-word-card.discovered .synonym-power-chip{background:#e9fbf5;color:#367d70}.synonym-context-note{font-size:7px;color:#aaa5b3;margin:7px 0 0;line-height:1.35;font-weight:700}

.synonym-battle-start{min-height:385px;border-radius:24px;background:radial-gradient(circle at 75% 15%,#fff6b355 0 14%,transparent 15%),linear-gradient(135deg,#f0f3ff,#f8efff 60%,#fff5de);border:1px solid #e0e0ef;display:grid;grid-template-columns:1fr 250px;gap:18px;align-items:center;padding:28px 34px;overflow:hidden}.synonym-battle-start h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:36px;line-height:1;margin:0;color:#4a4385}.synonym-battle-start p{font-size:11px;color:#7f7b94;font-weight:800;line-height:1.55;max-width:590px}.synonym-battle-rules{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.synonym-battle-rules span{background:#fff;border:1px solid #e1dfec;border-radius:99px;padding:7px 10px;color:#6d6887;font-size:8px;font-weight:1000}.synonym-battle-start button,.synonym-next-btn,.synonym-restart-btn{border:0;border-radius:15px;padding:12px 17px;background:linear-gradient(135deg,#6658e8,#a858d7);color:#fff;font-weight:1000;cursor:pointer;box-shadow:0 8px 16px #6555c82d}.synonym-battle-dragon{font-size:120px;text-align:center;filter:drop-shadow(0 16px 13px #5b458035);animation:synDragon 2.5s ease-in-out infinite}.synonym-battle-card{background:#fff;border:1px solid #e1e2ef;border-radius:23px;box-shadow:0 10px 25px #454d790f;overflow:hidden}.synonym-battle-top{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 14px;background:linear-gradient(90deg,#4f59c8,#8159d9);color:#fff}.synonym-battle-top span{font-size:22px}.synonym-battle-top small{display:block;font-size:7px;color:#e7e6ff;font-weight:1000}.synonym-battle-top b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:15px}.synonym-battle-top>strong{font-size:10px}.synonym-battle-progress{height:7px;background:#e7e6f2}.synonym-battle-progress i{display:block;height:100%;background:linear-gradient(90deg,#5ce0bb,#ffd263);width:0;transition:.28s}.synonym-question-zone{padding:26px 24px 20px;text-align:center}.synonym-monster{font-size:55px;margin-bottom:3px}.synonym-question-zone>small{font-size:8px;color:#9a96aa;font-weight:1000;letter-spacing:.8px}.synonym-target-row{display:flex;justify-content:center;align-items:center;gap:10px;margin:5px 0 14px}.synonym-target-word{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:44px;line-height:1;color:#423d78}.synonym-target-speak{width:42px;height:42px;border:0;border-radius:13px;background:#eeeaff;cursor:pointer;font-size:18px}.synonym-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:720px;margin:0 auto}.synonym-option{border:2px solid #e2e1ee;background:#fbfbff;border-radius:17px;padding:13px 10px;color:#5f5d7c;font-weight:1000;font-size:12px;cursor:pointer;transition:.14s;position:relative}.synonym-option:hover:not(:disabled){transform:translateY(-2px);border-color:#b9afea;background:#f6f2ff}.synonym-option.correct{border-color:#5ecbb0;background:#e9fff7;color:#277e6a;box-shadow:0 6px 15px #48af9320}.synonym-option.wrong{border-color:#ee8c99;background:#fff0f2;color:#a94b59}.synonym-option:disabled{cursor:default}.synonym-battle-feedback{min-height:58px;margin:13px auto 0;max-width:720px;border-radius:15px;padding:10px 13px;display:none;align-items:center;justify-content:space-between;gap:12px;text-align:left}.synonym-battle-feedback.show{display:flex}.synonym-battle-feedback.good{background:#edfff8;color:#347969;border:1px solid #bdebdc}.synonym-battle-feedback.bad{background:#fff3f4;color:#985965;border:1px solid #efc7cc}.synonym-battle-feedback b{font-size:11px}.synonym-battle-feedback span{font-size:8px;font-weight:800}.synonym-next-btn{padding:9px 12px;font-size:9px;white-space:nowrap}.synonym-battle-end{min-height:385px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#f6f2ff,#effcff);border:1px solid #e1e0ee;border-radius:24px;padding:30px}.synonym-battle-end .end-crown{font-size:74px;filter:drop-shadow(0 8px 8px #6c539736)}.synonym-battle-end h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:35px;margin:5px 0 0;color:#4b4282}.synonym-battle-end p{color:#77758d;font-size:11px;font-weight:800}.synonym-reward-row{display:flex;justify-content:center;gap:8px;margin:12px 0 17px}.synonym-reward-row span{border-radius:13px;background:#fff;border:1px solid #e3e0ed;padding:9px 12px;font-size:9px;font-weight:1000;color:#665b8b}.synonym-boss-lock{min-height:385px;display:grid;place-items:center;text-align:center;border-radius:24px;background:radial-gradient(circle at 50% 15%,#ffda6355,transparent 22%),linear-gradient(145deg,#302c67,#594184 56%,#753f72);color:#fff;padding:30px}.synonym-boss-lock span{font-size:75px}.synonym-boss-lock h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:34px;margin:5px 0}.synonym-boss-lock p{max-width:520px;font-size:10px;color:#e4ddf5;font-weight:800}.synonym-boss-lock .boss-progress{width:min(420px,90%);height:9px;background:#ffffff24;border-radius:99px;overflow:hidden;margin:10px 0}.synonym-boss-lock .boss-progress i{display:block;height:100%;background:linear-gradient(90deg,#ffd45a,#ff7b8a);border-radius:99px}.synonym-boss-lock button{border:0;border-radius:14px;background:#ffe375;color:#644310;padding:10px 15px;font-weight:1000;cursor:pointer}.synonym-boss-lock button:disabled{opacity:.45;cursor:not-allowed}
@keyframes synDragon{50%{transform:translateY(-7px) rotate(2deg)}}

@media(max-width:1180px){.world-portals{grid-template-columns:1fr}.synonym-stats-strip{grid-template-columns:repeat(4,1fr)}.synonym-progress-wide{grid-column:1/-1}.synonym-body{grid-template-columns:220px minmax(0,1fr)}.synonym-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.synonym-dialog{width:100vw;max-height:100vh;border-radius:0}.synonym-shell{max-height:100vh}.synonym-hero{grid-template-columns:65px 1fr 38px;padding:17px 15px;min-height:130px}.synonym-orb{width:58px;height:58px;border-radius:19px}.synonym-orb span{font-size:33px}.synonym-title-wrap h2{font-size:31px}.synonym-title-wrap>p:last-child{font-size:9px}.synonym-hero-status{display:none}.synonym-close{width:36px;height:36px}.synonym-stats-strip{grid-template-columns:repeat(2,1fr);padding:9px}.synonym-progress-wide{grid-column:1/-1}.synonym-body{display:block}.synonym-map-panel{border-right:0;border-bottom:1px solid #e0e1ee;max-height:230px;overflow:auto}.synonym-map-head{position:sticky;top:0;background:#f8f9fff2;z-index:2}.synonym-realm-list{grid-template-columns:repeat(2,1fr)}.synonym-main{padding:11px}.synonym-guide-card{grid-template-columns:70px 1fr}.synonym-guide-pet,.synonym-guide-pet .pet-svg{width:68px;height:68px}.synonym-grade-power{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px}.synonym-grade-power small,.synonym-grade-power b,.synonym-grade-power span{display:inline}.synonym-mode-tabs{gap:5px}.synonym-mode-tabs button{padding:8px 7px;column-gap:4px}.synonym-mode-tabs button>span{font-size:9px}.synonym-mode-tabs button>small{display:none}.synonym-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.synonym-battle-start{grid-template-columns:1fr;padding:22px}.synonym-battle-dragon{display:none}.synonym-footer{display:block}.synonym-footer span{display:block;margin-top:3px}}
@media(max-width:580px){.top-synonym-btn span{display:none}.top-synonym-btn{padding:9px 10px}.synonym-stats-strip>div:nth-child(3),.synonym-stats-strip>div:nth-child(4){display:none}.synonym-realm-list{grid-template-columns:1fr}.synonym-main{padding:8px}.synonym-guide-card{padding:9px}.synonym-guide-card p:last-child{font-size:8px}.synonym-mode-tabs button{display:block;text-align:center}.synonym-mode-tabs button>span{display:block;margin-top:1px;font-size:7px}.synonym-vault-toolbar{grid-template-columns:1fr 1fr}.synonym-search{grid-column:1/-1}.synonym-word-grid{grid-template-columns:1fr}.synonym-question-zone{padding:19px 11px 15px}.synonym-target-word{font-size:36px}.synonym-options{grid-template-columns:1fr}.synonym-battle-feedback{display:none!important}.synonym-battle-start h3{font-size:29px}.synonym-footer{font-size:7px}}

/* ===== v4.9 Synonym Quest readability + full-screen battle ===== */
@media (min-width:851px){
  .synonym-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;border-radius:0;overflow:hidden}
  .synonym-shell{height:100dvh;max-height:none;display:flex;flex-direction:column;overflow:hidden}
  .synonym-hero{min-height:128px;grid-template-columns:96px minmax(0,1fr) auto 52px;padding:18px 32px;flex:0 0 auto}
  .synonym-title-wrap h2{font-size:52px}
  .synonym-title-wrap>p:last-child{font-size:16px}
  .synonym-hero-status span{font-size:12px;padding:8px 14px}
  .synonym-hero-status b{font-size:15px;padding:10px 14px}
  .synonym-stats-strip{grid-template-columns:repeat(4,minmax(145px,185px)) minmax(280px,1fr);padding:12px 28px;gap:12px;flex:0 0 auto}
  .synonym-stats-strip>div{padding:11px 15px}
  .synonym-stats-strip small{font-size:9px}
  .synonym-stats-strip b{font-size:22px}
  .synonym-stats-strip>div>span{font-size:30px}
  .synonym-body{flex:1;min-height:0;grid-template-columns:310px minmax(0,1fr);overflow:hidden}
  .synonym-map-panel{padding:20px 15px;overflow-y:auto}
  .synonym-map-head h3{font-size:30px}
  .synonym-map-head span{font-size:13px}
  .synonym-realm{grid-template-columns:46px 1fr auto;gap:11px;padding:11px 12px;border-radius:17px}
  .synonym-realm>span{width:46px;height:46px;font-size:23px;border-radius:14px}
  .synonym-realm b{font-size:15px}
  .synonym-realm small{font-size:10px;margin-top:2px}
  .synonym-main{padding:20px 24px 28px;overflow-y:auto}
  .synonym-guide-card{min-height:118px;padding:16px 20px;grid-template-columns:96px minmax(0,1fr) auto;gap:18px}
  .synonym-guide-pet,.synonym-guide-pet .pet-svg{width:90px;height:90px}
  .synonym-guide-card h3{font-size:29px}
  .synonym-guide-card p:last-child{font-size:14px;line-height:1.5;max-width:800px}
  .synonym-grade-power{min-width:190px;padding:13px 16px}
  .synonym-grade-power small{font-size:9px}
  .synonym-grade-power b{font-size:22px}
  .synonym-grade-power span{font-size:10px}
  .synonym-mode-tabs{gap:12px;margin:15px 0}
  .synonym-mode-tabs button{padding:14px 16px;border-radius:19px;column-gap:10px}
  .synonym-mode-tabs button>span{font-size:16px}
  .synonym-mode-tabs button>small{font-size:10px}
  .synonym-content{min-height:0}
  .synonym-footer{font-size:10px;padding:9px 24px 11px;flex:0 0 auto}
  .synonym-vault-toolbar{grid-template-columns:minmax(300px,1fr) auto auto;gap:10px}
  .synonym-search{padding:12px 15px}
  .synonym-search span{font-size:20px}.synonym-search input{font-size:14px}
  .synonym-filter-pill{font-size:12px;padding:11px 14px}.synonym-vault-count{font-size:11px;padding:10px 13px}
  .synonym-word-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
  .synonym-word-card{padding:15px;border-radius:22px}
  .synonym-speak{width:44px;height:44px;font-size:19px}
  .synonym-word-head h4{font-size:24px}.synonym-word-head small{font-size:10px}.synonym-crystal-mark{font-size:22px}
  .synonym-power-list{gap:7px;margin-top:12px}.synonym-power-chip{font-size:12px;padding:8px 11px}.synonym-context-note{font-size:10px;margin-top:9px}
  .synonym-battle-start{min-height:520px;grid-template-columns:minmax(0,1fr) 330px;gap:28px;padding:42px 52px}
  .synonym-battle-start h3{font-size:52px}.synonym-battle-start p{font-size:16px;max-width:800px}.synonym-battle-rules{gap:10px;margin:20px 0}.synonym-battle-rules span{font-size:12px;padding:9px 13px}.synonym-battle-start button{font-size:18px;padding:15px 22px}.synonym-battle-dragon{font-size:160px}
  .synonym-battle-card{min-height:560px;border-radius:28px}
  .synonym-battle-top{gap:14px;padding:17px 24px}.synonym-battle-top span{font-size:32px}.synonym-battle-top small{font-size:10px}.synonym-battle-top b{font-size:23px}.synonym-battle-top>strong{font-size:15px}
  .synonym-battle-progress{height:10px}
  .synonym-question-zone{padding:34px 34px 28px}
  .synonym-monster{font-size:86px;margin-bottom:6px}
  .synonym-question-zone>small{font-size:14px;letter-spacing:1.5px}
  .synonym-target-row{gap:16px;margin:10px 0 24px}
  .synonym-target-word{font-size:clamp(58px,5vw,78px)}
  .synonym-target-speak{width:62px;height:62px;border-radius:19px;font-size:27px;box-shadow:0 7px 15px #6c5cd21f}
  .synonym-options{max-width:1180px;gap:16px}
  .synonym-option-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 62px;align-items:stretch;min-height:88px;border:2px solid #e2e1ee;background:#fbfbff;border-radius:23px;overflow:hidden;transition:.14s}
  .synonym-option-wrap:hover{transform:translateY(-2px);border-color:#b9afea;background:#f6f2ff;box-shadow:0 10px 22px #6158a515}
  .synonym-option{border:0!important;background:transparent!important;border-radius:0!important;padding:18px 18px 18px 28px!important;font-size:27px!important;text-align:center;box-shadow:none!important;min-width:0}
  .synonym-option:hover:not(:disabled){transform:none!important;border-color:transparent!important;background:transparent!important}
  .synonym-option.correct{background:#e9fff7!important;color:#277e6a!important}
  .synonym-option.wrong{background:#fff0f2!important;color:#a94b59!important}
  .synonym-option-speak{border:0;border-left:1px solid #e2e1ee;background:#f1efff;color:#5d4bd2;font-size:25px;cursor:pointer;transition:.14s}
  .synonym-option-speak:hover{background:#dfd8ff;font-size:28px}
  .synonym-audio-hint{margin:16px auto 0;font-size:13px;font-weight:900;color:#79748f}
  .synonym-battle-feedback{min-height:76px;max-width:1180px;margin-top:16px;padding:14px 18px;border-radius:19px}
  .synonym-battle-feedback b{font-size:16px}.synonym-battle-feedback span{font-size:12px}.synonym-next-btn{font-size:13px;padding:12px 16px}
  .synonym-battle-end{min-height:520px}.synonym-battle-end h3{font-size:48px}.synonym-battle-end p{font-size:16px}.synonym-reward-row span{font-size:13px;padding:11px 14px}.synonym-restart-btn{font-size:17px}
  .synonym-boss-lock{min-height:520px}.synonym-boss-lock h3{font-size:46px}.synonym-boss-lock p{font-size:15px}.synonym-boss-lock button{font-size:16px;padding:13px 18px}
}

@media (max-width:850px){
  .synonym-dialog{height:100dvh;max-height:100dvh}
  .synonym-shell{height:100dvh;max-height:100dvh}
  .synonym-title-wrap h2{font-size:36px}
  .synonym-map-head h3{font-size:26px}.synonym-map-head span{font-size:11px}
  .synonym-realm b{font-size:13px}.synonym-realm small{font-size:9px}
  .synonym-guide-card h3{font-size:24px}.synonym-guide-card p:last-child{font-size:12px}
  .synonym-mode-tabs button>span{font-size:12px}
  .synonym-word-head h4{font-size:22px}.synonym-power-chip{font-size:11px;padding:7px 10px}
  .synonym-battle-card{min-height:520px}
  .synonym-battle-top b{font-size:19px}.synonym-battle-top>strong{font-size:12px}.synonym-battle-top small{font-size:9px}
  .synonym-question-zone>small{font-size:12px}
  .synonym-monster{font-size:70px}.synonym-target-word{font-size:52px}.synonym-target-speak{width:54px;height:54px;font-size:23px}
  .synonym-option-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 56px;align-items:stretch;min-height:76px;border:2px solid #e2e1ee;background:#fbfbff;border-radius:20px;overflow:hidden}
  .synonym-option{border:0!important;background:transparent!important;border-radius:0!important;font-size:22px!important;padding:15px!important}
  .synonym-option-speak{border:0;border-left:1px solid #e2e1ee;background:#f1efff;color:#5d4bd2;font-size:22px;cursor:pointer}
  .synonym-audio-hint{font-size:11px;margin-top:12px;color:#79748f;font-weight:900}
}

@media (max-width:580px){
  .synonym-target-word{font-size:46px}.synonym-monster{font-size:60px}
  .synonym-option-wrap{min-height:68px;grid-template-columns:minmax(0,1fr) 52px}.synonym-option{font-size:20px!important}.synonym-option-speak{font-size:20px}
}

/* ===== v4.9 Boss Rush · Rune Seal (distinct game mode) ===== */
.synonym-boss-gate{min-height:520px;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr);background:linear-gradient(135deg,#211d58,#38267a 46%,#6a2f75);color:#fff;border:2px solid #7a67c9;box-shadow:0 18px 40px #2b1d6330;position:relative}
.synonym-boss-gate:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,#ffd76926 0 4%,transparent 5%),radial-gradient(circle at 82% 8%,#df8cff22 0 9%,transparent 10%);pointer-events:none}
.boss-gate-art{position:relative;min-height:520px;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#c46ef642 0 22%,transparent 23%),linear-gradient(180deg,#26215c,#171438);overflow:hidden}
.boss-gate-art:before,.boss-gate-art:after{content:"";position:absolute;width:220px;height:340px;border:22px solid #7d61c6;border-bottom:0;border-radius:140px 140px 0 0;bottom:44px;opacity:.65}
.boss-gate-art:after{width:170px;height:285px;border-color:#f0c867;bottom:44px;opacity:.9}
.boss-moon{position:absolute;top:38px;right:46px;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:#ffe7a4;color:#8d5b16;font-size:34px;box-shadow:0 0 45px #ffd46a80}
.boss-dragon{font-size:150px;z-index:3;filter:drop-shadow(0 18px 15px #0a092a80);animation:synDragon 2.4s ease-in-out infinite}
.boss-runes{position:absolute;bottom:44px;z-index:4;font-size:33px;letter-spacing:20px;color:#ffe38b;text-shadow:0 0 16px #f9bd55}
.boss-gate-copy{position:relative;z-index:2;padding:44px 48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.boss-gate-copy .eyebrow{color:#f6d979;font-size:13px;letter-spacing:1.3px}.boss-gate-copy h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:46px;line-height:1.05;margin:8px 0 12px;color:#fff}.boss-gate-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;color:#e8e2ff;font-weight:750;max-width:760px}.boss-gate-copy>p b{color:#ffe178}
.boss-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px;width:100%;margin:22px 0 18px}.boss-rule-grid span{background:#ffffff12;border:1px solid #ffffff1f;border-radius:18px;padding:14px 10px;text-align:center}.boss-rule-grid b{display:block;font-size:25px;color:#ffe27a}.boss-rule-grid small{display:block;margin-top:4px;color:#d8d0f7;font-size:9px;font-weight:1000;letter-spacing:.6px}
.boss-unlock-line{display:flex;align-items:center;gap:14px;width:100%;margin:4px 0 18px}.boss-unlock-line .boss-progress{height:12px;flex:1;background:#ffffff1f;border-radius:99px;overflow:hidden}.boss-unlock-line .boss-progress i{display:block;height:100%;background:linear-gradient(90deg,#67e7c2,#ffd363,#ff8b91);border-radius:99px}.boss-unlock-line strong{font-size:12px;color:#ffe27a;white-space:nowrap}
.boss-gate-copy>button{border:0;border-radius:18px;padding:15px 24px;background:linear-gradient(135deg,#ffd85d,#ff9c52);color:#5c3511;font-size:18px;font-weight:1000;cursor:pointer;box-shadow:0 9px 0 #a85a29,0 15px 28px #160e3545}.boss-gate-copy>button:hover:not(:disabled){transform:translateY(-2px)}.boss-gate-copy>button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}

.rune-boss-card{min-height:590px;border-radius:30px;overflow:hidden;background:linear-gradient(180deg,#191a45 0,#2e286d 35%,#f6f3ff 35.1%,#fff 100%);border:2px solid #6b5fd2;box-shadow:0 18px 38px #40387528}
.rune-boss-top{min-height:86px;padding:16px 26px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(100deg,#302c82,#633fc8 55%,#9b4fca)}
.rune-boss-name{display:flex;align-items:center;gap:13px}.rune-boss-name>span{font-size:38px}.rune-boss-name small{display:block;color:#d9d4ff;font-size:10px;font-weight:1000;letter-spacing:1px}.rune-boss-name b{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:24px;line-height:1}.rune-boss-round{padding:11px 18px;border-radius:999px;background:#ffffff16;border:1px solid #ffffff2b;font-weight:1000;font-size:15px}
.rune-boss-meter{height:10px;background:#1a173e}.rune-boss-meter i{display:block;height:100%;background:linear-gradient(90deg,#ffca54,#ff7d7d,#74e7c0);transition:.3s}
.rune-boss-stage{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:22px;align-items:center;padding:28px 34px 18px;color:#38325f}
.rune-dragon-zone,.rune-player-panel{text-align:center;border-radius:24px;padding:18px 12px;background:#fff;border:2px solid #e5e0f4;box-shadow:0 8px 20px #4a407c10}.rune-dragon-avatar{font-size:82px;filter:drop-shadow(0 9px 8px #603b7a2f)}.rune-mage{font-size:75px}.rune-dragon-zone>b,.rune-player-panel>b{display:block;font-size:12px;color:#6b6190;letter-spacing:.7px}.rune-dragon-zone>small,.rune-player-panel>small{font-size:10px;font-weight:850;color:#9690aa}
.dragon-hp{display:flex;gap:5px;justify-content:center;margin:9px 0}.dragon-hp i{width:24px;height:9px;border-radius:99px;background:#e2deeb}.dragon-hp i.on{background:linear-gradient(90deg,#ff5f75,#ffb34e);box-shadow:0 0 8px #ff8c6d70}
.rune-hearts{font-size:24px;letter-spacing:3px;margin:8px 0}
.rune-target-panel{text-align:center;padding:18px 26px;border-radius:28px;background:linear-gradient(145deg,#fffaf0,#f3edff);border:2px solid #ddd4f0;box-shadow:0 10px 26px #53467f14}.rune-target-panel>small{font-size:11px;font-weight:1000;letter-spacing:1.4px;color:#9a77b3}.rune-target-panel>div:not(.rune-slots){display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0}.rune-target-panel strong{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:62px;line-height:1;color:#3c2c87}.rune-target-panel p{font-size:13px;font-weight:850;color:#77708d;margin:9px 0 12px}.rune-target-speak{width:56px;height:56px;border-radius:18px;border:0;background:#e5ddff;color:#4f41c8;font-size:25px;cursor:pointer}
.rune-slots{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px!important;margin:10px auto 0!important;max-width:520px}.rune-slots span{min-height:44px;display:grid;place-items:center;padding:7px 10px;border:2px dashed #c4b7e5;border-radius:13px;color:#a393c9;font-size:20px;font-weight:1000;background:#fff}.rune-slots span.filled{border-style:solid;border-color:#66d0ae;background:#eafff6;color:#267d65;font-size:14px}
.rune-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:10px 34px 6px}.rune-choice{display:grid;grid-template-columns:minmax(0,1fr) 60px;min-height:84px;border:2px solid #dcd8ea;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 7px 16px #51487f0d;transition:.15s}.rune-choice:hover{transform:translateY(-2px);border-color:#a997eb;box-shadow:0 10px 22px #51487f18}.rune-word{border:0;background:transparent;padding:13px 14px;cursor:pointer;color:#514b72}.rune-word span{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:27px;font-weight:900}.rune-word small{font-size:8px;letter-spacing:.8px;color:#a09aad;font-weight:1000}.rune-speak{border:0;border-left:1px solid #e4e0ee;background:#f1edff;color:#5b4bd2;font-size:24px;cursor:pointer}.rune-speak:hover{background:#e3dcff}.rune-choice.rune-correct{border-color:#5fcfa9;background:#eafff6;box-shadow:0 0 0 3px #65d5b11f}.rune-choice.rune-correct .rune-word{color:#277d65}.rune-choice.rune-wrong{border-color:#ed8192;background:#fff0f2;animation:runeShake .28s ease}.rune-choice.rune-reveal:not(.rune-correct){border-color:#e6c55d;background:#fff9d9}
.rune-boss-hint{margin:11px 34px 0;padding:10px 14px;border-radius:14px;background:#f4f0ff;color:#71698c;font-size:12px;font-weight:850;text-align:center}.rune-boss-feedback{min-height:58px;margin:10px 34px 24px;border-radius:16px;padding:11px 15px;display:none;align-items:center;justify-content:space-between;gap:14px}.rune-boss-feedback.show{display:flex}.rune-boss-feedback.good{background:#eafff5;border:1px solid #bcead8;color:#277b64}.rune-boss-feedback.bad{background:#fff0f2;border:1px solid #f0c0c8;color:#9d5260}.rune-boss-feedback.final{min-height:72px}.rune-boss-feedback div{display:grid;gap:2px}.rune-boss-feedback b{font-size:15px}.rune-boss-feedback span{font-size:11px;font-weight:800}
.rune-boss-end{min-height:540px;border-radius:30px;display:grid;place-items:center;text-align:center;padding:38px;background:radial-gradient(circle at 50% 20%,#ffe88650,transparent 25%),linear-gradient(145deg,#2c285f,#6641a0);color:#fff}.rune-boss-end.retry{background:radial-gradient(circle at 50% 20%,#ff8f8f2e,transparent 25%),linear-gradient(145deg,#302e58,#584163)}.rune-end-dragon{font-size:100px;filter:drop-shadow(0 12px 12px #1a123e80)}.rune-boss-end .eyebrow{color:#ffe27a}.rune-boss-end h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:50px;margin:4px 0}.rune-boss-end>p:not(.eyebrow){font-size:16px;color:#eee8ff;font-weight:800}.rune-boss-end .synonym-reward-row span{background:#ffffff13;color:#fff;border-color:#ffffff26}
@keyframes runeShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

@media(max-width:1050px){
  .synonym-boss-gate{grid-template-columns:1fr}.boss-gate-art{min-height:260px}.boss-gate-art:before,.boss-gate-art:after{height:210px;bottom:15px}.boss-dragon{font-size:110px}.boss-runes{bottom:18px}.boss-gate-copy{padding:28px 30px}.boss-gate-copy h3{font-size:36px}
  .rune-boss-stage{grid-template-columns:150px minmax(0,1fr) 150px;padding:20px}.rune-dragon-avatar{font-size:62px}.rune-mage{font-size:58px}.rune-target-panel strong{font-size:50px}.rune-choice-grid{padding:8px 20px}.rune-boss-hint,.rune-boss-feedback{margin-left:20px;margin-right:20px}
}
@media(max-width:760px){
  .boss-rule-grid{grid-template-columns:repeat(2,1fr)}.boss-gate-copy>p:not(.eyebrow){font-size:14px}
  .rune-boss-stage{grid-template-columns:1fr}.rune-dragon-zone,.rune-player-panel{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px}.rune-dragon-avatar,.rune-mage{font-size:42px}.dragon-hp{margin:0}.rune-target-panel{order:-1}.rune-target-panel strong{font-size:44px}.rune-choice-grid{grid-template-columns:1fr 1fr}.rune-word span{font-size:22px}
}
@media(max-width:520px){.rune-choice-grid{grid-template-columns:1fr}.rune-target-panel strong{font-size:38px}.boss-gate-copy{padding:22px 18px}.boss-gate-copy h3{font-size:31px}.rune-boss-top{padding:12px 14px}.rune-boss-name b{font-size:19px}.rune-boss-round{font-size:11px;padding:8px 11px}}

/* v4.10 — Word Crystal Vault meanings + example sentences */
.synonym-simple-meaning{font-family:inherit;font-size:.60em;font-weight:800;color:#85809b;letter-spacing:0;white-space:normal}
.synonym-example{margin:11px 0 0;padding:10px 12px;border-radius:13px;background:linear-gradient(135deg,#fff8dc,#f7f4ff);border:1px solid #eee7cb;color:#56516f;font-size:11px;line-height:1.45;font-weight:800}
.synonym-example span{display:block;margin-bottom:3px;color:#8b6f21;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.7px}
.synonym-word-card{display:flex;flex-direction:column}
.synonym-power-list{flex:0 0 auto}
.synonym-context-note{margin-top:8px}
@media (min-width:1181px){
  .synonym-word-head h4{line-height:1.08}
  .synonym-simple-meaning{font-size:15px}
  .synonym-example{font-size:14px;padding:12px 14px;margin-top:13px}
  .synonym-example span{font-size:10px;margin-bottom:4px}
  .synonym-context-note{font-size:10px}
}
@media (max-width:850px){
  .synonym-simple-meaning{font-size:13px}
  .synonym-example{font-size:12px;padding:9px 10px}
}

/* ===== Speaking Quest · Voice Adventure v4.11 ===== */
.top-speaking-btn{border:0;background:linear-gradient(120deg,#dffbff,#e9e5ff 52%,#ffe5f0);color:#345c86;border-radius:14px;padding:9px 12px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px #2877a914;transition:.16s}.top-speaking-btn:hover{transform:translateY(-1px) rotate(-1deg);box-shadow:0 8px 18px #2877a922}
.world-portals{grid-template-columns:repeat(4,minmax(0,1fr))}.speaking-portal{cursor:pointer;background:linear-gradient(135deg,#eefcff,#f0efff 56%,#fff0f5);transition:.18s}.speaking-portal:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(64,83,145,.17);border-color:#bcd7ef}.speaking-portal:before{background:#70d9f3}.speaking-portal .portal-icon{background:linear-gradient(145deg,#dcfbff,#eee7ff)}.speaking-progress i{background:linear-gradient(90deg,#44d4ea,#6f69ef,#ff79ad)}
.speaking-dialog{width:min(98vw,1840px);max-width:none;height:96vh;max-height:96vh;padding:0;border:0;border-radius:28px;background:#f9fbff;box-shadow:0 34px 100px #24304d66;overflow:hidden}.speaking-dialog::backdrop{background:#272b4fc9;backdrop-filter:blur(5px)}.speaking-shell{height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#f7fbff,#fff)}
.speaking-hero{min-height:112px;padding:18px 26px;display:grid;grid-template-columns:82px minmax(0,1fr) auto 48px;gap:18px;align-items:center;position:relative;overflow:hidden;background:linear-gradient(120deg,#5164e8 0%,#7c50e9 45%,#e65a9d 100%);color:white}.speaking-hero:before{content:"";position:absolute;inset:auto -90px -95px auto;width:320px;height:220px;border-radius:50%;background:#ffffff18}.speaking-hero-bubbles{position:absolute;right:19%;top:12px;font-size:32px;letter-spacing:18px;color:#ffffff1f;transform:rotate(-5deg)}.speaking-orb{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#dffcff,#fff0fb);box-shadow:0 11px 24px #20306f3d,inset 0 0 0 2px #ffffff88}.speaking-orb span{font-size:37px;position:relative;z-index:2}.speaking-orb i{position:absolute;inset:12px;border-radius:50%;border:3px solid #6fcff0;animation:speakingPulse 1.9s infinite}@keyframes speakingPulse{0%,100%{transform:scale(.8);opacity:.45}50%{transform:scale(1.18);opacity:.12}}.speaking-title-wrap{position:relative;z-index:2}.speaking-title-wrap .eyebrow{margin:0 0 2px}.speaking-title-wrap h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:34px;line-height:1;margin:0;text-shadow:0 3px 0 #25347133}.speaking-title-wrap>p:last-child{margin:3px 0 0;font-weight:800;font-size:13px;opacity:.9}.speaking-hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;position:relative;z-index:2}.speaking-hero-status span{background:#ffffff25;border:1px solid #ffffff44;padding:7px 12px;border-radius:999px;font-weight:900;font-size:11px}.speaking-hero-status b{background:#fff5b9;color:#7c531a;border-radius:12px;padding:9px 13px;font-size:13px;box-shadow:0 4px 0 #dca94a}.speaking-close{width:42px;height:42px;border-radius:50%;border:0;background:#ffffff21;color:#fff;font-size:27px;cursor:pointer;position:relative;z-index:2}.speaking-close:hover{background:#ffffff36}
.speaking-stats-strip{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(280px,2.2fr);gap:10px;padding:12px 18px;border-bottom:1px solid #e3e7f5;background:#fff}.speaking-stats-strip>div{min-height:62px;border:1px solid #e3e7f4;border-radius:16px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;background:linear-gradient(145deg,#fff,#fbfbff);box-shadow:0 6px 16px #384a7c0a}.speaking-stats-strip>div>span{grid-row:1/3;font-size:25px}.speaking-stats-strip small{font-size:8px;letter-spacing:.09em;font-weight:1000;color:#9695aa}.speaking-stats-strip b{font-size:17px;color:#39385f}.speaking-progress-wide{display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;column-gap:10px!important}.speaking-progress-wide small{grid-column:1/2}.speaking-progress-wide>div{height:9px;background:#e8e8f7;border-radius:99px;overflow:hidden;grid-column:1/2}.speaking-progress-wide>div i{height:100%;width:0;display:block;background:linear-gradient(90deg,#45d5e9,#7361ed,#fa75a6);border-radius:99px;transition:.35s}.speaking-progress-wide>b{grid-column:2;grid-row:1/3;align-self:center;font-size:17px!important}
.speaking-body{min-height:0;flex:1;display:grid;grid-template-columns:270px minmax(0,1fr);overflow:hidden}.speaking-map-panel{min-height:0;overflow:auto;padding:18px 13px;border-right:1px solid #e2e5f2;background:linear-gradient(180deg,#fbfcff,#f4f6ff)}.speaking-map-head{padding:2px 7px 12px}.speaking-map-head h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:23px;margin:2px 0;color:#36375f}.speaking-map-head span{font-size:10px;color:#8d8ba4;font-weight:800}.speaking-term-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.speaking-term-tabs button{border:1px solid #e2e4f4;background:#fff;color:#686886;border-radius:12px;padding:10px 8px;font-size:11px;font-weight:900;cursor:pointer}.speaking-term-tabs button.active{background:linear-gradient(120deg,#5f6ee5,#8a50e6);color:#fff;border-color:transparent;box-shadow:0 6px 14px #675dd329}.speaking-mission-list{display:flex;flex-direction:column;gap:8px}.speaking-mission-card{width:100%;border:1px solid #e5e6f3;background:#fff;border-radius:16px;padding:11px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;cursor:pointer;color:#4e4e72;transition:.16s}.speaking-mission-card:hover{transform:translateX(3px);border-color:#b8bce9;box-shadow:0 8px 18px #4f5a8d14}.speaking-mission-card.active{background:linear-gradient(120deg,#5b69df,#8a54e6);color:#fff;border-color:transparent;box-shadow:0 9px 20px #635ad33b}.speaking-mission-no{width:38px;height:38px;border-radius:12px;background:#eeefff;color:#655ada;display:grid;place-items:center;font-weight:1000}.speaking-mission-card.active .speaking-mission-no{background:#ffffff28;color:#fff}.speaking-mission-card b{display:block;font-size:12px;line-height:1.2}.speaking-mission-card small{font-size:8px;font-weight:800;opacity:.72}.speaking-mission-stars{font-size:10px;white-space:nowrap}.speaking-browser-note{margin-top:14px;border-radius:16px;padding:12px;background:#eafaff;border:1px solid #cdebf3;color:#53677a}.speaking-browser-note b{display:block;font-size:10px;margin-bottom:4px}.speaking-browser-note span{display:block;font-size:9px;line-height:1.4;font-weight:700}
.speaking-main{min-width:0;min-height:0;overflow:auto;padding:16px 18px 22px;background:radial-gradient(circle at 88% 10%,#fff0d8 0 7%,transparent 24%),linear-gradient(180deg,#fafaff,#fff)}.speaking-guide-card{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:13px;align-items:center;border:1px solid #e5e3f4;border-radius:20px;padding:12px 16px;margin-bottom:13px;background:linear-gradient(120deg,#f0f4ff,#fff7f8);box-shadow:0 7px 18px #36405d0a}.speaking-guide-pet{width:58px;height:58px}.speaking-guide-pet .pet-svg{width:58px;height:58px}.speaking-guide-card h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:22px;margin:0;color:#46446d}.speaking-guide-card p:last-child{font-size:11px;font-weight:750;color:#777690;margin:1px 0 0}.speaking-level-badge{background:#fff;border:1px solid #eee3d3;border-radius:14px;padding:9px 12px;min-width:150px}.speaking-level-badge small{display:block;font-size:7px;color:#9c95a8;font-weight:1000;letter-spacing:.08em}.speaking-level-badge b{display:block;font-size:13px;color:#5a4e94}.speaking-level-badge span{font-size:8px;color:#7c7893;font-weight:800}.speaking-content{min-height:440px}
.speaking-welcome{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px}.voice-quest-intro,.voice-quest-how{border:1px solid #e2e4f2;border-radius:24px;padding:24px;background:#fff;box-shadow:0 10px 25px #4d527c0b}.voice-quest-intro{background:linear-gradient(145deg,#f4f2ff,#eefcff 58%,#fff7ec);position:relative;overflow:hidden}.voice-quest-intro:after{content:"🎙️";position:absolute;right:32px;bottom:14px;font-size:100px;opacity:.12;transform:rotate(8deg)}.voice-quest-intro h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:36px;line-height:1.05;margin:3px 0 8px;color:#393c68}.voice-quest-intro p{max-width:760px;font-size:14px;line-height:1.6;color:#6b6a86;font-weight:700}.voice-quest-cta{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:15px;padding:13px 18px;background:linear-gradient(120deg,#5f69e8,#8b4fe3);color:#fff;font-weight:1000;font-size:14px;cursor:pointer;box-shadow:0 7px 0 #4736a6;margin-top:10px}.voice-quest-cta:active{transform:translateY(4px);box-shadow:0 3px 0 #4736a6}.voice-quest-how h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:22px;margin:0 0 10px;color:#434269}.voice-steps{display:grid;gap:10px}.voice-step{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;border:1px solid #eceaf7;border-radius:15px;padding:10px;background:#fcfcff}.voice-step span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edeaff;font-size:21px}.voice-step b{display:block;font-size:12px}.voice-step small{font-size:9px;color:#818098;font-weight:700}
.speaking-mission-stage{border:1px solid #e0e3f1;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 12px 28px #3e486a0e}.speaking-stage-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 18px;background:linear-gradient(120deg,#525fdb,#7f51df);color:white}.speaking-stage-head .eyebrow{opacity:.8;margin-bottom:1px}.speaking-stage-head h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:27px;margin:0}.speaking-stage-meta{display:flex;align-items:center;gap:8px}.speaking-stage-meta span,.speaking-stage-meta a{border:1px solid #ffffff35;background:#ffffff16;color:white;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900;text-decoration:none}.speaking-stage-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:0;min-height:500px}.speaking-passage-zone{padding:22px;border-right:1px solid #e7e7f2}.speaking-passage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.speaking-passage-toolbar>div:first-child small{display:block;font-size:9px;color:#8e8da3;font-weight:900;letter-spacing:.06em}.speaking-passage-toolbar>div:first-child b{font-size:13px;color:#454460}.speaking-audio-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.speaking-audio-buttons button{border:1px solid #dddff0;border-radius:12px;padding:9px 11px;background:#f8f8ff;color:#5d5a84;font-weight:900;font-size:10px;cursor:pointer}.speaking-audio-buttons button.primary{border:0;background:#5966df;color:#fff}.speaking-passage{min-height:310px;max-height:470px;overflow:auto;border:2px solid #e1e2f0;border-radius:18px;background:linear-gradient(180deg,#fffef8,#fff);padding:20px;font-size:22px;line-height:1.9;font-weight:750;color:#353650;white-space:pre-wrap}.speaking-token{padding:2px 2px;border-radius:6px;transition:.18s}.speaking-token.correct{background:#d9f8e4;color:#17623f;box-shadow:0 0 0 1px #8ad7ab}.speaking-token.wrong{background:#ffe0e4;color:#a2263c;box-shadow:0 0 0 1px #f3a3af}.speaking-token.live{background:#fff1a8;color:#5e4b00;box-shadow:0 0 0 2px #ffd34c}.speaking-focus{margin-top:12px;border-radius:14px;background:#f4f1ff;border:1px solid #e0d9ff;padding:10px 12px;color:#5d5980;font-size:11px;font-weight:800;line-height:1.5}.speaking-focus b{color:#554ac6}.speaking-control-zone{padding:22px;background:linear-gradient(180deg,#fbfbff,#f7faff)}.voice-meter{display:grid;place-items:center;margin:0 auto 12px;width:145px;height:145px;border-radius:50%;position:relative;background:conic-gradient(#6d63e8 0deg,#6d63e8 var(--voice-angle,0deg),#e9e9f5 var(--voice-angle,0deg));box-shadow:0 10px 25px #5e5abe22}.voice-meter:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}.voice-meter-inner{position:relative;z-index:2;text-align:center}.voice-meter-inner span{font-size:35px;display:block}.voice-meter-inner b{display:block;font-size:17px;color:#464365}.voice-meter-inner small{font-size:8px;color:#9693a8;font-weight:900}.voice-meter.listening{animation:voiceMeterPulse 1s infinite}@keyframes voiceMeterPulse{50%{transform:scale(1.035);box-shadow:0 0 0 12px #7f6ef51c,0 10px 25px #5e5abe22}}.speaking-record-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.speaking-record-actions button{border:0;border-radius:14px;min-height:48px;padding:10px 12px;font-weight:1000;cursor:pointer}.speaking-record-start{grid-column:1/-1;background:linear-gradient(120deg,#ff5f83,#e04c9a);color:#fff;font-size:14px;box-shadow:0 6px 0 #ad356d}.speaking-record-start.recording{background:linear-gradient(120deg,#e84b59,#ff7b73)}.speaking-record-stop{background:#fff0f2;color:#bd3851;border:1px solid #f5c5ce!important}.speaking-record-reset{background:#efeffa;color:#646083}.speaking-record-actions button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.speaking-live-transcript{margin-top:12px;border:1px dashed #cfd4e7;border-radius:14px;min-height:88px;padding:11px;background:#fff}.speaking-live-transcript small{display:block;font-size:8px;font-weight:1000;color:#9a99ab;letter-spacing:.06em;margin-bottom:5px}.speaking-live-transcript p{font-size:11px;line-height:1.5;color:#5e5d76;font-weight:750;margin:0}.speaking-live-transcript p.empty{color:#aaa9b9}.speaking-recording-note{margin-top:9px;font-size:9px;color:#858398;font-weight:750;line-height:1.4}.speaking-audio-playback{margin-top:10px;width:100%}
.speaking-report{margin-top:15px;border:1px solid #e0e2ef;border-radius:22px;background:#fff;overflow:hidden}.speaking-report-head{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;padding:18px;background:linear-gradient(125deg,#f0f4ff,#fff6ee)}.speaking-score-ring{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#5cd7a3 0 var(--score-deg),#e8e9f2 var(--score-deg));position:relative}.speaking-score-ring:after{content:"";position:absolute;inset:10px;background:white;border-radius:50%}.speaking-score-ring>div{position:relative;z-index:2;text-align:center}.speaking-score-ring b{display:block;font-size:29px;color:#39425d}.speaking-score-ring small{font-size:8px;color:#8f8d9c;font-weight:900}.speaking-report-copy h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:24px;margin:0;color:#414266}.speaking-report-copy p{font-size:11px;line-height:1.5;color:#727188;font-weight:750;margin:3px 0 0}.speaking-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.speaking-metric{border:1px solid #e7e6f0;border-radius:13px;padding:9px;background:#fff}.speaking-metric small{display:block;font-size:7px;color:#9997a9;font-weight:1000}.speaking-metric b{font-size:15px;color:#474666}.speaking-report-body{padding:16px 18px 18px}.speaking-review-passage{border:1px solid #e5e4ef;border-radius:16px;padding:14px;background:#fbfbff;font-size:16px;line-height:1.9;font-weight:750;color:#3e405b;white-space:pre-wrap}.shadow-title{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px}.shadow-title h5{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:19px;margin:0;color:#464566}.shadow-title span{font-size:9px;font-weight:900;color:#887f95}.shadow-word-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shadow-word-card{border:1px solid #f0cfd6;border-radius:14px;padding:10px;background:#fff7f8;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}.shadow-word-card>b{font-size:13px;color:#a13248}.shadow-word-card small{display:block;font-size:8px;color:#96858a}.shadow-word-card button{width:34px;height:34px;border-radius:10px;border:1px solid #e2d7df;background:#fff;cursor:pointer}.shadow-word-card.repaired{border-color:#b9e5ca;background:#f0fff5}.shadow-word-card.repaired>b{color:#2b7450}.shadow-none{padding:14px;border-radius:14px;background:#eefcf4;color:#2b704d;font-weight:900;font-size:12px}.speaking-report-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}.speaking-report-actions button{border:0;border-radius:13px;padding:11px 14px;font-weight:1000;cursor:pointer}.speaking-report-actions .again{background:#f0effa;color:#625d89}.speaking-report-actions .next{background:linear-gradient(120deg,#5c69e1,#8b53e8);color:white}.speaking-compat-error{border:1px solid #f0d4ba;border-radius:18px;padding:18px;background:#fff9ef;color:#6f5a44;font-weight:750;line-height:1.6}.speaking-compat-error b{display:block;font-size:15px;color:#9b5a32;margin-bottom:5px}
.speaking-footer{min-height:32px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 14px;background:#fbfbff;border-top:1px solid #e5e7f1;color:#88869b;font-size:8px;font-weight:800}
@media(max-width:1400px){.world-portals{grid-template-columns:repeat(2,minmax(0,1fr))}.speaking-body{grid-template-columns:240px minmax(0,1fr)}.speaking-stage-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.speaking-passage{font-size:20px}.speaking-stats-strip{grid-template-columns:repeat(4,1fr)}.speaking-progress-wide{grid-column:1/-1}}
@media(max-width:980px){.world-portals{grid-template-columns:1fr}.speaking-dialog{width:100vw;height:100vh;max-height:100vh;border-radius:0}.speaking-hero{grid-template-columns:62px 1fr 40px;padding:12px 14px}.speaking-hero-status{display:none}.speaking-orb{width:56px;height:56px;border-radius:18px}.speaking-orb span{font-size:29px}.speaking-title-wrap h2{font-size:27px}.speaking-body{display:block;overflow:auto}.speaking-map-panel{border-right:0;border-bottom:1px solid #e4e6f2;overflow:visible}.speaking-mission-list{display:grid;grid-template-columns:repeat(3,1fr)}.speaking-browser-note{display:none}.speaking-main{overflow:visible;padding:12px}.speaking-guide-card{grid-template-columns:54px 1fr}.speaking-level-badge{display:none}.speaking-stage-grid{grid-template-columns:1fr}.speaking-passage-zone{border-right:0;border-bottom:1px solid #e5e5ef}.speaking-passage{max-height:none;font-size:19px}.speaking-welcome{grid-template-columns:1fr}.speaking-stats-strip>div:nth-child(4){display:none}.speaking-stats-strip{grid-template-columns:repeat(3,1fr)}.speaking-progress-wide{grid-column:1/-1!important}.shadow-word-list{grid-template-columns:1fr}}
@media(max-width:620px){.top-speaking-btn span{display:none}.top-speaking-btn{padding:9px 10px}.speaking-stats-strip{gap:5px;padding:7px}.speaking-stats-strip>div{padding:7px;min-height:50px}.speaking-stats-strip>div>span{font-size:19px}.speaking-stats-strip b{font-size:13px}.speaking-map-panel{padding:10px}.speaking-mission-list{grid-template-columns:1fr}.speaking-mission-card{padding:9px}.speaking-guide-card{padding:9px}.speaking-guide-card h3{font-size:18px}.speaking-guide-card p:last-child{font-size:9px}.speaking-passage-zone,.speaking-control-zone{padding:13px}.speaking-stage-head{padding:11px}.speaking-stage-head h3{font-size:22px}.speaking-stage-meta span{display:none}.speaking-stage-meta a{font-size:8px}.speaking-passage-toolbar{display:block}.speaking-audio-buttons{justify-content:flex-start;margin-top:8px}.speaking-passage{font-size:18px;line-height:1.8;padding:14px}.speaking-report-head{grid-template-columns:100px 1fr}.speaking-score-ring{width:92px;height:92px}.speaking-score-ring b{font-size:22px}.speaking-metric-grid{grid-template-columns:repeat(2,1fr)}.speaking-footer{display:block;text-align:center}.voice-quest-intro h3{font-size:29px}}


/* ===== Level-Up Celebration + Companion Leaderboard v4.12 ===== */
#progressCelebrationHost{position:relative;z-index:99999}.progress-celebration{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 35%,#5b4be55c,transparent 40%),#17183ab8;backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .25s ease;overflow:hidden;z-index:99999}.progress-celebration.show{opacity:1;pointer-events:auto}.progress-celebration.leaving{opacity:0;pointer-events:none}.celebration-card{width:min(650px,92vw);max-height:min(84vh,760px);overflow:auto;border:4px solid #fff;background:linear-gradient(160deg,#fffef4 0,#fff8d4 35%,#f6efff 100%);border-radius:36px;padding:30px 34px 26px;text-align:center;position:relative;z-index:5;box-shadow:0 28px 75px #0c0d2f69,0 0 0 8px #ffe16766;animation:celebrationPop .48s cubic-bezier(.2,1.35,.35,1)}.celebration-card:before,.celebration-card:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.6;pointer-events:none}.celebration-card:before{width:170px;height:170px;background:#ffe372;right:-70px;top:-60px}.celebration-card:after{width:140px;height:140px;background:#88e4d7;left:-60px;bottom:-72px}.celebration-close{position:absolute;right:15px;top:14px;width:38px;height:38px;border:0;border-radius:14px;background:#3d35661a;color:#625b82;font-size:26px;font-weight:900;cursor:pointer;z-index:8}.celebration-crown{font-size:56px;line-height:1;filter:drop-shadow(0 8px 8px #c9913b33);animation:crownBounce 1.1s ease-in-out infinite}.celebration-card>p{margin:8px 0 0;color:#7a5bbd;font-weight:1000;letter-spacing:2.2px;font-size:13px}.celebration-card h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:34px;line-height:1.05;color:#3f416f;margin:4px 0 12px}.celebration-level-orb{width:112px;height:112px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#795ee9,#c65cd9 58%,#ff8c9c);color:#fff;border:6px solid #fff;box-shadow:0 0 0 5px #ffd85b,0 14px 25px #7d56c33d;position:relative;z-index:2}.celebration-level-orb small{font-size:8px;font-weight:1000;letter-spacing:.7px;color:#f1edff}.celebration-level-orb b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:47px;line-height:.92}.celebration-subline{font-size:15px;color:#696781;font-weight:800;margin:7px 0 13px}.celebration-unlock-title{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:6px 12px;background:#fff1a7;border:1px solid #f3c94f;color:#77530d;font-size:9px;letter-spacing:.65px;font-weight:1000}.celebration-pets{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:12px 0 4px}.celebration-pet-card{min-width:210px;max-width:260px;display:flex;align-items:center;text-align:left;gap:10px;padding:8px 13px 8px 8px;background:#fff;border:1px solid #e9e2f1;border-radius:20px;box-shadow:0 8px 18px #58537e16;position:relative;z-index:2}.celebration-pet-card>div{width:62px;height:62px;flex:none}.celebration-pet-card .pet-svg{width:100%;height:100%}.celebration-pet-card span b{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:18px;color:#4e477e}.celebration-pet-card span small{display:block;color:#908ba3;font-size:9px;font-weight:900}.celebration-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:16px;position:relative;z-index:2}.celebration-actions button{border:0;border-radius:15px;padding:11px 17px;font-weight:1000;cursor:pointer}.celebration-pets-btn{background:#fff;border:1px solid #dcd6f3!important;color:#6756c7}.celebration-continue{background:linear-gradient(135deg,#6657e8,#875ae2);color:#fff;box-shadow:0 8px 17px #6657e833}.celebration-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.celebration-confetti i{position:absolute;left:var(--x);top:-10%;font-style:normal;font-size:17px;color:#ffe15a;animation:confettiFall var(--dur) linear var(--delay) infinite;filter:drop-shadow(0 2px 3px #18204b33)}.celebration-confetti i:nth-child(3n){color:#79e4d5}.celebration-confetti i:nth-child(3n+1){color:#ff81ac}.celebration-confetti i:nth-child(5n){font-size:23px}.celebration-barrage{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.35}.celebration-barrage span{position:absolute;left:100%;white-space:nowrap;font-family:'Trebuchet MS',system-ui,sans-serif;font-weight:1000;color:#fff;font-size:24px;text-shadow:0 3px 10px #201f65;animation:barrageRun 8s linear infinite}.celebration-barrage span:nth-child(1){top:15%;animation-duration:9s}.celebration-barrage span:nth-child(2){top:47%;animation-delay:-3.5s;animation-duration:10s}.celebration-barrage span:nth-child(3){top:78%;animation-delay:-6s;animation-duration:11s}.leader-avatar{position:relative;display:block;overflow:visible!important;background:linear-gradient(145deg,#eef1ff,#fbf8ff);border:3px solid #fff;box-shadow:0 0 0 2px #c7c6e5,0 6px 14px #4a4e7a1a;font-size:0}.leader-avatar .leader-student-art{position:absolute;inset:2px;border-radius:50%;overflow:hidden;background:linear-gradient(180deg,#dff3ff 0 64%,#e6f4e9 64%)}.leader-student-svg{width:100%;height:112%;display:block;transform:translateY(2%)}.leader-companion{position:absolute;width:55%;height:55%;right:-22%;bottom:-13%;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #fff;box-shadow:0 0 0 2px #8f81e8,0 5px 11px #3e3b7830;z-index:4}.leader-companion .pet-svg{width:115%;height:115%;display:block}.podium-card.rank-1 .leader-companion{box-shadow:0 0 0 3px #f1c64e,0 7px 15px #a16f2438}.leader-avatar.empty-avatar{display:grid!important;place-items:center!important;overflow:hidden!important;color:#8e8baa;font-size:15px!important}.podium-card .leader-avatar.empty-avatar{font-size:20px!important}.leaderboard-me>.leader-avatar{width:48px;height:48px;flex:none}.leaderboard-me>.leader-avatar .leader-companion{width:52%;height:52%;right:-14%;bottom:-8%}.leader-name .leader-avatar{margin-right:3px}
@keyframes celebrationPop{0%{transform:scale(.72) translateY(25px);opacity:0}70%{transform:scale(1.035)}100%{transform:scale(1);opacity:1}}@keyframes crownBounce{50%{transform:translateY(-8px) rotate(4deg)}}@keyframes confettiFall{to{transform:translateY(120vh) rotate(var(--spin));opacity:.15}}@keyframes barrageRun{to{transform:translateX(-260%)}}
@media(max-width:620px){.progress-celebration{padding:10px}.celebration-card{padding:25px 16px 20px;border-radius:28px}.celebration-card h2{font-size:27px}.celebration-level-orb{width:96px;height:96px}.celebration-level-orb b{font-size:40px}.celebration-pet-card{min-width:min(100%,260px)}.celebration-barrage span{font-size:16px}.leaderboard-me>.leader-avatar{width:41px;height:41px}.leader-companion{right:-18%;bottom:-10%}}

/* ===== Speaking Quest v4.13 · Part Practice + Synced Model Voice ===== */
.speaking-part-nav{display:grid;grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid #e6e6f3;background:linear-gradient(90deg,#f4f2ff 0%,#fff 55%,#fff8ef 100%)}
.speaking-part-label span{display:block;font-size:10px;letter-spacing:.08em;font-weight:1000;color:#6357c7}.speaking-part-label small{display:block;margin-top:3px;font-size:9px;line-height:1.35;font-weight:800;color:#8b899e}
.speaking-part-buttons{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 4px;scrollbar-width:thin}.speaking-part-buttons button{flex:0 0 auto;min-width:118px;border:1px solid #dddff0;border-radius:14px;background:#fff;color:#5e5d78;padding:8px 11px;display:grid;grid-template-columns:27px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 4px 12px #5b55900c;transition:.18s}.speaking-part-buttons button>span{grid-row:1/3;width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#efeffa;color:#69638d;font-weight:1000;font-size:11px}.speaking-part-buttons button b{font-size:11px;line-height:1.1}.speaking-part-buttons button small{font-size:8px;color:#9b99aa;font-weight:850}.speaking-part-buttons button:hover{transform:translateY(-1px);border-color:#aca5ee}.speaking-part-buttons button.active{border-color:#665be5;background:linear-gradient(135deg,#675ee8,#8b54df);color:#fff;box-shadow:0 7px 18px #665be52a}.speaking-part-buttons button.active>span{background:#ffffff26;color:#fff}.speaking-part-buttons button.active small{color:#ebe9ff}.speaking-part-buttons button.cleared:not(.active){border-color:#a7dfc1;background:#f3fff8}.speaking-part-buttons button.cleared:not(.active)>span{background:#dff7ea;color:#25704c}.speaking-part-buttons button.cleared:not(.active)>span:after{content:'✓';font-size:8px;margin-left:1px}
.speaking-audio-buttons{align-items:center}.speaking-speed-control{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #e0e0ee;border-radius:13px;background:#f7f7fc}.speaking-speed-control button{min-width:43px;padding:7px 8px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#6b6884!important;box-shadow:none!important}.speaking-speed-control button.active{background:#6b5fe5!important;color:#fff!important;box-shadow:0 3px 9px #695ee52e!important}.speaking-speed-control button:hover{background:#eceafb!important}.speaking-speed-control button.active:hover{background:#5f54d8!important}
.speaking-token{cursor:pointer;position:relative}.speaking-token:hover{background:#edf1ff;box-shadow:0 0 0 1px #cfd6ff}.speaking-token.model-live{background:#ffe778!important;color:#322b56!important;box-shadow:0 0 0 3px #ffc933,0 5px 14px #ffc9333f!important;transform:translateY(-1px)}.speaking-token.tap-live{background:#9fe9ff!important;color:#163f64!important;box-shadow:0 0 0 3px #53c7ef,0 5px 14px #53c7ef42!important;transform:scale(1.04)}
.speaking-focus span{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;background:#fff;color:#77728e;font-size:9px}
.speaking-passage-toolbar>div:first-child b{font-size:14px}.speaking-passage-toolbar>div:first-child small{font-size:10px}.speaking-recording-note{font-size:10px}.speaking-live-transcript small{font-size:9px}
@media(max-width:1100px){.speaking-part-nav{grid-template-columns:1fr}.speaking-part-buttons{padding-bottom:7px}.speaking-audio-buttons{justify-content:flex-start}.speaking-passage-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.speaking-part-nav{padding:10px 13px;gap:8px}.speaking-part-label small{font-size:8px}.speaking-part-buttons button{min-width:108px}.speaking-speed-control{width:100%;justify-content:space-between}.speaking-speed-control button{flex:1}.speaking-audio-buttons{width:100%}.speaking-audio-buttons>.primary{width:100%}}

/* ===== Speaking Quest v4.14 · Previous Performance + Attempt History ===== */
.speaking-history{margin:14px 18px 0;border:1px solid #dedff0;border-radius:18px;background:linear-gradient(135deg,#f8f7ff 0%,#fff 55%,#fff8ef 100%);padding:14px 16px;box-shadow:0 7px 18px #4a4b7710}.speaking-history.empty{display:flex;align-items:center;gap:12px;color:#73718a}.speaking-history.empty .speaking-history-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#edeaff;font-size:24px;flex:none}.speaking-history.empty h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:18px;margin:1px 0 2px;color:#4e4a73}.speaking-history.empty p{margin:0;font-size:10px;font-weight:750;color:#8c899c}.speaking-history .eyebrow{margin:0;color:#6559c7;font-size:8px;letter-spacing:.08em}.speaking-history-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.speaking-history-top h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px;margin:2px 0 1px;color:#464465}.speaking-history-top small{font-size:9px;color:#9996aa;font-weight:850}.speaking-history-score{min-width:92px;border-radius:16px;padding:10px 14px;text-align:center;background:linear-gradient(135deg,#6a60e7,#8858df);color:#fff;box-shadow:0 6px 15px #685ee52b}.speaking-history-score b{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:29px;line-height:1}.speaking-history-score span{font-size:8px;font-weight:900;opacity:.9}.speaking-history-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}.speaking-history-metrics>div{background:#fff;border:1px solid #e7e6f0;border-radius:12px;padding:8px 10px}.speaking-history-metrics small{display:block;font-size:7px;color:#9996a8;font-weight:1000}.speaking-history-metrics b{display:block;margin-top:1px;font-size:14px;color:#4d4b68}.speaking-history-shadow{margin-top:9px;border-radius:10px;padding:8px 10px;background:#fff2f4;color:#914154;font-size:9px;font-weight:800}.speaking-history-shadow.perfect{background:#effcf4;color:#2e7451}.speaking-history-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px}.speaking-history-strip>span{font-size:8px;color:#777489;font-weight:1000;text-transform:uppercase;letter-spacing:.05em}.speaking-history-strip>div{display:flex;gap:5px;flex-wrap:wrap}.speaking-history-pill{display:inline-flex;align-items:center;justify-content:center;min-width:43px;height:26px;border-radius:999px;background:#efeff8;border:1px solid #e1e0ed;color:#66637c;font-size:9px;font-weight:1000}.speaking-history-pill.latest{background:#fff0b7;border-color:#efd56b;color:#775c12}.speaking-history-strip>b{margin-left:auto;font-size:9px;color:#5a5681}.speaking-attempt-compare{margin-top:10px;border-radius:12px;padding:8px 10px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#f3f3fa;color:#66647b;font-size:9px;font-weight:850}.speaking-attempt-compare strong{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:17px}.speaking-attempt-compare.up{background:#edfbf3;color:#28724f}.speaking-attempt-compare.down{background:#fff1f2;color:#a24757}.speaking-attempt-compare.same{background:#f2f1fa;color:#625f7b}
@media(max-width:780px){.speaking-history{margin:10px 10px 0;padding:12px}.speaking-history-top{grid-template-columns:1fr auto}.speaking-history-score{min-width:76px}.speaking-history-score b{font-size:24px}.speaking-history-metrics{grid-template-columns:repeat(2,1fr)}.speaking-history-strip>b{margin-left:0}.speaking-attempt-compare{align-items:flex-start}}
@media(max-width:620px){.speaking-stage-meta span:nth-child(1),.speaking-stage-meta span:nth-child(3){display:none}.speaking-history-top h4{font-size:17px}.speaking-history-score{padding:8px 10px}.speaking-history-metrics b{font-size:13px}}


/* ===== Speaking Quest v4.15 · Expanded Interface + Model Play Control ===== */
.model-play-button{display:flex!important;align-items:center;gap:11px!important;min-width:188px!important;padding:8px 14px 8px 9px!important;border:0!important;border-radius:17px!important;background:linear-gradient(135deg,#5666e8,#8353e7)!important;color:#fff!important;box-shadow:0 7px 16px #5d5adf38!important;cursor:pointer!important;text-align:left!important;transition:transform .16s,box-shadow .16s,background .16s!important}.model-play-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px #5d5adf45!important}.model-play-button:active{transform:translateY(1px)}.model-play-button.playing{background:linear-gradient(135deg,#ee5b80,#df4d9b)!important}.model-play-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff;color:#5c5de2;font-size:17px;line-height:1;box-shadow:0 3px 9px #25336e2b;padding-left:2px}.model-play-button.playing .model-play-icon{color:#d8447d;padding-left:0}.model-play-copy{display:flex;flex-direction:column;line-height:1.05}.model-play-copy b{font-size:13px!important;color:inherit!important}.model-play-copy small{font-size:8px!important;color:#fff!important;opacity:.86;margin-top:4px;font-weight:800}.speaking-audio-buttons{align-items:center}.speaking-speed-control{min-height:48px;padding:5px 7px}.speaking-speed-control button{min-width:49px!important;font-size:11px!important}
@media(min-width:981px){
  .speaking-dialog{width:99.4vw;height:98.8vh;max-width:none;max-height:98.8vh;border-radius:18px}
  .speaking-hero{min-height:124px;padding:20px 30px;grid-template-columns:88px minmax(0,1fr) auto 50px}.speaking-title-wrap h2{font-size:39px}.speaking-title-wrap>p:last-child{font-size:14px}.speaking-orb{width:80px;height:80px}
  .speaking-stats-strip{padding:13px 20px;gap:12px}.speaking-stats-strip>div{min-height:68px;padding:11px 14px}.speaking-stats-strip small{font-size:9px}.speaking-stats-strip b{font-size:19px}
  .speaking-body{grid-template-columns:310px minmax(0,1fr)}.speaking-map-panel{padding:20px 16px}.speaking-map-head h3{font-size:26px}.speaking-map-head span{font-size:11px}.speaking-term-tabs button{padding:12px 9px;font-size:12px}.speaking-mission-card{padding:13px;grid-template-columns:44px minmax(0,1fr) auto}.speaking-mission-no{width:42px;height:42px}.speaking-mission-card b{font-size:13px}.speaking-mission-card small{font-size:9px}.speaking-browser-note b{font-size:11px}.speaking-browser-note span{font-size:10px}
  .speaking-main{padding:18px 22px 26px}.speaking-guide-card{padding:14px 18px}.speaking-guide-card h3{font-size:25px}.speaking-guide-card p:last-child{font-size:12px}.speaking-level-badge{min-width:170px;padding:11px 14px}.speaking-level-badge b{font-size:14px}
  .speaking-stage-head{padding:18px 22px}.speaking-stage-head h3{font-size:31px}.speaking-stage-meta span,.speaking-stage-meta a{padding:8px 12px;font-size:10px}.speaking-stage-grid{grid-template-columns:minmax(0,1.55fr) minmax(380px,.62fr);min-height:570px}.speaking-passage-zone{padding:25px 26px}.speaking-control-zone{padding:25px}.speaking-passage-toolbar{margin-bottom:14px}.speaking-passage-toolbar>div:first-child small{font-size:10px}.speaking-passage-toolbar>div:first-child b{font-size:15px}.speaking-passage{min-height:345px;max-height:525px;padding:24px 26px;font-size:26px;line-height:1.9}.speaking-focus{padding:12px 14px;font-size:12px}.voice-meter{width:160px;height:160px}.voice-meter-inner span{font-size:39px}.voice-meter-inner b{font-size:19px}.voice-meter-inner small{font-size:9px}.speaking-record-actions button{min-height:54px;font-size:13px}.speaking-record-start{font-size:15px}.speaking-live-transcript{min-height:102px;padding:13px}.speaking-live-transcript small{font-size:9px}.speaking-live-transcript p{font-size:12px}.speaking-recording-note{font-size:10px}
  .speaking-part-nav{padding:14px 22px}.speaking-part-label span{font-size:10px}.speaking-part-label small{font-size:9px}.speaking-part-buttons button{min-width:126px;padding:9px 12px}.speaking-part-buttons button b{font-size:12px}.speaking-part-buttons button small{font-size:8px}
  .speaking-history{margin:14px 22px 0;padding:16px 18px}.speaking-history-top h4{font-size:22px}.speaking-history-top small{font-size:10px}.speaking-history-metrics small{font-size:8px}.speaking-history-metrics b{font-size:15px}
}


/* ===== CPYPS English Quest v4.17 · True Full-Screen Speaking + Companion-Only Hall of Fame + Leaderboard Storage Fix ===== */
/* Speaking Quest now genuinely fills the browser viewport, including the side space that native dialog margins used to leave. */
.speaking-dialog,
.speaking-dialog[open]{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:100vw!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.speaking-dialog::backdrop{background:#252849!important;backdrop-filter:none!important}
.speaking-shell{
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:none!important;
  margin:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  overflow:auto!important;
}
@supports not (height:100dvh){
  .speaking-dialog,.speaking-dialog[open],.speaking-shell{height:100vh!important;min-height:100vh!important;max-height:100vh!important}
}

/* Quest Champions: show only the student's currently selected magical companion — no generated student portrait. */
.leader-avatar.companion-only{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  background:radial-gradient(circle at 38% 30%,#fff 0 24%,#f1eeff 57%,#e5edff 100%)!important;
  border:3px solid #fff!important;
  box-shadow:0 0 0 2px #c8c7e7,0 7px 17px #4a4e7a20!important;
  padding:5px!important;
}
.leader-avatar.companion-only .leader-companion-only{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
}
.leader-avatar.companion-only .leader-companion-only .pet-svg{
  width:118%!important;
  height:118%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  filter:drop-shadow(0 5px 6px #3a3d6927);
}
.podium-card.rank-1 .leader-avatar.companion-only{
  background:radial-gradient(circle at 38% 28%,#fffdf1 0 25%,#fff1a7 58%,#ffc8df 100%)!important;
  box-shadow:0 0 0 3px #f2cb54,0 9px 20px #d9a7343d!important;
}
.leader-name .leader-avatar.companion-only{padding:3px!important}
.leaderboard-me>.leader-avatar.companion-only{padding:3px!important}
/* Legacy portrait/badge layers are hidden in case an older cached card survives during a hot reload. */
.leader-avatar.companion-only .leader-student-art,
.leader-avatar.companion-only .leader-companion{display:none!important}

/* ===== Speaking Quest v4.18 · Persistent Last Recording ===== */
.speaking-history-recording{margin-top:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center;padding:11px 12px;border:1px solid #d9def8;border-radius:14px;background:linear-gradient(135deg,#eef1ff 0%,#f8f3ff 55%,#fff 100%)}
.speaking-history-recording>div:first-child{min-width:0}.speaking-history-recording b{display:block;color:#5550a7;font-size:10px;letter-spacing:.03em}.speaking-history-recording small{display:block;margin-top:3px;color:#7f7b94;font-size:9px;font-weight:750;line-height:1.35}.speaking-history-recording>button{min-height:40px;border:0;border-radius:12px;padding:9px 14px;background:linear-gradient(135deg,#5c67ea,#8453df);color:#fff;font-weight:950;font-size:10px;box-shadow:0 5px 13px #665ee62c;cursor:pointer;white-space:nowrap}.speaking-history-recording>button:hover{transform:translateY(-1px)}.speaking-history-recording>button:disabled{opacity:.68;cursor:wait}.speaking-history-recording>button span{margin-left:4px}.speaking-history-recording #speakingLastRecordingPlayer{grid-column:1/-1}.speaking-history-audio{width:100%;height:38px;margin-top:1px}.speaking-audio-playback{width:100%;margin-top:8px}
@media(min-width:981px){.speaking-history-recording{padding:13px 15px}.speaking-history-recording b{font-size:11px}.speaking-history-recording small{font-size:10px}.speaking-history-recording>button{min-height:44px;font-size:11px;padding:10px 16px}}
@media(max-width:700px){.speaking-history-recording{grid-template-columns:1fr}.speaking-history-recording>button{width:100%}.speaking-history-recording #speakingLastRecordingPlayer{grid-column:1}}

/* ===== Speaking Quest v4.19 · Larger Previous Performance / Recording Panel ===== */
/* Make the saved-performance area readable on classroom screens and large monitors. */
.speaking-history{
  margin:18px 20px 0;
  padding:20px 22px;
  border-radius:22px;
}
.speaking-history .eyebrow{
  font-size:11px;
  line-height:1.35;
  letter-spacing:.09em;
}
.speaking-history-top{gap:20px}
.speaking-history-top h4{
  font-size:28px;
  line-height:1.18;
  margin:5px 0 4px;
}
.speaking-history-top small{
  font-size:12px;
  line-height:1.4;
}
.speaking-history-score{
  min-width:118px;
  border-radius:19px;
  padding:14px 18px;
}
.speaking-history-score b{font-size:38px;line-height:1}
.speaking-history-score span{font-size:11px;margin-top:4px;display:block}
.speaking-history-metrics{
  gap:12px;
  margin-top:16px;
}
.speaking-history-metrics>div{
  border-radius:15px;
  padding:12px 14px;
  min-height:62px;
}
.speaking-history-metrics small{
  font-size:10px;
  line-height:1.25;
  letter-spacing:.04em;
}
.speaking-history-metrics b{
  margin-top:4px;
  font-size:20px;
  line-height:1.15;
}
.speaking-history-shadow{
  margin-top:12px;
  border-radius:13px;
  padding:11px 14px;
  font-size:12px;
  line-height:1.45;
}
.speaking-history-recording{
  margin-top:13px;
  gap:12px 18px;
  padding:15px 16px;
  border-radius:16px;
}
.speaking-history-recording b{
  font-size:15px;
  line-height:1.25;
  letter-spacing:.04em;
}
.speaking-history-recording small{
  margin-top:5px;
  font-size:12px;
  line-height:1.45;
}
.speaking-history-recording>button{
  min-height:48px;
  border-radius:14px;
  padding:11px 18px;
  font-size:13px;
}
.speaking-history-audio{height:44px;margin-top:4px}
.speaking-history-strip{
  gap:12px;
  margin-top:13px;
}
.speaking-history-strip>span{
  font-size:11px;
  letter-spacing:.06em;
}
.speaking-history-strip>div{gap:7px}
.speaking-history-pill{
  min-width:52px;
  height:32px;
  padding:0 10px;
  font-size:12px;
}
.speaking-history-strip>b{
  font-size:12px;
  line-height:1.3;
}
.speaking-attempt-compare{
  margin-top:13px;
  padding:11px 14px;
  border-radius:14px;
  gap:12px;
  font-size:12px;
}
.speaking-attempt-compare strong{font-size:21px}

@media(min-width:1400px){
  .speaking-history{padding:22px 26px}
  .speaking-history-top h4{font-size:30px}
  .speaking-history-top small{font-size:13px}
  .speaking-history-score b{font-size:41px}
  .speaking-history-metrics small{font-size:11px}
  .speaking-history-metrics b{font-size:21px}
  .speaking-history-shadow{font-size:13px}
  .speaking-history-recording b{font-size:16px}
  .speaking-history-recording small{font-size:13px}
  .speaking-history-recording>button{font-size:14px}
  .speaking-history-strip>span,.speaking-history-strip>b{font-size:12px}
  .speaking-history-pill{font-size:13px;min-width:55px;height:34px}
}
@media(max-width:780px){
  .speaking-history{margin:12px 10px 0;padding:15px 14px;border-radius:17px}
  .speaking-history-top{gap:10px}
  .speaking-history-top h4{font-size:21px}
  .speaking-history-top small{font-size:10px}
  .speaking-history-score{min-width:84px;padding:10px 12px}
  .speaking-history-score b{font-size:29px}
  .speaking-history-score span{font-size:9px}
  .speaking-history .eyebrow{font-size:9px}
  .speaking-history-metrics{grid-template-columns:repeat(2,1fr);gap:8px}
  .speaking-history-metrics>div{padding:10px 11px;min-height:54px}
  .speaking-history-metrics small{font-size:8px}
  .speaking-history-metrics b{font-size:17px}
  .speaking-history-shadow{font-size:10px;padding:9px 10px}
  .speaking-history-recording{grid-template-columns:1fr;padding:12px}
  .speaking-history-recording b{font-size:13px}
  .speaking-history-recording small{font-size:10px}
  .speaking-history-recording>button{width:100%;font-size:12px}
  .speaking-history-recording #speakingLastRecordingPlayer{grid-column:1}
  .speaking-history-strip>span,.speaking-history-strip>b{font-size:10px}
  .speaking-history-pill{font-size:10px;min-width:47px;height:29px}
}

/* ===== Grammar Galaxy v4.20 ===== */
.top-grammar-btn{border:0;background:linear-gradient(120deg,#fff2bd,#eadfff 52%,#dffcff);color:#72521b;border-radius:14px;padding:9px 12px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px #936a2414;transition:.16s}.top-grammar-btn:hover{transform:translateY(-1px) rotate(1deg);box-shadow:0 8px 18px #936a2422}.world-portals{grid-template-columns:repeat(5,minmax(0,1fr))}.grammar-portal{cursor:pointer;background:linear-gradient(135deg,#fff9dd,#f1eaff 55%,#e2fbff);transition:.18s}.grammar-portal:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(114,82,27,.16);border-color:#ead49a}.grammar-portal:before{background:#ffca58}.grammar-portal .portal-icon{background:linear-gradient(145deg,#fff4bc,#eadfff)}.grammar-progress i{background:linear-gradient(90deg,#ffcf52,#9e73f3,#56d7ef)}
.grammar-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#f7f8ff;box-shadow:none}.grammar-dialog::backdrop{background:rgba(25,21,57,.69);backdrop-filter:blur(6px)}.grammar-shell{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:radial-gradient(circle at 76% 10%,#fff4b6 0,transparent 20%),linear-gradient(180deg,#f8f6ff,#f5fbff 60%,#fff9ef)}
.grammar-hero{min-height:116px;padding:20px 24px;display:grid;grid-template-columns:82px minmax(0,1fr) auto 48px;gap:18px;align-items:center;color:#fff;background:linear-gradient(110deg,#4739bc,#6f58df 48%,#9a5edb 73%,#ef9b62);position:relative;overflow:hidden}.grammar-hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid #ffffff2d;border-radius:50%;right:7%;top:-200px;box-shadow:0 0 0 34px #ffffff08,0 0 0 68px #ffffff08}.grammar-starscape{position:absolute;inset:0;color:#fff4;letter-spacing:52px;font-size:18px;transform:rotate(-7deg);pointer-events:none}.grammar-rune-orb{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#fff9cb 0 24%,#ffd568 25% 38%,#9a71f3 39% 70%,#4c3cbb 71%);box-shadow:0 0 28px #ffe07799}.grammar-rune-orb span{font-size:34px;filter:drop-shadow(0 4px 5px #51355a66)}.grammar-rune-orb i{position:absolute;width:90px;height:90px;border:2px dashed #fff8;border-radius:50%;animation:grammarSpin 10s linear infinite}.grammar-title-wrap{position:relative;z-index:1}.grammar-title-wrap h2{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:37px;line-height:1;margin:0}.grammar-title-wrap>p:last-child{margin:6px 0 0;color:#eeeaff;font-weight:800;font-size:12px}.grammar-hero-status{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.grammar-hero-status span,.grammar-hero-status b{padding:7px 11px;border-radius:999px;background:#ffffff19;border:1px solid #ffffff2e;font-size:10px}.grammar-close{position:relative;z-index:2;width:42px;height:42px;border:0;border-radius:14px;background:#ffffff19;color:#fff;font-size:25px;font-weight:500;cursor:pointer}
.grammar-stats-strip{display:grid;grid-template-columns:repeat(4,minmax(115px,1fr)) minmax(230px,1.8fr);gap:8px;padding:10px 16px;background:#fff;border-bottom:1px solid #e8e6f4}.grammar-stats-strip>div{min-height:57px;padding:8px 11px;border-radius:16px;background:linear-gradient(145deg,#faf9ff,#fff);border:1px solid #efedf8;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center}.grammar-stats-strip>div>span{grid-row:1/3;font-size:24px}.grammar-stats-strip small{font-size:8px;font-weight:1000;color:#9993b3;letter-spacing:.06em}.grammar-stats-strip b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:17px;color:#4e467e}.grammar-progress-wide{display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto 12px!important}.grammar-progress-wide small{grid-column:1}.grammar-progress-wide>b{grid-column:2;grid-row:1;font-size:12px}.grammar-progress-wide>div{grid-column:1/-1;height:10px;border-radius:99px;background:#eceafa;overflow:hidden}.grammar-progress-wide i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#ffc94a,#8a67ef,#48d5eb);transition:.35s}
.grammar-body{display:grid;grid-template-columns:285px minmax(0,1fr);min-height:0}.grammar-map-panel{padding:15px 13px;border-right:1px solid #e6e4f2;background:linear-gradient(180deg,#fbfaff,#f4f5ff);overflow:auto}.grammar-map-head{padding:6px 7px 13px}.grammar-map-head h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:24px;margin:0;color:#403a68}.grammar-map-head>span{font-size:9px;font-weight:800;color:#9894ad}.grammar-term-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px}.grammar-term-tabs button{border:1px solid #dfdcf3;background:#fff;color:#776fa0;border-radius:12px;padding:10px 6px;font-weight:900;cursor:pointer}.grammar-term-tabs button.active{color:#fff;border-color:transparent;background:linear-gradient(120deg,#6b58dd,#a367e3);box-shadow:0 8px 18px #6b58dd26}.grammar-mission-list{display:flex;flex-direction:column;gap:7px}.grammar-mission{width:100%;min-height:67px;border:1px solid #e8e5f4;background:#fff;border-radius:16px;padding:9px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:8px;text-align:left;align-items:center;cursor:pointer;transition:.15s;color:#4f4a70}.grammar-mission:hover,.grammar-mission.active{transform:translateX(3px);border-color:#b8aef2;box-shadow:0 8px 18px #6152bc16}.grammar-mission.active{background:linear-gradient(120deg,#f0edff,#fff9e5)}.grammar-mission.completed{border-color:#c8eadb}.grammar-mission.mastered{background:linear-gradient(120deg,#fff8d8,#f3edff);border-color:#f0d474}.grammar-mission-no{width:36px;height:36px;border-radius:12px;background:#f1efff;display:grid;place-items:center;font-size:19px}.grammar-mission div{min-width:0}.grammar-mission div>b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grammar-mission div>small{display:block;margin-top:2px;color:#9a95ad;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grammar-mission>i{font-style:normal;font-weight:900;color:#7767d8}.grammar-mini-stars{display:block;color:#d8d6e8;font-size:9px;margin-top:3px}.grammar-mini-stars .won,.grammar-quest-stars .won,.grammar-result-stars .won{color:#ffbd2e;text-shadow:0 1px #9d6e14}.grammar-boss-btn{width:100%;margin-top:12px;padding:12px 10px;border:1px solid #e1dff0;background:#eeedf5;color:#9894a8;border-radius:17px;display:grid;grid-template-columns:39px 1fr 17px;gap:8px;text-align:left;align-items:center}.grammar-boss-btn>span{font-size:25px}.grammar-boss-btn b{font-size:11px;display:block}.grammar-boss-btn small{font-size:8px;display:block;margin-top:3px}.grammar-boss-btn i{font-style:normal}.grammar-boss-btn.unlocked{cursor:pointer;color:#6b4521;background:linear-gradient(120deg,#fff4c4,#ffe1d1);border-color:#f1c879;box-shadow:0 8px 18px #d79c3220}.grammar-boss-btn.defeated{background:linear-gradient(120deg,#e8fff3,#fff3c8);border-color:#9cdfbc}
.grammar-main{overflow:auto;padding:17px 18px 25px}.grammar-guide-card{min-height:93px;padding:12px 15px;border-radius:22px;background:linear-gradient(120deg,#fff,#f2efff 58%,#fff7d4);border:1px solid #e8e3f6;box-shadow:0 10px 25px #55499d13;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:13px;align-items:center}.grammar-guide-pet{width:68px;height:68px}.grammar-guide-pet .pet-svg{width:68px;height:68px;filter:drop-shadow(0 7px 7px #4e439433)}.grammar-guide-card h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:21px;margin:0}.grammar-guide-card p:last-child{font-size:10px;color:#7f7999;font-weight:700;margin:2px 0 0}.grammar-rune-level{min-width:150px;padding:10px 12px;border-radius:17px;background:#fff;border:1px solid #e9e4f5;text-align:center}.grammar-rune-level small,.grammar-rune-level span{display:block;font-size:8px;color:#9d97ad;font-weight:900}.grammar-rune-level b{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;color:#6a55d4;font-size:18px;margin:2px 0}.grammar-content{margin-top:14px}.grammar-learn{display:grid;grid-template-columns:1.08fr .92fr;gap:12px}.grammar-quest-hero,.grammar-rule-card,.grammar-example-card,.grammar-games{border:1px solid #e9e6f5;background:#fff;border-radius:22px;box-shadow:0 10px 24px #5a4b9910}.grammar-quest-hero{grid-column:1/-1;min-height:118px;padding:17px;display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;background:linear-gradient(120deg,#ffffff,#f4f0ff 58%,#fff7d9)}.grammar-quest-icon{width:68px;height:68px;border-radius:21px;background:linear-gradient(145deg,#fff1b3,#e8ddff);display:grid;place-items:center;font-size:34px;box-shadow:inset 0 0 0 1px #ffffffaa}.grammar-quest-hero h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:29px;margin:0}.grammar-quest-hero p:not(.eyebrow){font-size:10px;color:#817b98;font-weight:700;margin:2px 0}.grammar-quest-stars{font-size:15px;color:#dedbea;letter-spacing:2px;margin-top:5px}.grammar-reward-badge{padding:10px 13px;border-radius:16px;background:#fff;border:1px solid #eee7cd;text-align:right}.grammar-reward-badge small,.grammar-reward-badge span{display:block;font-size:8px;color:#948e9d;font-weight:900}.grammar-reward-badge b{display:block;font-size:11px;margin:3px 0;color:#6f58ca}.grammar-rule-card,.grammar-example-card{padding:17px}.grammar-focus-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.grammar-focus-chips span{padding:6px 9px;border-radius:99px;background:#f0eeff;color:#6659c2;font-size:9px;font-weight:900}.grammar-rule-scroll{margin-top:13px;padding:14px;border-radius:17px;background:linear-gradient(120deg,#fff7d9,#fffdf5);border:1px dashed #e9cf78}.grammar-rule-scroll small{font-size:8px;color:#aa7f18;font-weight:1000;letter-spacing:.08em}.grammar-rule-scroll p{font-size:12px;line-height:1.55;font-weight:800;color:#62593f;margin:4px 0 0}.grammar-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.grammar-card-title h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:19px;margin:0}.grammar-listen-btn{border:0;border-radius:12px;background:#eef0ff;color:#6258ba;padding:8px 10px;font-size:9px;font-weight:900;cursor:pointer}.grammar-example-list{display:flex;flex-direction:column;gap:7px;margin-top:11px}.grammar-example-list>div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:8px 10px;border-radius:13px;background:#f8f8fd}.grammar-example-list span{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;background:#e9e5ff;color:#6759cb;font-weight:900;font-size:9px}.grammar-example-list p{font-size:10px;font-weight:800;line-height:1.4;margin:0}.grammar-games{grid-column:1/-1;padding:17px}.grammar-mode-note{font-size:8px;font-weight:900;color:#978eaa}.grammar-game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:11px}.grammar-game-card{min-height:128px;padding:13px;border:1px solid #e6e3f2;border-radius:18px;background:linear-gradient(145deg,#fff,#f8f7ff);cursor:pointer;text-align:left;position:relative;transition:.17s}.grammar-game-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #5d50aa1c;border-color:#cbbff3}.grammar-game-card>span{display:block;font-size:28px}.grammar-game-card b{display:block;margin-top:5px;font-size:12px}.grammar-game-card p{font-size:8px;line-height:1.35;color:#928ca3;font-weight:700;margin:3px 0 22px}.grammar-game-card>i{position:absolute;bottom:10px;left:13px;font-style:normal;font-size:8px;font-weight:1000;color:#6f5cd2}.grammar-game-card.cleared{border-color:#b8e8ce;background:linear-gradient(145deg,#f1fff7,#fff)}
.grammar-play{max-width:920px;margin:0 auto}.grammar-game-top{min-height:70px;padding:11px 13px;border-radius:20px 20px 0 0;background:linear-gradient(120deg,#5141be,#765be0);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.grammar-back-learn{border:1px solid #ffffff35;background:#ffffff12;color:#fff;border-radius:12px;padding:8px 10px;font-size:9px;font-weight:900;cursor:pointer}.grammar-game-top h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:22px;margin:0}.grammar-game-top .eyebrow{color:#ded8ff}.grammar-round{min-width:58px;padding:8px 9px;border-radius:12px;background:#ffffff17;text-align:center;font-size:11px;font-weight:1000}.grammar-game-progress{display:flex;gap:5px;padding:9px 12px;background:#eeecfb}.grammar-game-progress i{height:6px;flex:1;border-radius:99px;background:#d8d4ef}.grammar-game-progress i.done{background:#6ed2a4}.grammar-game-progress i.current{background:#ffc64f;box-shadow:0 0 0 2px #fff inset}.grammar-question-card{min-height:370px;padding:28px;border:1px solid #e5e2f3;border-top:0;border-radius:0 0 22px 22px;background:linear-gradient(180deg,#fff,#fbfaff);text-align:center;position:relative}.grammar-question-orb{width:70px;height:70px;margin:0 auto 8px;border-radius:23px;background:linear-gradient(145deg,#fff0b0,#e8ddff);display:grid;place-items:center;font-size:33px;box-shadow:0 10px 23px #735ec42b}.grammar-question-card h4{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:28px;line-height:1.25;margin:9px auto 19px;max-width:730px}.grammar-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:720px;margin:auto}.grammar-choice-grid button{min-height:70px;padding:12px;border:2px solid #e6e2f4;background:#fff;border-radius:18px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:900;cursor:pointer;transition:.14s}.grammar-choice-grid button:hover{transform:translateY(-2px);border-color:#baaaf0}.grammar-choice-grid button>span{width:35px;height:35px;border-radius:12px;background:#efecff;color:#6858ca;display:grid;place-items:center}.grammar-choice-grid button.correct{border-color:#62c995;background:#effcf5;color:#247b50}.grammar-choice-grid button.wrong{border-color:#f09aa4;background:#fff3f4;color:#aa4553}.grammar-feedback{min-height:37px;margin:15px auto 0;padding:9px 12px;border-radius:13px;max-width:720px;font-size:10px;font-weight:900;opacity:0}.grammar-feedback.correct,.grammar-feedback.wrong{opacity:1}.grammar-feedback.correct{background:#eafbf2;color:#277a51}.grammar-feedback.wrong{background:#fff1f2;color:#aa4856}.grammar-boss-hud{padding:10px 13px;background:#2c2248;color:#fff;display:grid;grid-template-columns:auto minmax(100px,1fr) auto;gap:10px;align-items:center;font-size:9px;font-weight:1000}.grammar-boss-hud>div{height:8px;border-radius:99px;background:#ffffff19;overflow:hidden}.grammar-boss-hud i{display:block;height:100%;background:linear-gradient(90deg,#ff5a70,#ffbf4a);transition:.3s}.grammar-boss-hud>b{letter-spacing:2px}.boss-mode .grammar-game-top{background:linear-gradient(120deg,#28203f,#6d2f64,#a44443)}.boss-mode .grammar-question-card{background:radial-gradient(circle at 50% 0,#fff0df,#fff 34%,#fbf8ff)}
.grammar-runner-track{height:58px;padding:9px 14px;background:linear-gradient(90deg,#ddf7ff,#eee9ff);display:grid;grid-template-columns:42px 1fr 35px;gap:10px;align-items:center}.grammar-runner-avatar{font-size:28px;animation:grammarRun .55s ease-in-out infinite alternate}.grammar-runner-timer{height:11px;border-radius:99px;background:#fff;overflow:hidden;border:1px solid #dad7ed}.grammar-runner-timer i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#55d7e8,#735fe0,#ffcf53);transition:width .9s linear}.grammar-runner-track>b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px;color:#5b4f9c}
.jumbo-card{min-height:410px}.jumbo-answer-zone{min-height:84px;padding:13px;border:2px dashed #b9acee;border-radius:18px;background:#f7f5ff;display:flex;gap:7px;flex-wrap:wrap;align-items:center;justify-content:center}.jumbo-answer-zone.empty span{font-size:10px;color:#a6a1b3;font-weight:800}.jumbo-answer-zone button,.jumbo-pool button{border:0;border-radius:13px;padding:10px 12px;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 5px 12px #4c418d18}.jumbo-answer-zone button{background:linear-gradient(145deg,#e7ddff,#fff3c8);color:#51467e}.jumbo-pool{min-height:110px;padding:17px 5px 8px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-content:center}.jumbo-pool button{background:#fff;border:1px solid #e1ddef;color:#665f80}.grammar-action-row{display:flex;gap:9px;justify-content:center;margin-top:12px}.grammar-primary,.grammar-secondary{border:0;border-radius:14px;padding:11px 15px;font-weight:1000;font-size:10px;cursor:pointer}.grammar-primary{background:linear-gradient(120deg,#6855d5,#9d65e0);color:#fff;box-shadow:0 7px 16px #6754d02a}.grammar-secondary{background:#eeecf8;color:#6b63a1}.detective-sentence{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:24px auto 16px;max-width:760px}.detective-sentence button{border:1px solid #ded9ef;background:#fff;border-radius:12px;padding:10px 11px;font-size:15px;font-weight:900;cursor:pointer;color:#514c69;transition:.12s}.detective-sentence button:hover{transform:translateY(-2px);border-color:#ac9bea}.detective-sentence button.miss{background:#fff0f1;border-color:#e69ba4;color:#a84351}.detective-sentence button.correct{background:#e9fbf2;border-color:#5fc990;color:#257a50}.detective-clue{display:inline-block;padding:8px 11px;border-radius:12px;background:#fff6d8;color:#776334;font-size:9px;font-weight:900}
.grammar-result{max-width:700px;margin:0 auto;padding:30px;border-radius:25px;background:linear-gradient(155deg,#fff,#f4f1ff 60%,#fff4ce);border:1px solid #e6e0f2;box-shadow:0 14px 35px #54448d1c;text-align:center}.grammar-result-burst{font-size:62px;filter:drop-shadow(0 8px 7px #745da72b)}.grammar-result h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:34px;margin:4px 0 13px}.grammar-score-ring{width:135px;height:135px;margin:0 auto 10px;border-radius:50%;background:conic-gradient(#7f65e6 var(--grammar-score),#ebe8f6 0);display:grid;place-items:center;position:relative}.grammar-score-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.grammar-score-ring>div{position:relative;z-index:1}.grammar-score-ring b{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:31px;color:#514795}.grammar-score-ring small{display:block;font-size:8px;color:#9892a7;font-weight:900}.grammar-result-stars{font-size:23px;letter-spacing:4px;color:#d9d6e6}.grammar-reward-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:15px 0}.grammar-reward-row span{padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #eee8d7;font-size:9px;font-weight:1000;color:#685f77}.grammar-bonus-banner{display:inline-block;padding:9px 13px;border-radius:13px;background:linear-gradient(120deg,#fff0a9,#eedfff);color:#795d1f;font-size:10px;font-weight:1000}.grammar-result>p{font-size:10px;color:#7f7895;font-weight:700}.grammar-result-actions{display:flex;gap:9px;justify-content:center;margin-top:15px}.grammar-footer{padding:8px 16px;background:#fff;border-top:1px solid #e5e3ef;display:flex;justify-content:space-between;gap:16px;color:#8c879d;font-size:8px;font-weight:800}
@keyframes grammarSpin{to{transform:rotate(360deg)}}@keyframes grammarRun{from{transform:translateX(-2px) rotate(-4deg)}to{transform:translateX(6px) rotate(4deg)}}
@media(max-width:1600px){.world-portals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.world-portals{grid-template-columns:repeat(2,minmax(0,1fr))}.grammar-body{grid-template-columns:245px minmax(0,1fr)}.grammar-game-grid{grid-template-columns:repeat(2,1fr)}.grammar-stats-strip{grid-template-columns:repeat(4,1fr)}.grammar-progress-wide{grid-column:1/-1}}
@media(max-width:900px){.world-portals{grid-template-columns:1fr}.grammar-dialog{width:100vw;height:100vh;max-height:100vh;border-radius:0}.grammar-hero{grid-template-columns:62px 1fr 40px;padding:12px 14px;min-height:92px}.grammar-rune-orb{width:56px;height:56px;border-radius:18px}.grammar-rune-orb i{width:69px;height:69px}.grammar-rune-orb span{font-size:27px}.grammar-title-wrap h2{font-size:28px}.grammar-hero-status{display:none}.grammar-body{display:block;overflow:auto}.grammar-map-panel{border-right:0;border-bottom:1px solid #e4e2f1;overflow:visible}.grammar-mission-list{display:grid;grid-template-columns:repeat(3,1fr)}.grammar-mission{min-height:73px}.grammar-boss-btn{max-width:520px;margin:12px auto 0}.grammar-main{overflow:visible;padding:12px}.grammar-guide-card{grid-template-columns:60px 1fr}.grammar-rune-level{display:none}.grammar-learn{grid-template-columns:1fr}.grammar-quest-hero,.grammar-games{grid-column:auto}.grammar-quest-hero{grid-template-columns:58px 1fr}.grammar-reward-badge{display:none}.grammar-quest-icon{width:54px;height:54px;border-radius:17px;font-size:28px}.grammar-choice-grid{grid-template-columns:1fr}.grammar-question-card h4{font-size:24px}.grammar-footer{display:block;text-align:center}}
@media(max-width:620px){.top-grammar-btn span{display:none}.top-grammar-btn{padding:9px 10px}.top-quick-actions{gap:3px}.grammar-stats-strip{grid-template-columns:repeat(3,1fr);padding:7px;gap:5px}.grammar-stats-strip>div{padding:6px;min-height:47px}.grammar-stats-strip>div:nth-child(4){display:none}.grammar-stats-strip>div>span{font-size:18px}.grammar-stats-strip b{font-size:12px}.grammar-progress-wide{grid-column:1/-1!important}.grammar-map-panel{padding:9px}.grammar-mission-list{grid-template-columns:1fr}.grammar-mission{min-height:60px}.grammar-guide-card{padding:9px}.grammar-guide-card h3{font-size:17px}.grammar-guide-card p:last-child{font-size:8px}.grammar-main{padding:9px}.grammar-learn{gap:8px}.grammar-quest-hero,.grammar-rule-card,.grammar-example-card,.grammar-games{border-radius:17px}.grammar-quest-hero{padding:12px}.grammar-quest-hero h3{font-size:22px}.grammar-rule-card,.grammar-example-card,.grammar-games{padding:13px}.grammar-game-grid{grid-template-columns:1fr 1fr;gap:7px}.grammar-game-card{min-height:112px;padding:10px}.grammar-game-card>span{font-size:23px}.grammar-game-card b{font-size:10px}.grammar-game-card p{font-size:7px}.grammar-game-top{grid-template-columns:auto 1fr auto;padding:8px}.grammar-game-top h3{font-size:17px}.grammar-back-learn{padding:7px;font-size:8px}.grammar-round{min-width:45px;font-size:9px}.grammar-question-card{padding:19px 12px;min-height:360px}.grammar-question-orb{width:58px;height:58px;border-radius:18px;font-size:27px}.grammar-question-card h4{font-size:21px}.grammar-choice-grid button{min-height:58px;padding:9px}.grammar-choice-grid button>span{width:30px;height:30px}.jumbo-answer-zone{min-height:72px}.jumbo-answer-zone button,.jumbo-pool button{font-size:10px;padding:8px 9px}.detective-sentence button{font-size:12px;padding:8px}.grammar-result{padding:22px 14px}.grammar-result h3{font-size:27px}.grammar-score-ring{width:115px;height:115px}.grammar-result-actions{flex-direction:column}.grammar-result-actions button{width:100%}.grammar-footer{font-size:7px}.top-stats .stat-chip:nth-child(3){display:none}}
@media(max-width:1250px){.top-quick-actions{gap:4px}.top-quick-actions button span{display:none}.top-quick-actions button{padding:9px 10px}.topbar{gap:12px}.top-stats{gap:5px}.stat-chip{padding:0 9px}}

/* ===== Grammar Galaxy v4.21 · Gameplay Expansion ===== */
.grammar-play{max-width:1180px}
.grammar-side-feature{width:100%;margin-top:9px;padding:11px 10px;border:1px solid #e1dff0;border-radius:17px;display:grid;grid-template-columns:39px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;cursor:pointer;transition:.16s;position:relative;overflow:hidden}.grammar-side-feature>span{font-size:25px}.grammar-side-feature b{display:block;font-size:11px;color:#544c77}.grammar-side-feature small{display:block;font-size:8px;line-height:1.3;color:#918ca3;margin-top:2px}.grammar-side-feature em{font-style:normal;font-size:9px;font-weight:1000;padding:6px 7px;border-radius:10px;background:#ffffffb8;color:#6c62a3}.grammar-side-feature:hover{transform:translateX(3px);box-shadow:0 8px 18px #6152bc16}.grammar-daily-btn{background:linear-gradient(120deg,#effcff,#f3edff)}.grammar-daily-btn.ready{border-color:#efc44d;background:linear-gradient(120deg,#fff7c8,#f5ecff);box-shadow:0 0 0 2px #ffdc6c33,0 10px 20px #d9aa3420}.grammar-daily-btn.claimed{background:linear-gradient(120deg,#edfff5,#f7fff9);border-color:#b7e6ca}.grammar-vault-btn{background:linear-gradient(120deg,#fff3d5,#f0e9ff)}.grammar-vault-btn.has-keys{border-color:#e5c66b;box-shadow:0 8px 20px #c89e3120}.grammar-side-progress{height:5px;margin-top:6px;background:#ffffffa8;border-radius:99px;overflow:hidden}.grammar-side-progress i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#52d4df,#8a64e7,#ffc84b);transition:.3s}

.grammar-feature-screen{max-width:1000px;margin:0 auto;padding:24px;border:1px solid #e7e3f5;border-radius:26px;background:linear-gradient(145deg,#fff,#f7f4ff 58%,#fff7dd);box-shadow:0 16px 38px #5c4e9a15}.grammar-feature-hero{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:18px;align-items:center}.grammar-feature-hero.vault{background:linear-gradient(120deg,#fff8dd,#f0e9ff);padding:18px;border-radius:22px}.grammar-feature-orb{width:86px;height:86px;border-radius:28px;display:grid;place-items:center;font-size:44px;background:radial-gradient(circle at 35% 25%,#fff,#ffe78c 35%,#b790ff 74%,#6650c8);box-shadow:0 12px 26px #725fc337}.grammar-feature-hero h3{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:34px;line-height:1;margin:2px 0 8px}.grammar-feature-hero p:not(.eyebrow){font-size:12px;color:#7f7894;font-weight:750;margin:0}.grammar-feature-count{min-width:125px;padding:12px 15px;text-align:center;border-radius:18px;background:#fff;border:1px solid #e9e4f5}.grammar-feature-count b{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:27px;color:#6856cb}.grammar-feature-count small{font-size:8px;font-weight:1000;color:#9a94aa}.grammar-daily-meter{height:24px;margin:23px 0 14px;border-radius:99px;background:#ebe8f6;overflow:hidden;position:relative}.grammar-daily-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#53d4e4,#8a64e7,#ffca4d);transition:.45s}.grammar-daily-meter span{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:1000;color:#554b76}.grammar-daily-rewards{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.grammar-daily-rewards span{padding:9px 12px;border-radius:13px;background:#fff;border:1px solid #ede8d9;font-size:10px;font-weight:1000}.grammar-daily-pet{display:grid;grid-template-columns:100px 1fr;gap:15px;align-items:center;margin:20px 0;padding:16px;border-radius:22px;background:#ffffffb8;border:1px solid #eae6f4}.grammar-daily-pet .pet-svg{width:96px;height:96px}.grammar-daily-pet b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px}.grammar-daily-pet p{font-size:10px;color:#837d96;font-weight:750;line-height:1.5;margin:3px 0}.grammar-big-cta{display:block;margin:10px auto 0;min-width:230px;font-size:12px;padding:13px 18px}.grammar-big-cta:disabled{opacity:.45;cursor:not-allowed}

.grammar-chest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.grammar-chest{min-height:230px;border:1px solid #e5e0f2;border-radius:24px;background:linear-gradient(160deg,#fff,#f7f2ff);position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:.2s}.grammar-chest .chest-glow{position:absolute;width:150px;height:150px;border-radius:50%;background:#ffd85b33;filter:blur(20px);transform:scale(.55);transition:.25s}.grammar-chest i{font-style:normal;font-size:65px;position:relative;z-index:1;filter:grayscale(.45);transition:.2s}.grammar-chest b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:20px;color:#4f486d}.grammar-chest small{font-size:9px;font-weight:1000;color:#8f889d}.grammar-chest p{font-size:8px;font-weight:900;color:#a19aaa}.grammar-chest.available{border-color:#e7ca6a;background:linear-gradient(160deg,#fff9dc,#f2e9ff);box-shadow:0 12px 28px #aa81351d}.grammar-chest.available i{filter:none}.grammar-chest.available .chest-glow{transform:scale(1);animation:grammarChestGlow 2s ease-in-out infinite alternate}.grammar-chest.available:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 20px 38px #8b6b2b2c}.grammar-chest:not(.available){cursor:not-allowed;opacity:.62}.grammar-chest-reveal{min-height:96px;border:2px dashed #dcd5ef;border-radius:20px;background:#faf8ff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-align:center}.grammar-chest-reveal>span{font-size:26px}.grammar-chest-reveal>b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:18px}.grammar-chest-reveal>small{font-size:9px;color:#968fa4;font-weight:800}.grammar-chest-reveal.opened{border-style:solid;border-color:#eccb64;background:radial-gradient(circle,#fff8ce,#f4ecff)}.grammar-chest-reveal.opened>span{font-size:48px;animation:grammarChestPop .55s cubic-bezier(.2,.9,.2,1.2)}.grammar-chest-reveal.opened>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:5px}.grammar-chest-reveal em{font-style:normal;padding:6px 9px;border-radius:10px;background:#fff;font-size:9px;font-weight:1000}

.grammar-game-top{grid-template-columns:auto minmax(190px,1fr) auto auto auto;gap:9px}.grammar-combo-chip{min-width:68px;padding:7px 9px;border-radius:13px;background:#ffffff13;border:1px solid #ffffff24;text-align:center;transition:.2s}.grammar-combo-chip small{display:block;font-size:7px;color:#ddd7ff;font-weight:1000}.grammar-combo-chip b{display:block;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:19px;line-height:1;color:#fff}.grammar-combo-chip.hot{background:linear-gradient(135deg,#ffb63d55,#ff5e8e44);border-color:#ffdd76aa;box-shadow:0 0 18px #ffcc5c55;animation:grammarComboPulse .55s ease-in-out infinite alternate}.grammar-pet-skill{min-width:155px;border:1px solid #ffffff30;background:#ffffff12;color:#fff;border-radius:14px;padding:6px 8px;display:grid;grid-template-columns:30px 1fr 24px;gap:6px;align-items:center;text-align:left;cursor:pointer;transition:.16s}.grammar-pet-skill:hover:not(:disabled){background:#ffffff22;transform:translateY(-1px)}.grammar-pet-skill:disabled{opacity:.36;cursor:not-allowed}.grammar-pet-skill>span{font-size:22px}.grammar-pet-skill small{display:block;font-size:7px;color:#dfd9ff;font-weight:900}.grammar-pet-skill b{display:block;font-size:9px;white-space:nowrap}.grammar-pet-skill em{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#ffd257;color:#5c4313;font-size:10px;font-weight:1000}.grammar-choice-grid button.skill-zapped{opacity:.2;filter:grayscale(1);transform:scale(.96);pointer-events:none}.detective-sentence button.skill-hint{border-color:#f1be3d;background:#fff7cf;box-shadow:0 0 0 3px #ffe58a66;animation:grammarHintPulse .65s ease-in-out infinite alternate}

.grammar-boss-hud{grid-template-columns:auto minmax(150px,1fr) auto auto}.grammar-boss-hud strong{font-size:8px;color:#ffdba3}.grammar-battle-arena{height:190px;position:relative;overflow:hidden;background:linear-gradient(#32295b 0 55%,#241c3e 55%);border-left:1px solid #3f345f;border-right:1px solid #3f345f}.grammar-battle-sky{position:absolute;inset:0;background:radial-gradient(circle at 68% 35%,#b85f7440,transparent 25%),linear-gradient(180deg,#29244b,#44305a)}.grammar-battle-sky i{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:120px 25px #fff8,260px 8px #fff8,410px 44px #fff6,580px 18px #fff9,760px 34px #fff7,900px 10px #fff7}.grammar-hero-fighter{position:absolute;left:6%;bottom:12px;width:170px;text-align:center;z-index:3;transition:.25s}.grammar-hero-fighter>span{font-size:76px;display:inline-block;filter:drop-shadow(0 10px 8px #0005)}.grammar-fighter-pet{position:absolute;width:68px;height:68px;right:-8px;bottom:27px}.grammar-fighter-pet .pet-svg{width:68px;height:68px}.grammar-hero-fighter small,.grammar-dragon small{display:block;padding:4px 7px;border-radius:99px;background:#171329aa;color:#fff;font-size:7px;font-weight:1000}.grammar-dragon{position:absolute;right:7%;bottom:13px;width:180px;text-align:center;z-index:3;transition:.2s}.grammar-dragon>span{display:block;font-size:105px;filter:drop-shadow(0 12px 8px #0007);animation:grammarDragonFloat 1.6s ease-in-out infinite alternate}.grammar-spell-lane{position:absolute;left:28%;right:28%;top:70px;height:50px}.grammar-spell-lane span{position:absolute;color:#ffea78;font-size:25px;opacity:.65;animation:grammarSpellDrift 1.8s linear infinite}.grammar-spell-lane span:nth-child(2){animation-delay:.55s;top:22px}.grammar-spell-lane span:nth-child(3){animation-delay:1.1s;top:-15px}.grammar-hero-fighter.attack{animation:grammarHeroAttack .55s ease-out}.grammar-hero-fighter.hurt{animation:grammarHeroHurt .55s ease-out}.grammar-dragon.hit{animation:grammarDragonHit .55s ease-out}.grammar-dragon.attack{animation:grammarDragonAttack .55s ease-out}.grammar-battle-arena.pet-burst:after{content:'✦';position:absolute;left:30%;bottom:55px;font-size:70px;color:#fff0a5;animation:grammarPetBurst .55s ease-out}

.grammar-runner-world{height:190px;position:relative;overflow:hidden;background:linear-gradient(#8bdcff 0 58%,#dff5ff 58%);border-left:1px solid #d5d0ee;border-right:1px solid #d5d0ee}.runner-sky span{position:absolute;font-size:36px;opacity:.9;animation:grammarCloudMove 6s linear infinite}.runner-sky span:nth-child(1){top:15px;left:15%}.runner-sky span:nth-child(2){top:45px;left:65%;animation-duration:8s}.runner-sky span:nth-child(3){top:20px;left:48%;font-size:24px}.runner-mountains{position:absolute;left:-10%;right:-10%;bottom:57px;height:75px;background:linear-gradient(135deg,transparent 0 18%,#98a8e8 18% 30%,transparent 30% 38%,#7c8bd8 38% 52%,transparent 52% 62%,#a1afe8 62% 76%,transparent 76%);opacity:.45}.runner-ground{position:absolute;left:0;right:0;bottom:0;height:62px;background:linear-gradient(#6bd08d 0 14px,#7a5435 14px)}.runner-ground i{position:absolute;top:8px;width:45px;height:5px;background:#d7f7d8;border-radius:50%;animation:grammarGroundMove 1s linear infinite}.runner-ground i:nth-child(1){left:15%}.runner-ground i:nth-child(2){left:42%;animation-delay:.2s}.runner-ground i:nth-child(3){left:70%;animation-delay:.4s}.runner-ground i:nth-child(4){left:92%;animation-delay:.6s}.runner-hero-wrap{position:absolute;left:9%;bottom:38px;width:105px;height:105px;z-index:4;animation:grammarRunnerBounce .38s ease-in-out infinite alternate}.runner-hero{position:absolute;left:0;bottom:0;font-size:63px;filter:drop-shadow(0 8px 5px #32446b55)}.runner-companion{position:absolute;right:-12px;bottom:0;width:52px;height:52px}.runner-companion .pet-svg{width:52px;height:52px}.runner-obstacle{position:absolute;right:24%;bottom:49px;font-size:39px;animation:grammarObstacleMove 2.3s linear infinite}.runner-gate{position:absolute;right:8%;bottom:52px;font-size:62px;color:#7b5ee4;text-shadow:0 0 16px #fff,0 0 25px #f4d961;animation:grammarGatePulse .7s ease-in-out infinite alternate}.runner-finish{position:absolute;right:1.5%;bottom:56px;font-size:26px}.runner-distance{position:absolute;left:15px;right:15px;top:10px;height:7px;border-radius:99px;background:#ffffff88;overflow:hidden}.runner-distance i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#46d8e9,#7d5be3,#ffc94c);transition:.4s}.grammar-runner-world.boost .runner-hero-wrap,.grammar-runner-world.pet-boost .runner-hero-wrap{animation:grammarRunnerBoost .7s ease-out}.grammar-runner-world.stumble .runner-hero-wrap{animation:grammarRunnerStumble .65s ease-out}.grammar-runner-world.pet-boost:after{content:'+5 SEC';position:absolute;left:42%;top:55px;font-family:'Trebuchet MS',system-ui,sans-serif;font-size:26px;color:#5c4fc0;text-shadow:0 2px #fff;animation:grammarFloatText .7s ease-out}.grammar-runner-track{height:50px;padding:8px 14px;background:linear-gradient(90deg,#dffaff,#eee9ff);display:grid;grid-template-columns:auto 1fr 40px;gap:10px;align-items:center}.grammar-runner-track>span{font-size:8px;font-weight:1000;color:#675da0}.runner-lanes button>span{background:linear-gradient(145deg,#e0f8ff,#eee7ff)}

.grammar-combo-result{display:flex;gap:9px;justify-content:center;align-items:center;margin:11px auto;padding:9px 13px;width:max-content;max-width:100%;border-radius:14px;background:linear-gradient(120deg,#fff3c4,#f0e8ff);border:1px solid #e9d67d}.grammar-combo-result span{font-size:8px;font-weight:1000;color:#897037}.grammar-combo-result b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:23px;color:#6651c4}.grammar-combo-result small{font-size:8px;font-weight:900;color:#8b8298}.grammar-result-daily{max-width:570px;margin:12px auto;padding:10px 12px;border-radius:15px;background:#f5f3fb;display:grid;grid-template-columns:36px 1fr;gap:8px;text-align:left;align-items:center}.grammar-result-daily>span{font-size:25px}.grammar-result-daily b{display:block;font-size:10px}.grammar-result-daily small{display:block;font-size:8px;color:#8e879f;margin-top:2px}.grammar-result-daily.ready{background:linear-gradient(120deg,#fff6c5,#f0e8ff);border:1px solid #efcf66}

@keyframes grammarComboPulse{to{transform:scale(1.06);box-shadow:0 0 26px #ffcc5c88}}
@keyframes grammarHintPulse{to{transform:translateY(-2px);box-shadow:0 0 0 5px #ffe58a44}}
@keyframes grammarChestGlow{to{filter:blur(13px);opacity:.85}}
@keyframes grammarChestPop{0%{transform:scale(.3) rotate(-15deg)}70%{transform:scale(1.3) rotate(7deg)}100%{transform:scale(1)}}
@keyframes grammarDragonFloat{to{transform:translateY(-7px) rotate(2deg)}}
@keyframes grammarSpellDrift{0%{left:0;opacity:0;transform:scale(.5) rotate(0)}20%{opacity:1}100%{left:100%;opacity:0;transform:scale(1.35) rotate(180deg)}}
@keyframes grammarHeroAttack{45%{transform:translateX(95px) scale(1.08)}100%{transform:translateX(0)}}
@keyframes grammarHeroHurt{25%{transform:translateX(-16px) rotate(-8deg)}55%{transform:translateX(10px) rotate(5deg)}}
@keyframes grammarDragonHit{25%{transform:translateX(15px) rotate(8deg);filter:brightness(1.8)}55%{transform:translateX(-7px) rotate(-5deg)}}
@keyframes grammarDragonAttack{45%{transform:translateX(-85px) scale(1.08)}100%{transform:translateX(0)}}
@keyframes grammarPetBurst{0%{transform:scale(.2);opacity:0}55%{opacity:1}100%{transform:scale(2.1) translateX(90px);opacity:0}}
@keyframes grammarCloudMove{from{transform:translateX(140px)}to{transform:translateX(-240px)}}
@keyframes grammarGroundMove{from{transform:translateX(180px)}to{transform:translateX(-220px)}}
@keyframes grammarObstacleMove{from{transform:translateX(180px)}to{transform:translateX(-650px)}}
@keyframes grammarGatePulse{to{transform:scale(1.08);filter:brightness(1.2)}}
@keyframes grammarRunnerBounce{to{transform:translateY(-5px) rotate(-1deg)}}
@keyframes grammarRunnerBoost{0%{transform:translateX(0)}45%{transform:translateX(300px) scale(1.12)}100%{transform:translateX(0)}}
@keyframes grammarRunnerStumble{20%{transform:rotate(17deg) translateY(7px)}50%{transform:rotate(-12deg) translateY(12px)}100%{transform:rotate(0)}}
@keyframes grammarFloatText{0%{transform:translateY(15px) scale(.7);opacity:0}55%{opacity:1}100%{transform:translateY(-30px) scale(1.15);opacity:0}}

@media(max-width:1180px){.grammar-game-top{grid-template-columns:auto 1fr auto auto}.grammar-pet-skill{grid-column:2/4;grid-row:2;justify-self:end}.grammar-round{grid-column:4;grid-row:1}.grammar-chest-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.grammar-side-feature,.grammar-boss-btn{max-width:560px;margin-left:auto;margin-right:auto}.grammar-feature-screen{padding:16px}.grammar-feature-hero{grid-template-columns:70px 1fr}.grammar-feature-orb{width:64px;height:64px;border-radius:21px;font-size:33px}.grammar-feature-count{grid-column:1/-1;width:100%}.grammar-chest-grid{grid-template-columns:1fr 1fr}.grammar-battle-arena,.grammar-runner-world{height:165px}.grammar-game-top{grid-template-columns:auto 1fr auto}.grammar-combo-chip{display:none}.grammar-pet-skill{grid-column:1/3;grid-row:2;justify-self:stretch;max-width:240px}.grammar-round{grid-column:3;grid-row:1}.grammar-hero-fighter{left:2%;transform:scale(.82);transform-origin:left bottom}.grammar-dragon{right:2%;transform:scale(.82);transform-origin:right bottom}}
@media(max-width:620px){.grammar-chest-grid{grid-template-columns:1fr}.grammar-chest{min-height:170px}.grammar-feature-hero h3{font-size:27px}.grammar-daily-pet{grid-template-columns:70px 1fr}.grammar-daily-pet .pet-svg{width:68px;height:68px}.grammar-game-top{grid-template-columns:auto 1fr auto}.grammar-pet-skill{min-width:0;max-width:none}.grammar-pet-skill b{font-size:8px}.grammar-battle-arena{height:145px}.grammar-hero-fighter{left:-10px;transform:scale(.68)}.grammar-dragon{right:-12px;transform:scale(.68)}.grammar-runner-world{height:145px}.runner-hero-wrap{left:4%;transform:scale(.8);transform-origin:left bottom}.runner-obstacle{right:20%}.grammar-combo-result{width:100%;flex-wrap:wrap}}
.grammar-player-avatar{width:86px;height:100px;margin:0 auto}.grammar-player-avatar .leader-student-svg{width:86px;height:100px;filter:drop-shadow(0 10px 7px #0005)}.runner-hero{width:66px;height:78px}.runner-hero .leader-student-svg{width:66px;height:78px;filter:drop-shadow(0 8px 5px #32446b55)}


/* ===== Grammar Galaxy v4.21.1 legibility + pet-only runner ===== */
.grammar-title-wrap h2{font-size:44px}
.grammar-title-wrap>p:last-child{font-size:15px}
.grammar-hero-status span,.grammar-hero-status b{font-size:13px;padding:8px 13px}
.grammar-stats-strip small{font-size:10px}
.grammar-stats-strip b{font-size:22px}
.grammar-map-head h3{font-size:31px}
.grammar-map-head>span{font-size:12px}
.grammar-term-tabs button{font-size:18px;padding:13px 10px}
.grammar-mission{min-height:82px;padding:12px;grid-template-columns:44px minmax(0,1fr) 22px}
.grammar-mission-no{width:42px;height:42px;font-size:22px}
.grammar-mission div>b{font-size:16px}
.grammar-mission div>small{font-size:11px}
.grammar-mini-stars{font-size:12px}
.grammar-boss-btn b{font-size:15px}
.grammar-boss-btn small{font-size:11px}
.grammar-guide-card h3{font-size:29px}
.grammar-guide-card p:last-child{font-size:14px;line-height:1.5}
.grammar-rune-level small,.grammar-rune-level span{font-size:10px}
.grammar-rune-level b{font-size:24px}
.grammar-quest-hero h3{font-size:38px}
.grammar-quest-hero p:not(.eyebrow){font-size:14px;line-height:1.45}
.grammar-reward-badge small,.grammar-reward-badge span{font-size:10px}
.grammar-reward-badge b{font-size:15px}
.grammar-focus-chips span{font-size:12px;padding:7px 11px}
.grammar-card-title h4{font-size:26px}
.grammar-listen-btn{font-size:12px;padding:9px 12px}
.grammar-rule-scroll small{font-size:10px}
.grammar-rule-scroll p{font-size:16px;line-height:1.65}
.grammar-example-list p{font-size:14px;line-height:1.5}
.grammar-mode-note{font-size:11px}
.grammar-game-card{min-height:150px;padding:16px}
.grammar-game-card b{font-size:17px}
.grammar-game-card p{font-size:11px;line-height:1.45}
.grammar-game-card>i{font-size:11px}
.grammar-game-top h3{font-size:28px}
.grammar-back-learn{font-size:12px}
.grammar-round{font-size:14px}
.grammar-combo-chip small{font-size:9px}
.grammar-combo-chip b{font-size:24px}
.grammar-pet-skill small{font-size:9px}
.grammar-pet-skill b{font-size:12px}
.grammar-pet-skill em{font-size:12px}
.grammar-boss-hud{font-size:12px}
.grammar-boss-hud strong{font-size:11px}
.grammar-question-card{padding:34px 28px;min-height:430px}
.grammar-question-card h4{font-size:36px;line-height:1.3;max-width:860px}
.grammar-choice-grid button{min-height:88px;font-size:18px;padding:15px 16px}
.grammar-choice-grid button>span{width:42px;height:42px;font-size:15px}
.grammar-feedback{font-size:14px;min-height:48px}
.jumbo-answer-zone button,.jumbo-pool button{font-size:15px;padding:12px 14px}
.grammar-primary,.grammar-secondary{font-size:13px;padding:13px 18px}
.detective-sentence button{font-size:18px;padding:12px 13px}
.detective-clue{font-size:11px}
.grammar-result h3{font-size:40px}
.grammar-score-ring b{font-size:36px}
.grammar-score-ring small{font-size:10px}
.grammar-reward-row span{font-size:12px}
.grammar-bonus-banner{font-size:12px}
.grammar-result>p{font-size:13px;line-height:1.5}
.grammar-footer{font-size:10px}
.grammar-feature-hero h3{font-size:34px}
.grammar-feature-hero p,.grammar-feature-body p,.grammar-feature-screen p{font-size:14px;line-height:1.55}
.grammar-feature-count b{font-size:28px}
.grammar-feature-count small{font-size:11px}
.grammar-daily-rewards span,.grammar-vault-note,.grammar-chest p,.grammar-chest small{font-size:12px}
.grammar-daily-pet b{font-size:24px}
.grammar-daily-pet p{font-size:13px}
.grammar-big-cta{font-size:15px}
.grammar-runner-world{height:210px}
.grammar-runner-track{height:58px;padding:10px 16px;grid-template-columns:auto 1fr 52px}
.grammar-runner-track>span{font-size:11px}
.grammar-runner-track>b{font-size:25px}
.grammar-runner-world .runner-hero-wrap,.grammar-runner-world .runner-hero,.grammar-runner-world .runner-companion{display:none!important}
.grammar-runner-world .runner-pet-wrap{position:absolute;left:8%;bottom:36px;width:110px;z-index:4;display:grid;justify-items:center;gap:4px;animation:grammarRunnerBounce .38s ease-in-out infinite alternate}
.grammar-runner-world .runner-solo-pet{width:74px;height:74px;filter:drop-shadow(0 8px 5px #32446b55)}
.grammar-runner-world .runner-solo-pet .pet-svg{width:74px;height:74px}
.grammar-runner-world .runner-pet-wrap small{display:block;padding:4px 7px;border-radius:99px;background:#ffffffc9;color:#5e5489;font-size:9px;font-weight:1000;box-shadow:0 4px 10px #6a57b31a}
.grammar-runner-world.boost .runner-pet-wrap,.grammar-runner-world.pet-boost .runner-pet-wrap{animation:grammarRunnerBoost .7s ease-out}
.grammar-runner-world.stumble .runner-pet-wrap{animation:grammarRunnerStumble .65s ease-out}
@media(max-width:1180px){.grammar-game-card b{font-size:15px}.grammar-question-card h4{font-size:30px}.grammar-mission div>b{font-size:14px}}
@media(max-width:900px){.grammar-title-wrap h2{font-size:34px}.grammar-map-head h3{font-size:26px}.grammar-term-tabs button{font-size:15px}.grammar-mission div>b{font-size:13px}.grammar-mission div>small{font-size:10px}.grammar-guide-card h3{font-size:23px}.grammar-guide-card p:last-child{font-size:12px}.grammar-quest-hero h3{font-size:30px}.grammar-card-title h4{font-size:22px}.grammar-rule-scroll p{font-size:14px}.grammar-example-list p{font-size:13px}.grammar-game-card b{font-size:14px}.grammar-game-card p{font-size:10px}.grammar-question-card h4{font-size:28px}.grammar-choice-grid button{font-size:16px}.detective-sentence button{font-size:16px}.grammar-runner-world .runner-pet-wrap{left:4%;transform:scale(.9);transform-origin:left bottom}}
@media(max-width:620px){.grammar-title-wrap h2{font-size:28px}.grammar-stats-strip small{font-size:8px}.grammar-stats-strip b{font-size:14px}.grammar-map-head h3{font-size:22px}.grammar-term-tabs button{font-size:13px;padding:11px 8px}.grammar-mission div>b{font-size:12px}.grammar-mission div>small{font-size:9px}.grammar-guide-card h3{font-size:20px}.grammar-guide-card p:last-child{font-size:11px}.grammar-quest-hero h3{font-size:24px}.grammar-card-title h4{font-size:19px}.grammar-rule-scroll p{font-size:13px}.grammar-example-list p{font-size:12px}.grammar-game-card b{font-size:12px}.grammar-game-card p{font-size:9px}.grammar-game-top h3{font-size:20px}.grammar-question-card h4{font-size:23px}.grammar-choice-grid button{font-size:14px;min-height:66px}.jumbo-answer-zone button,.jumbo-pool button{font-size:12px}.detective-sentence button{font-size:13px}.grammar-runner-world{height:160px}.grammar-runner-world .runner-pet-wrap{left:4%;bottom:30px;transform:scale(.78);transform-origin:left bottom}}


/* ===== Grammar Galaxy v4.21.3 pet-only boss + difficulty ladder ===== */
.grammar-round{display:grid;gap:1px;justify-items:center;line-height:1.05;padding:8px 11px}
.grammar-round small{font-size:9px;letter-spacing:.08em;color:#efeaff;font-weight:1000}
.grammar-round b{font-family:'Trebuchet MS',system-ui,sans-serif;font-size:18px;color:#fff}
.grammar-question-card .eyebrow{font-size:13px;letter-spacing:.08em}
.grammar-hero-fighter.pet-only{left:8%;bottom:16px;width:130px;display:grid;justify-items:center;gap:6px}
.grammar-hero-fighter.pet-only .grammar-fighter-pet.solo{position:relative;right:auto;bottom:auto;width:92px;height:92px;filter:drop-shadow(0 10px 10px #0004)}
.grammar-hero-fighter.pet-only .grammar-fighter-pet.solo .pet-svg{width:92px;height:92px}
.grammar-hero-fighter.pet-only small{font-size:9px;background:#171329cc}
.grammar-battle-arena.pet-burst:after{left:15%;bottom:78px}
@media(max-width:900px){.grammar-round small{font-size:8px}.grammar-round b{font-size:16px}.grammar-hero-fighter.pet-only{left:2%;transform:scale(.9);transform-origin:left bottom}}
@media(max-width:620px){.grammar-question-card .eyebrow{font-size:10px}.grammar-round b{font-size:14px}.grammar-hero-fighter.pet-only{left:-8px;transform:scale(.75)}}
