/* Courses pages: courses.html (catalog) and course.html?c=… (one course with the video player) */
.courses-page{--cg:#ffbe32;--cb:#28b6d5;--cl:#1b2c3b;--cp:#0b1926;--cm:#a6b7c6;background:#07111b;color:#eef4fc}
.courses-page main{overflow:hidden}
.cr-wrap{width:min(1240px,100% - 2*clamp(16px,5vw,64px));margin:0 auto}
.cr-hero{position:relative;padding:34px 0 64px;isolation:isolate;background:radial-gradient(900px 400px at 85% 0%,#28b6d522,transparent 70%),radial-gradient(700px 360px at 0% 100%,#ffbe3214,transparent 70%)}
.cr-hero.has-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cr-hero.has-img:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#04111bf5 0%,#04111beb 45%,#04111bb3 100%)}
.cr-crumbs{display:flex;gap:10px;flex-wrap:wrap;color:var(--cm);font-size:12.5px;margin:0 0 30px}.cr-crumbs a{color:var(--cm)}.cr-crumbs a:hover{color:var(--cg)}
.cr-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cg);margin:0 0 14px}
.cr-eyebrow:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--cg);box-shadow:0 0 0 4px #ffbe3226}
.cr-hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.1;font-weight:700;margin:0 0 16px;max-width:880px;color:#fff}
.cr-hero h1 em{font-style:normal;color:var(--cg)}
.cr-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:#c9d6e2;max-width:720px;margin:0 0 26px}
.cr-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:14.5px;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,color .2s;font-family:inherit}
.cr-btn:hover{transform:translateY(-2px)}
.cr-btn.gold{background:linear-gradient(135deg,#ffd166,#ffbe32);color:#14202b;box-shadow:0 10px 30px #ffbe3233}
.cr-btn.line{background:#ffffff08;border-color:#ffffff2e;color:#fff}.cr-btn.line:hover{border-color:var(--cg);color:var(--cg)}
.cr-btn.sm{min-height:40px;padding:0 16px;font-size:13px}
.cr-btn[disabled]{opacity:.6;cursor:wait;transform:none}
.cr-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.cr-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff1f;font-size:13px;color:#dce6ef}
.cr-chip b{color:#fff}
.cr-mode{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.cr-mode.on{background:var(--cb);color:#04202a}.cr-mode.ph{background:var(--cg);color:#2b1d00}

/* catalog */
.cr-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:-26px 0 26px;position:relative;z-index:2}
.cr-tabs{display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--cp);border:1px solid var(--cl)}
.cr-tabs button{border:0;background:none;color:var(--cm);font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;cursor:pointer}
.cr-tabs button.on{background:#ffbe321f;color:var(--cg)}.cr-tabs button span{opacity:.7;font-weight:600;margin-left:4px}
.cr-search{flex:0 1 320px;min-width:200px;padding:12px 18px!important;border-radius:999px!important;border:1px solid var(--cl)!important;background:var(--cp)!important;color:#fff!important;font-size:14px!important}
.cr-search::placeholder{color:#7f93a5!important}
.cr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;padding-bottom:80px}
.cr-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--cp);border:1px solid var(--cl);transition:transform .25s,border-color .25s,box-shadow .25s;color:inherit}
.cr-card:hover{transform:translateY(-5px);border-color:#ffbe3266;box-shadow:0 24px 50px #0008}
.cr-card-img{position:relative;aspect-ratio:16/9;background:#0e2232;overflow:hidden}
.cr-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.cr-card:hover .cr-card-img img{transform:scale(1.05)}
.cr-card-img .cr-mode{position:absolute;left:14px;top:14px}
.cr-card-img .cr-feat{position:absolute;right:14px;top:14px;font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;background:#07111bd9;color:var(--cg);border:1px solid #ffbe3255}
.cr-card-b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.cr-cat{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cb)}
.cr-card h3{font-size:20px;line-height:1.3;margin:0;color:#fff}
.cr-card p{margin:0;font-size:14px;line-height:1.6;color:var(--cm)}
.cr-card-m{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12.5px;color:#c3d1dd;margin-top:auto;padding-top:12px;border-top:1px solid var(--cl)}
.cr-card-f{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cr-price{font-weight:800;color:#fff}.cr-price.req{color:var(--cg);font-weight:700;font-size:13.5px}
.cr-go{font-size:13.5px;font-weight:800;color:var(--cg)}
.cr-empty{grid-column:1/-1;padding:50px 20px;text-align:center;border-radius:22px;border:1px dashed var(--cl);color:var(--cm)}
.cr-skel{height:380px;border-radius:22px;background:linear-gradient(90deg,#0b1926,#102434,#0b1926);background-size:200% 100%;animation:crsk 1.4s infinite}
@keyframes crsk{to{background-position:-200% 0}}
.cr-cta{margin:0 0 90px;padding:clamp(28px,4vw,48px);border-radius:28px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center;background:radial-gradient(600px 300px at 100% 0%,#ffbe3222,transparent 70%),var(--cp);border:1px solid var(--cl)}
.cr-cta h2{font-size:clamp(24px,3vw,34px);margin:0 0 10px;color:#fff}.cr-cta p{margin:0;color:var(--cm);line-height:1.7}
.cr-cta .cr-btns{justify-content:flex-end}
.cr-how{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 70px}
.cr-how article{padding:24px;border-radius:20px;background:var(--cp);border:1px solid var(--cl)}
.cr-how b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ffbe321f;color:var(--cg);font:800 16px Manrope,sans-serif;margin-bottom:14px}
.cr-how h3{margin:0 0 8px;font-size:17px;color:#fff}.cr-how p{margin:0;color:var(--cm);font-size:14px;line-height:1.65}
.cr-sec-h{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 22px}
.cr-sec-h h2{font-size:clamp(24px,3vw,34px);margin:0;color:#fff}

/* single course */
.cr-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:40px;align-items:end}
.cr-side{padding:24px;border-radius:22px;background:#07111bcc;border:1px solid #ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.cr-side .cr-price{display:block;font:800 28px Manrope,sans-serif;margin:4px 0 4px}.cr-side .cr-price.req{font-size:20px}
.cr-side small{color:var(--cm)}
.cr-side ul{list-style:none;padding:0;margin:16px 0 18px;display:grid;gap:9px;font-size:14px;color:#d3dee8}
.cr-side li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ffffff12;padding-bottom:9px}.cr-side li span{color:var(--cm)}
.cr-side .cr-btn{width:100%}.cr-side .cr-btn+.cr-btn{margin-top:10px}
.cr-hello{margin:12px 0 0;font-size:13px;color:#2fd27a}.cr-hello button{background:none;border:0;color:var(--cm);text-decoration:underline;cursor:pointer;font-size:12.5px;padding:0;margin-left:6px}
.cr-learn{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:24px;padding:46px 0 30px;align-items:start}
.cr-learn.only{grid-template-columns:1fr}
/* player */
.cr-player{position:relative;border-radius:20px;overflow:hidden;background:#000;aspect-ratio:16/9;border:1px solid var(--cl);user-select:none;outline:none}
.cr-player video{width:100%;height:100%;display:block;background:#000}
.cr-player:fullscreen{border-radius:0;border:0;aspect-ratio:auto}
.cr-ctl{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 10px;background:linear-gradient(transparent,#000c);transition:opacity .3s;display:grid;gap:6px}
.cr-player.idle .cr-ctl{opacity:0}.cr-player.idle{cursor:none}
.cr-seek{position:relative;height:16px;cursor:pointer;display:flex;align-items:center}
.cr-seek i{position:absolute;left:0;right:0;height:4px;border-radius:4px;background:#ffffff40;transition:height .15s}
.cr-seek:hover i{height:6px}
.cr-seek .buf{right:auto;background:#ffffff66}.cr-seek .pos{right:auto;background:var(--cg)}
.cr-seek .knob{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--cg);transform:translateX(-50%);box-shadow:0 0 0 4px #ffbe3240}
.cr-seek .tip{position:absolute;bottom:20px;transform:translateX(-50%);background:#000d;color:#fff;font-size:12px;padding:3px 7px;border-radius:6px;pointer-events:none;display:none}
.cr-seek:hover .tip{display:block}
.cr-row{display:flex;align-items:center;gap:4px;color:#fff}
.cr-row button{width:40px;height:40px;border-radius:10px;border:0;background:none;color:#fff;display:grid;place-items:center;cursor:pointer;flex:none;font-weight:800;font-size:12px;position:relative}
.cr-row button:hover{background:#ffffff1f}
.cr-row svg{width:22px;height:22px}
.cr-row .skip span{position:absolute;font-size:8.5px;font-weight:800;top:15px}
.cr-time{font-size:13px;font-variant-numeric:tabular-nums;margin:0 8px;white-space:nowrap;color:#e8eef4}
.cr-vol{display:flex;align-items:center}
.cr-vol input{width:0;opacity:0;transition:width .2s,opacity .2s;accent-color:var(--cg);padding:0!important;border:0!important;height:4px}
.cr-vol:hover input,.cr-vol input:focus{width:80px;opacity:1;margin-right:6px}
.cr-sp{flex:1}
.cr-speed{position:relative}
.cr-speed-menu{position:absolute;bottom:46px;right:0;background:#0b1926f2;border:1px solid var(--cl);border-radius:12px;padding:6px;display:grid;min-width:90px}
.cr-speed-menu button{width:auto;height:32px;padding:0 12px;font-size:13px;font-weight:600;justify-content:start;display:flex}
.cr-speed-menu button.on{color:var(--cg)}
.cr-big{position:absolute;inset:0;margin:auto;width:78px;height:78px;border-radius:50%;border:0;background:#ffbe32e6;color:#14202b;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 40px #0009;transition:transform .2s}
.cr-big:hover{transform:scale(1.08)}.cr-big svg{width:32px;height:32px;margin-left:4px}
.cr-player.playing .cr-big{display:none}
.cr-flash{position:absolute;top:50%;transform:translateY(-50%);padding:12px 16px;border-radius:14px;background:#000a;color:#fff;font-weight:800;font-size:14px;opacity:0;transition:opacity .25s;pointer-events:none}
.cr-flash.l{left:8%}.cr-flash.r{right:8%}.cr-flash.c{left:50%;transform:translate(-50%,-50%)}.cr-flash.show{opacity:1}
.cr-lock{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(circle,#0b1926ee,#04111bf7)}
.cr-lock>div{max-width:420px}.cr-lock .ic{font-size:42px;margin-bottom:8px}
.cr-lock h3{margin:0 0 8px;color:#fff;font-size:20px}.cr-lock p{margin:0 0 18px;color:var(--cm);line-height:1.6}
.cr-lock .cr-btns{justify-content:center}
.cr-nowp{display:flex;justify-content:space-between;gap:12px;align-items:start;margin:16px 0 0}
.cr-nowp h3{margin:0;font-size:20px;color:#fff}.cr-nowp small{color:var(--cm)}
.cr-notes{margin:12px 0 0;padding:16px 18px;border-radius:16px;background:var(--cp);border:1px solid var(--cl);color:#cdd9e4;line-height:1.7;white-space:pre-wrap;font-size:14.5px}
.cr-keys{margin:10px 0 0;font-size:12px;color:#7f93a5}.cr-keys kbd{font:700 11px monospace;padding:2px 6px;border-radius:5px;border:1px solid #ffffff2e;background:#ffffff0d;color:#c9d6e2}
/* curriculum */
.cr-curr{border-radius:20px;background:var(--cp);border:1px solid var(--cl);overflow:hidden}
.cr-curr-h{padding:18px 20px;border-bottom:1px solid var(--cl)}.cr-curr-h h2{font-size:18px;margin:0 0 4px;color:#fff}.cr-curr-h small{color:var(--cm)}
.cr-prog{height:6px;border-radius:6px;background:#ffffff14;margin-top:12px;overflow:hidden}.cr-prog i{display:block;height:100%;background:linear-gradient(90deg,#ffbe32,#2fd27a);width:0;transition:width .4s}
.cr-mod{border-bottom:1px solid var(--cl)}.cr-mod:last-child{border-bottom:0}
.cr-mod summary{padding:14px 20px;font-weight:700;font-size:14.5px;color:#fff;display:flex;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}
.cr-mod summary small{color:var(--cm);font-weight:500;white-space:nowrap}
.cr-mod summary:after{content:none!important}
.cr-les{display:flex;align-items:center;gap:12px;width:100%;padding:11px 20px;border:0;border-top:1px solid #ffffff08;background:none;color:#d3dee8;text-align:left;cursor:pointer;font-size:14px;font-family:inherit}
.cr-les:hover{background:#ffffff08}.cr-les.on{background:#ffbe3214;box-shadow:inset 3px 0 0 var(--cg);color:#fff}
.cr-les .st{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;border:1px solid #ffffff2e;color:var(--cm)}
.cr-les.done .st{background:#2fd27a;border-color:#2fd27a;color:#04202a}
.cr-les .t{flex:1;min-width:0}.cr-les .d{font-size:12px;color:var(--cm);white-space:nowrap}
.cr-les .free{font-size:10.5px;font-weight:800;color:#2fd27a;border:1px solid #2fd27a55;border-radius:999px;padding:2px 7px;margin-left:6px;white-space:nowrap}
.cr-les[disabled]{cursor:default;opacity:.6}
/* about */
.cr-about{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px;padding:20px 0 40px}
.cr-box{padding:26px;border-radius:20px;background:var(--cp);border:1px solid var(--cl)}
.cr-box h2{font-size:22px;margin:0 0 14px;color:#fff}.cr-box h3{font-size:16px;margin:22px 0 10px;color:#fff}
.cr-box p{margin:0 0 12px;color:#c3d1dd;line-height:1.75;white-space:pre-line}
.cr-ticks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.cr-ticks li{position:relative;padding-left:28px;color:#d3dee8;line-height:1.55;font-size:14.5px}
.cr-ticks li:before{content:'✓';position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:#2fd27a22;color:#2fd27a;font-size:11px;font-weight:900;display:grid;place-items:center}
.cr-box ul.plain{margin:0;padding-left:18px;color:#c3d1dd;line-height:1.75}
.cr-sched{display:grid;gap:12px}
.cr-sched div{display:flex;gap:12px;align-items:start;padding:12px 14px;border-radius:14px;background:#ffffff06;border:1px solid #ffffff10}
.cr-sched i{font-style:normal;font-size:20px}.cr-sched b{display:block;color:#fff;font-size:14px}.cr-sched span{color:var(--cm);font-size:13.5px}
/* enroll */
.cr-enroll{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;margin:30px 0 90px;padding:clamp(24px,4vw,48px);border-radius:28px;background:radial-gradient(700px 360px at 0% 0%,#ffbe321f,transparent 70%),var(--cp);border:1px solid var(--cl)}
.cr-enroll h2{font-size:clamp(26px,3vw,38px);margin:0 0 12px;color:#fff}.cr-enroll h2 em{font-style:normal;color:var(--cg)}
.cr-enroll>div>p{color:var(--cm);line-height:1.7}
.cr-steps{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px;counter-reset:s}
.cr-steps li{counter-increment:s;display:flex;gap:12px;align-items:start;color:#d3dee8;line-height:1.55;font-size:14.5px}
.cr-steps li:before{content:counter(s);flex:none;width:28px;height:28px;border-radius:50%;background:#ffbe321f;color:var(--cg);font-weight:800;display:grid;place-items:center;font-size:13px}
.cr-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.cr-form label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#c9d6e2;grid-column:auto!important}
.cr-form label.full{grid-column:1/-1!important}
.cr-form input,.cr-form textarea,.cr-form select{padding:13px 15px!important;border-radius:12px!important;border:1px solid #ffffff24!important;background:#07111b!important;color:#fff!important;font-size:14.5px!important}
.cr-form input:focus,.cr-form textarea:focus{border-color:var(--cg)!important;outline:none;box-shadow:0 0 0 3px #ffbe3226}
.cr-form input::placeholder,.cr-form textarea::placeholder{color:#6f8496!important}
.cr-form .cr-btn{grid-column:1/-1}
.cr-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cr-msg{grid-column:1/-1;margin:0;font-size:14px;line-height:1.5}.cr-msg.err{color:#ff8d84}.cr-msg.ok{color:#2fd27a}
.cr-done{grid-column:1/-1;padding:26px;border-radius:18px;background:#2fd27a12;border:1px solid #2fd27a44;text-align:center}
.cr-done b{display:block;font-size:20px;color:#fff;margin-bottom:6px}.cr-done p{color:#c9d6e2;margin:0;line-height:1.6}
/* login dialog */
.cr-dlg{border:1px solid var(--cl)!important;border-radius:22px;background:#0b1926!important;color:#eef4fc!important;padding:30px!important;max-width:420px!important}
.cr-dlg::backdrop{background:#020a11cc}
.cr-dlg h2{font-size:22px!important;margin:0 0 6px!important;color:#fff}.cr-dlg>p{color:var(--cm);margin:0 0 18px;font-size:14px;line-height:1.6}
.cr-dlg .cr-form{grid-template-columns:1fr}
.cr-dlg .close{color:#fff;top:12px;right:16px}
.cr-404{padding:80px 0 120px;text-align:center}.cr-404 h1{margin:0 0 12px}
@media(max-width:980px){.cr-hero-grid,.cr-learn,.cr-about,.cr-enroll,.cr-cta{grid-template-columns:1fr}.cr-cta .cr-btns{justify-content:flex-start}.cr-how{grid-template-columns:1fr}}
@media(max-width:600px){.cr-bar{margin-top:-18px}.cr-tabs{width:100%;justify-content:space-between}.cr-tabs button{padding:9px 12px;font-size:13px}.cr-search{flex:1 1 100%}
  .cr-form{grid-template-columns:1fr}.cr-ticks{grid-template-columns:1fr}.cr-row button{width:34px;height:36px}.cr-row svg{width:20px;height:20px}.cr-vol input{display:none}.cr-time{font-size:11.5px;margin:0 4px}.cr-big{width:62px;height:62px}}
.courses-page [hidden]{display:none!important}
.cr-crumbs{display:flex!important;position:static!important;background:none!important;padding:0!important;box-shadow:none!important;flex-direction:row!important;gap:10px!important;border:0!important}
@media(hover:none){.cr-keys{display:none}}
/* enroll: bank details + payment screenshot */
.cr-bank{margin:22px 0 4px;padding:18px 18px 14px;border-radius:18px;background:#07111b;border:1px solid #ffbe3240}
.cr-bank.empty{border-style:dashed;border-color:#ffffff24}.cr-bank.empty b{color:#fff}.cr-bank.empty p{margin:6px 0 0;font-size:14px}
.cr-bank-h{display:flex;gap:12px;align-items:center;margin-bottom:10px}.cr-bank-h b{display:block;color:#fff;font-size:15.5px}.cr-bank-h small{color:var(--cm);font-size:12.5px}
.cr-bank-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ffbe321f;font-size:20px;flex:none}
.cr-bank-r{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #ffffff10;font-size:14px}
.cr-bank-r span{color:var(--cm);min-width:112px}.cr-bank-r b{color:#fff;flex:1;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.cr-bank-r.fee b{color:var(--cg)}
.cr-copy{flex:none;border:1px solid #ffffff2e;background:none;color:#dce6ef;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;cursor:pointer}.cr-copy:hover{border-color:var(--cg);color:var(--cg)}
.cr-bank-n{margin:8px 0 0!important;font-size:13px!important;color:#c9d6e2!important}
.cr-up{display:grid;gap:7px}.cr-up-l{font-size:13px;font-weight:600;color:#c9d6e2}
.cr-drop{position:relative;display:block!important;padding:16px!important;border-radius:14px;border:1.5px dashed #ffffff33;background:#07111b;cursor:pointer;transition:border-color .2s,background .2s}
.cr-drop:hover,.cr-drop.over{border-color:var(--cg);background:#ffbe320d}.cr-drop.has{border-style:solid;border-color:#2fd27a88}
.cr-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cr-drop .pv{display:flex;align-items:center;gap:14px;pointer-events:none}.cr-drop .pv b{display:block;color:#fff;font-size:14px}.cr-drop .pv small{color:var(--cm);font-size:12.5px;font-weight:400}
.cr-drop-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#ffbe321f;color:var(--cg);font-size:20px;font-weight:800;flex:none}
.cr-drop img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid #ffffff24;flex:none}
.cr-fine{color:#7f93a5!important;font-size:13px!important}.cr-fine a{color:var(--cg);font-weight:700}
.cr-done .ok{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#2fd27a;color:#04202a;font-size:26px;font-weight:900}
.cr-done p+p{margin-top:8px}
@media(max-width:600px){.cr-bank-r{flex-wrap:wrap;gap:4px 10px}.cr-bank-r span{min-width:0;width:100%;font-size:12.5px}}
/* ---- icon + alignment polish ---- */
.courses-page .ci{width:1.15em;height:1.15em;flex:none;display:block}
.cr-mode{display:inline-flex!important;align-items:center;justify-content:center;height:24px;padding:0 11px!important;line-height:1!important;font-size:10.5px!important;letter-spacing:.08em;box-shadow:0 4px 14px #0006}
.cr-chips{align-items:center}
.cr-chips .cr-mode{height:34px;padding:0 15px!important;font-size:11px!important}
.cr-chip{height:34px;padding:0 14px;gap:7px;line-height:1}
.cr-chip .ci{color:var(--cg);width:15px;height:15px}
.cr-chip b{font-weight:800}
.cr-card-img .cr-feat{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;line-height:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cr-card-img .cr-feat .ci{width:12px;height:12px}
.cr-card-m{gap:8px 16px;align-items:center}
.cr-card-m span{display:inline-flex;align-items:center;gap:6px}
.cr-card-m .ci{width:14px;height:14px;color:var(--cb)}
.cr-les{align-items:center}
.cr-les .st{width:28px;height:28px;font-size:0}
.cr-les .st .ci{width:12px;height:12px}
.cr-les.on .st{background:var(--cg);border-color:var(--cg);color:#14202b}
.cr-les.on .st .ci{width:11px;height:11px;margin-left:1px}
.cr-les.done .st .ci{width:14px;height:14px;stroke-width:3}
.cr-les .t{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;line-height:1.4}
.cr-les .free{margin-left:0;line-height:1.2}
.cr-lock .ic{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#ffbe321a;color:var(--cg);border:1px solid #ffbe3240}
.cr-lock .ic .ci{width:28px;height:28px}
.cr-sched i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ffbe321a;color:var(--cg);flex:none}
.cr-sched i .ci{width:18px;height:18px}
.cr-bank-ic{color:var(--cg)}.cr-bank-ic .ci{width:20px;height:20px}
.cr-drop-ic .ci{width:22px;height:22px}
.cr-done .ok .ci{width:28px;height:28px;stroke-width:3}
.cr-side .cr-price.ok{display:flex;align-items:center;gap:8px;color:#2fd27a}.cr-side .cr-price.ok .ci{width:24px;height:24px;stroke-width:3}
.cr-hello{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cr-hello .ci{width:15px;height:15px;stroke-width:3}
/* player */
.cr-player:not(.playing):after{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,#04111b8c 0,#04111b40 45%,transparent 75%);pointer-events:none}
.cr-player .cr-big{z-index:2;width:76px;height:76px;background:linear-gradient(135deg,#ffd166,#ffbe32);box-shadow:0 0 0 10px #ffbe3226,0 14px 40px #000a}
.cr-player .cr-big svg{width:30px;height:30px;margin-left:5px}
.cr-big:hover{transform:scale(1.07);box-shadow:0 0 0 14px #ffbe3233,0 14px 40px #000a}
.cr-ctl{z-index:3;padding:40px 16px 10px}
.cr-seek{margin:0 8px}
.cr-row{gap:2px}
.cr-row button{color:#eef4fc}
.cr-row button:hover{color:#fff}
.cr-row button[data-a=play] svg{width:24px;height:24px}
.cr-row .skip svg{width:26px;height:26px}
.cr-row [data-a=speed]{font-size:13px!important;min-width:44px}
.cr-flash{z-index:4;display:flex;align-items:center;gap:6px}
.cr-lock{z-index:5}
@media(max-width:600px){.cr-chips .cr-mode,.cr-chip{height:30px}.cr-chip{padding:0 11px;font-size:12.5px}.cr-player .cr-big{width:62px;height:62px}.cr-player .cr-big svg{width:24px;height:24px}.cr-row .skip svg{width:22px;height:22px}}
.cr-mode,.cr-card-img .cr-feat{padding-top:1px!important}
@media(max-width:600px){
  .cr-ctl{padding:14px 10px 6px;gap:2px}
  .cr-player .cr-big{inset:auto;top:calc(50% - 31px - 24px);left:calc(50% - 31px)}
  .cr-row button{width:34px;height:34px}
  .cr-row [data-a=speed]{min-width:36px;padding:0 4px!important}
}
/* big play button v2: calm glass circle, gold on hover */
.cr-player:not(.playing):after{background:linear-gradient(180deg,#04111b33,#04111b99 60%,#04111bcc)!important}
.cr-player .cr-big{width:84px!important;height:84px!important;border-radius:50%;background:#ffffff1f!important;border:1.5px solid #ffffff59;color:#fff;
  -webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);box-shadow:0 12px 36px #0009!important;transition:transform .25s,background .25s,color .25s,border-color .25s}
.cr-player .cr-big svg{width:36px!important;height:36px!important;margin:0!important;filter:drop-shadow(0 2px 6px #0006)}
.cr-player .cr-big:hover,.cr-player .cr-big:focus-visible{background:linear-gradient(135deg,#ffd166,#ffbe32)!important;border-color:#ffd166;color:#14202b;transform:scale(1.06);box-shadow:0 14px 40px #ffbe3240!important}
.cr-player .cr-big:hover svg{filter:none}
@media(max-width:600px){.cr-player .cr-big{width:64px!important;height:64px!important;top:calc(50% - 32px - 24px)!important;left:calc(50% - 32px)!important}.cr-player .cr-big svg{width:28px!important;height:28px!important}}
/* big play button: soft breathing + two ripple rings spreading out */
.cr-player .cr-big{animation:crBreath 2.6s ease-in-out infinite}
.cr-player .cr-big:before,.cr-player .cr-big:after{content:'';position:absolute;inset:-2px;border-radius:50%;border:2px solid #ffd166;opacity:0;pointer-events:none;animation:crRipple 2.6s cubic-bezier(.2,.6,.3,1) infinite}
.cr-player .cr-big:after{animation-delay:1.3s}
.cr-player .cr-big svg{animation:crNudge 2.6s ease-in-out infinite}
.cr-player .cr-big:hover,.cr-player .cr-big:hover svg{animation:none}
.cr-player .cr-big:hover:before,.cr-player .cr-big:hover:after{animation-duration:1.4s}
@keyframes crBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes crRipple{0%{transform:scale(1);opacity:.75}80%,100%{transform:scale(1.75);opacity:0}}
@keyframes crNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
@media(prefers-reduced-motion:reduce){.cr-player .cr-big,.cr-player .cr-big svg,.cr-player .cr-big:before,.cr-player .cr-big:after{animation:none!important}}
/* ---- Coming soon (no active courses) ---- */
.cr-grid.soon{display:block}
.cr-soon{position:relative;overflow:hidden;isolation:isolate;margin:10px 0 10px;padding:clamp(56px,8vw,96px) 24px;border-radius:30px;text-align:center;
  background:radial-gradient(700px 320px at 50% 0%,#ffbe321c,transparent 70%),linear-gradient(180deg,#0b1926,#081521);border:1px solid var(--cl)}
.cr-soon:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:44px 44px;
  -webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0,transparent 70%);mask-image:radial-gradient(circle at 50% 45%,#000 0,transparent 70%)}
.cr-soon-orb{position:absolute;z-index:-1;width:340px;height:340px;border-radius:50%;filter:blur(70px);opacity:.45;animation:crOrb 12s ease-in-out infinite}
.cr-soon-orb.a{background:#ffbe32;top:-120px;left:-80px}.cr-soon-orb.b{background:#28b6d5;bottom:-140px;right:-60px;animation-delay:-6s}
.cr-soon .cr-eyebrow{justify-content:center}
.cr-soon-t{margin:6px 0 0;font-size:clamp(48px,9vw,112px);line-height:1.02;font-weight:800;letter-spacing:-.02em;color:#fff}
.cr-soon-t .w{display:inline-block;white-space:nowrap}
.cr-soon-t span span{display:inline-block;animation:crWave 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * .09s)}
.cr-soon-t .gold span{background:linear-gradient(100deg,#ffbe32 0%,#ffe29a 35%,#ffbe32 55%,#ff9f1c 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:crWave 2.8s ease-in-out infinite,crShine 3.6s linear infinite;animation-delay:calc(var(--i) * .09s),0s}
.cr-soon-line{width:min(260px,60%);height:4px;margin:22px auto 22px;border-radius:4px;background:#ffffff14;overflow:hidden}
.cr-soon-line i{display:block;width:40%;height:100%;border-radius:4px;background:linear-gradient(90deg,transparent,#ffbe32,#28b6d5,transparent);animation:crSlide 2.2s ease-in-out infinite}
.cr-soon-p{max-width:560px;margin:0 auto 18px;color:#b9c8d6;font-size:clamp(15px,1.5vw,17.5px);line-height:1.7}
.cr-soon-dots{display:flex;justify-content:center;gap:8px;margin:0 0 26px}
.cr-soon-dots i{width:9px;height:9px;border-radius:50%;background:var(--cg);animation:crDot 1.4s ease-in-out infinite}
.cr-soon-dots i:nth-child(2){animation-delay:.2s;background:#ffd166}.cr-soon-dots i:nth-child(3){animation-delay:.4s;background:var(--cb)}
.cr-soon .cr-btns{justify-content:center}
.cr-soon-fl{position:absolute;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#ffffff0a;border:1px solid #ffffff1a;color:var(--cg);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:crFloat 6s ease-in-out infinite}
.cr-soon-fl .ci{width:26px;height:26px}
.cr-soon-fl.f1{top:14%;left:9%}.cr-soon-fl.f2{top:20%;right:10%;color:var(--cb);animation-delay:-1.5s}
.cr-soon-fl.f3{bottom:16%;left:14%;color:var(--cb);animation-delay:-3s}.cr-soon-fl.f4{bottom:20%;right:14%;animation-delay:-4.5s}
@keyframes crWave{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-.08em)}}
@keyframes crShine{to{background-position:-220% 0}}
@keyframes crSlide{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
@keyframes crDot{0%,100%{transform:scale(.6);opacity:.4}50%{transform:scale(1);opacity:1}}
@keyframes crFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(4deg)}}
@keyframes crOrb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,30px) scale(1.15)}}
@media(max-width:700px){.cr-soon-fl{width:44px;height:44px;border-radius:14px}.cr-soon-fl .ci{width:20px;height:20px}.cr-soon-fl.f1{top:6%;left:5%}.cr-soon-fl.f2{top:8%;right:5%}.cr-soon-fl.f3{bottom:5%;left:6%}.cr-soon-fl.f4{bottom:6%;right:6%}}
@media(prefers-reduced-motion:reduce){.cr-soon *{animation:none!important}}
/* ---- quality menu ---- */
.cr-qbtn{width:auto!important;padding:0 10px!important;font-size:12.5px!important}
.cr-qbtn b{font-weight:800;white-space:nowrap}
.cr-qmenu{min-width:150px!important}
.cr-qmenu p{margin:4px 10px 6px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cm)}
.cr-qmenu button{justify-content:space-between!important;gap:12px}
.cr-qmenu button i{font-style:normal;font-size:9.5px;font-weight:900;padding:2px 5px;border-radius:4px;background:#ffbe32;color:#14202b}
.cr-qmenu button.on{color:var(--cg)}.cr-qmenu button.on:before{content:'✓';margin-right:-4px;font-weight:900}
/* ---- protection: watermark + cover ---- */
.cr-player{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cr-player video{pointer-events:auto;-webkit-user-drag:none}
.cr-wm{position:absolute;z-index:2;pointer-events:none;transition:left 2.5s ease-in-out,top 2.5s ease-in-out;max-width:80%}
.cr-wm span{display:inline-block;padding:4px 10px;border-radius:6px;background:#00000038;color:#ffffff73;font:700 13px/1.3 'DM Sans',sans-serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-shadow:0 1px 2px #0008}
.cr-wm2{position:absolute;z-index:2;right:14px;top:12px;pointer-events:none;color:#ffffff40;font:700 11px 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.cr-player.playing .cr-wm2{opacity:.9}
.cr-shield{position:absolute;inset:0;z-index:6;display:grid;place-items:center;text-align:center;padding:20px;background:#04111b;cursor:pointer}
.cr-shield>div{display:grid;justify-items:center;gap:8px;max-width:420px}
.cr-shield .ci{width:40px;height:40px;color:var(--cg)}
.cr-shield b{color:#fff;font-size:18px}.cr-shield small{color:var(--cm);font-size:14px}
@media print{.cr-player,.cr-learn{display:none!important}}
/* ---- notices / blocked ---- */
.cr-notice{position:fixed;z-index:99;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100% - 32px));padding:14px 16px;border-radius:14px;background:#0b1926f5;border:1px solid #ffbe3266;color:#eef4fc;font-size:14px;box-shadow:0 20px 50px #000a}
.cr-notice .ci{width:20px;height:20px;color:var(--cg);flex:none}.cr-notice button{background:none;border:0;color:var(--cm);font-size:20px;cursor:pointer;margin-left:auto}
.cr-blocked .cr-lock-ic{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#ff6b5f1a;border:1px solid #ff6b5f55;color:#ff8d84}
.cr-blocked .cr-lock-ic .ci{width:34px;height:34px}
@media(max-width:600px){.cr-wm span{font-size:10.5px}.cr-wm2{display:none}}
.cr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
