:root{--bg:#0F0F0F;--bg1:#171717;--bg2:#1E1E1E;--bg3:#262626;--fg2:#B8B8B8;--fg3:#8A8A8A;--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.18);--ease:cubic-bezier(.16,.84,.24,1);--spring:cubic-bezier(.34,1.56,.64,1)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:#fff;font-family:var(--font-text);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:#fff}a:hover{color:var(--fg2)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid #fff;outline-offset:3px}
[hidden]{display:none!important}
.ico{display:inline-block;flex:none;vertical-align:middle}
.gl{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 .5px rgba(255,255,255,.12),0 10px 30px -14px rgba(0,0,0,.6)}
.gl-d{background:linear-gradient(180deg,rgba(52,52,52,.78),rgba(18,18,18,.88));-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);box-shadow:inset 0 1px 1px rgba(255,255,255,.2),inset 0 0 0 .5px rgba(255,255,255,.14),0 18px 40px -14px rgba(0,0,0,.7)}
/* botões */
.b{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;border-radius:999px;font:500 15px/1 var(--font-text);text-decoration:none;white-space:nowrap;transition:transform 180ms var(--ease),background 180ms,box-shadow 200ms,opacity 180ms}
.b:active{transform:scale(.97)}
.b[disabled]{opacity:.5;cursor:not-allowed}
.b-w{color:#171717;background:linear-gradient(180deg,#fff,#E4E4E4);box-shadow:inset 0 -2px 0 rgba(0,0,0,.08),inset 0 1px 0 #fff,0 10px 26px -10px rgba(255,255,255,.4)}
.b-w:hover{color:#171717;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08),inset 0 1px 0 #fff,0 16px 36px -10px rgba(255,255,255,.55)}
.b-g{color:#fff}.b-g:hover{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.07))}
.b-q{background:none;color:var(--fg2)}.b-q:hover{color:#fff;background:rgba(255,255,255,.06)}
.b-sm{min-height:36px;padding:0 14px;font-size:13px}
.b-lg{min-height:54px;padding:0 26px;font-size:16px}
.b-ic{width:44px;padding:0}.b-ic.b-sm{width:36px}
.b-danger{color:#fff;background:#2A2A2A;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.b-danger:hover{background:#fff;color:#171717}
/* campos */
.f{display:flex;flex-direction:column;gap:7px}
.f>span{font:500 13px/1.2 var(--font-text);color:var(--fg2)}
.in,.sel,.ta{width:100%;min-width:0;min-height:48px;padding:0 14px;border-radius:14px;border:1px solid var(--line2);background:#121212;color:#fff;font:400 15px/1.3 var(--font-text);outline:0;transition:border-color 160ms,box-shadow 160ms}
.ta{padding:12px 14px;min-height:96px;resize:vertical}
.in:focus,.sel:focus,.ta:focus{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.sel{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#B8B8B8 50%),linear-gradient(135deg,#B8B8B8 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font:500 12px/1 var(--font-text);background:rgba(255,255,255,.07);color:var(--fg2);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.chip.w{background:#fff;color:#171717;box-shadow:none}
.chip.o{background:none}
.chip i{width:6px;height:6px;border-radius:99px;background:currentColor}
.tg{position:relative;width:46px;height:28px;border-radius:99px;background:#333;border:0;cursor:pointer;flex:none;transition:background 200ms}
.tg::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:99px;background:#8A8A8A;transition:transform 260ms var(--spring),background 200ms}
.tg[aria-checked="true"]{background:#fff}.tg[aria-checked="true"]::after{transform:translateX(18px);background:#171717}
/* modal / drawer / toast */
.ov{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px;animation:fade 220ms ease}
@keyframes fade{from{opacity:0}}
.modal{width:min(460px,100%);border-radius:28px;padding:28px;background:var(--bg2);box-shadow:0 0 0 1px var(--line2),0 40px 80px -20px rgba(0,0,0,.8);animation:rise 360ms var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(20px) scale(.98)}}
.modal h3{margin:0;font:600 24px/1.15 var(--font-display);letter-spacing:-.02em}
.modal p{margin:10px 0 0;color:var(--fg2);font-size:15px;line-height:1.5}
.modal .acts{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(560px,100%);background:var(--bg1);box-shadow:-1px 0 0 var(--line2),-40px 0 80px -20px rgba(0,0,0,.8);display:flex;flex-direction:column;animation:slidein 400ms var(--ease)}
@keyframes slidein{from{transform:translateX(40px);opacity:0}}
.drawer-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line)}
.drawer-h h3{margin:0;font:600 22px/1.2 var(--font-display);letter-spacing:-.02em}
.drawer-b{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:16px}
.drawer-f{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--line)}
.toast{position:fixed;left:50%;bottom:24px;z-index:90;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border-radius:999px;font:500 14px/1.2 var(--font-text);transform:translateX(-50%);animation:rise 360ms var(--ease)}
/* ===== LOGIN ===== */
.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.login-art{position:relative;overflow:hidden;background:#0A0A0A;display:flex;flex-direction:column;justify-content:space-between;padding:40px clamp(24px,4vw,56px)}
.login-art img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.05) brightness(.7);-webkit-mask-image:linear-gradient(90deg,#000 50%,transparent);mask-image:linear-gradient(90deg,#000 50%,transparent)}
.login-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.2),rgba(10,10,10,.85))}
.login-art>*{position:relative;z-index:1}
.login-art .logo{height:24px;width:auto}
.login-art h1{margin:0;font:600 clamp(40px,4.6vw,68px)/.98 var(--font-display);letter-spacing:-.04em;max-width:12ch;text-wrap:balance}
.login-art h1 span{color:var(--fg3)}
.login-art p{margin:16px 0 0;max-width:42ch;color:var(--fg2);font-size:17px;line-height:1.5}
.login-side{display:grid;place-items:center;padding:40px 20px;background:radial-gradient(60% 60% at 60% 30%,rgba(255,255,255,.06),transparent),var(--bg)}
.login-card{width:min(420px,100%);border-radius:32px;padding:32px}
.login-card h2{margin:0;font:600 30px/1.1 var(--font-display);letter-spacing:-.03em}
.login-card .sub{margin:8px 0 24px;color:var(--fg2);font-size:15px}
.login-card form{display:flex;flex-direction:column;gap:14px}
.login-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--fg2)}
.login-row label{display:flex;align-items:center;gap:8px;cursor:pointer}
.login-row input{accent-color:#fff;width:16px;height:16px}
.login-err{display:flex;gap:8px;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);font-size:14px}
.login-demo{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.login-demo small{font-size:12px;color:var(--fg3);letter-spacing:.04em;text-transform:uppercase}
.login-demo div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.login-first{margin-top:16px;font-size:13px;color:var(--fg3);line-height:1.5}
/* ===== MEMBRO ===== */
.mnav{position:fixed;top:0;left:0;right:0;z-index:40;height:72px;display:flex;align-items:center;gap:28px;padding:0 clamp(16px,4vw,56px);transition:background 300ms,box-shadow 300ms}
.mnav.s{background:rgba(15,15,15,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--line)}
.mnav .logo{height:20px;cursor:pointer}
.mnav nav{display:flex;gap:4px}
.mnav nav button{appearance:none;border:0;background:none;cursor:pointer;height:40px;padding:0 14px;border-radius:999px;color:var(--fg2);font:500 14px/1 var(--font-text);transition:color 160ms,background 160ms}
.mnav nav button:hover{color:#fff}
.mnav nav button[aria-current="page"]{color:#fff;background:rgba(255,255,255,.1)}
.mnav .r{margin-left:auto;display:flex;align-items:center;gap:8px}
.av{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#171717;font:600 14px/1 var(--font-display);flex:none;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.menu-pop{position:absolute;right:0;top:48px;min-width:220px;border-radius:20px;padding:8px;display:flex;flex-direction:column;animation:rise 240ms var(--ease)}
.menu-pop button{appearance:none;border:0;background:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:12px;font:500 14px/1 var(--font-text)}
.menu-pop button:hover{background:rgba(255,255,255,.08)}
.bill{position:relative;min-height:min(88vh,820px);display:flex;align-items:flex-end;padding:120px clamp(16px,4vw,56px) 120px;overflow:hidden}
.bill img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 30%;filter:grayscale(1) contrast(1.05);transform:scale(1.04);animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.12) translateX(-2%)}}
.bill::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,15,15,.96) 0%,rgba(15,15,15,.7) 38%,rgba(15,15,15,0) 70%),linear-gradient(0deg,var(--bg) 0%,rgba(15,15,15,0) 40%)}
.bill-c{position:relative;z-index:2;max-width:640px}
.bill .kick{display:flex;align-items:center;gap:10px;font:500 13px/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--fg2)}
.bill .kick img{height:22px}
.bill h1{margin:18px 0 0;font:600 clamp(44px,6vw,88px)/.95 var(--font-display);letter-spacing:-.045em;text-wrap:balance}
.bill p{margin:18px 0 0;font-size:18px;line-height:1.5;color:var(--fg2);max-width:52ch}
.bill .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.bill .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.bill .cont{margin-top:22px;display:flex;align-items:center;gap:14px;font-size:14px;color:var(--fg2)}
.pbar{position:relative;height:4px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden;flex:1;max-width:220px}
.pbar i{position:absolute;inset:0;background:#fff;transform-origin:0 50%}
.rows{position:relative;z-index:3;margin-top:-80px;padding-bottom:96px;display:flex;flex-direction:column;gap:44px}
.row-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 clamp(16px,4vw,56px);margin-bottom:14px}
.row-h h2{margin:0;font:600 clamp(20px,2vw,26px)/1.15 var(--font-display);letter-spacing:-.02em}
.row-h small{font-size:13px;color:var(--fg3);white-space:nowrap}
.row-w{position:relative}
.row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 clamp(16px,4vw,56px);padding:18px clamp(16px,4vw,56px) 28px;margin:-18px 0 -28px;scrollbar-width:none}
.row::-webkit-scrollbar{display:none}
.row-a{position:absolute;top:0;bottom:10px;z-index:5;width:clamp(16px,4vw,56px);border:0;cursor:pointer;display:grid;place-items:center;color:#fff;opacity:0;transition:opacity 200ms;background:linear-gradient(90deg,rgba(15,15,15,.9),transparent)}
.row-a.r{right:0;background:linear-gradient(-90deg,rgba(15,15,15,.9),transparent)}
.row-a.l{left:0}
.row-w:hover .row-a{opacity:1}
.card{position:relative;flex:none;width:clamp(240px,22vw,320px);scroll-snap-align:start;border-radius:18px;background:var(--bg2);box-shadow:0 0 0 1px var(--line);cursor:pointer;transition:transform 400ms var(--ease),box-shadow 300ms;text-align:left;border:0;padding:0;color:#fff;overflow:hidden}
.card:hover,.card:focus-visible{transform:scale(1.06) translateY(-6px);z-index:4;box-shadow:0 0 0 1px rgba(255,255,255,.35),0 30px 60px -20px rgba(0,0,0,.9)}
.card .th{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111}
.card .th img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1) contrast(1.05);transition:transform 600ms var(--ease)}
.card:hover .th img{transform:scale(1.06)}
.card .th::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%)}
.card .th .n{position:absolute;left:14px;bottom:10px;z-index:1;font:600 13px/1 var(--font-display);color:var(--fg2)}
.card .th .play{position:absolute;right:12px;bottom:10px;z-index:1;width:40px;height:40px;border-radius:99px;display:grid;place-items:center;background:#fff;color:#171717;opacity:0;transform:scale(.8);transition:opacity 200ms,transform 300ms var(--spring)}
.card:hover .th .play{opacity:1;transform:none}
.card .pb{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.15);z-index:2}.card .pb i{position:absolute;inset:0;background:#fff;transform-origin:0 50%}
.card .bd{padding:14px 16px 16px}
.card b{display:block;font:500 16px/1.25 var(--font-display);letter-spacing:-.01em}
.card small{display:block;margin-top:6px;font-size:13px;color:var(--fg3)}
.card.big{width:clamp(280px,30vw,440px)}
.card.big .th{aspect-ratio:16/10}
.card.big .th b{position:absolute;left:18px;bottom:16px;right:18px;z-index:1;font:600 clamp(22px,2.2vw,30px)/1.05 var(--font-display);letter-spacing:-.03em}
.card.big .th .tag{position:absolute;left:16px;top:14px;z-index:1}
.tool{flex:none;width:clamp(220px,19vw,270px);scroll-snap-align:start;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(180deg,#232323,#1B1B1B);box-shadow:0 0 0 1px var(--line);transition:transform 400ms var(--ease),box-shadow 300ms;cursor:pointer;border:0;color:#fff;text-align:left}
.tool:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(255,255,255,.3),0 24px 50px -20px rgba(0,0,0,.9)}
.g3{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:15px;flex:none;background:linear-gradient(155deg,rgba(255,255,255,.34),rgba(255,255,255,.1) 38%,rgba(255,255,255,.04) 62%,rgba(255,255,255,.14));box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 0 0 .5px rgba(255,255,255,.28),inset 0 -10px 18px -8px rgba(0,0,0,.45),0 14px 28px -10px rgba(0,0,0,.85)}
.g3 svg{filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.g3.w{background:linear-gradient(155deg,#fff,#EDEDED 45%,#CFCFCF);color:#171717;box-shadow:inset 0 1.5px 0 #fff,inset 0 -2px 0 rgba(0,0,0,.12),0 14px 28px -10px rgba(0,0,0,.8)}
.tool b{display:block;font:600 17px/1.2 var(--font-display)}
.tool small{display:block;margin-top:6px;font-size:13px;line-height:1.45;color:var(--fg2)}
.tool .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.dl{flex:none;width:clamp(240px,22vw,300px);scroll-snap-align:start;display:flex;align-items:center;gap:14px;padding:14px;border-radius:18px;background:var(--bg2);box-shadow:0 0 0 1px var(--line)}
.dl .ft{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff;color:#171717;font:600 10px/1 var(--font-display);flex:none;text-transform:uppercase}
.dl b{display:block;font:500 14px/1.3 var(--font-text);word-break:break-all}
.dl small{display:block;font-size:12px;color:var(--fg3);margin-top:3px}
.dl .b{margin-left:auto}
/* capas com texto sobreposto (catálogo) */
.card{background:#111;box-shadow:none;border-radius:14px;transform-origin:50% 60%}
.card .th{border-radius:14px}
.card .th::after{background:linear-gradient(0deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 34%,rgba(0,0,0,0) 62%),linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%);transition:opacity 300ms}
.card .bd{display:none}
.card .ov-t{position:absolute;left:14px;right:56px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:4px;transform:translateY(4px);transition:transform 400ms var(--ease)}
.card:hover .ov-t{transform:none}
.card .ov-t b{display:block;font:600 17px/1.15 var(--font-display);letter-spacing:-.015em;text-shadow:0 2px 10px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .ov-t small{display:block;margin:0;font:500 11px/1.2 var(--font-text);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.card .dur{position:absolute;right:10px;top:10px;z-index:2;height:24px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;font:500 11px/1 var(--font-text);color:#fff;font-variant-numeric:tabular-nums}
.card .th .n{display:none}
.card .th .play{bottom:14px;right:14px}
.card:hover,.card:focus-visible{transform:scale(1.08) translateY(-4px);box-shadow:0 0 0 1px rgba(255,255,255,.4),0 34px 70px -24px rgba(0,0,0,.95)}
.card.big{width:clamp(200px,17vw,250px)}
.card.big .th{aspect-ratio:2/3}
.card.big .th img{object-position:50% 20%}
.card.big .th::after{background:linear-gradient(0deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.6) 30%,rgba(0,0,0,0) 58%)}
.card.big .ov-t{right:14px;bottom:18px;gap:8px;align-items:flex-start}
.card.big .ov-t .mk{display:block;height:12px;width:auto;opacity:.8;margin-bottom:2px}
.card.big .ov-t b{font-size:clamp(22px,1.9vw,28px);line-height:1;letter-spacing:-.035em;-webkit-line-clamp:3}
.card.big .ov-t small{text-transform:none;letter-spacing:0;font-size:12px;color:rgba(255,255,255,.72)}
.card.big .ov-t b{position:static;left:auto;right:auto;bottom:auto}
.card.big .th .play{display:none}
.row{gap:10px}
@media (max-width:767px){.card{width:68vw}.card.big{width:44vw}}
/* página de curso */
.course-h{position:relative;padding:120px clamp(16px,4vw,56px) 40px;overflow:hidden}
.course-h img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) blur(2px) brightness(.45);transform:scale(1.1)}
.course-h::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),rgba(15,15,15,.5))}
.course-h>*{position:relative;z-index:1}
.course-h h1{margin:14px 0 0;font:600 clamp(36px,5vw,64px)/1 var(--font-display);letter-spacing:-.04em}
.course-h p{margin:14px 0 0;max-width:60ch;color:var(--fg2);font-size:17px;line-height:1.5}
.mods{padding:0 clamp(16px,4vw,56px) 96px;display:flex;flex-direction:column;gap:12px}
.mod{border-radius:22px;background:var(--bg2);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.mod-h{appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;text-align:left;color:#fff}
.mod-h img{width:96px;aspect-ratio:16/9;object-fit:cover;object-position:50% 25%;border-radius:10px;filter:grayscale(1)}
.mod-h b{display:block;font:600 19px/1.2 var(--font-display)}
.mod-h small{display:block;margin-top:4px;font-size:13px;color:var(--fg3)}
.mod-h .chev{margin-left:auto;transition:transform 300ms var(--ease)}
.mod[data-open="true"] .chev{transform:rotate(180deg)}
.les{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line);cursor:pointer;transition:background 160ms;appearance:none;border-left:0;border-right:0;border-bottom:0;background:none;width:100%;text-align:left;color:#fff}
.les:hover{background:rgba(255,255,255,.04)}
.les .st{width:30px;height:30px;border-radius:99px;display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1.5px var(--line2);font:600 12px/1 var(--font-display);color:var(--fg2)}
.les .st.done{background:#fff;color:#171717;box-shadow:none}
.les b{font:500 15px/1.3 var(--font-text)}
.les small{margin-left:auto;font-size:13px;color:var(--fg3);display:flex;gap:10px;align-items:center}
/* curso (redesenho) */
.cp{padding-bottom:96px}
.cp-hero{position:relative;overflow:hidden;padding:112px clamp(16px,4vw,56px) 56px;isolation:isolate}
.cp-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 22%;filter:grayscale(1) contrast(1.05) brightness(.55);z-index:-2;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 30%,#000 75%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 30%,#000 75%)}
.cp-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--bg) 0%,rgba(15,15,15,0) 45%),radial-gradient(60% 80% at 0% 50%,rgba(15,15,15,.9),transparent 70%)}
.cp-in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(24px,4vw,64px);align-items:end}
.cp-back{margin:0 0 20px -8px;display:inline-flex}
.cp-txt{min-width:0}
.cp-txt h1{margin:16px 0 0;font:600 clamp(40px,5.4vw,80px)/.96 var(--font-display);letter-spacing:-.045em;text-wrap:balance;max-width:14ch}
.cp-txt p{margin:18px 0 0;font-size:clamp(16px,1.3vw,18px);line-height:1.55;color:var(--fg2);max-width:54ch;text-wrap:pretty}
.cp-stats{display:flex;flex-wrap:wrap;gap:0;margin:28px 0 0;padding:0}
.cp-stats div{padding:0 24px;border-left:1px solid var(--line2)}.cp-stats div:first-child{padding-left:0;border-left:0}
.cp-stats dt{font:500 11px/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}
.cp-stats dd{margin:8px 0 0;font:600 clamp(22px,2vw,28px)/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cp-acts{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:32px}
.cp-ring{display:flex;align-items:center;gap:12px}
.cp-ring svg circle:last-child{transition:stroke-dashoffset 900ms var(--ease)}
.cp-ring b{display:block;font:600 20px/1 var(--font-display)}.cp-ring small{display:block;margin-top:4px;font-size:12px;color:var(--fg3)}
.cp-next{appearance:none;border:0;cursor:pointer;text-align:left;color:#fff;padding:10px;border-radius:24px;display:flex;flex-direction:column;gap:12px;transition:transform 400ms var(--ease),box-shadow 300ms}
.cp-next:hover{transform:translateY(-4px)}
.cp-next-th{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#111}
.cp-next-th img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1);transition:transform 600ms var(--ease)}
.cp-next:hover .cp-next-th img{transform:scale(1.05)}
.cp-next-th .play{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:99px;display:grid;place-items:center;background:#fff;color:#171717;box-shadow:0 10px 30px -6px rgba(0,0,0,.6)}
.cp-next-th .pb{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.2)}.cp-next-th .pb i{position:absolute;inset:0;background:#fff;transform-origin:0 50%}
.cp-next-t{display:flex;flex-direction:column;gap:4px;padding:0 6px 6px}
.cp-next-t small{font:500 11px/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}
.cp-next-t b{font:600 18px/1.2 var(--font-display);letter-spacing:-.015em}
.cp-next-t span{font-size:13px;color:var(--fg2)}
.cp-mods{max-width:1280px;margin:0 auto;padding:8px clamp(16px,4vw,56px) 0;display:flex;flex-direction:column;gap:10px}
.cp-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0 10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.cp-h h2{margin:0;font:600 clamp(24px,2.4vw,32px)/1.1 var(--font-display);letter-spacing:-.025em}
.cp-h small{font-size:13px;color:var(--fg3);white-space:nowrap}
.cp-mod{border-radius:22px;background:#161616;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:background 300ms,box-shadow 300ms}
.cp-mod[data-open="true"]{background:#1A1A1A;box-shadow:inset 0 0 0 1px var(--line2)}
.cp-mod-h{appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:20px;padding:12px;cursor:pointer;text-align:left;color:#fff}
.cp-mod-h:hover .cp-mod-th img{transform:scale(1.05)}
.cp-mod-th{position:relative;flex:none;width:clamp(120px,16vw,200px);aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#111}
.cp-mod-th img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1);transition:transform 600ms var(--ease)}
.cp-mod-th::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 60%)}
.cp-mod-n{position:absolute;left:10px;bottom:8px;z-index:1;font:600 22px/1 var(--font-display);letter-spacing:-.03em}
.cp-mod-th .pb{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:2;background:rgba(255,255,255,.2)}.cp-mod-th .pb i{position:absolute;inset:0;background:#fff;transform-origin:0 50%}
.cp-mod-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.cp-mod-t small{font:500 11px/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}
.cp-mod-t b{font:600 clamp(18px,1.7vw,22px)/1.15 var(--font-display);letter-spacing:-.02em}
.cp-mod-t span{font-size:13px;color:var(--fg2)}
.cp-mod-c{flex:none;width:40px;height:40px;border-radius:99px;display:grid;place-items:center;background:rgba(255,255,255,.06);margin-right:6px;transition:transform 400ms var(--ease),background 200ms}
.cp-mod[data-open="true"] .cp-mod-c{transform:rotate(180deg);background:#fff;color:#171717}
.cp-les{list-style:none;margin:0;padding:4px 12px 12px;display:flex;flex-direction:column;animation:rise 360ms var(--ease)}
.cp-les button{appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:16px;min-height:60px;padding:8px 12px;border-radius:14px;cursor:pointer;text-align:left;color:#fff;transition:background 160ms}
.cp-les button:hover{background:rgba(255,255,255,.05)}
.cp-st{flex:none;width:32px;height:32px;border-radius:99px;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line2);font:600 12px/1 var(--font-display);color:var(--fg2)}
.cp-st.half{box-shadow:inset 0 0 0 1.5px #fff;color:#fff}
.cp-st.done{background:#fff;color:#171717;box-shadow:none}
.cp-les-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.cp-les-t b{font:500 15px/1.3 var(--font-text)}
.cp-les-t small{font-size:12px;color:var(--fg3)}
.cp-dur{flex:none;font:500 13px/1 var(--font-text);color:var(--fg2);font-variant-numeric:tabular-nums}
.cp-go{flex:none;width:32px;height:32px;border-radius:99px;display:grid;place-items:center;background:#fff;color:#171717;opacity:0;transform:scale(.8);transition:opacity 200ms,transform 300ms var(--spring)}
.cp-les button:hover .cp-go,.cp-les button:focus-visible .cp-go{opacity:1;transform:none}
@media (max-width:1023px){.cp-in{grid-template-columns:1fr;align-items:start}.cp-next{flex-direction:row;align-items:center;max-width:560px}.cp-next-th{width:180px;flex:none}.cp-bg{-webkit-mask-image:linear-gradient(0deg,transparent,#000 60%);mask-image:linear-gradient(0deg,transparent,#000 60%)}}
@media (max-width:640px){.cp-hero{padding-top:84px;padding-bottom:32px}.cp-stats div{padding:0 14px}.cp-stats{row-gap:16px}.cp-acts .b{flex:1}.cp-next{flex-direction:column;align-items:stretch}.cp-next-th{width:auto}.cp-mod-h{gap:14px;padding:10px}.cp-mod-th{width:104px}.cp-mod-n{font-size:16px}.cp-mod-c{width:34px;height:34px;margin:0}.cp-les{padding:0 6px 8px}.cp-les button{gap:12px;padding:8px 6px}.cp-go{display:none}}
/* player */
.lp{padding:88px clamp(16px,3vw,40px) 80px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.player{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 0 0 1px var(--line),0 40px 80px -30px rgba(0,0,0,.9);user-select:none}
.player:fullscreen{border-radius:0}
.player .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:grayscale(1) contrast(1.05) brightness(.8);transition:transform 6s linear}
.player.playing .poster{transform:scale(1.06)}
.player .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 40%,transparent 70%,rgba(0,0,0,.5));transition:opacity 300ms}
.player .prov{position:absolute;left:16px;top:14px;z-index:2}
.player .big{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:99px;display:grid;place-items:center;border:0;cursor:pointer;color:#fff;transition:transform 300ms var(--spring),opacity 300ms;z-index:2}
.player .big:hover{transform:scale(1.08)}
.player.playing .big{opacity:0;pointer-events:none;transform:scale(.8)}
.player .sub{position:absolute;left:50%;bottom:86px;transform:translateX(-50%);max-width:80%;padding:6px 12px;border-radius:8px;background:rgba(0,0,0,.7);font-size:16px;text-align:center;z-index:2}
.ctl{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;border-radius:18px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;transition:opacity 300ms,transform 300ms var(--ease)}
.player.idle.playing .ctl,.player.idle.playing .shade{opacity:0;transform:translateY(8px)}
.player.idle.playing{cursor:none}
.seek{position:relative;height:18px;display:flex;align-items:center;cursor:pointer}
.seek .tr{position:relative;flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.2);transition:height 160ms}
.seek:hover .tr{height:6px}
.seek .buf{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:rgba(255,255,255,.25)}
.seek .pl{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:#fff}
.seek .kn{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:99px;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.6);transform:scale(0);transition:transform 160ms}
.seek:hover .kn{transform:scale(1)}
.seek .tip{position:absolute;bottom:22px;transform:translateX(-50%);padding:4px 8px;border-radius:6px;background:#fff;color:#171717;font:600 12px/1 var(--font-text);pointer-events:none;white-space:nowrap}
.ctl-r{display:flex;align-items:center;gap:4px}
.ctl-r .t{font:500 13px/1 var(--font-text);color:var(--fg2);font-variant-numeric:tabular-nums;margin:0 8px;white-space:nowrap}
.ctl-r .sp{flex:1}
.cb{appearance:none;border:0;background:none;cursor:pointer;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;position:relative;transition:background 160ms}
.cb:hover{background:rgba(255,255,255,.12)}
.cb.on::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;border-radius:2px;background:#fff}
.vol{display:flex;align-items:center}
.vol input{width:0;opacity:0;transition:width 220ms var(--ease),opacity 200ms;accent-color:#fff}
.vol:hover input,.vol input:focus{width:80px;opacity:1}
.pop{position:absolute;bottom:60px;right:12px;z-index:5;min-width:200px;border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:2px;animation:rise 200ms var(--ease)}
.pop small{padding:6px 10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg3)}
.pop button{appearance:none;border:0;background:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:38px;padding:0 10px;border-radius:10px;font:500 14px/1 var(--font-text);color:#fff}
.pop button:hover{background:rgba(255,255,255,.08)}
.pop button[aria-checked="true"]::after{content:"✓"}
.nextup{position:absolute;right:20px;bottom:92px;z-index:4;width:300px;border-radius:18px;padding:14px;display:flex;gap:12px;align-items:center;animation:rise 360ms var(--ease)}
.nextup img{width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;filter:grayscale(1)}
.nextup small{font-size:12px;color:var(--fg3)}
.nextup b{display:block;font:500 14px/1.3 var(--font-text);margin-top:3px}
.lesson-h{margin-top:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lesson-h h1{margin:6px 0 0;font:600 clamp(26px,2.6vw,36px)/1.1 var(--font-display);letter-spacing:-.025em}
.lesson-h small{font-size:13px;color:var(--fg3)}
.tabs{display:flex;gap:4px;margin-top:24px;border-bottom:1px solid var(--line)}
.tabs button{appearance:none;border:0;background:none;cursor:pointer;height:48px;padding:0 16px;color:var(--fg2);font:500 15px/1 var(--font-text);position:relative}
.tabs button[aria-selected="true"]{color:#fff}
.tabs button[aria-selected="true"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:#fff;border-radius:2px}
.tabp{padding-top:20px}
.tabp p{margin:0;color:var(--fg2);line-height:1.6;max-width:70ch}
.mats{display:flex;flex-direction:column;gap:8px}
.mat{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:16px;background:var(--bg2);box-shadow:0 0 0 1px var(--line)}
.mat b{display:block;font:500 15px/1.3 var(--font-text);word-break:break-all}
.mat small{font-size:12px;color:var(--fg3)}
.mat .b{margin-left:auto}
.mat.ok .b{background:#fff;color:#171717}
.cmt{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.cmt .av{width:38px;height:38px;font-size:14px;background:#333;color:#fff}
.cmt .av.adm{background:#fff;color:#171717}
.cmt b{font:500 14px/1.2 var(--font-text)}
.cmt small{margin-left:8px;font-size:12px;color:var(--fg3)}
.cmt p{margin:6px 0 0;font-size:15px;line-height:1.5;color:#E6E6E6}
.cmt .rep{margin-top:12px;padding-left:14px;border-left:2px solid var(--line2)}
.cmt-new{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}
.side{position:sticky;top:88px;border-radius:22px;background:var(--bg1);box-shadow:0 0 0 1px var(--line);max-height:calc(100vh - 110px);display:flex;flex-direction:column;overflow:hidden}
.side-h{padding:18px 18px 12px}
.side-h b{display:block;font:600 18px/1.2 var(--font-display)}
.side-h .pbar{max-width:none;margin-top:12px}
.side-h small{display:block;margin-top:8px;font-size:12px;color:var(--fg3)}
.side-l{overflow:auto;padding:0 8px 8px}
.side-m{padding:12px 10px 6px;font:500 12px/1.2 var(--font-text);letter-spacing:.06em;text-transform:uppercase;color:var(--fg3)}
.side-i{appearance:none;border:0;background:none;width:100%;display:flex;gap:12px;align-items:center;padding:8px;border-radius:14px;cursor:pointer;text-align:left;color:#fff}
.side-i:hover{background:rgba(255,255,255,.05)}
.side-i[aria-current="true"]{background:rgba(255,255,255,.1)}
.side-i img{width:84px;aspect-ratio:16/9;object-fit:cover;object-position:50% 25%;border-radius:8px;filter:grayscale(1);flex:none}
.side-i b{display:block;font:500 13px/1.3 var(--font-text)}
.side-i small{display:block;font-size:12px;color:var(--fg3);margin-top:3px}
.side-i .ck{margin-left:auto;flex:none}
/* tab bar mobile */
.tabbar{display:none}
/* ===== ADMIN ===== */
.adm{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.adm-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:20px 14px;border-right:1px solid var(--line);background:var(--bg1)}
.adm-side .logo{height:18px;width:auto;align-self:flex-start;margin:6px 10px 22px;flex:none}
.adm-side .lbl{padding:14px 12px 6px;font:500 11px/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}
.adm-side button{appearance:none;border:0;background:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:14px;color:var(--fg2);font:500 14px/1 var(--font-text);text-align:left;position:relative}
.adm-side button:hover{color:#fff;background:rgba(255,255,255,.05)}
.adm-side button[aria-current="page"]{color:#fff;background:rgba(255,255,255,.1)}
.adm-side button .cnt{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#fff;color:#171717;font:600 11px/22px var(--font-display);text-align:center}
.adm-side .foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.04)}
.adm-side .foot>div{flex:1;min-width:0}.adm-side .foot b{display:block;font:500 13px/1.2 var(--font-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-side .foot small{display:block;font-size:12px;color:var(--fg3)}.adm-side .foot .b{flex:none}
.adm-main{padding:28px clamp(16px,3vw,40px) 80px;min-width:0}
.adm-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.adm-h h1{margin:0;font:600 clamp(28px,3vw,40px)/1.05 var(--font-display);letter-spacing:-.03em}
.adm-h p{margin:6px 0 0;color:var(--fg2);font-size:15px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{border-radius:22px;padding:20px;background:var(--bg2);box-shadow:0 0 0 1px var(--line)}
.kpi.w{background:#fff;color:#171717}
.kpi small{font-size:13px;color:var(--fg3)}.kpi.w small{color:#626262}
.kpi b{display:block;margin-top:12px;font:600 clamp(28px,2.6vw,38px)/1 var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.kpi .d{flex-wrap:wrap;line-height:1.3;display:inline-flex;align-items:center;gap:4px;margin-top:10px;font:500 13px/1 var(--font-text);color:var(--fg2)}.kpi.w .d{color:#171717}
.panel{border-radius:22px;padding:20px;background:var(--bg2);box-shadow:0 0 0 1px var(--line)}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.panel-h b{font:600 18px/1.2 var(--font-display)}.panel-h small{white-space:nowrap}
.grid2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin-top:12px}
.chart{position:relative}
.chart svg{display:block;width:100%;height:260px;overflow:visible}
.chart .tt{position:absolute;transform:translate(-50%,-120%);padding:8px 10px;border-radius:10px;background:#fff;color:#171717;font:600 13px/1.2 var(--font-text);pointer-events:none;white-space:nowrap}
.chart .tt small{display:block;font-weight:400;color:#626262}
.act{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.act:last-child{border:0}
.act .g3{width:36px;height:36px;border-radius:11px}
.act small{margin-left:auto;color:var(--fg3);font-size:12px;white-space:nowrap}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font:500 12px/1 var(--font-text);letter-spacing:.06em;text-transform:uppercase;color:var(--fg3);padding:12px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:hover td{background:rgba(255,255,255,.02)}
.tbl .t{display:flex;align-items:center;gap:12px}
.tbl .t img{width:72px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;filter:grayscale(1)}
.tbl .t b{display:block;font:500 14px/1.3 var(--font-text)}
.tbl .t small{font-size:12px;color:var(--fg3)}
.tbl .acts{display:flex;gap:4px;justify-content:flex-end}
.tbl-w{overflow-x:auto;border-radius:22px;background:var(--bg2);box-shadow:0 0 0 1px var(--line)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.filters .in{max-width:320px;min-height:44px;border-radius:999px;padding-left:40px;background:#151515 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238A8A8A' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") 14px 50%/16px no-repeat}
.fbtn{white-space:nowrap;appearance:none;border:0;cursor:pointer;min-height:44px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--fg2);font:500 13px/1 var(--font-text);box-shadow:inset 0 0 0 1px var(--line);transition:background 160ms,color 160ms}
.fbtn[aria-pressed="true"]{background:#fff;color:#171717;box-shadow:none}
.int-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.int{border-radius:22px;padding:20px;background:var(--bg2);box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column;gap:14px}
.int.on{box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.int-h{display:flex;align-items:center;gap:14px}
.int-h b{display:block;font:600 17px/1.2 var(--font-display)}
.int-h small{display:block;font-size:13px;color:var(--fg3);margin-top:3px;line-height:1.4}
.int-h .tg{margin-left:auto}
.int .row2{display:flex;gap:8px;align-items:center}
.secret{position:relative}.secret .in{padding-right:48px;font-family:ui-monospace,Menlo,monospace;font-size:13px}
.secret button{position:absolute;right:6px;top:50%;transform:translateY(-50%)}
.int-f{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cm-card{border-radius:22px;padding:18px 20px;background:var(--bg2);box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column;gap:12px}
.cm-card .h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cm-card .h .av{width:36px;height:36px;background:#333;color:#fff;font-size:13px}
.cm-card .h b{font:500 15px/1.2 var(--font-text)}
.cm-card .h small{font-size:12px;color:var(--fg3)}
.cm-card .h .chip{margin-left:auto}
.cm-card p{margin:0;font-size:15px;line-height:1.55;color:#E6E6E6}
.cm-card .where{font-size:13px;color:var(--fg3)}
.cm-card .rep{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);font-size:14px;line-height:1.5}
.cm-card .rep b{display:block;font-size:12px;margin-bottom:4px}
.cm-card .acts{display:flex;gap:6px;flex-wrap:wrap}
.drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px;border-radius:16px;border:1.5px dashed var(--line2);text-align:center;color:var(--fg2);font-size:14px;cursor:pointer;transition:border-color 160ms,background 160ms}
.drop:hover{border-color:#fff;background:rgba(255,255,255,.03)}
.seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:#121212;box-shadow:inset 0 0 0 1px var(--line2)}
.seg button{flex:1;appearance:none;border:0;cursor:pointer;min-height:40px;border-radius:999px;background:none;color:var(--fg2);font:500 14px/1 var(--font-text)}
.seg button[aria-pressed="true"]{background:#fff;color:#171717}
.preview{border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#111;display:grid;place-items:center;color:var(--fg3);font-size:13px;box-shadow:0 0 0 1px var(--line)}
.preview code{font-size:12px;color:var(--fg2);word-break:break-all;padding:12px;text-align:center}
.mob-adm{display:none}
.mats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.mats-grid .dl{width:auto}
/* catálogo */
.cat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.cat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cat-it{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 6px;border-radius:16px;background:#191919;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow 160ms,opacity 160ms,transform 200ms var(--ease)}
.cat-it.drag{opacity:.45}
.cat-it.over{box-shadow:inset 0 0 0 1.5px #fff;transform:translateY(2px)}
.cat-grip{color:var(--fg3);cursor:grab;display:grid;place-items:center;width:20px}
.cat-ord{display:flex;flex-direction:column}
.cat-ord .b{min-height:22px;height:22px}
.cat-row{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.cat-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cat-main small{padding-left:10px;font-size:12px;color:var(--fg3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-title{min-height:38px;border-radius:10px;font-weight:500;background:transparent;border-color:transparent;padding:0 10px}
.cat-title:hover{border-color:var(--line2)}
.cat-cover{position:relative;flex:none;width:112px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:0;padding:0;cursor:pointer;background:#111}
.cat-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1)}
.cat-cover .chip{position:absolute;left:5px;bottom:5px;height:18px;padding:0 7px;font-size:10px;color:#fff}
.cat-cover .cat-ed{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);opacity:0;transition:opacity 160ms}
.cat-cover:hover .cat-ed,.cat-cover:focus-visible .cat-ed{opacity:1}
.cat-add{display:flex;gap:8px;margin-top:12px}
.cat-prev .card{transform:none!important}
.cat-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.cat-g{aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:0;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);background:#111;transition:box-shadow 160ms,transform 200ms var(--ease)}
.cat-g img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1);display:block}
.cat-g.on{box-shadow:0 0 0 2px #fff;transform:scale(.97)}
.cat-pv{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:16px;background:#0F0F0F}
.cat-pv-r b{display:block;font:600 13px/1.2 var(--font-display);margin-bottom:8px}
.cat-pv-r div{display:flex;gap:6px;overflow:hidden}
.cat-pv-c{flex:none;width:88px;aspect-ratio:16/9;border-radius:6px;background:#262626 center 25%/cover;filter:grayscale(1)}
.cat-pv-c.p{width:46px;aspect-ratio:2/3}
@media (max-width:1100px){.cat-grid{grid-template-columns:1fr}}
@media (max-width:767px){.cat-cover{width:80px}.cat-ord{display:none}.cat-add{flex-direction:column}}
.rv{animation:rise 600ms var(--ease) both;animation-delay:var(--d,0ms)}
/* responsivo */
@media (max-width:1100px){.lp{grid-template-columns:1fr}.side{position:relative;top:0;max-height:none}.kpis{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}
@media (max-width:900px){.login{grid-template-columns:1fr}.login-art{min-height:42vh}.login-art img.bg{-webkit-mask-image:none;mask-image:none}.adm{grid-template-columns:1fr}.adm-side{display:none}.mob-adm{display:flex;gap:6px;overflow-x:auto;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;background:rgba(23,23,23,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);scrollbar-width:none}.mob-adm button{flex:none}}
@media (max-width:767px){.mnav nav{display:none}.mnav{height:64px}.bill{min-height:78vh;padding-bottom:110px}.bill::before{background:linear-gradient(0deg,var(--bg) 8%,rgba(15,15,15,.55) 60%,rgba(15,15,15,.2))}.bill .acts .b{flex:1}
.tabbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:45;height:64px;border-radius:999px;padding:6px;justify-content:space-around}
.tabbar button{appearance:none;border:0;background:none;cursor:pointer;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:999px;color:var(--fg3);font:500 11px/1 var(--font-text)}
.tabbar button[aria-current="page"]{color:#171717;background:#fff}
body{padding-bottom:90px}.lp{padding-top:76px}.player{border-radius:16px}.ctl{left:6px;right:6px;bottom:6px;padding:6px 8px}.ctl-r .hide-sm{display:none}.nextup{left:12px;right:12px;width:auto;bottom:80px}.les small span{display:none}.kpis{grid-template-columns:1fr 1fr}.int-g{grid-template-columns:1fr}.tbl .hide-sm{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}

/* ===== WEBAPP MOBILE (estilo Netflix) ===== */
.mnav-chips,.bg-m,.tags-m{display:none}
.mnav{transition:background 300ms,box-shadow 300ms,transform 400ms var(--ease)}
@media (hover:none){.card:hover,.card:focus-visible,.tool:hover{transform:none;box-shadow:none}.card:active,.tool:active,.dl:active{transform:scale(.97);transition-duration:120ms}.row-a{display:none}.card .th .play{opacity:1;transform:none;width:34px;height:34px}}
@media (max-width:767px){
html,body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.mnav{height:auto;min-height:56px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;flex-wrap:wrap;gap:0;row-gap:8px;background:linear-gradient(180deg,rgba(15,15,15,.85),rgba(15,15,15,0))}
.mnav.s{background:rgba(15,15,15,.9)}
.mnav.hide{transform:translateY(-100%)}
.mnav .logo{height:18px}
.mnav .r{gap:2px}.mnav .r .b-ic{width:40px;min-height:40px}.mnav .av{width:30px;height:30px;border-radius:9px;font-size:12px}
.mnav .hide-sm{display:none}
.mnav .r{order:2}.mnav-chips{order:3;display:flex;gap:8px;width:100%;overflow-x:auto;scrollbar-width:none}
.mnav-chips::-webkit-scrollbar{display:none}
.mnav-chips .chip{height:32px;padding:0 14px;font-size:13px;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);cursor:pointer;border:0;background:rgba(15,15,15,.3)}
/* billboard vira pôster */
.bill{min-height:0;display:block;padding:calc(110px + env(safe-area-inset-top)) 16px 8px;overflow:visible}
.bill::before,.bill img.bg{display:none}
.bill-c{position:relative;max-width:none;aspect-ratio:3/4.1;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:24px 18px 18px;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 30px 60px -20px rgba(0,0,0,.9);isolation:isolate}
.bill-c .bg-m{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:grayscale(1) contrast(1.06);z-index:-2}
.bill-c::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,10,.96) 0%,rgba(10,10,10,.6) 32%,rgba(10,10,10,0) 60%)}
.bill .kick{justify-content:center;font-size:11px}
.bill h1{margin-top:10px;font-size:clamp(38px,11vw,48px);line-height:.95}
.bill p,.bill .meta,.bill .cont{display:none}
.tags-m{display:block;margin-top:10px;font:500 13px/1.3 var(--font-text);color:var(--fg2)}
.bill .acts{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.bill .acts .b{min-height:48px;font-size:15px}
.bill-info{display:none!important}
/* carrosséis */
.rows{margin-top:24px;gap:28px;padding-bottom:24px}
.row-h{padding:0 16px;margin-bottom:10px}.row-h h2{font-size:18px}.row-h small{display:none}
.row{gap:8px;padding:10px 16px 16px;margin:-10px 0 -16px;scroll-padding:0 16px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.card{width:62vw;border-radius:10px}.card .th{border-radius:10px}
.card .ov-t{left:10px;right:44px;bottom:10px}.card .ov-t b{font-size:14px}.card .ov-t small{font-size:10px}
.card .dur{top:6px;right:6px;height:20px;font-size:10px;padding:0 7px}
.card .th .play{right:8px;bottom:8px}
.card.big{width:31vw;min-width:112px}
.card.big .ov-t{left:8px;right:8px;bottom:10px;gap:4px}.card.big .ov-t b{font-size:15px;-webkit-line-clamp:3}.card.big .ov-t small,.card.big .ov-t .mk,.card.big .tag{display:none}
.tool{width:58vw;padding:14px;gap:14px;border-radius:16px}.tool .g3{width:40px;height:40px;border-radius:12px}
.dl{width:78vw}
/* tab bar estilo app */
.tabbar{left:0;right:0;bottom:0;height:calc(60px + env(safe-area-inset-bottom));padding:4px 6px env(safe-area-inset-bottom);border-radius:0;background:rgba(15,15,15,.92);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:0 -1px 0 var(--line)}
.tabbar button{min-height:52px;border-radius:12px;color:var(--fg3);font-size:10px;gap:5px}
.tabbar button[aria-current="page"]{background:none;color:#fff}
.tabbar button:active{transform:scale(.92)}
/* aula: player fixo no topo, sem bordas */
.mnav.on-aula{display:none}
.lp{padding:env(safe-area-inset-top) 0 24px;gap:0}
.lp>div:first-child>.b-q:first-child{margin:8px 12px;min-height:44px}
.player{position:sticky;top:0;z-index:30;border-radius:0;box-shadow:none}
.lesson-h,.tabs,.tabp{padding-left:16px;padding-right:16px}
.lesson-h{margin-top:16px;flex-direction:column}.lesson-h h1{font-size:24px}
.lesson-h>div:last-child{display:grid;grid-template-columns:1fr 1fr;width:100%}
.lesson-h>div:last-child .b{min-height:46px;font-size:14px;padding:0 12px}
.tabs{overflow-x:auto;scrollbar-width:none;margin-top:16px}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;height:44px;padding:0 12px;font-size:14px}
.side{display:none}
.lp-aulas{display:flex;flex-direction:column;gap:4px}
.ctl{left:0;right:0;bottom:0;border-radius:0;padding:6px 8px calc(6px + 0px);background:linear-gradient(0deg,rgba(0,0,0,.85),transparent)!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.player .big{width:64px;height:64px;margin:-32px 0 0 -32px}
.nextup{bottom:56px}
/* páginas internas */
.cp-hero{padding-top:calc(76px + env(safe-area-inset-top))}
.mods,.cp-mods{padding-left:12px;padding-right:12px}
.toast{bottom:calc(76px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}
.drawer{width:100%}
}
@media (max-width:767px) and (orientation:landscape){.player{position:fixed;inset:0;z-index:100;aspect-ratio:auto;height:100vh}}
@media (min-width:768px){.lp-aulas{display:none}.tabs button:nth-child(2){display:none}}

/* Admin (abas): no celular a grade de integrações usava 1fr (mínimo = conteúdo) e o endpoint copiável em nowrap passava de 390px */
@media (max-width:767px){.int-g{grid-template-columns:minmax(0,1fr)}}
