:root{--bg: #0f0f0f;--bg-elevated: #1c1c1c;--bg-hover: #272727;--text: #f1f1f1;--text-dim: #aaa;--border: #303030;--accent: #ff0033;--chip: #272727;--header-h: 56px;--promo-h: 36px;--sidebar-w: 240px}:root[data-theme=light]{--bg: #fff;--bg-elevated: #f9f9f9;--bg-hover: #eee;--text: #0f0f0f;--text-dim: #606060;--border: #e5e5e5;--chip: #f2f2f2}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Roboto,-apple-system,Segoe UI,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#5a5a5a;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.promo{position:fixed;top:0;left:0;right:0;height:var(--promo-h);z-index:60;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,#d40028,#f03 35%,#ff7a00 70%,#ffb300);color:#fff;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.2px;text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:0 2px 10px #ff003359}.promo-track{display:inline-flex;gap:80px;padding-left:100%;white-space:nowrap;animation:marquee 32s linear infinite}.promo:hover .promo-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.promo-track{animation:none;padding-left:16px}}.header{position:fixed;top:var(--promo-h);left:0;right:0;height:var(--header-h);display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--bg);z-index:50}.header-left,.header-right{display:flex;align-items:center;gap:8px}.header-left{flex-shrink:0}.header-right{flex-shrink:0;margin-left:auto}.logo{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:700;letter-spacing:-1px}.logo-mark{width:30px;height:21px;border-radius:6px;background:var(--accent);display:grid;place-items:center}.logo-mark:after{content:"";border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px}.logo sup{font-size:10px;color:var(--text-dim);font-weight:400}.icon-btn{width:40px;height:40px;display:grid;place-items:center;background:none;border:none;border-radius:50%}.icon-btn:hover{background:var(--bg-hover)}.icon-btn.active{color:var(--accent)}.search-wrap{flex:1;max-width:640px;margin:0 auto;position:relative}.search-form{display:flex;height:40px}.search-input{flex:1;background:#121212;border:1px solid var(--border);border-right:none;border-radius:20px 0 0 20px;padding:0 16px;color:var(--text);font-size:16px;outline:none}:root[data-theme=light] .search-input{background:#fff}.search-input:focus{border-color:#3ea6ff}.search-btn{width:64px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:0 20px 20px 0;display:grid;place-items:center}.search-btn:hover{background:var(--bg-hover)}.suggestions{position:absolute;top:44px;left:0;right:64px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:8px 0;z-index:60;box-shadow:0 4px 32px #00000080;overflow:hidden}.suggestion{padding:8px 16px;display:flex;gap:12px;align-items:center}.suggestion:hover,.suggestion[aria-selected=true]{background:var(--bg-hover)}.sidebar{position:fixed;top:calc(var(--header-h) + var(--promo-h));bottom:0;left:0;width:var(--sidebar-w);padding:12px;overflow-y:auto;background:var(--bg);z-index:40}.sidebar.collapsed{width:72px;padding:12px 4px}.sidebar.collapsed .nav-item{flex-direction:column;gap:4px;padding:16px 0;font-size:10px;border-radius:10px}.sidebar.collapsed .nav-section-title,.sidebar.collapsed .sidebar-footer{display:none}.nav-item{display:flex;align-items:center;gap:24px;padding:0 12px;height:40px;border-radius:10px;color:var(--text)}.nav-item:hover{background:var(--bg-hover)}.nav-item.active{background:var(--bg-hover);font-weight:500}.nav-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.nav-section-title{padding:8px 12px;font-size:16px;font-weight:500}.sidebar-footer{padding:16px 12px;color:var(--text-dim);font-size:12px;line-height:1.6}.main{margin-top:calc(var(--header-h) + var(--promo-h));margin-left:var(--sidebar-w);padding:24px;min-height:calc(100vh - var(--header-h) - var(--promo-h))}.main.wide{margin-left:72px}.main.bare{margin-left:0;padding:24px 0 0}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none}.main,.main.wide{margin-left:0;padding:16px}}.chips{display:flex;gap:12px;overflow-x:auto;padding-bottom:16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;padding:8px 12px;background:var(--chip);border:none;border-radius:8px;font-size:14px}.chip.active{background:var(--text);color:var(--bg)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px 16px}.card{display:flex;flex-direction:column;gap:12px}.thumb-wrap{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--bg-elevated)}.thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block}.duration{position:absolute;right:6px;bottom:6px;background:#000c;color:#fff;font-size:12px;font-weight:500;padding:1px 4px;border-radius:4px}.progress-seen{position:absolute;left:0;bottom:0;height:3px;background:var(--accent)}.card-body{display:flex;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--bg-hover);display:grid;place-items:center;font-weight:500;color:var(--text-dim);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.card-title{font-size:14px;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 4px}.card-meta{color:var(--text-dim);font-size:12px;line-height:1.5}.card-meta a:hover{color:var(--text)}.list-card{display:flex;gap:8px}.list-card .thumb-wrap{width:168px;flex-shrink:0}.list-card .card-title{font-size:13px;-webkit-line-clamp:2}.watch{display:grid;grid-template-columns:minmax(0,1fr) 402px;gap:24px;max-width:1754px;margin:0 auto}.watch.theater{grid-template-columns:minmax(0,1fr)}@media(max-width:1100px){.watch{grid-template-columns:minmax(0,1fr)}}.video-title{font-size:20px;font-weight:700;margin:12px 0 8px;line-height:1.4}.owner-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.owner{display:flex;align-items:center;gap:12px;flex:1;min-width:200px}.owner .avatar{width:40px;height:40px}.owner-name{font-weight:500;font-size:16px}.owner-sub{color:var(--text-dim);font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;background:var(--chip);border:none;border-radius:18px;font-size:14px;font-weight:500;white-space:nowrap}.pill:hover{background:var(--bg-hover)}.pill.primary{background:var(--text);color:var(--bg)}.pill.on{background:var(--accent);color:#fff}.description{background:var(--bg-elevated);border-radius:12px;padding:12px;margin:12px 0;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.description.clamped{max-height:88px;overflow:hidden;cursor:pointer}.description-meta{font-weight:500;margin-bottom:8px}.comments-head{display:flex;align-items:center;gap:24px;margin:24px 0 16px;font-size:16px;font-weight:500}.comment{display:flex;gap:16px;margin-bottom:16px}.comment-body{flex:1;min-width:0}.comment-author{font-size:13px;font-weight:500;margin-bottom:2px}.comment-author span{color:var(--text-dim);font-weight:400;margin-left:6px}.comment-text{font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.comment-meta{color:var(--text-dim);font-size:12px;margin-top:6px}.player{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;-webkit-user-select:none;user-select:none}.player.fullscreen,.player:fullscreen{border-radius:0;aspect-ratio:auto;height:100%}.player video{width:100%;height:100%;display:block;background:#000}.player.hide-cursor{cursor:none}.player-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.big-play{width:68px;height:48px;background:#0009;border:none;border-radius:12px;display:grid;place-items:center;pointer-events:auto}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.25);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.player-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:12px;background:#000000d9;color:#fff;text-align:center;padding:24px;pointer-events:auto}.controls{position:absolute;left:0;right:0;bottom:0;padding:0 12px 8px;background:linear-gradient(transparent,#000000bf);opacity:0;transition:opacity .2s}.player.show-controls .controls,.player:hover .controls{opacity:1}.scrub{height:16px;display:flex;align-items:center;cursor:pointer}.scrub-track{position:relative;height:4px;width:100%;background:#ffffff4d;border-radius:2px}.scrub:hover .scrub-track{height:6px}.scrub-buffered{position:absolute;inset:0 auto 0 0;background:#ffffff73;border-radius:2px}.scrub-played{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:2px}.scrub-knob{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%) scale(0);transition:transform .1s}.scrub:hover .scrub-knob{transform:translate(-50%,-50%) scale(1)}.control-row{display:flex;align-items:center;gap:4px;color:#fff}.control-btn{width:40px;height:40px;background:none;border:none;display:grid;place-items:center;opacity:.92}.control-btn:hover{opacity:1}.time{font-size:13px;padding:0 8px;font-variant-numeric:tabular-nums}.spacer{flex:1}.volume-wrap{display:flex;align-items:center}.volume-slider{width:0;opacity:0;transition:width .2s,opacity .2s;accent-color:#fff}.volume-wrap:hover .volume-slider,.volume-slider:focus{width:70px;opacity:1;margin:0 8px}.menu{position:absolute;right:12px;bottom:56px;background:#1c1c1cf2;border-radius:12px;padding:8px 0;min-width:200px;font-size:14px;color:#fff;max-height:320px;overflow-y:auto}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px}.menu-item:hover{background:#ffffff1a}.menu-item.selected{font-weight:600}.menu-title{padding:8px 16px;color:#aaa;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.badge-hd{font-size:9px;font-weight:700;background:#fff;color:#000;border-radius:2px;padding:0 3px;margin-left:4px;vertical-align:top}.empty{text-align:center;color:var(--text-dim);padding:64px 16px}.loading-line{height:2px;background:var(--accent);animation:grow 1.2s ease-out infinite;position:fixed;top:var(--header-h);left:0;right:0;z-index:60;transform-origin:left}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.skeleton{background:var(--bg-elevated);border-radius:12px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.login-page{display:grid;place-items:center;min-height:100vh;padding:24px}.player.fullscreen~.promo,.player:fullscreen~.promo{display:none}.login-card{width:100%;max-width:360px;background:var(--bg-elevated);border-radius:16px;padding:32px;text-align:center}.login-card input{width:100%;height:44px;margin:20px 0 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0 14px;color:var(--text);font-size:15px;outline:none}.login-card input:focus{border-color:#3ea6ff}.login-card button{width:100%;height:44px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600}.error-text{color:#ff6b6b;font-size:13px;min-height:18px;margin-top:8px}.section-title{font-size:20px;font-weight:700;margin:0 0 16px}.row-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin{max-width:980px;display:flex;flex-direction:column;gap:20px}.admin .description{margin:0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.admin-card{background:var(--bg-elevated);border-radius:12px;padding:16px}.admin-card-label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.4px}.admin-card-value{font-size:28px;font-weight:700;margin:6px 0 2px}.admin-card-hint{color:var(--text-dim);font-size:12px}.admin-chart{width:100%;height:auto;margin-top:8px}.admin-chart-label{fill:var(--text-dim);font-size:9px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;font-size:13px;border-top:1px solid var(--border)}.admin-row:first-of-type{border-top:none}.admin-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-form{display:flex;gap:8px;flex-wrap:wrap}.admin-form .yt-input{flex:1;min-width:240px}.yt-input{height:36px;padding:0 12px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:13px;outline:none}.yt-input:focus{border-color:#3ea6ff}.admin-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:800px){.admin-two{grid-template-columns:1fr}}.pill:disabled{opacity:.5;cursor:default}@media(max-width:760px){.promo{font-size:13px}.header{gap:8px;padding:0 8px}.header .logo span:last-child{display:none}.search-input{font-size:16px}.search-btn{width:48px}.main,.main.wide{padding:12px 10px 80px}.grid{grid-template-columns:1fr;gap:20px}.card{gap:8px}.card-title{font-size:15px}.watch{gap:16px}.player{border-radius:0;margin:-12px -10px 0;width:calc(100% + 20px)}.video-title{font-size:16px;margin:12px 0 6px}.actions{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.actions::-webkit-scrollbar{display:none}.pill{height:34px;padding:0 12px;font-size:13px}.list-card .thumb-wrap{width:150px}.list-card .card-title,.description{font-size:13px}}@media(hover:none){.control-btn{width:44px;height:44px}.scrub{height:24px}.scrub-track{height:5px}.scrub-knob{width:16px;height:16px;transform:translate(-50%,-50%) scale(1)}.controls{padding:0 8px 10px}.volume-wrap{display:none}.menu{right:8px;bottom:60px;max-height:50vh}.menu-item{padding:12px 16px}}.player:fullscreen,.player:-webkit-full-screen{border-radius:0;margin:0;width:100%;height:100%;aspect-ratio:auto}.player:fullscreen video,.player:-webkit-full-screen video{height:100%;object-fit:contain}
