:root{--bg: #0a0a0f;--bg-elev: #14141c;--bg-card: #1a1a24;--fg: #f5f5f7;--fg-dim: #9999a8;--accent: #ff3d52;--border: #2a2a36}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;background:var(--accent);color:#fff;border:0;padding:.6rem 1rem;border-radius:6px;cursor:pointer}button.secondary{background:var(--bg-card);border:1px solid var(--border);color:var(--fg)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;background:var(--bg-elev);color:var(--fg);border:1px solid var(--border);padding:.5rem .7rem;border-radius:6px;width:100%}.app{min-height:100%}.app.admin{background:#0d0d14}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border)}.site-header .brand{font-weight:800;letter-spacing:.1em;color:var(--accent)}.site-header nav a{margin-left:1.5rem;color:var(--fg-dim)}.site-header nav a:hover{color:var(--fg)}.hero{position:relative;height:60vh;min-height:420px;background-size:cover;background-position:center;display:flex;align-items:flex-end}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,var(--bg) 100%)}.hero-inner{position:relative;z-index:2;padding:2rem;max-width:720px}.hero-inner h1{font-size:2.4rem;margin:0 0 .5rem}.hero-inner p{color:var(--fg-dim);margin:0 0 1rem}.catalog-section{padding:1.5rem 2rem}.catalog-section h2{margin:0 0 1rem;font-size:1.2rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.card{background:var(--bg-card);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .15s}.card:hover{transform:scale(1.03)}.card .poster{width:100%;aspect-ratio:2 / 3;background:#222;background-size:cover;background-position:center}.card .meta{padding:.6rem}.card .meta .title{font-size:.95rem;font-weight:600}.card .meta .sub{color:var(--fg-dim);font-size:.8rem;margin-top:.2rem}.watch-wrap{max-width:1200px;margin:0 auto;padding:1rem}.player-wrap{position:relative;width:100%;background:#000;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden}.player-wrap video{width:100%;height:100%;display:block;background:#000}.ad-overlay{position:absolute;top:1rem;left:1rem;background:#000000b3;padding:.4rem .7rem;border-radius:4px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;z-index:5}.ad-overlay a{color:var(--accent);margin-left:.5rem}.watch-meta{margin-top:1.5rem}.watch-meta h1{margin:0 0 .4rem}.watch-meta .sub{color:var(--fg-dim);margin-bottom:1rem}.episode-list{margin-top:2rem}.episode-list .ep{display:flex;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);cursor:pointer}.episode-list .ep:hover{background:var(--bg-elev)}.episode-list .ep .num{color:var(--fg-dim);width:2rem;flex-shrink:0}.episode-list .ep .title{font-weight:600}.episode-list .ep .syn{color:var(--fg-dim);font-size:.9rem;margin-top:.3rem}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-side{background:var(--bg-elev);border-right:1px solid var(--border);padding:1.5rem 1rem}.admin-side .brand{font-weight:800;color:var(--accent);letter-spacing:.1em;display:block;margin-bottom:2rem}.admin-side a{display:block;padding:.5rem .7rem;border-radius:6px;color:var(--fg-dim);margin-bottom:.25rem}.admin-side a.active,.admin-side a:hover{background:var(--bg-card);color:var(--fg)}.admin-main{padding:2rem}.admin-main h1{margin:0 0 1.5rem}.row{display:flex;gap:.75rem;align-items:center}.row>*{flex:1}.form-grid{display:grid;gap:1rem;max-width:600px}.form-grid label{display:block}.form-grid label .lbl{display:block;color:var(--fg-dim);font-size:.85rem;margin-bottom:.25rem}.table{width:100%;border-collapse:collapse;margin-top:1rem}.table th,.table td{text-align:left;padding:.6rem;border-bottom:1px solid var(--border)}.table th{color:var(--fg-dim);font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem}.badge.ready{background:#1c3a25;color:#6ee7a7}.badge.transcoding{background:#3a2e1c;color:#f5c97c}.badge.queued{background:#1c2a3a;color:#7cb5f5}.badge.failed{background:#3a1c1c;color:#f57c7c}.badge.draft{background:#2a2a36;color:var(--fg-dim)}.login-wrap{max-width:360px;margin:4rem auto;padding:2rem;background:var(--bg-card);border-radius:8px}.login-wrap h1{margin:0 0 1.5rem;font-size:1.2rem;text-align:center;color:var(--accent);letter-spacing:.1em}.error{color:#f57c7c;margin-top:.5rem;font-size:.9rem}.success{color:#6ee7a7;margin-top:.5rem;font-size:.9rem}
