@font-face{font-family:__Inter_75b79f;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_75b79f;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_75b79f;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_75b79f;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_75b79f;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_75b79f;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_75b79f;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_75b79f;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_75b79f{font-family:__Inter_75b79f,__Inter_Fallback_75b79f;font-style:normal}:root{--green:#16a34a;--green-dark:#14532d;--green-mid:#22c55e;--green-light:#dcfce7;--green-glow:rgba(22,163,74,.18);--amber:#f59e0b;--amber-dark:#b45309;--amber-light:#fef3c7;--blue:#2563eb;--purple:#7c3aed;--rose:#e11d48;--teal:#0d9488;--ink:#0f172a;--ink-soft:#1e293b;--muted:#64748b;--subtle:#94a3b8;--border:#e2e8f0;--border-mid:#cbd5e1;--bg-soft:#f8fafc;--bg-mid:#f1f5f9;--shadow-xs:0 1px 3px rgba(0,0,0,.06);--shadow-sm:0 4px 16px rgba(0,0,0,.07);--shadow:0 8px 32px rgba(0,0,0,.1);--shadow-lg:0 24px 64px rgba(0,0,0,.12);--shadow-xl:0 40px 100px rgba(0,0,0,.15);--r-sm:8px;--r:14px;--r-lg:20px;--r-xl:28px;--ease:cubic-bezier(.4,0,.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{color:var(--ink);overflow-x:hidden}img{display:block;max-width:100%}button{border:none;outline:none}.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:30px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tag-green{background:var(--green-light);color:var(--green-dark)}.tag-amber{background:var(--amber-light);color:var(--amber-dark)}.tag-blue{background:#dbeafe;color:#1d4ed8}.tag-purple{background:#ede9fe;color:#5b21b6}.section-label{text-align:center;margin-bottom:16px}.section-heading{font-size:clamp(28px,4vw,42px);font-weight:900;line-height:1.15;letter-spacing:-.5px;text-align:center}.section-sub{text-align:center;color:var(--muted);font-size:17px;max-width:600px;margin:16px auto 0;line-height:1.7}.topbar{background:var(--green-dark);color:#fff;text-align:center;padding:9px 20px;font-size:13px;font-weight:500}.topbar a{color:var(--amber);font-weight:700;text-decoration:underline;margin-left:6px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:900;background:hsla(0,0%,100%,.88);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.04);transition:background .3s var(--ease)}.navbar{justify-content:space-between;height:72px;gap:24px}.logo,.navbar{display:flex;align-items:center}.logo{font-size:22px;font-weight:900;letter-spacing:-.5px;color:var(--green);gap:8px}.logo-dot{color:var(--amber)}.logo-badge{font-size:10px;font-weight:700;background:var(--green-light);color:var(--green-dark);padding:2px 8px;border-radius:20px}.nav-links{display:flex;gap:4px;align-items:center}.nav-link{padding:8px 14px;border-radius:var(--r-sm);font-size:14px;font-weight:500;color:var(--muted);transition:all .2s var(--ease)}.nav-link:hover{background:var(--bg-mid);color:var(--ink)}.nav-link.active{color:var(--green);font-weight:600}.nav-actions{display:flex;align-items:center;gap:10px}.btn{justify-content:center;border-radius:var(--r-sm);transition:all .2s var(--ease)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--bg-mid);color:var(--ink)}.btn-outline{background:transparent;color:var(--green);border:1.5px solid var(--green)}.btn-outline:hover{background:var(--green-light)}.btn-green{background:var(--green);color:#fff;box-shadow:0 2px 10px var(--green-glow)}.btn-green:hover{background:#15803d;box-shadow:0 6px 20px rgba(22,163,74,.35);transform:translateY(-1px)}.btn-amber{background:var(--amber);color:#fff;box-shadow:0 2px 10px rgba(245,158,11,.25)}.btn-amber:hover{background:var(--amber-dark);box-shadow:0 6px 20px rgba(245,158,11,.4);transform:translateY(-1px)}.btn-lg{padding:14px 32px;font-size:16px}.btn-lg,.btn-xl{border-radius:var(--r)}.btn-xl{padding:16px 40px;font-size:17px}.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}.hamburger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s}.hero{padding:88px 0 0;background:linear-gradient(180deg,#f0fdf4,#fff);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 80% 20%,rgba(34,197,94,.08) 0,transparent 70%),radial-gradient(ellipse 40% 40% at 10% 80%,rgba(245,158,11,.07) 0,transparent 60%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:56px;gap:56px;align-items:center;position:relative;z-index:1}.hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px}.hero-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--green-mid);animation:pulse 2s infinite}.hero-eyebrow-text{font-size:13px;font-weight:700;color:var(--green);letter-spacing:.05em;text-transform:uppercase}.hero h1{font-size:clamp(36px,5vw,58px);font-weight:900;line-height:1.1;letter-spacing:-1px;margin-bottom:24px}.hero h1 .hl-green{background:linear-gradient(135deg,#16a34a,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero h1 .hl-amber{color:var(--amber)}.hero-desc{font-size:18px;color:var(--muted);line-height:1.75;max-width:520px;margin-bottom:36px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px}.hero-stats{display:flex;gap:32px;padding-top:28px;border-top:1px solid var(--border)}.hero-stat strong{display:block;font-size:26px;font-weight:900;color:var(--ink);letter-spacing:-.5px}.hero-stat span{font-size:13px;color:var(--muted);font-weight:500}.hero-visual{position:relative}.dashboard-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);overflow:hidden}.dash-header{background:linear-gradient(135deg,#0f172a,#1e3a5f);padding:20px 24px 0}.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dash-logo{color:#fff;font-weight:900;font-size:15px;opacity:.9}.dash-user{gap:8px;background:hsla(0,0%,100%,.1);padding:6px 12px;border-radius:20px}.dash-avatar,.dash-user{display:flex;align-items:center}.dash-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);justify-content:center;font-size:11px;font-weight:700;color:#fff}.dash-username{font-size:12px;color:hsla(0,0%,100%,.85);font-weight:600}.dash-tabs{display:flex;gap:0;border-bottom:1px solid hsla(0,0%,100%,.1)}.dash-tab{padding:10px 16px;font-size:12px;font-weight:600;color:hsla(0,0%,100%,.5);cursor:pointer;border-bottom:2px solid transparent}.dash-tab.active{color:#fff;border-bottom-color:#22c55e}.dash-body{padding:20px 24px 24px}.dash-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:18px}.dash-stat-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--r);padding:14px}.dash-stat-label{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:4px}.dash-stat-val{font-size:22px;font-weight:900;letter-spacing:-.5px}.dash-stat-sub{font-size:11px;margin-top:2px;font-weight:500}.green-text{color:var(--green)}.amber-text{color:var(--amber)}.blue-text{color:var(--blue)}.irt-bar-wrap{margin-bottom:16px}.irt-bar-label{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:6px}.irt-track{height:8px;background:var(--bg-mid);border-radius:4px;overflow:hidden}.irt-fill{height:100%;border-radius:4px;position:relative}.irt-fill:after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:3px;background:hsla(0,0%,100%,.6);border-radius:2px}.ai-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:var(--r);padding:14px 16px;display:flex;gap:12px;align-items:flex-start}.ai-dot{width:32px;height:32px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.ai-content{flex:1 1}.ai-label{font-size:11px;font-weight:700;color:var(--green-dark);margin-bottom:4px}.ai-text{font-size:12px;color:var(--ink-soft);line-height:1.5}.float-badge{position:absolute;background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.float-badge.badge-1{top:-24px;right:-24px;animation-delay:0s}.float-badge.badge-2{bottom:60px;left:-28px;animation-delay:2s}.float-icon{font-size:24px}.float-label{font-size:12px;font-weight:700;display:block}.float-sub{font-size:11px;color:var(--muted)}.hero-bottom-strip{margin-top:72px;padding:20px 0;background:rgba(22,163,74,.04);border-top:1px solid rgba(22,163,74,.12)}.trust-logos{justify-content:center;gap:40px;flex-wrap:wrap}.trust-item,.trust-logos{display:flex;align-items:center}.trust-item{gap:10px}.trust-logo{font-size:13px;font-weight:800;letter-spacing:-.2px;color:var(--subtle)}.trust-divider{width:1px;height:24px;background:var(--border)}.proof-banner{background:linear-gradient(135deg,var(--ink) 0,var(--ink-soft) 100%);padding:56px 0}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:2px;gap:2px}.proof-item{text-align:center;padding:28px 20px;background:hsla(0,0%,100%,.04);border-right:1px solid hsla(0,0%,100%,.07)}.proof-item:last-child{border-right:none}.proof-number{font-size:44px;font-weight:900;color:#fff;letter-spacing:-1px;display:block;margin-bottom:4px;background:linear-gradient(135deg,#fff,hsla(0,0%,100%,.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.proof-number .unit{font-size:22px}.proof-desc{font-size:13px;color:hsla(0,0%,100%,.5);font-weight:500}.exams-section{padding:96px 0;background:var(--bg)}.exams-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-top:56px}.exam-card{border:1.5px solid var(--border);border-radius:var(--r-lg);padding:28px 24px 24px;text-align:center;background:var(--bg);cursor:pointer;transition:all .3s var(--ease);position:relative;overflow:hidden}.exam-card:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s}.exam-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.exam-card:hover:before{opacity:1}.exam-card.aptis:before{background:linear-gradient(135deg,rgba(37,99,235,.04),rgba(37,99,235,.08))}.exam-card.ielts:before{background:linear-gradient(135deg,rgba(220,38,38,.04),rgba(220,38,38,.08))}.exam-card.toeic:before{background:linear-gradient(135deg,rgba(22,163,74,.04),rgba(22,163,74,.08))}.exam-card.thpt:before{background:linear-gradient(135deg,rgba(124,58,237,.04),rgba(124,58,237,.08))}.exam-card:hover.aptis{border-color:#93c5fd}.exam-card:hover.ielts{border-color:#fca5a5}.exam-card:hover.toeic{border-color:#86efac}.exam-card:hover.thpt{border-color:#c4b5fd}.exam-logo{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 18px}.exam-logo.aptis{background:#dbeafe}.exam-logo.ielts{background:#fee2e2}.exam-logo.toeic{background:var(--green-light)}.exam-logo.thpt{background:#ede9fe}.exam-name{font-size:20px;font-weight:800;margin-bottom:6px}.exam-full{font-size:11px;color:var(--muted);font-weight:500;margin-bottom:16px;line-height:1.5}.exam-skills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:20px}.exam-skill{font-size:11px;padding:3px 10px;border-radius:20px;font-weight:600;background:var(--bg-mid);color:var(--muted)}.exam-cta{display:block;width:100%;padding:10px;border-radius:var(--r-sm);font-size:13px;font-weight:700;border:1.5px solid;cursor:pointer;transition:all .2s var(--ease)}.exam-card.aptis .exam-cta{color:var(--blue);border-color:#93c5fd;background:#eff6ff}.exam-card.ielts .exam-cta{color:var(--rose);border-color:#fca5a5;background:#fff1f2}.exam-card.toeic .exam-cta{color:var(--green);border-color:#86efac;background:var(--green-light)}.exam-card.thpt .exam-cta{color:var(--purple);border-color:#c4b5fd;background:#f5f3ff}.exam-card:hover .exam-cta{transform:scale(1.02)}.exam-badge{position:absolute;top:14px;right:14px;font-size:10px;font-weight:800;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.badge-hot{background:#fee2e2;color:var(--rose)}.badge-new{background:#dcfce7;color:var(--green-dark)}.badge-popular{background:var(--amber-light);color:var(--amber-dark)}.features-section{padding:96px 0;background:var(--bg-soft)}.features-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:48px 0}.ftab{padding:10px 20px;border-radius:30px;font-size:14px;font-weight:600;background:var(--bg);border:1.5px solid var(--border);color:var(--muted);cursor:pointer;transition:all .2s var(--ease)}.ftab:hover{border-color:var(--green-mid);color:var(--green)}.ftab.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 4px 14px var(--green-glow)}.fview{display:none}.fview.active{display:grid}.fview{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.feat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;transition:all .3s var(--ease)}.feat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--green-mid)}.feat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}.feat-icon.green{background:var(--green-light)}.feat-icon.amber{background:var(--amber-light)}.feat-icon.blue{background:#dbeafe}.feat-icon.purple{background:#ede9fe}.feat-icon.rose{background:#fee2e2}.feat-card h3{font-size:16px;font-weight:700;margin-bottom:8px}.feat-card p{font-size:14px;color:var(--muted);line-height:1.65}.ai-section{padding:96px 0;background:var(--bg)}.ai-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:72px;gap:72px;align-items:center}.ai-badge-pill{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;padding:6px 16px;border-radius:30px;font-size:13px;font-weight:700;color:var(--amber-dark);margin-bottom:24px}.ai-section h2{font-size:clamp(26px,3.5vw,40px);font-weight:900;line-height:1.15;margin-bottom:20px;letter-spacing:-.5px}.ai-section h2 em{font-style:normal;color:var(--green)}.ai-list{display:flex;flex-direction:column;gap:24px}.ai-item{display:flex;gap:18px;align-items:flex-start}.ai-item-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--bg-mid)}.ai-item h4{font-size:16px;font-weight:700;margin-bottom:6px}.ai-item p{font-size:14px;color:var(--muted);line-height:1.65}.ai-chat-demo{background:linear-gradient(145deg,#1e293b,#0f172a);border-radius:var(--r-xl);padding:24px;box-shadow:var(--shadow-xl);position:relative}.chat-header{gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.08)}.chat-avatar,.chat-header{display:flex;align-items:center}.chat-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--green),#15803d);justify-content:center;font-size:18px}.chat-name{font-size:14px;font-weight:700;color:#fff}.chat-status{font-size:12px;color:var(--green-mid);display:flex;align-items:center;gap:4px}.chat-status:before{content:"";width:6px;height:6px;background:var(--green-mid);border-radius:50%}.chat-messages{display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:85%;padding:12px 16px;border-radius:16px;font-size:13px;line-height:1.6}.msg-user{align-self:flex-end;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border-bottom-right-radius:4px}.msg-ai{align-self:flex-start;background:hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.9);border-bottom-left-radius:4px;border:1px solid hsla(0,0%,100%,.08)}.msg-ai strong{color:#86efac}.msg-typing{align-self:flex-start;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);padding:12px 18px;border-radius:16px;border-bottom-left-radius:4px;display:flex;gap:5px;align-items:center}.typing-dot{width:7px;height:7px;background:var(--green-mid);border-radius:50%;animation:typingBounce .9s infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:none;opacity:.4}30%{transform:translateY(-5px);opacity:1}}.chat-input-row{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.08)}.chat-input{flex:1 1;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;padding:10px 14px;color:hsla(0,0%,100%,.8);font-size:13px;font-family:inherit}.chat-send{padding:10px 16px;background:var(--green);border-radius:10px;color:#fff;font-weight:700;font-size:14px}.how-section{padding:96px 0;background:var(--bg-soft)}.how-steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px;margin-top:64px;position:relative}.how-steps:before{content:"";position:absolute;top:48px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--green-light),var(--green),var(--green-light));z-index:0}.how-step{text-align:center;position:relative;z-index:1}.step-circle{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;margin:0 auto 20px;box-shadow:0 0 0 8px var(--green-light);position:relative}.step-icon{font-size:28px}.how-step h3{font-size:16px;font-weight:700;margin-bottom:10px}.how-step p{font-size:14px;color:var(--muted);line-height:1.65}.testimonials-section{padding:96px 0;background:var(--bg)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-top:56px}.testi-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;position:relative;transition:all .3s var(--ease)}.testi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.testi-card.featured{background:linear-gradient(145deg,var(--ink),var(--ink-soft));border-color:transparent;color:#fff}.testi-stars{display:flex;gap:4px;margin-bottom:16px;font-size:15px}.testi-quote{font-size:15px;line-height:1.75;margin-bottom:24px;color:var(--ink-soft);font-style:italic}.testi-card.featured .testi-quote{color:hsla(0,0%,100%,.85)}.testi-author{gap:14px}.testi-author,.testi-avatar{display:flex;align-items:center}.testi-avatar{width:46px;height:46px;border-radius:50%;justify-content:center;font-size:16px;font-weight:800;color:#fff;flex-shrink:0}.testi-name{font-size:14px;font-weight:700}.testi-meta{font-size:12px;color:var(--muted);margin-top:3px}.testi-card.featured .testi-meta{color:hsla(0,0%,100%,.5)}.testi-score-badge{position:absolute;top:20px;right:20px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:800}.pricing-section{padding:96px 0;background:var(--bg-soft)}.pricing-toggle{display:flex;align-items:center;justify-content:center;gap:14px;margin:36px 0 56px}.toggle-label{font-size:14px;font-weight:600;color:var(--muted)}.toggle-switch{width:52px;height:28px;background:var(--green);border-radius:14px;position:relative;cursor:pointer;transition:background .3s}.toggle-knob{position:absolute;top:4px;left:4px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px rgba(0,0,0,.2)}.toggle-switch.off{background:var(--border-mid)}.toggle-switch.off .toggle-knob{transform:translateX(24px)}.save-badge{font-size:12px;font-weight:700;background:var(--green-light);color:var(--green-dark);padding:3px 10px;border-radius:20px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.price-card{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r-xl);padding:36px 32px;position:relative;transition:all .3s var(--ease)}.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.price-card.popular{border-color:var(--amber);background:linear-gradient(145deg,#fff,#fffbeb);box-shadow:0 8px 40px rgba(245,158,11,.15)}.popular-pill{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--amber);color:#fff;padding:5px 18px;border-radius:20px;font-size:12px;font-weight:800;white-space:nowrap}.popular-pill,.price-plan{text-transform:uppercase;letter-spacing:.05em}.price-plan{font-size:14px;font-weight:700;color:var(--muted);margin-bottom:8px}.price-amount{font-size:46px;font-weight:900;letter-spacing:-1px;margin:16px 0 4px}.price-amount .price-cur{font-size:18px;vertical-align:super}.price-amount .price-per{font-size:14px;color:var(--muted);font-weight:500;letter-spacing:0}.price-card.popular .price-amount{color:var(--amber-dark)}.price-desc{font-size:14px;color:var(--muted);margin-bottom:28px;line-height:1.5}.price-features{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.price-feat{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.price-feat-icon{flex-shrink:0;font-size:16px;margin-top:1px}.price-feat.disabled{opacity:.35}.qr-section{padding:72px 0;background:linear-gradient(135deg,var(--green-dark) 0,#166534 100%)}.qr-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:72px;gap:72px;align-items:center}.qr-heading{font-size:clamp(24px,3vw,36px);font-weight:900;color:#fff;margin-bottom:16px;letter-spacing:-.5px}.qr-sub{font-size:16px;color:hsla(0,0%,100%,.7);line-height:1.7;margin-bottom:32px}.qr-steps{flex-direction:column}.qr-step,.qr-steps{display:flex;gap:16px}.qr-step{align-items:flex-start}.qr-step-num{width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.15);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;border:1px solid hsla(0,0%,100%,.2)}.qr-step-text{color:hsla(0,0%,100%,.85);font-size:14px;line-height:1.65;padding-top:6px}.qr-step-text strong{color:#fff}.qr-card{background:#fff;border-radius:var(--r-xl);padding:32px;text-align:center;box-shadow:var(--shadow-xl)}.qr-title{font-size:14px;font-weight:700;color:var(--muted);margin-bottom:20px}.qr-img-wrap{width:180px;height:180px;margin:0 auto 20px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:3px solid var(--green-light);border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative}.qr-pattern{width:140px;height:140px;display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.qr-px{border-radius:2px}.qr-bank-name{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:6px}.qr-account{font-size:13px;color:var(--muted);margin-bottom:4px}.qr-amount{font-size:22px;font-weight:900;color:var(--green);margin:12px 0 4px}.qr-ref{font-size:12px;color:var(--muted);margin-bottom:16px}.qr-note{font-size:11px;background:var(--amber-light);color:var(--amber-dark);padding:8px 14px;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:6px}.faq-section{padding:96px 0;background:var(--bg)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:56px}.faq-item{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s;gap:12px}.faq-q:hover{background:var(--bg-soft)}.faq-q.open{background:var(--green-light);color:var(--green-dark)}.faq-chevron{font-size:18px;transition:transform .3s;flex-shrink:0}.faq-q.open .faq-chevron{transform:rotate(180deg)}.faq-a{display:none;padding:0 24px 20px;font-size:14px;color:var(--muted);line-height:1.75}.faq-a.open{display:block}.cta-section{padding:96px 0;background:var(--bg-soft)}.cta-card{background:linear-gradient(135deg,#052e16,#14532d 50%,#166534);border-radius:var(--r-xl);padding:72px 64px;text-align:center;position:relative;overflow:hidden}.cta-card:before{top:-60%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(34,197,94,.15),transparent 70%)}.cta-card:after,.cta-card:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.cta-card:after{bottom:-40%;left:-5%;width:350px;height:350px;background:radial-gradient(circle,rgba(245,158,11,.1),transparent 70%)}.cta-card h2{font-size:clamp(26px,4vw,44px);font-weight:900;color:#fff;margin-bottom:16px;letter-spacing:-.5px}.cta-card h2,.cta-card p{position:relative;z-index:1}.cta-card p{font-size:17px;color:hsla(0,0%,100%,.7);margin-bottom:40px}.cta-form{display:flex;max-width:520px;margin:0 auto;gap:10px;position:relative;z-index:1}.cta-input{flex:1 1;padding:15px 20px;border-radius:var(--r-sm);border:none;outline:none;font-size:15px;font-family:inherit;background:hsla(0,0%,100%,.95)}.cta-badges{display:flex;justify-content:center;gap:24px;margin-top:28px;flex-wrap:wrap;position:relative;z-index:1}.cta-badge-item{display:flex;align-items:center;gap:8px;font-size:13px;color:hsla(0,0%,100%,.6);font-weight:500}footer{background:var(--ink);color:hsla(0,0%,100%,.55);padding:72px 0 32px;border-top:4px solid var(--green)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:48px;gap:48px;margin-bottom:64px}.footer-brand .logo{font-size:24px;color:#fff;margin-bottom:16px}.footer-brand p{font-size:13.5px;line-height:1.75;max-width:280px}.footer-socials{display:flex;gap:10px;margin-top:24px}.social-btn{width:38px;height:38px;border-radius:10px;background:hsla(0,0%,100%,.07);display:flex;align-items:center;justify-content:center;font-size:16px;color:hsla(0,0%,100%,.6);transition:all .2s var(--ease)}.social-btn:hover{background:var(--green);color:#fff}.footer-col h5{color:#fff;font-size:14px;font-weight:700;margin-bottom:20px}.footer-links{display:flex;flex-direction:column;gap:12px}.footer-links a{font-size:13.5px;transition:color .2s}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.08);padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;flex-wrap:wrap;gap:12px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.visible{opacity:1;transform:none}@media (max-width:1024px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-desc{margin:0 auto 36px}.hero-cta,.hero-eyebrow,.hero-stats{justify-content:center}.hero-visual{display:none}.ai-layout,.qr-layout{grid-template-columns:1fr}.how-steps{grid-template-columns:repeat(2,1fr)}.how-steps:before{display:none}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.exams-grid,.proof-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nav-links{display:none}.hamburger{display:flex}.nav-links.mobile-open{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:16px 24px;box-shadow:var(--shadow);z-index:800}.faq-grid,.pricing-grid,.testimonials-grid{grid-template-columns:1fr}.how-steps{grid-template-columns:1fr 1fr}.cta-card{padding:48px 24px}.cta-form{flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;text-align:center}.hero{padding-top:64px}}@media (max-width:480px){.exams-grid,.how-steps{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr 1fr}}:root{--primary:#1e40af;--primary-dark:#1e3a8a;--primary-light:#eff6ff;--primary-mid:#3b82f6;--accent:#f59e0b;--accent-dark:#d97706;--accent-light:#fffbeb;--success:#10b981;--success-light:#ecfdf5;--danger:#ef4444;--danger-light:#fef2f2;--warning:#f97316;--warning-light:#fff7ed;--text:#111827;--text-muted:#6b7280;--text-light:#9ca3af;--border:#e5e7eb;--border-focus:#3b82f6;--bg:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow:0 4px 20px rgba(0,0,0,.08);--shadow-lg:0 20px 60px rgba(0,0,0,.1);--radius:12px;--radius-sm:8px;--radius-lg:16px;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1);--cefr-a1:#6b7280;--cefr-a2:#3b82f6;--cefr-b1:#10b981;--cefr-b2:#f59e0b;--cefr-c1:#ef4444;--cefr-c:#8b5cf6}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}ul{list-style:none}button{cursor:pointer}button,input,textarea{font-family:inherit}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg);border:1px solid var(--border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text-muted);transition:var(--transition)}.back-btn:hover{border-color:var(--primary);color:var(--primary)}.aptis-hero{background:linear-gradient(135deg,#1e3a8a,#1e40af 50%,#2563eb);color:#fff;padding:60px 0 0;position:relative;overflow:hidden}.aptis-hero:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,hsla(0,0%,100%,.06) 0,transparent 70%);border-radius:50%}.container{max-width:1200px;margin:0 auto;padding:0 24px}.hero-nav{margin-bottom:40px}.hero-content{max-width:700px;position:relative;z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.2);padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:20px}.hero-badge .dot{width:8px;height:8px;background:#34d399;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.aptis-hero h1{font-size:clamp(32px,5vw,52px);font-weight:900;line-height:1.15;margin-bottom:20px;letter-spacing:-.5px}.aptis-hero h1 span{color:#fcd34d}.aptis-hero p{font-size:17px;opacity:.85;max-width:600px;margin-bottom:32px;line-height:1.7}.hero-meta{display:flex;gap:32px;margin-bottom:40px;flex-wrap:wrap}.hero-meta-item{display:flex;align-items:center;gap:8px;font-size:14px;opacity:.9}.hero-meta-item strong{font-size:18px;font-weight:800}.sections-strip{display:flex;gap:0;border-top:1px solid hsla(0,0%,100%,.15);margin-top:10px}.section-tab-btn{flex:1 1;padding:18px 12px;text-align:center;background:hsla(0,0%,100%,.05);border:none;color:hsla(0,0%,100%,.7);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;gap:4px}.section-tab-btn:hover{background:hsla(0,0%,100%,.12);color:#fff}.section-tab-btn.active{background:hsla(0,0%,100%,.15);color:#fff;border-bottom:3px solid #fcd34d}.section-tab-btn .tab-icon{font-size:20px}.section-tab-btn .tab-time{font-size:11px;opacity:.7;font-weight:400}.exam-container{max-width:1200px;margin:0 auto;padding:32px 24px 80px;display:grid;grid-template-columns:1fr 300px;grid-gap:28px;gap:28px;align-items:start}.exam-panel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.panel-header{padding:20px 28px;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-header-left{gap:12px}.panel-header-left,.panel-icon{display:flex;align-items:center}.panel-icon{width:42px;height:42px;border-radius:10px;justify-content:center;font-size:20px;background:var(--primary-light)}.panel-title{font-size:16px;font-weight:700}.panel-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.timer-display{display:flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:8px 16px;border-radius:20px;font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer-display.warning{background:var(--warning)}.timer-display.danger{background:var(--danger);animation:timerPulse .8s infinite}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.7}}.progress-bar-wrap{padding:0 28px;border-bottom:1px solid var(--border)}.progress-info{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);padding:10px 0 6px}.progress-track{height:4px;background:var(--bg-tertiary);border-radius:2px;margin-bottom:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-mid));border-radius:2px;transition:width .4s ease}.panel-body{padding:28px}.question-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.q-number{width:36px;height:36px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.q-content{flex:1 1}.q-meta{font-size:11px;color:var(--text-muted);margin-bottom:6px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.q-text{font-size:16px;font-weight:500;line-height:1.6;color:var(--text)}.q-text .blank{display:inline-block;min-width:120px;border-bottom:2px solid var(--primary);margin:0 4px;font-style:italic;color:var(--primary);font-weight:600}.options-list{display:flex;flex-direction:column;gap:10px}.option-btn{display:flex;align-items:center;gap:14px;padding:14px 18px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);text-align:left;transition:var(--transition);cursor:pointer;width:100%}.option-btn:hover:not(:disabled){border-color:var(--primary-mid);background:var(--primary-light)}.option-btn.selected{border-color:var(--primary);background:var(--primary-light)}.option-btn.correct{border-color:var(--success);background:var(--success-light)}.option-btn.wrong{border-color:var(--danger);background:var(--danger-light)}.option-letter{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;transition:var(--transition)}.option-btn.selected .option-letter{background:var(--primary);color:#fff}.option-btn.correct .option-letter{background:var(--success);color:#fff}.option-btn.wrong .option-letter{background:var(--danger);color:#fff}.option-text{font-size:14px;font-weight:500}.fill-input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:15px;transition:var(--transition);outline:none;background:var(--bg)}.fill-input:focus{border-color:var(--primary);background:var(--primary-light)}.order-items{display:flex;flex-direction:column;gap:8px}.order-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:-webkit-grab;cursor:grab;transition:var(--transition);-webkit-user-select:none;-moz-user-select:none;user-select:none}.order-item:hover{border-color:var(--primary-mid);transform:translateX(2px)}.order-item.dragging{opacity:.5;border-color:var(--primary)}.order-handle{color:var(--text-light);font-size:16px}.order-idx{width:26px;height:26px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.order-text{font-size:14px;flex:1 1}.writing-textarea{width:100%;min-height:160px;padding:16px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;line-height:1.7;resize:vertical;transition:var(--transition);outline:none;background:var(--bg)}.writing-textarea:focus{border-color:var(--primary);background:var(--primary-light)}.word-counter{font-size:12px;color:var(--text-muted);margin-top:6px;text-align:right}.context-box{background:var(--bg-secondary);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-sm);padding:16px 20px;margin-bottom:24px;font-size:14px;line-height:1.8;color:var(--text)}.context-title{font-size:12px;font-weight:700;color:var(--primary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.explanation-box{margin-top:16px;padding:14px 18px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;line-height:1.6;display:none}.explanation-box.show{display:block}.explanation-label{font-weight:700;color:var(--primary);margin-bottom:4px}.nav-buttons{display:flex;gap:12px;justify-content:space-between;padding:20px 28px;border-top:1px solid var(--border);background:var(--bg-secondary)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;border:none;transition:var(--transition);cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 12px rgba(30,64,175,.3)}.btn-secondary{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669;box-shadow:0 4px 12px rgba(16,185,129,.3)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-dark)}.btn:disabled{opacity:.4;cursor:not-allowed}.sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.sidebar-card h4{font-size:14px;font-weight:700;margin-bottom:14px}.q-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.q-dot{width:36px;height:36px;border-radius:8px;border:2px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition);color:var(--text-muted)}.q-dot:hover{border-color:var(--primary-mid);color:var(--primary)}.q-dot.answered{background:var(--success);border-color:var(--success);color:#fff}.q-dot.current{background:var(--primary);border-color:var(--primary);color:#fff}.q-dot.skipped{background:var(--warning-light);border-color:var(--warning);color:var(--warning)}.legend-list{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.cefr-bar{display:flex;border-radius:20px;overflow:hidden;height:8px;margin-bottom:6px}.cefr-seg{flex:1 1}.cefr-labels{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:var(--text-muted)}.cefr-pointer{position:relative}.score-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--bg-tertiary);font-size:13px}.score-item:last-child{border-bottom:none}.score-item .label{color:var(--text-muted)}.score-item .value{font-weight:700}.cefr-badge{display:inline-flex;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:800;color:#fff}.result-screen{display:none}.result-screen.show{display:block}.result-hero{text-align:center;padding:48px 32px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border-radius:var(--radius-lg);margin-bottom:28px}.result-icon{font-size:64px;margin-bottom:16px;animation:bounceIn .6s ease}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.result-cefr{font-size:56px;font-weight:900;background:linear-gradient(135deg,var(--primary),var(--primary-mid));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.result-title{font-size:20px;font-weight:700;margin-bottom:8px}.result-subtitle{font-size:14px;color:var(--text-muted)}.score-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.score-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;text-align:center;box-shadow:var(--shadow-sm)}.score-card .skill-icon{font-size:28px;margin-bottom:8px}.score-card .skill-name{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;margin-bottom:4px}.score-card .skill-score{font-size:28px;font-weight:900;color:var(--primary)}.score-card .skill-max{font-size:13px;color:var(--text-muted)}.score-card .skill-cefr{margin-top:6px}.feedback-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}.feedback-section h3{font-size:16px;font-weight:700;margin-bottom:16px}.feedback-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--bg-tertiary)}.feedback-item:last-child{border-bottom:none}.feedback-icon{font-size:20px;flex-shrink:0}.feedback-label{font-size:13px;font-weight:600;margin-bottom:4px}.feedback-text{font-size:13px;color:var(--text-muted);line-height:1.6}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.loading-overlay{position:fixed;inset:0;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:1000;flex-direction:column;gap:16px}.loading-overlay.show{display:flex}.spinner{width:48px;height:48px;border:4px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{font-size:15px;font-weight:600;color:var(--primary)}.loading-sub{font-size:13px;color:var(--text-muted)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:10px}.toast{background:var(--text);color:#fff;padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);animation:slideIn .3s ease;display:flex;align-items:center;gap:10px}@keyframes slideIn{0%{transform:translateX(100px);opacity:0}to{transform:none;opacity:1}}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.intro-screen{padding:32px 24px 80px;max-width:1200px;margin:0 auto}.intro-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:28px;gap:28px}.intro-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm)}.intro-card h2{font-size:22px;font-weight:800;margin-bottom:8px}.intro-card>p{color:var(--text-muted);font-size:14px;margin-bottom:24px;line-height:1.6}.sections-overview{display:flex;flex-direction:column;gap:12px}.section-overview-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:var(--bg)}.section-overview-item:hover{border-color:var(--primary);transform:translateX(4px);box-shadow:var(--shadow-sm)}.section-overview-item.locked{opacity:.5;cursor:not-allowed}.section-overview-item.completed{border-color:var(--success);background:var(--success-light)}.sec-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.sec-info{flex:1 1}.sec-name{font-size:15px;font-weight:700;margin-bottom:2px}.sec-desc{font-size:12px;color:var(--text-muted)}.sec-meta{display:flex;gap:6px;align-items:center;margin-top:4px;flex-wrap:wrap}.sec-tag{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600;background:var(--bg-tertiary);color:var(--text-muted)}.sec-status{font-size:20px}.start-section-btn{display:flex;align-items:center;gap:10px;padding:16px 24px;background:linear-gradient(135deg,var(--primary),var(--primary-mid));color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;transition:var(--transition);width:100%;justify-content:center;margin-top:20px;box-shadow:0 4px 14px rgba(30,64,175,.3)}.start-section-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,64,175,.35)}.info-cards{display:flex;flex-direction:column;gap:14px}.info-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.info-card h5{font-size:13px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}.cefr-table{width:100%}.cefr-table tr{border-bottom:1px solid var(--border)}.cefr-table tr:last-child{border-bottom:none}.cefr-table td{padding:6px 4px;font-size:12px}.cefr-table td:first-child{font-weight:700;width:40px}.speaking-prompt{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;margin-bottom:20px}.speaking-prompt h4{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--primary)}.speaking-prompt p{font-size:15px;line-height:1.7}.record-btn{display:flex;align-items:center;gap:12px;padding:16px 28px;border:2px solid var(--danger);border-radius:30px;background:#fff;color:var(--danger);font-size:15px;font-weight:700;cursor:pointer;transition:var(--transition);margin:0 auto}.record-btn.recording{background:var(--danger);color:#fff;animation:recordPulse 1.2s infinite}@keyframes recordPulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.3)}50%{box-shadow:0 0 0 12px rgba(239,68,68,0)}}.record-icon{width:20px;height:20px;border-radius:50%;background:var(--danger)}.recording .record-icon{animation:blink .8s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@media (max-width:900px){.exam-container,.intro-grid{grid-template-columns:1fr}.sidebar{display:none}}@media (max-width:640px){.sections-strip{overflow-x:auto}.section-tab-btn{min-width:80px}.score-breakdown{grid-template-columns:repeat(2,1fr)}.hero-meta{gap:16px}}