.page-loader{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.page-loader-ring{position:relative;width:56px;height:56px}.page-loader-ring span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid transparent}.page-loader-ring span:first-child{border-top-color:var(--accent);animation:loader-ring 1.1s cubic-bezier(.5,0,.5,1) infinite}.page-loader-ring span:last-child{top:8px;right:8px;bottom:8px;left:8px;border-right-color:#ffc947b3;animation:loader-ring 1.6s cubic-bezier(.5,0,.5,1) infinite reverse}.page-loader-label{font-family:var(--font-display);font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.page-loader-dots{display:flex;gap:6px}.page-loader-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:loader-dot 1.2s ease-in-out infinite}.page-loader-dots span:nth-child(2){animation-delay:.15s}.page-loader-dots span:nth-child(3){animation-delay:.3s}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 18s ease-in-out infinite}.ambient-orb--1{width:480px;height:480px;top:-120px;right:-80px;background:radial-gradient(circle,rgba(255,61,110,.35) 0%,transparent 70%)}.ambient-orb--2{width:360px;height:360px;bottom:10%;left:-100px;background:radial-gradient(circle,rgba(255,107,157,.22) 0%,transparent 70%);animation-name:float-alt;animation-duration:22s}.ambient-orb--3{width:280px;height:280px;top:40%;left:45%;background:radial-gradient(circle,rgba(255,201,71,.12) 0%,transparent 70%);animation-duration:26s;animation-delay:-4s}.ambient--auth .ambient-orb--1{width:560px;height:560px;top:-180px;left:50%;transform:translate(-50%);opacity:.65}.ambient-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.header{position:sticky;top:0;z-index:100;background:#07070cb8;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid transparent;transition:background .4s var(--ease-out),border-color .4s var(--ease-out),box-shadow .4s var(--ease-out)}.header--scrolled{background:#07070ceb;border-bottom-color:var(--border);box-shadow:0 8px 32px #00000059}.header-inner{display:flex;align-items:center;gap:24px;height:var(--header-h)}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.25rem;flex-shrink:0;transition:transform .35s var(--ease-out)}.logo:hover{transform:scale(1.02)}.logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--accent),#ff6b9d);border-radius:11px;display:grid;place-items:center;font-size:14px;box-shadow:0 4px 16px var(--accent-glow);transition:box-shadow .35s var(--ease-out),transform .35s var(--ease-out)}.logo:hover .logo-icon{box-shadow:0 6px 24px var(--accent-glow);transform:rotate(-4deg)}.nav{display:flex;gap:8px;font-weight:500;color:var(--text-muted)}.nav a{position:relative;padding:8px 14px;border-radius:999px;transition:color .3s,background .3s}.nav a:hover{color:var(--text);background:#ffffff0a}.nav a.active{color:var(--text);background:#ff3d6e1f}.nav a.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.search-form{flex:1;max-width:320px}.search-form input{width:100%;padding:10px 18px;border-radius:999px;border:1px solid var(--border);background:#12121ccc;color:var(--text);font-size:.9rem;transition:border-color .3s,box-shadow .3s,background .3s}.search-form input:focus{outline:none;border-color:#ff3d6e80;box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-card)}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.user-email{font-size:.8125rem;color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vip-badge{margin-left:6px;padding:2px 6px;border-radius:4px;background:linear-gradient(135deg,var(--gold),#ffdb70);color:#1a1200;font-size:.625rem;font-weight:800}.btn-logout{padding:8px 18px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#ff6b9d);color:#fff;font-weight:600;font-size:.875rem;transition:transform .3s var(--ease-out),box-shadow .3s;box-shadow:0 4px 16px #ff3d6e40}.btn-logout:hover{transform:translateY(-1px);box-shadow:0 6px 24px var(--accent-glow)}.lang-wrap{position:relative}.lang-btn{padding:8px 12px;border-radius:8px;color:var(--text-muted);font-size:.875rem;transition:color .3s,background .3s}.lang-menu button.lang-active{color:var(--accent);font-weight:600}.lang-btn:hover{color:var(--text);background:#ffffff0d}.lang-menu{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);list-style:none;min-width:180px;max-height:min(70vh,400px);overflow-x:hidden;overflow-y:auto;box-shadow:0 16px 48px #0000008c}html[dir=rtl] .lang-menu{right:auto;left:0}html[dir=rtl] .lang-menu button{text-align:right}html[dir=rtl] .lang-menu button:hover{padding-left:16px;padding-right:20px}.lang-menu button{width:100%;text-align:left;padding:10px 16px;font-size:.875rem;transition:background .2s,padding-left .2s}.lang-menu button:hover{background:var(--bg-card);padding-left:20px}main{flex:1;position:relative;z-index:1}.footer{border-top:1px solid var(--border);padding:28px 0;color:var(--text-muted);font-size:.875rem;position:relative;z-index:1}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;opacity:.7}.footer-download{color:var(--accent);font-weight:600;text-decoration:none}.footer-download:hover{text-decoration:underline}@media (max-width: 768px){.nav,.search-form{display:none}}.hero{position:relative;min-height:clamp(420px,58vh,560px);display:flex;align-items:flex-end;padding-bottom:56px;margin-bottom:40px;overflow:hidden}.hero-bg{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;background-size:cover;background-position:center;opacity:0;transform:scale(1.12);filter:blur(1px) brightness(.85);transition:opacity 1.2s var(--ease-out);will-change:transform,opacity}.hero-bg--active{opacity:1;animation:ken-burns 6s var(--ease-out) forwards}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#07070cf2,#07070c8c 45%,#07070c40)}.hero-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 80%,transparent 0%,var(--bg) 85%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:580px}.hero-text-block{animation:hero-text-in .9s var(--ease-out) both}.hero-text-block h1{animation:hero-text-in .9s var(--ease-out) .06s both}.hero-text-block p{animation:hero-text-in .9s var(--ease-out) .12s both}.hero-text-block .hero-cta{animation:hero-text-in .9s var(--ease-out) .18s both}.hero-tag{display:inline-block;font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,61,110,.35);background:#ff3d6e14}.hero-content h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.12;margin-bottom:14px;color:#fff}.hero-content p{color:var(--text-muted);line-height:1.6;margin-bottom:24px;max-width:480px}.hero-cta{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;background:linear-gradient(135deg,var(--accent),#ff6b9d);border-radius:999px;font-weight:700;box-shadow:0 8px 32px var(--accent-glow);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);position:relative;overflow:hidden}.hero-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.25) 50%,transparent 60%);transform:translate(-100%);transition:transform .6s var(--ease-out)}.hero-cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 40px var(--accent-glow)}.hero-cta:hover:after{transform:translate(100%)}.hero-cta-icon{display:grid;place-items:center;width:28px;height:28px;background:#fff3;border-radius:50%;font-size:11px}.hero-dots{display:flex;gap:10px;margin-top:32px}.hero-dots button{height:4px;width:28px;border-radius:999px;background:#ffffff26;padding:0;transition:width .4s var(--ease-out),background .4s var(--ease-out)}.hero-dots button.active{background:var(--accent);width:48px;box-shadow:0 0 16px var(--accent-glow)}.hero-dots button:hover:not(.active){background:#ffffff59}.drama-card{display:block;flex-shrink:0;transition:transform .45s var(--ease-out)}.drama-card:hover{transform:translateY(-6px)}.drama-card-cover{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:2/3;background:var(--bg-card);box-shadow:0 4px 24px #00000059;transition:box-shadow .45s var(--ease-out)}.drama-card:hover .drama-card-cover{box-shadow:0 16px 48px #00000080,0 0 0 1px #ff3d6e40,0 0 32px #ff3d6e1f}.drama-card-cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(7,7,12,.85) 0%,transparent 45%);z-index:1;opacity:.6;transition:opacity .35s var(--ease-out)}.drama-card:hover .drama-card-cover:before{opacity:.9}.drama-card-cover:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.12),transparent);z-index:3;pointer-events:none;transition:left .6s var(--ease-out)}.drama-card:hover .drama-card-cover:after{left:120%}.drama-card--sm .drama-card-cover{width:120px}.drama-card--md .drama-card-cover{width:168px}.drama-card--lg .drama-card-cover{width:200px}.drama-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.drama-card:hover .drama-card-cover img{transform:scale(1.08)}.drama-card-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:2;background:#00000059;opacity:0;font-weight:700;font-size:.875rem;letter-spacing:.04em;transition:opacity .35s var(--ease-out),backdrop-filter .35s;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.drama-card:hover .drama-card-play{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drama-card-badge{position:absolute;top:10px;right:10px;z-index:4;background:linear-gradient(135deg,var(--gold),#ffdb70);color:#1a1200;font-size:.625rem;font-weight:800;padding:4px 8px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase;animation:pulse-glow 2.5s ease-in-out infinite}.drama-card-title{margin-top:12px;font-family:var(--font-body);font-size:.875rem;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .3s}.drama-card:hover .drama-card-title{color:#fff}.drama-card-meta{margin-top:4px;font-size:.75rem;color:var(--text-muted)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.reveal--visible{opacity:1;transform:translateY(0)}.section-row-wrap{margin-bottom:48px}.section-row{position:relative}.section-title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.375rem;font-weight:700;margin-bottom:18px}.section-title-text{position:relative}.section-title-text:after{content:"";position:absolute;left:0;bottom:-4px;width:32px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),transparent)}.section-title-emoji{font-size:1.125rem;filter:drop-shadow(0 0 8px rgba(255,201,71,.4))}.section-scroll-wrap{position:relative}.section-scroll-wrap:before,.section-scroll-wrap:after{content:"";position:absolute;top:-10px;bottom:10px;width:36px;z-index:2;pointer-events:none;opacity:0;transition:opacity .35s var(--ease-out)}.section-scroll-wrap:before{left:0;background:linear-gradient(90deg,var(--bg) 20%,transparent 100%)}.section-scroll-wrap:after{right:0;background:linear-gradient(270deg,var(--bg) 20%,transparent 100%)}.section-scroll-wrap--fade-left:before{opacity:1}.section-scroll-wrap--fade-right:after{opacity:1}.section-scroll{display:flex;gap:16px;overflow-x:auto;overflow-y:visible;padding:8px 2px 12px;scroll-padding-inline:2px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.section-scroll::-webkit-scrollbar{height:4px}.section-scroll::-webkit-scrollbar-track{background:transparent}.section-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--accent),#ff6b9d);border-radius:999px}.section-card-wrap{scroll-snap-align:start;animation:fade-up .65s var(--ease-out) both}.section-scroll>*{scroll-snap-align:start}.home .sections{padding-bottom:64px;overflow:visible}.drama-page{padding-bottom:48px}.drama-hero{position:relative;min-height:380px;background-size:cover;background-position:center;margin-bottom:32px;overflow:hidden}.drama-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,var(--bg) 0%,rgba(7,7,12,.75) 55%,transparent 100%)}.drama-hero-content{position:relative;z-index:2;display:flex;gap:32px;align-items:flex-end;padding:48px 16px;min-height:380px}.drama-poster{width:180px;border-radius:var(--radius);box-shadow:0 24px 64px #0009,0 0 0 1px #ffffff0f;flex-shrink:0;animation:scale-in .7s var(--ease-out) both;transition:transform .45s var(--ease-out)}.drama-poster:hover{transform:scale(1.03) rotate(-1deg)}.drama-hero-content>div{animation:hero-text-in .8s var(--ease-out) .1s both}.drama-cat{display:inline-block;font-size:.75rem;color:var(--accent);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;padding:4px 10px;border-radius:999px;background:#ff3d6e1a;border:1px solid rgba(255,61,110,.25)}.drama-hero-content h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;margin-bottom:12px}.drama-desc{color:var(--text-muted);max-width:520px;line-height:1.6;margin-bottom:12px}.drama-stats{font-size:.875rem;color:var(--text-muted);margin-bottom:20px}.drama-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-play{display:inline-flex;padding:13px 28px;background:linear-gradient(135deg,var(--accent),#ff6b9d);border-radius:999px;font-weight:700;box-shadow:0 8px 28px var(--accent-glow);transition:transform .35s var(--ease-out),box-shadow .35s}.btn-play:hover{transform:translateY(-2px);box-shadow:0 12px 36px var(--accent-glow)}.btn-fav{padding:13px 28px;border-radius:999px;border:1px solid var(--border);background:#12121c99;color:var(--text);font-weight:600;cursor:pointer;transition:border-color .3s,color .3s,transform .3s,box-shadow .3s}.btn-fav:hover{transform:translateY(-1px);border-color:#ff3d6e66}.btn-fav.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 24px #ff3d6e33}.episode-list{animation:fade-up .7s var(--ease-out) .2s both}.drama-no-eps{color:var(--text-muted);line-height:1.6}.drama-no-eps a{color:var(--accent);font-weight:600}.drama-retry-btn{margin-top:12px;padding:10px 20px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600}.episode-list h2{font-size:1.375rem;margin-bottom:18px}.episode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.ep-item{position:relative;display:flex;flex-direction:column;align-items:center;padding:18px 16px;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;font:inherit;color:inherit;text-align:center;transition:border-color .35s,background .35s,transform .35s var(--ease-out),box-shadow .35s}.ep-item--locked{opacity:.72}.ep-item--locked .ep-num{color:var(--text-muted)}.ep-lock{position:absolute;top:8px;right:10px;font-size:.75rem;opacity:.85}.ep-item:hover{border-color:#ff3d6e80;background:var(--bg-elevated);transform:translateY(-4px);box-shadow:0 12px 32px #00000059}.ep-num{font-size:1.375rem;font-weight:800;color:var(--accent)}.ep-title{font-size:.75rem;color:var(--text-muted);margin-top:4px;text-align:center}@media (max-width: 640px){.drama-hero-content{flex-direction:column;align-items:flex-start}.drama-poster{width:120px}}.page-error{padding:80px 16px;text-align:center;color:var(--accent)}.comments-panel{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08)}.comments-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.comments-panel-head h2{margin:0;font-size:1.1rem}.comments-panel-ep{color:var(--text-secondary, #9aa0a6);font-size:.85rem}.comments-muted,.comments-error,.comments-login{color:var(--text-secondary, #9aa0a6);font-size:.95rem}.comments-error{color:#f87171}.comments-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:1rem}.comments-thread{display:flex;flex-direction:column;gap:.75rem}.comments-item{display:flex;gap:.75rem}.comments-reply{margin-left:2.5rem}.comments-avatar{width:2rem;height:2rem;border-radius:999px;background:#ffffff14;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;font-weight:700;font-size:.8rem}.comments-avatar img{width:100%;height:100%;object-fit:cover}.comments-body p{margin:.25rem 0 .5rem;line-height:1.45}.comments-reply-btn{background:none;border:none;color:var(--accent, #ff7a18);padding:0;font-size:.8rem;cursor:pointer}.comments-reply-banner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;color:var(--accent, #ff7a18);font-size:.85rem}.comments-reply-banner button{background:none;border:none;color:inherit;cursor:pointer}.comments-form{display:flex;gap:.75rem;align-items:flex-end}.comments-form textarea{flex:1;resize:vertical;min-height:3rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:inherit;padding:.65rem .75rem}.comments-form button{border:none;border-radius:.75rem;background:var(--accent, #ff7a18);color:#fff;font-weight:700;padding:.65rem 1rem;cursor:pointer}.comments-form button:disabled{opacity:.6;cursor:not-allowed}.watch-page{min-height:calc(100vh - var(--header-h));background:#000;display:flex;flex-direction:column}.watch-page--state{display:flex;align-items:center;justify-content:center;background:var(--bg)}.watch-state-card{text-align:center;padding:32px;max-width:360px}.watch-state-card p{color:var(--text-muted);margin-bottom:20px;line-height:1.5}.watch-state-btn{display:inline-block;padding:12px 24px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;margin:0 8px 8px 0}.watch-state-btn--muted{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.watch-video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;max-width:320px;color:#fff;margin:auto}.watch-video-error-hint{font-size:.8125rem;color:#ffffff8c}.watch-video-error button{margin-top:8px;padding:10px 20px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600}.watch-player-wrap{flex:0 0 auto;width:100%;height:calc(100vh - var(--header-h) - 240px);max-height:calc(100vh - var(--header-h) - 180px);min-height:min(52vh,56.25vw);background:#000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow:hidden;animation:fade-in .6s var(--ease-out) both}.watch-player-wrap--portrait{max-width:min(480px,100%);margin-inline:auto}.watch-video{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:#000}.watch-player-wrap--landscape .watch-video{max-width:min(960px,100%)}.watch-info{flex-shrink:0;background:var(--bg);padding:28px 16px 56px;animation:fade-up .6s var(--ease-out) .15s both}.watch-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.875rem;margin-bottom:14px;transition:color .3s,transform .3s}.watch-back:hover{color:var(--accent);transform:translate(-4px)}.watch-info h1{font-size:1.375rem;font-weight:800;margin-bottom:18px}.watch-controls{display:flex;gap:12px;margin-bottom:28px}.watch-controls button{padding:12px 22px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);font-weight:600;transition:border-color .3s,transform .3s,box-shadow .3s}.watch-controls button:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 16px #ff3d6e26}.watch-controls button:disabled{opacity:.4;cursor:not-allowed}.watch-ep-list{display:flex;flex-wrap:wrap;gap:10px}.watch-ep-list button{position:relative;width:46px;height:46px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border);font-weight:700;font-size:.875rem;transition:border-color .3s,background .3s,transform .3s,box-shadow .3s}.watch-ep-list button.locked{opacity:.65;color:var(--text-muted)}.watch-ep-lock{position:absolute;right:2px;bottom:1px;font-size:.55rem;line-height:1}.watch-ep-list button.active{background:linear-gradient(135deg,var(--accent),#ff6b9d);border-color:transparent;box-shadow:0 4px 16px var(--accent-glow)}.watch-ep-list button:hover:not(.active){border-color:var(--accent);transform:scale(1.06)}.search-page{padding:32px 16px 48px}.search-page h1{font-size:1.5rem;margin-bottom:24px}.search-hint{color:var(--text-muted);margin-bottom:24px}.search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.auth-card{width:min(420px,100%);background:#12121cbf;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:36px;display:flex;flex-direction:column;gap:16px;position:relative;z-index:1;box-shadow:0 24px 64px #00000080,inset 0 1px #ffffff0f}.auth-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.125rem;margin-bottom:4px}.auth-logo{width:36px;height:36px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#ff6b9d);border-radius:10px;font-size:14px;box-shadow:0 4px 16px var(--accent-glow)}.auth-card h1{font-size:1.75rem;font-weight:800}.auth-sub{color:var(--text-muted);font-size:.9rem;margin-top:-8px}.auth-invite-banner{color:#6ee7a0;font-size:.875rem;padding:10px 14px;border-radius:10px;background:#6ee7a01a;border:1px solid rgba(110,231,160,.25);line-height:1.45}.auth-error{color:#ff6b6b;font-size:.875rem;padding:10px 14px;border-radius:10px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2)}.auth-card label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:var(--text-muted);animation:fade-up .6s var(--ease-out) both}.auth-card input{padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:#1a1a28cc;color:var(--text);transition:border-color .3s,box-shadow .3s}.auth-card input:focus{outline:none;border-color:#ff3d6e80;box-shadow:0 0 0 3px var(--accent-soft)}.auth-submit{margin-top:8px;padding:15px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#ff6b9d);color:#fff;font-weight:700;border:none;cursor:pointer;box-shadow:0 8px 28px var(--accent-glow);transition:transform .35s var(--ease-out),box-shadow .35s;animation:fade-up .6s var(--ease-out) both}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 36px var(--accent-glow)}.auth-submit:disabled{opacity:.6}.auth-switch{text-align:center;font-size:.875rem;color:var(--text-muted);animation:fade-up .6s var(--ease-out) both}.auth-switch a{color:var(--accent);font-weight:600;transition:opacity .2s}.auth-switch a:hover{opacity:.85}.auth-social{display:flex;flex-direction:column;gap:10px;margin-top:4px}.auth-social-divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.8125rem}.auth-social-divider:before,.auth-social-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-social-google{position:relative;display:flex;justify-content:center;min-height:44px}.auth-social-google-mount{width:100%;display:flex;justify-content:center}.auth-social-google--loading{pointer-events:none;opacity:.7}.auth-social-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:#1a1a28cc;color:var(--text);font-weight:600;font-size:.9375rem;cursor:pointer;transition:border-color .3s,background .3s}.auth-social-btn:hover:not(:disabled){border-color:#fff3;background:#242434e6}.auth-social-btn:disabled{opacity:.6;cursor:not-allowed}.auth-social-btn--apple{min-height:44px}.auth-social-icon{width:20px;height:20px;flex-shrink:0}.auth-social-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:auth-social-spin .7s linear infinite}@keyframes auth-social-spin{to{transform:rotate(360deg)}}.upload-page{padding:40px 16px 64px;max-width:720px;margin:0 auto;animation:fade-up .6s var(--ease-out) both}.upload-page h1{font-size:2rem;margin-bottom:28px}.upload-form{display:flex;flex-direction:column;gap:16px;background:#12121c99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;padding:28px;margin-bottom:32px;transition:border-color .3s,box-shadow .3s}.upload-form:hover{border-color:#ff3d6e33;box-shadow:0 8px 32px #00000040}.upload-form h2{font-size:1.125rem;margin-bottom:4px}.upload-form label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--text-muted)}.upload-form input,.upload-form select,.upload-form textarea{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);transition:border-color .3s,box-shadow .3s}.upload-form input:focus,.upload-form select:focus,.upload-form textarea:focus{outline:none;border-color:#ff3d6e80;box-shadow:0 0 0 3px var(--accent-soft)}.upload-form button{padding:14px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#ff6b9d);color:#fff;font-weight:600;border:none;cursor:pointer;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #ff3d6e40}.upload-form button:hover{transform:translateY(-1px);box-shadow:0 8px 28px var(--accent-glow)}.upload-form button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.upload-file-hint{font-size:.8125rem;color:var(--text-muted);margin-top:-8px}.upload-progress{display:flex;flex-direction:column;gap:8px}.upload-progress-header{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--text-muted)}.upload-progress-track{height:8px;border-radius:999px;background:var(--bg-elevated);overflow:hidden;border:1px solid var(--border)}.upload-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ff6b9d);transition:width .2s var(--ease-out);position:relative;overflow:hidden}.upload-progress-fill--processing{background:linear-gradient(90deg,var(--accent) 0%,#ff6b9d 40%,var(--accent) 80%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.upload-list h2{font-size:1.125rem;margin-bottom:12px}.upload-item{padding:14px 0;border-bottom:1px solid var(--border);transition:padding-left .3s}.upload-item:hover{padding-left:8px}.upload-item a{color:var(--accent);font-weight:600}.upload-msg{color:#6bcb77;font-size:.875rem;padding:10px 14px;border-radius:10px;background:#6bcb771a;animation:fade-up .4s var(--ease-out) both}.upload-watch-cta{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.upload-watch-btn{display:inline-flex;padding:12px 24px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#ff6b9d);color:#fff;font-weight:700;box-shadow:0 8px 28px var(--accent-glow)}.upload-watch-link{color:var(--accent);font-weight:600;font-size:.875rem}.upload-form-hint{font-size:.8125rem;color:var(--text-muted);margin-top:-8px}.upload-item-play{margin-left:12px;color:var(--accent);font-size:.8125rem;font-weight:600}.upload-item-add{margin-left:12px;color:var(--gold);font-size:.8125rem;font-weight:600;text-decoration:underline}.upload-selected-drama{font-size:.875rem;color:var(--text-muted);padding:10px 14px;border-radius:10px;background:#ff3d6e14;border:1px solid rgba(255,61,110,.2)}.upload-selected-drama strong{color:var(--text)}.membership-page{padding:32px 16px 64px;max-width:720px}.membership-header h1{font-size:1.75rem;margin-bottom:8px}.membership-lead{color:var(--text-muted);margin-bottom:24px}.membership-active{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:12px;border:1px solid var(--accent);background:#ff6b2c1f;margin-bottom:20px}.membership-active strong{color:var(--accent)}.membership-cancel-note{font-size:.875rem;color:var(--text-muted);line-height:1.45}.membership-resubscribe-note{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin-bottom:16px;padding:12px 14px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.membership-cancel-block{margin-bottom:20px;padding:16px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff08}.membership-cancel-lead{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin-bottom:12px}.membership-cancel-btn{padding:10px 18px;border-radius:999px;border:1px solid rgba(248,113,113,.5);background:transparent;color:#f87171;font-weight:600;cursor:pointer}.membership-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.membership-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000a6}.membership-dialog{max-width:420px;width:100%;padding:24px;border-radius:16px;background:var(--surface, #1a1a1f);border:1px solid rgba(255,255,255,.1)}.membership-dialog h2{font-size:1.125rem;margin-bottom:12px}.membership-dialog p{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin-bottom:20px}.membership-dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.membership-dialog-secondary,.membership-dialog-danger{padding:10px 16px;border-radius:999px;font-weight:600;cursor:pointer;border:none}.membership-dialog-secondary{background:#ffffff14;color:inherit}.membership-dialog-danger{background:#b91c1c;color:#fff}.membership-msg{color:#6ee7a0;margin-bottom:12px}.membership-error{color:#f87171;margin-bottom:12px}.membership-muted{color:var(--text-muted)}.membership-plans{display:flex;flex-direction:column;gap:12px}.membership-plan{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:12px;background:var(--surface, rgba(255, 255, 255, .04));border:1px solid rgba(255,255,255,.08)}.membership-plan h2{font-size:1rem;margin-bottom:6px}.membership-prices{display:flex;align-items:baseline;gap:8px}.membership-was{color:var(--text-muted);text-decoration:line-through;font-size:.875rem}.membership-now{color:var(--accent);font-weight:700;font-size:1.125rem}.membership-btn{flex-shrink:0;padding:10px 18px;border:none;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.membership-btn:disabled{opacity:.5;cursor:not-allowed}.membership-note{margin-top:28px;color:var(--text-muted);font-size:.875rem;line-height:1.5}.membership-note a{color:var(--accent)}@media (max-width: 560px){.membership-plan{flex-direction:column;align-items:stretch}.membership-btn{width:100%}}.rewards-page{padding:32px 16px 64px;max-width:720px}.rewards-header h1{font-size:1.75rem;margin-bottom:8px}.rewards-lead{color:var(--text-muted);margin-bottom:24px}.rewards-muted{color:var(--text-muted)}.rewards-balance{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:14px;border:1px solid var(--accent);background:#ff6b2c1f;margin-bottom:20px}.rewards-balance-label{color:var(--text-muted);font-size:.875rem}.rewards-balance-value{font-size:2rem;color:var(--accent)}.rewards-msg{color:#6ee7a0;margin-bottom:12px}.rewards-error{color:#f87171;margin-bottom:12px}.rewards-section{margin-bottom:28px;padding:18px;border-radius:12px;background:var(--surface, rgba(255, 255, 255, .04));border:1px solid rgba(255,255,255,.08)}.rewards-section h2{font-size:1.125rem;margin-bottom:8px}.rewards-hint{color:var(--text-muted);font-size:.875rem;line-height:1.5;margin-bottom:14px}.rewards-streak-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-bottom:16px}.rewards-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);font-size:.75rem}.rewards-day.done{border-color:#6ee7a066;background:#6ee7a014}.rewards-day.current{border-color:var(--accent);background:#ff6b2c26}.rewards-day--ongoing{grid-column:span 2}.rewards-day-pts{color:var(--accent);font-weight:700}.rewards-checkin-btn{width:100%;padding:12px;border:none;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.rewards-checkin-btn:disabled{opacity:.5;cursor:not-allowed}.rewards-redeem-btn{width:100%;padding:12px;border:1px solid var(--accent);border-radius:999px;background:#ff6b2c26;color:var(--accent);font-weight:700;cursor:pointer}.rewards-redeem-btn:disabled{opacity:.5;cursor:not-allowed;border-color:#ffffff26;color:var(--text-muted);background:transparent}.rewards-hint-label{color:var(--text-muted);font-size:.8rem;margin-bottom:6px;margin-top:12px}.rewards-hint-label:first-of-type{margin-top:0}.rewards-link-row{display:flex;margin-top:12px}.rewards-copy-btn-full{width:100%}.rewards-invite-row{display:flex;gap:10px;align-items:center}.rewards-invite-code{flex:1;font-size:1.5rem;letter-spacing:.2em;padding:12px 16px;border-radius:10px;background:#00000040;text-align:center}.rewards-copy-btn{padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:transparent;color:inherit;font-weight:600;cursor:pointer}.rewards-footer{color:var(--text-muted);font-size:.875rem}.rewards-footer a{color:var(--accent)}.admin-page{padding:24px 0 48px}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.admin-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700}.admin-sub{color:var(--text-muted);margin-top:4px}.admin-back{color:var(--accent);text-decoration:none;font-size:14px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.admin-tabs button{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);padding:8px 16px;border-radius:999px;cursor:pointer;font-size:14px}.admin-tabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.admin-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.admin-stat-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px}.admin-stat-value{font-size:1.35rem;font-weight:800;color:var(--gold)}.admin-table td.muted{color:var(--text-muted);text-align:center;padding:24px}.admin-panel{grid-column:span 2;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.admin-panel--wide{grid-column:1 / -1}.admin-panel h2{font-size:15px;margin-bottom:16px;color:var(--text-muted)}.admin-bars{display:flex;align-items:flex-end;gap:6px;height:140px}.admin-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.admin-bar{width:100%;max-width:28px;background:linear-gradient(180deg,var(--accent),#ff7a9a);border-radius:4px 4px 0 0;margin-top:auto}.admin-bar-label{font-size:10px;color:var(--text-muted);margin-top:6px}.admin-list{list-style:none}.admin-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.admin-list li.muted{color:var(--text-muted)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{color:var(--text-muted);font-weight:600;background:var(--bg-elevated)}.admin-props{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px}.admin-funnel{display:flex;flex-direction:column;gap:16px;max-width:640px}.admin-funnel-step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.admin-funnel-head{display:flex;justify-content:space-between;margin-bottom:10px}.admin-funnel-bar{height:8px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.admin-funnel-bar div{height:100%;background:var(--accent);border-radius:4px}.admin-funnel-pct{display:block;margin-top:6px;font-size:12px;color:var(--text-muted)}.admin-error{color:#ff8a8a;padding:16px}@keyframes fade-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes ken-burns{0%{transform:scale(1.08) translate(0)}to{transform:scale(1.18) translate(-1.5%,-1%)}}@keyframes hero-text-in{0%{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(12px,-18px) scale(1.04)}66%{transform:translate(-8px,10px) scale(.97)}}@keyframes float-alt{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-16px,14px) scale(1.06)}}@keyframes pulse-glow{0%,to{opacity:.45}50%{opacity:.75}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes loader-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loader-dot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-underline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes card-shine{0%{left:-120%}to{left:120%}}.animate-fade-up{animation:fade-up .7s cubic-bezier(.22,1,.36,1) both}.animate-scale-in{animation:scale-in .6s cubic-bezier(.22,1,.36,1) both}.page-enter{animation:page-enter .45s cubic-bezier(.22,1,.36,1) both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bg: #07070c;--bg-card: #12121c;--bg-elevated: #1a1a28;--accent: #ff3d6e;--accent-soft: #ff3d6e33;--accent-glow: rgba(255, 61, 110, .45);--gold: #ffc947;--text: #f5f5f7;--text-muted: #9a9aad;--border: #2a2a3d;--radius: 14px;--header-h: 64px;--page-gutter: max(16px, (100vw - min(1280px, 100vw - 32px)) / 2);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Literata", Georgia, "Times New Roman", serif;--ease-out: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:15px;line-height:1.55;letter-spacing:-.011em;font-feature-settings:"cv02","cv03","cv04","cv11";background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,61,110,.08),transparent),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(255,107,157,.05),transparent);pointer-events:none;z-index:0}#root{position:relative;z-index:1}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1280px,100% - 32px);margin-inline:auto}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.15}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
