:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-card: #1a1a28;--bg-card-hover: #222236;--accent: #7c5bf5;--accent-glow: rgba(124, 91, 245, .3);--text-primary: #e8e8f0;--text-secondary: #8888a0;--text-muted: #555568;--border: #2a2a3a;--success: #43b581;--warning: #faa61a;--danger: #f04747;--radius: 12px;--radius-sm: 8px}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100%;width:100%}#root{height:100%;width:100%}.app{height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.loading-screen h2{font-size:1.25rem;font-weight:600}.loading-screen p{color:var(--text-secondary);font-size:.875rem}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner.large{width:48px;height:48px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.library-container{height:100%;overflow-y:auto;padding:20px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.library-header{text-align:center;margin-bottom:24px}.library-title{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.logo-icon{-webkit-text-fill-color:initial}.library-subtitle{color:var(--text-secondary);font-size:.875rem}.search-bar{position:relative;max-width:400px;margin:0 auto 24px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input{width:100%;padding:12px 14px 12px 42px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-input::placeholder{color:var(--text-muted)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}@media (min-width: 600px){.media-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.media-card{cursor:pointer;border-radius:var(--radius);overflow:hidden;background:var(--bg-card);transition:transform .2s,box-shadow .2s}.media-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006}.media-poster{position:relative;aspect-ratio:2/3;background:var(--bg-secondary);overflow:hidden}.media-poster img{width:100%;height:100%;object-fit:cover}.media-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.media-card:hover .media-overlay{opacity:1}.play-overlay-btn{width:48px;height:48px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px var(--accent-glow);transition:transform .15s}.play-overlay-btn:hover{transform:scale(1.1)}.media-info{padding:10px 12px}.media-title{font-size:.8rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta{display:flex;gap:8px;margin-top:4px;font-size:.7rem;color:var(--text-secondary)}.player-container{height:100%;display:flex;flex-direction:column;background:#000;position:relative}.player-container.expanded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.player-container.hide-cursor{cursor:none}.player-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);min-height:44px;transition:opacity .3s,transform .3s}.player-header.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.back-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.8rem;cursor:pointer;transition:background .15s}.back-btn:hover{background:var(--bg-card-hover)}.theater-back{background:#ffffff1a;border-color:transparent;padding:6px 8px}.now-playing{flex:1;font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-count{font-size:.75rem;padding:4px 10px;background:#7c5bf526;border:1px solid rgba(124,91,245,.3);border-radius:20px;color:#a78bfa;white-space:nowrap}.host-badge{font-size:.75rem;padding:4px 10px;background:linear-gradient(135deg,#faa61a,#f57731);border-radius:20px;font-weight:600;white-space:nowrap}.viewer-badge{font-size:.85rem;padding:6px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);white-space:nowrap}.video-wrapper{flex:1;position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.expanded .video-wrapper{width:100%;height:100%}.video-player{width:100%;height:100%;background:#000;outline:none;object-fit:contain}.video-player.zoom-mode{transform-origin:center center}video::-webkit-media-controls{display:none!important}video::-webkit-media-controls-enclosure{display:none!important}.buffering-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;z-index:5}.theater-title{position:absolute;top:0;left:0;right:0;padding:16px 20px;background:linear-gradient(to bottom,rgba(0,0,0,.7) 0%,transparent 100%);display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:600;z-index:8;pointer-events:all}.controls-wrapper{position:absolute;bottom:0;left:0;right:0;z-index:8;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 70%,transparent 100%);padding-top:40px}.controls-wrapper.visible{opacity:1;transform:translateY(0);pointer-events:all}.nx-controls{padding:0 20px 16px}.nx-progress-container{width:100%;height:24px;display:flex;align-items:center;cursor:pointer;padding:8px 0}.nx-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;position:relative;transition:height .15s}.nx-progress-container:hover .nx-progress-bar{height:6px}.nx-progress-buffered{position:absolute;top:0;left:0;height:100%;background:#ffffff4d;border-radius:2px}.nx-progress-played{position:absolute;top:0;left:0;height:100%;background:#e50914;border-radius:2px;z-index:1}.nx-progress-handle{position:absolute;top:50%;width:14px;height:14px;background:#e50914;border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s;z-index:2}.nx-progress-container:hover .nx-progress-handle{transform:translate(-50%,-50%) scale(1)}.nx-controls-row{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:4px}.nx-controls-left{display:flex;align-items:center;gap:4px}.nx-controls-right{display:flex;align-items:center;gap:8px}.nx-btn{width:44px;height:44px;border:none;background:#ffffff14;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:8px;transition:all .2s ease;flex-shrink:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.nx-btn:hover{background:#ffffff26;box-shadow:0 4px 12px #ffffff1a;transform:translateY(-2px)}.nx-btn:active{transform:scale(.92) translateY(0)}.nx-btn svg{width:24px;height:24px}.nx-volume-group{display:flex;align-items:center;gap:0}.nx-volume-slider{width:0;opacity:0;transition:width .2s,opacity .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:#ffffff4d;border-radius:2px;outline:none;cursor:pointer}.nx-volume-group:hover .nx-volume-slider{width:70px;opacity:1;margin-left:2px}.nx-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.nx-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:none;cursor:pointer}.nx-time{font-size:.9rem;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:8px}.nx-media-name{font-size:.9rem;font-weight:500;color:#fffc;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guard-page{display:flex;align-items:center;justify-content:center;background:var(--bg-primary);height:100%}.guard-card{text-align:center;padding:48px 40px;max-width:400px;width:90%}.guard-icon{font-size:3rem;margin-bottom:16px}.guard-title{font-size:1.5rem;font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,var(--accent),#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.guard-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:24px}.guard-contact{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;justify-content:center}.guard-avatar{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:50%}.guard-contact-info{display:flex;flex-direction:column;align-items:flex-start}.guard-contact-name{font-weight:600;font-size:1rem}.guard-contact-user,.guard-hint{color:var(--text-muted);font-size:.8rem}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;text-align:center;color:var(--text-secondary)}.error-state button,.empty-state button{padding:8px 20px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-family:inherit;font-weight:500;cursor:pointer;transition:opacity .15s}.error-state button:hover{opacity:.85}.empty-hint{font-size:.8rem;color:var(--text-muted)}.ios-glass{background:#14141999!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 10px 30px #00000080}.controls-wrapper.ios-pill-wrapper{background:transparent;padding:0}.nx-controls.ios-pill{width:100%;max-width:none;border-radius:0;padding:32px 32px 24px;background:linear-gradient(to top,#000000d9,#0003);border:none;border-top:1px solid rgba(255,255,255,.05)}.player-header.ios-header{background:transparent;border-bottom:none;position:absolute;top:0;left:0;right:0;z-index:10;padding:20px}.ios-badge{background:#7c5bf533!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(124,91,245,.4)!important;color:#fff!important;padding:8px 16px!important;border-radius:24px!important;font-weight:600!important;font-size:.95rem!important;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #7c5bf533}.nx-tracks-menu,.nx-experimentals-menu{background:#141419bf!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;box-shadow:0 10px 30px #00000080!important}.desync-pill{display:flex;flex-direction:column;gap:10px;padding:14px 18px;background:#141419bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(250,166,26,.4);border-radius:20px;box-shadow:0 8px 24px #00000080,0 0 0 1px #faa61a1a;animation:desync-in .3s cubic-bezier(.34,1.56,.64,1) both;max-width:300px}@keyframes desync-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.desync-pill__msg{font-size:.85rem;font-weight:600;color:#faa61a;white-space:nowrap}.desync-pill__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.desync-pill__btn{padding:6px 12px;border:none;border-radius:12px;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.desync-pill__btn:hover{opacity:.85;transform:scale(1.03)}.desync-pill__btn:active{transform:scale(.97)}.desync-pill__btn--seek{background:#7c5bf5d9;color:#fff}.desync-pill__btn--resume{background:#43b581d9;color:#fff}.desync-pill__btn--dismiss{background:#ffffff1a;color:#fff9;padding:6px 10px}
