:root{--bg: #0b0b12;--ink: #f5f6fb;--soft: rgba(245, 246, 251, .8);--muted: rgba(245, 246, 251, .56);--glass: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .14);--good: #34d399;--good-d: #10b981;--bad: #f87171;--bad-d: #ef4444;--base: #15151f;--safe-top: env(safe-area-inset-top, 0px);--safe-bot: env(safe-area-inset-bottom, 0px);--hud-h: 54px;--nav-h: 58px;--fs: clamp(15.5px, 4.25vw, 17px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;overscroll-behavior:none;-webkit-font-smoothing:antialiased;touch-action:manipulation}button,a{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:default;color:inherit}:focus-visible{outline:2px solid #fff;outline-offset:2px}#__home_btn,#__sync_badge{display:none!important}.app{height:100dvh;max-width:520px;margin:0 auto;position:relative;overflow:hidden}@media(min-width:560px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.hud{position:absolute;z-index:20;inset:0 0 auto 0;height:calc(var(--hud-h) + var(--safe-top));padding:var(--safe-top) 10px 0;display:flex;align-items:center;gap:8px;background:linear-gradient(to bottom,#0b0b12f5 60%,#0b0b1200)}.hud-btn{flex:none;width:38px;height:38px;border-radius:13px;background:var(--glass);display:grid;place-items:center;text-decoration:none;transition:background .2s}.hud-btn:hover{background:#ffffff29}.goal{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;padding:6px 2px;text-align:left}.goal-bar{display:block;height:6px;border-radius:99px;background:#ffffff24;overflow:hidden}.goal-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#f472b6,#facc15);transition:width .5s cubic-bezier(.2,.9,.3,1.2)}.goal-txt{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-txt b{color:var(--ink);font-weight:700}.chip{flex:none;font-size:12.5px;font-weight:800;height:32px;padding:0 10px;border-radius:12px;background:var(--glass);white-space:nowrap;display:inline-flex;align-items:center;animation:pop .35s}.chip.hot{background:linear-gradient(135deg,#f97316,#ef4444)}.toast{position:absolute;right:12px;top:calc(var(--safe-top) + var(--hud-h) - 6px);padding:5px 10px;border-radius:99px;background:#fde68a;color:#111;font-size:12.5px;font-weight:800;pointer-events:none;animation:toast 1s ease-out forwards}@keyframes toast{0%{opacity:0;transform:translateY(8px) scale(.9)}18%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.focus-bar{position:absolute;z-index:19;left:10px;right:10px;top:calc(var(--safe-top) + var(--hud-h));height:34px;padding:0 4px 0 12px;display:flex;align-items:center;gap:8px;border-radius:12px;background:color-mix(in srgb,var(--c) 42%,#14141f);border:1px solid color-mix(in srgb,var(--c) 70%,transparent);font-size:12.5px;font-weight:700}.focus-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-bar button{flex:none;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#00000040}.nav{position:absolute;z-index:20;inset:auto 0 0 0;height:calc(var(--nav-h) + var(--safe-bot));padding:0 4px var(--safe-bot);display:grid;grid-template-columns:repeat(5,1fr);background:#0d0d15f5;border-top:1px solid rgba(255,255,255,.08)}.nav-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10.5px;font-weight:700;color:var(--muted);transition:color .2s}.nav-ico{position:relative;width:46px;height:28px;border-radius:99px;display:grid;place-items:center;transition:background .25s,transform .2s}.nav-btn:active .nav-ico{transform:scale(.9)}.nav-btn.on{color:#fff}.nav-btn.on .nav-ico{background:#ffffff24}.nav-badge{position:absolute;top:5px;left:calc(50% + 7px);min-width:17px;height:17px;padding:0 5px;border-radius:99px;background:#f43f5e;color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #0d0d15}.nav-dot{position:absolute;top:8px;left:calc(50% + 11px);width:7px;height:7px;border-radius:50%;background:#fb7185}.nav-ico.lvl i{position:absolute;top:-3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#facc15;color:#111;font-size:10px;font-weight:800;font-style:normal;display:grid;place-items:center;box-shadow:0 0 0 2px #0d0d15}.feed{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none}.feed::-webkit-scrollbar{display:none}.slot{min-width:0;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;padding:calc(var(--hud-h) + var(--safe-top) + 2px) 10px calc(var(--nav-h) + var(--safe-bot) + 8px);display:flex}.app.has-focus .slot{padding-top:calc(var(--hud-h) + var(--safe-top) + 42px)}.card{--c: #8b5cf6;position:relative;flex:1;min-width:0;min-height:0;overflow:clip;border-radius:26px;padding:14px 16px 10px;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--c) 52%,transparent),transparent 60%),radial-gradient(100% 70% at 100% 100%,color-mix(in srgb,var(--c) 32%,#000),transparent 70%),#14141f;box-shadow:0 18px 50px #00000073,inset 0 0 0 1px #ffffff12;user-select:none;-webkit-user-select:none}.blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.32;pointer-events:none;background:var(--c)}.b1{width:220px;height:220px;top:-60px;right:-80px}.b2{width:180px;height:180px;bottom:-70px;left:-60px;opacity:.2}.card.on .b1{animation:float1 9s ease-in-out infinite}.card.on .b2{animation:float2 11s ease-in-out infinite}@keyframes float1{50%{transform:translate(-40px,50px) scale(1.15)}}@keyframes float2{50%{transform:translate(50px,-30px) scale(.9)}}.who{position:relative;display:flex;align-items:center;gap:12px;margin:2px 0 14px 2px;text-decoration:none}.avatar{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:#14141f;box-shadow:0 0 0 2px #14141f,0 0 0 4px var(--c)}.who-txt{min-width:0;display:flex;flex-direction:column;line-height:1.2}.who-txt b{font-size:14px}.who-lec{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-top{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kicker{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;padding:6px 11px 6px 8px;border-radius:99px;background:#0000004d}.kicker-ico{font-size:15px}.card.is-play .kicker{background:#fff;color:#111}.revanche{font-size:11.5px;font-weight:800;padding:6px 10px;border-radius:99px;background:#f59e0b;color:#111}.card-body{position:relative;flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:none;font-size:calc(var(--fs) * var(--k, 1))}.card-body::-webkit-scrollbar{display:none}.inner{margin:auto 0;min-width:0;display:flex;flex-direction:column;gap:.85em;padding:.8em 0 .6em}.card-body.scrolls:after{content:"";flex:none;position:sticky;bottom:0;z-index:1;height:30px;margin-top:-30px;pointer-events:none;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--c) 10%,var(--base)))}.card-body.scrolls .inner{padding-bottom:1.4em}.rate{position:sticky;bottom:0;z-index:2}.card-body.scrolls .rate{--tint: color-mix(in srgb, var(--c) 10%, var(--base));padding:.5em 0 .2em;background:var(--tint);box-shadow:0 -14px 14px var(--tint)}.big{font-family:Crimson Pro,Georgia,serif;font-size:1.72em;line-height:1.28;font-weight:600}.big.lg{font-size:1.42em;line-height:1.33}.big.xl{font-size:1.2em;line-height:1.42}.title{margin:0;font-family:Crimson Pro,Georgia,serif;font-size:1.68em;line-height:1.15;font-weight:600}.ptext{font-size:1em;line-height:1.58;color:var(--soft)}.lead{font-size:1.07em;line-height:1.6;color:var(--ink)}.question{font-size:1.34em;line-height:1.36;font-weight:700}.answer{color:var(--ink)}.hint{margin:-.35em 0 0;font-size:.86em;color:var(--muted)}.about{margin:0;font-size:.8em;font-weight:700;color:#fcd34d;text-transform:uppercase;letter-spacing:.08em}.lbl{margin:.4em 0 -.4em;font-size:.72em;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:color-mix(in srgb,var(--c) 45%,#fff)}.stack{display:flex;flex-direction:column;gap:.62em}strong{color:#fff}.ptext strong,.big strong,.question strong,.cloze strong{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--c) 55%,transparent) 0)}.formula{max-width:100%;background:#fffffff5;color:#111;border-radius:1.1em;padding:.95em .7em;box-shadow:0 10px 30px #00000059;font-size:1.08em}.fit-tex{display:block;min-width:0;max-width:100%;overflow:hidden;text-align:center}.fit-in{display:inline-block;white-space:nowrap;vertical-align:middle}.tex-block{display:block;overflow-x:auto;padding:.25em 0;scrollbar-width:none}.tex-block::-webkit-scrollbar{display:none}.tex-block .katex-display{margin:0}.code{margin:0;background:#0b1020;color:#e6e9ef;border-radius:1em;padding:.9em;font:.82em/1.55 JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;overflow-x:auto;white-space:pre;box-shadow:0 10px 30px #0006,inset 0 0 0 1px #ffffff14;scrollbar-width:none}.code::-webkit-scrollbar{display:none}.ic{font:.88em/1 JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;padding:.15em .4em;border-radius:.4em;background:#ffffff24;color:#fff}.sketch-box{background:#fff;border-radius:18px;padding:8px;box-shadow:0 10px 30px #00000059}.sketch-box figure{margin:0}.sketch-box svg{display:block;width:100%;height:auto;max-height:40dvh}.sketch-box figure>div{border:0!important;padding:4px!important}.sketch-wait{height:180px;border-radius:18px;background:#ffffff14;display:grid;place-items:center;color:var(--muted)}.warn-ico{font-size:2.6em;line-height:1;transform-origin:50% 80%;width:max-content}.card.on .warn-ico{animation:rise .55s backwards,shake .9s ease .35s}@keyframes shake{0%,to{transform:rotate(0)}15%{transform:rotate(-14deg)}30%{transform:rotate(12deg)}45%{transform:rotate(-9deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}}.cta{align-self:flex-start;padding:.8em 1.15em;border-radius:1em;font-weight:800;font-size:.97em;background:#fff;color:#111;box-shadow:0 8px 24px #00000059;transition:transform .15s;display:inline-flex;align-items:center;justify-content:center;gap:.4em}.cta:active,.rate-btn:active,.ghost:active,.next:active,.opt:active,.step:active,.pair:active{transform:scale(.97)}.cta.soft{background:#ffffff29;color:var(--soft);box-shadow:none}.cta.pulse{animation:pulse 1.4s ease-in-out infinite}.cta.wide,.ghost.wide{align-self:stretch;width:100%}@keyframes pulse{0%,to{box-shadow:0 0 #ffffff73}50%{box-shadow:0 0 0 12px #fff0}}.ghost{align-self:flex-start;padding:.7em 1em;border-radius:.95em;font-weight:700;font-size:.95em;background:#ffffff1f;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center}.think{display:flex;align-items:center;gap:12px}.ring{width:44px;height:44px;transform:rotate(-90deg);flex:none}.ring circle{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;opacity:.85}.ring.run circle{animation:ring 3s linear forwards}@keyframes ring{to{stroke-dashoffset:0}}.rate{display:flex;gap:8px;flex-wrap:wrap;margin-top:.3em}.rate-btn{flex:1;min-width:8.2em;padding:.85em .6em;border-radius:1em;font-weight:800;font-size:.9em;transition:transform .15s,opacity .3s,background .3s}.rate-btn.ok{background:#34d39933;border:1.5px solid rgba(52,211,153,.7)}.rate-btn.ko{background:#fb923c2e;border:1.5px solid rgba(251,146,60,.7)}.rate-btn.ok.sel{background:var(--good-d);color:#fff;animation:pop .4s}.rate-btn.ko.sel{background:#f97316;color:#fff;animation:pop .4s}.rate-btn.dim{opacity:.35}.opts{display:flex;flex-direction:column;gap:.55em}.opt{display:flex;align-items:center;gap:.7em;width:100%;min-height:3.25em;padding:.55em .8em;border-radius:1em;text-align:left;background:#ffffff17;border:1.5px solid rgba(255,255,255,.17);transition:transform .15s,background .25s,border-color .25s,opacity .3s}.opt-k{flex:none;width:1.75em;height:1.75em;border-radius:50%;display:grid;place-items:center;font-size:.8em;font-weight:800;background:#ffffff26}.opt-v{flex:1;min-width:0;line-height:1.38;overflow-wrap:anywhere}.as-tex .opt{min-height:3.5em}.as-rich .opt-v{font-size:.97em}.opt.ok{background:#10b98142;border-color:var(--good)}.card.on .opt.ok{animation:pop .4s}.opt.ok .opt-k{background:var(--good-d);color:#fff}.opt.ko{background:#ef444438;border-color:var(--bad)}.card.on .opt.ko{animation:shakex .4s}.opt.ko .opt-k{background:var(--bad-d);color:#fff}.opt.dim{opacity:.4}.as-chip{display:grid;grid-template-columns:1fr 1fr}.as-chip.long{grid-template-columns:1fr}.as-chip .opt{justify-content:center;text-align:center;font-weight:700;min-height:3em}@keyframes shakex{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.cloze{font-size:1.1em;line-height:1.66}.blank{display:inline-block;min-width:4.6em;padding:0 .55em;margin:0 .1em;border-radius:.55em;border:2px dashed rgba(255,255,255,.6);background:#ffffff14;text-align:center;font-weight:800;color:var(--muted);line-height:1.45}.blank.ok{border:2px solid var(--good-d);background:var(--good-d);color:#fff}.blank.ko{border:2px solid var(--good);background:#10b98133;color:#fff}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5em}.step{display:flex;align-items:center;gap:.7em;width:100%;min-height:3.1em;padding:.6em .8em;border-radius:1em;text-align:left;font-size:.95em;line-height:1.36;background:#ffffff17;border:1.5px solid rgba(255,255,255,.17);transition:transform .15s,background .25s,border-color .25s}.step-n{flex:none;width:1.8em;height:1.8em;border-radius:50%;border:2px dashed rgba(255,255,255,.45);display:grid;place-items:center;font-size:.85em;font-weight:800}.step-v{flex:1;min-width:0;overflow-wrap:anywhere}.step.ok{background:#10b98133;border-color:var(--good)}.step.ok .step-n{border:0;background:var(--good-d);color:#fff}.step.bad{animation:shakex .45s;border-color:var(--bad);background:#ef444438}.pairs{display:grid;grid-template-columns:.85fr 1.15fr;grid-auto-rows:1fr;gap:.5em}.pair{min-width:0;min-height:3.7em;padding:.45em .5em;border-radius:.9em;display:grid;place-items:center;text-align:center;font-size:.86em;line-height:1.28;background:#ffffff17;border:2px solid rgba(255,255,255,.17);transition:transform .15s,box-shadow .2s,border-color .2s,opacity .3s}.pair.tex{background:#fffffff2;color:#111;border-color:transparent;font-size:.95em}.pair.tex .fit-tex{width:100%}.pair.sel{border-color:#fff;box-shadow:0 0 0 3px #ffffff4d;transform:scale(1.03)}.pair.tex.sel{border-color:#facc15;box-shadow:0 0 0 3px #facc1566}.pair.bad{animation:shakex .45s;border-color:var(--bad)}.pair.ok{--m: var(--good);border-color:var(--m);box-shadow:inset 0 0 0 2px var(--m)}.pair.ok:not(.tex){background:color-mix(in srgb,var(--m) 26%,transparent)}.pair.ok.m1{--m: #60a5fa}.pair.ok.m2{--m: #f472b6}.pair.ok.m3{--m: #facc15}.verdict-wrap{display:flex;flex-direction:column;gap:.55em}.verdict{display:flex;align-items:center;gap:.7em;padding:.6em .8em;border-radius:1em;font-size:.95em}.verdict.ok{background:#10b98133;border:1px solid rgba(52,211,153,.6)}.verdict.ko{background:#ef444429;border:1px solid rgba(248,113,113,.55)}.verdict-ico{flex:none;width:1.9em;height:1.9em;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--good-d)}.verdict.ko .verdict-ico{background:var(--bad-d)}.verdict-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.verdict-txt span{font-size:.86em;color:var(--soft)}.verdict-xp{flex:none;font-weight:800;color:#fde68a;white-space:nowrap}.next{padding:.8em;border-radius:1em;background:#fff;color:#111;font-weight:800;font-size:.97em;display:flex;align-items:center;justify-content:center;gap:.4em;transition:transform .15s}.actions{position:relative;display:flex;align-items:center;gap:6px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.act{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 13px;border-radius:99px;background:#00000047;font-size:13px;font-weight:700;color:var(--soft);text-decoration:none;transition:transform .15s,background .2s,color .2s}.act:active{transform:scale(.94)}.act.round{width:38px;padding:0;justify-content:center}.act.faved{color:#fb7185;background:#f43f5e29}.act.faved svg{animation:pop .4s}.grow{flex:1}.menu{position:absolute;z-index:6;right:12px;bottom:58px;width:min(290px,calc(100% - 24px));padding:6px;border-radius:18px;background:#1d1d29;border:1px solid var(--line);box-shadow:0 18px 50px #000000a6;display:flex;flex-direction:column;animation:reveal .2s both}.menu button{text-align:left;padding:12px;border-radius:12px;font-size:14.5px;font-weight:600}.menu button:hover,.menu button:active{background:var(--glass)}.hidden-card{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;border-radius:inherit;background:#0b0b12eb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;animation:fadein .25s}.hidden-card p{margin:0;color:var(--soft)}.hidden-card .ghost{align-self:center}.heart-burst{position:absolute;font-size:84px;pointer-events:none;transform:translate(-50%,-50%);animation:heart .9s ease-out forwards;z-index:5}@keyframes heart{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}20%{transform:translate(-50%,-50%) scale(1.25);opacity:1}45%{transform:translate(-50%,-50%) scale(.95)}to{transform:translate(-50%,-140%) scale(1.1);opacity:0}}.card:not(.on) .rise{opacity:0;transform:translateY(18px)}.card.on .rise{animation:rise .55s cubic-bezier(.2,.8,.2,1) var(--d, 0ms) backwards}.card.on .rise.pop{animation-name:risepop}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes risepop{0%{opacity:0;transform:translateY(14px) scale(.92)}70%{transform:scale(1.02)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.1)}to{transform:scale(1)}}.reveal-in{animation:reveal .45s cubic-bezier(.2,.8,.2,1) both}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadein{0%{opacity:0}}.special{align-items:center;justify-content:center;text-align:center;gap:14px;padding:26px 22px}.intro,.recap,.tour,.end,.empty{--c: #8b5cf6}.eyebrow{margin:0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#fde68a}.hero{margin:0;font-family:Crimson Pro,Georgia,serif;font-size:clamp(30px,8.4vw,38px);line-height:1.08;font-weight:600}.tips{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:13px;text-align:left;align-self:stretch}.tips li{display:flex;align-items:flex-start;gap:12px}.tip-ico{flex:none;width:40px;height:40px;border-radius:13px;background:#ffffff1a;display:grid;place-items:center;font-size:20px}.tip-txt{display:flex;flex-direction:column;gap:2px;line-height:1.35}.tip-txt b{font-size:15px}.tip-txt span{font-size:13.5px;color:var(--muted)}.fine{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted)}.big-fine{font-size:15.5px;color:var(--soft);max-width:34ch}.swipe{margin:14px 0 0;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;font-weight:600}.card.on .swipe svg{animation:nudge 1.6s ease-in-out 1.3s infinite}@keyframes nudge{50%{transform:translateY(6px)}}.bravo{background:radial-gradient(90% 70% at 50% 30%,#7c3aed,transparent 70%),radial-gradient(80% 60% at 50% 100%,#db2777,transparent 70%),#14141f;gap:0}.bravo-n{font-size:108px;font-weight:800;line-height:1;background:linear-gradient(135deg,#fde68a,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent}.bravo-t{margin:4px 0 0;color:var(--muted);font-weight:600}.bravo-h{margin:18px 0 0;font-size:30px}.bravo-score{margin:12px 0 0;padding:8px 14px;border-radius:99px;background:#0000004d;font-size:14.5px;color:var(--soft)}.bravo-score b{color:#fff}.recap-ico{font-size:60px;line-height:1}.recap-grid{align-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0}.recap-grid div{background:#00000047;border-radius:16px;padding:14px 8px;display:flex;flex-direction:column;gap:3px}.recap-grid b{font-size:24px}.recap-grid span{font-size:12px;color:var(--muted)}.end-btns{align-self:stretch;display:flex;flex-direction:column;gap:8px;margin-top:6px}.empty-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.empty-links a{text-decoration:none;padding:8px 12px;border-radius:12px;font-size:14px;font-weight:700;background:color-mix(in srgb,var(--c) 35%,transparent);border:1px solid color-mix(in srgb,var(--c) 70%,transparent)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;animation:fall 1.8s cubic-bezier(.3,.6,.5,1) forwards}@keyframes fall{0%{transform:translateY(0) rotate(var(--r));opacity:1}to{transform:translateY(105vh) rotate(calc(var(--r) + 540deg));opacity:.8}}.party{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;display:grid;place-items:center}.party-txt{font-size:26px;font-weight:800;padding:16px 22px;border-radius:22px;background:#000000b8;text-align:center;max-width:86%;animation:risepop .5s both,fadeout .4s 1.5s forwards}@keyframes fadeout{to{opacity:0;transform:scale(.96)}}.sheet-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#0009;display:flex;align-items:flex-end;animation:fadein .2s}.sheet{width:100%;height:min(90%,760px);display:flex;flex-direction:column;background:#16161f;border-radius:26px 26px 0 0;animation:up .3s cubic-bezier(.2,.8,.2,1);box-shadow:0 -20px 60px #00000080}@keyframes up{0%{transform:translateY(100%)}}.sheet-head{flex:none;display:flex;align-items:center;gap:10px;padding:14px 14px 10px 16px}.sheet-x{flex:none;width:38px;height:38px;border-radius:13px;background:var(--glass);display:grid;place-items:center}.sheet-body{flex:1;min-height:0;overflow-y:auto;padding:6px 16px calc(22px + var(--safe-bot));overscroll-behavior:contain;scrollbar-width:none}.sheet-body::-webkit-scrollbar{display:none}.sheet h4{margin:24px 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.sheet h4.first{margin-top:8px}.note{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}.note.top{margin:4px 0 14px}.note+.row-btn{margin-top:12px}.note svg{vertical-align:-2px}.seg{flex:1;display:flex;gap:4px;padding:4px;border-radius:14px;background:#ffffff12}.seg button{flex:1;height:34px;border-radius:11px;font-size:13.5px;font-weight:700;color:var(--muted);transition:background .2s,color .2s}.seg button.on{background:#fff;color:#111}.seg.wide button{height:42px;font-size:15px}.level{display:flex;align-items:center;gap:16px;padding:16px;border-radius:20px;background:linear-gradient(135deg,#7c3aed66,#db27774d)}.level-ring{flex:none;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#facc15 calc(var(--p) * 1%),#ffffff29 0)}.level-ring b{width:54px;height:54px;border-radius:50%;background:#1b1b28;display:grid;place-items:center;font-size:24px}.level-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.level-t{margin:0;font-size:17px;font-weight:800}.level-s{margin:0;font-size:12.5px;color:var(--soft)}.bar{display:block;height:7px;border-radius:99px;background:#ffffff24;overflow:hidden}.bar>*{display:block;height:100%;border-radius:99px;background:#facc15}.bar.two{display:flex}.bar.two>*{border-radius:0}.bar.two .b-mast{background:var(--c, #34d399)}.bar.two .b-seen{background:color-mix(in srgb,var(--c, #34d399) 38%,transparent)}.bar.thin{height:4px;margin-top:6px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.stats div{background:var(--glass);border-radius:14px;padding:11px 4px;text-align:center;display:flex;flex-direction:column;gap:3px}.stats b{font-size:19px}.stats span{font-size:10.5px;color:var(--muted);line-height:1.2}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-h{text-align:center;font-size:10.5px;font-weight:700;color:var(--muted)}.cal-c{aspect-ratio:1;max-height:34px;border-radius:9px;background:#ffffff12}.cal-c.l1{background:#f472b64d}.cal-c.l2{background:#f472b699}.cal-c.l3{background:linear-gradient(135deg,#f472b6,#facc15)}.cal-c.now{box-shadow:0 0 0 2px #fff}.cal-c.pad{background:none}.mast{display:flex;flex-direction:column;gap:12px}.mast-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:baseline}.mast-name{font-size:14.5px;font-weight:700}.mast-n{font-size:12.5px;color:var(--muted)}.mast-n em{font-style:normal;margin-left:8px;padding:2px 7px;border-radius:99px;background:#f43f5e33;color:#fda4af;font-weight:700}.mast-row .bar{grid-column:1 / -1}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 8px}.dot:first-child{margin-left:0}.d-mast{background:#34d399}.d-seen{background:#34d39961}.medals{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.medal{background:var(--glass);border-radius:16px;padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.medal-ico{font-size:26px;line-height:1}.medal.t0 .medal-ico{filter:grayscale(1);opacity:.45}.medal b{font-size:12px}.medal-dots{display:flex;gap:4px}.medal-dots i{width:7px;height:7px;border-radius:50%;background:#ffffff2e}.medal-dots i.on{background:#facc15}.medal-n{font-size:11px;color:var(--muted)}.row-btn{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;min-height:52px;border-radius:14px;background:var(--glass);margin-bottom:6px;font-weight:600;font-size:14.5px}.row-btn.warn{background:#f43f5e29;color:#fda4af;justify-content:center}.row-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-txt small{font-size:12px;font-weight:500;color:var(--muted);line-height:1.35}.switch{flex:none;width:42px;height:25px;border-radius:99px;background:#fff3;position:relative;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s}.switch.on{background:var(--c, #10b981)}.switch.on:after{transform:translate(17px)}.lec{display:flex;flex-direction:column;gap:6px}.lec-subj{border-radius:16px;background:var(--glass);overflow:hidden}.lec-subj.open{background:color-mix(in srgb,var(--c) 14%,#1c1c27)}.lec-head{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left}.lec-emoji{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:#14141f;box-shadow:0 0 0 2px var(--c)}.lec-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lec-name b{font-size:15px}.lec-name span{font-size:12px;color:var(--muted)}.lec-chev{flex:none;color:var(--muted);transition:transform .2s}.lec-subj.open .lec-chev{transform:rotate(90deg)}.lec-list{display:flex;flex-direction:column;padding:0 8px 8px}.lec-row{width:100%;display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:12px;text-align:left;font-size:13.5px}.lec-row:hover,.lec-row:active{background:#ffffff12}.lec-row.on{background:color-mix(in srgb,var(--c) 34%,transparent)}.lec-row.all{font-weight:700}.lec-num{flex:none;width:26px;height:26px;border-radius:9px;background:#ffffff1a;display:grid;place-items:center;font-size:12px;font-weight:800}.lec-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.lec-lock{flex:none;color:var(--muted)}.lec-n{flex:none;font-size:12px;color:var(--muted);min-width:38px;text-align:right}@media(prefers-reduced-motion:reduce){.blob,.chip,.cta.pulse,.swipe svg,.confetti span{animation:none!important}.confetti{display:none}}
