/* Language Learner — split from games.html in 3.46.0 */
.language-panel{display:none;max-width:680px;margin:0 auto}
.language-panel.active{display:block}
.lang-back{border:0;background:transparent;color:#aeb7cd;padding:10px 2px 14px;font-weight:700;cursor:pointer}
.lang-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 10px;scrollbar-width:none}
.lang-tabs::-webkit-scrollbar{display:none}
.lang-tab{flex:0 0 auto;min-height:42px;border-radius:999px;padding:0 14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#aeb7ca;font-size:12px;font-weight:800;cursor:pointer}
.lang-tab.active{background:rgba(115,118,255,.15);border-color:rgba(115,118,255,.5);color:#d9dbff}
.lang-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lang-mode{min-height:150px;border:1px solid var(--line);border-radius:20px;padding:16px;background:rgba(255,255,255,.035);color:white;text-align:left;cursor:pointer}
.lang-mode strong{display:block;font-family:'Nunito',sans-serif;font-size:15px;margin:12px 0 4px}
.lang-mode span{font-size:10px;color:var(--muted);line-height:1.35;display:block}
.lang-mode b{font-size:26px}
.language-game{display:none;margin-top:14px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.035);padding:20px}
.language-game.active{display:block}
.language-prompt{font-family:'Nunito',sans-serif;text-align:center;font-size:30px;font-weight:900;margin:22px 0 8px}
.language-hint{text-align:center;font-size:11px;color:var(--muted);min-height:20px;margin-bottom:18px}
.language-progress{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.language-progress>div{height:100%;background:linear-gradient(90deg,#7376ff,#a855f7);width:0}
.language-score{text-align:center;font-size:11px;color:#aab4c9;margin-top:8px}
.language-result{display:none;text-align:center;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.035);padding:28px;margin-top:14px}
.language-result.active{display:block}
.language-result .big{font-family:'Nunito',sans-serif;font-size:26px;font-weight:900}
.language-result .pts{color:#ffe09b;font-weight:900;margin:8px 0 16px}
.language-result button{min-height:48px;padding:0 20px;border:0;border-radius:14px;background:#7073ff;color:white;font-weight:800;cursor:pointer}
@media (max-width:680px){.lang-modes{grid-template-columns:1fr}
.lang-mode{min-height:92px;display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center}
.lang-mode b{grid-row:1/3}
.lang-mode strong{margin:0}
.lang-mode span{margin-top:2px}}
.language-panel{display:none;max-width:760px;margin:0 auto}
.language-panel.active{display:block}
.language-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 14px}
.language-topbar .lang-back{width:44px;height:44px;padding:0;margin:0;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.055);display:grid;place-items:center;color:#fff;font-size:18px}
.language-title-wrap{text-align:center;min-width:0}
.language-title-wrap strong{display:block;font:900 16px/1.2 'Nunito',sans-serif}
.language-title-wrap span{display:block;margin-top:2px;font-size:10px;color:var(--muted)}
.language-setup,.language-game-v2,.language-result-v2{display:none}
.language-setup.active,.language-game-v2.active,.language-result-v2.active{display:block}
.language-setup-card,.language-result-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,rgba(17,24,39,.96),rgba(12,18,31,.96));padding:18px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.language-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.language-kicker{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#b5b9ff;margin-bottom:4px}
.language-setup-head h2{font:900 21px/1.08 'Nunito',sans-serif;margin:0;letter-spacing:-.35px}
.language-pair-block{padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:rgba(255,255,255,.025)}
.language-field-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 9px}
.language-field-label span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#7e8aa3}
.language-field-label strong{font-size:11px;color:#e7ebf5}
.language-select-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.language-select-btn{min-width:0;min-height:66px;padding:8px 5px;border:1px solid rgba(255,255,255,.085);border-radius:14px;background:rgba(255,255,255,.035);color:#98a3ba;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.language-select-btn.active{background:rgba(115,118,255,.14);border-color:rgba(130,134,255,.6);color:#fff;box-shadow:inset 0 0 0 1px rgba(165,168,255,.08)}
.language-select-btn .flag{width:34px;height:24px;display:grid;place-items:center;font-size:0;line-height:0}
.qf-language-flag-svg{display:block;width:34px;height:23px;border-radius:4px;overflow:hidden;box-shadow:0 2px 7px rgba(0,0,0,.28);flex:0 0 auto}
.language-select-btn .name{font-size:8.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.language-swap-wrap{display:flex;justify-content:center;margin:10px 0}
.language-swap-btn{min-height:36px;padding:0 13px;border:1px solid rgba(112,231,221,.24);border-radius:999px;background:rgba(45,212,191,.08);color:#d8fffa;font-size:10px;font-weight:900;cursor:pointer}
.language-swap-btn span{font-size:15px;margin-right:5px}
.language-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.language-setting-group{border:1px solid rgba(255,255,255,.075);border-radius:16px;padding:10px;background:rgba(255,255,255,.025)}
.language-round-group{grid-column:1/-1}
.language-setting-title{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#7f8aa3;margin-bottom:7px}
.language-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
#language-mode-options{grid-template-columns:repeat(4,1fr)}
.language-segment button{min-height:38px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.035);color:#9aa5ba;font-size:10px;font-weight:900;cursor:pointer}
.language-segment button.active{background:linear-gradient(135deg,rgba(115,118,255,.18),rgba(168,85,247,.13));border-color:rgba(130,134,255,.52);color:#fff}
.language-record-chip{margin:12px 0 9px;min-height:34px;padding:7px 10px;border:1px solid rgba(246,196,83,.18);border-radius:999px;background:rgba(246,196,83,.06);color:#e6d49b;font-size:9.5px;font-weight:800;text-align:center}
.language-start-btn,.language-primary-btn{width:100%;min-height:50px;border:0;border-radius:15px;background:linear-gradient(135deg,#666aff,#a855f7);color:#fff;font:900 13px/1 'Plus Jakarta Sans',sans-serif;cursor:pointer;box-shadow:0 10px 26px rgba(102,106,255,.17)}
.language-game-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:10px}
.language-route-pill{min-width:0;text-align:center;min-height:34px;padding:6px 10px;border-radius:999px;background:rgba(115,118,255,.1);border:1px solid rgba(115,118,255,.22);color:#e4e6ff;font-size:9.5px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px;overflow:hidden}
.language-route-side{min-width:0;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.language-route-side span:last-child{overflow:hidden;text-overflow:ellipsis}
.language-route-arrow{flex:0 0 auto;color:#aeb2ff}
.language-route-pill .route-flag{width:20px;height:14px;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.language-mini-btn{min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.045);color:#cbd2e2;font-size:9px;font-weight:900;cursor:pointer}
.language-score-row-v2{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;margin:0 1px 8px}
.language-counter{font-size:10px;color:#8995ad;font-weight:800}
.language-streak-v2,.language-score-v2{min-height:30px;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:900}
.language-streak-v2{background:rgba(246,196,83,.09);border:1px solid rgba(246,196,83,.17);color:#f8df9b}
.language-score-v2{background:rgba(115,118,255,.1);border:1px solid rgba(115,118,255,.2);color:#d8d9ff}
.language-progress-v2{height:6px;border-radius:999px;background:rgba(255,255,255,.075);overflow:hidden;margin-bottom:10px}
.language-progress-v2>div{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#6f73ff,#b15cff);transition:width .3s ease}
.language-question-card{position:relative;border:1px solid rgba(255,255,255,.085);border-radius:22px;background:linear-gradient(145deg,rgba(21,29,47,.94),rgba(13,19,33,.94));padding:18px;margin-bottom:10px}
.language-question-meta{display:flex;justify-content:space-between;gap:8px;font-size:8px;font-weight:900;letter-spacing:.1em;color:#707e99}
.language-prompt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:16px}
.language-prompt-lang{font-size:9px;font-weight:900;letter-spacing:.09em;color:#8996af;margin-bottom:5px}
.language-prompt-v2{font:900 clamp(24px,6vw,36px)/1.18 'Nunito',sans-serif;color:#fff;overflow-wrap:anywhere}
.language-translate-to{margin-top:14px;color:#9fa8ff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.language-listen-btn{width:58px;height:58px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.055);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}
.language-listen-btn i{font-size:20px}
.language-listen-btn span{font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.language-options-v2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.language-option{min-height:62px;padding:11px 12px;border:1px solid rgba(255,255,255,.095);border-radius:16px;background:rgba(255,255,255,.045);color:#f3f5fa;text-align:left;font-size:12px;font-weight:800;line-height:1.35;cursor:pointer;transition:.15s}
.language-option.correct{border-color:rgba(50,213,131,.52);background:rgba(50,213,131,.13);color:#c8f8de}
.language-option.wrong{border-color:rgba(255,92,124,.52);background:rgba(255,92,124,.12);color:#ffd0da}
.language-option.dim{opacity:.42}
.language-option:disabled{cursor:default}
.language-spelling-form{display:grid;gap:7px;margin-top:2px}
.language-spelling-form label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#8390a9}
.language-spelling-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.language-spelling-form input{min-width:0;height:52px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.045);color:#fff;padding:0 14px;font:800 16px/1 'Plus Jakarta Sans',sans-serif;outline:none}
.language-spelling-form input:focus{border-color:rgba(130,134,255,.65);box-shadow:0 0 0 3px rgba(115,118,255,.1)}
.language-spelling-form button{min-width:82px;border:0;border-radius:15px;background:linear-gradient(135deg,#696cff,#9655ef);color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.language-spelling-form input:disabled,.language-spelling-form button:disabled{opacity:.55;cursor:default}
.language-feedback-v2{min-height:31px;padding:8px 4px 2px;text-align:center;font-size:11px;font-weight:900}
.language-feedback-v2.good{color:#80e7b4}
.language-feedback-v2.bad{color:#ff9db0}
.language-answer-listen{display:flex;align-items:center;justify-content:center;gap:6px;margin:5px auto 0;min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.04);color:#cdd4e5;font-size:9px;font-weight:900;cursor:pointer}
.language-result-card{text-align:center}
.language-result-flag{min-height:46px;display:grid;place-items:center}
.language-result-flag .qf-language-flag-svg{width:66px;height:44px;border-radius:7px;box-shadow:0 5px 16px rgba(0,0,0,.3)}
.language-result-card h2{font:900 26px/1.05 'Nunito',sans-serif;margin:6px 0}
.language-result-card>p{margin:0 auto 16px;max-width:520px;color:#8e9ab1;font-size:11px;line-height:1.5}
.language-result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 12px}
.language-result-stats>div{padding:10px 6px;border:1px solid rgba(255,255,255,.075);border-radius:14px;background:rgba(255,255,255,.03)}
.language-result-stats span{display:block;color:#77849f;font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.language-result-stats strong{display:block;margin-top:3px;font:900 14px/1.15 'Nunito',sans-serif}
.language-result-points{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 14px;border-radius:999px;background:rgba(246,196,83,.08);border:1px solid rgba(246,196,83,.19);color:#ffe39a;font-size:11px;font-weight:900;margin-bottom:8px}
.language-result-record{min-height:18px;color:#aab4ca;font-size:9.5px;margin-bottom:12px}
.language-review{display:grid;gap:7px;text-align:left;max-height:260px;overflow:auto;margin:0 auto 15px}
.language-review-title{font-size:10px;font-weight:900;color:#d8dfec;margin:2px 2px}
.language-review-item{padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025);font-size:9.5px;line-height:1.4}
.language-review-item .q{color:#8b97ae}
.language-review-item .a{color:#8ee5b9;font-weight:900}
.language-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.language-result-actions .language-primary-btn{grid-column:1/-1}
.language-secondary-btn{min-height:42px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.045);color:#d6dcea;font-size:10px;font-weight:900;cursor:pointer}
.language-audio-desktop{min-width:210px;border:1px solid rgba(255,255,255,.075);border-radius:15px;background:rgba(255,255,255,.025);padding:7px}
.language-audio-row{display:grid;grid-template-columns:66px 30px 1fr 34px;align-items:center;gap:5px;min-height:34px}
.language-audio-row+.language-audio-row{border-top:1px solid rgba(255,255,255,.06)}
.language-audio-label{font-size:8.5px;font-weight:900;color:#8793aa}
.language-audio-mute,.language-audio-step,.language-audio-mobile-toggle,.language-audio-close{border:0;display:grid;place-items:center;background:rgba(255,255,255,.055);color:#fff;cursor:pointer}
.language-audio-mute{width:30px;height:30px;border-radius:50%}
.language-audio-step{width:28px;height:28px;border-radius:9px}
.language-audio-range{width:100%;min-width:60px;accent-color:#7b7fff}
.language-audio-value{font-size:8.5px;font-weight:900;text-align:right;color:#ccd3e3}
.language-audio-mobile-slot{display:none}
.language-audio-mobile-toggle{width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.08)}
.language-audio-popup{display:none;position:absolute;right:0;top:50px;width:min(310px,calc(100vw - 40px));padding:10px;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:rgba(7,11,20,.97);box-shadow:0 16px 40px rgba(0,0,0,.4);z-index:50}
.language-audio-popup.open{display:grid;gap:7px}
.language-audio-popup-head{display:flex;align-items:center;justify-content:space-between}
.language-audio-popup-head strong{font-size:11px}
.language-audio-close{width:30px;height:30px;border-radius:50%}
.language-audio-popup .language-audio-row{grid-template-columns:56px 30px minmax(0,1fr) 36px}
@media (hover:hover) and (pointer:fine){.language-select-btn:hover,.language-segment button:hover,.language-option:hover:not(:disabled),.language-mini-btn:hover,.language-secondary-btn:hover{border-color:rgba(135,139,255,.38);background:rgba(115,118,255,.08)}}
@media(max-width:680px){.language-panel{position:relative}
.language-topbar{position:relative}
.language-audio-desktop-slot{display:none}
.language-audio-mobile-slot{display:block;position:relative}
.language-select-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.language-select-btn{min-height:62px}
.language-settings-grid{grid-template-columns:1fr}
.language-round-group{grid-column:auto}
.language-setup-card{padding:12px;border-radius:20px}
.language-pair-block{padding:10px}
.language-setup-head{margin-bottom:10px}
.language-setup-head h2{font-size:18px}
.language-question-card{padding:14px;border-radius:19px}
.language-options-v2{grid-template-columns:1fr}
.language-option{min-height:58px}
.language-result-stats{grid-template-columns:1fr 1fr}
.language-game-toolbar{grid-template-columns:auto minmax(0,1fr) auto}
.language-route-pill{padding-left:7px;padding-right:7px}
.language-audio-popup .language-audio-row{grid-template-columns:54px 30px minmax(0,1fr) 34px}
.language-review{max-height:none}
.language-result-card{padding:14px}
.language-result-actions{grid-template-columns:1fr}
.language-result-actions .language-primary-btn{grid-column:auto}}
@media(max-width:460px){#language-mode-options{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.language-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.language-prompt-v2{font-size:26px}
.language-listen-btn{width:52px;height:52px}
.language-game-toolbar{grid-template-columns:1fr 1fr}
.language-route-pill{grid-column:1/-1;grid-row:1;text-align:center}
.language-mini-btn{grid-row:2}
.language-score-row-v2{grid-template-columns:1fr auto auto}}
