:root{--bg:#F1F5F9;--surface:#fff;--surface2:#F8FAFC;--text:#0F172A;--muted:#64748B;--line:#E2E8F0;--brand:#4338CA;--brand-hover:#3730A3;--brand-soft:#E8E6FB;--brand-ink:#3730A3;--teal:#0B7A6C;--teal-soft:#DCF3EF;--amber:#B45309;--amber-soft:#FEF3C7;--red:#B42318;--red-soft:#FDE4E1;--navy:#0F2A44;--navy2:#16385B;--shadow:0 1px 2px rgba(15,23,42,.05),0 10px 28px rgba(15,23,42,.06);--r:16px;--font:'Plus Jakarta Sans','Hind Siliguri','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color-scheme:light}
[data-theme=dark]{--bg:#0A101C;--surface:#111A2B;--surface2:#0E1626;--text:#E7EDF6;--muted:#93A1B7;--line:#1F2B40;--brand:#6C63FF;--brand-hover:#5A52F0;--brand-soft:#232055;--brand-ink:#C4C1FF;--teal:#3FD3BD;--teal-soft:#0F332F;--amber:#F5B454;--amber-soft:#3A2C0F;--red:#FF8B7E;--red-soft:#3C1714;--navy:#0D1A2E;--navy2:#14233B;--shadow:0 1px 2px rgba(0,0,0,.3),0 12px 30px rgba(0,0,0,.28);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0;line-height:1.2;letter-spacing:-.02em}
h1{font-size:28px}h2{font-size:20px}h3{font-size:16px}
p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.bold{font-weight:700}.right{text-align:right}.center{text-align:center}.nowrap{white-space:nowrap}
.ic{flex:none;vertical-align:-3px}
.logo{height:44px;width:auto;display:block}
[data-theme=dark] .logo-light,[data-theme=light] .logo-dark{display:none}
:root:not([data-theme]) .logo-dark{display:none}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font:600 14px var(--font);cursor:pointer;transition:.15s;text-decoration:none!important;white-space:nowrap}
.btn:hover{border-color:var(--brand);color:var(--brand-ink)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-hover);color:#fff}
.btn.teal{background:var(--teal);border-color:var(--teal);color:#fff}[data-theme=dark] .btn.teal{color:#04201C}
.btn.danger{color:var(--red)}.btn.danger:hover{border-color:var(--red);color:var(--red)}
.btn.ghost{background:transparent}.btn.sm{padding:6px 12px;font-size:13px;border-radius:10px}.btn.lg{padding:14px 24px;font-size:16px;border-radius:14px}.btn.block{width:100%}
.icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}
.icon-btn:hover{border-color:var(--brand)}
[data-theme=dark] .i-moon,:root:not([data-theme=dark]) .i-sun{display:none}
/* forms */
label.lb{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin:0 0 6px;letter-spacing:.01em}
input,select,textarea{width:100%;padding:11px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font:500 15px var(--font);outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent)}
textarea{resize:vertical;min-height:90px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--brand)}
input[type=file]{padding:9px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.end{justify-content:flex-end}.col{display:flex;flex-direction:column;gap:12px}.gap8{gap:8px}.mt{margin-top:16px}.mt2{margin-top:28px}.mb{margin-bottom:16px}
.check{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:8px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}
/* cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.card.flat{box-shadow:none}.card.tight{padding:16px}.card.navy{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-color:transparent}
.card.navy .muted{color:#A9BBD1}.card.amber{background:var(--amber-soft);border-color:transparent;color:var(--amber)}.card.brandsoft{background:var(--brand-soft);border-color:transparent}
.card h2,.card h3{margin-bottom:12px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2,.card-head h3{margin:0}
.stat{display:flex;flex-direction:column;gap:2px}.stat .v{font-size:28px;font-weight:800;letter-spacing:-.03em}.stat .l{font-size:13px;color:var(--muted);font-weight:600}.stat .s{font-size:12.5px;color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:99px;font-size:12px;font-weight:700;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.pill.ok{background:var(--teal-soft);color:var(--teal);border-color:transparent}.pill.warn{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.pill.bad{background:var(--red-soft);color:var(--red);border-color:transparent}.pill.brand{background:var(--brand-soft);color:var(--brand-ink);border-color:transparent}
.bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width .6s}
.bar.teal>i{background:var(--teal)}.bar.amber>i{background:var(--amber)}.bar.red>i{background:var(--red)}
.flash{padding:12px 16px;border-radius:12px;font-weight:600;font-size:14px;margin-bottom:14px;display:flex;gap:10px;align-items:center;justify-content:space-between}
.flash.ok{background:var(--teal-soft);color:var(--teal)}.flash.error{background:var(--red-soft);color:var(--red)}
.flash.creds{background:var(--brand-soft);color:var(--brand-ink);font-family:ui-monospace,Menlo,monospace;font-size:15px;white-space:pre-wrap;flex-wrap:wrap}
/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:12px 16px;background:var(--surface2);border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface2)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:end}.filters>*{flex:1 1 150px;min-width:130px}.filters .grow{flex:3 1 240px}.filters .btn{flex:0 0 auto}
.pager{display:flex;gap:8px;justify-content:center;margin-top:18px;align-items:center}
.empty{padding:36px;text-align:center;color:var(--muted)}
.tabs{display:flex;gap:6px;background:var(--surface2);border:1px solid var(--line);padding:5px;border-radius:14px;overflow-x:auto;margin-bottom:18px;width:max-content;max-width:100%}
.tabs a{padding:8px 16px;border-radius:10px;font-weight:700;font-size:14px;color:var(--muted);white-space:nowrap;text-decoration:none!important}.tabs a.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}
.tabs .n{margin-left:6px;font-size:12px;background:var(--brand-soft);color:var(--brand-ink);padding:1px 8px;border-radius:99px}
.list{display:flex;flex-direction:column}.list>*{padding:13px 0;border-bottom:1px solid var(--line)}.list>*:last-child{border-bottom:0;padding-bottom:0}.list>*:first-child{padding-top:0}
.item{display:flex;gap:14px;align-items:center;justify-content:space-between}.item .t{font-weight:700}.item .st{font-size:13px;color:var(--muted)}
.dot{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);flex:none}.dot.teal{background:var(--teal-soft);color:var(--teal)}.dot.amber{background:var(--amber-soft);color:var(--amber)}.dot.red{background:var(--red-soft);color:var(--red)}
/* panel layout */
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.side{background:var(--navy);color:#C9D6E6;padding:20px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow-y:auto}
.side .brand{padding:6px 10px 18px}.side .brand img{height:46px}
.side .tag{font-size:11px;letter-spacing:.12em;font-weight:800;color:#7F95B2;padding:0 12px 8px}
.side a.nav{display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:12px;color:#C9D6E6;font-weight:600;text-decoration:none!important}
.side a.nav:hover{background:rgba(255,255,255,.07)}.side a.nav.on{background:rgba(255,255,255,.14);color:#fff}
.side .foot{margin-top:auto;padding:14px;border-radius:14px;background:rgba(255,255,255,.07);font-size:13px}.side .foot a{color:#fff;font-weight:700}
.main{min-width:0;padding:28px 32px 60px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.topbar .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.page-title p{color:var(--muted);margin-top:4px}
.mobbar,.bottomnav{display:none}
@media(max-width:980px){
 .app{display:block}.side{position:fixed;inset:0 auto 0 0;width:270px;z-index:50;transform:translateX(-100%);transition:.25s;height:100%}.side.open{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.5)}
 .main{padding:16px 16px 96px}.mobbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobbar img{height:36px}
 .g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}h1{font-size:23px}
 .student-app .side{display:none}.student-app .bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
 .bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11.5px;font-weight:700;color:var(--muted);padding:6px;text-decoration:none!important}.bottomnav a.on{color:var(--brand-ink)}
}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.card{padding:18px}.topbar{flex-wrap:wrap}}
/* auth */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1000px 500px at 80% -10%,color-mix(in srgb,var(--brand) 16%,transparent),transparent),var(--bg)}
.auth .box{width:100%;max-width:420px}.auth .logo{height:64px;margin:0 auto 18px}.auth h1{text-align:center;font-size:24px}.auth .sub{text-align:center;color:var(--muted);margin:6px 0 22px}
/* video */
.player{position:relative;aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden}.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ytshield{position:absolute;left:0;right:0;top:0;height:64px;z-index:3;cursor:pointer}
.wm{position:absolute;right:14px;bottom:44px;color:rgba(255,255,255,.55);font:700 13px var(--font);pointer-events:none;text-shadow:0 1px 2px #000;z-index:2}
.noplay{display:grid;place-items:center;height:100%;color:#9FB0C5;text-align:center;padding:20px}
/* exam */
.q{padding:18px 0;border-bottom:1px solid var(--line)}.q:last-child{border:0}.q h3{margin-bottom:12px;font-size:16px;line-height:1.5}
.opt{display:flex;gap:12px;align-items:flex-start;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;margin-top:8px;cursor:pointer;background:var(--surface)}
.opt:hover{border-color:var(--brand)}.opt input{margin-top:4px}.opt.right{border-color:var(--teal);background:var(--teal-soft);color:var(--teal);text-align:left}.opt.wrong{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.timer{position:sticky;top:10px;z-index:20;background:var(--navy);color:#fff;border-radius:14px;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:18px;box-shadow:var(--shadow)}
.timer b{font-size:22px;font-variant-numeric:tabular-nums}
.qrow{border:1.5px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;background:var(--surface2)}
.chart{display:flex;align-items:flex-end;gap:6px;height:130px}.chart div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:6px}.chart i{display:block;width:100%;background:var(--brand);border-radius:6px 6px 2px 2px;min-height:3px}.chart span{font-size:10px;color:var(--muted)}
/* receipt */
.receipt{max-width:560px;margin:0 auto;background:#fff;color:#111;border-radius:14px;padding:30px;border:1px solid #ddd}.receipt table td{padding:8px 0;border:0}.receipt hr{border:0;border-top:1px dashed #bbb;margin:14px 0}
@media print{.no-print,.side,.mobbar,.bottomnav,.topbar{display:none!important}body{background:#fff}.main{padding:0}.app{display:block}.receipt{border:0;box-shadow:none;max-width:100%}.card{box-shadow:none}@page{size:A5;margin:12mm}}
@media(max-width:980px){.topbar .tt{display:none}}
@media(min-width:981px){.mobbar{display:none!important}}
.side .brand img{height:46px}
.hint{font-size:12.5px;color:var(--muted);margin-top:6px}
details.fold>summary{cursor:pointer;font-weight:700;list-style:none}details.fold>summary::-webkit-details-marker{display:none}

/* ===== student links + icon dropdown ===== */
.lk-ic{display:inline-grid;place-items:center;flex:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -6px 12px rgba(0,0,0,.1),0 8px 16px -8px rgba(15,23,42,.45)}
.lk-ic svg{display:block}
.lk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.lk-grid.sm{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.lk-card{display:flex;align-items:center;gap:14px;padding:15px 16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);text-decoration:none!important;color:var(--text);transition:transform .18s,border-color .18s,box-shadow .18s}
.lk-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--brand) 45%,var(--line));box-shadow:0 20px 38px -20px rgba(15,23,42,.38)}
.lk-card.static{pointer-events:none;box-shadow:none;background:var(--surface2)}
.lk-body{min-width:0;flex:1}.lk-t{font-weight:800;font-size:15.5px;letter-spacing:-.01em;line-height:1.3;overflow:hidden;text-overflow:ellipsis}
.lk-n{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lk-go{margin-left:auto;flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--surface2);color:var(--muted);transition:.18s}
.lk-card:hover .lk-go{background:var(--brand);color:#fff}.lk-card.static .lk-go{background:var(--line)}
/* staff page */
.lk-layout{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:22px;align-items:start}.lk-add{position:sticky;top:20px}
.lk-list{display:flex;flex-direction:column;gap:12px}
.lk-row{padding:14px 16px}.lk-row.off .lk-row-main>.lk-ic,.lk-row.off .lk-body{opacity:.55}
.lk-row-main{display:flex;align-items:center;gap:14px}
.lk-url{display:block;font-size:12.5px;color:var(--brand-ink);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.lk-act{display:flex;gap:6px;flex:none}.lk-act form{margin:0}
.icon-btn.sm{width:34px;height:34px;border-radius:10px}.icon-btn.sm:disabled{opacity:.35;cursor:not-allowed}.icon-btn.danger{color:var(--red)}.icon-btn.danger:hover{border-color:var(--red)}
.lk-edit{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}
.lk-edit>summary{cursor:pointer;list-style:none;font-weight:700;font-size:13px;color:var(--brand-ink);display:inline-flex;gap:6px;align-items:center}.lk-edit>summary::-webkit-details-marker{display:none}
.lk-edit-body{padding-top:14px;max-width:460px}
.lk-prev{display:flex;flex-direction:column;gap:8px}.lk-prev-lb{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* icon dropdown */
.isel{position:relative}
.isel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px 8px 8px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font:700 15px var(--font);cursor:pointer;transition:.15s;text-align:left}
.isel-btn:hover{border-color:color-mix(in srgb,var(--brand) 50%,var(--line))}
.isel.open .isel-btn,.isel-btn:focus-visible{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent);outline:none}
.isel-btn>.ic{color:var(--muted);transition:transform .2s}.isel.open .isel-btn>.ic{transform:rotate(180deg)}
.isel-cur{display:flex;align-items:center;gap:12px;min-width:0}
.isel-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;margin:0;padding:6px;list-style:none;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 50px -16px rgba(15,23,42,.45);animation:isel-in .14s ease-out}
.isel-list[hidden]{display:none}
@keyframes isel-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.isel-list li{display:flex;align-items:center;gap:12px;padding:7px 10px 7px 7px;border-radius:12px;cursor:pointer;font-weight:700;font-size:14.5px;outline:none}
.isel-list li>span:not(.lk-ic){flex:1}.isel-list li>.ic{color:var(--brand);opacity:0}.isel-list li[aria-selected=true]>.ic{opacity:1}
.isel-list li:hover,.isel-list li:focus{background:var(--surface2)}.isel-list li[aria-selected=true]{background:var(--brand-soft)}
@media(max-width:980px){.lk-layout{grid-template-columns:1fr}.lk-add{position:static}}
@media(max-width:560px){.lk-row-main{flex-wrap:wrap}.lk-row-main .lk-body{flex-basis:calc(100% - 70px)}.lk-act{width:100%;justify-content:flex-end}.lk-grid,.lk-grid.sm{grid-template-columns:1fr}}

/* ===== landing (editorial edtech look) ===== */
.lp{--bg:#F7FAF9;--ink:#0D1B1A;--mut:#55706C;--line:#DCE8E5;--card:#fff;--teal:#0F766E;--tealD:#0B5B55;--tealS:#E0F2EF;--mar:#8A1F2D;--sand:#EDF5F3;--serif:var(--font);background:var(--bg);color:var(--ink)}
[data-theme=dark] .lp{--bg:#0A1211;--ink:#EAF2F0;--mut:#9DB0AC;--line:#1E2E2C;--card:#111F1E;--teal:#34C5B2;--tealD:#2AA898;--tealS:#10302D;--mar:#E8909C;--sand:#0E1B1A}
.lp .ct{max-width:1180px;margin:0 auto;padding:0 28px}
.lp a{color:inherit}.lp h1,.lp h2,.lp h3{font-family:var(--font);font-weight:800;letter-spacing:-.03em;line-height:1.12}.lp h3{font-weight:700}
.lp .mut{color:var(--mut)}
.lp .btn{border-radius:12px;border-color:var(--line);background:transparent;color:var(--ink);box-shadow:none}.lp .btn:hover{border-color:var(--teal);color:var(--teal)}
.lp .btn.pri{background:var(--teal);border-color:var(--teal);color:#fff}.lp .btn.pri:hover{background:var(--tealD);color:#fff}[data-theme=dark] .lp .btn.pri{color:#04201C}
.lp-nums{border-block:1px solid var(--line);margin-top:34px}.lp-nums .ct{display:grid;grid-template-columns:repeat(4,1fr)}
.lp-nums div.n{padding:26px 22px;border-left:1px solid var(--line)}.lp-nums div.n:first-child{border-left:0;padding-left:0}.lp-nums b{font-family:var(--serif);font-size:38px;font-weight:600;display:block;line-height:1}.lp-nums span{font-size:13.5px;color:var(--mut);font-weight:600}
.lp-sec{padding:84px 0}.lp-sec.sand{background:var(--sand)}
.lp-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:44px}.lp-head h2{font-size:clamp(30px,4vw,46px)}.lp-head p{color:var(--mut);font-size:16.5px;line-height:1.65}
.crs{display:grid;grid-template-columns:300px 1fr 210px;gap:32px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:22px;align-items:stretch}
.crs .im{border-radius:10px;overflow:hidden;background:linear-gradient(150deg,var(--teal),#0A3F3B);display:grid;place-items:center;color:#fff;min-height:210px}.crs .im img{width:100%;height:100%;object-fit:cover}
.crs h3{font-size:26px;margin:8px 0 6px}.tag{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}.tag.up{color:var(--mar)}
.subs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.subs span{border:1px solid var(--line);border-radius:99px;padding:5px 13px;font-size:13px;font-weight:600;background:var(--bg)}.subs small{color:var(--mut);font-weight:600}
.ticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:14px}.ticks li{display:flex;gap:8px}.ticks .ic{color:var(--teal);margin-top:3px}
.crs .buy{border-left:1px dashed var(--line);padding-left:28px;display:flex;flex-direction:column;justify-content:center;gap:6px}.crs .buy .pr{font-family:var(--serif);font-size:36px;font-weight:600;line-height:1}.crs .buy small{color:var(--mut)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.steps div{padding:0 28px 0 0}.steps .no{font-family:var(--serif);font-size:54px;color:var(--teal);opacity:.35;line-height:1;margin-bottom:10px;border-top:2px solid var(--ink);padding-top:16px}.steps h3{font-size:20px;margin-bottom:8px}.steps p{font-size:14.5px;color:var(--mut);line-height:1.65}
.show{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}.show h2{font-size:clamp(30px,4vw,44px);margin-bottom:18px}.show p.l{color:var(--mut);font-size:16.5px;line-height:1.7;margin-bottom:22px}
.show ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.show li{display:flex;gap:12px;font-size:15.5px}.show li .ic{color:var(--teal);margin-top:4px}.show li b{display:block}.show li span{color:var(--mut);font-size:14px}
.win{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 60px rgba(20,32,31,.14);overflow:hidden}.win .bar2{display:flex;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg)}.win .bar2 i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.win .bd{padding:22px;display:grid;gap:14px}.win .row2{display:flex;justify-content:space-between;align-items:center;gap:12px}.win .box{border:1px solid var(--line);border-radius:10px;padding:14px 16px}.win .dark{background:#10283F;color:#fff;border-color:transparent}.win .dark small{color:#9FB6CF}
.win .pb{height:8px;background:var(--line);border-radius:9px;overflow:hidden;margin-top:10px}.win .pb i{display:block;height:100%;background:var(--teal);border-radius:9px}.win .mini{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tt{width:100%;border-collapse:collapse}.tt tr{border-top:1px solid var(--line)}.tt tr:last-child{border-bottom:1px solid var(--line)}.tt th{font-family:var(--serif);font-size:19px;text-transform:none;letter-spacing:0;color:var(--ink);background:transparent;padding:20px 16px 20px 0;width:170px;vertical-align:top;border:0}.tt td{padding:14px 0;border:0;background:transparent!important}
.tt .sl{display:inline-flex;flex-direction:column;margin:0 24px 8px 0}.tt .sl b{font-size:15px}.tt .sl span{font-size:13px;color:var(--mut)}.tt .now{font-family:var(--sans,inherit);font-size:11px;background:var(--teal);color:#fff;padding:2px 9px;border-radius:99px;margin-left:8px;vertical-align:3px;letter-spacing:.05em}
.news{display:grid;gap:0}.news a,.news div.r{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.news .d{color:var(--mut);font-size:13.5px;font-weight:700}.news h3{font-size:21px;margin-bottom:6px}.news p{color:var(--mut);font-size:15px}
.fee{display:grid;grid-template-columns:1fr 1fr;gap:28px}.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px}
.fee table{width:100%;font-size:16px}.fee td{padding:13px 0;border-bottom:1px dashed var(--line);background:transparent!important}.fee tr:last-child td{border:0;font-weight:800;font-size:19px;padding-top:18px}.fee td:last-child{text-align:right}
.fee ol{margin:0;padding:0;list-style:none;counter-item:s;display:grid;gap:16px}.fee ol li{display:flex;gap:14px;align-items:flex-start;counter-increment:s}.fee ol li:before{content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--tealS);color:var(--teal);display:grid;place-items:center;font-weight:800;flex:none;font-size:14px}.fee ol b{display:block}.fee ol span{color:var(--mut);font-size:14px}
.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:17.5px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:26px;line-height:1;color:var(--teal)}.faq details[open] summary:after{content:"–"}.faq p{color:var(--mut);margin-top:12px;max-width:720px;line-height:1.7}
.lp-cta{background:linear-gradient(135deg,#0B4F4A,#0F766E);color:#fff;padding:64px 0}.lp-cta .ct{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}.lp-cta h2{font-size:clamp(28px,3.6vw,42px);max-width:620px}.lp-cta .btn{border-color:rgba(255,255,255,.4);color:#fff}.lp-cta .btn.pri{background:#fff;color:#0B4F4A;border-color:#fff}
.lp-foot{padding:56px 0 32px}.lp-foot .g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}.lp-foot .logo{height:68px;margin-bottom:14px}.lp-foot h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:14px;font-family:inherit}.lp-foot a{display:block;font-size:14.5px;padding:4px 0;text-decoration:none}.lp-foot a:hover{color:var(--teal)}.lp-foot .cp{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;font-size:13.5px;color:var(--mut);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media(max-width:980px){.show,.fee,.lp-head{grid-template-columns:1fr}.crs{grid-template-columns:1fr}.crs .buy{border-left:0;border-top:1px dashed var(--line);padding:18px 0 0}.steps{grid-template-columns:1fr 1fr;gap:34px 0}.lp-nums .ct{grid-template-columns:1fr 1fr}.lp-nums div.n:nth-child(3){border-left:0;padding-left:0}.lp-foot .g{grid-template-columns:1fr 1fr}.tt th{display:block;width:auto;padding-bottom:0}.tt td{display:block}.lp-sec{padding:56px 0}}
@media(max-width:560px){.ticks{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.news a,.news div.r{grid-template-columns:1fr;gap:6px}.lp .ct{padding:0 20px}}

/* ---- landing v2: navbar + hero (modelled on a modern course-site "section 1") ---- */
.lp-nav{position:sticky;top:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background .2s,border-color .2s,box-shadow .2s}
.lp-nav.scrolled,.lp-nav.menu-open{background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px)}
.lp-nav.scrolled{border-color:var(--line);box-shadow:0 10px 26px -20px rgba(13,27,26,.45)}
.lp-nav .nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.lp-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}.lp-brand .logo{height:46px;max-width:170px;object-fit:contain}
.lp-brand .nm{border-left:1px solid var(--line);padding-left:12px;line-height:1.2}.lp-brand .nm b{display:block;font-size:16.5px;font-weight:800;letter-spacing:-.02em}
.lp-brand .nm small{display:block;white-space:nowrap;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mut);font-weight:700}
.nav-links{display:flex;gap:2px;padding:5px;border-radius:99px;background:var(--card);border:1px solid var(--line)}
.nav-links a{white-space:nowrap;padding:8px 16px;border-radius:99px;font-size:14.5px;font-weight:600;color:var(--mut);text-decoration:none;transition:.15s}
.nav-links a:hover{color:var(--ink)}.nav-links a.on{background:var(--tealS);color:var(--teal)}
.nav-act{display:flex;align-items:center;gap:10px;flex:none}.nav-act .btn{padding:10px 18px}
.lp .icon-btn{border-radius:12px;background:var(--card);border-color:var(--line);color:var(--ink)}.lp .icon-btn:hover{border-color:var(--teal)}
.nav-burger{display:none}.nav-burger .b-close{display:none}.menu-open .nav-burger .b-open{display:none}.menu-open .nav-burger .b-close{display:inline}
.nav-m{display:none;border-top:1px solid var(--line);background:var(--bg)}
.nav-m .ct{display:flex;flex-direction:column;gap:4px;padding-top:12px;padding-bottom:18px}
.nav-m a:not(.btn){padding:13px 14px;border-radius:12px;font-weight:700;font-size:16px;text-decoration:none}.nav-m a:not(.btn):hover{background:var(--tealS);color:var(--teal)}.nav-m .btn{margin-top:8px}
.menu-open .nav-m{display:block}

.lp-hero{position:relative;overflow:hidden;margin-top:-76px;padding:140px 0 88px;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent);background:radial-gradient(60% 60% at 88% 8%,color-mix(in srgb,var(--teal) 17%,transparent),transparent 70%),radial-gradient(46% 50% at 2% 96%,color-mix(in srgb,#0EA5E9 13%,transparent),transparent 70%)}
.hero-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) 1.1px,transparent 1.3px);background-size:28px 28px;-webkit-mask-image:radial-gradient(75% 70% at 55% 35%,#000 20%,transparent 80%);mask-image:radial-gradient(75% 70% at 55% 35%,#000 20%,transparent 80%);opacity:.55}
.lp-hero .ct{display:grid;grid-template-columns:1.04fr .96fr;gap:52px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:13.5px;font-weight:700;color:var(--tealD);box-shadow:0 10px 24px -14px rgba(13,27,26,.4)}
[data-theme=dark] .badge{color:var(--teal)}
.pulse{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 color-mix(in srgb,var(--teal) 55%,transparent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.lp-hero h1{font-size:clamp(38px,5.4vw,68px);line-height:1.05;letter-spacing:-.045em;margin:24px 0 0}
.grad{background:linear-gradient(100deg,#0F766E 0%,#14B8A6 52%,#0EA5E9 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
[data-theme=dark] .grad{background:linear-gradient(100deg,#34C5B2,#5EEAD4 55%,#7DD3FC);-webkit-background-clip:text;background-clip:text}
.lp-hero .lead{font-size:18px;color:var(--mut);margin:22px 0 34px;max-width:540px;line-height:1.7}
.lp-hero .acts{display:flex;gap:12px;flex-wrap:wrap}.lp .btn.lg{padding:15px 28px;font-size:15.5px;border-radius:14px}
.lp .btn.pri{box-shadow:0 16px 30px -16px color-mix(in srgb,var(--teal) 85%,transparent)}.lp .btn.pri:hover{transform:translateY(-1px)}
.lp .btn:not(.pri){background:var(--card)}
.lp-hero .note{margin-top:26px;font-size:13.5px;color:var(--mut);display:flex;gap:18px;flex-wrap:wrap}.lp-hero .note span{display:flex;gap:7px;align-items:center;font-weight:600}.lp-hero .note .ic{color:var(--teal)}
.proof{display:flex;align-items:center;gap:16px;margin-top:38px}
.avs{display:flex;align-items:center}.avs span{width:44px;height:44px;border-radius:50%;border:3px solid var(--bg);margin-left:-13px;display:grid;place-items:center;color:#fff}.avs span:first-child{margin-left:0}
.avs .a1{background:linear-gradient(145deg,#14B8A6,#0F766E)}.avs .a2{background:linear-gradient(145deg,#38BDF8,#2563EB)}.avs .a3{background:linear-gradient(145deg,#FB923C,#E11D48)}
.avs .more{width:auto;min-width:44px;padding:0 12px;border-radius:99px;background:var(--ink);color:var(--bg);font-weight:800;font-size:13.5px;letter-spacing:-.01em}
.proof b{display:block;font-size:15.5px;font-weight:800}.proof small{color:var(--mut);font-size:13.5px;font-weight:600}

.hero-vis{position:relative;max-width:520px;width:100%;margin-left:auto;min-height:560px}
.vc{position:absolute;display:block;width:min(68%,340px);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:10px;text-decoration:none!important;color:var(--ink);box-shadow:0 44px 80px -36px rgba(13,27,26,.55),0 8px 20px -10px rgba(13,27,26,.18);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.vc.a{top:0;left:0;transform:rotate(-4.5deg);z-index:1}.vc.b{bottom:0;right:0;transform:rotate(3.5deg);z-index:2}
.vc.solo{position:relative;margin:30px auto 0;width:min(86%,400px);transform:rotate(2.5deg)}
.vc:hover{transform:rotate(0) translateY(-8px);z-index:3}
.vc .im{aspect-ratio:16/10.5;border-radius:16px;overflow:hidden;background:linear-gradient(150deg,#14B8A6,#0A3F3B);display:grid;place-items:center}.vc .im img{width:100%;height:100%;object-fit:cover;display:block}
.vc .bd{padding:14px 8px 6px}.vc .tg{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);background:var(--tealS);padding:4px 10px;border-radius:99px}.vc .tg.up{color:var(--mar);background:color-mix(in srgb,var(--mar) 12%,transparent)}
.vc h3{font-size:17px;line-height:1.3;margin:10px 0 12px;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vc .ft{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;padding-top:12px;border-top:1px dashed var(--line)}.vc .ft .mut{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vc .pr{font-weight:800;font-size:16px;white-space:nowrap}.vc .pr small{font-weight:600;color:var(--mut);font-size:12px}
.fl{position:absolute;z-index:4;display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:11px 16px 11px 11px;box-shadow:0 20px 40px -18px rgba(13,27,26,.5);animation:float 6s ease-in-out infinite}
.fl b{display:block;font-size:13.5px;font-weight:800;line-height:1.2}.fl span:not(.d){font-size:12px;color:var(--mut);font-weight:600}
.fl .d{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--tealS);color:var(--teal);flex:none}.fl .d.amber{background:var(--amber-soft);color:var(--amber)}
.fl.f1{left:-22px;bottom:12%}.fl.f2{right:-14px;top:6%;animation-delay:-3s}
@keyframes float{50%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.fl,.pulse{animation:none}.vc{transition:none}}
@media(max-width:1080px){.nav-links{display:none}.nav-burger{display:inline-grid}}
@media(max-width:980px){.lp-hero{padding:116px 0 64px}.lp-hero .ct{grid-template-columns:1fr;gap:44px}.hero-vis{margin:0 auto;min-height:520px}.lp-hero .lead{max-width:none}.fl.f1{left:-8px}.fl.f2{right:-6px}}
@media(max-width:560px){.lp-hero{margin-top:-68px;padding-top:104px}.lp-brand .nm{display:none}.lp-brand .logo{height:42px}.nav-login{padding:9px 14px;font-size:13.5px}.nav-login .ic{display:none}.lp-nav .nav-in{height:68px}.lp-hero .acts .btn{flex:1 1 100%}.hero-vis{min-height:440px}.vc{width:74%}.vc h3{font-size:15.5px}.fl{padding:9px 13px 9px 9px;border-radius:14px}.fl .d{width:30px;height:30px}.fl b{font-size:12.5px}.fl span:not(.d){display:none}.fl.f1{bottom:8%}}
