*,:before,:after{box-sizing:border-box}:root{--bg:#f7f7fb;--bg-soft:#efeff6;--surface:#fff;--surface-2:#f4f3fa;--text:#15131f;--muted:#6b6880;--border:#e6e4ef;--brand:#7c3aed;--brand-2:#ec4899;--brand-soft:#f1eafe;--brand-text:#6d28d9;--grad:linear-gradient(135deg, var(--brand), var(--brand-2));--danger:#dc2626;--success:#059669;--shadow-sm:0 1px 2px #1410280f;--shadow:0 8px 24px -8px #28145a2e;--shadow-lg:0 20px 50px -12px #5028a059;--radius:16px;--ease:cubic-bezier(.2, .8, .2, 1);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0c0a14;--bg-soft:#13101f;--surface:#16131f;--surface-2:#1d1929;--text:#efedf7;--muted:#9d98b3;--border:#2a2638;--brand-soft:#2a1b4d;--brand-text:#c4a8ff;--danger:#f87171;--success:#34d399;--shadow:0 8px 24px -8px #0009;--shadow-lg:0 20px 50px -12px #7c3aed59}}body{background:var(--bg);min-height:100vh;margin:0}a{color:inherit}button{font:inherit;cursor:pointer;color:inherit}h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;line-height:1.15}h2,h3{letter-spacing:-.01em;margin:0}code{font-family:JetBrains Mono,ui-monospace,monospace}.icon{flex-shrink:0}.muted{color:var(--muted)}.small{font-size:.85rem}.block{display:block}.center{place-items:center;min-height:100vh;display:grid}.center-text{text-align:center}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.link{color:var(--brand-text);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.error{color:var(--danger);margin:0;font-size:.9rem;font-weight:500}.success{color:var(--success);margin:0;font-size:.9rem;font-weight:600}.small-heading{font-size:1.05rem}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text);align-items:center;gap:6px;margin:0 0 8px;font-size:.8rem;font-weight:700;display:inline-flex}.notice{background:var(--brand-soft);color:var(--text);overflow-wrap:anywhere;border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:12px 14px;font-size:.9rem;display:flex}.notice .icon{color:var(--brand-text);margin-top:1px}.pill{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.count{background:var(--brand-soft);color:var(--brand-text);border-radius:999px;margin-left:4px;padding:2px 8px;font-size:.75rem;font-weight:700}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-12px) rotate(var(--r,0deg))}}@keyframes blob{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-40px)scale(1.1)}66%{transform:translate(-25px,20px)scale(.92)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #ec48998c}to{box-shadow:0 0 0 22px #ec489900}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes eq{0%,to{height:30%}50%{height:100%}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes logoPop{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.route{animation:fadeUp .45s var(--ease) both}.fade-up{animation:fadeUp .5s var(--ease) both}.stagger{animation:fadeUp .5s var(--ease) both;animation-delay:calc(min(var(--i,0), 12) * 55ms)}.shake{animation:.45s both shake}.splash .logo{animation:1.4s ease-in-out infinite logoPop}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s, border-color .2s;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--brand) 35%, var(--border));transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn.primary{color:#fff;background:var(--grad);background-size:200% 200%;border:0;animation:6s infinite gradientShift;position:relative;overflow:hidden;box-shadow:0 8px 20px -8px #7c3aed99}.btn.primary:after{content:"";transition:transform .7s var(--ease);background:linear-gradient(110deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn.primary:hover:after{transform:translate(120%)}.btn.primary:hover{box-shadow:var(--shadow-lg)}.btn.lg{padding:13px 18px;font-size:1rem}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.btn:disabled{opacity:.7;cursor:default;transform:none}.btn-spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.icon-btn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--muted);transition:color .2s, background .2s, transform .2s var(--ease), border-color .2s;border-radius:11px;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--text);background:var(--surface-2);transform:translateY(-1px)}.icon-btn.danger:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.link-btn{color:var(--brand-text);vertical-align:middle;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}input{font:inherit;border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:12px;min-width:0;padding:11px 14px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}input:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent);outline:none}.field{flex-direction:column;gap:7px;display:flex}.field-label{font-size:.85rem;font-weight:600}.input-wrap{display:block;position:relative}.input-wrap .icon{color:var(--muted);pointer-events:none;transition:color .2s;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-wrap input{padding-left:40px}.input-wrap:focus-within .icon{color:var(--brand)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row input{flex:220px;width:auto}.row input.narrow{flex:0 200px}.stack{flex-direction:column;gap:16px;display:flex}.logo{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;display:inline-flex}.logo-mark{background:var(--grad);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:700;display:grid;box-shadow:0 6px 16px -6px #7c3aedb3}.logo-lg{gap:14px;font-size:1.5rem}.logo-lg .logo-mark{border-radius:14px;width:48px;height:48px;font-size:1rem}.auth{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-hero{color:#fff;background:#0f0a1f;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}.blob{filter:blur(60px);opacity:.7;border-radius:50%;animation:14s ease-in-out infinite blob;position:absolute}.b1{background:#7c3aed;width:420px;height:420px;top:-120px;left:-80px}.b2{background:#ec4899;width:360px;height:360px;animation-delay:-5s;bottom:-120px;right:-60px}.b3{opacity:.45;background:#06b6d4;width:260px;height:260px;animation-delay:-9s;top:40%;left:45%}.auth-hero-inner{max-width:480px;animation:fadeUp .7s var(--ease) both;position:relative}.neural-net{width:100%;height:100%;display:block;position:absolute;inset:0}.spotlight{pointer-events:none;background:radial-gradient(360px circle at var(--mx,-500px) var(--my,-500px), #ec489929, transparent 60%);position:absolute;inset:0}.typewriter{white-space:nowrap}.caret{vertical-align:-.08em;background:linear-gradient(#c4b5fd,#f9a8d4);border-radius:2px;width:3px;height:.9em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.live-dot{vertical-align:1px;background:#34d399;border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.6s ease-out infinite livePulse;display:inline-block;box-shadow:0 0 #34d399b3}@keyframes livePulse{to{box-shadow:0 0 0 10px #34d39900}}.auth-form{position:relative;overflow:hidden}.auth-form-bg{opacity:.9;pointer-events:none;display:none;position:absolute;inset:0}.mobile-tagline{letter-spacing:-.01em;margin:14px 0 0;font-size:1.15rem;font-weight:800}.auth-form>:not(.auth-form-bg):not(.spotlight){position:relative}.form-spotlight{opacity:0;background:radial-gradient(420px circle at var(--mx,-500px) var(--my,-500px), #7c3aed2e, transparent 65%);transition:opacity .4s}.auth-form:hover .form-spotlight{opacity:1}.auth-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:22px;padding:32px}.auth-card:before,.auth-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;position:absolute;inset:-1px}.auth-card:before{background:radial-gradient(260px circle at var(--cx,50%) var(--cy,50%), #ec4899, #7c3aed 45%, transparent 75%);-webkit-mask-composite:xor;padding:1.5px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.auth-card:after{background:radial-gradient(300px circle at var(--cx,50%) var(--cy,50%), #ec489914, transparent 70%)}.auth-form:hover .auth-card:before,.auth-form:hover .auth-card:after{opacity:1}.auth-card>*{z-index:1;position:relative}.hero-chip{color:#f5f0ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;margin-top:28px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-block}.auth-hero h2{letter-spacing:-.03em;margin:16px 0 14px;font-size:clamp(2rem,3.4vw,3rem);font-weight:800;line-height:1.1}.auth-hero .grad-text{background:linear-gradient(90deg,#c4b5fd,#f9a8d4,#67e8f9);background-size:200%;-webkit-background-clip:text;background-clip:text;animation:5s infinite gradientShift}.auth-hero p{color:#ffffffb8;margin:0;font-size:1.05rem;line-height:1.6}.snippets{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.snippets code{--r:calc((var(--i) - 2.5) * 1.5deg);color:#f3eeff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeUp .6s var(--ease) both, float 6s ease-in-out infinite;animation-delay:calc(var(--i) * 90ms + .3s), calc(var(--i) * -.9s);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.88rem;font-weight:600}.auth-form{flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex}.auth-mobile-logo{margin-bottom:24px;display:none}.auth-card{width:100%;max-width:440px;animation:fadeUp .55s var(--ease) both .1s;flex-direction:column;gap:18px;display:flex}.auth-card h1{margin-bottom:6px}.auth-card p{margin:0}.topbar{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;display:flex;position:sticky;top:0}.nav{align-items:center;gap:18px;display:flex}.brand-link{text-decoration:none}.nav-links{gap:4px;display:flex}.nav-links a{color:var(--muted);border-radius:10px;align-items:center;gap:7px;padding:8px 12px;font-size:.92rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s;display:inline-flex;position:relative}.nav-links a:hover{color:var(--text);background:var(--surface-2)}.nav-links a.active{color:var(--brand-text);background:var(--brand-soft)}.user{align-items:center;gap:10px;display:flex}.avatar-link{border-radius:999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.avatar-link:hover,.avatar-link.active{background:var(--surface-2)}.avatar{background:var(--grad);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:inline-grid}.avatar.sm{width:30px;height:30px;font-size:.75rem}.avatar.lg{width:56px;height:56px;font-size:1.2rem}.page{max-width:1200px;margin:0 auto;padding:32px 24px 64px}.page.narrow{max-width:560px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{margin:0}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:4px;padding:4px;display:flex}.tabs a{color:var(--muted);border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.tabs a:hover{color:var(--text)}.tabs a.active{background:var(--grad);color:#fff;box-shadow:0 6px 14px -6px #7c3aed99}.hero{background:var(--surface);border:1px solid var(--border);border-radius:22px;margin-bottom:28px;padding:32px;position:relative;overflow:hidden}.hero>*{position:relative}.hero-glow{background:radial-gradient(circle,#ec489938,#7c3aed26 40%,#0000 70%);border-radius:50%;width:460px;height:460px;animation:16s ease-in-out infinite blob;position:absolute;inset:-40% -10% auto auto}.hero p{margin:0}.empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;display:flex}.empty p{max-width:420px;margin:0}.empty-icon{background:var(--brand-soft);width:60px;height:60px;color:var(--brand-text);border-radius:18px;place-items:center;margin-bottom:6px;display:grid}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.playlist-card{transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.playlist-card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--brand) 40%, var(--border));transform:translateY(-6px)}.thumb{aspect-ratio:16/9;background:var(--surface-2);display:block;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);position:absolute;inset:0}.playlist-card:hover .thumb img{transform:scale(1.08)}.thumb:after{content:"";opacity:.8;background:linear-gradient(#0000 45%,#0a05198c);transition:opacity .35s;position:absolute;inset:0}.thumb-play{z-index:1;color:#fff;background:var(--grad);opacity:0;width:56px;height:56px;transition:all .35s var(--ease);border-radius:50%;place-items:center;padding-left:3px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6);box-shadow:0 10px 30px -6px #ec4899b3}.playlist-card:hover .thumb-play{opacity:1;transform:translate(-50%,-50%)scale(1)}.thumb-badge{z-index:1;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.02em;background:#0f0a1fb3;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:10px;left:10px}.card-body{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.card-body h3{font-size:1.02rem}.card-body h3 a{text-decoration:none}.card-body p{margin:0}.card-cta{color:var(--brand-text);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:inline-flex}.card-cta .icon{transition:transform .3s var(--ease)}.playlist-card:hover .card-cta .icon{transform:translate(4px)}.card-actions{gap:8px;margin-top:auto;padding:0 16px 16px;display:flex}.skeleton,.skeleton-card .thumb{background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 40%, var(--border)) 37%, var(--surface-2) 63%);background-size:200% 100%;animation:1.3s linear infinite shimmer}.skeleton-card{pointer-events:none;padding-bottom:16px}.skeleton-card .line{margin:14px 16px 0}.line{border-radius:6px;height:12px}.line.short{width:55%}.skeleton-item{gap:10px;padding:8px;display:flex}.skeleton-lines{flex-direction:column;flex:1;gap:8px;padding-top:6px;display:flex}.add-form{flex-direction:column;gap:12px;margin-bottom:24px;padding:20px;display:flex}.add-form h2{align-items:center;gap:8px;font-size:1.1rem;display:flex}.add-form p{margin:0}.back{color:var(--muted);align-items:center;gap:6px;margin-bottom:12px;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s,gap .2s;display:inline-flex}.back:hover{color:var(--brand-text);gap:9px}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;display:flex}.detail-head h2{font-size:1.5rem}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:20px;display:grid}.admin-grid>.card{flex-direction:column;gap:14px;padding:20px;display:flex}.admin-grid h3{align-items:center;gap:8px;font-size:1.05rem;display:flex}.admin-grid p{margin:0}.members{margin:0;padding:0;list-style:none}.members li{border-top:1px solid var(--border);overflow-wrap:anywhere;align-items:center;gap:12px;padding:12px 0;display:flex}.member-info{flex:1;min-width:0}.video-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.video-list .item{text-decoration:none}.badge{background:var(--brand-soft);color:var(--brand-text);text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:2px 7px;font-size:.68rem;font-weight:700}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin:2px 4px 2px 0;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:14px 18px}th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2);font-size:.74rem;font-weight:700}tbody tr{transition:background .2s}tbody tr:hover{background:var(--surface-2)}tr:last-child td{border-bottom:0}.user-cell{align-items:center;gap:10px;font-weight:600;display:inline-flex}.account-card{flex-direction:column;gap:22px;padding:24px;display:flex}.profile{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding-bottom:20px;display:flex}.layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px;max-width:1400px;margin:0 auto;padding:24px;display:grid}.watch-main{min-width:0}.now-playing{animation:fadeUp .45s var(--ease) both;margin-top:18px}.now-playing .eyebrow{margin-bottom:4px}.now-playing h2{font-size:1.3rem}.side-list{align-self:start;position:sticky;top:76px;overflow:hidden}.side-head{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.side-head h3{font-size:1rem}.course-progress{background:var(--surface-2);border-radius:999px;height:5px;margin-top:4px;overflow:hidden}.course-progress span{background:var(--grad);border-radius:inherit;height:100%;transition:width .6s var(--ease);display:block}.side-list ul{max-height:calc(100vh - 220px);margin:0;padding:8px;list-style:none;overflow-y:auto}.item{text-align:left;width:100%;color:var(--text);transition:background .2s, transform .2s var(--ease);background:0 0;border:0;border-radius:12px;align-items:flex-start;gap:12px;padding:8px;display:flex}.item:hover{background:var(--surface-2);transform:translate(3px)}.item.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.thumb-sm{aspect-ratio:16/9;background:var(--surface-2);border-radius:9px;flex-shrink:0;width:124px;display:block;position:relative;overflow:hidden}.thumb-sm img{object-fit:cover;width:100%;height:100%;display:block}.item-text{overflow-wrap:anywhere;font-size:.88rem;font-weight:500;line-height:1.35}.item-num{color:var(--muted);margin-bottom:2px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;display:block}.item.active .item-num{color:var(--brand-text)}.eq{background:#0f0a1f8c;justify-content:center;align-items:flex-end;gap:3px;padding-bottom:22%;display:flex;position:absolute;inset:0}.eq i{background:#fff;border-radius:2px;width:4px;animation:.9s ease-in-out infinite eq}.eq i:nth-child(2){animation-delay:-.3s}.eq i:nth-child(3){animation-delay:-.6s}.player{aspect-ratio:16/9;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-lg);background:#000;border-radius:18px;outline:none;position:relative;overflow:hidden}.player.fs{aspect-ratio:auto;border-radius:0;width:100vw;height:100vh}.player.idle{cursor:none}.stage{position:absolute;inset:0;overflow:hidden}.stage iframe{pointer-events:none;width:100%;height:140%;position:absolute;top:-20%;left:0}.shield{position:absolute;inset:0}.poster{background:#000;border:0;padding:0;position:absolute;inset:0}.poster img{object-fit:cover;opacity:.75;width:100%;height:100%;transition:transform .8s var(--ease), opacity .4s}.poster:hover img{opacity:.6;transform:scale(1.03)}.big-play{background:var(--grad);color:#fff;width:78px;height:78px;transition:transform .3s var(--ease);border-radius:50%;place-items:center;padding-left:5px;animation:1.8s ease-out infinite pulse;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.poster:hover .big-play{transform:translate(-50%,-50%)scale(1.1)}.spinner{border:4px solid #fff3;border-top-color:var(--brand-2);border-right-color:var(--brand);pointer-events:none;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}.controls{color:#fff;transition:opacity .3s, transform .3s var(--ease);background:linear-gradient(#0000,#080414e0);padding:36px 14px 10px;position:absolute;bottom:0;left:0;right:0}.player.idle .controls{opacity:0;pointer-events:none;transform:translateY(8px)}.player.unstarted .controls{opacity:0;pointer-events:none}.bar{align-items:center;gap:2px;display:flex}.bar button{color:#fff;background:0 0;border:0;border-radius:10px;place-items:center;width:40px;height:40px;transition:background .2s,transform .15s;display:grid}.bar button:hover{background:#ffffff24}.bar button:active{transform:scale(.9)}.bar .play-btn{width:44px;height:44px}.bar .speed{width:auto;padding:0 10px;font-size:13px;font-weight:700}.time{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.9;margin-left:8px;font-size:13px}.spacer{flex:1}.controls input[type=range]{appearance:none;cursor:pointer;width:100%;height:16px;box-shadow:none;background:0 0;border:0;margin:0;padding:0}.controls input[type=range]:focus{box-shadow:none}.controls input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--brand), var(--brand-2) var(--progress,0%), #ffffff47 var(--progress,0%));border-radius:4px;height:4px;transition:height .15s}.controls input[type=range]::-moz-range-track{background:#ffffff47;border-radius:4px;height:4px}.controls input[type=range]::-moz-range-progress{background:var(--grad);border-radius:4px;height:4px}.controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .15s;transform:scale(0);box-shadow:0 0 0 4px #ec489959}.controls input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:14px;height:14px;transition:transform .15s;transform:scale(0)}.controls:hover input[type=range]::-webkit-slider-thumb{transform:scale(1)}.controls:hover input[type=range]::-moz-range-thumb{transform:scale(1)}.seek{margin-bottom:4px!important}.seek:hover::-webkit-slider-runnable-track{height:6px}.volume{width:84px!important}@media (width<=960px){.auth{grid-template-columns:1fr}.auth-hero{display:none}.auth-mobile-logo,.auth-form-bg{display:block}.auth-card{padding:24px 20px}.auth-form{background:radial-gradient(600px 300px at 0 0,#7c3aed29,#0000 70%),radial-gradient(500px 300px at 100% 100%,#ec489924,#0000 70%)}.layout,.admin-grid{grid-template-columns:1fr}.layout{padding:16px}.side-list{position:static}.side-list ul{max-height:none}}@media (width<=560px){.page{padding:20px 16px 48px}.topbar{padding:10px 14px}.nav{gap:10px}.topbar .logo-text,.hide-sm{display:none}.hero{padding:24px 20px}.volume{display:none}.bar button{width:36px}.thumb-sm{width:104px}}
