:root{--violet-50:#f6f4ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--violet-900:#4c1d95;--yellow-200:#fef3c7;--yellow-400:#facc15;--yellow-600:#ca8a04;--white:#fff;--ink:#1a1523;--ink-2:#3f3a4d;--gray:#6b7280;--gray-2:#6b7280;--line:#e9e4f5;--surface:#fbfaff;--error:#dc2626;--error-bg:#fef2f2;--success:#059669;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-full:999px;--shadow-sm:0 1px 2px rgba(26,21,35,.06),0 1px 3px rgba(26,21,35,.04);--shadow-md:0 4px 12px rgba(26,21,35,.07),0 2px 4px rgba(26,21,35,.04);--shadow-lg:0 12px 32px rgba(76,29,149,.1),0 4px 8px rgba(26,21,35,.04);--shadow-violet:0 8px 24px rgba(109,40,217,.22);--ease:cubic-bezier(.4,0,.2,1);--t-fast:120ms;--t-base:200ms;--t-slow:380ms}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--white)}body{background:transparent;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4{margin:0;line-height:1.15;letter-spacing:-.02em;font-weight:750;color:var(--ink)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{margin:0}a{color:var(--violet-700);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--violet-600);border-radius:4px}.page{flex:1 1;width:100%;max-width:760px;margin:0 auto;padding:var(--s-8) var(--s-5) var(--s-9)}.page--wide{max-width:1060px}.page--narrow{max-width:440px}.stack{flex-direction:column;gap:var(--s-4)}.row,.stack{display:flex}.row{align-items:center;gap:var(--s-3)}.row--between{justify-content:space-between}.center{text-align:center}.muted{color:var(--gray)}.btn,.small{font-size:var(--text-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:12px 22px;border:1.5px solid transparent;border-radius:var(--r-full);font-weight:650;cursor:pointer;white-space:nowrap;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease),background var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.btn,.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn--primary{background:var(--violet-700);color:var(--white)}.btn--primary:hover:not(:disabled){background:var(--violet-600);box-shadow:var(--shadow-violet)}.btn--accent{background:var(--yellow-400);color:var(--ink);box-shadow:var(--shadow-sm)}.btn--accent:hover:not(:disabled){background:#ffd83d;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--ghost{background:transparent;color:var(--violet-700);border-color:var(--line)}.btn--ghost:hover:not(:disabled){background:var(--violet-50);border-color:var(--violet-300)}.btn--quiet{background:transparent;color:var(--gray);padding:8px 12px}.btn--quiet:hover:not(:disabled){color:var(--ink);background:var(--surface)}.btn--lg{padding:15px 30px;font-size:var(--text-base)}.btn--block{width:100%}.card{background:var(--white);border:1px solid var(--line);padding:var(--s-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}.card--link{display:block;color:inherit;cursor:pointer}.card--link:hover{text-decoration:none;border-color:var(--violet-300)}.field{display:flex;flex-direction:column;gap:var(--s-2);text-align:left}.label{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.input,.textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);font-size:var(--text-base);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--gray-2)}.input:focus,.textarea:focus{outline:none}.textarea{resize:vertical;min-height:180px;line-height:1.6;font-family:inherit}.alert{display:flex;gap:var(--s-2);align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);font-size:var(--text-sm);text-align:left;animation:fade-up var(--t-base) var(--ease-out)}.alert--error{background:var(--error-bg);color:var(--error);border:1px solid #fecaca}.alert--note{background:var(--yellow-200);color:#854d0e;border:1px solid #fde68a}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-full);background:var(--violet-100);color:var(--violet-700);font-size:var(--text-xs);font-weight:650;letter-spacing:.01em}.badge--accent{background:var(--yellow-200);color:#854d0e}.progress{height:6px;background:var(--violet-100)}.progress,.progress__bar{border-radius:var(--r-full)}.progress__bar{height:100%;background:var(--violet-600);transition:width var(--t-slow) var(--ease-out)}.divider{height:1px;border:0;margin:var(--s-5) 0}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}.animate-in{animation:fade-up var(--t-slow) var(--ease-out) both}.delay-1{animation-delay:60ms}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}.spinner{width:16px;height:16px;flex:none;border:2px solid hsla(0,0%,100%,.35);border-top-color:currentcolor;border-radius:50%;animation:spin .6s linear infinite}.spinner--ink{border-color:var(--violet-200);border-top-color:var(--violet-700)}.skeleton{background:linear-gradient(90deg,var(--violet-50) 25%,var(--violet-100) 37%,var(--violet-50) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--r-md)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:640px){:root{--text-3xl:1.875rem;--text-4xl:2.25rem;--text-2xl:1.5rem}.page{padding:var(--s-6) var(--s-4) var(--s-8)}.card{padding:var(--s-4)}.btn{padding:12px 18px}.btn--lg{padding:14px 24px}.hide-sm{display:none!important}.actions-sm-stack{flex-direction:column;align-items:stretch;width:100%}.actions-sm-stack .btn{width:100%}}.nav{top:0;z-index:50;display:flex;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-5);background:hsla(0,0%,100%,.82);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}.nav,.nav__brand{align-items:center}.nav__brand{display:inline-flex;gap:var(--s-2);font-weight:800;font-size:var(--text-lg);letter-spacing:-.03em;color:var(--ink)}.nav__brand:hover{text-decoration:none}.nav__mark{width:26px;height:26px;border-radius:8px;flex:none;background:var(--violet-700);display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:transform var(--t-base) var(--ease-out)}.nav__brand:hover .nav__mark{transform:rotate(-8deg) scale(1.06)}.nav__links{display:flex;align-items:center;gap:var(--s-1)}.nav__link{padding:8px 12px;border-radius:var(--r-full);font-size:var(--text-sm);font-weight:600;color:var(--ink-2);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.nav__link:hover{background:var(--violet-50);color:var(--violet-700);text-decoration:none}.nav__link--active{background:var(--violet-100);color:var(--violet-700)}.footer{padding:var(--s-5);border-top:1px solid var(--line);text-align:center;font-size:var(--text-sm);color:var(--gray-2)}@media (max-width:640px){.nav{padding:var(--s-3) var(--s-4)}.nav__link{padding:8px 10px}}.hero{position:relative;padding:var(--s-9) var(--s-5) var(--s-8);text-align:center;overflow:hidden}.hero:before{inset:-40% 50% auto -10%;height:560px;background:radial-gradient(closest-side,rgba(124,58,237,.13),transparent 70%)}.hero:after,.hero:before{content:"";position:absolute;pointer-events:none}.hero:after{inset:-30% -10% auto 55%;height:480px;background:radial-gradient(closest-side,rgba(250,204,21,.16),transparent 70%)}.hero__inner{position:relative;max-width:720px;margin:0 auto}.hero h1{font-size:var(--text-4xl);letter-spacing:-.035em;margin:var(--s-4) 0 var(--s-4)}.hero__sub{font-size:var(--text-lg);color:var(--ink-2);max-width:560px;margin:0 auto var(--s-6)}.hero__actions{display:flex;gap:var(--s-3);justify-content:center;flex-wrap:wrap}.hero__note{margin-top:var(--s-4);font-size:var(--text-sm);color:var(--gray)}.section{padding:var(--s-8) var(--s-5)}.section--tint{background:var(--surface);border-block:1px solid var(--line)}.section__inner{max-width:1060px;margin:0 auto}.section__head{max-width:620px;margin:0 auto var(--s-7);text-align:center}.section__head p{color:var(--gray);margin-top:var(--s-3)}.grid{display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.step__num{place-items:center;width:32px;height:32px;border-radius:var(--r-full);background:var(--violet-700);color:#fff;font-size:var(--text-sm);font-weight:700}.feature__icon,.step__num{display:grid;margin-bottom:var(--s-3)}.feature__icon{place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--violet-100);color:var(--violet-700)}.feature h3{font-size:var(--text-lg);margin-bottom:var(--s-2)}.feature p{color:var(--gray);font-size:var(--text-sm)}.cta-band{max-width:1060px;margin:0 auto;background:var(--violet-700);padding:var(--s-8) var(--s-5);text-align:center;color:#fff}.cta-band h2{color:#fff;margin-bottom:var(--s-3)}.cta-band p{color:var(--violet-200);max-width:460px;margin:0 auto var(--s-5)}@media (max-width:860px){.grid--3{grid-template-columns:1fr 1fr}}@media (max-width:640px){.hero{padding:var(--s-7) var(--s-4) var(--s-6)}.section{padding:var(--s-7) var(--s-4)}.grid--2,.grid--3{grid-template-columns:1fr}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn{width:100%}.cta-band{border-radius:var(--r-lg);padding:var(--s-7) var(--s-4)}}.page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6)}.page__head p{color:var(--gray);margin-top:var(--s-2);font-size:var(--text-sm)}.deck{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.deck__title{font-weight:650;letter-spacing:-.01em;margin-bottom:6px}.deck__meta{display:flex;gap:var(--s-3);font-size:var(--text-sm);color:var(--gray);flex-wrap:wrap}.deck__actions{display:flex;gap:var(--s-2);flex:none}.empty{text-align:center;padding:var(--s-8) var(--s-5);border:1.5px dashed var(--violet-200);border-radius:var(--r-lg);background:var(--violet-50)}.empty__icon{display:grid;place-items:center;margin:0 auto var(--s-4);width:52px;height:52px;border-radius:var(--r-full);background:var(--white);color:var(--violet-600)}.empty h3{margin-bottom:var(--s-2)}.empty p{color:var(--gray);max-width:380px;margin:0 auto var(--s-5);font-size:var(--text-sm)}@media (max-width:640px){.deck,.page__head{flex-direction:column}.deck{align-items:stretch}.deck__actions{width:100%}.deck__actions .btn{flex:1 1}}.drop{position:relative;display:grid;place-items:center;padding:var(--s-7) var(--s-5);text-align:center;border:1.5px dashed var(--violet-200);border-radius:var(--r-lg);background:var(--violet-50);cursor:pointer;transition:border-color var(--t-base) var(--ease),background var(--t-base) var(--ease),transform var(--t-base) var(--ease)}.drop:hover{background:var(--violet-100)}.drop--active{transform:scale(1.01);border-style:solid}.drop--done{border-style:solid;border-color:var(--success);background:#f0fdf4}.drop__icon{margin-bottom:var(--s-3)}.drop__title{font-weight:650;margin-bottom:var(--s-1)}.drop__hint{font-size:var(--text-sm);color:var(--gray)}.counter{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--gray-2)}.counter--warn{color:var(--yellow-600);font-weight:650}.working{text-align:center;padding:var(--s-8) var(--s-5)}.working__ring{width:40px;height:40px;margin:0 auto var(--s-4);border:3px solid var(--violet-100);border-top-color:var(--violet-600);border-radius:50%;animation:spin .7s linear infinite}.working__step{color:var(--gray);font-size:var(--text-sm);animation:pulse-soft 1.8s ease-in-out infinite}.study__bar{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-5)}.study__bar .progress{flex:1 1}.flip{perspective:1400px;margin-bottom:var(--s-4)}.flip__inner{position:relative;min-height:260px;transform-style:preserve-3d;transition:transform var(--t-slow) var(--ease-out);cursor:pointer}.flip--revealed .flip__inner{transform:rotateX(180deg)}.flip__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-6);text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--r-lg);border:1.5px solid var(--line);background:var(--white)}.flip__face--back{transform:rotateX(180deg);background:var(--violet-50)}.flip__label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--gray-2)}.flip__text{font-size:var(--text-lg);line-height:1.5;max-width:52ch}.flip__cue{font-size:var(--text-sm);color:var(--gray)}.kbd{display:inline-block;padding:1px 6px;margin:0 2px;border:solid var(--line);border-width:1px 1px 2px;background:var(--white);font-size:var(--text-xs);font-weight:600;color:var(--ink-2)}.grade{display:flex;gap:var(--s-3)}.grade .btn{flex:1 1}.btn--again{background:var(--white);color:var(--ink-2);border-color:var(--line)}.btn--again:hover:not(:disabled){border-color:var(--yellow-400);background:var(--yellow-200)}.btn--got{background:var(--success);color:#fff}.btn--got:hover:not(:disabled){background:#047857;transform:translateY(-1px);box-shadow:var(--shadow-md)}.done__ring{display:grid;place-items:center;margin:0 auto var(--s-4);width:64px;height:64px;border-radius:var(--r-full);background:var(--violet-100);color:var(--violet-700)}@media (max-width:640px){.flip__inner{min-height:300px}.flip__text{font-size:var(--text-base)}.grade{flex-direction:column}}.q__text{font-size:var(--text-lg);line-height:1.45;margin-bottom:var(--s-5)}.options{flex-direction:column}.option,.options{display:flex;gap:var(--s-3)}.option{align-items:center;width:100%;padding:14px 16px;text-align:left;background:var(--white);border:1.5px solid var(--line);cursor:pointer;font-size:var(--text-base);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.option:hover:not(:disabled){border-color:var(--violet-300);background:var(--violet-50);transform:translateX(2px)}.option:disabled{cursor:default}.option__key{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:var(--r-full);border:1.5px solid var(--line);font-size:var(--text-xs);font-weight:700;color:var(--gray)}.option--correct{border-color:var(--success);background:#f0fdf4}.option--correct .option__key{background:var(--success);border-color:var(--success);color:#fff}.option--wrong{border-color:var(--error);background:var(--error-bg)}.option--wrong .option__key{background:var(--error);border-color:var(--error);color:#fff}.option--muted{opacity:.55}.explain{margin-top:var(--s-5);padding:var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--text-sm);animation:fade-up var(--t-base) var(--ease-out)}.explain strong{display:block;margin-bottom:4px}.score{font-size:var(--text-4xl);font-weight:800;color:var(--violet-700);letter-spacing:-.03em}:root[data-theme=dark]{--white:#14111c;--surface:#1b1725;--ink:#f2effa;--ink-2:#c9c2dc;--gray:#9a93ad;--gray-2:#726b85;--line:#2e2740;--violet-50:#211b33;--violet-100:#2b2247;--violet-200:#3b2f63;--violet-300:#5b4a94;--violet-500:#9b7df8;--violet-600:#a78bfa;--violet-700:#b79dfb;--violet-900:#ddd2fe;--yellow-200:#3a2f12;--yellow-600:#fbcf48;--error-bg:#351a1e;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 4px 12px rgba(0,0,0,.45);--shadow-lg:0 12px 32px rgba(0,0,0,.5)}:root[data-theme=dark] .nav{background:rgba(20,17,28,.82)}:root[data-theme=dark] .btn--accent,:root[data-theme=dark] .btn--primary{color:#16121f}:root[data-theme=dark] .option--correct{background:#123026}:root[data-theme=dark] .option--wrong{background:#351a1e}:root[data-theme=dark] .drop--done{background:#123026}:root[data-theme=dark] .cta-band h2{color:#16121f}:root[data-theme=dark] .cta-band p{color:#3b2f63}.theme-toggle{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid var(--line);border-radius:var(--r-full);background:transparent;color:var(--ink-2);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.theme-toggle:hover{background:var(--violet-50);color:var(--violet-700)}.toolbar{display:flex;gap:var(--s-3);align-items:center;margin-bottom:var(--s-5);flex-wrap:wrap}.search{position:relative;flex:1 1;min-width:200px}.search input{padding-left:38px}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--gray-2);pointer-events:none}.pills{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-5)}.pill{padding:7px 14px;border-radius:var(--r-full);border:1.5px solid var(--line);background:var(--white);font-size:var(--text-sm);font-weight:600;color:var(--ink-2);cursor:pointer;transition:all var(--t-fast) var(--ease)}.pill:hover{border-color:var(--violet-300);color:var(--violet-700)}.pill--on{background:var(--violet-700);border-color:var(--violet-700);color:#fff}.tabs{display:flex;gap:var(--s-1);border-bottom:1px solid var(--line);margin-bottom:var(--s-5);overflow-x:auto}.tab{padding:10px 16px;background:none;cursor:pointer;font-size:var(--text-sm);font-weight:650;color:var(--gray);border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.tab:hover{color:var(--ink)}.tab--on{color:var(--violet-700);border-bottom-color:var(--violet-700)}.modal-bg{position:fixed;inset:0;z-index:100;background:rgba(26,21,35,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:var(--s-4);animation:fade-up var(--t-fast) var(--ease-out)}.modal{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:var(--s-6);width:100%;max-width:520px;max-height:88vh;overflow-y:auto}.modal h3{margin-bottom:var(--s-4)}.crow{display:flex;gap:var(--s-3);align-items:flex-start}.crow__body{flex:1 1;min-width:0}.crow__q{font-weight:600;margin-bottom:4px}.crow__a{color:var(--gray);font-size:var(--text-sm)}.crow__tools{display:flex;gap:4px;flex:none}.icon-btn{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white);color:var(--gray);cursor:pointer;transition:all var(--t-fast) var(--ease)}.icon-btn:hover{color:var(--violet-700);border-color:var(--violet-300);background:var(--violet-50)}.icon-btn--danger:hover{color:var(--error);border-color:#fecaca;background:var(--error-bg)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--s-4);gap:var(--s-4);margin-bottom:var(--s-6)}.stat{text-align:center}.stat__n{font-size:var(--text-3xl);font-weight:800;color:var(--violet-700);letter-spacing:-.03em;line-height:1.1}.stat__l{font-size:var(--text-xs);color:var(--gray);text-transform:uppercase;letter-spacing:.07em;font-weight:650;margin-top:4px}.activity{display:flex;gap:3px;flex-wrap:wrap}.activity__day{width:14px;height:14px;border-radius:3px;background:var(--violet-100)}.activity__day[data-level="1"]{background:var(--violet-300)}.activity__day[data-level="2"]{background:var(--violet-500)}.activity__day[data-level="3"]{background:var(--violet-700)}.bar-row{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);font-size:var(--text-sm)}.bar-row__label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row__track{width:120px;height:8px;background:var(--violet-100);border-radius:var(--r-full);overflow:hidden;flex:none}.bar-row__fill{height:100%;background:var(--violet-600);border-radius:var(--r-full)}.bar-row__val{width:44px;text-align:right;flex:none;color:var(--gray);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat{display:flex;flex-direction:column;gap:var(--s-4);min-height:50vh}.msg{max-width:82%;padding:12px 16px;border-radius:var(--r-lg);font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap}.msg--me{align-self:flex-end;background:var(--violet-700);color:#fff;border-bottom-right-radius:5px}.msg--ai{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px}.chat__composer{display:flex;gap:var(--s-2);position:-webkit-sticky;position:sticky;bottom:var(--s-4);background:var(--white);padding-top:var(--s-3)}.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--violet-700)}.timer--low{color:var(--error);animation:pulse-soft 1s ease-in-out infinite}.exam-q{padding-bottom:var(--s-5);border-bottom:1px solid var(--line);margin-bottom:var(--s-5)}.exam-q:last-child{border-bottom:none}.streak{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--yellow-600)}.summary-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4);font-size:var(--text-sm);line-height:1.7;white-space:pre-wrap}.switch{display:flex;align-items:center;gap:var(--s-3);justify-content:space-between}@media (max-width:640px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.msg{max-width:92%}.bar-row__track{width:70px}}.nav__sheet{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:2px;padding:var(--s-3);background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);animation:fade-up var(--t-fast) var(--ease-out)}.nav{position:-webkit-sticky;position:sticky}@media (max-width:720px){.nav [data-mobile-menu]{display:grid!important}.nav__links>span[style]{display:none!important}}@media (min-width:721px){.nav__sheet{display:none}}.card.row input[type=checkbox]{width:18px;height:18px;flex:none}:root{--grad-violet:linear-gradient(135deg,#7c3aed,#6d28d9 55%,#5b21b6);--grad-sky:linear-gradient(135deg,#8b5cf6,#a78bfa);--grad-warm:linear-gradient(135deg,#facc15,#fb923c);--grad-surface:linear-gradient(180deg,#fff,#fbfaff);--shadow-xs:0 1px 2px rgba(76,29,149,.05);--shadow-sm:0 2px 4px rgba(76,29,149,.06),0 1px 2px rgba(26,21,35,.04);--shadow-md:0 6px 16px rgba(76,29,149,.08),0 2px 6px rgba(26,21,35,.05);--shadow-lg:0 16px 40px rgba(76,29,149,.12),0 6px 12px rgba(26,21,35,.06);--shadow-glow:0 8px 28px rgba(124,58,237,.28)}:root[data-theme=dark]{--grad-surface:linear-gradient(180deg,#1b1725,#14111c);--shadow-xs:0 1px 2px rgba(0,0,0,.35);--shadow-sm:0 2px 6px rgba(0,0,0,.4);--shadow-md:0 6px 18px rgba(0,0,0,.48);--shadow-lg:0 18px 44px rgba(0,0,0,.55);--shadow-glow:0 8px 28px rgba(139,92,246,.35)}.card{background:var(--grad-surface);transition:box-shadow var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease)}.card--link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn--primary{background:var(--grad-violet);box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){box-shadow:var(--shadow-glow)}.btn--accent{background:var(--grad-warm);color:#3a2500}.badge{box-shadow:inset 0 0 0 1px rgba(124,58,237,.08);-webkit-backdrop-filter:saturate(140%);backdrop-filter:saturate(140%)}.nav__mark{background:var(--grad-violet);box-shadow:0 2px 8px rgba(124,58,237,.35)}.input,.textarea{background:var(--white);box-shadow:var(--shadow-xs)}.input:focus,.textarea:focus{box-shadow:0 0 0 3px var(--violet-100),var(--shadow-xs)}.progress__bar{background:var(--grad-violet)}.flip__face--back{background:linear-gradient(160deg,var(--violet-50),var(--violet-100))}.section--tint{background:var(--grad-surface)}.empty{background:linear-gradient(180deg,var(--violet-50),transparent);border-color:var(--violet-200)}.stat{position:relative}.stat__n{background:var(--grad-violet);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero:after,.hero:before{filter:blur(8px)}.page{animation:page-in var(--t-slow) var(--ease-out)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}::selection{background:var(--violet-200);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--violet-300) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--violet-200);border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--violet-300);background-clip:content-box}.toast-wrap{position:fixed;bottom:var(--s-5);left:50%;transform:translateX(-50%);z-index:200;flex-direction:column;pointer-events:none;width:max-content;max-width:90vw}.toast,.toast-wrap{display:flex;gap:var(--s-2);align-items:center}.toast{padding:11px 18px;border-radius:var(--r-full);background:var(--ink);color:var(--white);font-size:var(--text-sm);font-weight:600;box-shadow:var(--shadow-lg);animation:toast-in var(--t-base) var(--ease-out)}.toast--success{background:var(--success)}.toast--error{background:var(--error)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.cmd-bg{position:fixed;inset:0;z-index:150;background:rgba(26,21,35,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--s-4) var(--s-4);animation:fade-up var(--t-fast) var(--ease-out)}.cmd{width:100%;max-width:480px;background:var(--grad-surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s-4);max-height:70vh;overflow-y:auto}.cmd__input{width:100%;padding:12px 14px;font-size:var(--text-lg);border:none;background:transparent;outline:none;border-bottom:1px solid var(--line);margin-bottom:var(--s-3)}.cmd__list{display:flex;flex-direction:column;gap:2px}.cmd__item{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border:none;background:transparent;border-radius:var(--r-md);cursor:pointer;font-size:var(--text-sm);font-weight:600;color:var(--ink);text-align:left;transition:background var(--t-fast) var(--ease)}.cmd__item:hover{background:var(--violet-50);color:var(--violet-700)}.cmd__empty{padding:var(--s-4);text-align:center;color:var(--gray);font-size:var(--text-sm)}.cmd__foot{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line);text-align:center}.cmd__foot,.cmd__group{font-size:var(--text-xs);color:var(--gray-2)}.cmd__group{font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--s-2)}.cmd__shortcut{display:flex;justify-content:space-between;align-items:center;padding:6px 0}:root{--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-lg:1.0625rem;--text-xl:1.3125rem;--text-2xl:1.625rem;--text-3xl:2.125rem;--text-4xl:2.875rem;--r-sm:6px;--r-md:9px;--r-lg:13px;--r-xl:20px;--shadow-xs:0 1px 2px rgba(20,17,28,.04);--shadow-sm:0 1px 3px rgba(20,17,28,.06),0 1px 2px rgba(20,17,28,.04);--shadow-md:0 4px 14px rgba(20,17,28,.07),0 1px 3px rgba(20,17,28,.05);--shadow-lg:0 12px 34px rgba(76,29,149,.1),0 3px 8px rgba(20,17,28,.06);--shadow-glow:0 6px 22px rgba(124,58,237,.22);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-out:cubic-bezier(.16,1,.3,1);--t-fast:140ms;--t-base:240ms;--t-slow:440ms;--line:#ece9f3}:root[data-theme=dark]{--line:#2a2340}body{letter-spacing:-.011em}h1,h2,h3,h4{letter-spacing:-.025em;font-weight:720}h1{font-weight:780}.card{border-radius:var(--r-lg);box-shadow:var(--shadow-xs);border-color:var(--line)}.card--link{transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease)}.card--link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--violet-200)}.btn{border-radius:var(--r-md);font-weight:600;letter-spacing:-.01em;transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-base) var(--ease-out),background var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.btn:active{transform:scale(.97)}.btn--primary:hover:not(:disabled){transform:translateY(-1px)}.btn--lg{border-radius:var(--r-lg)}.input,.textarea{border-radius:var(--r-md);box-shadow:none;border-color:var(--line)}.input:focus,.textarea:focus{box-shadow:0 0 0 3px var(--violet-100);border-color:var(--violet-500)}.pill{border-radius:var(--r-md);border-color:var(--line)}.nav{padding-block:10px;border-bottom-color:var(--line)}.nav__mark{border-radius:7px}.badge{border-radius:var(--r-sm);font-size:.75rem;padding:4px 9px;letter-spacing:.02em}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:rise var(--t-slow) var(--ease-out) both}.section__head h2{letter-spacing:-.03em}.flip{perspective:1600px}.flip__inner{transition:transform var(--t-slow) var(--ease-spring);will-change:transform}.flip__face{border-radius:var(--r-xl);border:1px solid var(--line);box-shadow:var(--shadow-md)}.flip__face--back{background:linear-gradient(155deg,var(--violet-50),var(--violet-100));border-color:var(--violet-200)}.flip__label{font-size:.75rem;letter-spacing:.08em}.flip{animation:card-swap var(--t-base) var(--ease-out)}@keyframes card-swap{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.grade .btn{animation:rise var(--t-base) var(--ease-out) both}.grade .btn:first-child{animation-delay:0ms}.grade .btn:nth-child(2){animation-delay:40ms}.grade .btn:nth-child(3){animation-delay:80ms}.grade .btn:nth-child(4){animation-delay:.12s}.option{border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease-spring)}.option--correct,.option--wrong{animation:pop var(--t-base) var(--ease-spring)}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.progress{border-radius:999px;overflow:hidden}.progress__bar{transition:width var(--t-slow) var(--ease-spring)}.score{animation:score-in var(--t-slow) var(--ease-spring) both}@keyframes score-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.done__ring{animation:score-in var(--t-slow) var(--ease-spring) both}.empty{border-radius:var(--r-xl);border:1px solid var(--line);background:linear-gradient(180deg,var(--violet-50),transparent 80%);padding:var(--s-9) var(--s-5);animation:rise var(--t-slow) var(--ease-out) both}.empty__icon{width:56px;height:56px;border-radius:var(--r-lg);box-shadow:var(--shadow-sm);animation:score-in var(--t-slow) var(--ease-spring) both}.empty h3{font-size:var(--text-xl)}.deck{transition:transform var(--t-base) var(--ease-out)}.deck__actions{opacity:.92;transition:opacity var(--t-fast) var(--ease)}.card.deck:hover .deck__actions{opacity:1}.skeleton{border-radius:var(--r-lg)}.search input{border-radius:var(--r-md)}.modal{border-radius:var(--r-xl);animation:modal-in var(--t-base) var(--ease-spring)}@keyframes modal-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.cmd{border-radius:var(--r-xl);animation:modal-in var(--t-base) var(--ease-spring)}.nav__link{position:relative}.nav__link:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--violet-600);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform var(--t-base) var(--ease-spring)}.nav__link--active:after,.nav__link:hover:after{transform:scaleX(1)}.hero{padding-top:var(--s-9)}.hero h1{letter-spacing:-.04em;line-height:1.04;font-weight:800}.hero__sub{letter-spacing:-.01em}.hero .badge{animation:rise var(--t-slow) var(--ease-out) both;background:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--line);color:var(--violet-700)}.hero:after,.hero:before{animation:drift 14s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate(0)}to{transform:translate(24px,-18px)}}.feature__icon,.step__num{animation:score-in var(--t-slow) var(--ease-spring) both;border-radius:var(--r-md)}.cta-band{background:var(--grad-violet);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.cta-band h2{letter-spacing:-.035em}:focus-visible{outline:2px solid var(--violet-500);outline-offset:2px;border-radius:var(--r-sm)}.btn:focus-visible{outline-offset:3px}.card--link:focus-visible{outline-offset:4px}.btn--primary{position:relative;overflow:hidden}.btn--primary:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsla(0,0%,100%,.14),transparent 45%);pointer-events:none}@media (hover:none){.card--link:active,.option:active{transform:scale(.99)}}.skeleton{background-size:200% 100%}.skeleton--row{height:74px;margin-bottom:var(--s-3)}.skeleton--title{height:34px;width:45%;margin-bottom:var(--s-4);border-radius:var(--r-sm)}.skeleton--line{height:14px;margin-bottom:10px;border-radius:var(--r-sm)}.skeleton--line.short{width:60%}.divider{background:var(--line)}a{text-underline-offset:2px}.bar-row__val,.counter,.deck__meta,.score,.stat__n,.timer{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.section{padding-block:calc(var(--s-8) + var(--s-3))}.card h3{margin-bottom:var(--s-1)}.kbd{border-radius:5px;font-size:.75rem;box-shadow:0 1px 0 var(--line);background:var(--surface);padding:2px 6px}.btn,.card,.flip__face,.input,.nav,.textarea,body{transition-property:background-color,border-color,color;transition-duration:var(--t-base);transition-timing-function:var(--ease)}:root[data-theme=dark]{--white:#0f0d16;--surface:#171320;--ink:#f4f1fb;--ink-2:#cbc3de;--gray:#948bab;--gray-2:#6b6382;--line:#241e36;--violet-50:#1a1528;--violet-100:#241c3b;--grad-surface:linear-gradient(180deg,#171320,#120f1b);--grad-violet:linear-gradient(135deg,#7c3aed,#6d28d9)}:root[data-theme=dark] body{background:radial-gradient(60vw 40vh at 15% -5%,rgba(124,58,237,.08),transparent 70%),radial-gradient(50vw 35vh at 95% 0,rgba(250,204,21,.05),transparent 70%),var(--white);background-attachment:fixed}:root[data-theme=dark] .card{box-shadow:0 1px 0 hsla(0,0%,100%,.02),var(--shadow-sm)}:root[data-theme=dark] .nav{background:rgba(15,13,22,.72);border-bottom-color:var(--line)}:root[data-theme=dark] .kbd{background:#1e1830;box-shadow:0 1px 0 #000}:root[data-theme=dark] .btn--primary:after{background:linear-gradient(180deg,hsla(0,0%,100%,.1),transparent 45%)}:root[data-theme=dark] .flip__face{background:var(--surface)}:root[data-theme=dark] .flip__face--back{background:linear-gradient(155deg,#1e1633,#241c3b)}:root[data-theme=dark] ::selection{background:rgba(124,58,237,.4);color:#fff}:root[data-theme=dark] .hero .badge{background:var(--surface)}.lp-hero{position:relative;overflow:hidden;padding:var(--s-9) var(--s-5) var(--s-8)}.lp-hero__glow{position:absolute;inset:-30% 0 auto 0;height:620px;pointer-events:none;background:radial-gradient(40vw 40vh at 25% 20%,rgba(124,58,237,.16),transparent 70%),radial-gradient(35vw 35vh at 80% 10%,rgba(250,204,21,.14),transparent 70%);animation:drift 16s ease-in-out infinite alternate}.lp-hero__inner{position:relative;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;grid-gap:var(--s-7);gap:var(--s-7)}.lp-hero__title{font-size:clamp(2.5rem,6vw,4rem);line-height:1.02;letter-spacing:-.045em;font-weight:820;margin:var(--s-4) 0}.lp-grad{background:linear-gradient(120deg,#7c3aed,#a78bfa 60%,#facc15);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lp-hero__sub{font-size:var(--text-lg);color:var(--ink-2);max-width:30rem;margin-bottom:var(--s-6)}.lp-hero__actions{display:flex;gap:var(--s-3);flex-wrap:wrap}.lp-hero__note{margin-top:var(--s-4);font-size:var(--text-sm);color:var(--gray)}.lp-hero__art{display:flex;justify-content:center}.lp-strip{border-block:1px solid var(--line);background:var(--surface)}.lp-strip__inner{max-width:1080px;margin:0 auto;padding:var(--s-4) var(--s-5);display:flex;gap:var(--s-6);justify-content:space-between;flex-wrap:wrap}.lp-strip__item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.lp-strip__item span{font-size:1.15rem}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-4);gap:var(--s-4)}.lp-step{padding:var(--s-6) var(--s-5);border-radius:var(--r-xl);border:1px solid var(--line);background:var(--grad-surface);box-shadow:var(--shadow-xs);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.lp-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.lp-step__num{display:inline-grid;width:48px;height:48px;border-radius:14px;color:var(--violet-700)}.lp-step h3{font-size:var(--text-lg);margin-bottom:var(--s-2)}.lp-step p{color:var(--gray);font-size:var(--text-sm)}.lp-features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-4);gap:var(--s-4)}.lp-feature{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-5);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--grad-surface);box-shadow:var(--shadow-xs);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease)}.lp-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--violet-200)}.lp-feature__icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--violet-100);color:var(--violet-700)}.lp-feature h3{font-size:var(--text-base);margin-bottom:4px}.lp-feature p{color:var(--gray);font-size:var(--text-sm);line-height:1.55}.lp-science{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:var(--s-7);gap:var(--s-7);align-items:center}.lp-science__art{display:flex;justify-content:center}.lp-science__copy h2{margin:var(--s-3) 0}.lp-science__copy p{font-size:var(--text-base);line-height:1.7}.cta-band{display:flex;flex-direction:column;align-items:center;gap:var(--s-3)}.cta-band .mascot{margin-bottom:var(--s-2)}@media (max-width:900px){.lp-hero__inner{grid-template-columns:1fr;text-align:center}.lp-hero__copy{order:2}.lp-hero__art{order:1}.lp-hero__sub{margin-inline:auto}.lp-hero__actions{justify-content:center}.lp-science{grid-template-columns:1fr;text-align:center}.lp-features{grid-template-columns:1fr 1fr}}@media (max-width:640px){.lp-features,.lp-steps{grid-template-columns:1fr}.lp-strip__inner{gap:var(--s-3);justify-content:center}.lp-feature{text-align:left}}.chips{flex-wrap:wrap;margin-bottom:var(--s-6)}.chip-stat,.chips{display:flex;gap:var(--s-3)}.chip-stat{align-items:center;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--grad-surface);box-shadow:var(--shadow-xs);min-width:130px;transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.chip-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.chip-stat__ico{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;font-size:1.15rem}.chip-stat__n{font-size:var(--text-xl);font-weight:800;line-height:1;letter-spacing:-.03em}.chip-stat__l{font-size:var(--text-xs);color:var(--gray);font-weight:600;margin-top:3px}@media (max-width:640px){.chips{gap:var(--s-2)}.chip-stat{min-width:calc(50% - var(--s-2));flex:1 1}}.card.deck{position:relative;overflow:hidden;padding-left:calc(var(--s-5) + 4px)}.card.deck:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad-violet);opacity:0;transition:opacity var(--t-base) var(--ease)}.card.deck:hover:before{opacity:1}.deck__title a{transition:color var(--t-fast) var(--ease)}.card.deck:hover .deck__title a{color:var(--violet-700)}.flip__inner{min-height:300px}.flip__text{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em}.flip__face{padding:var(--s-7) var(--s-6)}.q__text{font-size:var(--text-xl);font-weight:650;letter-spacing:-.02em}.section__head h2{font-size:var(--text-3xl)}.drop{border-radius:var(--r-xl);border-width:2px;background:linear-gradient(180deg,var(--violet-50),transparent 90%);padding:var(--s-8) var(--s-5);transition:border-color var(--t-base) var(--ease),background var(--t-base) var(--ease),transform var(--t-base) var(--ease-spring)}.drop:hover{border-color:var(--violet-500);transform:scale(1.005)}.drop--active{transform:scale(1.02);border-color:var(--violet-600);background:var(--violet-100)}.drop__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--s-3);border-radius:var(--r-lg);background:var(--white);box-shadow:var(--shadow-sm);color:var(--violet-600)}.drop__title{font-size:var(--text-lg);font-weight:700}.working{padding:var(--s-9) var(--s-5)}.working__ring{border-width:4px}.celebrate-canvas{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;z-index:300}.mascot{display:block}.mascot--float{animation:mascot-float 3.5s ease-in-out infinite}@keyframes mascot-float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}.mascot--bounce{animation:mascot-bounce .6s var(--ease-spring)}@keyframes mascot-bounce{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.mascot--wiggle{animation:mascot-wiggle 2.4s ease-in-out infinite;transform-origin:54px 92px}@keyframes mascot-wiggle{0%,to{transform:rotate(0deg)}20%{transform:rotate(-5deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}.mascot__corona{animation:corona-pulse 3s ease-in-out infinite;transform-origin:center}@keyframes corona-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.mascot__sparkles{animation:sparkle-spin 4s linear infinite;transform-origin:54px 54px}@keyframes sparkle-spin{0%{opacity:.5;transform:rotate(0deg) scale(.9)}50%{opacity:1;transform:rotate(10deg) scale(1.05)}to{opacity:.5;transform:rotate(0deg) scale(.9)}}.mascot__zzz{animation:zzz 2.5s ease-in-out infinite;opacity:0}@keyframes zzz{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.option--correct{animation:correct-pop var(--t-base) var(--ease-spring);box-shadow:0 0 0 3px rgba(52,211,153,.35),var(--shadow-md)}@keyframes correct-pop{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}.option--correct .option__key{animation:check-in var(--t-slow) var(--ease-spring)}@keyframes check-in{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.option--wrong{animation:shake .4s var(--ease)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.btn--got:active{transform:scale(.94)}.flip--revealed .flip__face--back{animation:answer-in var(--t-slow) var(--ease-spring)}@keyframes answer-in{0%{filter:brightness(1.15)}to{filter:brightness(1)}}.score{animation:score-bounce .7s var(--ease-spring) both}@keyframes score-bounce{0%{opacity:0;transform:scale(.4)}55%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.progress__bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);transform:translateX(-100%)}.progress__bar{position:relative;overflow:hidden}.chip-stat{animation:rise var(--t-slow) var(--ease-out) both}.chip-stat:first-child{animation-delay:0ms}.chip-stat:nth-child(2){animation-delay:70ms}.chip-stat:nth-child(3){animation-delay:.14s}.chip-stat--hot{box-shadow:0 0 0 1px #fcd34d,0 4px 14px rgba(250,204,21,.25)}.btn--primary.btn--lg:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,hsla(0,0%,100%,.18) 50%,transparent 70%);transform:translateX(-120%);transition:transform var(--t-slow) var(--ease)}.btn--primary.btn--lg{position:relative;overflow:hidden}.btn--primary.btn--lg:hover:before{transform:translateX(120%)}.level-card{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--grad-surface);box-shadow:var(--shadow-xs)}.level-badge{flex:none;position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--grad-violet);color:#fff;box-shadow:var(--shadow-violet)}.level-badge__n{font-size:var(--text-2xl);font-weight:800;line-height:1;letter-spacing:-.03em}.level-badge__l{position:absolute;bottom:-10px;font-size:.75rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;background:var(--ink);color:#fff;padding:2px 7px;border-radius:999px}.level-body{flex:1 1;min-width:0}.level-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}.level-title strong{font-size:var(--text-lg);letter-spacing:-.02em}.level-title span{font-size:var(--text-sm);color:var(--gray);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.xp-track{height:10px;background:var(--violet-100)}.xp-fill,.xp-track{border-radius:999px;overflow:hidden}.xp-fill{height:100%;background:var(--grad-violet);transition:width var(--t-slow) var(--ease-spring);position:relative}.xp-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);transform:translateX(-100%);animation:xp-sheen 2.4s ease-in-out infinite}@keyframes xp-sheen{0%{transform:translateX(-100%)}60%,to{transform:translateX(200%)}}.goal-ring{display:flex;align-items:center;gap:var(--s-4)}.goal-ring svg{flex:none;transform:rotate(-90deg)}.goal-ring__track{stroke:var(--violet-100)}.goal-ring__fill{stroke:url(#goalgrad);stroke-linecap:round;transition:stroke-dashoffset var(--t-slow) var(--ease-spring)}.goal-ring__center{font-size:var(--text-sm);font-weight:800;fill:var(--ink)}.goal-ring__label strong{font-size:var(--text-lg)}.goal-ring__label p{color:var(--gray);font-size:var(--text-sm)}.ach-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-3);gap:var(--s-3)}.ach{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--grad-surface);transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.ach--unlocked{border-color:var(--violet-200)}.ach--unlocked:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ach--locked{opacity:.55}.ach__medal{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--violet-100);color:var(--violet-700)}.ach--unlocked .ach__medal{background:var(--grad-warm);color:#3a2500;box-shadow:var(--shadow-sm)}.ach--locked .ach__medal{background:var(--surface);color:var(--gray-2)}.ach__t{font-size:var(--text-sm);font-weight:700}.ach__d{font-size:var(--text-xs);color:var(--gray)}.reward-pop{position:fixed;left:50%;top:18vh;transform:translateX(-50%);z-index:320;display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-6);border-radius:var(--r-xl);background:var(--grad-surface);border:1px solid var(--violet-200);box-shadow:var(--shadow-lg);animation:reward-in var(--t-slow) var(--ease-spring);max-width:92vw}@keyframes reward-in{0%{opacity:0;transform:translate(-50%,-20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.reward-pop__t{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-700)}.reward-pop__m{font-size:var(--text-lg);font-weight:800;letter-spacing:-.02em}@media (max-width:640px){.ach-grid{grid-template-columns:1fr}}.ph{margin-bottom:var(--s-6)}.ph__row{align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.ph__lead,.ph__row{display:flex;gap:var(--s-4)}.ph__lead{align-items:center;min-width:0}.ph__icon{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;color:var(--pa-ink);background:var(--pa-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pa) 18%,transparent);position:relative;overflow:hidden;animation:ph-pop var(--t-slow) var(--ease-spring) both}.ph__icon:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--pa) 22%,transparent),transparent 70%)}@keyframes ph-pop{0%{opacity:0;transform:scale(.6) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.ph__title{font-size:var(--text-3xl);letter-spacing:-.035em;line-height:1.05}.ph__sub{color:var(--gray);font-size:var(--text-sm);margin-top:4px}.ph__action{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}.ph:after{content:"";display:block;height:3px;width:56px;border-radius:3px;margin-top:var(--s-5);background:linear-gradient(90deg,var(--pa),transparent)}.btn--page{background:var(--pa);color:#fff}.btn--page:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 20px color-mix(in srgb,var(--pa) 35%,transparent);transform:translateY(-1px)}@media (max-width:640px){.ph__icon{width:48px;height:48px;border-radius:13px}.ph__title{font-size:var(--text-2xl)}}.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.ambient__shape{position:absolute;display:block;opacity:.14;filter:blur(1px);will-change:transform}:root[data-theme=dark] .ambient__shape{opacity:.14}.ambient__shape--circle{border-radius:50%;background:currentColor}.ambient__shape--square{border-radius:22%;background:currentColor;transform:rotate(12deg)}.ambient__shape--ring{border-radius:50%;border:26px solid;background:transparent}.ambient__shape--tri{background:currentColor;-webkit-clip-path:polygon(50% 0,0 100%,100% 100%);clip-path:polygon(50% 0,0 100%,100% 100%)}.drift-a{animation:drift-a 9s ease-in-out infinite alternate}.drift-b{animation:drift-b 11s ease-in-out infinite alternate}.drift-c{animation:drift-c 13s ease-in-out infinite alternate}@keyframes drift-a{0%{transform:translate(0) rotate(0deg)}to{transform:translate(120px,-90px) rotate(40deg)}}@keyframes drift-b{0%{transform:translate(0) rotate(0deg) scale(1)}to{transform:translate(-110px,80px) rotate(-32deg) scale(1.18)}}@keyframes drift-c{0%{transform:translate(0) rotate(0deg)}to{transform:translate(95px,105px) rotate(28deg)}}.cta-band,.footer,.lp-hero,.lp-strip,.page,.section{position:relative;z-index:1}.hero-strip{justify-content:space-between;margin-bottom:var(--s-6)}.hero-strip,.hero-strip__stats{display:flex;align-items:center;gap:var(--s-5);flex-wrap:wrap}.hero-strip__stats{min-width:0}.hero-strip__divider{width:1px;align-self:stretch;min-height:48px;background:var(--line)}.hero-strip .chips{margin-bottom:0}.hero-strip__cta,.hero-strip__note{flex:none}.deck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.card.deck-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:calc(var(--s-5) + 4px) var(--s-5) var(--s-5)}.deck-tile:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--spine,var(--violet-600));transition:height var(--t-base) var(--ease)}.deck-tile:hover:before{height:6px}.deck-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.deck-tile .badge{margin-bottom:var(--s-2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-tile__title{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-bottom:var(--s-2);padding-right:64px}.deck-tile__title a{color:inherit;transition:color var(--t-fast) var(--ease)}.deck-tile__title a:hover{text-decoration:none}.deck-tile:hover .deck-tile__title a{color:var(--violet-700)}.deck-tile__status{font-size:var(--text-sm);color:var(--gray)}.deck-tile__status--due{color:var(--ink-2);font-weight:600}.deck-tile__meta{margin-top:auto;padding-top:var(--s-3);padding-bottom:var(--s-4);align-items:center}.progress-mini{height:4px;background:var(--line);border-radius:var(--r-full);overflow:hidden;margin-top:var(--s-2)}.progress-mini__bar{height:100%;border-radius:var(--r-full);background:var(--grad-violet,var(--violet-600));transition:width var(--t-slow) var(--ease-out)}.progress-mini__bar--done{background:var(--success)}.deck-tile__menu{position:absolute;top:var(--s-4);right:var(--s-4);display:flex;gap:2px;padding:3px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);opacity:0;transition:opacity var(--t-fast) var(--ease)}.deck-tile:focus-within .deck-tile__menu,.deck-tile:hover .deck-tile__menu{opacity:1}@media (hover:none){.deck-tile__menu{opacity:1}}.deck-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-full);border:0;padding:0;background:transparent;color:var(--gray);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.deck-tile__icon:hover{background:var(--violet-50);color:var(--violet-700);text-decoration:none}.deck-tile__icon--danger:hover{background:var(--error-bg);color:var(--error)}@media (max-width:720px){.deck-grid{grid-template-columns:minmax(0,1fr)}.hero-strip__divider{display:none}.hero-strip__cta{width:100%}}.mascot__eyes{transform-origin:54px 53px;animation:mascot-blink 5s infinite}@keyframes mascot-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}.mascot__twinkle{transform-box:fill-box;transform-origin:center;animation:mascot-twinkle 2.2s ease-in-out infinite}.mascot__twinkle--b{animation-delay:.7s}.mascot__twinkle--c{animation-delay:1.4s}@keyframes mascot-twinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.7);opacity:.65}}@media (prefers-reduced-motion:reduce){.mascot,.mascot *,.mascot--float,.mascot--wiggle{animation:none!important}}.shelf{margin-bottom:var(--s-7)}.shelf__head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap}.shelf__title{font-size:var(--text-xl);font-weight:750;letter-spacing:-.02em}.shelf__count{font-size:var(--text-sm);color:var(--gray);font-weight:500}.shelf__scroll{display:flex;gap:var(--s-4);overflow-x:auto;scrollbar-width:none;padding:4px var(--s-5) var(--s-4);margin:-4px calc(-1 * var(--s-5)) 0;scroll-snap-type:x proximity}.shelf__scroll::-webkit-scrollbar{display:none}.card.shelf-tile{position:relative;overflow:hidden;flex:0 0 260px;min-height:168px;display:flex;flex-direction:column;scroll-snap-align:start;padding:calc(var(--s-5) + 4px) var(--s-5) var(--s-4);color:inherit}.shelf-tile:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#d97706}.shelf-tile:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--violet-300)}.shelf-tile__flag{align-self:flex-start;margin-bottom:var(--s-2)}.shelf-tile__title{font-weight:700;font-size:var(--text-base);line-height:1.3;letter-spacing:-.01em;margin-bottom:var(--s-4)}.shelf-tile__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-top:auto;padding-top:var(--s-3);border-top:1px solid var(--line)}.shelf-tile__sessions{font-size:var(--text-sm);color:var(--gray)}.arch-tile__cta{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:650;color:var(--violet-700)}.arch-tile__cta svg{transition:transform var(--t-fast) var(--ease)}.shelf-tile:hover .arch-tile__cta svg{transform:translateX(3px)}@media (max-width:720px){.shelf-tile{flex-basis:78%}}.mascot__gaze{animation:mascot-blink 5s infinite,mascot-gaze 7s ease-in-out infinite}@keyframes mascot-gaze{0%,40%,to{translate:0 0}50%,65%{translate:2px 0}75%,90%{translate:-2px 1px}}.member-card{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap;background:linear-gradient(135deg,var(--violet-50),#fef3c7);border-color:var(--violet-200)}:root[data-theme=dark] .member-card{background:linear-gradient(135deg,#1e1633,#2a2010)}.member-card__text{flex:1 1;min-width:200px}.member-note{margin-bottom:var(--s-4)}.linklike{background:none;border:0;padding:0;color:var(--violet-700);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.study__back{width:40px;height:40px;padding:0;border-radius:50%;flex:none}.study__title{font-size:var(--text-lg);text-align:center;color:var(--ink-2);margin-bottom:var(--s-5)}.flip--stack{position:relative;margin-bottom:var(--s-7)}.flip__stack{position:absolute;left:0;right:0;top:0;bottom:0;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--white);box-shadow:var(--shadow-sm);pointer-events:none}.flip__stack--1{transform:translateY(10px) scale(.97);opacity:.85}.flip__stack--2{transform:translateY(20px) scale(.94);opacity:.5}:root[data-theme=dark] .flip__stack{background:var(--surface)}.flip--stack .flip__inner{position:relative;z-index:1}.grade__btn{flex-direction:column;gap:2px;padding:12px 8px}.grade__label{font-weight:700}.grade__meta{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);opacity:.75}.grade__meta .kbd{opacity:.9}@media (max-width:720px){.grade{flex-direction:row;gap:var(--s-2);position:-webkit-sticky;position:sticky;bottom:var(--s-3);z-index:5}.grade__btn{padding:12px 2px}.grade__meta .kbd{display:none}}.up-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:var(--s-7);gap:var(--s-7);align-items:start}.up-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.up-form .tabs{margin-bottom:0}.drop__icon--tile{width:64px;height:64px;margin:0 auto var(--s-3);display:grid;place-items:center;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .drop__icon--tile{background:var(--surface)}.drop__chips{display:flex;justify-content:center;gap:var(--s-2);margin:var(--s-2) 0}.drop__chip{padding:3px 10px;border-radius:var(--r-full);background:var(--white);box-shadow:var(--shadow-sm);font-size:var(--text-xs);font-weight:650;color:var(--violet-700)}:root[data-theme=dark] .drop__chip{background:var(--surface)}.textarea--tall{min-height:320px}.up-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.up-side{position:-webkit-sticky;position:sticky;top:88px;margin-top:44px;background:linear-gradient(160deg,var(--violet-50),var(--white));border-color:var(--violet-100)}:root[data-theme=dark] .up-side{background:linear-gradient(160deg,#1e1633,var(--surface))}.up-side__luna{display:flex;justify-content:center;margin-top:-64px;margin-bottom:var(--s-2)}.up-side h3{text-align:center;font-size:var(--text-lg);margin-bottom:var(--s-4)}.up-side__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3);font-size:var(--text-sm)}.up-side__list li{display:flex;align-items:center;gap:var(--s-2)}.up-side__list svg{color:var(--violet-600);flex:none}@media (max-width:860px){.up-layout{grid-template-columns:minmax(0,1fr);gap:var(--s-6)}.up-side{position:static;margin-top:56px;order:2}.up-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;margin:0 calc(-1 * var(--s-5));padding:var(--s-3) var(--s-5);background:color-mix(in srgb,var(--white) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line)}:root[data-theme=dark] .up-actions{background:color-mix(in srgb,var(--surface) 92%,transparent)}.up-actions .btn--primary{flex:1 1}}.lp-art{position:relative;width:100%;max-width:420px;min-height:450px;margin-inline:auto}.lp-art__luna{position:absolute;top:-10px;right:18px;z-index:1}.lp-art__note{position:absolute;top:96px;right:6px;width:250px;z-index:2;transform:rotate(4deg);box-shadow:var(--shadow-lg);transition:transform var(--t-base) var(--ease-out)}.lp-art__note:hover{transform:rotate(1deg) translateY(-3px)}.lp-art__note-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--violet-100);color:var(--violet-700);margin-bottom:var(--s-3)}.lp-art__note p{font-size:var(--text-sm);color:var(--gray);margin-top:4px;line-height:1.5}.lp-art__progress{position:absolute;left:0;bottom:0;width:230px;z-index:3;transform:rotate(-3deg);box-shadow:var(--shadow-lg);transition:transform var(--t-base) var(--ease-out)}.lp-art__progress:hover{transform:rotate(-1deg) translateY(-3px)}.lp-art__progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-3)}@media (max-width:720px){.lp-art{min-height:440px}.lp-art__note{right:0;width:220px}}@media (prefers-reduced-motion:reduce){.lp-art__note,.lp-art__progress{transition:none}}:root{--gray:#626977;--gray-2:#626977}:root[data-theme=dark]{--gray-2:#8f88a3}@media (pointer:coarse){.theme-toggle{width:44px;height:44px}.btn,.btn--quiet{min-height:44px}.btn--quiet{padding-inline:14px}.pill{display:inline-flex;align-items:center}.nav__link,.pill,.tab{min-height:44px}.nav__link{display:inline-flex;align-items:center}.study__back{width:44px;height:44px}.deck-tile__icon{width:40px;height:40px}.input,.textarea,select.input{min-height:44px}}.u-mt-1{margin-top:var(--s-1)}.u-mb-1{margin-bottom:var(--s-1)}.u-mt-2{margin-top:var(--s-2)}.u-mb-2{margin-bottom:var(--s-2)}.u-mt-3{margin-top:var(--s-3)}.u-mb-3{margin-bottom:var(--s-3)}.u-mt-4{margin-top:var(--s-4)}.u-mb-4{margin-bottom:var(--s-4)}.u-mt-5{margin-top:var(--s-5)}.u-mb-5{margin-bottom:var(--s-5)}.u-mt-6{margin-top:var(--s-6)}.u-mb-6{margin-bottom:var(--s-6)}.u-mt-7{margin-top:var(--s-7)}.u-mb-7{margin-bottom:var(--s-7)}.u-p-6{padding:var(--s-6)}.u-p-7{padding:var(--s-7)}.u-fw-650{font-weight:650}.u-text-2xl{font-size:var(--text-2xl)}.u-flex-none{flex:none}.u-row-center{display:flex;align-items:center;justify-content:center;gap:var(--s-3);flex-wrap:wrap}.u-accent-text{font-weight:600;color:var(--violet-700)}.mascot-wrap{display:flex;justify-content:center;margin-bottom:var(--s-3)}.lp-art2{position:relative;width:100%;max-width:440px;min-height:460px;margin-inline:auto}.lp-art2__luna{position:absolute;top:-34px;right:6px;z-index:3;filter:drop-shadow(0 8px 24px rgba(250,204,21,.35))}.lp-art2__card{position:relative;margin-top:44px;padding:var(--s-6) var(--s-6) var(--s-5);transform:rotate(-3deg);box-shadow:0 10px 40px -12px rgba(124,58,237,.28);border-radius:var(--r-xl)}.lp-art2__tag{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet-600)}.lp-art2__q{margin-top:var(--s-5);font-size:var(--text-xl);font-weight:750;line-height:1.3;letter-spacing:-.02em;max-width:14em}.lp-art2__foot{margin-top:var(--s-7);display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--gray)}.lp-art2__goal{position:absolute;left:-20px;bottom:-34px;z-index:2;width:236px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3);transform:rotate(3deg);box-shadow:0 14px 44px -12px rgba(124,58,237,.32)}@media (max-width:720px){.lp-art2{min-height:400px}.lp-art2__goal{left:0}}.lp-steps--line{position:relative;gap:var(--s-6)}.lp-steps--line:before{content:"";position:absolute;top:28px;left:16%;right:16%;border-top:2px dashed var(--violet-200);z-index:0}.lp-steps--line .lp-step{position:relative;z-index:1;text-align:left}.lp-step__num{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:var(--text-lg);margin-bottom:var(--s-4)}.lp-step__num--violet{background:var(--violet-600);color:#fff}.lp-step__num--amber{background:var(--yellow-400);color:var(--ink)}.lp-step__num--green{background:var(--success);color:#fff}@media (max-width:720px){.lp-steps--line:before{display:none}}.lp-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--s-5);gap:var(--s-5)}.lp-bento__lead{grid-row:span 2;flex-direction:column;align-items:flex-start;gap:var(--s-4)}.lp-bento__wide{grid-column:1/-1;align-items:center}.lp-bento .lp-feature{align-items:flex-start}.lp-bento .lp-feature:not(.lp-bento__lead):not(.lp-bento__wide){flex-direction:column}.lp-intervals{margin-top:auto;width:100%;padding:var(--s-4);border-radius:var(--r-lg);background:var(--violet-50);border:1px solid var(--line)}.lp-intervals__title{font-size:var(--text-xs);font-weight:650;color:var(--gray);margin-bottom:var(--s-3)}.lp-intervals__bars{display:flex;align-items:flex-end;gap:var(--s-2);height:132px}.lp-intervals__col{flex:1 1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.lp-intervals__bar{width:100%;border-radius:6px 6px 0 0;background:var(--violet-600)}.lp-intervals__col span{font-size:var(--text-xs);color:var(--gray)}@media (max-width:860px){.lp-bento{grid-template-columns:1fr}.lp-bento__lead{grid-row:auto}}.lp-quote{font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.15;letter-spacing:-.03em;margin-bottom:var(--s-5)}.lp-science__copy p{font-size:var(--text-lg);color:var(--ink-2);line-height:1.6;margin-bottom:var(--s-5)}.lp-cta{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:var(--s-8) var(--s-7);background:linear-gradient(120deg,var(--violet-700),var(--violet-500) 70%,var(--violet-600));box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--s-6)}.lp-cta__copy{max-width:520px;position:relative;z-index:1}.lp-cta h2{color:#fff;font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.15;margin-bottom:var(--s-3)}.lp-cta p{color:var(--violet-100);margin-bottom:var(--s-5)}.lp-cta__luna{flex:none;margin-bottom:-18px;filter:drop-shadow(0 8px 24px rgba(250,204,21,.3))}:root[data-theme=dark] .lp-cta{background:linear-gradient(120deg,#4c1d95,#6d28d9 70%,#5b21b6)}@media (max-width:720px){.lp-cta{flex-direction:column;text-align:center;padding:var(--s-7) var(--s-5) 0}.lp-cta__luna{margin-bottom:0}}.lp-science{grid-template-columns:1.2fr .8fr}@media (max-width:860px){.lp-science{grid-template-columns:1fr}.lp-science__art{order:-1}}.goal-card{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.goal-card__note{margin-top:var(--s-2)}.stat--icon{text-align:left}.stat--icon .stat__ico{display:inline-flex;color:var(--violet-500);margin-bottom:var(--s-2)}.stat--icon .stat__l{text-transform:none;letter-spacing:0;font-size:var(--text-sm);font-weight:500}.activity--grid,.heat__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.heat__days{margin-bottom:6px;text-align:center;font-size:var(--text-xs);color:var(--gray)}.activity--grid .activity__day{width:auto;height:24px;border-radius:6px}.heat__legend{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:var(--s-4);font-size:var(--text-xs);color:var(--gray)}.heat__legend .activity__day{width:16px;height:16px;border-radius:4px}.weak-row{gap:var(--s-4);margin-bottom:var(--s-4)}.weak-row .bar-row__label{flex:0 0 11rem;font-weight:600;color:var(--ink)}.weak-row__track{flex:1 1;width:auto;height:24px;background:var(--violet-50)}:root[data-theme=dark] .weak-row__track{background:var(--violet-100)}.weak-row__fill{display:flex;align-items:center;justify-content:flex-end;padding-right:var(--s-2);font-size:var(--text-xs);font-weight:700}.weak-row__btn{padding:6px 16px;font-size:var(--text-xs)}@media (max-width:720px){.goal-card,.weak-row{flex-wrap:wrap}.weak-row .bar-row__label{flex:1 1 100%}}.auth{display:grid;grid-template-columns:46fr 54fr;grid-gap:var(--s-6);gap:var(--s-6);align-items:stretch;padding-block:var(--s-6)}.auth__brand{position:relative;overflow:hidden;border-radius:var(--r-xl);color:#fff;background:linear-gradient(160deg,var(--violet-600) 0,#6d28d9 45%,#4c1d95 100%);padding:var(--s-7);display:flex;flex-direction:column;justify-content:center}.auth__blob{position:absolute;border-radius:50%;pointer-events:none}.auth__blob--a{top:-90px;left:-90px;width:320px;height:320px;opacity:.3;background:radial-gradient(circle,#c4b5fd,transparent 70%)}.auth__blob--b{bottom:-60px;right:-60px;width:380px;height:380px;opacity:.22;background:radial-gradient(circle,#facc15,transparent 70%)}.auth__banner,.auth__body{position:relative;z-index:1}.auth__banner{display:none;align-items:center;gap:var(--s-3)}.auth__banner strong{font-size:var(--text-lg);letter-spacing:-.02em;color:#fff}.auth__headline{color:#fff;font-size:2.75rem;line-height:1.08;letter-spacing:-.035em}.auth__pitch{color:var(--violet-100);font-size:var(--text-lg);margin-top:var(--s-4);max-width:26em}.auth__luna{position:relative;display:flex;justify-content:center;align-items:center;margin:var(--s-6) 0}.auth__glow{position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(250,204,21,.5),rgba(250,204,21,0) 68%)}.auth__glow--sm{width:72px;height:72px;left:-8px}.auth__banner>:not(.auth__glow),.auth__luna>:not(.auth__glow){position:relative}.auth__points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3);font-weight:500}.auth__points li{display:flex;align-items:center;gap:var(--s-3)}.auth__check{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--yellow-400);color:#1a1523;flex:none}.auth__card{align-self:center;width:100%;max-width:460px;margin-inline:auto;padding:var(--s-7) var(--s-6);box-shadow:var(--shadow-lg)}.auth__title{font-size:1.75rem;letter-spacing:-.03em}.auth__forgot{align-self:flex-start;font-size:var(--text-sm)}.auth__forgot,.auth__switch{padding:2px 4px;color:var(--violet-700)}.auth__switch{font-weight:700}.seg{display:flex;padding:4px;border-radius:var(--r-full);background:var(--violet-50);margin-bottom:var(--s-6)}.seg__btn{flex:1 1;padding:10px 0;border:0;border-radius:var(--r-full);background:transparent;cursor:pointer;font-size:var(--text-sm);font-weight:650;color:var(--gray);transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.seg__btn--on{background:var(--violet-700);color:#fff;box-shadow:var(--shadow-sm)}:root[data-theme=dark] .seg__btn--on{color:#16121f}.pw{position:relative}.pw__input{padding-right:48px}.pw__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:var(--gray);cursor:pointer;border-radius:50%}.pw__toggle:hover{color:var(--violet-700);background:var(--violet-50)}@media (max-width:860px){.auth{grid-template-columns:minmax(0,1fr);gap:var(--s-5);padding-block:var(--s-4)}.auth__brand{padding:var(--s-4) var(--s-5)}.auth__body{display:none}.auth__banner{display:flex}.auth__card{padding:var(--s-6) var(--s-5)}}