:root{--sky-50: #F0F9FF;--sky-100: #E0F2FE;--sky-200: #BAE6FD;--sky-300: #7DD3FC;--sky-400: #38BDF8;--sky-500: #0EA5E9;--sky-600: #0284C7;--sky-700: #0369A1;--bg: #F8FAFC;--bg-soft: #FAFBFC;--card: #FFFFFF;--border: #E2E8F0;--border-2: #EEF2F6;--t-900: #0F172A;--t-700: #334155;--t-500: #475569;--t-400: #64748B;--t-300: #94A3B8;--g-subj: #3B82F6;--g-verb: #10B981;--g-pron: #F59E0B;--g-obj: #8B5CF6;--g-error: #EF4444;--ok: #22C55E;--warn: #F59E0B;--err: #EF4444;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--sh-1: 0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.04);--sh-2: 0 4px 12px rgba(15,23,42,.06), 0 2px 4px rgba(15,23,42,.04);--sh-3: 0 12px 32px rgba(15,23,42,.08), 0 4px 8px rgba(15,23,42,.04);--sh-glow: 0 18px 40px -12px rgba(14,165,233,.45);--font: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--t-900);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}button{font-family:inherit}a{color:inherit;text-decoration:none}.app{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 24px}.container-wide{max-width:1320px;margin:0 auto;padding:0 24px}.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);background:#f8fafcb8;border-bottom:1px solid rgba(226,232,240,.7)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;font-size:18px;cursor:pointer}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(140deg,var(--sky-300),var(--sky-500));box-shadow:0 6px 14px -6px #0ea5e999;display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px}.brand-mark:after{content:"L";transform:translateY(-1px)}.nav-links{display:flex;gap:6px}.nav-links a{padding:8px 14px;border-radius:999px;color:var(--t-500);font-weight:500;font-size:14.5px;transition:all .2s ease;cursor:pointer}.nav-links a:hover{color:var(--t-900);background:#0ea5e90f}.nav-links a.active{color:var(--sky-700);background:var(--sky-100)}.nav-cta{display:flex;align-items:center;gap:14px}.nav-cta .ghost{color:var(--t-500);cursor:pointer;font-weight:500;font-size:14.5px}.nav-cta .ghost:hover{color:var(--t-900)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:600;font-size:14.5px;letter-spacing:-.005em;cursor:pointer;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:var(--sky-500);color:#fff;box-shadow:0 8px 20px -8px #0ea5e98c}.btn-primary:hover{background:var(--sky-600);transform:translateY(-1px);box-shadow:0 12px 26px -10px #0ea5e9b3}.btn-soft{background:var(--sky-100);color:var(--sky-700)}.btn-soft:hover{background:var(--sky-200)}.btn-ghost{background:transparent;color:var(--t-500);border-color:var(--border)}.btn-ghost:hover{background:#fff;color:var(--t-900)}.btn-lg{padding:16px 28px;font-size:16px;border-radius:999px}.btn-xl{padding:20px 36px;font-size:17px;border-radius:999px}.btn-disabled{opacity:.55;cursor:not-allowed}.btn-disabled:hover{transform:none}.hero{position:relative;overflow:hidden;padding:80px 0 100px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:60px;align-items:center}.hero-grid>*{min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:13px;color:var(--t-500);font-weight:500;box-shadow:var(--sh-1)}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--sky-500);box-shadow:0 0 0 4px #0ea5e92e;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #0ea5e92e}50%{box-shadow:0 0 0 7px #0ea5e914}}.h-title{font-size:clamp(40px,5.4vw,68px);line-height:1.04;letter-spacing:-.035em;font-weight:800;margin:18px 0;text-wrap:balance}.h-title .accent{background:linear-gradient(120deg,var(--sky-500),var(--sky-300));-webkit-background-clip:text;background-clip:text;color:transparent}.h-sub{font-size:19px;line-height:1.55;color:var(--t-500);max-width:520px;text-wrap:pretty}.hero-cta{display:flex;gap:12px;margin-top:32px;align-items:center;flex-wrap:wrap}.hero-meta{display:flex;gap:18px;margin-top:38px;color:var(--t-400);font-size:13.5px}.hero-meta b{color:var(--t-900);font-weight:700;font-size:18px;display:block}.hero-art{position:relative;aspect-ratio:1 / 1;max-width:520px;margin-left:auto}.hero-art .blob{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 40% 40%,var(--sky-200),var(--sky-100) 45%,transparent 70%);filter:blur(6px);animation:blobMove 14s ease-in-out infinite}@keyframes blobMove{0%,to{transform:scale(1) translate(0)}50%{transform:scale(1.06) translate(2%,-2%)}}.float-card{position:absolute;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:14px 16px;display:flex;align-items:center;gap:12px;animation:floaty 7s ease-in-out infinite}.float-card .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;font-weight:700}.float-card .t1{font-weight:700;font-size:14px}.float-card .t2{font-size:12px;color:var(--t-400)}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fc-1{top:8%;left:-4%}.fc-2{top:38%;right:-8%;animation-delay:-2.5s}.fc-3{bottom:8%;left:10%;animation-delay:-5s}.letter-cluster{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.letter{position:absolute;font-weight:800;letter-spacing:-.04em;color:#fff;background:linear-gradient(160deg,var(--sky-400),var(--sky-600));border-radius:22px;display:grid;place-items:center;box-shadow:0 22px 50px -18px #0ea5e999,inset 0 1px #fff6}.letter.l-main{width:56%;aspect-ratio:1/1;font-size:38vmin;max-width:320px;max-height:320px;font-size:clamp(160px,22vw,240px);z-index:2;animation:floaty 9s ease-in-out infinite}.letter.l-2{width:22%;aspect-ratio:1/1;max-width:110px;font-size:clamp(48px,7vw,78px);top:8%;right:10%;background:linear-gradient(160deg,#fff,#e0f2fe);color:var(--sky-600);border:1px solid var(--sky-200);box-shadow:0 18px 40px -16px #0ea5e959;animation:floaty 8s ease-in-out infinite -3s}.letter.l-3{width:18%;aspect-ratio:1/1;max-width:92px;font-size:clamp(42px,6vw,66px);bottom:6%;left:4%;background:linear-gradient(160deg,#fefce8,#fef3c7);color:#b45309;border:1px solid #FDE68A;animation:floaty 7s ease-in-out infinite -5s}.section{padding:80px 0}.section-head{text-align:center;margin-bottom:48px}.section-eyebrow{color:var(--sky-600);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.section-title{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.03em;line-height:1.1;font-weight:800;margin:10px 0 12px;text-wrap:balance}.section-sub{font-size:17px;color:var(--t-500);max-width:620px;margin:0 auto}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.level-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:26px 22px 22px;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,border-color .25s ease;position:relative;overflow:hidden;cursor:pointer}.level-card:hover{transform:translateY(-6px);box-shadow:var(--sh-3)}.level-card.locked{cursor:not-allowed}.level-card.locked:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}.level-card .badge{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;background:#f1f5f9;color:var(--t-400);letter-spacing:.03em}.level-card.active .badge{background:var(--sky-100);color:var(--sky-700)}.level-card .ring{width:56px;height:56px;border-radius:16px;background:linear-gradient(140deg,var(--sky-100),var(--sky-200));color:var(--sky-700);display:grid;place-items:center;font-weight:800;font-size:18px;letter-spacing:-.02em;margin-bottom:18px}.level-card.active .ring{background:linear-gradient(140deg,var(--sky-400),var(--sky-600));color:#fff;box-shadow:0 12px 24px -10px #0ea5e98c}.level-card.locked .ring{background:#f1f5f9;color:var(--t-300)}.level-card .lv-name{font-weight:800;font-size:17px;letter-spacing:-.01em}.level-card .lv-sub{font-size:13px;color:var(--t-500);margin:4px 0 14px;line-height:1.45}.level-card .lv-hours{font-size:12px;color:var(--t-400);margin-bottom:18px}.level-card .lv-btn{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--sky-600)}.level-card.locked .lv-btn{color:var(--t-300)}.level-card.active:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--r-xl);background:linear-gradient(140deg,#0ea5e980,#7dd3fc00);z-index:-1;filter:blur(14px);opacity:.35}.akademik{background:linear-gradient(120deg,#0c4a6e,#0369a1 60%,#0ea5e9);border-radius:var(--r-xl);padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;color:#fff;position:relative;overflow:hidden}.akademik:before{content:"";position:absolute;right:-10%;top:-50%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 60%);filter:blur(20px)}.akademik h3{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.025em;margin:0 0 8px;font-weight:800}.akademik p{color:#ffffffc7;margin:0;font-size:16px;max-width:520px}.akademik .btn{background:#fff;color:var(--sky-700);pointer-events:none;opacity:.8}.akademik .badge-soon{display:inline-block;margin-left:10px;padding:4px 10px;background:#ffffff2e;border-radius:999px;font-size:12px;font-weight:700}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px 28px;transition:transform .25s ease,box-shadow .25s ease}.feature:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.feature .fic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;background:var(--sky-100);color:var(--sky-600)}.feature h4{font-size:19px;font-weight:700;letter-spacing:-.015em;margin:0 0 6px}.feature p{color:var(--t-500);line-height:1.55;margin:0;font-size:15px}.footer{padding:64px 0 40px;border-top:1px solid var(--border);background:#fff}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.footer .brand{margin-bottom:14px}.footer-blurb{color:var(--t-500);font-size:14px;line-height:1.6;max-width:320px}.footer h5{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--t-400);margin:0 0 14px}.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer ul a{color:var(--t-700);font-size:14px;transition:color .15s;cursor:pointer}.footer ul a:hover{color:var(--sky-600)}.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--border-2);display:flex;justify-content:space-between;color:var(--t-400);font-size:13px}.test-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.test-side{background:#fff;border-right:1px solid var(--border);padding:28px 22px;position:sticky;top:0;height:100vh;overflow-y:auto}.test-side .brand{margin-bottom:28px}.side-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--t-400);margin:0 0 14px}.side-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.side-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;font-size:14.5px;font-weight:600;color:var(--t-500);border:1px solid transparent;transition:all .2s ease}.side-item .si-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f1f5f9;color:var(--t-400)}.side-item .si-meta{margin-left:auto;font-size:12px;color:var(--t-300)}.side-item.done{color:var(--t-700)}.side-item.done .si-icon{background:#dcfce7;color:var(--ok)}.side-item.active{color:var(--sky-700);background:var(--sky-50);border-color:var(--sky-200)}.side-item.active .si-icon{background:var(--sky-500);color:#fff}.test-main{padding:28px 40px 80px;max-width:920px;margin:0 auto;width:100%}.test-topbar{display:flex;align-items:center;gap:20px;padding:20px 0 24px}.test-progress{flex:1;height:8px;background:#eef2f6;border-radius:999px;overflow:hidden;position:relative}.test-progress-fill{height:100%;background:linear-gradient(90deg,var(--sky-400),var(--sky-500));border-radius:999px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.test-counter{font-size:14px;font-weight:700;color:var(--t-700);white-space:nowrap}.q-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:36px 40px;box-shadow:var(--sh-1);animation:qIn .45s cubic-bezier(.2,.8,.2,1)}@keyframes qIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.q-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--sky-50);color:var(--sky-700);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px}.q-passage{background:var(--bg);border-left:3px solid var(--sky-300);padding:20px 24px;border-radius:14px;font-size:16.5px;line-height:1.7;color:var(--t-700);margin:18px 0 26px;font-feature-settings:"ss01"}.q-stem{font-size:20px;font-weight:700;letter-spacing:-.015em;line-height:1.4;color:var(--t-900);margin:0 0 22px}.q-options{display:flex;flex-direction:column;gap:10px}.q-opt{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:all .18s ease;font-size:15.5px;color:var(--t-700)}.q-opt:hover{border-color:var(--sky-300);background:var(--sky-50)}.q-opt .lt{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f1f5f9;color:var(--t-500);font-weight:700;font-size:13px;flex-shrink:0}.q-opt.selected{border-color:var(--sky-500);background:var(--sky-50);color:var(--t-900)}.q-opt.selected .lt{background:var(--sky-500);color:#fff}.q-opt.correct{border-color:var(--ok);background:#f0fdf4;color:var(--t-900)}.q-opt.correct .lt{background:var(--ok);color:#fff}.q-opt.wrong{border-color:var(--err);background:#fef2f2;color:var(--t-900)}.q-opt.wrong .lt{background:var(--err);color:#fff}.q-actions{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.listen-stage{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 0 36px}.play-orb{width:132px;height:132px;border-radius:50%;background:linear-gradient(160deg,var(--sky-400),var(--sky-600));display:grid;place-items:center;color:#fff;cursor:pointer;box-shadow:0 24px 60px -18px #0ea5e9b3;position:relative;transition:transform .2s ease}.play-orb:hover{transform:scale(1.04)}.play-orb:before,.play-orb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(14,165,233,.4);animation:wave 2.4s ease-out infinite}.play-orb.playing:before{animation-play-state:running}.play-orb.playing:after{animation-delay:-1.2s;animation-play-state:running}.play-orb:not(.playing):before,.play-orb:not(.playing):after{animation-play-state:paused;opacity:0}@keyframes wave{0%{transform:scale(1);opacity:.7}to{transform:scale(1.8);opacity:0}}.waveform{display:flex;align-items:center;gap:4px;height:56px}.wb{width:4px;background:var(--sky-300);border-radius:4px;height:30%;transition:height .2s ease}.waveform.active .wb{animation:wbAnim 1.2s ease-in-out infinite}@keyframes wbAnim{0%,to{height:25%}50%{height:90%}}.listen-meta{display:flex;gap:12px;color:var(--t-400);font-size:13.5px;align-items:center}.listen-meta .lm-dot{width:4px;height:4px;border-radius:50%;background:var(--t-300)}.mic-stage{display:flex;flex-direction:column;align-items:center;gap:24px;padding:14px 0 28px}.mic-btn{width:132px;height:132px;border-radius:50%;background:#fff;border:1.5px solid var(--border);display:grid;place-items:center;color:var(--sky-600);cursor:pointer;transition:all .2s ease;position:relative}.mic-btn:hover{border-color:var(--sky-400);box-shadow:var(--sh-2)}.mic-btn.recording{background:linear-gradient(160deg,#ef4444,#dc2626);color:#fff;border-color:transparent;box-shadow:0 24px 60px -18px #ef444499}.mic-btn.recording:before,.mic-btn.recording:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(239,68,68,.45);animation:wave 2s ease-out infinite}.mic-btn.recording:after{animation-delay:-1s}.transcript-box{width:100%;padding:24px 26px;background:#fff;border:1px solid var(--border);border-radius:18px;font-size:16.5px;line-height:1.8;color:var(--t-900);min-height:110px;font-feature-settings:"ss01"}.transcript-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--t-500);margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}.tok{padding:1px 4px;border-radius:4px;transition:background .15s}.tok-subj{background:#3b82f61f;color:#1d4ed8}.tok-verb{background:#10b98124;color:#047857}.tok-pron{background:#f59e0b29;color:#b45309}.tok-obj{background:#8b5cf624;color:#6d28d9}.tok-err{color:var(--err);border-bottom:2px wavy var(--err);cursor:help;position:relative}.tok-err:hover .tip{opacity:1;transform:translate(-50%,-100%) translateY(-6px);pointer-events:auto}.tip{position:absolute;left:50%;top:0;transform:translate(-50%,-100%) translateY(0);background:var(--t-900);color:#fff;padding:8px 12px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;transition:opacity .15s ease,transform .15s ease;pointer-events:none;z-index:5}.tip:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translate(-50%);width:0;height:0;border:5px solid transparent;border-top-color:var(--t-900)}.legend{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 4px}.legend .lg-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--t-500)}.legend .sw{width:12px;height:12px;border-radius:4px}.score-bar{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--sky-50);border-radius:14px;margin-top:18px}.score-bar .num{font-weight:800;color:var(--sky-700);font-size:22px;letter-spacing:-.02em}.write-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}.write-area{width:100%;min-height:240px;padding:22px 24px;border:1px solid var(--border);border-radius:18px;font-family:inherit;font-size:16.5px;line-height:1.75;resize:vertical;outline:none;background:#fff;color:var(--t-900);transition:border-color .2s,box-shadow .2s}.write-area:focus{border-color:var(--sky-400);box-shadow:0 0 0 4px #0ea5e926}.write-overlay{padding:22px 24px;border-radius:18px;background:#fff;border:1px solid var(--border-2);font-size:16.5px;line-height:1.8;min-height:240px}.dict-panel{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;position:sticky;top:90px}.dict-empty{color:var(--t-400);font-size:14px;line-height:1.6;text-align:center;padding:20px 0}.dict-img{width:100%;aspect-ratio:16/10;border-radius:12px;background:linear-gradient(135deg,var(--sky-100),var(--sky-200));display:grid;place-items:center;color:var(--sky-700);font-weight:700;margin-bottom:12px;position:relative;overflow:hidden}.dict-img:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 14px,rgba(255,255,255,.18) 14px,rgba(255,255,255,.18) 16px)}.dict-word{font-size:22px;font-weight:800;letter-spacing:-.02em}.dict-en{color:var(--t-500);font-size:14px;margin-bottom:10px}.dict-ex{font-size:14px;color:var(--t-700);line-height:1.55;background:var(--bg);padding:10px 12px;border-radius:10px}.result-shell{padding:70px 0 80px}.result-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:60px 50px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--sh-2)}.result-card:before{content:"";position:absolute;top:-200px;left:50%;transform:translate(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--sky-100),transparent 60%);filter:blur(8px)}.badge-big{width:140px;height:140px;border-radius:38px;background:linear-gradient(160deg,var(--sky-400),var(--sky-600));display:grid;place-items:center;color:#fff;font-weight:800;font-size:48px;letter-spacing:-.04em;margin:0 auto 24px;box-shadow:0 28px 60px -20px #0ea5e9bf;position:relative;animation:badgePop .8s cubic-bezier(.2,1.4,.2,1)}@keyframes badgePop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:36px 0 32px}.score-cell{background:var(--bg);border-radius:16px;padding:18px}.score-cell .lab{font-size:12px;color:var(--t-400);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.score-cell .val{font-size:28px;font-weight:800;letter-spacing:-.025em;margin-top:4px;color:var(--t-900)}.score-cell .bar{margin-top:8px;height:5px;border-radius:5px;background:#e2e8f0;overflow:hidden}.score-cell .bar>div{height:100%;background:linear-gradient(90deg,var(--sky-300),var(--sky-500));border-radius:5px;animation:barFill 1.2s .3s cubic-bezier(.2,.8,.2,1) both}@keyframes barFill{0%{width:0!important}}.a1-shell{min-height:100vh}.a1-head{padding:50px 0 24px;background:linear-gradient(180deg,white,transparent)}.a1-head .crumb{font-size:13px;color:var(--t-400);margin-bottom:8px}.a1-head .crumb a{color:var(--sky-600);cursor:pointer}.a1-head h1{font-size:clamp(34px,4vw,48px);letter-spacing:-.03em;margin:0 0 12px;font-weight:800}.a1-head p{color:var(--t-500);font-size:17px;max-width:600px;margin:0}.a1-meta{display:flex;gap:20px;margin:26px 0 10px;flex-wrap:wrap}.a1-meta .mc{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1px solid var(--border);border-radius:14px;font-size:14px;color:var(--t-700);font-weight:600}.a1-meta .mc .icn{color:var(--sky-500)}.a1-meta .mc b{color:var(--t-900)}.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:40px}.topic-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px 24px;display:flex;align-items:center;gap:18px;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.topic-card:not(.locked):hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:var(--sky-200)}.topic-card .tnum{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:18px;letter-spacing:-.02em;background:var(--sky-100);color:var(--sky-700);flex-shrink:0}.topic-card.done .tnum{background:#dcfce7;color:var(--ok)}.topic-card.active .tnum{background:linear-gradient(140deg,var(--sky-400),var(--sky-600));color:#fff;box-shadow:0 8px 18px -8px #0ea5e999}.topic-card.locked .tnum{background:#f1f5f9;color:var(--t-300)}.topic-card .tinfo{flex:1;min-width:0}.topic-card .tname{font-weight:700;font-size:16.5px;letter-spacing:-.01em}.topic-card .tsub{font-size:13px;color:var(--t-400);margin-top:2px}.topic-card .tbar{width:90px;height:6px;background:#eef2f6;border-radius:6px;overflow:hidden}.topic-card .tbar>div{height:100%;background:var(--sky-500);border-radius:6px}.topic-card.locked{cursor:not-allowed;opacity:.8;background:var(--bg)}.topic-card.locked .tname{color:var(--t-400)}.topic-card.active:after{content:"";position:absolute;right:22px;width:28px;height:28px;border-radius:50%;background:var(--sky-500);display:none}.lesson-shell{padding:30px 0 80px}.lesson-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.lesson-head h1{font-size:clamp(30px,3.5vw,40px);letter-spacing:-.03em;margin:8px 0 6px;font-weight:800}.lesson-head .crumb{font-size:13px;color:var(--t-400)}.lesson-head .crumb a{color:var(--sky-600);cursor:pointer}.lesson-tabs{display:inline-flex;gap:4px;padding:5px;background:#fff;border:1px solid var(--border);border-radius:14px}.lesson-tab{padding:9px 16px;border-radius:10px;font-weight:600;font-size:14px;color:var(--t-500);cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;gap:8px}.lesson-tab:hover{color:var(--t-900)}.lesson-tab.active{background:var(--sky-500);color:#fff;box-shadow:0 8px 18px -10px #0ea5e980}.lesson-hub-sub{color:var(--t-500);margin:0 0 4px;font-size:15px}.lesson-hub-grid{display:grid;gap:14px;margin-top:8px}.lesson-hub-card{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--sh-1);cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;font:inherit;color:inherit}.lesson-hub-card.unlocked:hover{transform:translateY(-3px);box-shadow:var(--sh-3);border-color:var(--sky-200)}.lesson-hub-card.locked{cursor:not-allowed;opacity:.78;background:var(--bg)}.lesson-hub-card.done .lesson-hub-icon{background:#dcfce7;color:var(--ok)}.lesson-hub-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;background:var(--sky-100);color:var(--sky-700)}.lesson-hub-card.locked .lesson-hub-icon{background:#f1f5f9;color:var(--t-300)}.lesson-hub-info{flex:1;min-width:0}.lesson-hub-title{font-weight:700;font-size:17px;letter-spacing:-.01em}.lesson-hub-blurb{font-size:13px;color:var(--t-400);margin-top:2px}.lesson-hub-cta{font-size:13px;font-weight:700;color:var(--sky-600);white-space:nowrap}.lesson-hub-card.locked .lesson-hub-cta{color:var(--t-300)}.lesson-nav-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.lesson-nav-dot{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;font-weight:700;font-size:14px;color:var(--t-500);background:#fff;border:1px solid var(--border);cursor:pointer;transition:all .15s;font:inherit}.lesson-nav-dot:hover:not(:disabled){border-color:var(--sky-300);color:var(--sky-700)}.lesson-nav-dot.active{background:var(--sky-500);color:#fff;border-color:var(--sky-500);box-shadow:0 8px 18px -10px #0ea5e980;cursor:default}.lesson-nav-dot.done{background:#dcfce7;color:var(--ok);border-color:transparent}.lesson-nav-dot.locked{cursor:not-allowed;color:var(--t-300);background:var(--bg)}.lesson-locked-banner{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;border-radius:var(--r-xl);background:#f8fafc;border:1px solid var(--border)}.lesson-locked-banner p{margin:6px 0 14px;color:var(--t-500)}.lesson-step-label{color:var(--t-400);font-weight:600;font-size:.55em}.lesson-step-actions{display:flex;justify-content:flex-end;margin-top:20px}.lesson-body{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:36px 40px;box-shadow:var(--sh-1);animation:qIn .4s ease}.lesson-section{margin-bottom:34px}.lesson-section:last-child{margin-bottom:0}.lesson-section h2{font-size:22px;letter-spacing:-.02em;margin:0 0 10px;font-weight:800}.lesson-section h3{font-size:17px;letter-spacing:-.01em;margin:0 0 10px;font-weight:700;color:var(--t-700)}.lesson-section p{line-height:1.7;color:var(--t-700);font-size:16px;margin:0 0 14px}.lesson-section strong{color:var(--t-900)}.lesson-intro{background:linear-gradient(120deg,var(--sky-50),white);border:1px solid var(--sky-100);border-radius:16px;padding:18px 22px;font-size:16px;line-height:1.65;color:var(--t-700)}.lesson-intro strong{color:var(--sky-700)}.gtable{width:100%;border-collapse:separate;border-spacing:0}.gtable th,.gtable td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-2);font-size:15px;color:var(--t-700)}.gtable th{font-size:12px;color:var(--t-400);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.gtable tr:last-child td{border-bottom:none}.gtable td:last-child{color:var(--sky-700);font-weight:700}.gtable.alt tr:hover td{background:var(--sky-50)}.examples-list{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:10px}.examples-list li{padding:12px 16px;background:var(--bg);border-radius:12px;font-size:16px;line-height:1.55;color:var(--t-700)}.examples-list b{color:var(--g-verb);background:#10b9811f;padding:1px 5px;border-radius:5px}.freq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.freq-grid .fq{background:var(--bg);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--t-700)}.freq-grid .fq b{display:block;font-size:15.5px;color:var(--t-900);font-weight:700}.freq-grid .fq span{color:var(--t-400);font-size:13px}.vocab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vcard{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px;transition:transform .22s ease,box-shadow .22s ease}.vcard:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.vcard .vimg{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--sky-100),var(--sky-200));position:relative;display:grid;place-items:center;color:var(--sky-700);font-weight:700;font-size:13px;margin-bottom:14px}.vcard .vimg svg{width:60%;height:60%}.vcard .vrow{display:flex;align-items:center;justify-content:space-between}.vcard .vword{font-size:22px;font-weight:800;letter-spacing:-.025em}.vcard .vspeak{width:36px;height:36px;border-radius:50%;background:var(--sky-50);color:var(--sky-600);display:grid;place-items:center;cursor:pointer;border:none;transition:all .18s}.vcard .vspeak:hover{background:var(--sky-100);transform:scale(1.05)}.vcard .ven{color:var(--t-400);font-size:13.5px;margin:4px 0 12px}.vcard .vex{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--t-700);line-height:1.5}.vcard .vex b{color:var(--g-verb);background:#10b9811f;padding:1px 5px;border-radius:4px}.qbank-shell{max-width:760px;margin:0 auto;padding:24px 0 60px}.qbank-top{display:flex;align-items:center;gap:18px;margin-bottom:32px}.lives{display:flex;gap:5px}.heart{width:22px;height:22px;color:#ef4444}.heart.dim{color:#e2e8f0}.qbank-progress{flex:1;height:12px;background:#eef2f6;border-radius:999px;overflow:hidden}.qbank-progress>div{height:100%;background:linear-gradient(90deg,var(--sky-400),var(--sky-500));border-radius:999px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.qbank-x{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--border);display:grid;place-items:center;color:var(--t-400);cursor:pointer}.qbank-x:hover{color:var(--t-900);border-color:var(--t-400)}.q-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.q-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#f8fafc;color:var(--t-600);font-size:12.5px;font-weight:600}.q-chip--difficulty{border-color:#bae6fd;background:#e0f2fe;color:#0369a1}.qbank-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);padding:36px 36px 28px;box-shadow:var(--sh-1);animation:qIn .4s ease}.qbank-instr{font-size:13px;font-weight:700;color:var(--sky-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.qbank-stem{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.35;margin:0 0 26px}.qb-sentence{font-size:22px;font-weight:700;letter-spacing:-.015em;background:var(--bg);border-radius:14px;padding:22px 24px;margin-bottom:22px;color:var(--t-900)}.qb-sentence em{font-style:normal;color:var(--sky-600)}.qb-sentence .gap{display:inline-block;min-width:80px;border-bottom:2.5px solid var(--sky-400);padding:0 6px;color:var(--sky-700)}.builder-target{min-height:90px;background:var(--bg);border:2px dashed var(--border);border-radius:16px;padding:16px;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;margin-bottom:18px}.builder-pool{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-top:1px dashed var(--border)}.word-chip{padding:10px 16px;border-radius:12px;background:#fff;border:1px solid var(--border);border-bottom:3px solid var(--border);font-size:16px;font-weight:600;color:var(--t-900);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.word-chip:hover{transform:translateY(-2px);border-color:var(--sky-300)}.word-chip:active{transform:translateY(0)}.word-chip.used{opacity:0;pointer-events:none;transform:scale(.8)}.builder-target .word-chip{background:var(--sky-50);border-color:var(--sky-200);border-bottom-color:var(--sky-300);color:var(--sky-700)}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.match-col{display:flex;flex-direction:column;gap:10px}.match-cell{padding:16px 18px;border-radius:14px;background:#fff;border:1.5px solid var(--border);font-size:16px;font-weight:600;color:var(--t-900);cursor:pointer;transition:all .15s ease;text-align:center}.match-cell:hover{border-color:var(--sky-300);background:var(--sky-50)}.match-cell.selected{border-color:var(--sky-500);background:var(--sky-50)}.match-cell.matched{border-color:var(--ok);background:#f0fdf4;color:var(--ok);pointer-events:none}.match-cell.bad{animation:shake .4s;border-color:var(--err);background:#fef2f2}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.lw-box{display:flex;flex-direction:column;align-items:center;gap:22px;padding:12px 0 22px}.lw-input{width:100%;padding:18px 22px;border:1.5px solid var(--border);border-radius:16px;font-family:inherit;font-size:17px;outline:none;color:var(--t-900);background:#fff;transition:border-color .2s,box-shadow .2s}.lw-input:focus{border-color:var(--sky-400);box-shadow:0 0 0 4px #0ea5e926}.lw-replay{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--sky-50);color:var(--sky-700);font-weight:600;cursor:pointer;border:none}.qb-feedback{margin-top:22px;border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:14px;animation:qIn .35s ease}.qb-feedback.ok{background:#f0fdf4;border:1px solid #BBF7D0;color:#166534}.qb-feedback.bad{background:#fef2f2;border:1px solid #FECACA;color:#991b1b}.qb-feedback .fbi{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.qb-feedback.ok .fbi{background:var(--ok);color:#fff}.qb-feedback.bad .fbi{background:var(--err);color:#fff}.qb-feedback .ft{font-weight:700;font-size:16px}.qb-feedback .fs{font-size:14px;opacity:.85;margin-top:2px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;overflow:hidden}.confetti span{position:absolute;top:-10vh;width:10px;height:14px;border-radius:2px;animation:confettiFall 2.4s cubic-bezier(.2,.6,.4,1) forwards}@keyframes confettiFall{0%{transform:translateZ(0) rotate(0);opacity:1}to{transform:translate3d(var(--cx, 0),110vh,0) rotate(var(--cr, 480deg));opacity:.9}}.flex{display:flex}.row{display:flex;align-items:center;gap:10px}.spacer{flex:1}.muted{color:var(--t-400)}.center{text-align:center}.mt-12{margin-top:12px}.mt-20{margin-top:20px}.mt-32{margin-top:32px}.page-enter{animation:pageIn .5s cubic-bezier(.2,.8,.2,1)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.level-grid{grid-template-columns:repeat(3,1fr)}.test-shell{grid-template-columns:1fr}.test-side{position:static;height:auto}.write-grid{grid-template-columns:1fr}.footer-grid,.vocab-grid{grid-template-columns:1fr 1fr}.topic-list{grid-template-columns:1fr}}@media(max-width:960px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero-art{max-width:420px;margin:0 auto}}@media(max-width:720px){.hero-art{max-width:360px;margin:0 auto}.level-grid{grid-template-columns:1fr 1fr}.features{grid-template-columns:1fr}.akademik{flex-direction:column;align-items:flex-start;padding:28px}.score-grid{grid-template-columns:1fr 1fr}.vocab-grid,.footer-grid{grid-template-columns:1fr}.nav-links{display:none}.test-main{padding:20px}.q-card{padding:24px}.match-grid{grid-template-columns:1fr}.freq-grid{grid-template-columns:1fr 1fr}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(180deg,var(--sky-50) 0%,var(--bg) 40%)}.auth-shell{width:100%;max-width:440px}.auth-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--t-900);text-decoration:none;margin-bottom:24px}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:32px;box-shadow:var(--sh-2)}.auth-tabs{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:999px;margin-bottom:24px}.auth-tab{flex:1;border:none;background:transparent;padding:10px 16px;border-radius:999px;font-weight:600;font-size:14px;color:var(--t-500);cursor:pointer;transition:background .15s,color .15s}.auth-tab.active{background:#fff;color:var(--sky-700);box-shadow:var(--sh-1)}.auth-title{margin:0 0 8px;font-size:24px;font-weight:800;color:var(--t-900)}.auth-subtitle{margin:0 0 24px;font-size:14.5px;line-height:1.5;color:var(--t-500)}.auth-alert{padding:12px 14px;border-radius:var(--r-md);font-size:14px;margin-bottom:16px}.auth-alert--error{background:#fef2f2;color:#b91c1c;border:1px solid #FECACA}.auth-alert--ok{background:#f0fdf4;color:#166534;border:1px solid #BBF7D0}.auth-alert--info{background:var(--sky-50);color:var(--sky-700);border:1px solid var(--sky-200)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field span{font-size:13px;font-weight:600;color:var(--t-700)}.auth-field input{padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);font-size:15px;font-family:inherit;color:var(--t-900);background:#fff;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:var(--sky-400);box-shadow:0 0 0 3px #0ea5e926}.auth-field input:disabled{background:var(--bg);color:var(--t-500);cursor:not-allowed}.auth-submit{width:100%;margin-top:4px}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.nav-profile-menu{position:relative}.nav-profile-btn{border:none;border-radius:999px;padding:8px 16px;background:var(--sky-100);color:var(--sky-700);font-weight:600;font-size:14px;cursor:pointer;transition:background .15s,transform .15s}.nav-profile-btn:hover,.nav-profile-btn.open{background:var(--sky-200);transform:translateY(-1px)}.nav-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-3);z-index:50;display:flex;flex-direction:column;gap:2px}.nav-profile-dropdown button{border:none;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--t-800);cursor:pointer}.nav-profile-dropdown button:hover{background:var(--sky-50);color:var(--sky-700)}.nav-profile-dropdown .nav-profile-logout{font-weight:500;color:var(--t-500);border-top:1px solid var(--border);margin-top:2px;border-radius:0 0 8px 8px}.nav-profile-dropdown .nav-profile-logout:hover{background:#fef2f2;color:#b91c1c}.auth-prompt{margin:0 0 24px;padding:14px 16px;border-radius:var(--r-md);background:var(--sky-50);border:1px solid var(--sky-200);font-size:14px;color:var(--t-700);text-align:center}.auth-prompt a{color:var(--sky-700);font-weight:600;text-decoration:none}.auth-prompt a:hover{text-decoration:underline}
