:root{--bg:#f7f7f0;--ink:#183d36;--muted:#64766a;--line:#dce1d6;--accent:#d8ed87;--paper:#fff;--orange:#e8a57b;--radius:22px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #a66a3e;outline-offset:5px}[hidden]{display:none!important}.site-head,main,footer{max-width:1160px;margin:auto;padding-inline:36px}.site-head{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:21px;font-weight:750;letter-spacing:-.7px}.brand small{font-size:10px;font-weight:500;letter-spacing:0;color:var(--muted);padding:6px 0 0 1px}.brand-mark{display:inline-flex;justify-content:center;align-items:center;width:36px;height:36px;background:var(--ink);color:var(--accent);border-radius:11px;font-size:32px;line-height:1;padding-bottom:7px}.brand-mark span{font-size:30px}.site-head nav{display:flex;gap:27px;font-size:13px}.site-head nav a{text-decoration:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:454px;padding-block:50px 40px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;line-height:1.7}.live-dot{display:inline-block;width:7px;height:7px;background:#779b49;border-radius:50%;margin-right:7px}h1{font-size:68px;line-height:1.1;letter-spacing:-3.5px;margin:24px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#63833c}.intro{font-size:16px;line-height:1.8;max-width:435px;color:var(--muted)}.hero-tags{display:flex;gap:9px;margin-top:25px}.hero-tags span{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:6px 12px}.art{height:345px;position:relative;isolation:isolate}.orbit{position:absolute;border:1px solid #dce3ce;border-radius:50%;width:330px;height:300px;left:45px;top:15px;transform:rotate(-30deg)}.orbit-two{width:240px;height:330px;left:90px;top:0;transform:rotate(40deg)}.word-card{position:absolute;width:180px;height:213px;border-radius:19px;padding:23px;box-shadow:0 16px 40px #244b3512}.word-card small{font-size:9px;letter-spacing:2px}.word-card b{display:block;font-family:Georgia,serif;font-size:40px;font-weight:500;margin-top:22px}.word-card>span{display:block;text-align:right;font-size:44px;margin-top:3px}.card-a{background:var(--accent);left:45px;top:23px;transform:rotate(-12deg);z-index:2}.card-b{background:var(--ink);color:#f6f5e9;left:205px;top:91px;transform:rotate(12deg)}.card-b b{font-family:inherit;font-size:32px}.card-b>span{color:var(--accent)}.mini-card{position:absolute;left:120px;top:240px;background:#f3ceae;padding:14px 25px;border-radius:13px;z-index:3;transform:rotate(-6deg);font-size:25px;box-shadow:0 8px 18px #244b3510}.mini-card i{padding:0 12px;color:#98765b}.spark{position:absolute;color:#66834f;font-size:38px}.s1{right:26px;top:9px}.s2{left:14px;bottom:80px}.art-caption{position:absolute;bottom:0;left:120px;font-size:10px;color:var(--muted)}.dashboard{display:flex;align-items:center;background:#eeefe5;border:1px solid #e0e3d7;border-radius:16px;padding:22px 28px;gap:36px}.dashboard>div{display:flex;align-items:center;gap:10px;min-width:130px}.dashboard strong{font-size:29px;letter-spacing:-1px}.dashboard span{font-size:11px;color:var(--muted)}.dashboard p{margin-left:auto;font-size:12px;color:var(--muted)}.dashboard p span{font-size:20px;margin-left:12px}.setup{padding-top:50px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-heading .eyebrow{color:#83916e;margin:0 0 7px}h2{font-size:26px;letter-spacing:-1px;margin:0;font-weight:650}.explanation-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:12px}select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:10px 25px 10px 12px;max-width:180px}.languages{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.language{display:flex;align-items:center;gap:13px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:18px 15px;color:var(--ink);transition:background .15s,border-color .15s}.language:hover{border-color:#8b9f73}.language.selected{border:2px solid var(--ink);padding:17px 14px;background:#eff3e6}.language-glyph{width:43px;height:49px;display:grid;place-items:center;font-size:28px;background:#f2f1e9;border-radius:10px}.language b{font-size:14px;font-weight:650}.language small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.radio{width:16px;height:16px;border:1px solid #b5bdad;border-radius:50%;margin-left:auto;flex-shrink:0}.selected .radio{border:5px solid var(--ink);background:var(--accent)}.mode-heading{margin-top:36px}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mode{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:transparent;border:1px solid var(--line);border-radius:16px;padding:24px;color:var(--ink);position:relative;transition:background .15s}.mode.selected{background:var(--paper);border-color:var(--ink);box-shadow:0 4px 0 var(--ink)}.mode:hover{background:#fff}.mode-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#eef1e2;font-size:26px;margin-bottom:19px}.mode:nth-child(2) .mode-icon{background:#f6e4d7}.mode:nth-child(3) .mode-icon{background:#e5e8f5}.mode b{font-size:17px;margin-bottom:10px}.mode>span:not(.mode-icon){font-size:13px;line-height:1.7;max-width:230px;color:var(--muted)}.mode small{font-size:9px;letter-spacing:1px;color:#74845d;margin-top:20px}.launch{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}.launch p{font-size:12px;color:var(--muted)}.primary,.secondary{border:0;border-radius:10px;min-height:49px;padding:13px 27px;background:var(--ink);color:white;font-weight:600;font-size:14px;display:inline-flex;justify-content:center;gap:30px;align-items:center}.primary:hover{background:#2d5746}.primary:disabled{opacity:.4}.secondary{background:#ecf0e3;color:var(--ink);border:1px solid var(--line)}.primary span{font-size:21px;color:var(--accent)}#status{font-size:13px;line-height:1.8}#status:empty{display:none}.how{padding:48px 0 52px;margin-top:45px;border-top:1px solid var(--line)}.how>.eyebrow{color:#84906f}.how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:20px}.how p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8;display:flex;gap:15px}.how b{color:#8c9b74;font-size:14px;font-weight:500}footer{display:flex;gap:30px;align-items:center;min-height:115px;border-top:1px solid var(--line);font-size:11px}footer .brand{font-size:16px;white-space:nowrap}footer p{max-width:550px;line-height:1.7;color:var(--muted)}.text-button{border:0;background:none;color:var(--muted);padding:10px 0;font-size:12px}footer button{margin-left:auto;white-space:nowrap}.game{max-width:820px;margin:40px auto 70px}.game-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.game-top>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.progress{height:5px;background:#e4e8dc;border-radius:5px;margin:15px 0 32px;overflow:hidden}#progress-fill{height:100%;background:#89a848;transition:width .2s}.question-card{padding:35px 42px;background:var(--paper);border:1px solid var(--line);border-radius:24px}.question-card h1{font-size:28px;letter-spacing:-1px;margin-top:13px;line-height:1.4}.clue{background:#f1f4e9;border-radius:15px;padding:22px 25px;position:relative;min-height:130px;display:flex;align-items:center;gap:18px}.clue>span{font-family:Georgia,serif;font-size:72px;color:#a9bb7b;line-height:1}.clue p{font-size:20px;line-height:1.8;margin:0;word-break:keep-all;overflow-wrap:anywhere}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.answer{min-height:94px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);display:grid;grid-template-columns:25px 1fr;align-content:center;gap:4px 12px;text-align:left;padding:16px}.answer:not(:disabled):hover{border-color:var(--ink);background:#f4f6ed}.answer b{font-size:22px;overflow-wrap:anywhere}.answer small{grid-column:2;font-size:11px;color:var(--muted)}.answer-number{grid-row:span 2;font-size:10px;padding-top:6px;color:var(--muted)}.answer.correct{border:2px solid #648442;background:#edf5dd;padding:15px}.answer.wrong{border:2px solid #ae6551;background:#fff1e9;padding:15px}.answer:disabled{opacity:1}.feedback{margin-top:22px;border-left:3px solid #88a94a;padding:5px 0 5px 19px;font-size:14px;line-height:1.8}.feedback.is-wrong{border-color:#d49570}.feedback p{margin:10px 0;color:var(--muted)}.feedback a{font-size:12px;text-underline-offset:4px}.question-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;min-height:50px}#keyboard-hint{font-size:10px;color:var(--muted)}.result{max-width:740px;margin:55px auto 80px;text-align:center}.result-medal{width:96px;height:96px;border-radius:50%;background:var(--accent);margin:28px auto 20px;font-size:74px;line-height:96px}.result h1{font-size:39px;letter-spacing:-1.5px}.result-score b{font-size:90px;font-weight:600;letter-spacing:-5px}.result-score span{font-size:20px;color:var(--muted);margin-left:12px}.result>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8}.result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:25px 0}.result-actions .text-button{flex-basis:100%}.result-review{text-align:left;margin-top:40px}.result-review h2{font-size:22px;margin-bottom:20px}.result-review a{display:flex;gap:25px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.result-review b{min-width:85px;font-size:20px}.result-review span{font-size:13px;color:var(--muted);line-height:1.8}.result-ad{margin-top:180px;min-height:100px}.result-ad>small{color:var(--muted)}#share-status{overflow-wrap:anywhere;white-space:pre-line}.no-script{padding:25px;background:#f2d7bc}button{touch-action:manipulation}h1:focus{outline:none}
@media(min-width:900px){html[lang=ko] .hero h1{font-size:59px;line-height:1.2;letter-spacing:-3px}}
@media(max-width:900px){.site-head,main,footer{padding-inline:24px}.hero{grid-template-columns:1.1fr 1fr}.hero h1{font-size:53px}.art{transform:scale(.8);transform-origin:center;left:-25px}.dashboard{gap:20px;padding:20px}.dashboard>div{min-width:100px}.dashboard p{display:none}.languages{grid-template-columns:1fr 1fr}.mode{padding:19px}.brand small{display:none}}
@media(max-width:600px){.site-head,main,footer{padding-inline:20px}.site-head{height:78px}.brand{font-size:18px}.site-head nav{gap:14px;font-size:11px}.brand-mark{width:30px;height:30px;font-size:26px}.hero{display:block;padding:33px 0 26px;min-height:0}.hero h1{font-size:49px;letter-spacing:-2.5px;margin:20px 0}.intro{font-size:14px;max-width:340px}.hero-tags{margin-top:20px;gap:6px}.hero-tags span{font-size:10px;padding:6px 10px}.art{height:230px;width:340px;max-width:100%;transform:scale(.72);transform-origin:top left;left:calc(50% - 133px);margin-top:30px;margin-bottom:-25px}.art-caption{bottom:-75px;left:70px;white-space:nowrap}.s1{right:-50px}.dashboard{justify-content:space-between;gap:5px;padding:15px}.dashboard>div{min-width:0;display:block}.dashboard strong{font-size:26px;display:block}.dashboard span{font-size:10px}.setup{padding-top:33px}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading h2{font-size:23px}.explanation-label{width:100%;justify-content:space-between}.languages{gap:9px}.language{padding:14px 10px;gap:8px}.language.selected{padding:13px 9px}.language-glyph{width:35px;height:42px;font-size:24px}.language b{font-size:12px}.language small{font-size:9px}.radio{width:13px;height:13px}.selected .radio{border-width:4px}.modes{grid-template-columns:1fr;gap:12px}.mode{padding:17px 18px;display:grid;grid-template-columns:38px 1fr;gap:3px 15px}.mode-icon{grid-row:span 3;margin:0}.mode b{margin:0;font-size:16px}.mode>span:not(.mode-icon){max-width:none;font-size:12px}.mode small{margin-top:5px;font-size:8px}.launch{flex-direction:column;gap:8px;margin-top:23px}.launch .primary{width:100%;justify-content:space-between}.launch p{font-size:11px}.how{margin-top:30px;padding-block:30px}.how h2{font-size:23px}.how>div{grid-template-columns:1fr;gap:0;margin-top:12px}.how p:not(.eyebrow){margin:7px 0}footer{flex-wrap:wrap;gap:8px;padding-top:23px;padding-bottom:23px}footer p{order:3;margin:0;font-size:10px}.game{margin-top:20px}.game-top>span{font-size:8px;letter-spacing:0}.question-card{padding:23px 17px;border-radius:16px}.question-card h1{font-size:22px}.clue{padding:18px 15px;gap:10px}.clue p{font-size:17px}.clue>span{font-size:50px}.answers{gap:9px}.answer{padding:12px;gap:4px;grid-template-columns:15px 1fr;min-height:88px}.answer b{font-size:19px}.answer.correct,.answer.wrong{padding:11px}.question-bottom{flex-direction:column;align-items:stretch;gap:10px}.question-bottom .primary{width:100%}#keyboard-hint{display:none}.feedback{font-size:13px;padding-left:12px}.result{margin-top:35px}.result h1{font-size:31px}.result-score b{font-size:78px}.result-actions{flex-direction:column}.result-actions .text-button{flex-basis:auto}.result-review a{gap:12px}.result-review b{min-width:65px;font-size:17px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.art-caption{display:none}}
/* Decorative orbits stay inside small screens without clipping game controls. */
@media(max-width:600px){.hero{overflow:hidden}}
/* Full interface localization: allow longer labels and complex-script shaping. */
.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}.ui-language-form{margin:0;display:flex;align-items:center}.site-head nav{align-items:center}.ui-language-form select{font-size:12px;max-width:165px}.language>span:not(.language-glyph):not(.radio){min-width:0}.language b,.language small{overflow-wrap:anywhere}.hero-copy{min-width:0}.hero h1{overflow-wrap:anywhere}html[lang=ne] .hero h1,html[lang=km] .hero h1{letter-spacing:0;line-height:1.4;font-size:48px}html[lang=ne] .eyebrow,html[lang=km] .eyebrow,html[lang=ne] .mode small,html[lang=km] .mode small{letter-spacing:0;line-height:1.8}html[lang=ne] h2,html[lang=km] h2{letter-spacing:0;line-height:1.5}.dashboard span{overflow-wrap:anywhere}.game-top>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.site-head{height:auto;min-height:78px;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:16px}.site-head nav{flex:1;justify-content:flex-end;gap:12px}.ui-language-form select{max-width:145px;padding:8px}.site-head nav>a{max-width:125px}.hero h1{font-size:43px}html[lang=ne] .hero h1,html[lang=km] .hero h1{font-size:35px}.dashboard>div{flex:1;min-width:0}.explanation-label{flex-wrap:wrap;gap:8px}.mode b,.mode>span{min-width:0;overflow-wrap:anywhere}.game-top{align-items:flex-start}.game-top>button{max-width:100px;text-align:left}.game-top>b{white-space:nowrap}.result h1{overflow-wrap:anywhere}}
@font-face{font-family:Quest Khmer;src:url('fonts/NotoSansKhmer-Regular.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}
@font-face{font-family:Quest Khmer;src:url('fonts/NotoSansKhmer-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}
@font-face{font-family:Quest Devanagari;src:url('fonts/NotoSansDevanagari-Regular.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+0900-097F,U+A8E0-A8FF,U+200B-200D,U+25CC}
@font-face{font-family:Quest Devanagari;src:url('fonts/NotoSansDevanagari-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap;unicode-range:U+0900-097F,U+A8E0-A8FF,U+200B-200D,U+25CC}
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Quest Khmer","Quest Devanagari","Noto Sans",sans-serif}
/* ---------------------------------------------------------------- v2: game feel */
.icon-button{border:1px solid var(--line);background:var(--paper);border-radius:10px;width:38px;height:38px;display:grid;place-items:center;font-size:17px;padding:0}
.icon-button[aria-pressed=false]{opacity:.55}
.quick{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;padding:42px 0 30px}
.quick h1{font-size:60px;margin:14px 0 18px}
.player{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip-stat{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:7px 13px;font-size:13px}
.chip-stat b{font-size:15px}
.goal{display:flex;align-items:center;gap:9px;min-width:200px;flex:1}
.goal-bar{flex:1;height:10px;background:#e4e8dc;border-radius:10px;overflow:hidden;max-width:180px}
.goal-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#89a848,#d8ed87);border-radius:10px;transition:width .6s cubic-bezier(.2,.9,.3,1.2)}
.goal small{font-size:11px;color:var(--muted);white-space:nowrap}
.play-button{grid-row:span 2;border:0;border-radius:24px;background:var(--ink);color:#fff;display:flex;align-items:center;gap:18px;padding:26px 28px;text-align:left;box-shadow:0 7px 0 #0d2420;transition:transform .08s,box-shadow .08s;min-height:120px}
.play-button:hover{background:#21524a}
.play-button:active{transform:translateY(5px);box-shadow:0 2px 0 #0d2420}
.play-button:disabled{opacity:.5}
.play-icon{width:62px;height:62px;flex-shrink:0;border-radius:50%;background:var(--accent);color:var(--ink);display:grid;place-items:center;font-size:26px;padding-left:5px;animation:breathe 2.4s ease-in-out infinite}
.play-button b{display:block;font-size:22px;letter-spacing:-.5px}
.play-button small{display:block;font-size:12px;color:#c6d6c4;margin-top:4px}
.quick #status{grid-column:1/-1}
@keyframes breathe{50%{transform:scale(1.08);box-shadow:0 0 0 10px #d8ed8733}}
.dex{padding:44px 0 10px}
.dex-legend{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}
.dex-legend span{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:8px}
.dex-legend .b1,.dex-tile.b1{background:#fff}.dex-legend .b1{border:1px solid var(--line)}
.dex-legend .b3,.dex-tile.b3{background:#eef5d8}
.dex-legend .b5,.dex-tile.b5{background:var(--accent)}
.dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.dex-tile{border:1px solid var(--line);border-radius:12px;padding:10px 8px;text-decoration:none;text-align:center;display:flex;flex-direction:column;gap:2px;min-width:0}
.dex-tile span{font-size:20px}.dex-tile b{font-size:13px;overflow-wrap:anywhere}
.dex-note{font-size:12px;color:var(--muted)}
/* game */
.game{max-width:760px;margin:22px auto 70px;position:relative}
.game-top{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center}
.game-top .progress{margin:0;height:12px;border-radius:12px}
#progress-fill{border-radius:12px;background:linear-gradient(90deg,#89a848,#b9d66a);transition:width .35s cubic-bezier(.2,.9,.3,1.2)}
#exit{font-size:20px;padding:4px 8px;color:var(--muted)}
.xp-counter{font-size:14px;white-space:nowrap;min-width:60px;text-align:right}
.game-top .combo{background:#fff1e4;color:#b4561e;border:1px solid #f3cfb2;border-radius:30px;padding:3px 10px;font-weight:700;font-size:13px;white-space:nowrap}
.combo.bump{animation:bump .35s cubic-bezier(.2,1.6,.4,1)}
@keyframes bump{40%{transform:scale(1.35)}}
.timer{position:relative;height:30px;background:#e4e8dc;border-radius:30px;margin-top:12px;overflow:hidden}
.timer i{display:block;height:100%;background:#89a848;transition:width .2s linear}
.timer.hurry i{background:#d4734a;animation:pulse .5s infinite alternate}
.timer span{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:13px}
@keyframes pulse{to{opacity:.6}}
.question-card{margin-top:18px;transition:border-color .2s}
.question-card.boss{border:2px solid #b4561e;background:linear-gradient(180deg,#fff7ef,#fff 120px)}
.question-card h1{margin:8px 0 16px}
.question-card.pop{animation:pop .3s cubic-bezier(.2,1.6,.4,1)}
.question-card.shake{animation:shake .38s}
@keyframes pop{40%{transform:scale(1.025)}}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.prompt{background:#f1f4e9;border-radius:15px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.prompt:empty{display:none}
.scene{font-size:18px;line-height:1.75;margin:0}
.sentence-row{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}
.sentence{font-size:24px;line-height:1.55;margin:0;font-weight:600;letter-spacing:-.3px}
.sentence mark{background:var(--accent);border-radius:6px;padding:0 4px;color:inherit}
.blank{display:inline-block;min-width:3.2em;border-bottom:3px solid var(--ink);color:transparent;margin:0 2px}
.reading{font-size:12px;color:var(--muted);margin:0;letter-spacing:.2px}
.hint{font-size:14px;color:var(--ink);margin:0;opacity:.85}
.speak{border:1px solid var(--line);background:#fff;border-radius:50%;width:42px;height:42px;flex-shrink:0;font-size:18px;display:grid;place-items:center;padding:0}
.speak:active{transform:scale(.92)}
.answers{margin-top:18px}
.answers.two{grid-template-columns:1fr 1fr}
.answer{transition:transform .08s,border-color .15s,background .15s;min-height:76px;box-shadow:0 3px 0 var(--line)}
.answer:not(:disabled):active{transform:translateY(3px);box-shadow:none}
.answer.long b{font-size:15px;line-height:1.45;font-weight:600}
.answer.correct{animation:pop .3s cubic-bezier(.2,1.6,.4,1);box-shadow:0 3px 0 #648442}
.answer.wrong{box-shadow:0 3px 0 #ae6551}
.answers.two .answer b{font-size:26px}
.meet{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:6px 0}
.meet .glyph{font-size:44px;width:84px;height:84px;border-radius:24px;background:var(--accent);display:grid;place-items:center;animation:pop .45s cubic-bezier(.2,1.6,.4,1)}
.meet-word{display:flex;align-items:center;gap:12px}
.meet-word b{font-size:40px;letter-spacing:-1px}
.meet-word small{font-size:13px;color:var(--muted)}
.meet-meaning{font-size:19px;font-weight:650;margin:0}
.meet-image{font-size:14px;color:var(--muted);margin:0;max-width:46ch}
.meet-example{background:#fff;border-radius:12px;padding:12px 16px;margin-top:6px;width:100%}
.meet-example .sentence{font-size:19px}
.meet-go{grid-column:1/-1;width:100%}
.feedback{animation:rise .25s ease-out}
.feedback .sentence{font-size:17px;margin:8px 0 2px}
.feedback p{margin:6px 0}
.fb-word{color:var(--ink)!important;font-size:15px}
.fb-word b{font-size:17px}
.fb-picked{background:#fff1e9;border-radius:8px;padding:6px 10px;color:#8a4a32!important}
.fb-contrast{background:#f1f4e9;border-radius:8px;padding:6px 10px;color:var(--ink)!important}
@keyframes rise{from{opacity:0;transform:translateY(6px)}}
.fx{position:absolute;inset:0;pointer-events:none;overflow:visible}
.float{position:absolute;transform:translate(-50%,0);font-weight:800;font-size:22px;color:#4f7a22;text-shadow:0 2px 0 #fff;animation:float .9s ease-out forwards}
@keyframes float{to{transform:translate(-50%,-70px);opacity:0}}
.confetti{position:absolute;top:40%;width:9px;height:14px;border-radius:2px;animation:confetti 1s cubic-bezier(.2,.7,.4,1) forwards}
@keyframes confetti{to{transform:translate(var(--dx),var(--dy)) rotate(540deg);opacity:0}}
/* result */
.stars{font-size:48px;letter-spacing:6px;color:#e2a33b;margin:18px 0 0;animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.result-score b{font-size:84px}
.emoji-grid{font-size:24px;line-height:1.3;letter-spacing:2px;white-space:pre-line;margin:6px 0 14px}
.level-row{display:flex;align-items:center;gap:12px;max-width:440px;margin:0 auto;font-size:13px}
.level-bar{flex:1;height:12px;background:#e4e8dc;border-radius:12px;overflow:hidden}
.level-bar i{display:block;height:100%;background:linear-gradient(90deg,#89a848,#d8ed87);transition:width 1s cubic-bezier(.2,.9,.3,1.2)}
.level-row small{color:var(--muted);white-space:nowrap}
.result-stats{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 4px}
.result-stats li{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 6px;display:flex;flex-direction:column;gap:2px}
.result-stats b{font-size:22px}.result-stats span{font-size:11px;color:var(--muted)}
@media(max-width:900px){.quick{grid-template-columns:1fr}.quick h1{font-size:46px}.play-button{grid-row:auto}}
@media(max-width:600px){
  .quick{padding:18px 0 14px;gap:14px}
  .quick h1{font-size:34px;letter-spacing:-1.5px;margin:8px 0 12px}
  .play-button{padding:18px 18px;min-height:92px;border-radius:20px}
  .play-icon{width:52px;height:52px;font-size:22px}
  .play-button b{font-size:19px}
  .goal{min-width:100%}
  .setup{padding-top:20px}
  .game{margin-top:12px}
  .game-top{gap:8px}
  .question-card h1{font-size:19px}
  .prompt{padding:15px 14px}
  .scene{font-size:16px}
  .sentence{font-size:20px}
  .answer{min-height:64px}
  .answer.long b{font-size:14px}
  .result-stats{grid-template-columns:repeat(2,1fr)}
  .stars{font-size:40px}
  .emoji-grid{font-size:20px}
  .site-head{min-height:64px;padding-top:10px;padding-bottom:10px}
}
html[lang=ne] .quick h1,html[lang=km] .quick h1{letter-spacing:0;line-height:1.35}
@media(prefers-reduced-motion:reduce){.play-icon,.question-card.pop,.question-card.shake,.answer.correct,.combo.bump,.stars,.meet .glyph{animation:none!important}.float{animation-duration:.01s}}
.result-review a{display:grid;grid-template-columns:minmax(70px,max-content) 1fr;gap:6px 16px;align-items:baseline}
.result-review b{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.site-head{flex-wrap:nowrap;gap:8px}.site-head .brand small{display:none}.site-head nav{gap:8px}.site-head nav>a{font-size:11px;white-space:nowrap}.ui-language-form select{max-width:112px;font-size:11px;padding:7px 6px}.icon-button{width:34px;height:34px}.brand{font-size:16px;gap:8px}.brand-mark{width:28px;height:28px;font-size:24px}}
#exit{min-width:44px;min-height:44px}
@media(max-width:360px){.site-head nav>a{display:none}.ui-language-form select{max-width:104px}}
.site-head nav{min-width:0}
/* R2 */
.game-top{grid-template-columns:auto 1fr auto auto auto}
.vs{font-size:12px;font-weight:700;color:#b4561e;white-space:nowrap}.vs.ahead{color:#4f7a22}
.q-head{display:flex;align-items:center;gap:8px;margin:0}
.q-head .eyebrow{margin:0}
.new-badge{background:#e8a57b;color:#3b1d0c;font-size:10px;font-weight:800;letter-spacing:1px;border-radius:6px;padding:2px 7px;animation:bump .4s}
.friend{grid-column:1/-1;background:#fff1e4;border:1px solid #f3cfb2;border-radius:14px;padding:10px 14px;font-weight:650;margin:0;font-size:14px}
.result-vs{font-size:18px;font-weight:700;color:#4f7a22;margin:6px 0}.result-vs.lost{color:#b4561e}
.fb-more{margin-top:6px;font-size:13px}
.fb-more summary{cursor:pointer;color:var(--muted);font-size:12px;padding:4px 0}
.fb-more[open] summary{margin-bottom:4px}
.timer{overflow:visible}
.time-fx{position:absolute;right:10px;top:-4px;font-weight:800;font-size:15px;color:#4f7a22;animation:float .7s ease-out forwards}
.time-fx.minus{color:#b4561e}
@media(max-width:600px){
  .question-bottom{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--paper) 30%);padding:12px 0 calc(10px + env(safe-area-inset-bottom));margin:10px -2px 0;z-index:5}
  .question-bottom:has(#next[hidden]){position:static;padding:0;min-height:0;margin:0}
  .feedback{margin-top:14px}
}
.feedback.is-wrong .fb-word,.feedback.is-wrong .fb-picked{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.greet{grid-column:1/-1;margin:0;background:#eef5d8;border:1px solid #d5e4a8;border-radius:14px;padding:10px 14px;font-weight:650;font-size:14px}
.greet.lost{background:#fff1e4;border-color:#f3cfb2}
.mode-chips{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mode-chips button{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:10px 6px;font-size:14px;font-weight:650;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:5px;min-height:46px;box-shadow:0 3px 0 var(--line)}
.mode-chips button:active{transform:translateY(3px);box-shadow:none}
.mode-chips button.selected{border-color:var(--ink)}
.mode-chips b{font-size:11px;background:var(--accent);border-radius:20px;padding:0 6px;min-width:0}
.mode-chips b:empty{display:none}
.vs{font-size:14px}
.meet-known{grid-column:1/-1;justify-self:center;font-size:13px}
.game-top .vs{font-size:14px;letter-spacing:0}
.feedback.is-wrong .fb-word,.feedback.is-wrong .fb-picked{-webkit-line-clamp:1}
