*{box-sizing:border-box}html{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#172a31;background:#f5f7f8}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #287ded;outline-offset:3px}button:disabled{cursor:default;opacity:.45}a{color:inherit}button,article{transition:background .18s,transform .18s}button:hover:not(:disabled){filter:brightness(.96)}.demo{background:#142c30;color:#fff;padding:9px 20px;font-size:13px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.demo button{background:transparent;color:#fff;text-decoration:underline;font-size:13px}.app{min-height:100vh;background:var(--wash,#fffced);--accent:#24574b;--wash:#fffced;--ink:#173b33}.app[data-env=english]{--accent:#157955;--wash:#ecfff5;--ink:#123e30}.app[data-env=ielts],.app[data-env=exam]{--accent:#294c9c;--wash:#f0f4fc;--ink:#182e57}.app[data-env=admin]{--accent:#28485d;--wash:#f2f5f8;--ink:#183344}.top{max-width:1160px;margin:auto;padding:24px 24px 12px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font-size:29px;font-weight:800;letter-spacing:-1.5px;text-decoration:none}.account{border:1px solid #ccd5d6;border-radius:24px;background:white;padding:10px 18px;font-size:14px}.worlds{display:flex;justify-content:center;gap:32px;margin:4px auto 24px}.world{background:transparent;display:flex;flex-direction:column;gap:8px;align-items:center;color:#394c53;font-size:13px}.orb{border:1px solid #d8ded8;width:66px;height:66px;border-radius:50%;background:white;display:grid;place-items:center;font-size:25px;box-shadow:0 4px 0 #dce5df;transition:transform .24s,box-shadow .24s}.world:hover .orb{transform:translateY(-4px)}.world[aria-pressed=true] .orb{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 0 #142f26;transform:translateY(-2px)}.workspace{max-width:1080px;margin:auto;padding:12px 28px 64px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.7px;color:#52676c;margin:0 0 12px}.heading{font-size:clamp(28px,4vw,42px);letter-spacing:-1.1px;line-height:1.15;margin:4px 0 14px;color:var(--ink)}.subtitle{font-size:16px;line-height:1.6;color:#53696e;margin:0 0 26px}.body{display:grid;gap:16px;max-width:720px}.app[data-env=admin] .body{max-width:100%;grid-template-columns:1fr 1fr}.body>.row,.body>.button,.body>.copy{grid-column:1/-1}.tile{background:white;border:1px solid #d8e1e2;border-radius:18px;padding:22px;text-align:left;line-height:1.6;box-shadow:0 4px 12px #172a3105;color:#263b43;display:block;width:100%}.tile.link:hover{border-color:var(--accent);transform:translateY(-2px)}.tile h2{font-size:20px;line-height:1.35;margin:0 0 8px;color:var(--ink);font-weight:600}.tile p{font-size:15px;margin:0;white-space:pre-line;color:#566870}.button{background:var(--accent);color:white;border-radius:12px;padding:14px 20px;min-height:48px;font-size:15px;line-height:1.4;text-align:center}.button.neutral{background:white;border:1px solid #c8d4d5;color:var(--ink)}.button.sub{background:transparent;color:var(--accent)}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:100px}.copy{line-height:1.65;margin:0;white-space:pre-line}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;min-width:0}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid #c5d3d5;border-radius:10px;background:#fff;color:#183344;min-height:48px}.field textarea{min-height:200px;line-height:1.65;resize:vertical}.photo{width:100%;height:270px;object-fit:cover;object-position:center 48%;border-radius:20px}.kids-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:32px;align-items:start}.kid-side{display:grid;gap:18px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.category{border:1px solid #dce3d5;border-radius:18px;background:white;padding:20px 14px;text-align:left;display:grid;gap:9px;font-size:15px}.category.selected{background:#e3f3df;border-color:#517c55}.category span{font-size:29px}.deck-top{display:flex;justify-content:space-between;font-size:13px;margin:0 4px 12px;color:#587068}.flip-scene{perspective:1400px;height:430px;position:relative}.flip-card{position:relative;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.flip-card.flipped{transform:rotateY(180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:white;border:1px solid #d5ded4;border-radius:26px;overflow:hidden;box-shadow:0 12px 30px #193c2510;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;cursor:pointer}.face.back{transform:rotateY(180deg);align-items:flex-start;justify-content:flex-start;padding:32px}.face .photo{height:255px;width:calc(100% + 48px);border-radius:0;margin:-24px -24px 20px;object-position:center 48%}.face h2{font-size:32px;letter-spacing:-.5px;margin:0 0 8px;color:var(--ink)}.face .meaning{color:#597267;font-size:19px}.face .emoji{font-size:132px;line-height:1.2;margin-bottom:24px}.flip-hint{font-size:12px;color:#6b7b71;margin-top:16px}.back p{font-size:23px;line-height:1.9;margin:20px 0}.word-token{background:transparent;color:var(--ink);padding:0 3px;font-size:inherit;line-height:inherit;text-decoration:underline;text-decoration-color:#8dbe9b;text-underline-offset:5px}.word-token:hover{background:#e1f2e4;border-radius:4px}.back .mini-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.mini{border:1px solid #bccdc5;border-radius:12px;background:#f5faf6;padding:10px 12px;color:#234637;font-size:14px}.deck-controls{display:flex;gap:10px;justify-content:center;margin-top:18px}.deck-controls .button{flex:1;padding:12px}.status{min-height:20px;margin:10px 0;font-size:13px;color:#4c6859}.free-tag{display:inline-block;background:#e2f3db;color:#215735;border-radius:20px;padding:5px 11px;font-size:12px}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.history-word{background:white;border:1px solid #dce4db;border-radius:15px;padding:20px;display:grid;gap:6px;text-align:left}.history-word span{font-size:34px}.history-word small{color:#58715e}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.admin-nav button{padding:10px 14px;border:1px solid #ccdae0;background:white;border-radius:9px;font-size:14px}.admin-nav button.active{background:var(--accent);color:white}.notice{background:#fff8dd;border:1px solid #e7d68c;border-radius:12px;padding:14px;font-size:14px;line-height:1.6;margin-bottom:18px}.video-stage{background:#172f3b;color:white;border-radius:24px;min-height:290px;padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px}.sentence{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.sentence span{background:#fff;color:#133b31;padding:18px 24px;border-radius:14px;font-size:24px;transition:transform .3s,background .3s}.sentence span.active{background:#a7edb5;transform:translateY(-8px)}.progress-track{height:6px;background:#d5e0de;border-radius:10px;overflow:hidden;margin:18px 0}.progress-track div{height:100%;background:var(--accent);transition:width .3s}.exam-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.exam-layout .tile{line-height:1.8}.voice-orb{height:120px;width:120px;background:radial-gradient(circle at 30% 30%,#a1d7ff,#31539d 70%);border-radius:50%;margin:20px auto;box-shadow:0 0 0 12px #dce8ff,0 0 0 26px #e7eeff}.voice-orb.talking{animation:breathe 1.1s infinite alternate}@keyframes breathe{to{transform:scale(1.07)}}dialog{border:0;border-radius:25px;max-width:520px;width:calc(100% - 32px);max-height:90vh;overflow:auto;padding:28px;color:#173b33;box-shadow:0 20px 90px #00160d60}dialog::backdrop{background:#12281a85;backdrop-filter:blur(4px)}dialog .photo{height:240px;margin:14px 0}dialog h2{margin-top:0;font-size:28px}dialog p{font-size:18px;line-height:1.7}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#173b33;color:white;padding:14px 22px;border-radius:16px;max-width:90vw;z-index:20;box-shadow:0 8px 24px #0003}.hidden{display:none!important}.footer{padding:20px;font-size:12px;color:#63706e;text-align:center}.footer a{margin:0 8px}.quota{display:flex;gap:10px;flex-wrap:wrap}.quota div{background:white;border:1px solid #d3dff1;border-radius:14px;padding:18px;flex:1;min-width:125px}.quota strong{display:block;font-size:24px;margin:4px 0}.admin-record{display:flex;gap:15px;align-items:center;flex-wrap:wrap;background:white;border:1px solid #d2dee4;border-radius:12px;padding:16px;margin:10px 0}.admin-record .record-main{flex:1;min-width:180px}.admin-record .record-main strong{display:block}.admin-record small{color:#617783}.admin-record button{padding:8px 12px;border-radius:8px;background:#eaf0f4;color:#294655}.admin-record input{min-width:0;width:100%;max-width:240px}.camera{height:230px;background:#1e303d;color:#dce8f0;border-radius:20px;display:grid;place-items:center;position:relative}.clock{font-variant-numeric:tabular-nums;font-size:22px;color:var(--accent)}@media(max-width:700px){.top{padding:20px 20px 12px}.workspace{padding:12px 20px 44px}.worlds{gap:25px;margin-bottom:20px}.orb{height:59px;width:59px;font-size:22px}.kids-grid,.exam-layout{grid-template-columns:1fr;gap:24px}.flip-scene{height:425px}.kid-side{grid-template-columns:1fr}.app[data-env=admin] .body{grid-template-columns:1fr}.body{max-width:100%}.heading{font-size:30px}.subtitle{font-size:15px}.tile{padding:18px}.tile h2{font-size:18px}.demo{font-size:12px}.category{padding:16px}.back p{font-size:21px}.face.back{padding:26px}.row .button{min-width:90px}.sentence span{padding:15px;font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Kids card: fixed image surface and bilingual name rows with separate audio. */
.word-workspace>.eyebrow,.word-workspace>.heading,.word-workspace>.subtitle{display:none}
.word-workspace{padding-top:8px}
.word-workspace .face.front{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 120px;align-items:stretch;justify-content:stretch;gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;cursor:default}
.word-picture{position:relative;width:100%;height:100%;min-width:0;min-height:0;background:#f1f6e9;border:1px solid #d5ded4;border-radius:22px;overflow:hidden;box-shadow:0 5px 16px #193c2508}
.word-picture-button{display:grid;place-items:center;background:transparent;width:100%;height:100%;padding:0;color:var(--ink)}
.word-workspace .face.front .photo{width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;object-position:center 48%;min-height:0}
.word-workspace .face.front .emoji{margin:0;font-size:132px;line-height:1.2}
.word-name-box{min-width:0;overflow:hidden;display:grid;grid-template-rows:minmax(44px,1fr) 1px minmax(44px,1fr);gap:3px;padding:6px 12px;width:100%;height:120px;background:#fff;color:var(--ink);border:1px solid #d5ded4;border-radius:17px;box-shadow:0 3px 12px #193c2505}
.word-name-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-width:0;min-height:0}
.word-label{grid-column:2;display:grid;place-items:center;min-width:0;min-height:44px;width:100%;padding:2px 4px;background:transparent;color:inherit;text-align:center}
.word-name{font-size:29px;line-height:1.15;letter-spacing:-.5px;font-weight:500;max-width:100%;overflow-wrap:anywhere}
.word-name-divider{height:1px;background:#d5ded4;margin:0 12px}
.word-name-box .meaning{font-size:17px;line-height:1.35;max-width:100%;overflow-wrap:anywhere}
.word-pronunciation{grid-column:3;display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;color:#234637;border-radius:50%}
.word-pronunciation:hover{background:#eef5ed}.word-pronunciation:focus-visible,.word-label:focus-visible{outline-offset:-3px}
.word-pronunciation svg,.mini svg{flex-shrink:0;vertical-align:middle}
.word-workspace .deck-controls{justify-content:space-between;margin-top:12px}
.word-workspace .deck-controls .button{flex:none;min-width:48px;min-height:44px;padding:8px 17px;font-size:20px}
.word-workspace .deck-top{margin:0 3px 10px}
.word-workspace .face.back{border-radius:22px}
.flip-back{position:absolute;top:18px;right:18px;display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%;background:#f2f7ee;color:#234637;font-size:25px}
.word-workspace .face.back h2{padding-right:50px}
.word-workspace .mini-tools .mini{min-height:44px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.word-workspace .flip-scene{height:420px}.word-name-box{padding:6px 8px}.word-name{font-size:27px}.word-workspace .kids-grid{gap:20px}.word-workspace .face.back{padding:26px}}

.ielts-course-entry{max-width:720px;margin:0 0 28px}.ielts-course-entry .tile{background:#fff;border-color:#cedaf0}

.card-editor{display:grid;gap:22px}.card-selector{max-width:420px}.editor-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.editor-panel{display:grid;gap:17px;padding:23px;background:#fff;border:1px solid #d9e2e6;border-radius:18px;min-width:0}.editor-panel h2{font-size:20px;font-weight:500;margin:0;color:#24485c}.editor-image{height:250px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#eef3ef}.editor-image img{height:100%;width:100%;object-fit:cover}.editor-image>span{font-size:110px}.editor-help{font-size:13px;line-height:1.65;color:#637785;margin:0}.online-media{display:grid;gap:15px;padding:17px;background:#f4f8fa;border:1px solid #dce6eb;border-radius:12px}.online-media[hidden],#automaticVoice[hidden],#uploadedVoice[hidden]{display:none}.provider-links{display:flex;gap:14px;flex-wrap:wrap}.provider-links a{color:#285c77;font-size:14px;line-height:1.6;text-underline-offset:3px}.media-credit,.online-media details{font-size:14px;line-height:1.6}.media-credit summary,.online-media summary{cursor:pointer;min-height:36px}.media-credit .field,.online-media details .field{margin:12px 0}.editor-choice{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #dce5e9;padding-bottom:14px}.editor-choice button{padding:11px 12px;border-radius:9px;background:#edf2f5;color:#28485d;font-size:14px;min-height:44px}.editor-choice button[aria-pressed=true]{background:#28485d;color:white}#automaticVoice,#uploadedVoice{display:grid;gap:17px}.editor-panel .field textarea{min-height:102px}.editor-panel .button svg{vertical-align:middle;margin-right:7px}.editor-panel audio{width:100%;max-width:100%}.editor-save{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.word-credit{margin-top:8px;font-size:12px;color:#627467}.word-credit p{line-height:1.6;overflow-wrap:anywhere}.word-credit summary{cursor:pointer}.card-editor input,.card-editor select,.card-editor textarea{min-width:0}.card-editor .row{min-width:0}.card-editor .row>.field{min-width:140px}
@media(max-width:700px){.editor-columns{grid-template-columns:1fr}.editor-panel{padding:18px}.editor-image{height:240px}.editor-save>*{flex:1}.editor-choice button{flex:1}.card-editor .row>.field{min-width:100%}}
.bangla-voice-editor{display:grid;gap:14px;padding-top:18px;border-top:1px solid #dce5e9}.bangla-voice-editor h3{font-size:17px;font-weight:500;margin:0;color:#24485c}
.card-preview-picture{display:grid;place-items:center;height:240px;background:#f1f6e9;border:1px solid #d5ded4;border-radius:18px;overflow:hidden;margin-bottom:8px}.card-preview-picture img{display:block;width:100%;height:100%;object-fit:cover}.card-preview-picture>span{font-size:110px}

.app[data-env=dictionary]{--accent:#665093;--wash:#f7f4fc;--ink:#35264f}
.worlds{gap:28px;padding:0 12px}.world{min-width:66px}.world .orb-book{font-size:23px}
.dictionary-body{display:block}.dict-search{background:#fff;border:1px solid #dcd4e8;border-radius:19px;padding:22px;margin-bottom:28px}.dict-search>label{display:block;font-size:14px;margin-bottom:12px;color:#534362}.dict-search-row{display:flex;gap:10px}.dict-search-row input{font:inherit;min-width:0;flex:1;border:1px solid #d4cadd;border-radius:11px;padding:14px 16px;background:#faf8fd;color:#35264f}.dict-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);gap:28px;align-items:start}.dict-main,.dict-aside,.dict-entry{min-width:0}.dict-aside{display:grid;gap:18px}.dict-toolbar{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid #e0d9e8;padding-bottom:14px}.dict-tab{font-size:14px;padding:11px 14px;border-radius:10px;background:transparent;color:#574668}.dict-tab[aria-pressed=true]{background:#665093;color:#fff}.dict-count{font-size:13px;color:#655873;margin:18px 0 10px;overflow-wrap:anywhere}.dict-results{display:grid;gap:10px}.dict-result{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:19px 22px;border:1px solid #e2dbe9;background:#fff;border-radius:15px;color:#35264f;min-width:0}.dict-result>span:first-child{min-width:0}.dict-result-title{font-size:22px;display:block;margin-bottom:5px;overflow-wrap:anywhere}.dict-result-title small{font-size:12px;color:#776987;margin-left:7px;display:inline-block;font-style:italic}.dict-bangla{display:block;color:#665093;line-height:1.65;font-size:16px;margin-bottom:4px}.dict-definition{display:block;font-size:14px;line-height:1.55;color:#657078;overflow-wrap:anywhere}.dict-result-arrow{color:#665093;font-size:21px;flex-shrink:0}.dict-feature{background:#e9e1f5;padding:26px;border-radius:19px;color:#392650}.dict-feature .eyebrow{font-size:11px;color:#665279}.dict-feature h2{font-size:32px;margin:20px 0 12px;letter-spacing:-.7px}.dict-feature h2 span{display:block;font-size:21px;font-weight:400;letter-spacing:0;margin-top:7px}.dict-feature p{line-height:1.65;font-size:15px;margin-bottom:23px}.dict-feature .button{width:100%}.dict-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.dict-chip{background:#f5f1fa;border:1px solid #e4daef;color:#5c457c;border-radius:9px;padding:9px 12px;min-height:40px;font-size:14px}.dict-small{font-size:12px;color:#716579;line-height:1.65;margin:8px 0}.dict-empty p{margin-bottom:18px}.dict-entry-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 22px}.dict-text-button{padding:10px 0;min-height:44px;background:transparent;color:var(--accent);font-size:14px;text-align:left}.dict-entry{background:white;border:1px solid #e0d6ea;padding:28px;border-radius:20px;overflow-wrap:anywhere}.dict-word-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;color:#72647c;font-size:14px}.dict-pos{font-style:italic;color:#665093;background:#f2ecf9;border-radius:7px;padding:6px 10px}.dict-audio{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 7px}.dict-audio .mini{background:#f7f4fb;border-color:#d9cfe5;color:#5e457e}.dict-sense{border-top:1px solid #ece5f3;padding:22px 0 0;margin-top:23px}.dict-sense-label{display:flex;gap:14px;align-items:baseline;color:#8a7a9b;font-size:15px}.dict-sense-label span{font-size:24px;color:#43305d}.dict-sense>p{font-size:17px;line-height:1.75;margin:16px 0}.dict-example{background:#f9f7fc;border-left:3px solid #baa6d5;padding:14px 18px}.dict-example p{line-height:1.7;font-size:15px;margin:8px 0;color:#453651}.dict-example p[lang=bn]{color:#73627e}.dict-note{margin-top:26px}.dict-note h2{font-size:16px;color:#43305d;margin:0 0 8px}.dict-note p{line-height:1.8;font-size:15px;margin:0;color:#695973}.dict-editor{max-width:720px;display:grid;gap:18px}.dict-editor textarea{min-height:100px}.dict-editor .row>.field{min-width:220px}.dict-admin-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:22px}.dictionary-body button:hover:not(:disabled){filter:none;background-color:#f0eaf8}.dictionary-body .button:not(.neutral):hover{background:#594382}.dict-result:focus-visible{outline-offset:1px}
@media(max-width:700px){.worlds{gap:clamp(8px,3vw,20px)}.world{font-size:12px;min-width:60px}.world .orb{width:56px;height:56px}.dict-layout{grid-template-columns:1fr}.dict-search{padding:17px;margin-bottom:20px}.dict-search-row{flex-wrap:wrap}.dict-search-row input{flex-basis:180px;font-size:16px;width:100%}.dict-search-row .button{flex:1}.dict-result{padding:17px}.dict-entry{padding:21px}.dict-aside{grid-template-columns:1fr}.dict-feature h2{margin-top:12px}.dict-entry-actions .button{font-size:14px}.dict-editor .row>.field{min-width:100%}.dict-tab{padding:11px 12px}.dict-audio .mini{min-height:44px}.dict-chip{min-height:44px}}
@media(min-width:701px){.dict-search-row .button{min-width:120px}}
.dict-correction-search{padding:22px;border:1px solid #d3dee4;border-radius:14px;background:#fff;margin-bottom:20px}
.dict-correction-search>label{display:block;color:#28485d;font-size:14px;margin-bottom:12px}
.dict-correction-search input{color:#203f50;background:#f8fbfc;border-color:#ccd9e1}
.dict-correction-results{display:grid;gap:12px}.dict-correction-record{margin:0;align-items:center}
.dict-correction-record .record-main{min-width:0;overflow-wrap:anywhere}.dict-correction-record .record-main p{font-size:14px;line-height:1.7;color:#617783;margin:8px 0 0}
.dict-correction-record>button{flex-shrink:0}.dict-correction-empty{padding:22px;border:1px dashed #cbd8de;border-radius:14px;color:#617783;font-size:14px;line-height:1.7}.dict-correction-empty p{margin:0}
.dict-extra-sense{display:grid;gap:18px;min-width:0;margin:0;border:1px solid #d3dee4;border-radius:12px;padding:20px}.dict-extra-sense legend{padding:0 7px;color:#28485d;font-size:15px}
@media(max-width:700px){.dict-correction-search{padding:17px}.dict-correction-record{align-items:stretch}.dict-correction-record>button{width:100%}}

.eng-level-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:22px}.eng-course-card{height:100%;display:flex;flex-direction:column;min-height:0}.eng-kicker{display:block;text-transform:uppercase;font-size:11px;letter-spacing:1.3px;color:#64796e;margin-bottom:11px}.eng-course-card h2{font-weight:500;font-size:22px}.eng-course-card p{flex:1}.eng-card-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:24px;font-size:13px;color:#456c57}.eng-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0 16px}.eng-section-heading h2,.eng-section-title{font-size:21px;font-weight:500;color:var(--ink);margin:0}.eng-section-title{margin:25px 0 15px}.eng-continue{margin:0 0 25px;max-width:100%;background:#dbf4e7}.eng-lower-actions{margin-top:22px}.eng-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 24px;font-size:13px;color:#60736a}.eng-breadcrumbs button{background:transparent;color:var(--accent);padding:6px 0;line-height:1.5;text-align:left;text-decoration:underline;text-underline-offset:3px}.eng-breadcrumbs [aria-current=page]{color:var(--ink)}.eng-empty{padding:28px;background:#ffffffa8;border:1px dashed #c5d8cd;border-radius:15px;color:#63756b;line-height:1.7;margin-bottom:18px}.eng-empty h2{font-size:19px;font-weight:500}.eng-empty p{margin:0}.eng-series-summary{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:#526e5e}.eng-video-list{display:grid;gap:12px;margin-bottom:22px}.eng-video-row{display:flex;align-items:center;gap:18px;background:white;border:1px solid #d5e2da;border-radius:15px;padding:19px 22px;text-align:left;width:100%;color:var(--ink);min-width:0}.eng-video-number{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:11px;background:#edf7f0;font-size:17px;color:#347955}.eng-video-info{display:grid;gap:6px;flex:1;min-width:0}.eng-video-info strong{font-size:17px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.eng-video-info small{font-size:13px;color:#62766a;line-height:1.6}.eng-player-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);gap:25px;align-items:start}.eng-player-layout>section{min-width:0}.eng-player{border-radius:21px;overflow:hidden;background:#173b33}.eng-player video{display:block;width:100%;aspect-ratio:16/9;background:#142e25}.eng-player .eng-empty{border:0;margin:0;background:#f4faf6;border-radius:0;padding:35px}.eng-player .video-stage{border-radius:0;min-height:310px;background:#183d30}.eng-player .video-stage p{font-size:22px;line-height:1.65;margin:0;overflow-wrap:anywhere}.eng-sample-label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#b4d5c0}.eng-lesson-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:22px 0;color:#526b5b;font-size:13px}.eng-series-sidebar{background:white;border:1px solid #d9e5dd;border-radius:17px;padding:17px;min-width:0}.eng-series-sidebar h2{font-weight:500;font-size:18px;margin:3px 4px 16px;line-height:1.5}.eng-sidebar-video{display:flex;gap:12px;align-items:baseline;background:transparent;width:100%;border-radius:9px;text-align:left;padding:13px 12px;color:#597060;line-height:1.55;font-size:14px}.eng-sidebar-video.current{background:#e5f4eb;color:#185b37}.eng-sidebar-video span{flex-shrink:0;min-width:15px}.eng-admin-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:22px}.eng-admin-toolbar p{margin:0;color:#607480;font-size:14px}.eng-admin-hint{font-size:14px;color:#687b87;line-height:1.6;margin-bottom:20px}.eng-admin-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:17px 19px;border:1px solid #d3e0e5;background:white;border-radius:13px;margin-bottom:12px}.eng-admin-open{display:block;flex:1;min-width:190px;text-align:left;padding:0;background:none;color:var(--ink)}.eng-admin-open strong{font-weight:500;display:block;font-size:18px;line-height:1.5}.eng-admin-open small{display:block;font-size:12px;color:#697d88;line-height:1.6;margin-top:5px}.eng-admin-open .eng-kicker{margin:0 0 5px;color:#718491}.eng-admin-tools{display:flex;gap:7px;flex-wrap:wrap}.eng-admin-tools button{background:#edf3f6;color:#35566c;border-radius:8px;padding:9px 11px;font-size:13px;min-height:40px}.eng-editor{display:grid;gap:20px;max-width:760px}.eng-editor textarea{min-height:100px}.eng-upload-box,.eng-upload-placement{display:grid;gap:15px;background:#fff;border:1px solid #d5e2e8;border-radius:13px;padding:20px}.eng-upload-placement{grid-column:1/-1}.eng-upload-placement[hidden]{display:none}.eng-upload-placement .button{justify-self:start}.eng-admin-row strong,.eng-breadcrumbs span,.eng-editor select{overflow-wrap:anywhere}.eng-editor .field select{max-width:100%}
@media(max-width:700px){.eng-level-grid{grid-template-columns:1fr;gap:13px}.eng-course-card{min-height:0}.eng-course-card h2{font-size:20px}.eng-player-layout{grid-template-columns:1fr}.eng-video-row{padding:16px;gap:12px}.eng-video-info strong{font-size:16px}.eng-video-number{width:37px;height:37px}.eng-player .video-stage{padding:24px;min-height:290px}.eng-player .video-stage p{font-size:19px}.eng-admin-row{padding:17px}.eng-admin-open{min-width:100%}.eng-admin-tools button{min-height:44px}.eng-editor .row>.button{min-width:130px}.eng-admin-toolbar .row{width:100%}.eng-upload-placement select{font-size:14px}.eng-breadcrumbs{gap:7px}.eng-lesson-actions{align-items:flex-start;flex-direction:column}}

/* Stacked course dropdowns organise topics and series; videos open their own pages. */
.eng-course-outline{display:grid;gap:12px;margin-bottom:22px}
.eng-dropdown{min-width:0;background:#fff;border:1px solid #d5e2da;border-radius:15px;overflow:hidden}
.eng-outline-toggle{display:flex;align-items:center;gap:18px;width:100%;min-height:76px;padding:19px 22px;background:#fff;color:var(--ink);text-align:left}
.eng-outline-toggle .eng-kicker{margin:0;font-size:10px}
.eng-dropdown>.eng-video-row{border:0;border-radius:0;margin:0;min-height:76px}
.eng-dropdown>[aria-expanded=true]{background:#f0f8f3}
.eng-chevron{flex-shrink:0;transition:transform .2s}
[aria-expanded=true]>.eng-chevron{transform:rotate(180deg)}
.eng-dropdown-panel{display:grid;gap:10px;padding:12px 14px 14px}
.eng-dropdown-panel[hidden]{display:none!important}
.eng-dropdown-panel .eng-empty{margin:0}
.eng-dropdown button:focus-visible{outline-offset:-4px}
@media(max-width:700px){.eng-outline-toggle{padding:16px;gap:12px}.eng-dropdown-panel{padding:8px;gap:8px}.eng-dropdown{border-radius:12px}}
/* Lesson resources appear only when supplied, immediately below the player. */
.lesson-resources{margin:16px 0 22px;min-width:0}.lesson-resource-buttons{display:flex;gap:10px;flex-wrap:wrap}
.lesson-resource-button{padding:12px 18px;min-height:46px;border:1px solid #bdd1c5;border-radius:10px;background:#fff;color:var(--ink);font-size:14px;line-height:1.4}
.lesson-resource-button[aria-expanded=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.lesson-resource-panel{margin-top:12px;padding:22px;border:1px solid #d5e2da;border-radius:12px;background:#fff;min-width:0}.lesson-resource-panel[hidden]{display:none}
.lesson-resource-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.85;margin:0}.lesson-material-link{display:inline-flex;gap:10px;align-items:center;margin-top:16px;color:var(--accent);font-size:14px;line-height:1.6;text-underline-offset:3px;overflow-wrap:anywhere}.lesson-material-link:first-child{margin-top:0}
.eng-resource-editor h2{font-size:17px;font-weight:500;margin:0}.eng-resource-editor textarea{min-height:130px}.eng-back-to-series{margin:0 0 20px;padding:8px 0}
@media(max-width:700px){.lesson-resource-buttons{flex-wrap:nowrap}.lesson-resource-button{flex:1;padding:11px 12px;font-size:13px}.lesson-resource-panel{padding:17px}.lesson-resource-text{font-size:14px}}

.admin-tabs{display:flex;align-items:stretch;gap:30px;border-bottom:1px solid #cbd8de;overflow-x:auto;white-space:nowrap;margin:0 0 28px;scrollbar-width:thin}
.admin-tabs button{position:relative;flex-shrink:0;background:transparent;color:#647985;padding:14px 0 16px;font-size:15px;border-radius:0;border-bottom:3px solid transparent;min-height:48px}
.admin-tabs button[aria-current=page]{border-bottom-color:#28485d;color:#183344}
.admin-tabs button:focus-visible{outline-offset:-4px}
.admin-back{margin:-7px 0 19px}.admin-back button,.admin-footer-links .button{padding:7px 0;background:transparent;color:#496878;font-size:14px}
.admin-upload-tree{display:grid;gap:14px}.admin-dropdown{background:#fff;border:1px solid #d3dee4;border-radius:14px;overflow:hidden}
.admin-dropdown>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 24px;cursor:pointer;list-style:none;color:#203f50;font-size:18px;min-height:66px}
.admin-dropdown>summary::-webkit-details-marker{display:none}.admin-dropdown[open]>summary{background:#f8fbfc;border-bottom:1px solid #e0e8ec}.admin-dropdown[open]>summary>.eng-chevron{transform:rotate(180deg)}
.admin-dropdown>summary:focus-visible{outline:3px solid #287ded;outline-offset:-4px}.admin-dropdown-content{padding:4px 22px 12px}.admin-dropdown-content>.admin-dropdown{margin:10px 0}.admin-dropdown-content>.admin-dropdown>summary{padding:17px;font-size:16px;background:#f7fafb}
.admin-menu-link{display:flex;justify-content:space-between;gap:20px;align-items:center;width:100%;padding:18px 3px;background:transparent;text-align:left;color:#28485d;border-bottom:1px solid #e7eef1;min-height:56px}.admin-menu-link:last-child{border-bottom:0}.admin-menu-label{display:block;line-height:1.5;font-size:16px}.admin-menu-link small{display:block;font-size:13px;line-height:1.6;color:#6a7e89;margin-top:4px}.admin-footer-links{margin-top:16px}
.admin-section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:18px 0}.admin-section-toolbar>p{margin:0;font-size:14px;color:#637783}.admin-section-toolbar .field{min-width:200px}.admin-search{width:min(100%,330px)}
.admin-help{font-size:13px;line-height:1.7;color:#617783;margin:0 0 18px;grid-column:1/-1}.admin-row-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-table-wrap{overflow-x:auto;border:1px solid #d7e1e7;border-radius:13px;background:white}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.admin-table th{background:#f5f9fb;color:#647c8a;font-weight:500;font-size:12px;white-space:nowrap}.admin-table th,.admin-table td{padding:17px 19px;border-bottom:1px solid #e6edf1;line-height:1.6;vertical-align:top}.admin-table tr:last-child td{border-bottom:0}.admin-table td{color:#284655;overflow-wrap:anywhere;min-width:110px}.admin-status{font-size:12px;color:#246446;background:#eaf5ee;padding:5px 9px;border-radius:7px;white-space:nowrap}
.admin-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.admin-summary-grid article{background:#fff;border:1px solid #d5e1e7;border-radius:14px;padding:21px}.admin-summary-grid span{font-size:13px;color:#617985}.admin-summary-grid strong{display:block;font-weight:500;font-size:28px;margin-top:10px;color:#203f50}
.admin-access-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.admin-panel{padding:23px;border:1px solid #d5e1e7;border-radius:14px;background:white;min-width:0}.admin-panel h2,.admin-section-title{font-weight:500;font-size:19px;color:#203f50;margin:0 0 18px}.admin-section-title{margin-top:26px}.admin-panel form{display:grid;gap:18px}.admin-text-button{background:#edf3f6;color:#31566b;border-radius:7px;padding:8px 11px;min-height:38px;margin:0 6px 5px 0;font-size:13px}
.admin-test-editor{display:grid;gap:20px;max-width:850px}.admin-test-editor .admin-help{margin:0}.admin-test-editor textarea{min-height:145px}.admin-test-editor audio{width:100%;max-width:480px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-filter-row{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:20px 0}.admin-filter-row>.field{flex:1;min-width:180px}.admin-filter-row>.button{flex-shrink:0}.admin-test-editor .field small{font-size:12px;line-height:1.6;color:#6b7f89}
@media(max-width:700px){.admin-tabs{gap:24px;margin-bottom:22px}.admin-tabs button{font-size:14px}.admin-dropdown>summary{padding:18px;font-size:17px}.admin-dropdown-content{padding:2px 14px 9px}.admin-menu-label{font-size:15px}.admin-menu-link{gap:12px}.admin-access-layout,.admin-form-grid{grid-template-columns:1fr}.admin-panel{padding:19px}.admin-summary-grid{gap:10px}.admin-summary-grid article{padding:17px}.admin-summary-grid strong{font-size:25px}.admin-section-toolbar{align-items:stretch}.admin-section-toolbar>.button,.admin-section-toolbar>.field{width:100%}.admin-table th,.admin-table td{padding:14px}.admin-filter-row>.field{min-width:130px}.admin-filter-row>.button{width:100%}.admin-test-editor .row>*{min-width:130px}}
.enrollment-sheet{max-width:100%;max-height:65vh;overflow:auto;border-radius:8px;overscroll-behavior-x:contain}
.enrollment-sheet .admin-table{width:100%;min-width:1640px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.enrollment-sheet .admin-table th,.enrollment-sheet .admin-table td{padding:13px 16px;border-right:1px solid #e1e9ee;min-width:0;font-size:13px}
.enrollment-sheet .admin-table th{position:sticky;top:0;z-index:1;font-size:12px;background:#eef4f7}
.enrollment-sheet .admin-table th:last-child,.enrollment-sheet .admin-table td:last-child{border-right:0}
.enrollment-sheet .admin-table th:nth-child(3){width:230px}.enrollment-sheet .admin-table th:nth-child(4){width:175px}.enrollment-sheet .admin-table th:nth-child(7){width:70px}.enrollment-sheet .admin-table th:nth-child(8){width:210px}
.enrollment-sheet tbody tr:nth-child(even){background:#f8fbfc}.enrollment-sheet tbody tr:hover{background:#eef5f8}
.enrollment-sheet .enrollment-missing{color:#91a0a9}.enrollment-sheet .enrollment-empty{height:96px;color:#617783;vertical-align:middle}
.enrollment-legacy-name{display:block;font-size:11px;color:#758994;line-height:1.6;margin-top:3px}.enrollment-table-note{margin:10px 0 0;font-size:12px}
.enrollment-form{display:grid;gap:22px;grid-column:1/-1}.enrollment-form .admin-form-grid{gap:18px}.enrollment-form input{min-width:0}

.word-explore-button{display:grid;place-items:center;width:44px;height:44px;padding:0;min-width:44px}.word-explore-button[aria-pressed=true]{background:#dcefdc;border-color:#6f9475}
#wordDialog.word-explorer-dialog{padding:0;max-width:540px;--ink:#173b33;--accent:#24574b}
.word-popup-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid #e0e8df}
.word-popup-back{background:transparent;color:#24574b;text-align:left;font-size:14px;padding:10px 0;min-height:44px}.word-popup-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;background:#f0f5ee;border-radius:50%;color:#24574b;font-size:26px}
.word-popup-body{padding:18px}.word-popup-card{padding:0}.word-popup-card .flip-scene{height:430px}.word-popup-card .face.back{cursor:default;overflow-y:auto}.word-popup-card .back p{font-size:20px;line-height:1.8;overflow-wrap:anywhere}.word-popup-card .face h2{font-size:28px}.word-popup-card .mini-tools{padding-top:12px}.word-popup-card .word-name{font-size:27px}
.word-definition-popup{padding:4px 8px 14px}.word-definition-popup .meaning{color:#587362;font-size:19px}.word-definition-popup p{line-height:1.85}.word-popup-example{padding:15px 17px;background:#f3f8f1;border-left:3px solid #b8d3b5;border-radius:0 10px 10px 0;color:#53695b}.word-definition-audio{display:flex;gap:12px}.word-definition-audio .word-pronunciation{border:1px solid #d5e1d4}
@media(max-width:700px){.word-popup-header{padding:10px 14px}.word-popup-body{padding:14px}.word-popup-card .flip-scene{height:420px}.word-popup-card .face.back{padding:24px}.word-popup-card .word-name{font-size:25px}}

/* Horizontal vocabulary gestures preserve native vertical scrolling and zoom. */
.word-swipe-area{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.word-swipe-area img{-webkit-user-drag:none}
.word-popup-deck{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
.word-popup-deck .button{min-width:64px;min-height:44px;padding:10px 20px}
.word-popup-position{font-size:14px;color:#587068;text-align:center;min-width:60px}

.cat-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:16px;align-items:end;margin:20px 0 26px}.cat-filters{grid-template-columns:1.4fr 1fr 1fr}.cat-filters .field{min-width:0}.cat-filters select{width:100%;min-width:0}.vocab-group{margin:0 0 30px}.vocab-group h2,.vocab-result-heading h2{font-size:20px;font-weight:500;margin:0 0 16px}.vocab-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vocab-category-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;min-width:0;text-align:left;background:#fff;border:1px solid #d4e1d8;border-radius:15px;color:var(--ink);line-height:1.5}.vocab-category-tile>span:first-child{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#edf6ef;font-size:30px}.vocab-category-tile img{width:100%;height:110px;object-fit:cover;border-radius:10px}.vocab-category-tile .vocab-tile-name{font-size:16px;overflow-wrap:anywhere}.vocab-category-tile small{font-size:12px;color:#617769;line-height:1.6}.vocab-category-tile:hover{background:#f1f8f3}.vocab-back{padding:8px 0;min-height:44px}.vocab-result-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:26px 0 14px}.vocab-result-heading h2{margin:0}.vocab-result-heading>span{font-size:13px;color:#63756b}.vocab-word-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.vocab-word-tile{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;background:#fff;border:1px solid #d4e1d8;border-radius:15px;padding:10px 10px 16px;color:var(--ink);text-align:left;overflow-wrap:anywhere}.vocab-word-tile>span:not(:first-child),.vocab-word-tile>small{padding:0 6px;line-height:1.6}.vocab-word-tile>small{font-size:12px;color:#617769}.vocab-word-picture{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:#f0f6ed;margin-bottom:6px}.vocab-word-picture>span{font-size:64px}.vocab-word-picture img{width:100%;height:100%;object-fit:contain}.cat-table-wrap{max-width:100%}.cat-table{min-width:1040px}.cat-table small{display:block;font-size:12px;color:#6a7f8c;margin-top:4px}.cat-table-name{display:block;font-size:14px}.cat-table td:first-child{min-width:215px;max-width:280px}.cat-table td:last-child{min-width:270px}.cat-status{display:inline-block;padding:4px 8px;border-radius:7px;background:#eff4f7;color:#456477;font-size:12px;white-space:nowrap}.cat-order-controls{display:inline-flex;gap:4px;margin-left:8px}.cat-order-controls button{background:#edf3f6;color:#35566c;padding:7px 11px;border-radius:7px;min-width:38px;min-height:38px}.cat-editor{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:24px;align-items:start}.cat-editor-fields,.cat-cover-editor{display:grid;gap:18px;min-width:0}.cat-cover-editor{padding:21px;background:#fff;border:1px solid #d5e1e7;border-radius:14px}.cat-cover-editor h2,.cat-assignments h2{font-size:19px;font-weight:500;margin:0}.cat-cover-editor input[type=file]{font-size:13px}.cat-cover-preview{height:150px;display:grid;place-items:center;background:#f3f7f8;border:1px solid #d8e3e8;border-radius:11px;overflow:hidden}.cat-cover-preview img{width:100%;height:100%;object-fit:contain}.cat-cover-preview>span{font-size:58px}.cat-checkbox{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.7}.cat-checkbox input,.cat-word-row input{width:18px;height:18px;flex-shrink:0;accent-color:#28485d}.cat-assignments{grid-column:1/-1;display:grid;gap:16px;min-width:0}.cat-assignments>h2:not(:first-child){margin-top:10px}.cat-word-list{border:1px solid #d7e1e7;border-radius:12px;max-height:380px;overflow:auto;background:#fff;margin:10px 0 14px}.cat-word-list>p{padding:18px;margin:0}.cat-word-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid #e4ebef;min-width:0}.cat-word-row:last-child{border-bottom:0}.cat-word-row>label{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;cursor:pointer}.cat-word-row span span,.cat-word-row small{display:block;line-height:1.6;overflow-wrap:anywhere}.cat-word-row small{font-size:12px;color:#6a7f89}.cat-word-row>label>span{min-width:0;font-size:15px}.cat-word-row input{margin-top:3px}.cat-word-row .admin-text-button{flex-shrink:0}.cat-save-bar{grid-column:1/-1;border-top:1px solid #d5e1e7;padding-top:18px}.cat-save-bar p{min-height:22px;font-size:14px;color:#456c57}.cat-save-bar .cat-error,.cat-error{color:#a33036}.cat-archive-form{display:grid;gap:20px;max-width:780px}.cat-archive-form>p{font-size:15px;line-height:1.8;margin:0}.cat-preview-heading{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:center}.cat-preview-heading p{font-size:15px;line-height:1.8}.cat-editor textarea{min-height:110px}.cat-editor input,.cat-editor select,.cat-editor textarea{max-width:100%}
@media(max-width:950px){.vocab-category-grid,.vocab-word-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cat-editor{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.vocab-category-grid,.vocab-word-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vocab-category-tile{padding:15px 12px;border-radius:12px}.vocab-category-tile .vocab-tile-name{font-size:14px}.cat-filters{grid-template-columns:minmax(0,1fr);gap:13px}.vocab-category-tile img{height:90px}.vocab-word-picture>span{font-size:48px}.cat-word-row{padding:14px 12px;flex-wrap:wrap}.cat-word-row>label{min-width:100%}.cat-word-row .admin-text-button{margin-left:30px}.cat-preview-heading{grid-template-columns:1fr}.cat-order-controls button{min-width:44px;min-height:44px}.cat-table .admin-text-button{min-height:44px}.cat-editor{gap:20px}.cat-cover-preview{max-width:100%}}
@media(max-width:360px){.vocab-category-grid{grid-template-columns:minmax(0,1fr)}}

/* Topic cards sit beside the word card and move below it on narrow screens. */
.kids-grid>section,.kids-grid>.kid-side{min-width:0}
#kidsTopics{display:grid;gap:14px;min-width:0}
.kid-side .category{min-height:112px;align-content:start;gap:7px}
.kid-side .category .topic-name{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.kid-side .category>small{font-size:12px;line-height:1.5;color:#617769}
.kid-side .category>img{width:100%;height:60px;object-fit:cover;border-radius:8px}
.topic-pages{display:flex;align-items:center;justify-content:space-between;gap:12px}
.topic-pages .button{min-width:48px;min-height:44px;padding:8px 17px;font-size:20px}
.topic-pages span{font-size:13px;color:#587068}
@media(max-width:700px){.kids-grid{grid-template-columns:minmax(0,1fr)}.kid-side .category{min-height:105px}}


/* Kids Words category launchers: app-icon presentation matching Games discovery cards. */
.vocab-icon-launcher{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
  padding:7px 4px 11px;
  border:0;
  border-radius:18px;
  background:transparent;
  box-shadow:none;
  color:var(--ink);
  text-align:center;
}
.vocab-icon-launcher:hover{background:transparent;transform:translateY(-2px);filter:none!important}
.vocab-icon-launcher .vocab-category-icon{
  display:grid;
  place-items:center;
  width:112px;
  height:112px;
  flex:0 0 112px;
  overflow:hidden;
  border:1px solid #d8e4d6;
  border-radius:27px;
  background:#edf5e7;
  box-shadow:0 7px 13px rgba(28,54,39,.10);
  transition:transform .18s,box-shadow .18s;
}
.vocab-icon-launcher:hover .vocab-category-icon,.vocab-icon-launcher:focus-visible .vocab-category-icon{transform:translateY(-2px);box-shadow:0 9px 17px rgba(28,54,39,.13)}
.vocab-icon-launcher .vocab-category-icon>span{font-size:55px;line-height:1}
.vocab-icon-launcher .vocab-category-icon>img{display:block;width:100%;height:100%;object-fit:contain;padding:8px;border-radius:24px}
.vocab-icon-launcher:nth-child(4n+2) .vocab-category-icon{background:#e8f1fb;border-color:#d6e2ed}
.vocab-icon-launcher:nth-child(4n+3) .vocab-category-icon{background:#fff0d6;border-color:#eadfc9}
.vocab-icon-launcher:nth-child(4n+4) .vocab-category-icon{background:#f2eafd;border-color:#e0d7ea}
.vocab-icon-launcher .vocab-tile-name,.vocab-icon-launcher .topic-name{display:block;max-width:15ch;font-size:15px;line-height:1.35;font-weight:500;color:#23483c;overflow-wrap:anywhere}
.vocab-icon-launcher>small{max-width:16ch;font-size:10px;line-height:1.4;color:#617769}
.vocab-icon-launcher.selected{background:transparent;border:0}
.vocab-icon-launcher.selected .vocab-category-icon{outline:3px solid #517c55;outline-offset:3px;background:#e3f3df}
.vocab-category-grid{grid-template-columns:repeat(4,minmax(128px,1fr));gap:22px 14px}
.vocab-category-tile.vocab-icon-launcher img{width:100%;height:100%;object-fit:contain;border-radius:24px}
.kid-side .category.vocab-icon-launcher{min-height:0;padding:7px 2px 10px;align-content:unset;gap:7px}
.kid-side .category.vocab-icon-launcher .topic-name{font-size:14px;line-height:1.35;text-align:center}
.kid-side .category.vocab-icon-launcher>small{font-size:10px;line-height:1.35;text-align:center}
.kid-side .category.vocab-icon-launcher>img{width:100%;height:100%}
@media(max-width:950px){.vocab-category-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:700px){.vocab-category-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:18px 12px}.vocab-icon-launcher .vocab-category-icon{width:104px;height:104px;flex-basis:104px}.vocab-icon-launcher .vocab-category-icon>span{font-size:50px}.kid-side .category.vocab-icon-launcher{min-height:0}}
@media(max-width:360px){.vocab-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vocab-icon-launcher .vocab-category-icon{width:92px;height:92px;flex-basis:92px}}
@media(prefers-reduced-motion:reduce){.vocab-icon-launcher .vocab-category-icon{transition:none}.vocab-icon-launcher:hover .vocab-category-icon,.vocab-icon-launcher:focus-visible .vocab-category-icon{transform:none}}
/* Specificity guard against the legacy boxed category-tile icon rule. */
.vocab-category-tile.vocab-icon-launcher>.vocab-category-icon{width:112px;height:112px;flex:0 0 112px;border-radius:27px;font-size:inherit}
@media(max-width:700px){.vocab-category-tile.vocab-icon-launcher>.vocab-category-icon{width:104px;height:104px;flex-basis:104px}}
@media(max-width:360px){.vocab-category-tile.vocab-icon-launcher>.vocab-category-icon{width:92px;height:92px;flex-basis:92px}}

/* Stories keeps Vocabari's typography and gives storytime a soft violet accent. */
.app[data-env=stories]{--accent:#695397;--wash:#faf7ff;--ink:#343052}
.worlds{gap:clamp(12px,4vw,32px);padding:0 12px}.world{min-width:0}
.stories-workspace>.eyebrow{color:#796995}.stories-workspace>.heading{font-size:clamp(29px,4vw,43px);font-weight:600}.stories-workspace>.subtitle{color:#777188}
.stories-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 23px}.stories-tabs button{min-height:48px;border-radius:14px;padding:12px 18px;color:#635576;background:transparent;border:1px solid transparent}.stories-tabs button[aria-pressed=true]{background:#ede5f7;border-color:#d7cbe6;color:#493666}.stories-tabs span{font-size:12px;padding:3px 7px;border-radius:10px;background:#fff;margin-left:4px}
.story-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px;align-items:center;background:#e9e0f5;border:1px solid #ded1ee;border-radius:28px;padding:30px;margin-bottom:25px;overflow:hidden}
.story-hero-copy{display:grid;justify-items:start;gap:15px;padding:7px}.story-eyebrow{color:#725e92;font-size:11px;letter-spacing:1.8px;text-transform:uppercase}.story-hero h2{font-size:clamp(26px,3.4vw,38px);line-height:1.12;font-weight:600;letter-spacing:-1px;margin:0;color:#37314d}.story-hero p{font-size:15px;line-height:1.8;color:#645b74;margin:0}.story-hero-meta{font-size:12px;color:#6d627e}.story-hero .button{background:#67518f;padding:13px 24px;min-height:50px}.story-hero-art{background:transparent;padding:0;border-radius:22px;overflow:hidden;transform:rotate(1deg);box-shadow:0 15px 30px #4337691a}.story-hero-art svg,.story-hero-art img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.story-topic-pills{display:flex;gap:10px;overflow:auto;padding:4px 3px 12px;scrollbar-width:thin}.story-topic-pills button{flex-shrink:0;min-height:48px;background:#fff;border:1px solid #e2dbe9;border-radius:24px;padding:11px 18px;color:#675c77;font-size:14px}.story-topic-pills button span{margin-right:8px;font-size:18px}.story-topic-pills button[aria-pressed=true]{background:#695397;color:#fff;border-color:#695397}
.story-shelf{margin:24px 0 34px}.story-shelf h2,.story-next h2{font-size:21px;font-weight:500;margin:0 0 18px;color:var(--ink)}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 19px}.story-card{position:relative;min-width:0;background:#fff;border:1px solid #e4ddea;border-radius:19px;overflow:hidden;box-shadow:0 5px 15px #37214f04}.story-card:hover{transform:translateY(-3px)}.story-card-open{display:block;width:100%;padding:0 0 18px;text-align:left;background:transparent;color:#3f3653}.story-poster{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#ebe5f6}.story-poster svg,.story-poster>img{display:block;width:100%;height:100%;object-fit:cover}.story-poster svg{transform:scale(1.03)}.story-duration{position:absolute;bottom:9px;left:10px;background:#283143dc;color:#fff;border-radius:7px;padding:4px 7px;font-size:10px;line-height:1.4}.story-play-badge{position:absolute;right:11px;bottom:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#68518c;font-size:11px;padding-left:2px}.story-card-title{display:block;padding:16px 15px 7px 15px;font-size:17px;line-height:1.4;font-weight:500}.story-card-meta{display:block;padding:0 15px;font-size:11px;color:#7e728e;line-height:1.7}.story-save{position:absolute;right:9px;top:9px;width:44px;height:44px;background:#fff;color:#776187;border-radius:50%;font-size:25px}.story-save[aria-pressed=true]{color:#c35975;background:#fff4f7}.story-progress{display:block;height:4px;margin:12px 15px 0;border-radius:8px;background:#e9e2ef;overflow:hidden}.story-progress>span{display:block;height:100%;background:#a18abe;border-radius:8px}.story-continue-row{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.story-continue-row .story-card{flex:0 0 270px;scroll-snap-align:start}
.story-empty{padding:36px 24px;text-align:center;background:#f3edf9;border:1px solid #e3d8ed;border-radius:22px;color:#685b78}.story-empty>span{font-size:42px;color:#b399d1}.story-empty h3,.story-empty h2{font-size:23px;font-weight:500}.story-empty p{font-size:15px;line-height:1.8}.story-empty>svg,.story-empty>img{max-width:280px;width:100%;border-radius:16px}.story-watch-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:19px;flex-wrap:wrap}.story-watch-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr);gap:26px;align-items:start}.story-watch-layout>section,.story-next{min-width:0}.story-next{display:grid;gap:17px}.story-next h2{font-size:18px;margin:0}.story-next .story-card-title{font-size:15px}.story-player-shell{background:#fff;border:1px solid #e0d5e9;border-radius:22px;overflow:hidden}.story-player-shell video{display:block;width:100%;aspect-ratio:16/9;background:#252035}.story-sample{aspect-ratio:16/9;overflow:hidden;background:#eee8f6}.story-sample svg{display:block;width:100%;height:100%;border-radius:0}.story-sample>div{height:100%}.story-sample svg>rect{rx:0}.story-caption{padding:20px 24px;margin:0;font-size:clamp(17px,2vw,21px);line-height:1.7;text-align:center;min-height:110px;color:#40394f}.story-player-controls{display:flex;justify-content:center;gap:12px;padding:0 18px 15px}.story-player-controls .button{min-height:48px}.story-player-controls .button:nth-child(2){min-width:146px}.story-timeline{display:flex;align-items:center;gap:12px;padding:0 20px 14px;font-size:0;flex-wrap:wrap}.story-timeline input{flex:1;min-width:120px;height:44px;accent-color:#695397}.story-timeline span{font-size:12px;font-variant-numeric:tabular-nums;color:#786a87}.story-player-options{display:flex;gap:10px;flex-wrap:wrap;padding:0 20px 12px}.story-player-options .button{font-size:13px;padding:10px 13px;min-height:44px}.story-player-options [aria-pressed=true]{background:#eee4f8}.story-player-message{font-size:13px;line-height:1.65;margin:0;padding:0 20px 16px;color:#705f80}.story-read-button{margin-top:17px}.story-transcript{white-space:pre-line;font-size:17px;line-height:1.9;background:#fff;padding:24px;border:1px solid #e0d5e9;border-radius:17px;margin-top:12px}.story-watch-details{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;color:#7b6c89;font-size:12px}.story-watch-details span{padding:7px 12px;background:#f0eaf6;border-radius:20px}.story-player-shell:fullscreen{background:#fff;max-width:none;overflow:auto;display:flex;flex-direction:column;align-items:center}.story-player-shell:fullscreen .story-sample{width:100%;max-height:65vh}.story-player-shell:fullscreen .story-timeline{width:min(750px,100%)}
.story-sample .story-drift{animation:storyFloat 4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.story-sample .story-cloud{animation:storyCloud 10s ease-in-out infinite alternate}.story-sample .story-rain{animation:storyRain 2s linear infinite}.story-sample .story-sway{animation:storySway 4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:bottom}.story-sample:not(.playing) *{animation-play-state:paused}@keyframes storyFloat{to{translate:0 -8px}}@keyframes storyCloud{to{translate:18px 0}}@keyframes storyRain{to{translate:-4px 9px}}@keyframes storySway{to{rotate:5deg}}
.story-editor{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:24px;align-items:start}.story-editor-main,.story-editor-side{display:grid;gap:20px;min-width:0}.story-editor textarea{min-height:120px}.story-editor .eng-upload-box{display:grid;gap:17px}.story-editor h2{font-size:20px;font-weight:500;margin:0}.story-editor-cover{overflow:hidden;border-radius:13px;background:#f2edf7;aspect-ratio:16/10}.story-editor-cover svg,.story-editor-cover img{width:100%;height:100%;object-fit:cover}.story-editor .cat-save-bar{grid-column:1/-1}.story-admin-thumb{width:100px;aspect-ratio:16/10;border-radius:10px;overflow:hidden;flex-shrink:0}.story-admin-thumb svg,.story-admin-thumb img{width:100%;height:100%;object-fit:cover}.story-admin-row .record-main{min-width:180px}.story-editor [hidden]{display:none!important}
@media(max-width:850px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-hero{padding:22px;gap:14px}.story-watch-layout{grid-template-columns:minmax(0,1fr)}.story-next{grid-template-columns:repeat(3,minmax(0,1fr))}.story-next h2{grid-column:1/-1}.story-next .story-card-meta{font-size:10px}.story-editor{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.worlds{gap:12px;justify-content:space-evenly}.world{font-size:11px}.orb{width:52px;height:52px;font-size:21px}.story-hero{grid-template-columns:minmax(0,1fr);padding:20px;border-radius:23px}.story-hero-art{grid-row:1;transform:none}.story-hero-art svg,.story-hero-art img{aspect-ratio:16/9}.story-hero-copy{gap:12px}.story-hero h2{font-size:30px}.story-hero-meta{font-size:12px}.story-grid{gap:15px 11px}.story-card-title{font-size:15px;padding:13px 12px 6px 12px}.story-card-meta{font-size:10px;padding:0 12px}.story-save{right:6px;top:6px;font-size:23px}.story-next{display:flex;overflow-x:auto;padding-bottom:10px;flex-wrap:wrap}.story-next .story-card{flex:1 1 150px}.story-next h2{flex-basis:100%}.story-player-controls{gap:8px;padding:0 12px 13px}.story-player-controls .button{padding:10px 14px}.story-caption{padding:18px 16px;min-height:116px}.stories-tabs button{padding:11px 14px;font-size:14px}.story-watch-top .button{font-size:13px;padding:10px 12px}}
@media(max-width:370px){.worlds{gap:6px;padding:0 7px}.orb{width:47px;height:47px}.world{font-size:10px}.story-grid{grid-template-columns:minmax(0,1fr)}.story-card-title{font-size:18px}}
@media(prefers-reduced-motion:reduce){.story-sample *{animation:none!important}.story-card:hover{transform:none}.story-hero-art{transform:none}}

.story-translated-title{display:block;font-size:14px;font-weight:400;margin-top:5px;line-height:1.5}

/* Games-owned styles. The only cross-environment rule fits the sixth nav item. */
.app[data-env=games]{--accent:#24574b;--wash:#f6f9f2;--ink:#173b33}
.games-workspace{max-width:1120px}
.games-workspace>.eyebrow,.games-workspace>.heading,.games-workspace>.subtitle{display:none}
.games-body{display:block;max-width:100%;color:var(--ink);line-height:1.6}
.games-body h1,.games-body h2,.games-body h3{font-weight:500;line-height:1.2;letter-spacing:-.5px}
.games-body h1{font-size:clamp(28px,4vw,42px)}
.games-body h2{font-size:23px}.games-body h3{font-size:20px}
.games-body button,.games-body input,.games-body select{min-height:48px}
.games-body button:focus-visible,.games-body input:focus-visible,.games-body select:focus-visible{outline:3px solid #287ded;outline-offset:3px}
.games-body [tabindex="-1"]:focus{outline:2px solid #287ded;outline-offset:5px}
.games-body p{overflow-wrap:anywhere}
.games-kicker{display:block;text-transform:uppercase;letter-spacing:1.6px;font-size:11px;line-height:1.6;color:#4d6b60}
.games-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:28px;background:linear-gradient(120deg,#eef4de,#e0efe6);border:1px solid #d4e1cc;border-radius:28px;padding:38px 42px;overflow:hidden}
.games-hero h1{margin:17px 0 16px;font-size:clamp(40px,5vw,62px);line-height:1.08;letter-spacing:-2.5px}
.games-hero h1>span{color:#4a785d}
.games-hero p{max-width:355px;color:#456459;font-size:17px;margin:0 0 24px;line-height:1.7}
.games-hero .button{min-width:190px}.games-hero small{display:block;font-size:11px;color:#456459;margin-top:17px}
.games-hero-art{position:relative;min-height:300px;align-self:center}
.games-art-orbit{position:absolute;border:1px dashed #a5bca5;width:270px;height:270px;border-radius:50%;top:15px;left:20px;transform:rotate(-20deg)}
.games-art-tile{position:absolute;width:132px;height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d4decb;background:#fffdf5;border-radius:24px;box-shadow:0 12px 20px #173b3310;font-size:53px;line-height:1}
.games-art-tile small{font-size:12px;margin-top:10px}.games-art-a{top:8px;left:15px;transform:rotate(-12deg)}
.games-art-b{top:85px;right:8px;transform:rotate(9deg);background:#e7f1fa;color:#34586b}
.games-art-c{bottom:-2px;left:46px;transform:rotate(-5deg);background:#faedd1;color:#856134}
.games-art-star{position:absolute;right:44px;top:-2px;color:#7a9469;font-size:53px}
.games-art-note{position:absolute;bottom:-38px;right:0;font-size:11px;color:#4d6b60}
.games-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 10px;border:1px solid #d9e3d6;border-radius:18px;background:#fff;padding:18px 0}
.games-stats>div{display:grid;gap:3px;text-align:center;border-right:1px solid #e2e9df}.games-stats>div:last-child{border:0}
.games-stats span{font-size:21px;font-variant-numeric:tabular-nums}.games-stats small{font-size:12px;color:#557064}
.games-local-note{font-size:11px;color:#536c60;margin:0 0 26px;line-height:1.7}.games-local-note>span{margin-left:10px}
.games-daily,.games-resume,.games-context{display:flex;align-items:center;gap:20px;padding:22px 24px;margin:20px 0;border:1px solid #d6dec6;border-radius:19px;background:#faf4df}
.games-daily h2,.games-resume h2,.games-context h2{font-size:21px;margin:4px 0}.games-daily p,.games-resume p,.games-context p{color:#546a5f;font-size:14px;margin:3px 0}
.games-daily>div,.games-resume>div,.games-context>div{flex:1;min-width:0}.games-daily-icon{font-size:38px;color:#846328}
.games-resume{background:#eaf1f8;border-color:#cbdce6}.games-context{background:white;border-style:dashed}
/* One independently scrollable row per category; never wrap discovery cards. */
.games-browse-hint{font-size:12px;color:#536c60;margin:20px 0 24px}
.games-shelf{margin:0 0 34px;min-width:0;max-width:100%}
.games-shelf-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;gap:12px}
.games-shelf-heading h2{margin:0;min-width:0}
.games-shelf-tools{display:flex;align-items:center;gap:14px;flex-shrink:0}
.games-shelf-count{font-size:12px;color:#567064;white-space:nowrap}
.games-row-controls{display:flex;gap:7px}.games-row-controls[hidden]{display:none}
.games-row-arrow{display:grid;place-items:center;width:44px;min-width:44px;min-height:44px!important;height:44px;padding:0 0 3px;border:1px solid #cfdccb;border-radius:50%;background:#fff;color:var(--accent);font-size:29px;line-height:1}
.games-row-arrow:disabled{opacity:.4}
.games-grid{--games-card-width:192px;--game-icon-size:160px;display:flex;flex-wrap:nowrap;align-items:flex-start;gap:18px;min-width:0;max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden;padding:10px 4px 18px;scroll-padding-inline:4px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#bacdb5 transparent}
.games-grid::-webkit-scrollbar{height:6px}.games-grid::-webkit-scrollbar-thumb{background:#bacdb5;border-radius:6px}.games-grid::-webkit-scrollbar-track{background:transparent}
.games-grid>.games-card{flex:0 0 var(--games-card-width);scroll-snap-align:start}
.games-carousel{user-select:none;-webkit-user-select:none}
.games-carousel:focus-visible{outline:3px solid #287ded;outline-offset:3px;border-radius:10px}
.games-carousel[data-dragging=true]{scroll-snap-type:none;cursor:grabbing}
.games-carousel[data-dragging=true] *{cursor:grabbing!important}
.games-carousel[data-dragging=true] .games-card{transform:none;transition:none}
@media(hover:hover) and (pointer:fine){.games-carousel{cursor:grab}.games-carousel button{cursor:pointer}}
.games-card{display:flex;flex-direction:column;position:relative;padding:0;border:0;background:transparent;min-width:0;box-shadow:none;transition:transform .18s,opacity .18s}
.games-card:hover{transform:translateY(-2px)}
.games-app-item{align-items:center;text-align:center}
.games-app-launch{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:8px 4px;background:transparent;border:0;border-radius:18px;color:var(--ink);text-align:center;min-height:auto!important}
.games-app-launch:hover .games-card-icon,.games-app-launch:focus-visible .games-card-icon{transform:translateY(-2px)}
.games-card-visual{display:block}
.games-card-icon{display:block;position:relative;width:var(--game-icon-size,160px);height:var(--game-icon-size,160px);flex:0 0 auto;border:0;background:transparent;box-shadow:none;overflow:visible;transition:transform .18s}
.games-card-icon>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(28,54,39,.12));user-select:none;-webkit-user-drag:none}
.games-artwork-missing{display:grid;place-items:center;font-size:13px;color:#536c60;text-align:center}
.games-setup-artwork{--game-icon-size:152px;margin:24px 0 20px}
.games-card-level{color:#586e62;font-size:10px;line-height:1.45}
.games-app-title{display:block;max-width:17ch;font-size:18px;line-height:1.3;font-weight:500;color:#23483c;overflow-wrap:anywhere}
.games-app-level{margin-top:-2px;max-width:24ch;min-height:30px;display:block}
.games-app-description{display:none}
.games-recent{border-top:1px solid #d8e0d2;padding-top:14px}.games-recent h2{font-size:21px}
.games-recent>button{display:flex;justify-content:space-between;gap:15px;width:100%;padding:16px 0;background:transparent;color:#345246;border-bottom:1px solid #d8e0d2;text-align:left;font-size:14px}
.games-recent>button>span:last-child{font-size:12px}
.games-help{font-size:13px;color:#536b60;line-height:1.7}.games-badge{display:inline-block;border:1px solid #cedcca;border-radius:25px;background:#fff;padding:6px 13px;font-size:12px}
.games-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.games-actions>.button{flex:1;min-width:125px}
.games-setup{max-width:720px;margin:0 auto;padding:25px 30px;border:1px solid #d7e2d3;border-radius:25px;background:#fff}
.games-setup>.button.sub{margin-left:-18px}.games-setup-icon{display:grid;place-items:center;background:#edf4e5;color:#3e664a;border-radius:20px;width:75px;height:75px;font-size:38px;margin:25px 0 18px}
.games-setup h1{margin:8px 0 18px}.games-setup-description{font-size:16px;color:#4c665a;line-height:1.8}
.games-setup-controls{display:grid;gap:18px;margin:24px 0}.games-round-size{font-size:14px;color:#456255;border-top:1px solid #e1e8dd;padding-top:18px}
.games-checkbox{display:flex;align-items:center;gap:12px;font-size:15px}.games-checkbox input{width:21px;height:21px;min-height:21px!important;accent-color:var(--accent)}
.games-shell{max-width:790px;margin:0 auto}.games-shell-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.games-shell-head>.button{padding-left:0}
.games-session-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.games-session-title h1{margin:6px 0 12px;font-size:clamp(27px,4vw,36px)}
.games-session-title p{font-size:13px;color:#516b5c;margin:0}.games-score{display:grid;text-align:center;border:1px solid #d4dfcf;border-radius:16px;background:#fff;padding:12px 22px;min-width:90px}.games-score>span:first-child{font-size:12px;color:#536b60}.games-score>span:last-child{font-size:25px;font-variant-numeric:tabular-nums}
.games-progress{display:block;height:8px;width:100%;appearance:none;-webkit-appearance:none;border:0;border-radius:9px;overflow:hidden;background:#dfe8d9;margin:24px 0 28px;color:var(--accent)}
.games-progress::-webkit-progress-bar{background:#dfe8d9;border-radius:9px}.games-progress::-webkit-progress-value{background:#5a8468;border-radius:9px}.games-progress::-moz-progress-bar{background:#5a8468;border-radius:9px}
.games-question{border:1px solid #d9e3d3;background:#fff;border-radius:24px;padding:28px}.games-question-type{font-size:11px;color:#527163;text-transform:uppercase;letter-spacing:1.3px}.games-question h2{margin:14px 0 24px;font-size:23px;line-height:1.45}
.games-target{font-size:clamp(25px,3.5vw,37px);line-height:1.5;text-align:center;color:var(--ink);margin:24px 0 32px}
.games-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}
.games-answer{display:flex;align-items:center;gap:12px;text-align:left;flex-wrap:wrap;border:1px solid #cfdccc;background:#fbfcf8;color:#254638;padding:17px;border-radius:15px;min-height:76px!important;line-height:1.6;font-size:16px;min-width:0;overflow-wrap:anywhere}
.games-choice-letter{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e9efdf;color:#466243;font-size:12px;flex-shrink:0}.games-answer>span:not(.games-choice-letter){flex:1}
.games-answer:disabled{opacity:1;cursor:default}.games-answer.games-selected{border:2px solid #a27348;background:#fff7e8}.games-answer.games-answer-correct{border:2px solid #47785b;background:#edf6e9}
.games-answer small{display:block;flex-basis:100%;font-size:11px;color:#4d6555}
.games-picture{display:grid;place-items:center;background:#f0f4e9;border:1px solid #e0e6d9;border-radius:19px;overflow:hidden;width:100%;max-width:400px;height:250px;margin:20px auto;color:#284739;text-align:center}
.games-picture>img{width:100%;height:100%;object-fit:cover;min-height:0}.games-picture>span[role=img]{font-size:132px;line-height:1.2}
.games-picture-small{max-width:220px;height:170px}.games-picture-small>span[role=img]{font-size:94px}
.games-picture-answers .games-answer{padding:10px;justify-content:center;min-height:162px!important}.games-picture-answers .games-picture{width:100%;height:155px;margin:0}.games-picture-answers .games-picture>span[role=img]{font-size:91px}
.games-picture-fallback,.games-image-fallback{display:block;padding:22px;color:#5d6655;line-height:1.6;font-size:15px}.games-image-fallback[hidden]{display:none}
.games-audio-area{text-align:center;margin:20px auto}.games-audio-area>.button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:50%;width:110px;height:110px;padding:15px;margin:0 auto;font-size:13px}
.games-audio-area>.button svg{width:32px;height:32px}.games-audio-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 10px}.games-audio-tools .button{font-size:12px;padding:10px 13px}
.games-answer-form{margin-top:20px}.games-answer-form input{text-align:center;letter-spacing:2px;font-size:22px;min-height:60px}.games-answer-form .field{font-size:14px}
.games-clue{font-size:15px;line-height:1.8;color:#4a6656;border-radius:13px;background:#f1f5ec;padding:13px 17px;margin:17px 0}
.games-feedback{margin:22px 0 8px;border:1px solid #e2cfb0;border-radius:16px;padding:20px;background:#fff8eb}.games-feedback-correct{background:#eef6e9;border-color:#c7dfc2}
.games-feedback h3{font-size:21px;margin:0 0 12px}.games-feedback p{font-size:15px;line-height:1.8;margin:8px 0}.games-feedback small{display:block;font-size:12px;margin-top:10px}
.games-feedback>.button{margin:16px 0 0;width:100%}.games-example{color:#526754;font-style:italic}.games-inline-error{color:#875028;font-size:14px}.games-inline-error:empty{display:none}.games-skip{text-align:center;margin-top:12px}.games-skip .button{font-size:13px}
.games-letter-gaps{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin:26px 0}.games-letter-gaps>span{display:grid;place-items:center;min-width:34px;height:45px;border-bottom:2px solid #b9ceaa;font-size:24px}.games-letter-gaps>.games-gap{background:#edf3e7;border-radius:7px}
.games-letter-bank,.games-token-bank{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0}.games-letter-bank .button{min-width:48px;padding:10px}
.games-built{border:2px dashed #bdcdb3;background:#f7f9f1;border-radius:16px;min-height:93px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;padding:20px;margin:24px 0}
.games-built>span{color:#264c3a;font-size:20px}.games-built-word>span{font-size:27px}.games-built .games-built-placeholder{font-size:14px;color:#64765c}.games-token{min-width:50px;min-height:54px!important;border:1px solid #cbd9c2;box-shadow:0 3px 0 #dce5d4;background:#fff;color:#294c3b;border-radius:11px;padding:12px 16px;font-size:20px}
.games-pair-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.games-pair-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #c4d3bf;background:#eef4e5;color:#395e43;border-radius:15px;min-height:127px!important;padding:12px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.games-pair-card .games-picture{margin:0;width:100%;height:90px;border:0;background:transparent}.games-pair-card .games-picture>span[role=img]{font-size:60px}
.games-pair-back{font-size:38px;color:#719063}.games-pair-card small{font-size:10px;color:#50624b}.games-pair-open{background:white;animation:games-pair-reveal .16s ease-out}@keyframes games-pair-reveal{from{opacity:.4;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.games-pair-matched:disabled{animation:none;background:#e5f1df;border:2px solid #74976b;opacity:1}
.games-pair-word-meaning{grid-template-columns:repeat(2,minmax(0,1fr))}.games-pair-status{font-size:15px;margin:18px 0}
.games-sprint-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border:1px solid #d1dec9;border-radius:16px;background:#fff;margin-top:20px;font-size:14px}
.games-sprint-bar strong{font-weight:500;font-size:23px;font-variant-numeric:tabular-nums}.games-sprint-bar .button{font-size:13px;min-height:44px;padding:9px 16px}
.games-pause{text-align:center;padding:45px 24px;background:#fff;border:1px solid #d8e3d0;border-radius:24px}.games-pause>span{font-size:43px;color:#739065}.games-pause .button{display:block;margin:16px auto}.games-pause p{color:#546c5b}
.games-results{max-width:720px;border:1px solid #d6e2cf;border-radius:25px;background:#fff;margin:0 auto;padding:35px;text-align:center}
.games-result-symbol{display:grid;place-items:center;width:90px;height:90px;margin:0 auto 21px;border-radius:50%;background:#eff3df;color:#769152;font-size:53px}
.games-results h1{margin:13px 0}.games-results>p{color:#516d5b}.games-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0}
.games-result-stats>div{display:grid;gap:7px;padding:17px 8px;border-radius:15px;background:#f3f7ed}.games-result-stats span{font-size:26px;line-height:1.2}.games-result-stats small{font-size:11px;color:#526a5b}
.games-practise-list{text-align:left;border-top:1px solid #dde6d5;padding:20px 0 0;margin:22px 0}.games-practise-list h2{font-size:20px}.games-practise-list p{display:flex;justify-content:space-between;gap:15px;font-size:14px;border-bottom:1px solid #e9eee3;padding-bottom:10px}.games-practise-list p>span{min-width:0;overflow-wrap:anywhere}
.games-storage-warning{padding:12px;border-radius:12px;border:1px solid #dfc896;background:#fff7df;font-size:13px}
.games-review{max-width:760px;margin:auto}.games-review>p{color:#526c5b}.games-review-list{display:grid;gap:14px;margin:24px 0}.games-review-list article{padding:22px;border:1px solid #d4e0cc;border-radius:18px;background:#fff}.games-review-list h2{font-size:20px;margin:0 0 12px}.games-review-list p{font-size:14px;margin:8px 0;line-height:1.7}
.games-empty{text-align:center;padding:40px 22px;border:1px dashed #c9d6bf;border-radius:22px;background:white}.games-empty p{color:#536b5a}
.games-practice-link{margin-top:6px}.games-practice-link:only-child{margin-top:0}
@media(max-width:1000px){.games-grid{--games-card-width:176px;--game-icon-size:144px}.games-hero{padding:30px;gap:12px}.games-art-tile{width:118px;height:126px}.games-art-orbit{width:225px;height:225px}.games-art-b{right:0}.games-art-note{display:none}}
@media(max-width:700px){
  .games-grid{--games-card-width:148px;--game-icon-size:136px;gap:18px}
  .games-app-title{font-size:16px;max-width:16ch}
  .games-app-level{font-size:9.5px;min-height:24px}

  /* Retain the existing circular navigation, fitting all six environments without page overflow. */
  .worlds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:0 12px}
  .worlds .world{padding:4px 0;min-width:0;font-size:10.5px;line-height:1.4;overflow-wrap:anywhere}
  .worlds .world .orb{width:46px;height:46px;font-size:20px}
  .games-hero{grid-template-columns:1fr;padding:27px 25px;border-radius:23px}.games-hero-art{display:none}
  .games-hero h1{font-size:46px}.games-hero p{font-size:16px}.games-hero small{font-size:10px}
  .games-stats{padding:16px 0}.games-stats span{font-size:18px}.games-stats small{font-size:10px}.games-local-note>span{display:block;margin-left:0;margin-top:4px}
  .games-daily,.games-resume,.games-context{flex-wrap:wrap;padding:20px;gap:12px}.games-daily>button,.games-resume>button,.games-context>button{width:100%}.games-daily-icon{font-size:28px}
  .games-shelf-heading h2{font-size:22px}.games-shelf-tools{gap:9px}.games-shelf-count{font-size:11px}.games-row-controls{gap:5px}
  .games-setup{padding:21px}.games-setup-icon{margin-top:17px}.games-setup h1{font-size:30px}.games-setup-description{font-size:15px}
  .games-question{padding:21px 18px}.games-question h2{font-size:20px}.games-answer{padding:14px 11px;gap:9px;font-size:15px}.games-answers{gap:10px}
  .games-session-title h1{font-size:27px}.games-score{padding:10px 16px;min-width:72px}.games-shell-head{gap:6px}.games-shell-head .button{font-size:13px}.games-badge{font-size:11px;padding:6px 9px}
  .games-picture{height:220px}.games-picture-small{height:150px}.games-picture-answers .games-picture{height:120px}.games-picture-answers .games-picture>span[role=img]{font-size:74px}
  .games-target{font-size:26px}.games-built{padding:16px 12px;gap:7px}.games-token-bank{gap:9px}.games-token{font-size:18px;padding:12px;min-width:48px}
  .games-pair-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.games-pair-word-meaning,.games-pair-english-bangla{grid-template-columns:repeat(2,minmax(0,1fr))}.games-pair-card{font-size:14px;padding:10px 7px;min-height:115px!important}.games-pair-card .games-picture>span[role=img]{font-size:48px}
  .games-pair-card .games-picture{height:65px}.games-sprint-bar{font-size:12px;padding:12px;gap:10px}.games-letter-gaps{gap:5px}.games-letter-gaps>span{min-width:27px;font-size:21px}
  .games-results{padding:27px 20px}.games-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.games-result-stats span{font-size:26px}.games-practise-list p{flex-wrap:wrap;gap:6px}.games-results h1{font-size:30px}
  .games-recent>button{flex-direction:column;gap:5px}.games-actions>.button{min-width:115px;font-size:14px}.games-audio-tools .button{font-size:11px;padding:9px}
}
@media(max-width:350px){.worlds{grid-template-columns:repeat(3,minmax(0,1fr))}.games-answers{grid-template-columns:1fr}.games-picture-answers{grid-template-columns:1fr 1fr}.games-hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){.games-card,.games-pair-card,.games-token{transition:none;animation:none}.games-card:hover{transform:none}}

@media(max-width:420px){.games-shelf-heading{align-items:flex-start}.games-shelf-heading h2{padding-top:9px;font-size:21px}.games-shelf-tools{flex-wrap:wrap;justify-content:flex-end;column-gap:8px;row-gap:3px;max-width:96px}.games-shelf-count{width:100%;text-align:center}.games-browse-hint{max-width:32em}.games-app-title{font-size:16px}}

/* Icon sizes are explicit at every breakpoint; old card padding cannot shrink art. */
@media(max-width:359px){.games-grid{--games-card-width:136px;--game-icon-size:124px;gap:14px}}
@media(prefers-reduced-motion:reduce){.games-card-icon{transition:none}.games-app-launch:hover .games-card-icon,.games-app-launch:focus-visible .games-card-icon{transform:none}}
.games-carousel[data-dragging=true] .games-card-icon{transform:none;transition:none}

/* Only new learning-path surfaces; existing Topics/swipe selectors stay untouched. */
.learning-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin:24px 0;border:1px solid var(--border,#dde5df);border-radius:24px;background:var(--surface,#f3f7f3)}
.learning-banner h2{font-weight:500;font-size:23px;margin:8px 0}.learning-banner p{margin:8px 0;line-height:1.6}.learning-actions{display:flex;gap:12px;flex-wrap:wrap}.learning-actions button{min-height:44px;white-space:normal}
.learning-page{max-width:1000px;margin:auto}.learning-page h1{font-size:clamp(28px,4vw,40px);font-weight:500;line-height:1.2}.learning-page p{line-height:1.65}.learning-page h2{font-weight:500;font-size:22px}.learning-page h3{font-weight:500}.learning-page h4{font-weight:500;margin:0}
.learning-privacy,.learning-note{padding:18px;border-radius:18px;background:#f4f5f1;border:1px solid #e3e7dd;color:#425347}.learning-privacy{font-size:14px}.learning-note{margin:20px 0}.learning-note p{font-size:15px}
.learning-form{max-width:550px;margin:28px 0}.learning-form .field{margin:16px 0}.learning-form input,.learning-form select,.learning-signup input{min-height:48px}.learning-profile-list article{display:flex;gap:16px;justify-content:space-between;align-items:center;border:1px solid #dce5df;border-radius:18px;padding:18px;margin:12px 0}.learning-profile-list h2{margin:0}.learning-profile-list p{margin:8px 0}
.learning-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.learning-summary article{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #dde5df;border-radius:20px}.learning-summary strong{font-size:26px;font-weight:500}.learning-summary span{font-size:13px}
.learning-set{margin:18px 0;padding:20px;border:1px solid #dce5df;border-radius:20px}.learning-set summary{font-size:18px;cursor:pointer;padding:10px 0;min-height:44px}.learning-word-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.learning-word-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e5eae6}.learning-word-list small{display:block;color:#526456;margin-top:5px}.learning-status{font-size:12px;border:1px solid #dce5df;border-radius:14px;padding:5px 10px;flex-shrink:0;max-width:55%;white-space:normal}.learning-grammar-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e5eae6}.learning-grammar-list p{font-size:14px;margin:8px 0 0}
.learning-question-reason{display:inline-block;font-size:12px;border-radius:16px;padding:5px 10px;background:#eaf2eb;color:#244b30;margin:0 0 12px}.learning-page button:focus-visible,.learning-page summary:focus-visible,.learning-page select:focus-visible,.learning-page input:focus-visible{outline:3px solid #376a4a;outline-offset:3px}
@media(max-width:700px){.learning-banner{flex-direction:column;align-items:stretch;padding:20px}.learning-summary{grid-template-columns:1fr 1fr}.learning-word-list{grid-template-columns:1fr}.learning-profile-list article{align-items:stretch;flex-direction:column}.learning-set{padding:14px}.learning-grammar-list article{align-items:flex-start;flex-direction:column}.learning-grammar-list .learning-status{max-width:100%}.learning-actions .button{flex:1 1 140px}.learning-summary article{padding:16px}.learning-page h1{overflow-wrap:anywhere}}

/* Reuse the approved prototype's tokens, cards and typography. */
.prod-banner { padding: .65rem 1rem; background: var(--soft, #eef7f3); text-align: center; font-size: .82rem; }
.prod-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.prod-grid .full { grid-column: 1 / -1; }
.prod-form { display: grid; gap: 1rem; max-width: 48rem; width: 100%; }
.prod-form fieldset { border: 1px solid var(--line, #dce7e1); border-radius: 16px; padding: 1rem; }
.prod-form .field { display: flex; flex-direction: column; gap: .45rem; margin: 0; }
.prod-form input:not([type=checkbox]), .prod-form select, .prod-form textarea { width: 100%; border: 1px solid var(--line, #dce7e1); border-radius: 12px; padding: .8rem; background: white; color: #193b32; font: inherit; }
.prod-form textarea { min-height: 110px; resize: vertical; }
.prod-form input[type=checkbox] { width: 20px; height: 20px; flex-shrink: 0; accent-color: #166c53; }
.prod-check { display: flex; align-items: center; gap: .6rem; min-height: 44px; }
.prod-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: .8rem 0; }
.prod-message { padding: .8rem 1rem; border: 1px solid currentColor; border-radius: 12px; margin: 1rem 0; }
.prod-message:empty { display:none; }
.prod-error { color: #972e31; background: #fff5f4; }
.prod-form button[disabled] { opacity: .6; cursor: wait; }
.prod-table-wrap { width: 100%; overflow-x: auto; border-radius: 16px; border: 1px solid var(--line, #dce7e1); }
.prod-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.prod-table td,.prod-table th { text-align: left; padding: .8rem; border-bottom: 1px solid var(--line, #dce7e1); font-weight: 400; }
.prod-table th { background: var(--soft, #eef7f3); }
.prod-list { display: grid; gap: .7rem; margin-top: 1rem; }
.prod-list .dict-result { width:100%; }
.prod-small { font-size: .88rem; line-height:1.6; color: #46685a; }
.prod-reading { max-width: 48rem; line-height: 1.7; }
.prod-code { overflow-wrap: anywhere; font-size: .8rem; }
.prod-privacy-note { max-width: 70ch; }
.prod-skip { position:absolute; left:1rem; top:-100px; z-index:10000; background:white; padding:1rem; }
.prod-skip:focus { top:1rem; }
.prod-form :focus-visible,.prod-actions :focus-visible,.prod-table :focus-visible { outline:3px solid #126750; outline-offset:3px; }
@media(max-width:700px){.prod-grid{grid-template-columns:1fr}.prod-banner{text-align:left}.prod-actions .button{max-width:100%}.prod-form{min-width:0}.prod-reading{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
