*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;color:#0f172a;background:#f4f6fb;line-height:1.5}
a{color:var(--p)}
.wrap{max-width:980px;margin:0 auto;padding:0 16px}
.muted{color:#64748b}.small{font-size:13px}
.top{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:5}
.top-in{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0f172a;font-weight:700;font-size:18px}
.brand img{height:42px}.brand small{font-weight:500;color:#64748b;font-size:13px}
.app-badge{display:inline-block;margin-bottom:10px;padding:5px 14px;border-radius:999px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--p),var(--a));letter-spacing:.02em}.app-badge small{font-weight:500;opacity:.9}
.social{display:flex;gap:8px}.yt{display:inline-flex;align-items:center;gap:6px;background:#ff0000;color:#fff;padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px}
.tg{display:inline-flex;align-items:center;gap:6px;background:#229ED9;color:#fff;padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14px}
.hero{text-align:center;padding:36px 0 18px}
.hero h1{font-size:30px;margin:0 0 8px;line-height:1.2}.hero h1 span{background:linear-gradient(90deg,var(--p),var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:#475569;max-width:620px;margin:0 auto}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.form{max-width:560px;margin:10px auto 40px}
.form label{display:block;font-weight:600;font-size:14px;margin:12px 0}
.form input,.form select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;background:#fff}
.form .chk{display:flex;gap:8px;font-weight:400;font-size:13px;color:#475569}.form .chk input{width:auto;margin-top:3px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tabs{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:4px}
.tab{flex:1;border:0;background:transparent;padding:9px;border-radius:8px;font-weight:600;cursor:pointer;color:#475569}
.tab.on{background:#fff;color:var(--p);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.hide{display:none!important}
.btn{display:inline-block;background:linear-gradient(135deg,var(--p),#2393c4);color:#fff;border:0;padding:12px 20px;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;text-align:center}
.form .btn{width:100%;margin-top:6px}.btn:disabled{opacity:.6}
.btn.sec{background:#fff;color:var(--p);border:1px solid var(--p)}.btn.sm{padding:6px 10px;font-size:13px}
.msg{font-size:14px;color:#334155}.msg.err{color:#b91c1c}
.who{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.who h2{margin:0}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{margin:0;display:flex;flex-direction:column}.stat span{color:#64748b;font-size:13px}.stat b{font-size:30px}.stat small{color:#64748b}
.stat.big{background:linear-gradient(135deg,var(--p),var(--a));color:#fff;border:0}.stat.big span,.stat.big small{color:rgba(255,255,255,.85)}
.stat.ok b{color:#15803d}.stat.bad b{color:#b91c1c}
.mini div{background:#f8fafc;border-radius:10px;padding:10px}.mini span{display:block;font-size:12px;color:#64748b}.mini b{font-size:20px}
.note{font-size:13px;color:#92400e;background:#fffbeb;padding:8px 12px;border-radius:8px}
.lost{font-size:15px}.badt{color:#b91c1c}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:8px 6px;border-bottom:1px solid #eef2f7;text-align:left}
.tbl th{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.bar{height:6px;background:#eef2f7;border-radius:6px;margin-top:4px;overflow:hidden}.bar i{display:block;height:100%;background:var(--p)}
.weak{margin:6px 0 12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.weak span{background:#fef2f2;color:#991b1b;padding:4px 10px;border-radius:999px;font-size:13px}
.sec-h{margin:22px 0 8px;padding:6px 10px;background:#eef2ff;color:var(--p);border-radius:8px;font-size:15px}
.q{border:1px solid #e5e7eb;border-radius:10px;padding:12px;margin:10px 0;break-inside:avoid;page-break-inside:avoid;background:#fff}
.qh{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.qb img,.opts img{max-width:100%;height:auto;vertical-align:middle}
.pill{font-size:12px;padding:2px 8px;border-radius:999px;font-weight:600}
.pill.wrong{background:#fee2e2;color:#991b1b}.pill.unattempted{background:#f1f5f9;color:#334155}.pill.correct{background:#dcfce7;color:#166534}.pill.bonus{background:#fef3c7;color:#92400e}
.tag{font-size:12px;color:#475569;background:#f1f5f9;padding:2px 8px;border-radius:999px}
.opts{margin:6px 0 0;padding-left:26px}.opts li{padding:5px 8px;border-radius:6px;margin:3px 0}
.opts li.right{background:#dcfce7;border:1px solid #86efac}
.opts li.mine{background:#fee2e2;border:1px solid #fca5a5}
.opts em{font-style:normal;font-size:12px;font-weight:700;color:#15803d}.opts em.you{color:#b91c1c}
.cta{display:flex;gap:14px;align-items:center;background:#f0f9ff;border-color:#bae6fd}.cta img{height:54px}
.foot{padding:24px 0 40px;color:#334155;font-size:14px}.foot .wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.foot img{height:40px}.foot p{flex-basis:100%}
@media(max-width:700px){.social span{display:none}.yt,.tg{padding:8px 10px}.grid4{grid-template-columns:1fr 1fr}.row2{grid-template-columns:1fr}.tbl{font-size:12px}.hero h1{font-size:24px}}

.form-side{max-width:560px;margin:-20px auto 40px}
.mentor{display:flex;gap:20px;align-items:center;background:linear-gradient(135deg,#eef4ff,#eafaf3);border:0}
.mentor img{width:132px;height:132px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 3px var(--a)}
.mentor h3{margin:2px 0 6px;font-size:22px}.mentor ul{margin:0 0 12px;padding:0;list-style:none}
.mentor li{padding:2px 0 2px 24px;position:relative;font-weight:600;color:#1e293b}
.mentor li:before{content:"✔";position:absolute;left:0;color:var(--a);font-weight:800}
.mentor .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--p);font-weight:700}
.mentor.compact img{width:96px;height:96px}
@media(max-width:560px){.mentor{flex-direction:column;text-align:center}.mentor li{display:inline-block;margin:0 6px}}
body.print .mentor .yt{display:none}

.courses h3{margin-top:0}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.course{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;background:#fff;transition:transform .15s,box-shadow .15s}
.course:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.1)}
.thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--p),var(--a))}.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cbody{padding:12px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.cbody ul{margin:6px 0;padding-left:18px;font-size:13px;color:#334155}
.cfoot{margin-top:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.price{font-weight:800;font-size:18px;color:#15803d}.price s{color:#94a3b8;font-weight:400;font-size:13px}
.enrol{margin-left:auto;background:linear-gradient(135deg,var(--p),var(--a));color:#fff;padding:6px 12px;border-radius:8px;font-weight:700;font-size:13px}
.promo-page{page-break-before:always;break-before:page}
.promo-head{display:flex;gap:14px;align-items:center;padding:14px 18px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--p),var(--a))}
.promo-head img{height:64px;border-radius:50%;background:#fff}.promo-head h2{margin:0}.promo-head p{margin:2px 0 0}.promo-head a{color:#fff;font-weight:700}
body.print .course{break-inside:avoid}
@media(max-width:700px){.cgrid{grid-template-columns:1fr}}

/* ---------- print / PDF ---------- */
body.print{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.print .wrap{max-width:none;padding:0}
body.print .card{box-shadow:none;break-inside:avoid}
body.print .card:has(.q){break-inside:auto}
.pdf-head{display:flex;gap:12px;align-items:center;border-bottom:3px solid var(--p);padding-bottom:8px}.pdf-head img{height:44px}
.pdf-head span{color:#475569;font-size:13px}
.paper main{position:relative;z-index:1}
.paper .q{background:transparent}
.wm{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.07;z-index:0;pointer-events:none}
.wm img{width:62%;transform:rotate(-25deg)}.wm span{font-size:44px;font-weight:800;transform:rotate(-25deg);margin-top:20px}
.cover{text-align:center;padding-top:120px;page-break-after:always}.cover img{height:120px}.cover h1{font-size:32px;margin:20px 0 4px}
.cover h2{color:var(--p);margin:0}.cover .tgline{font-weight:700;color:#229ED9}
.toc{text-align:left;display:inline-block;margin-top:30px}
.shift{page-break-before:always}.shift:first-of-type{page-break-before:auto}
.shift-h{background:var(--p);color:#fff;padding:10px 14px;border-radius:8px;font-size:16px}

/* ---------- admin ---------- */
.form-wide input,.form-wide select,.form-wide textarea{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}
.form-wide label{display:block;font-weight:600;font-size:13px;margin:8px 0}.form-wide .num{width:80px}
.row3{display:grid;grid-template-columns:2fr 1.4fr 1fr;gap:12px;align-items:end}.chkline{display:flex!important;gap:8px;align-items:center}.chkline input{width:auto!important}
.admin .tbl td,.admin .tbl th{font-size:13px}
.admin h2{margin-top:28px}
.admin form.inline{display:inline}
.admin .chips label{display:inline-flex;gap:6px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;margin:4px}
.admin input[type=text],.admin input[type=password],.admin input[type=file]{padding:8px;border:1px solid #cbd5e1;border-radius:8px}
.ok{color:#15803d}.warn{color:#b45309}
