@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#080808;--panel:#151515;--panel2:#1c1c1c;--text:#f7f7f7;--muted:#a3a3a3;--pink:#fe2c55;--cyan:#25f4ee;--line:#2c2c2c}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}
.feed-body{height:100dvh;overflow:hidden;background:#050505}.topbar{height:58px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1180px)/2));background:linear-gradient(180deg,rgba(0,0,0,.78),transparent);pointer-events:none}.topbar a,.topbar .topbar-right{pointer-events:auto}.brand{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:800;letter-spacing:-.5px}.brand-mark{width:28px;height:28px;border-radius:9px;background:var(--pink);display:grid;place-items:center;font-weight:900;box-shadow:3px 0 0 var(--cyan)}.topbar-right{display:flex;align-items:center;gap:8px;font-size:12px;color:#ddd}.live-dot{height:7px;width:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px var(--pink)}.admin-link{padding:7px 12px;border:1px solid #ffffff55;border-radius:999px;margin-left:10px;background:#0005}
.feed{height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none}.feed::-webkit-scrollbar{display:none}.video-slide{position:relative;height:100dvh;min-height:480px;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;background:#101010;overflow:hidden;isolation:isolate}.video-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#101010}.video-stage video{height:100%;width:100%;object-fit:contain;outline:none;background:#080808}.video-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 36%,rgba(0,0,0,.12));}.video-overlay{position:absolute;z-index:2;left:max(18px,calc((100vw - 760px)/2));right:88px;bottom:max(40px,calc(env(safe-area-inset-bottom) + 28px));max-width:640px;pointer-events:none}.video-title{font-size:clamp(18px,2.3vw,25px);font-weight:800;line-height:1.25;margin:0 0 9px;text-shadow:0 2px 8px #000}.video-description{font-size:14px;line-height:1.5;margin:0 0 13px;color:#f1f1f1;max-width:580px;white-space:pre-line;text-shadow:0 1px 5px #000}.video-meta{font-size:12px;color:#ddd;display:flex;gap:10px;align-items:center}.creator-pill{display:inline-flex;align-items:center;gap:7px;font-weight:700;margin-bottom:10px}.creator-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#7c3aed);border:1px solid #fff8;font-size:12px}.side-actions{position:absolute;z-index:3;right:max(15px,calc((100vw - 760px)/2));bottom:max(65px,calc(env(safe-area-inset-bottom) + 46px));display:flex;flex-direction:column;align-items:center;gap:19px}.action-btn{width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:#161616b8;color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:transform .15s,background .15s}.action-btn:hover{background:#333}.action-btn:active{transform:scale(.92)}.action-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.action-label{font-size:11px;text-align:center;margin-top:-14px;color:#fff;text-shadow:0 1px 4px #000}.play-indicator{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#0006;opacity:0;pointer-events:none;transition:opacity .15s}.play-indicator.show{opacity:1}.play-indicator svg{width:28px;height:28px;fill:white}.progress-track{position:absolute;z-index:5;left:0;right:0;bottom:0;height:3px;background:#ffffff36}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--cyan))}.loading-state,.empty-state{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#ddd}.spinner{width:30px;height:30px;border:3px solid #ffffff28;border-top-color:var(--pink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state h2{margin:0}.empty-state p{color:var(--muted);margin:0}.feed-hint{position:fixed;z-index:8;bottom:14px;left:50%;transform:translateX(-50%);padding:7px 13px;border-radius:999px;background:#0008;color:#eee;font-size:11px;white-space:nowrap;opacity:.8;pointer-events:none;transition:opacity .5s}.feed-hint span{margin-left:7px;color:var(--cyan)}.feed-hint.hidden{opacity:0}.toast{position:fixed;z-index:50;top:70px;left:50%;transform:translateX(-50%);background:#222;color:#fff;border:1px solid #444;padding:10px 15px;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}
.admin-body{min-height:100vh;background:#0b0b0d;padding:28px 16px;color:#f5f5f5}.admin-card{width:min(100%,420px);margin:7vh auto 0;background:#151518;border:1px solid #29292e;border-radius:18px;padding:28px;box-shadow:0 18px 60px #0005}.admin-card h1,.admin-header h1{font-size:26px;margin:12px 0 6px}.muted{color:#999;font-size:13px;line-height:1.55}.back-home{color:#b8b8b8;font-size:13px}.admin-card form{display:flex;flex-direction:column;gap:9px;margin-top:22px}.admin-card label,.panel label{font-size:13px;color:#ccc;margin-top:6px}.admin-card input:not([type=hidden]),.panel input:not([type=hidden]):not([type=checkbox]),.panel textarea{width:100%;background:#0d0d0f;color:#f5f5f5;border:1px solid #33333a;border-radius:9px;padding:12px;outline:none}.admin-card input:focus,.panel input:focus,.panel textarea:focus{border-color:var(--pink)}.btn{border:0;border-radius:9px;background:var(--pink);color:white;font-weight:700;padding:12px 17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.admin-card .btn{margin-top:12px}.btn:hover{filter:brightness(1.08)}.btn-quiet{background:#252529;border:1px solid #39393e;color:#eee}.btn-danger{background:#4b1e27;color:#ffb6c5;border:1px solid #733040}.btn-small{padding:7px 10px;font-size:12px;border-radius:7px}.notice{padding:11px 13px;border-radius:9px;font-size:13px;margin:14px 0}.notice.error{background:#35191e;color:#ffb8c3;border:1px solid #63303a}.notice.success{background:#152b20;color:#a4f0c1;border:1px solid #28563b}.admin-wide{padding:28px 20px}.admin-shell{width:min(100%,1200px);margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.admin-header h1{margin-top:9px}.admin-header form{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card,.panel{background:#151518;border:1px solid #29292e;border-radius:14px;padding:20px}.stat-card span{display:block;color:#aaa;font-size:13px}.stat-card strong{display:block;font-size:28px;margin-top:9px}.panel{margin-bottom:18px}.panel h2{font-size:17px;margin:0 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}.upload-form{display:flex;flex-direction:column;gap:10px}.upload-form .form-grid>div{display:flex;flex-direction:column;gap:9px}.upload-form input[type=file]{padding:9px!important;font-size:12px}.check-row{display:flex;align-items:center;gap:8px!important}.check-row input{accent-color:var(--pink)}.upload-form>.btn{align-self:flex-start}.panel-title-row{display:flex;justify-content:space-between;align-items:center}.panel-title-row h2{margin-bottom:0}.table-wrap{overflow:auto;margin-top:15px}.video-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.video-table th,.video-table td{padding:13px 10px;border-bottom:1px solid #2a2a2f;text-align:left;vertical-align:middle}.video-table th{font-size:11px;color:#aaa;font-weight:600}.video-table td:first-child{max-width:350px;overflow-wrap:anywhere}.small{font-size:11px;margin-top:4px}.status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px}.status.published{background:#153322;color:#8fe1af}.status.draft{background:#332b19;color:#e8ca80}.action-row{display:flex;gap:7px}.action-row form{margin:0}.empty-admin{padding:30px 0;text-align:center;color:#999;font-size:13px}.admin-footer{color:#666;font-size:12px;padding:10px 2px 20px}
@media(min-width:900px){.video-slide{background:#050505}.video-stage{inset:0 0 0 0}.video-stage video{max-width:calc(100vh * 9 / 16);object-fit:contain}.video-stage:after{background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 38%,rgba(0,0,0,.15))}.video-overlay{left:calc(50% - min(50vh * 9 / 16, 32vw) + 18px);right:auto;width:min(470px,45vw);bottom:50px}.side-actions{right:calc(50% - min(50vh * 9 / 16, 32vw) + 15px);bottom:70px}}
@media(max-width:640px){.topbar{height:52px;padding:0 14px}.brand{font-size:16px}.topbar-label{font-size:11px}.video-stage video{object-fit:cover}.video-overlay{left:15px;right:75px;bottom:max(34px,calc(env(safe-area-inset-bottom) + 22px))}.video-title{font-size:19px}.video-description{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.side-actions{right:11px;bottom:max(58px,calc(env(safe-area-inset-bottom) + 39px));gap:17px}.action-btn{width:43px;height:43px}.action-label{font-size:10px}.feed-hint{bottom:8px;font-size:10px}.stats-grid{gap:8px}.stat-card{padding:13px}.stat-card span{font-size:11px}.stat-card strong{font-size:22px}.admin-wide{padding:16px 10px}.admin-header{align-items:flex-start}.admin-header h1{font-size:23px}.form-grid{grid-template-columns:1fr}.panel{padding:15px}.admin-header .btn{padding:9px 10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.upload-progress-wrap{margin:16px 0 10px}
.upload-progress-track{width:100%;height:10px;border-radius:999px;background:#29292f;overflow:hidden}
.upload-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#ff2858,#ff6684);border-radius:999px;transition:width .15s ease}
#uploadSubmit:disabled{opacity:.65;cursor:wait}
