@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;700&display=swap";:root{--bg-0: #07090d;--bg-1: #0d1118;--bg-2: #131b27;--panel: rgba(20, 28, 40, .88);--panel-2: rgba(26, 36, 50, .94);--ink: #ebf2ff;--muted: #9caec6;--line: rgba(146, 172, 208, .2);--accent: #4fb3ff;--accent-2: #65f2ce;--danger: #ff7f7f;--success: #68d6a8;--glow: 0 22px 45px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{font-family:Manrope,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 12%,rgba(83,180,255,.18),transparent 45%),radial-gradient(circle at 92% 0%,rgba(101,242,206,.14),transparent 42%),linear-gradient(165deg,var(--bg-0) 0%,var(--bg-1) 38%,var(--bg-2) 100%)}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Sora,Trebuchet MS,sans-serif;margin:0 0 .6rem;letter-spacing:.01em}p{margin:0}button,input,select{font:inherit}.app-shell{width:min(1120px,94vw);margin:1rem auto 2.2rem}.top-nav{display:flex;align-items:center;justify-content:space-between;border-radius:14px;border:1px solid var(--line);padding:.75rem 1rem;background:#0e141edb;box-shadow:var(--glow);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.brand{font-family:Sora,Trebuchet MS,sans-serif;font-size:1.18rem;font-weight:700;color:#f4f8ff}.top-nav-links{display:flex;align-items:center;gap:.55rem}.top-nav-links a{color:var(--muted);transition:color .14s ease}.top-nav-links a:hover{color:#f0f6ff}.user-pill{border-radius:999px;border:1px solid var(--line);padding:.28rem .76rem;color:#d7e7ff;background:#4fb3ff14}.content-shell{margin-top:1rem;display:grid;gap:1rem}.panel{border-radius:16px;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel) 0%,var(--panel-2) 100%);box-shadow:var(--glow);padding:1.12rem;animation:rise .22s ease}.upload-panel h1{margin-bottom:.25rem}.muted{color:var(--muted)}.stack,.upload-form{margin-top:.95rem;display:grid;gap:.78rem}label{display:grid;gap:.34rem;font-weight:600;color:#d8e7ff}input,select.host-select{border-radius:10px;border:1px solid var(--line);background:#0a0f17d9;color:var(--ink);padding:.67rem .75rem}input::placeholder{color:#7f92ab}button,.ghost-btn{border-radius:10px;border:0;padding:.56rem .92rem;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}button{background:linear-gradient(135deg,var(--accent),#2d7bd4);color:#f6fbff}button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #4fb3ff57}button:disabled{opacity:.72;cursor:not-allowed}.danger-btn{background:linear-gradient(135deg,#ff6c7d,#d94a62);color:#fff3f5}.danger-btn:hover{box-shadow:0 8px 20px #ff6c7d52}.ghost-btn{display:inline-flex;align-items:center;border:1px solid var(--line);color:#dde9ff;background:#4fb3ff14}.ghost-btn:hover{background:#4fb3ff26}.auth-wrap{margin-top:1.25rem;display:grid;place-items:center}.auth-card{width:min(480px,100%);border-radius:16px;border:1px solid var(--line);background:linear-gradient(160deg,#151f2ef2,#131c28f2);box-shadow:var(--glow);padding:1.22rem}.auth-foot{margin-top:.95rem;color:var(--muted)}.auth-foot a{color:var(--accent-2);font-weight:700}.video-list{margin-top:.88rem;display:grid;gap:.72rem}.video-item{border-radius:12px;border:1px solid var(--line);padding:.8rem;background:#0b111ab3;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.video-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;color:var(--muted)}.video-meta strong{color:#e7f0ff}.room-header{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.room-actions{display:flex;gap:.58rem;align-items:center}.room-item-actions{display:flex;gap:.5rem;align-items:center}.host-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.85rem}.host-media-card{border:1px solid var(--line);border-radius:12px;background:#0a1018b8;padding:.8rem;display:grid;gap:.6rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#03070cb8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:1rem}.modal-card{width:min(900px,96vw);max-height:min(82vh,760px);overflow:auto;border-radius:14px;border:1px solid var(--line);background:linear-gradient(170deg,#101824f7,#0c121cf7);box-shadow:var(--glow);padding:1rem;display:grid;gap:.8rem}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.modal-actions{display:flex;justify-content:flex-end}.picker-grid{display:grid;gap:.72rem;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.picker-item{border:1px solid rgba(146,172,208,.24);border-radius:12px;background:#080d15db;color:var(--ink);padding:.45rem;display:grid;gap:.5rem;text-align:left}.picker-item.active{border-color:#65f2ce99;box-shadow:0 0 0 1px #65f2ce47 inset}.picker-thumb-wrap{width:100%;border-radius:9px;overflow:hidden;background:#04070d;aspect-ratio:16 / 9}.picker-thumb{width:100%;height:100%;object-fit:cover;display:block}.picker-title{font-size:.9rem;color:#deebff;word-break:break-word}.picker-subtitle{font-size:.8rem;color:#8ea4c2}.watch-party-layout{display:grid;gap:1rem;grid-template-columns:260px minmax(0,1fr)}.participants-sidebar{border-radius:12px;border:1px solid var(--line);background:#080e16c7;padding:.86rem}.participants-list{list-style:none;margin:0;padding:0;display:grid;gap:.44rem}.participants-row{border-radius:8px;border:1px solid rgba(146,172,208,.22);background:#4fb3ff12;padding:.4rem .5rem;display:flex;justify-content:space-between;align-items:center;gap:.4rem}.participant-main{display:grid;gap:.2rem;min-width:0}.participant-flags{color:#9fb7d8;font-size:.77rem;display:flex;gap:.42rem;flex-wrap:wrap}.participant-btn{padding:.32rem .52rem;font-size:.8rem}.voice-controls{margin:.4rem 0 .7rem;display:grid;gap:.45rem}.player-stage{position:relative}.react-player-wrap{width:100%;border-radius:12px;border:1px solid rgba(146,172,208,.32);overflow:hidden;background:#06090f;aspect-ratio:16 / 9}.react-player-wrap>div{width:100%!important;height:100%!important}.video-element{width:100%;border-radius:12px;border:1px solid rgba(146,172,208,.32);background:#06090f}.youtube-wrap{width:100%;border-radius:12px;overflow:hidden;border:1px solid rgba(146,172,208,.32);background:#06090f;aspect-ratio:16 / 9}.youtube-player-host,.youtube-player-host iframe,.youtube-wrap iframe{width:100%;height:100%;border:0}.empty-player{width:100%;min-height:320px;border-radius:12px;border:1px dashed rgba(146,172,208,.35);display:grid;place-items:center;color:var(--muted);background:#080e1680}.buffering-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;display:grid;place-items:center;color:#f2f7ff;font-size:1.05rem;font-weight:700;background:#04080dad}.player-footer{margin-top:.8rem;display:flex;align-items:center;justify-content:space-between}.player-footer-actions{display:flex;align-items:center;gap:.52rem}.room-id{color:var(--muted)}.global-toast{position:absolute;top:14px;right:14px;max-width:300px;border-radius:10px;border:1px solid rgba(101,242,206,.35);background:#080e16f5;color:#defff6;padding:.7rem .9rem;animation:fade-in .18s ease}.remote-audio-pool{position:absolute;width:0;height:0;overflow:hidden}.error-text{color:var(--danger);margin-top:.5rem}.success-text{color:var(--success);margin-top:.5rem}@media (max-width: 930px){.watch-party-layout{grid-template-columns:1fr}.room-header{flex-direction:column;align-items:flex-start}.room-actions,.room-item-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.host-media-grid{grid-template-columns:1fr}.modal-card{width:min(920px,98vw);max-height:min(88vh,760px)}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(146px,1fr))}}@media (max-width: 640px){.app-shell{width:min(1120px,96vw)}.top-nav{flex-direction:column;align-items:flex-start;gap:.62rem}.video-item{flex-direction:column;align-items:flex-start}.player-footer{flex-direction:column;align-items:flex-start;gap:.48rem}.player-footer-actions{width:100%;flex-wrap:wrap}}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
