:root{--bg: #0f0d1d;--surface: #1a1730;--surface-2: #241f40;--border: #353057;--text: #f3f1ff;--muted: #a9a3c9;--left: #ff4f9a;--right: #2fd6e6;--accent: #b26bff;--good: #3ddc84;--bad: #ff5d6c;--shadow: 0 10px 40px rgba(0, 0, 0, .35);color-scheme:dark}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #f6f4fb;--surface: #ffffff;--surface-2: #efebfa;--border: #dcd6ee;--text: #1b1733;--muted: #625c80;--left: #d6337a;--right: #0a9bb0;--accent: #7c3aed;--good: #148a4c;--bad: #d42f40;--shadow: 0 10px 30px rgba(40, 20, 90, .12);color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer}h1{font-size:1.75rem;line-height:1.15;margin:.25rem 0 .75rem;letter-spacing:-.01em}h2{font-size:1rem;margin:0 0 .6rem}.app{max-width:560px;margin:0 auto;min-height:100dvh;padding:0 16px calc(24px + env(safe-area-inset-bottom))}.content{padding-top:8px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 0 12px}.brand{display:flex;align-items:center;gap:10px;background:none;border:0;font-weight:800;font-size:1.15rem;padding:0}.brand-mark{display:inline-flex;gap:3px}.brand-mark i{width:10px;height:18px;border-radius:3px;background:var(--left)}.brand-mark i+i{background:var(--right)}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:.9rem}.chip-premium{border-color:var(--accent);color:var(--accent);font-weight:600}.flash{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;background:var(--surface-2);border:1px solid var(--accent);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.95rem}.flash button{background:none;border:0;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--right);margin:0;font-weight:600}.label{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--muted);margin-top:1.5rem}.grad{background:linear-gradient(90deg,var(--left),var(--accent),var(--right));-webkit-background-clip:text;background-clip:text;color:transparent}.link{background:none;border:0;padding:0;color:var(--right);text-decoration:underline;text-underline-offset:3px}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:14px;padding:12px 20px;font-weight:700;background:linear-gradient(90deg,var(--left),var(--accent));color:#fff;min-height:48px}.btn:disabled{opacity:.6}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-big{width:100%;margin-top:12px;font-size:1.05rem}.note{font-size:.9rem;color:var(--muted);background:var(--surface);border-radius:12px;padding:10px 14px}.error{color:var(--bad);font-weight:600}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;margin-top:14px}.tag{font-size:.7rem;border:1px solid var(--right);color:var(--right);border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:middle;font-weight:600}.hero{padding:12px 0 4px}.hero h1{font-size:2rem}.review-card{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;background:var(--surface-2);border:1px solid var(--accent);border-radius:16px;padding:14px 16px;margin:8px 0 4px}.review-card small{display:block;color:var(--muted);margin-top:2px}.review-card.locked{border-style:dashed}.badge{flex-shrink:0;font-size:.8rem;font-weight:700;color:var(--accent)}.subject{margin-top:22px}.deck-list{display:grid;gap:10px}.deck{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;transition:transform .15s,border-color .15s}.deck:hover{border-color:var(--right);transform:translateY(-1px)}.deck-title{font-weight:700}.deck-desc{color:var(--muted);font-size:.92rem}.deck-meta{font-size:.8rem;color:var(--right)}.setup h1{margin-top:6px}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.count{display:flex;flex-direction:column;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 4px}.count b{font-size:1.6rem}.count small{color:var(--muted);font-size:.75rem}.count:hover:not(:disabled){border-color:var(--left)}.count.locked{border-style:dashed;opacity:.75}.count:disabled{opacity:.35}.play{padding-top:calc(10px + env(safe-area-inset-top))}.play-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.play-head .link{text-decoration:none;font-size:1.3rem;color:var(--muted)}.play-title{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-score{font-variant-numeric:tabular-nums;font-weight:700;color:var(--good)}.progress{height:6px;background:var(--surface-2);border-radius:999px;margin-top:10px;overflow:hidden}.progress div{height:100%;background:linear-gradient(90deg,var(--left),var(--right));transition:width .3s}.counter{text-align:center;color:var(--muted);font-size:.85rem;margin:10px 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:22px 16px 16px;box-shadow:var(--shadow);touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.card.dragging{transition:none;cursor:grabbing}.prompt{font-size:1.2rem;font-weight:650;margin:0 0 18px;min-height:3.2em}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{display:flex;flex-direction:column;gap:6px;text-align:left;border-radius:16px;padding:14px 12px;min-height:110px;background:var(--surface-2);border:2px solid transparent;transition:border-color .15s,background .15s,opacity .2s,transform .15s;font-size:.98rem;overflow-wrap:anywhere}.option .arrow{font-weight:800;font-size:1.1rem}.option-left .arrow{color:var(--left)}.option-right{text-align:right;align-items:flex-end}.option-right .arrow{color:var(--right)}.option-left:hover:not(:disabled),.option-left.leaning{border-color:var(--left)}.option-right:hover:not(:disabled),.option-right.leaning{border-color:var(--right)}.option.leaning{transform:scale(1.03)}.option:disabled{cursor:default}.option.is-correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 16%,var(--surface-2))}.option.is-wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 16%,var(--surface-2))}.option.is-dim{opacity:.5}.hint{text-align:center;color:var(--muted);font-size:.85rem;margin-top:14px}.feedback{margin-top:14px;border-radius:16px;padding:14px 16px;background:var(--surface);border-left:4px solid var(--good);animation:rise .2s ease-out}.feedback.ko{border-left-color:var(--bad)}.feedback p{margin:0 0 8px}.verdict{font-weight:800;font-size:1.1rem}.feedback.ok .verdict{color:var(--good)}.feedback.ko .verdict{color:var(--bad)}.explanation{color:var(--muted);font-size:.95rem}.feedback .btn{width:100%;margin-top:6px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.result{text-align:center}.score-ring{--pct: 0;width:150px;height:150px;margin:16px auto 8px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--good) calc(var(--pct) * 1%),var(--surface-2) 0)}.score-ring span{display:grid;place-items:center;width:118px;height:118px;border-radius:50%;background:var(--bg);font-size:2rem;font-weight:800}.actions{display:grid;gap:10px;margin:16px 0}.mistakes{list-style:none;padding:0;text-align:left;display:grid;gap:10px}.mistakes li{background:var(--surface);border-radius:14px;padding:12px 14px}.mistakes p{margin:0 0 4px}.prompt-sm{font-weight:650}.good{color:var(--good)}.bad{color:var(--bad)}.form{display:grid;gap:10px}.form input{width:100%;border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:12px 14px;min-height:48px}.form .row{display:flex;gap:8px}.form .row input{flex:1;min-width:0;text-transform:uppercase}.status-premium{border-color:var(--accent)}.status p{margin:0}.offer .price{font-size:1.8rem;font-weight:800;margin:4px 0 8px}.offer .price small{font-size:.85rem;font-weight:500;color:var(--muted)}.offer ul{margin:0 0 8px;padding-left:1.2em}.dev{border-style:dashed;border-color:var(--right)}.dev code{font-size:.85em}.stats{list-style:none;padding:0;display:grid;gap:12px}.stats li{display:grid;gap:4px}.stats small{color:var(--muted)}.bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.bar i{background:var(--good)}.bar i.seen{background:color-mix(in srgb,var(--right) 55%,transparent)}.logout{display:block;margin:28px auto 0;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:8px}.streak-chip{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted);filter:grayscale(1);opacity:.75}.streak-chip.lit{color:#ff9f1c;filter:none;opacity:1}.streak-card{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;margin:6px 0 14px}.streak-card.done{border-color:#ff9f1c}.streak-card .flame{font-size:2rem;line-height:1;filter:grayscale(1)}.streak-card.done .flame{filter:none;animation:flicker 1.6s ease-in-out infinite}.streak-body{flex:1;display:grid;gap:6px}.streak-body small{color:var(--muted)}.goal-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.goal-bar i{display:block;height:100%;background:linear-gradient(90deg,#ffbf47,#ff7a1c);transition:width .4s}.tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:2px 16px}.tabs::-webkit-scrollbar{display:none}.tab{flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:600;color:var(--muted)}.tab.active{border-color:transparent;background:linear-gradient(90deg,var(--left),var(--accent));color:#fff}.hint-line{text-align:center;margin-top:16px}.deck.lesson.locked{border-style:dashed}.lesson-screen h1{margin-top:8px}.lesson-body{position:relative;overflow:hidden;line-height:1.6}.lesson-body h2{font-size:1.15rem;margin:1.4rem 0 .5rem}.lesson-body h3{font-size:1.02rem;margin:1.1rem 0 .4rem}.lesson-body ul,.lesson-body ol{padding-left:1.3em}.lesson-body li{margin:.2em 0}.lesson-body blockquote{margin:1rem 0;padding:10px 14px;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 12px 12px 0}.lesson-body blockquote p{margin:0}.lesson-body table{width:100%;border-collapse:collapse;font-size:.9rem;display:block;overflow-x:auto}.lesson-body th,.lesson-body td{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.lesson-body th{background:var(--surface-2)}.lesson-body details{margin:1.2rem 0;background:var(--surface);border:1px solid var(--good);border-radius:14px;padding:10px 14px}.lesson-body summary{cursor:pointer;font-weight:700;color:var(--good)}.locked-panel .btn{margin-top:6px}.watermark{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;display:flex;flex-wrap:wrap;align-content:space-around;justify-content:space-around;gap:60px 40px;transform:rotate(-24deg);opacity:.07;font-size:.8rem;font-weight:700;-webkit-user-select:none;user-select:none}.card-stack{position:relative;isolation:isolate}.card-stack .card{position:relative;z-index:2;animation:card-in .28s cubic-bezier(.2,.8,.2,1)}.ghost{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;background:var(--surface);border:1px solid var(--border);z-index:0}.ghost-1{transform:translateY(9px) scale(.96);opacity:.7;z-index:1}.ghost-2{transform:translateY(18px) scale(.92);opacity:.4}.card-stack .card.hit{animation:pop .35s ease-out}.card-stack .card.miss{animation:shake .4s ease-in-out}.card-stack .card.fly-left{animation:fly-left .26s ease-in forwards}.card-stack .card.fly-right{animation:fly-right .26s ease-in forwards}.feedback.leaving{opacity:0;transition:opacity .2s}.combo{position:absolute;z-index:3;top:-14px;right:12px;background:linear-gradient(90deg,#ffbf47,#ff7a1c);color:#1b1733;font-weight:800;font-size:.9rem;border-radius:999px;padding:4px 12px;box-shadow:var(--shadow);animation:combo-pop .4s cubic-bezier(.3,1.6,.5,1)}.confetti{position:absolute;z-index:3;left:50%;top:40%;width:0;height:0;pointer-events:none}.confetti i{position:absolute;width:8px;height:12px;border-radius:2px;background:var(--c);opacity:0;animation:burst .9s cubic-bezier(.1,.7,.3,1) var(--d) forwards}@keyframes card-in{0%{transform:translateY(9px) scale(.96);opacity:.6}}@keyframes pop{40%{transform:scale(1.03)}}@keyframes shake{20%,60%{transform:translate(-9px)}40%,80%{transform:translate(9px)}}@keyframes fly-left{to{transform:translate(-130%) rotate(-14deg);opacity:0}}@keyframes fly-right{to{transform:translate(130%) rotate(14deg);opacity:0}}@keyframes combo-pop{0%{transform:scale(.4);opacity:0}}@keyframes burst{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--x),calc(var(--y) + 80px)) rotate(var(--r))}}@keyframes flicker{50%{transform:scale(1.12) rotate(-4deg)}}.report-link{display:block;margin:12px auto 0;font-size:.85rem;color:var(--muted)}.report{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;display:grid;gap:8px}.report-title{font-weight:700;margin:0}.report-reasons{display:flex;flex-wrap:wrap;gap:6px}.report-reason{position:relative;border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:.85rem;cursor:pointer}.report-reason.active{border-color:var(--accent);color:var(--accent)}.report-reason input{position:absolute;opacity:0;pointer-events:none}.report textarea{font:inherit;color:inherit;width:100%;border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:8px 12px;resize:vertical}.report-actions{display:flex;justify-content:space-between;align-items:center}.report-done{margin:12px 0 0;text-align:center;font-size:.9rem;color:var(--good)}.goal-done{position:relative;display:flex;gap:12px;align-items:center;text-align:left;background:var(--surface);border:1px solid #ff9f1c;border-radius:16px;padding:12px 16px;margin:10px 0;animation:rise .3s ease-out}.goal-done p{margin:0}.goal-done .confetti{top:30%;left:15%}.flame-big{font-size:2.4rem;animation:flicker 1.6s ease-in-out infinite}.group-offer p{margin:4px 0 8px}.codes{list-style:none;padding:0;display:grid;gap:8px}.codes li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px}.codes code{font-size:1rem;font-weight:700;letter-spacing:.04em;-webkit-user-select:all;user-select:all}.codes small{color:var(--good)}.codes li.used{opacity:.55}.codes li.used small{color:var(--muted)}.devices{margin-top:18px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.confetti{display:none}}
