:root{--bg:#0b0d12;--panel:#121620;--panel2:#171c28;--text:#f6f2e9;--muted:#98a1b2;--line:rgba(255,255,255,.09);--gold:#f0c75e;--red:#d84a52;--good:#35c98b;--bad:#ff6674;--shadow:0 22px 75px rgba(0,0,0,.42)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}body{min-height:100svh;overflow-x:hidden;background:radial-gradient(circle at 12% -5%,rgba(216,74,82,.13),transparent 30rem),radial-gradient(circle at 95% 10%,rgba(240,199,94,.1),transparent 28rem),#0b0d12}button{font:inherit}.de-shell{width:min(100%,760px);margin:auto;min-height:100svh;padding:max(14px,env(safe-area-inset-top)) 16px max(92px,calc(24px + env(safe-area-inset-bottom)))}.de-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:6px 0 15px}.de-back{color:#aeb7c7;text-decoration:none;border:1px solid var(--line);background:#111721;border-radius:12px;padding:10px 12px;font-size:9px;font-weight:900;letter-spacing:.06em}.de-top>div{text-align:center}.de-top b{display:block;font-size:13px}.de-top small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.de-flag{font-size:28px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.de-hero{border:1px solid var(--line);border-radius:28px;padding:27px 22px 22px;position:relative;overflow:hidden;background:linear-gradient(145deg,#171c27,#10141c 62%,#15130e);box-shadow:var(--shadow)}.de-hero:after{content:"";position:absolute;inset:auto -9% -38% 32%;height:65%;background:linear-gradient(90deg,#171717 0 33%,#b72f36 33% 66%,#d9aa31 66%);opacity:.08;transform:rotate(-8deg)}.flag-ribbon{font-size:21px;letter-spacing:8px;margin-bottom:14px}.eyebrow,.section-title>span,.challenge-kicker{font-size:8px;font-weight:950;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}.de-hero h1{font-size:clamp(39px,10vw,68px);line-height:.93;letter-spacing:-.055em;margin:9px 0 14px;position:relative;z-index:1}.de-hero h1 em{font-style:normal;color:#f0c75e}.de-hero p{max-width:55ch;color:var(--muted);line-height:1.55;font-size:11px;margin:0;position:relative;z-index:1}.hero-stats{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;position:relative;z-index:1}.hero-stats span{border:1px solid var(--line);background:#0d1118;border-radius:999px;padding:7px 10px;color:var(--muted);font-size:8px;font-weight:850}.hero-stats b{color:var(--text)}.rank-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;border:1px solid var(--line);background:#111620;border-radius:20px;padding:14px 16px;margin-top:10px}.rank-card span,.rank-mini span{font-size:8px;font-weight:900;color:var(--gold);letter-spacing:.12em}.rank-card b,.rank-card small,.rank-mini b,.rank-mini small{display:block}.rank-card b{font-size:15px;margin-top:2px}.rank-card small,.rank-mini small{font-size:8px;color:var(--muted);margin-top:3px}.rank-progress i{display:block;height:6px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}.rank-progress i span{display:block;height:100%;background:linear-gradient(90deg,#c83c44,var(--gold));border-radius:inherit}.rank-progress small{display:block;text-align:right;color:var(--muted);font-size:7px;margin-top:5px}.level-panel{margin-top:24px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 2px 9px}.section-title>b{font-size:13px}.difficulty-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.difficulty{min-width:0;border:1px solid var(--line);background:#111620;color:var(--text);border-radius:15px;padding:11px 7px;text-align:left}.difficulty b,.difficulty small{display:block}.difficulty b{font-size:10px}.difficulty small{font-size:6.8px;color:var(--muted);margin-top:3px;line-height:1.3}.difficulty.active{border-color:rgba(240,199,94,.5);background:linear-gradient(145deg,rgba(240,199,94,.13),rgba(183,47,54,.07));box-shadow:inset 0 0 0 1px rgba(240,199,94,.08)}.difficulty.active b{color:#ffe090}.level-note{display:flex;gap:8px;align-items:center;margin-top:8px;border-left:2px solid var(--gold);padding:7px 10px;background:rgba(240,199,94,.035);border-radius:0 10px 10px 0}.level-note b{font-size:9px;white-space:nowrap}.level-note span{font-size:8px;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:114px;border:1px solid var(--line);background:linear-gradient(145deg,#161c27,#0f141d);color:var(--text);border-radius:20px;padding:14px;text-align:left}.mode-card>span{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:#0b1018;border:1px solid rgba(240,199,94,.17);font-size:22px}.mode-card small,.mode-card b,.mode-card p{display:block}.mode-card small{font-size:7px;color:var(--gold);font-weight:900;letter-spacing:.07em;text-transform:uppercase}.mode-card b{font-size:13px;margin-top:3px}.mode-card p{font-size:8px;color:var(--muted);line-height:1.4;margin:5px 0 0}.mode-card>strong{color:var(--gold);font-size:20px}.mode-card.master{grid-column:1/3;border-color:rgba(240,199,94,.24);background:linear-gradient(135deg,rgba(183,47,54,.11),rgba(240,199,94,.08),#10141c)}.recommend{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:22px 0 0;border:1px dashed rgba(240,199,94,.24);border-radius:18px;padding:13px;background:rgba(240,199,94,.025)}.recommend>span{font-size:25px}.recommend b,.recommend small{display:block}.recommend b{font-size:11px}.recommend small{font-size:8px;color:var(--muted);line-height:1.5;margin-top:4px}.game-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:2px 0 14px}.game-progress>button{width:36px;height:36px;border:1px solid var(--line);background:#111721;color:var(--muted);border-radius:11px;font-size:20px}.game-progress i{height:7px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}.game-progress i span{display:block;height:100%;background:linear-gradient(90deg,#c83c44,#f0c75e);border-radius:inherit;transition:.2s}.game-progress>b{font-size:9px;color:var(--muted);min-width:38px;text-align:right}.challenge-card{border:1px solid var(--line);border-radius:26px;background:linear-gradient(155deg,#171d28,#0f141d);padding:22px;box-shadow:var(--shadow);min-height:58svh;display:flex;flex-direction:column}.challenge-card>h2{font-size:clamp(21px,5vw,31px);line-height:1.18;margin:9px 0 18px}.noun-stage{font-size:clamp(42px,11vw,68px);font-weight:950;letter-spacing:-.04em;text-align:center;margin:24px 0 28px;color:#fff4d0}.choice-list{display:grid;gap:9px;margin-top:auto}.choice{min-height:55px;border:1px solid var(--line);background:#0d121a;color:var(--text);border-radius:15px;padding:13px 14px;text-align:left;font-size:12px;font-weight:850}.choice.correct{border-color:rgba(53,201,139,.55);background:rgba(53,201,139,.1);color:#a4f0cd}.choice.wrong{border-color:rgba(255,102,116,.55);background:rgba(255,102,116,.09);color:#ffabb2}.choice:disabled{opacity:1}.feedback{border-radius:17px;margin-top:12px;padding:13px;border:1px solid var(--line)}.feedback.good{background:rgba(53,201,139,.07);border-color:rgba(53,201,139,.25)}.feedback.bad{background:rgba(255,102,116,.06);border-color:rgba(255,102,116,.24)}.feedback>b{font-size:13px}.feedback p{font-size:10px;margin:5px 0;color:var(--text)}.feedback small{display:block;color:var(--muted);font-size:8px;line-height:1.5}.feedback button,.check-btn,.reveal-btn{width:100%;margin-top:12px;min-height:49px;border:0;border-radius:14px;background:linear-gradient(135deg,#f0d276,#c59a35);color:#17130a;font-weight:950}.flash-word{text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:48svh}.flash-word>small{color:var(--gold);font-size:10px;text-transform:uppercase;font-weight:950}.flash-word h1{font-size:clamp(40px,12vw,74px);line-height:1;margin:12px 0 25px;letter-spacing:-.045em}.flash-answer{border:1px solid rgba(240,199,94,.2);background:rgba(240,199,94,.045);border-radius:18px;padding:15px}.flash-answer>b{display:block;font-size:23px}.flash-answer p{font-size:13px;line-height:1.45;margin:12px 0 5px}.flash-answer small{font-size:9px;color:var(--muted);line-height:1.45}.answer-actions,.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.answer-actions button,.result-actions button{min-height:50px;border-radius:14px;border:1px solid var(--line);background:#111721;color:var(--text);font-weight:900}.answer-actions .primary,.result-actions .primary{border:0;background:linear-gradient(135deg,#f0d276,#c59a35);color:#17130a}.translation-hint{color:var(--muted);font-size:11px;line-height:1.5;margin:-7px 0 14px}.sentence-built{min-height:90px;border:1px dashed rgba(240,199,94,.24);background:#0c1118;border-radius:17px;padding:10px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.sentence-built>span{margin:auto;color:#667083;font-size:9px}.sentence-built button,.word-bank button{border:1px solid var(--line);background:#171d28;color:var(--text);border-radius:11px;padding:9px 10px;font-size:10px;font-weight:800}.word-bank{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.word-bank button:disabled{opacity:.18}.listen-btn{display:grid;place-items:center;margin:10px auto 24px;width:min(100%,280px);min-height:115px;border-radius:24px;border:1px solid rgba(240,199,94,.25);background:radial-gradient(circle at 50% 40%,rgba(240,199,94,.13),rgba(183,47,54,.04));color:var(--text);font-size:31px}.listen-btn b{display:block;font-size:16px;margin-top:3px}.listen-btn small{font-size:8px;color:var(--muted)}.match-card h2{margin-bottom:8px}.match-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;margin-bottom:13px}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.match-tile{min-height:74px;border:1px solid var(--line);background:#101620;color:var(--text);border-radius:15px;padding:10px;font-size:10px;font-weight:850}.match-tile.selected{border-color:rgba(240,199,94,.6);background:rgba(240,199,94,.1)}.match-tile.done{opacity:.12;transform:scale(.96)}.match-tile.wrong{animation:shake .25s ease;border-color:var(--bad)}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.result{text-align:center;border:1px solid var(--line);border-radius:28px;padding:28px 20px;background:linear-gradient(145deg,#171c27,#10141c);box-shadow:var(--shadow)}.result-flag{font-size:67px}.result>span{display:block;color:var(--muted);font-size:8px;margin-top:10px}.result h1{font-size:70px;margin:5px 0;color:#ffe28c;letter-spacing:-.06em}.result>p{color:var(--muted);font-size:11px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:21px 0}.result-grid>div{border:1px solid var(--line);background:#0d121a;border-radius:15px;padding:12px 5px}.result-grid b,.result-grid small{display:block}.result-grid b{font-size:24px}.result-grid small{font-size:7px;color:var(--muted);margin-top:3px}.rank-mini{border:1px solid rgba(240,199,94,.18);background:rgba(240,199,94,.04);border-radius:17px;padding:12px;margin-bottom:12px}.rank-mini b{font-size:15px;margin-top:2px}.de-toast{position:fixed;z-index:999999;left:50%;top:max(18px,env(safe-area-inset-top));transform:translateX(-50%) translateY(-12px);opacity:0;pointer-events:none;background:#202735;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:9px;font-weight:900;transition:.18s}.de-toast.show{opacity:1;transform:translateX(-50%)}.mini-flag-burst{position:fixed;inset:0;pointer-events:none;z-index:999999;overflow:hidden}.mini-flag-burst span{position:absolute;left:var(--x);top:-40px;font-size:26px;animation:flagFall 1.8s var(--d) ease-in forwards;transform:rotate(var(--r))}@keyframes flagFall{to{top:108vh;transform:rotate(calc(var(--r) + 420deg))}}
@media(max-width:620px){.de-shell{padding-left:12px;padding-right:12px}.difficulty-tabs{grid-template-columns:1fr 1fr}.mode-grid{grid-template-columns:1fr}.mode-card.master{grid-column:auto}.rank-card{grid-template-columns:1fr}.match-grid{gap:6px}.challenge-card{padding:17px}.de-top{grid-template-columns:auto 1fr auto}.de-back{padding:9px 10px}.de-hero{padding:23px 18px 19px}.answer-actions,.result-actions{grid-template-columns:1fr 1fr}}
