:root{--bg: #0c0e15;--panel: #161925;--panel2: #1c2030;--line: #272c3e;--text: #f2f4fa;--muted: #8b91a7;--green: #58cc02;--green-d: #3f9a00;--red: #ff4b4b;--red-d: #c93636;--gold: #ffc800;--blue: #1cb0f6;--blue-d: #1289c2;--orange: #ff9600;--der: hsl(214, 88%, 58%);--die: hsl(350, 82%, 58%);--das: hsl(148, 62%, 58%);--verb: hsl(24, 92%, 58%);--adj: hsl(270, 70%, 58%);--adv: hsl(44, 92%, 58%);font-family:Nunito,ui-rounded,system-ui,-apple-system,sans-serif;font-weight:700;color:var(--text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(900px 500px at 50% -140px,#1a2144,transparent 70%),var(--bg)}button{font:inherit;color:inherit;cursor:pointer}h1,h2{margin:0;font-weight:900}h2{font-size:17px}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.grow{flex:1}.center{text-align:center}.page{max-width:760px;margin:0 auto;padding:18px 18px 64px;display:grid;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px}.g-m{color:var(--der)}.g-f{color:var(--die)}.g-n{color:var(--das)}.top{max-width:760px;margin:0 auto;padding:18px 18px 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.brand{display:flex;align-items:center;gap:8px;font-size:21px;font-weight:900;letter-spacing:-.3px}.brand .logo{flex:none;overflow:visible;filter:drop-shadow(0 6px 14px rgba(28,176,246,.28))}.brand-num{margin-left:-5px;background:linear-gradient(90deg,#8ee04e,#1cb0f6);-webkit-background-clip:text;background-clip:text;color:transparent}.tabs{position:relative;display:flex;gap:4px;padding:4px;margin-right:auto;border-radius:14px;background:#161925b8;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabs button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:7px 11px;border-radius:10px;color:var(--muted);font-weight:800;transition:color .25s}.tabs button:hover,.tabs button.on{color:var(--text)}.chips{display:flex;gap:6px}.chip{display:inline-flex;align-items:center;gap:5px;background:#161925b8;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:6px 10px;font-weight:800;font-size:13.5px;white-space:nowrap}.chip.gold{color:var(--gold)}.chip.streak:not(.lit){color:var(--muted)}.chip.streak:not(.lit) .gi{filter:grayscale(1);opacity:.55}.chip.streak:not(.lit) .gi *{animation:none}.chip.streak.lit .gi{filter:drop-shadow(0 0 5px rgba(255,150,0,.55))}button.chip{transition:border-color .15s,background .15s}button.chip:hover{border-color:#3a4160}.cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#66d910,#52c000);color:#fff;border:0;border-radius:16px;box-shadow:0 4px 0 var(--green-d),inset 0 2px #ffffff47;padding:14px 22px;font-size:16px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;text-shadow:0 1px 0 rgba(0,0,0,.15);transition:transform .08s,box-shadow .08s,filter .15s}.cta:hover{filter:brightness(1.08)}.cta:active{transform:translateY(4px);box-shadow:0 0 0 var(--green-d),inset 0 2px #ffffff47}.cta:disabled{filter:grayscale(1);opacity:.45;cursor:default;transform:none;animation:none}.cta.red{background:linear-gradient(180deg,#ff5e5e,#f04141);box-shadow:0 4px 0 var(--red-d),inset 0 2px #ffffff40}.cta.red:active{box-shadow:0 0 0 var(--red-d)}.cta.wide{width:100%}.big-cta{font-size:18px;padding:18px;animation:breathe 2.6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.015);filter:brightness(1.1)}}.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:none;border:2px solid var(--line);border-radius:16px;padding:12px 16px;color:var(--muted);font-weight:800;transition:color .15s,border-color .15s}.ghost-btn:hover{color:var(--text);border-color:#3a4160}.link{justify-self:center;display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted);font-weight:800;text-decoration:underline;text-underline-offset:3px}.icon{display:inline-grid;place-items:center;background:none;border:0;color:var(--muted);padding:6px;border-radius:12px;transition:color .15s,background .15s}.icon .gi{width:24px;height:24px;transition:transform .25s cubic-bezier(.3,1.5,.5,1)}.icon:hover{color:var(--text);background:#ffffff0f}.icon:hover .gi-close{transform:rotate(90deg)}.icon:hover .gi-back{transform:translate(-3px)}.bar{position:relative;height:16px;background:#ffffff12;box-shadow:inset 0 2px 4px #00000059;border-radius:999px;overflow:hidden}.bar .fill{position:relative;height:100%;min-width:16px;border-radius:999px;transition:width .5s cubic-bezier(.3,1.4,.5,1);background:repeating-linear-gradient(-45deg,rgba(255,255,255,.16) 0 8px,transparent 8px 16px) 0 0 / 22.63px 22.63px,linear-gradient(90deg,#58cc02,#89e219);box-shadow:0 0 14px #89e21973;animation:stripes .9s linear infinite}@keyframes stripes{to{background-position:22.63px 0,0 0}}.bar .fill:after{content:"";position:absolute;left:8px;right:8px;top:3px;height:4px;border-radius:99px;background:#ffffff59}.bar .fill:before{content:"";position:absolute;right:-2px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:radial-gradient(circle,#fffffff2,#fff0 68%);animation:head 1.2s ease-in-out infinite alternate}@keyframes head{to{opacity:.45;transform:scale(.7)}}select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:3px 6px;font:inherit}.art{position:relative;flex:none;width:100%;aspect-ratio:1;border-radius:22%;overflow:hidden;display:grid;place-items:center;container-type:inline-size;background-color:#222;background-size:cover;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 -18px 40px #00000040,0 10px 26px #00000059}.art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle at var(--mx, 28%) var(--my, 16%),rgba(255,255,255,.55),transparent 50%)}.art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.art .glyph{position:relative;z-index:3;font-size:50cqi;line-height:1;text-shadow:0 .06em .14em var(--glow);-webkit-user-select:none;user-select:none}.art.dark .glyph{text-shadow:0 0 .2em var(--glow),0 0 .5em var(--glow)}.art .glyph-img{position:relative;z-index:3;width:70cqi;height:70cqi;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 1.2cqi 2cqi rgba(0,0,0,.3))}.art.dark .glyph-img{filter:drop-shadow(0 0 3cqi var(--glow))}.art .glyph.q{font-family:Nunito,system-ui,sans-serif;font-weight:900;font-size:42cqi;color:#ffffffeb;text-shadow:0 4px 14px rgba(0,0,0,.4)}.art.locked{filter:saturate(.3) brightness(.5)}.art.tilt{transition:transform .18s ease-out;transform:perspective(700px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg))}.art.unlock{animation:unlock .75s cubic-bezier(.2,1.3,.4,1) both}@keyframes unlock{0%{transform:perspective(700px) rotateY(170deg) scale(.5);opacity:0}50%{opacity:1}to{transform:perspective(700px) rotateY(0) scale(1)}}.art.reveal .glyph:not(.q),.art.reveal .glyph-img{animation:glyphPop .5s cubic-bezier(.2,1.6,.4,1)}@keyframes glyphPop{0%{transform:scale(.2) rotate(-25deg);opacity:0}}.holo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;mix-blend-mode:color-dodge;background:linear-gradient(115deg,transparent 20%,rgba(255,80,200,.6) 36%,rgba(80,255,255,.6) 50%,rgba(255,255,90,.6) 64%,transparent 80%);background-size:300% 300%;animation:holo 3.2s ease-in-out infinite alternate}@keyframes holo{0%{background-position:0% 0%}to{background-position:100% 100%}}.hero{display:grid;gap:16px}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.big{font-size:46px;font-weight:900;line-height:1.05;letter-spacing:-1px}.big.accent{color:var(--gold)}.hero-row{display:flex;align-items:center;gap:12px}.ring{position:relative;display:grid;place-items:center;flex:none}.ring>svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-bg{fill:none;stroke:var(--line)}.ring-fg{fill:none;stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.3,1.2,.5,1);animation:ringIn 1.1s ease-out}.ring.full .ring-fg{stroke:var(--green);filter:drop-shadow(0 0 4px var(--green))}@keyframes ringIn{0%{stroke-dashoffset:var(--c)}}.ring>span{position:relative;font-size:20px}.upnext{display:grid;gap:8px}.upnext-row{display:flex;gap:10px;flex-wrap:wrap}.un{display:grid;justify-items:center;gap:3px;font-size:11px;color:var(--muted);font-weight:900}.un .art.locked{filter:saturate(.75) brightness(.8);animation:float 3s ease-in-out infinite}.un:nth-child(2) .art{animation-delay:-.6s}.un:nth-child(3) .art{animation-delay:-1.2s}.un:nth-child(4) .art{animation-delay:-1.8s}.un:nth-child(5) .art{animation-delay:-2.4s}@keyframes float{50%{transform:translateY(-5px) rotate(-2deg)}}.maphead{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.map{display:grid;grid-template-columns:repeat(100,1fr);gap:1px;margin-top:12px}.map i{aspect-ratio:1;background:#2a3045;border-radius:1px}.map i.void{background:#1d2233}.map i.l{opacity:.4}.map i.m{box-shadow:inset 0 0 0 1px #ffffffe6}.map i:hover{outline:2px solid #fff;outline-offset:1px;position:relative;z-index:1}.map i.fresh{position:relative;z-index:1;animation:fresh .9s ease-in-out 6 alternate}@keyframes fresh{to{transform:scale(2.4);box-shadow:0 0 8px 2px #fff}}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12px;color:var(--muted);font-weight:800}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}.maptip{position:fixed;z-index:50;transform:translate(-50%,calc(-100% - 10px));display:flex;gap:10px;align-items:center;min-width:160px;padding:10px 14px 10px 10px;border-radius:16px;pointer-events:none;background:#0f1220f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 12px 30px #00000073}.settings{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.pips{display:inline-flex;gap:3px}.pips i{width:9px;height:5px;border-radius:3px;background:var(--line)}.pips i.on{background:var(--green)}.pips.max i{background:var(--gold);box-shadow:0 0 4px var(--gold)}.session{max-width:600px}.sessionbar{display:flex;align-items:center;gap:12px}.combo{min-width:64px;text-align:right;font-weight:900;color:var(--orange);animation:bump .35s ease-out}.combo b{margin-left:4px;background:var(--orange);color:#fff;border-radius:8px;padding:1px 6px;font-size:13px}.combo.hot{animation:bump .35s ease-out,comboGlow .9s ease-in-out infinite alternate}@keyframes bump{0%{transform:scale(1.7)}}@keyframes comboGlow{to{text-shadow:0 0 14px #ff9600,0 0 4px #ffc800}}.xp{font-weight:900;color:var(--gold);min-width:60px;text-align:right}.card{position:relative;background:var(--panel);border:2px solid var(--line);border-radius:28px;padding:18px 20px 22px;display:grid;gap:14px;justify-items:center;text-align:center;animation:cardIn .3s cubic-bezier(.2,1.2,.4,1)}@keyframes cardIn{0%{opacity:0;transform:translateY(18px) scale(.97)}}.card.good{border-color:var(--green);box-shadow:0 0 0 4px #58cc0226}.card.bad{border-color:var(--red);box-shadow:0 0 0 4px #ff4b4b26;animation:shake .4s}@keyframes shake{15%,55%{transform:translate(-10px) rotate(-1deg)}35%,75%{transform:translate(10px) rotate(1deg)}}.card-top{width:100%;display:flex;align-items:center;gap:8px}.rank{color:var(--muted);font-weight:900;font-size:13px}.tag{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;padding:3px 8px;border-radius:8px}.tag.new{background:var(--blue);color:#fff;animation:tagPulse .8s ease-in-out infinite alternate}@keyframes tagPulse{to{box-shadow:0 0 12px var(--blue)}}.tag.cat{margin-left:auto;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}.prompt{color:var(--muted);font-weight:800}.de{font-size:36px;font-weight:900;line-height:1.15;cursor:pointer}.de.big{font-size:42px}.spk{font-size:.55em;vertical-align:middle;opacity:.7}.en{font-size:22px;color:var(--muted);font-weight:800}.tier{font-size:13px;color:var(--gold);background:#ffc8001a;border:1px solid rgba(255,200,0,.25);padding:4px 10px;border-radius:999px}.keys{text-align:center}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;animation:fadeIn .6s ease-out;background:radial-gradient(700px 420px at 50% 32%,color-mix(in srgb,var(--c) 20%,transparent),transparent 72%)}@keyframes fadeIn{0%{opacity:0}}.opts{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.opt{display:flex;align-items:center;gap:10px;background:var(--panel2);border:2px solid var(--line);border-radius:16px;box-shadow:0 4px 0 var(--line);padding:14px;font-size:16px;font-weight:800;text-align:left;transition:transform .08s,border-color .15s,background .15s,opacity .2s}.opt:hover{border-color:#3a4160}.opt:active{transform:translateY(3px);box-shadow:0 1px 0 var(--line)}.opt.right{border-color:var(--green);background:#1c3312;box-shadow:0 4px 0 var(--green-d);animation:pop .35s}.opt.wrong{border-color:var(--red);background:#3a1616;box-shadow:0 4px 0 var(--red-d);animation:shake .35s}.opt.dim{opacity:.35}@keyframes pop{50%{transform:scale(1.06)}}kbd{flex:none;color:var(--muted);font:800 12px Nunito,system-ui,sans-serif;border:2px solid var(--line);border-radius:7px;padding:1px 6px}.listen{display:flex;gap:14px;align-items:center}.speaker{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:0;background:radial-gradient(circle at 32% 26%,#7fd6ff,#1cb0f6 58%,#138bc4);animation:ringPulse 1.6s ease-out infinite}.speaker .gi{width:46px;height:46px}.speaker .gi-speaker path:first-child{fill:#fff}.speaker.slow{width:56px;height:56px;background:var(--panel2);box-shadow:0 4px 0 var(--line);animation:none}.speaker.slow .gi{width:34px;height:34px}@keyframes ringPulse{0%{box-shadow:0 5px 0 var(--blue-d),0 0 #1cb0f68c}to{box-shadow:0 5px 0 var(--blue-d),0 0 0 24px #1cb0f600}}.type{width:100%;background:var(--panel2);color:var(--text);border:2px solid var(--line);border-radius:16px;padding:14px;font:800 24px Nunito,system-ui,sans-serif;text-align:center;outline:none}.type:focus{border-color:var(--blue)}.type.right,.type.typo{border-color:var(--green)}.type.wrong{border-color:var(--red);color:var(--muted);text-decoration:line-through}.umlauts{display:flex;gap:8px}.umlauts button{width:44px;height:40px;border-radius:12px;background:var(--panel2);border:2px solid var(--line);box-shadow:0 3px 0 var(--line);font-size:18px;font-weight:900}.umlauts button:active{transform:translateY(2px);box-shadow:none}.row{display:flex;gap:10px;width:100%}.row .cta{flex:1}.feedback{width:100%;display:grid;gap:10px;padding-top:12px;border-top:2px dashed var(--line);animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}}.fb-title{font-size:22px;font-weight:900}.feedback.right .fb-title,.feedback.typo .fb-title{color:var(--green)}.feedback.wrong .fb-title{color:var(--red)}.pair{font-size:20px;font-weight:900}.locked-in{justify-self:center;background:linear-gradient(90deg,#ffc800,#ff9600);color:#3a2400;padding:6px 14px;border-radius:999px;font-weight:900;animation:stamp .5s cubic-bezier(.2,1.6,.4,1)}@keyframes stamp{0%{transform:scale(2.2) rotate(-8deg);opacity:0}}.summary{text-align:center;max-width:640px}.sum-title{display:grid;gap:4px;margin-top:12px}.sum-title h1{font-size:44px;color:var(--gold)}.sum-title h1 .poptext>span{background:linear-gradient(180deg,#ffe45c,#ffb300 55%,#ff8a00);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(120,60,0,.35))}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{display:grid;gap:2px;padding:14px 8px;border-radius:18px;border:2px solid var(--tone);background:color-mix(in srgb,var(--tone) 10%,transparent);animation:cardIn .45s cubic-bezier(.2,1.3,.4,1) backwards}.stat b{font-size:30px;font-weight:900;color:var(--tone)}.stat span{font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.5px}.coverage{text-align:left}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.cov-num{font-size:28px;color:var(--gold)}.bar.cov{margin:10px 0 8px}.bar.cov .before{position:absolute;inset:0 auto 0 0;background:#4c9f1c}.bar.cov .gain{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#ffc800,#ff9600);box-shadow:0 0 12px #ffc800;transform-origin:left;animation:grow 1.3s .45s cubic-bezier(.3,1.2,.5,1) both}@keyframes grow{0%{transform:scaleX(0)}}.row-cards{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.row-cards .panel{display:flex;align-items:center;gap:12px;padding:12px 16px}.row-cards .left{text-align:left}.streak-up{font-size:18px;border-color:var(--orange);animation:stamp .6s .6s cubic-bezier(.2,1.6,.4,1) backwards}.collected{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.mini{display:grid;justify-items:center;gap:4px;width:100px;animation:dealIn .55s cubic-bezier(.2,1.3,.4,1) backwards}@keyframes dealIn{0%{opacity:0;transform:translateY(40px) rotate(-12deg) scale(.6)}}.coll-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.coll-head .right{text-align:right}.holo-text{background:linear-gradient(90deg,#ff6ad5,#6af2ff,#fff36a,#ff6ad5);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holo 3s ease-in-out infinite alternate}.filters{display:flex;flex-wrap:wrap;gap:8px}.fchip{background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:800;color:var(--muted)}.fchip small{opacity:.7;margin-left:4px}.fchip.on{color:var(--text);border-color:var(--blue);background:#1cb0f61f}.fchip.f-m.on{border-color:var(--der)}.fchip.f-f.on{border-color:var(--die)}.fchip.f-n.on{border-color:var(--das)}.ctiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px}.ctile{position:relative;content-visibility:auto;contain-intrinsic-size:auto 220px;display:grid;gap:4px;justify-items:center;align-content:start;text-align:center;padding:10px 10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:20px;transition:transform .2s cubic-bezier(.3,1.4,.5,1),border-color .15s,box-shadow .2s}.ctile:hover{transform:translateY(-4px);border-color:#3a4160;box-shadow:0 14px 30px #00000059}.ctile.locked{cursor:default;opacity:.75}.ctile.locked:hover{transform:none;box-shadow:none}.t-rank{font-size:12px;color:var(--muted);font-weight:900;margin-top:4px}.t-de{font-size:16px;font-weight:900}.t-en{font-size:13px;color:var(--muted);font-weight:700;min-height:2.4em}.fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none;overflow:hidden}.pt{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:2px;animation:burst var(--dur) cubic-bezier(.1,.8,.3,1) forwards}.pt-e{width:auto;height:auto;margin:-14px 0 0 -14px;font-size:26px;border-radius:0}.pt-i{width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:0;background:center / contain no-repeat}@keyframes burst{0%{transform:translate(0) rotate(0) scale(1);opacity:1}70%{opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.4);opacity:0}}.cf{position:absolute;width:8px;height:14px;border-radius:2px;opacity:0;animation:fall var(--dur) var(--delay) cubic-bezier(.3,.4,.6,1) forwards}@keyframes fall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:1;transform:translate(var(--dx),105vh) rotate(var(--rot))}}.ft{position:absolute;font-weight:900;font-size:24px;color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.35);white-space:nowrap;animation:floatUp 1s cubic-bezier(.2,.8,.3,1) forwards}.ft.hot{color:var(--orange);font-size:30px}.ft.quick{color:var(--blue);font-size:16px}.ft.cov{font-size:15px;color:#3a2400;background:linear-gradient(90deg,#ffc800,#ff9600);padding:4px 12px;border-radius:999px;text-shadow:none;animation-duration:1.8s}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}20%{opacity:1;transform:translate(-50%,-80%) scale(1.1)}to{opacity:0;transform:translate(-50%,-260%) scale(1)}}.flash{position:fixed;top:0;right:0;bottom:0;left:0;animation:flashOut .45s ease-out forwards}.flash.bad{box-shadow:inset 0 0 120px 20px #ff4b4b8c}.flash.good{box-shadow:inset 0 0 120px 20px #58cc0266}@keyframes flashOut{to{opacity:0}}@media (max-width: 560px){.top{gap:10px;padding:14px 14px 0}.brand{font-size:17px;gap:6px}.brand .logo{width:26px;height:26px}.chips{margin-left:auto;gap:5px}.chip{padding:5px 8px;font-size:12.5px;gap:3px}.coll-ico{display:none}.tabs{order:1;width:100%;margin-right:0}.tabs button{flex:1}.big{font-size:36px}.de{font-size:30px}.de.big{font-size:34px}.opt{padding:12px;font-size:15px}.stats{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-timeline:auto!important;transition-duration:.01ms!important}}.tabs button{padding:7px 11px}.tiny{font-size:11px}.gold-text{color:var(--gold);font-weight:800}.story-meta .done{color:var(--green);font-weight:900}.lvl{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.5px;padding:3px 8px;border-radius:8px;color:#fff;background:#3a4160}.lvl-A1{background:#259349}.lvl-A2{background:#1f847c}.lvl-B1{background:#2575d0}.lvl-B2{background:#8847d1}.lvl-C1{background:#d43585}.read-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.read-head h1{font-size:30px;margin-bottom:4px}.read-head .right{text-align:right;flex:none}.ring>span small{font-size:11px;font-weight:900}.gchip{background:#a879ff24;border:1px solid rgba(168,121,255,.4);color:#dccbff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;font-style:normal}.gchip:hover{background:#a879ff42}.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duo-card{display:flex;gap:12px;align-items:center;text-align:left;transition:transform .15s,border-color .15s}.duo-card:hover{transform:translateY(-2px);border-color:#3a4160}.duo-body{display:grid;gap:2px}.stories{display:grid;gap:12px}.story-card{display:flex;gap:14px;align-items:center;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:12px;transition:transform .15s,border-color .15s}.story-card:hover{transform:translateY(-2px);border-color:#3a4160}.story-body{flex:1;display:grid;gap:2px;min-width:0}.story-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.story-title{font-size:18px}.story-blurb{opacity:.85;font-size:14px;margin:2px 0 0}.story-ring{flex:none;display:grid;justify-items:center;gap:2px}.reader,.lesson{max-width:700px}.reader-bar{position:sticky;top:8px;z-index:20;display:flex;align-items:center;gap:10px;margin:0 -10px;padding:8px 10px;border-radius:18px;background:#0e10199e;border:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}.tool{flex:none;min-width:42px;height:38px;background:var(--panel);border:2px solid var(--line);border-radius:12px;font-weight:900;font-size:14px;color:var(--muted)}.tool.on{color:#fff;border-color:var(--blue);background:#1cb0f62e}.story-hero{display:flex;gap:16px;align-items:center;padding:22px;border-radius:24px;box-shadow:inset 0 0 0 1px #ffffff1f;animation:cardIn .4s cubic-bezier(.2,1.2,.4,1)}.story-hero h1{font-size:30px;margin:6px 0 2px}.hero-en{color:#ffffffd1;font-weight:800}.para{display:grid;gap:4px;padding-bottom:10px}.line{padding:8px 12px;border-radius:14px;cursor:pointer;transition:background .15s,box-shadow .15s}.line:hover{background:#ffffff08}.line.reading{background:linear-gradient(90deg,rgba(28,176,246,.2),rgba(28,176,246,.05) 70%,transparent) 0 0 / 200% 100%;box-shadow:inset 3px 0 0 var(--blue);animation:readingGlow 1.6s ease-in-out infinite alternate}@keyframes readingGlow{to{background-position:60% 0}}.tk.saying{background:#1cb0f66b;box-shadow:0 0 0 3px #1cb0f638;color:#fff}.tk.said{color:#bfe3ff}.bubble{max-width:86%;background:var(--panel);border:1px solid var(--line)}.bubble.left{justify-self:start;border-bottom-left-radius:4px}.bubble.right{justify-self:end;border-bottom-right-radius:4px;background:#1a2840}.who{display:block;font-size:11px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--blue);margin-bottom:2px}.bubble.right .who{color:var(--gold)}.sent{font-size:21px;line-height:1.75;font-weight:700}.tk{position:relative;cursor:pointer;border-radius:6px;padding:1px;transition:background .12s,box-shadow .12s}.tk:hover{background:#ffffff1a}.tk.new{text-decoration:underline dotted rgba(28,176,246,.85);text-decoration-thickness:2px;text-underline-offset:5px}.tk.learning{text-decoration:underline dotted rgba(255,150,0,.9);text-decoration-thickness:2px;text-underline-offset:5px}.tk.sel{background:#1cb0f652;animation:pop .25s}.line-en{margin-top:6px;display:grid;gap:6px;color:var(--muted);font-size:15px;font-style:italic;cursor:default;animation:slideUp .2s ease-out}.line-note{font-style:normal;color:var(--text);background:#ffc80014;border:1px solid rgba(255,200,0,.22);border-radius:12px;padding:8px 10px;font-size:14px;font-weight:700}.line-topics{display:flex;flex-wrap:wrap;gap:6px}.reader-end{padding:10px 0 30px}.gv .sent{line-height:2.35}.gv .tk.c-nom{background:#ffd23f24;box-shadow:inset 0 -3px #ffd23f}.gv .tk.c-acc{background:#ff9f4326;box-shadow:inset 0 -3px #ff9f43}.gv .tk.c-dat{background:#33d6c026;box-shadow:inset 0 -3px #33d6c0}.gv .tk.c-gen{background:#a879ff2e;box-shadow:inset 0 -3px #a879ff}.gv .tk.v-fin{background:#ff8fc8;color:#2b0d1f;padding:1px 5px}.gv .tk.v-end{box-shadow:inset 0 0 0 2px #ff8fc8;padding:1px 5px}.gv .tk.v-sub{box-shadow:inset 0 0 0 2px #a879ff;padding:1px 5px}.gv .tk[data-cl]:before{content:attr(data-cl);position:absolute;left:1px;top:-1.1em;font-size:10px;line-height:1;font-weight:900;font-style:normal;letter-spacing:.3px;white-space:nowrap;pointer-events:none}.gv .tk.c-nom:before,.gv .tk.p-nom:before{color:#ffd23f}.gv .tk.c-acc:before,.gv .tk.p-acc:before{color:#ff9f43}.gv .tk.c-dat:before,.gv .tk.p-dat:before{color:#33d6c0}.gv .tk.c-gen:before,.gv .tk.p-gen:before{color:#a879ff}.glegend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;font-size:12px;font-weight:800}.glegend span{padding:3px 9px;border-radius:8px}.glegend .c-nom{background:#ffd23f24;box-shadow:inset 0 -3px #ffd23f}.glegend .c-acc{background:#ff9f4326;box-shadow:inset 0 -3px #ff9f43}.glegend .c-dat{background:#33d6c026;box-shadow:inset 0 -3px #33d6c0}.glegend .c-gen{background:#a879ff2e;box-shadow:inset 0 -3px #a879ff}.glegend .v-fin{background:#ff8fc8;color:#2b0d1f}.glegend .v-end{box-shadow:inset 0 0 0 2px #ff8fc8}.wsheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#05060c73;animation:fadeIn .2s}.wsheet{position:fixed;z-index:91;left:50%;bottom:0;width:min(560px,100%);max-height:78vh;overflow:auto;transform:translate(-50%);display:grid;gap:10px;padding:18px 18px 26px;background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;box-shadow:0 -20px 50px #00000073;animation:sheetUp .28s cubic-bezier(.2,1.2,.4,1)}@keyframes sheetUp{0%{transform:translate(-50%,100%)}}.ws-head{display:flex;gap:12px;align-items:center}.ws-word{font-size:28px;font-weight:900;cursor:pointer}.ws-lemma{font-size:16px;font-weight:800;color:var(--muted)}.ws-gloss{font-size:21px;font-weight:900;color:var(--gold)}.ws-chips{display:flex;flex-wrap:wrap;gap:6px}.small-chip{font-size:12px;padding:3px 9px}.ws-why{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}.ws-actions{display:flex;gap:10px;align-items:center}.cta.small{padding:10px 14px;font-size:13px}.ws-topics{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.quiz-q{font-size:24px}.opts.one{grid-template-columns:1fr}.stats.three{grid-template-columns:repeat(3,1fr)}.next-topic{display:flex;align-items:center;gap:12px;text-align:left;border-color:#a879ff73;background:linear-gradient(90deg,rgba(168,121,255,.16),var(--panel))}.next-topic .go{font-size:22px;font-weight:900}.level-block{display:grid;gap:10px}.level-h{display:flex;align-items:center;gap:10px;font-size:18px}.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.topic{display:flex;align-items:center;gap:12px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px;transition:transform .15s,border-color .15s}.topic:hover:not(:disabled){transform:translateY(-2px);border-color:#3a4160}.topic.soon{opacity:.45;cursor:default}.topic.done{border-color:#ffc80066}.topic-n{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--panel2);font-weight:900;font-size:13px;color:var(--muted)}.topic-body{flex:1;display:grid;gap:1px;min-width:0}.stars{display:inline-flex;gap:1px;font-size:15px;flex:none}.stars i{display:inline-grid;font-style:normal}.stars i:not(.on) .st{fill:#2c3149;stroke:#454c6b}.stars i.on .gi{filter:drop-shadow(0 0 5px rgba(255,200,0,.5))}.stars.big{font-size:64px;gap:8px;justify-self:center}.stars.big i.on{animation:starIn .6s cubic-bezier(.2,1.6,.4,1) backwards}.stars.big i:nth-child(2){animation-delay:.18s;margin-top:-14px}.stars.big i:nth-child(3){animation-delay:.36s}.stars.big i.on .gi{filter:drop-shadow(0 0 16px rgba(255,200,0,.6))}@keyframes starIn{0%{transform:scale(0) rotate(-140deg);opacity:0}}.lesson-hero{display:grid;gap:4px;padding:6px 2px}.lesson-hero h1{font-size:32px}.lesson-n{color:var(--muted);font-weight:900;font-size:13px}.lesson-sum{font-size:17px;margin-top:6px}.blk-text{font-size:16px;line-height:1.6}.blk-text p,.callout p{margin:0 0 6px}.blk-text ul,.callout ul{margin:4px 0 8px;padding-left:20px}.callout{display:flex;gap:10px;padding:12px 14px;border-radius:16px;font-size:15px;line-height:1.55}.callout .co-ico{flex:none;width:26px;height:26px;margin-top:1px}.callout.tip{background:#58cc0214;border:1px solid rgba(88,204,2,.3)}.callout.warn{background:#ff4b4b14;border:1px solid rgba(255,75,75,.3)}.callout s,.blk-text s,.explain s{color:var(--red)}.blk-table{margin:0;display:grid;gap:6px}.blk-table figcaption{font-weight:900;font-size:14px;color:var(--muted)}.table-scroll{overflow-x:auto;border-radius:14px;border:1px solid var(--line)}.blk-table table{width:100%;border-collapse:collapse;font-size:15px}.blk-table th{background:var(--panel2);text-align:left;padding:8px 10px;font-weight:900;white-space:nowrap}.blk-table td{padding:8px 10px;border-top:1px solid var(--line)}.blk-table td:first-child{font-weight:900;color:var(--muted)}.blk-table b{color:var(--gold)}.example{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:6px;cursor:pointer}.example .sent{line-height:2.35}.ex-en{color:var(--muted);font-style:italic}.links{display:grid;gap:10px}.link-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.drill .blanked{font-size:26px;line-height:1.5;cursor:default}.blank{display:inline-block;min-width:60px;padding:0 8px;margin:0 4px;border-bottom:3px solid var(--blue);color:var(--blue)}.blank.ok{color:var(--green);border-color:var(--green)}.blank.no{color:var(--red);border-color:var(--red)}.explain{font-weight:700;font-size:15px}.order-en{color:var(--muted);font-style:italic}.order-line{width:100%;min-height:64px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:10px;border:2px dashed var(--line);border-radius:16px}.order-line.ok{border:2px solid var(--green)}.order-line.no{border:2px solid var(--red)}.order-pool{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.tile{background:var(--panel2);border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;padding:8px 12px;font-size:17px;font-weight:800;animation:pop .2s;transition:opacity .15s}.tile.in{background:#1d2a44;border-color:var(--blue)}.tile.used{opacity:.2}.order-end{font-size:20px;font-weight:900}.order-fix{color:var(--green);font-weight:900}@media (max-width: 560px){.duo{grid-template-columns:1fr}.sent{font-size:19px}.tabs button{padding:7px 4px;font-size:13px}.stats.three{grid-template-columns:repeat(3,1fr)}}.page,.top{max-width:820px}.top .chips{margin-left:auto}.tabs{margin-right:0}.tabs button{padding:7px 9px;font-size:14px;gap:5px}.page.session{max-width:600px}.page.reader,.page.lesson{max-width:700px}.page.summary{max-width:640px}@media (max-width: 560px){.tabs button{padding:7px 4px}}a{color:var(--blue);text-underline-offset:3px}a:visited{color:#8fb8ff}.blk-table td:last-child a{white-space:nowrap}.forms{font-size:15px;font-weight:800;color:var(--muted);letter-spacing:.2px}.gi{width:1.25em;height:1.25em;flex:none;vertical-align:-.28em;overflow:visible}.gi *{transform-box:view-box}.h-ico{width:1.05em;height:1.05em;vertical-align:-.16em;margin-right:2px}.gi.dim{filter:grayscale(1);opacity:.55}.gi.dim *{animation:none!important}.gi-flame .fl-o{transform-origin:12px 21px;animation:flameO .9s ease-in-out infinite alternate}.gi-flame .fl-i{transform-origin:12px 21px;animation:flameI .55s ease-in-out infinite alternate}@keyframes flameO{to{transform:scale(.93,1.08) skew(-4deg)}}@keyframes flameI{to{transform:scale(1.14,.88) translateY(.4px);opacity:.8}}.gi-bolt .bo{animation:boltFlash 3.2s ease-in-out infinite}@keyframes boltFlash{0%,86%,to{fill:#ffd23f}90%{fill:#fff6c2}94%{fill:#ffd23f}97%{fill:#fff6c2}}.gi.zap{animation:zap .5s cubic-bezier(.3,1.8,.5,1)}@keyframes zap{0%{transform:scale(1.7) rotate(-18deg);filter:brightness(1.8) drop-shadow(0 0 6px #ffd23f)}}.speaking .gi-speaker .w1{animation:wave .7s ease-in-out infinite}.speaking .gi-speaker .w2{animation:wave .7s .14s ease-in-out infinite}.speaker:hover .gi-speaker .w1,.de:hover .gi-speaker .w1,.ws-word:hover .gi-speaker .w1{animation:wave .7s ease-in-out infinite}.speaker:hover .gi-speaker .w2,.de:hover .gi-speaker .w2,.ws-word:hover .gi-speaker .w2{animation:wave .7s .14s ease-in-out infinite}@keyframes wave{50%{opacity:.2;transform:translate(1.2px)}}.gi-check circle,.gi-cross circle{transform-origin:12px 12px;animation:popIn .45s cubic-bezier(.3,1.7,.5,1) backwards}.gi-check .ck,.gi-cross .ck{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .4s .18s cubic-bezier(.6,0,.3,1) forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes popIn{0%{transform:scale(0)}}.gi-star .st{transform-origin:12px 12px}.stars i.on .st{animation:starTwinkle 4s ease-in-out infinite}.stars i.on:nth-child(2) .st{animation-delay:.5s}.stars i.on:nth-child(3) .st{animation-delay:1s}@keyframes starTwinkle{0%,88%,to{transform:none}94%{transform:scale(1.25) rotate(18deg)}}.gi-lock .sh{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.gi-unlock .sh{transform-origin:16px 10.5px;animation:shackle .6s .25s cubic-bezier(.3,1.6,.5,1) both}@keyframes shackle{0%{transform:none}to{transform:translateY(-2px) rotate(26deg)}}.gi-target .ar{animation:arrowIn .55s .1s cubic-bezier(.3,1.5,.5,1) backwards}@keyframes arrowIn{0%{transform:translate(8px,-8px);opacity:0}}.gi-trophy .shine{animation:shine 2.6s ease-in-out infinite}@keyframes shine{0%,70%,to{opacity:.85}80%{opacity:0}90%{opacity:1}}.gi-sparkles .s1{transform-origin:10px 9.7px;animation:twinkle 2.2s ease-in-out infinite}.gi-sparkles .s2{transform-origin:18px 16.2px;animation:twinkle 2.2s .7s ease-in-out infinite}.gi-sparkles .s3{transform-origin:18.5px 5.1px;animation:twinkle 1.7s 1.1s ease-in-out infinite}@keyframes twinkle{50%{transform:scale(.72) rotate(22deg);opacity:.8}}.gi-bulb .rays{animation:rays 1.8s ease-in-out infinite}@keyframes rays{50%{opacity:.25}}.gi-warn{animation:warnNudge 3.2s ease-in-out infinite}@keyframes warnNudge{0%,84%,to{transform:none}88%{transform:rotate(-9deg)}92%{transform:rotate(8deg)}96%{transform:rotate(-4deg)}}.gi-seedling .lf1{transform-origin:12px 13px;animation:leaf 3s ease-in-out infinite}.gi-seedling .lf2{transform-origin:12px 11.2px;animation:leaf 3s .4s ease-in-out infinite reverse}@keyframes leaf{50%{transform:rotate(-9deg)}}.gi-clock .hand{transform-origin:12px 12px;animation:tick 4s steps(8) infinite}@keyframes tick{to{transform:rotate(360deg)}}.gi-question{animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-1.5px) rotate(-5deg)}}.speaker.slow:hover .gi-turtle .lg{animation:walk .26s ease-in-out infinite alternate}@keyframes walk{to{transform:translate(1.4px)}}.gi-puzzle .pz{transform-origin:12px 13px}.gi-book .pg{transform-origin:12px 12px}.gi-stack .c1,.gi-stack .c2{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.gi-pencil .pen{transform-origin:6px 18px;animation:scribble 1.6s ease-in-out infinite}@keyframes scribble{50%{transform:rotate(-7deg) translate(1px)}}button:hover>.gi-chevron,.go .gi-chevron{animation:nudge .9s ease-in-out infinite}@keyframes nudge{50%{transform:translate(3px)}}.gi-synth{animation:bob 2s ease-in-out infinite}.tabs button .gi{transition:transform .3s cubic-bezier(.3,1.6,.5,1),filter .3s;filter:saturate(.35) brightness(.85)}.tabs button:hover .gi{transform:translateY(-1px) rotate(-7deg) scale(1.12);filter:none}.tabs button.on .gi{filter:none;animation:tabPop .55s cubic-bezier(.3,1.7,.5,1)}@keyframes tabPop{40%{transform:scale(1.35) rotate(-10deg)}}.tabs button.on .gi-brain{animation:tabPop .55s cubic-bezier(.3,1.7,.5,1),brainPulse 3.6s .6s ease-in-out infinite}@keyframes brainPulse{0%,80%,to{transform:none}86%{transform:scale(1.14)}92%{transform:scale(.96)}}.tabs button.on .gi-book .pg{animation:pageFlip 4s .6s ease-in-out infinite}@keyframes pageFlip{0%,80%,to{transform:none}88%{transform:scaleX(-.85)}}.tabs button.on .gi-puzzle .pz,.grammar-cover .gi-puzzle .pz,.tool.on .gi-puzzle .pz{animation:jiggle 3.4s .6s ease-in-out infinite}@keyframes jiggle{0%,82%,to{transform:none}86%{transform:rotate(-12deg) scale(1.06)}91%{transform:rotate(9deg)}95%{transform:rotate(-4deg)}}.tabs button.on .gi-stack .c1,.coll-ico .gi-stack .c1{animation:fanL 3.8s .6s ease-in-out infinite}.tabs button.on .gi-stack .c2,.coll-ico .gi-stack .c2{animation:fanR 3.8s .6s ease-in-out infinite}@keyframes fanL{0%,78%,to{transform:rotate(-12deg)}88%{transform:rotate(-26deg) translate(-1px)}}@keyframes fanR{0%,78%,to{transform:rotate(7deg)}88%{transform:rotate(20deg) translate(1px)}}.gi-stack .c1{transform-origin:11.5px 12px;transform:rotate(-12deg)}.gi-stack .c2{transform-origin:12.5px 12px;transform:rotate(7deg)}.tab-pill{position:absolute;top:4px;bottom:4px;left:0;width:var(--pw);transform:translate(var(--px));border-radius:10px;background:linear-gradient(180deg,#282e45,#1e2335);box-shadow:inset 0 1px #ffffff14,0 4px 14px #00000059;transition:transform .5s cubic-bezier(.3,1.3,.45,1),width .5s cubic-bezier(.3,1.3,.45,1)}.tab-pill:after{content:"";position:absolute;left:24%;right:24%;bottom:-1px;height:3px;border-radius:3px;background:linear-gradient(90deg,#8ee04e,#1cb0f6);box-shadow:0 0 10px #1cb0f6cc}.logo .lg-front{transform-origin:14px 16px;animation:logoFront 7s ease-in-out infinite}.logo .lg-back{transform-origin:16px 16px;animation:logoBack 7s ease-in-out infinite}.logo .lg-spark{transform-origin:27px 4.8px;animation:twinkle 2.4s ease-in-out infinite}.brand:hover .lg-w{animation:wHop .6s cubic-bezier(.3,1.6,.5,1)}@keyframes logoFront{0%,to{transform:rotate(-4deg)}50%{transform:rotate(3deg) translateY(-.6px)}}@keyframes logoBack{0%,to{transform:rotate(9deg) translate(.5px)}50%{transform:rotate(14deg) translate(1.5px)}}@keyframes wHop{40%{transform:translateY(-2.5px) scale(1.08)}}@property --a1{syntax: "<color>"; inherits: true; initial-value: rgba(88,204,2,.24);}@property --a2{syntax: "<color>"; inherits: true; initial-value: rgba(28,176,246,.24);}@property --a3{syntax: "<color>"; inherits: true; initial-value: rgba(168,121,255,.18);}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden;pointer-events:none;transition:--a1 1.4s,--a2 1.4s,--a3 1.4s}.aurora i{position:absolute;width:62vmax;height:62vmax;border-radius:50%;will-change:transform}.aurora i:nth-child(1){left:-20vmax;top:-34vmax;background:radial-gradient(closest-side,var(--a1),transparent);animation:drift1 26s ease-in-out infinite alternate}.aurora i:nth-child(2){right:-24vmax;top:-22vmax;background:radial-gradient(closest-side,var(--a2),transparent);animation:drift2 32s ease-in-out infinite alternate}.aurora i:nth-child(3){left:16vmax;bottom:-46vmax;background:radial-gradient(closest-side,var(--a3),transparent);animation:drift3 38s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate(16vmax,12vmax) scale(1.18)}}@keyframes drift2{to{transform:translate(-14vmax,16vmax) scale(.88)}}@keyframes drift3{to{transform:translate(-12vmax,-14vmax) scale(1.22)}}.aurora b{position:absolute;left:0;right:0;top:0;bottom:-520px;opacity:.55;will-change:transform;animation:dust 70s linear infinite;background-size:520px 520px;background-image:radial-gradient(1.6px 1.6px at 8% 12%,rgba(255,255,255,.7),transparent),radial-gradient(1.2px 1.2px at 27% 64%,rgba(255,255,255,.5),transparent),radial-gradient(1.8px 1.8px at 46% 31%,rgba(142,224,78,.7),transparent),radial-gradient(1.2px 1.2px at 63% 82%,rgba(255,255,255,.55),transparent),radial-gradient(1.6px 1.6px at 78% 18%,rgba(28,176,246,.75),transparent),radial-gradient(1.2px 1.2px at 91% 57%,rgba(255,255,255,.5),transparent),radial-gradient(1.4px 1.4px at 36% 91%,rgba(255,200,0,.6),transparent),radial-gradient(1.1px 1.1px at 55% 47%,rgba(255,255,255,.4),transparent)}@keyframes dust{to{transform:translateY(-520px)}}.aurora.t-read,.aurora.t-story{--a1: rgba(51, 214, 192, .22);--a2: rgba(78, 168, 255, .24);--a3: rgba(111, 220, 111, .16)}.aurora.t-grammar,.aurora.t-lesson,.aurora.t-drill{--a1: rgba(168, 121, 255, .26);--a2: rgba(255, 143, 200, .18);--a3: rgba(78, 168, 255, .18)}.aurora.t-collection{--a1: rgba(255, 200, 0, .17);--a2: rgba(255, 106, 213, .2);--a3: rgba(106, 242, 255, .16)}.aurora.t-session{--a1: rgba(28, 176, 246, .16);--a2: rgba(168, 121, 255, .14);--a3: rgba(88, 204, 2, .12)}.aurora.t-summary{--a1: rgba(255, 200, 0, .24);--a2: rgba(255, 150, 0, .18);--a3: rgba(88, 204, 2, .18)}@keyframes rise{0%{opacity:0;transform:translateY(18px) scale(.985)}}@keyframes reveal{0%{opacity:0;transform:translateY(26px) scale(.97)}}.page:not(.session)>:not(.wsheet,.wsheet-bg,.maptip,.ambient){animation:rise .55s cubic-bezier(.2,.9,.3,1) backwards}.page:not(.session)>:nth-child(2){animation-delay:50ms}.page:not(.session)>:nth-child(3){animation-delay:.1s}.page:not(.session)>:nth-child(4){animation-delay:.15s}.page:not(.session)>:nth-child(5){animation-delay:.2s}.page:not(.session)>:nth-child(6){animation-delay:.25s}.page:not(.session)>:nth-child(n+7){animation-delay:.3s}.top{animation:rise .5s cubic-bezier(.2,.9,.3,1) backwards}@supports (animation-timeline: view()){.page:not(.session)>:nth-child(n+7):not(.wsheet,.wsheet-bg,.maptip,.ambient),.story-card,.topic,.ctile,.reader .line,.blk-table tbody tr{animation:reveal linear both;animation-delay:0s;animation-timeline:view();animation-range:entry 0% entry 40%}.reader .line.reading{animation:readingGlow 1.6s ease-in-out infinite alternate;animation-timeline:auto}}@media (max-width: 380px){.tabs button .gi{display:none}}.opt,.fchip,.tool,.umlauts button,.speaker,.gchip,.story-card,.topic,.duo-card,.next-topic,.order-pool .tile,.ghost-btn{position:relative;overflow:hidden}.rpl{position:absolute;border-radius:50%;pointer-events:none;transform:scale(0);background:radial-gradient(circle,rgba(255,255,255,.34),rgba(255,255,255,.12) 45%,transparent 70%);animation:ripple .65s cubic-bezier(.2,.7,.3,1) forwards}@keyframes ripple{to{transform:scale(1);opacity:0}}@property --gx{syntax: "<length>"; inherits: false; initial-value: -400px;}@property --gy{syntax: "<length>"; inherits: false; initial-value: -400px;}.panel{position:relative}.panel:after,.story-card:after,.topic:after,.ctile:after,.opt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(280px circle at var(--gx) var(--gy),rgba(255,255,255,.07),transparent 65%)}.cta:before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skew(-20deg);animation:shimmer 3.8s ease-in-out infinite}.cta:disabled:before{display:none}@keyframes shimmer{0%,62%{transform:skew(-20deg) translate(0)}to{transform:skew(-20deg) translate(430%)}}.cta .gi{width:1.2em;height:1.2em}@property --ang{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.beam:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--ang),transparent 0deg 240deg,rgba(142,224,78,.9) 300deg,rgba(28,176,246,.95) 340deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:beam 7s linear infinite}@keyframes beam{to{--ang: 360deg}}.hero{background:radial-gradient(520px 220px at 0% 0%,rgba(88,204,2,.1),transparent 70%),radial-gradient(520px 240px at 100% 0%,rgba(28,176,246,.1),transparent 70%),var(--panel)}.streak-line{display:flex;align-items:center;gap:5px}.mastered{display:inline-flex;align-items:center;gap:5px}.ring>span{display:grid;place-items:center}.duo-card{gap:14px}.duo-card:hover .cover img,.story-card:hover .cover img{animation:coverHop .9s cubic-bezier(.3,1.5,.5,1) infinite}@keyframes coverHop{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-9%) scale(1.06) rotate(-4deg)}60%{transform:translateY(0) scale(.98)}}.duo-body .muted{display:inline-flex;align-items:center;gap:5px}.grammar-cover{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:26%;background:radial-gradient(circle at 30% 24%,#d2b8ff,#8a5cff 55%,#4b2aa9);box-shadow:inset 0 0 0 1px #fff3,0 8px 20px #0000004d}.grammar-cover .gi{width:64%;height:64%;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3))}.map{position:relative;overflow:hidden}.map:after{content:"";position:absolute;top:0;bottom:0;left:0;width:28%;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translate(-110%);animation:mapScan 11s .5s ease-in-out infinite}@keyframes mapScan{0%{transform:translate(-110%)}22%,to{transform:translate(400%)}}.maptip{animation:tipIn .18s cubic-bezier(.3,1.4,.5,1)}@keyframes tipIn{0%{opacity:0;margin-top:6px}}.cover{position:relative;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:26%;isolation:isolate;box-shadow:inset 0 0 0 1px #ffffff2e,0 8px 20px #0000004d}.cover img,.cover>.gi{position:relative;z-index:1;width:74%;height:74%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));animation:idleFloat 3.8s ease-in-out infinite}.cover-orb{position:absolute;left:-12%;top:-12%;width:72%;height:72%;border-radius:50%;mix-blend-mode:soft-light;background:radial-gradient(circle,rgba(255,255,255,.75),transparent 65%);animation:orb 7s ease-in-out infinite alternate}@keyframes orb{to{transform:translate(62%,58%) scale(1.3)}}.story-hero .cover{transform:rotate(-4deg);box-shadow:inset 0 0 0 2px #ffffff40,0 14px 30px #00000059}.gchip .cover,.prompt .cover{border-radius:30%;box-shadow:none}.gchip .cover img,.prompt .cover img{animation:none;width:82%;height:82%}.gchip .cover-orb,.prompt .cover-orb{display:none}.story-chip,.gchip{display:inline-flex;align-items:center;gap:6px}.prompt.with-cover{display:inline-flex;align-items:center;gap:8px}.sum-title .cover{justify-self:center;animation:dealIn .7s cubic-bezier(.2,1.3,.4,1) backwards}.story-card .done{display:inline-flex;align-items:center;gap:4px}.tool{display:inline-grid;place-items:center;transition:color .15s,border-color .15s,background .15s}.tool .gi{width:22px;height:22px}.tool:hover{color:var(--text);border-color:#3a4160}.tool.play.on{animation:playPulse 1.2s ease-in-out infinite}@keyframes playPulse{50%{box-shadow:0 0 0 5px #1cb0f62e}}.line-note{display:flex;gap:8px;align-items:flex-start}.line-note .gi{width:20px;height:20px;margin-top:1px}.gv .tk.c-nom,.gv .tk.c-acc,.gv .tk.c-dat,.gv .tk.c-gen,.gv .tk.v-fin,.gv .tk.v-end,.gv .tk.v-sub{animation:tkIn .5s cubic-bezier(.3,1.3,.5,1) backwards;animation-delay:calc(var(--ti, 0) * 16ms)}@keyframes tkIn{0%{box-shadow:inset 0 0 0 transparent;background-color:transparent}}.gv .tk[data-cl]:before{animation:clIn .4s cubic-bezier(.3,1.5,.5,1) backwards;animation-delay:calc(var(--ti, 0) * 16ms + .14s)}@keyframes clIn{0%{opacity:0;transform:translateY(5px) scale(.6)}}.gv .tk.sel{animation:pop .25s}.wsheet-bg{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ws-word .spk{font-size:.7em}.ws-state{display:inline-flex;align-items:center;gap:6px}.lemma-arrow{width:.9em;height:.9em;opacity:.7}.ws-head .art{animation:dealIn .5s cubic-bezier(.2,1.3,.4,1) backwards}.combo{display:inline-flex;align-items:center;justify-content:flex-end;gap:1px}.combo .gi{width:1.35em;height:1.35em;transition:transform .3s}.combo.m2 .gi{transform:scale(1.1);filter:saturate(1.3) drop-shadow(0 0 4px rgba(255,150,0,.7))}.combo.m3 .gi{transform:scale(1.22);filter:hue-rotate(-28deg) saturate(1.6) drop-shadow(0 0 7px rgba(255,75,75,.8))}.combo.m4 .gi{transform:scale(1.34);filter:hue-rotate(185deg) saturate(1.8) drop-shadow(0 0 9px rgba(28,176,246,.9))}.combo.m4{color:#6fd0ff}.combo.m4 b{background:var(--blue)}.xp{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px}.art-stage{position:relative;display:grid;place-items:center}.art-stage>.art{z-index:1}.art-stage.intro:before{content:"";position:absolute;width:175%;aspect-ratio:1;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--c) 40%,transparent) 0deg 9deg,transparent 9deg 20deg);-webkit-mask:radial-gradient(closest-side,#000 25%,transparent);mask:radial-gradient(closest-side,#000 25%,transparent);animation:spin 16s linear infinite,raysIn .8s ease-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes raysIn{0%{opacity:0;scale:.4}}.art-stage.won:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:26%;pointer-events:none;border:3px solid var(--gold);box-shadow:0 0 24px #ffc800b3;animation:wonRing .9s cubic-bezier(.2,.8,.3,1) forwards}@keyframes wonRing{0%{transform:scale(.8);opacity:1}to{transform:scale(1.35);opacity:0}}.de .spk{transition:opacity .15s}.de:hover .spk{opacity:1}.synth{display:inline-block;margin-left:4px}.tier,.locked-in{display:inline-flex;align-items:center;gap:6px}.fb-title{display:flex;align-items:center;justify-content:center;gap:9px}.fb-ico{width:30px;height:30px}.poptext>span{display:inline-block;animation:letterPop .5s cubic-bezier(.3,1.7,.5,1) backwards}@keyframes letterPop{0%{opacity:0;transform:translateY(.45em) scale(.3) rotate(-14deg)}}.feedback.wrong .poptext>span{animation-name:letterDrop}@keyframes letterDrop{0%{opacity:0;transform:translateY(-.4em)}}.art{--idle: idleFloat;--idle-dur: 3.6s;--idle-ease: ease-in-out}.art.k-verb{--idle: idleHop;--idle-dur: 2s;--idle-ease: linear}.art.k-adj{--idle: idleBreathe;--idle-dur: 2.8s}.art.k-adv{--idle: idleSway;--idle-dur: 3.2s}.art.k-func{--idle: idleNeon;--idle-dur: 3s}@keyframes idleFloat{50%{transform:translateY(-4.5%) rotate(-2deg)}}@keyframes idleHop{0%,50%,to{transform:translateY(0) scale(1);animation-timing-function:ease-out}58%{transform:translateY(0) scale(1.08,.9);animation-timing-function:ease-out}74%{transform:translateY(-10%) scale(.96,1.05);animation-timing-function:ease-in}88%{transform:translateY(0) scale(1.05,.94)}}@keyframes idleBreathe{50%{transform:scale(1.07)}}@keyframes idleSway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes idleNeon{0%,to{filter:drop-shadow(0 0 3cqi var(--glow))}50%,56%{filter:drop-shadow(0 0 8cqi var(--glow)) brightness(1.15)}53%{filter:drop-shadow(0 0 2cqi var(--glow)) brightness(.85)}}.card .glyph-img,.wsheet .glyph-img,.mini .glyph-img,.ctile:hover .glyph-img,.maptip .glyph-img{animation:var(--idle) var(--idle-dur) var(--idle-ease) infinite}.card .art.reveal .glyph-img{animation:glyphPop .5s cubic-bezier(.2,1.6,.4,1),var(--idle) var(--idle-dur) var(--idle-ease) .5s infinite}.card .art.unlock .glyph-img{animation:glyphDrop .7s .35s cubic-bezier(.3,1.5,.5,1) backwards,var(--idle) var(--idle-dur) var(--idle-ease) 1.05s infinite}@keyframes glyphDrop{0%{transform:translateY(-40%) scale(.4,1.4);opacity:0}60%{transform:translateY(3%) scale(1.15,.85);opacity:1}}.art.tilt .glyph-img{translate:var(--px, 0) var(--py, 0);transition:translate .18s ease-out}.art .sheen{display:none;position:absolute;top:0;bottom:0;left:0;width:55%;z-index:4;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translate(-130%) skew(-14deg)}.card .art .sheen,.ctile:hover .art .sheen,.mini .art .sheen,.wsheet .art .sheen{display:block;animation:sheen 5s .8s ease-in-out infinite}.art.locked .sheen{display:none!important}@keyframes sheen{0%{transform:translate(-130%) skew(-14deg)}30%,to{transform:translate(260%) skew(-14deg)}}.ctile.spin .art{animation:tileSpin .75s cubic-bezier(.3,1.3,.5,1)}@keyframes tileSpin{0%{transform:perspective(600px) rotateY(0) scale(1)}50%{transform:perspective(600px) rotateY(180deg) scale(1.08)}to{transform:perspective(600px) rotateY(360deg) scale(1)}}.shock{position:absolute;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);border-radius:50%;border:3px solid rgba(255,255,255,.8);box-shadow:0 0 18px #ffffff59,inset 0 0 12px #ffffff4d;animation:shock .55s cubic-bezier(.1,.7,.3,1) forwards}@keyframes shock{0%{transform:scale(.15);opacity:1}to{transform:scale(1.6);opacity:0;border-width:1px}}.pt-dot{border-radius:50%}.pt-star{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.cf-ribbon{width:5px;height:22px;border-radius:3px}.ft{display:inline-flex;align-items:center;gap:5px}.ft .gi{width:1em;height:1em}.trophy-stage{position:relative;justify-self:center;display:grid;place-items:center;width:130px;height:120px}.trophy-stage:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;pointer-events:none;background:repeating-conic-gradient(rgba(255,200,0,.26) 0deg 9deg,transparent 9deg 22deg);-webkit-mask:radial-gradient(closest-side,#000 20%,transparent);mask:radial-gradient(closest-side,#000 20%,transparent);animation:spin 18s linear infinite,raysIn 1s ease-out}.trophy-stage .gi{position:relative;filter:drop-shadow(0 12px 22px rgba(255,200,0,.35));animation:trophyIn .8s cubic-bezier(.3,1.5,.5,1) backwards,trophyBob 3.2s 1s ease-in-out infinite}@keyframes trophyIn{0%{transform:translateY(-40px) scale(.2) rotate(-30deg);opacity:0}}@keyframes trophyBob{50%{transform:translateY(-6px) rotate(3deg)}}.row-cards .panel .gi{flex:none}.streak-up{display:flex;align-items:center;gap:8px}.coll-head{align-items:center}.coll-ico{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,#ffc8002e,#ff6ad52e);border:1px solid var(--line)}.coll-ico .gi{width:44px;height:44px}.credits-hero{justify-items:start}.credits-hero .logo{overflow:visible;margin-bottom:4px}.next-topic{transition:transform .2s cubic-bezier(.3,1.4,.5,1),border-color .15s}.next-topic:hover{transform:translateY(-2px);border-color:#a879ffcc}.next-topic .go{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#a879ff33}.topic-n{transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .2s,color .2s}.topic:hover:not(:disabled) .topic-n{transform:rotate(-8deg) scale(1.1);background:linear-gradient(135deg,#a879ff,#6d3cff);color:#fff}.topic.done .topic-n{background:linear-gradient(135deg,#ffd23f,#ff9f43);color:#3a2400}.drill .prompt,.prompt,.order-fix{display:inline-flex;align-items:center;justify-content:center;gap:6px}.barwrap{position:relative;display:flex;align-items:center}.barwrap .bar{flex:1}.milestone{position:absolute;top:-7px;right:0;bottom:-7px;left:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;color:#fff;font-size:14px;white-space:nowrap;pointer-events:none;background:linear-gradient(90deg,#ff9600,#ff4b4b);box-shadow:0 6px 18px #ff6e0059;animation:msIn 1.9s cubic-bezier(.2,1.2,.4,1) forwards}.milestone.ms-target{background:linear-gradient(90deg,#58cc02,#1cb0f6);box-shadow:0 6px 18px #1cb0f659}.milestone .gi{width:20px;height:20px}.milestone small{opacity:.85;font-weight:900}@keyframes msIn{0%{opacity:0;transform:scale(.6)}12%{opacity:1;transform:scale(1.06)}20%,82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.count{color:var(--muted);font-weight:900;font-size:13px;font-variant-numeric:tabular-nums}.autobar{display:block;height:3px;border-radius:3px;background:var(--green);transform-origin:left;animation:autobar linear forwards}@keyframes autobar{0%{transform:scaleX(0)}}.card .row .ghost-btn.know{flex:none}.mini.more{display:grid;place-content:center;justify-items:center;width:100px;aspect-ratio:1;border-radius:22%;border:2px dashed var(--line);font-size:22px;font-weight:900;color:var(--muted)}.sizes{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:-4px}.sizes .muted{margin-right:4px}.size{min-width:48px;padding:5px 12px;border-radius:999px;border:2px solid var(--line);background:var(--panel2);color:var(--muted);font-weight:900;font-size:14px;transition:color .15s,border-color .15s,background .15s,transform .15s}.size:hover{color:var(--text);border-color:#3a4160}.size.on{color:#fff;border-color:var(--green);background:#58cc0229;transform:scale(1.06)}@media (max-width: 560px){.big-cta{font-size:16px;letter-spacing:.3px}.sizes .muted{flex-basis:100%;text-align:center;margin:0}.size{min-width:0;padding:5px 11px}}
