@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--bg:#050507;--bg-alt:#0a0a0f;--bg-hover:#12121a;--surface:#0e0e14;--surface-2:#16161e;--surface-3:#1e1e28;--border:#1e1e2a;--border-lit:#2a2a3a;--text:#8e8ea0;--text-h:#ececf1;--text-dim:#52526b;--accent:#7c3aed;--accent-hover:#a78bfa;--accent-soft:#6d28d9;--accent-dim:#7c3aed1a;--accent-glow:#7c3aed59;--accent-gradient:linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%);--live:#ef4444;--live-glow:#ef444466;--success:#10b981;--warning:#f59e0b;--twitch:#9146ff;--youtube:red;--kick:#53fc18;--display:"Sora", system-ui, sans-serif;--sans:"Plus Jakarta Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 12px 40px #0009;--shadow-glow:0 0 24px var(--accent-glow);--shadow-card:0 2px 12px #0000004d, 0 0 0 1px var(--border);--glass-bg:#0e0e14bf;--glass-border:#ffffff0d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);font:16px/1.55 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s,color .3s}[data-theme=light]{--bg:#f7f8fb;--bg-alt:#fff;--bg-hover:#eef0f5;--surface:#fff;--surface-2:#f1f3f7;--surface-3:#e6e8ee;--border:#dfe1e8;--border-lit:#cdd0d9;--text:#5c5f73;--text-h:#111827;--text-dim:#9ca3b4;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-soft:#8b5cf6;--accent-dim:#7c3aed12;--accent-glow:#7c3aed2e;--accent-gradient:linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%);--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 20px #00000012;--shadow-lg:0 12px 40px #0000001a;--shadow-glow:0 0 24px var(--accent-glow);--shadow-card:0 2px 12px #0000000d, 0 0 0 1px var(--border);--glass-bg:#ffffffe0;--glass-border:#0000000f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.theme-switching,.theme-switching *,.theme-switching :before,.theme-switching :after{transition:background-color .4s,color .4s,border-color .4s,box-shadow .4s,fill .4s,stroke .4s!important}h1,h2,h3{font-family:var(--display);color:var(--text-h);letter-spacing:-.03em;font-weight:700}a{color:var(--accent-hover);text-decoration:none}a:hover{color:var(--text-h)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-lit)}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes pulse-live{0%,to{opacity:1;box-shadow:0 0 0 0 var(--live-glow)}50%{opacity:.85;box-shadow:0 0 10px 4px var(--live-glow)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 3px var(--accent-glow))}50%{filter:drop-shadow(0 0 12px var(--accent-glow))}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes float-up{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes border-glow{0%,to{border-color:var(--border)}50%{border-color:var(--accent-soft)}}@keyframes theme-switch{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(.8)}to{transform:rotate(360deg)scale(1)}}@keyframes ripple{to{opacity:0;transform:scale(4)}}@keyframes text-reveal{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes badge-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes cp-spin{to{transform:rotate(360deg)}}.app-layout{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;display:flex;overflow:hidden}.app-content{scroll-behavior:smooth;flex:1;transition:background .4s;overflow:hidden auto}.app-header{background:var(--glass-bg);border-bottom:1px solid var(--glass-border);z-index:100;-webkit-backdrop-filter:blur(20px)saturate(1.4);height:56px;animation:fade-in .3s var(--ease-out);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;transition:background .4s,border-color .4s;display:flex}.header-left{align-items:center;gap:28px;display:flex}.logo{font-family:var(--display);color:var(--text-h);letter-spacing:-.04em;transition:all .3s var(--ease-out);animation:slide-in-left .35s var(--ease-out);align-items:center;gap:10px;font-size:22px;font-weight:800;text-decoration:none;display:flex}.logo:hover{color:var(--accent-hover);transform:translate(3px)}.logo:hover .logo-icon{box-shadow:0 4px 20px var(--accent-glow);transform:scale(1.1)rotate(-5deg)}.logo-icon{color:#fff;background:var(--accent-gradient);border-radius:var(--radius-sm);width:30px;height:30px;box-shadow:0 2px 12px var(--accent-glow);transition:transform .3s var(--ease-spring), box-shadow .3s;justify-content:center;align-items:center;font-size:12px;animation:3s ease-in-out infinite glow-pulse;display:inline-flex}.header-nav{gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-dim);font-size:15px;font-weight:600;font-family:var(--display);letter-spacing:-.01em;transition:all .25s var(--ease-out);animation:fade-in .35s var(--ease-out) backwards;align-items:center;gap:8px;padding:8px 16px;text-decoration:none;display:flex;position:relative}.nav-link:first-child{animation-delay:.1s}.nav-link:nth-child(2){animation-delay:.15s}.nav-link:hover{background:var(--bg-hover);color:var(--text-h);transform:translateY(-1px)}.nav-link.active{background:var(--accent-dim);color:var(--accent-hover)}.nav-link.active:after{content:"";background:var(--accent);width:20px;height:2px;box-shadow:0 0 8px var(--accent-glow);border-radius:2px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.nav-link svg{opacity:.4;transition:opacity .2s}.nav-link:hover svg,.nav-link.active svg{opacity:1}.header-right{align-items:center;gap:12px;display:flex}.user-info{animation:slide-in-right .35s var(--ease-out);align-items:center;gap:14px;display:flex}.user-avatar{border:2px solid var(--border);width:34px;height:34px;transition:all .3s var(--ease-out);border-radius:50%}.user-avatar:hover{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow);transform:scale(1.08)}.user-name{font-family:var(--display);color:var(--text-h);font-size:15px;font-weight:600}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;width:38px;height:38px;color:var(--text);transition:all .3s var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 16px var(--accent-glow);transform:rotate(15deg)scale(1.08)}.theme-toggle:active{transform:rotate(0)scale(.92)}.theme-toggle.switching svg{animation:theme-switch .5s var(--ease-out)}.sidebar-toggle{color:var(--text);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:flex}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-h);transform:scale(1.1)}.sidebar-toggle:active{transform:scale(.95)}.logo-text{animation:slide-in-left .25s var(--ease-out)}.header-search-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:14px;font-family:var(--sans);cursor:pointer;transition:all .25s var(--ease-out);align-items:center;gap:10px;min-width:280px;max-width:400px;padding:8px 20px;display:flex}.header-search-mobile{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;transition:color .2s;display:none}.header-search-mobile:hover{color:var(--text-h)}.header-search-btn:hover{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px var(--accent-dim);transform:translateY(-1px)}.header-search-btn:active{transform:translateY(0)}.header-search-btn span{text-align:left;flex:1}.header-search-btn svg{opacity:.5;transition:opacity .2s}.header-search-btn:hover svg{opacity:1;color:var(--accent)}.sidebar{background:var(--bg-alt);border-right:1px solid var(--glass-border);width:240px;transition:width .3s var(--ease-out), background .4s ease, border-color .4s ease;flex-shrink:0;overflow:hidden}.sidebar-collapsed{border-right:none;width:0}.sidebar-inner{width:240px;height:100%;animation:slide-in-left .3s var(--ease-out);padding:8px 0;overflow-y:auto}.sidebar-divider{background:var(--border);height:1px;margin:10px 16px}.sidebar-header{font-family:var(--display);color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;align-items:center;padding:14px 16px 8px;font-size:11px;font-weight:700;transition:color .3s;display:flex}.sidebar-live-count{background:var(--live);color:#fff;animation:pop-in .3s var(--ease-spring);border-radius:10px;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700}.sidebar-list{flex-direction:column;gap:1px;display:flex}.sidebar-empty{color:var(--text-dim);padding:12px 16px;font-size:13px;font-style:italic}.sidebar-item{color:var(--text);transition:all .25s var(--ease-out);animation:slide-in-left .35s var(--ease-out) backwards;border-left:3px solid #0000;align-items:center;gap:10px;padding:7px 16px;text-decoration:none;display:flex}.sidebar-item:first-child{animation-delay:50ms}.sidebar-item:nth-child(2){animation-delay:80ms}.sidebar-item:nth-child(3){animation-delay:.11s}.sidebar-item:nth-child(4){animation-delay:.14s}.sidebar-item:nth-child(5){animation-delay:.17s}.sidebar-item:nth-child(6){animation-delay:.2s}.sidebar-item:nth-child(7){animation-delay:.23s}.sidebar-item:nth-child(n+8){animation-delay:.26s}.sidebar-item:hover{background:var(--bg-hover);border-left-color:var(--accent);transform:translate(4px)}.sidebar-item.live{border-left-color:var(--live)}.sidebar-item.live:hover{border-left-color:var(--accent)}.sidebar-avatar-wrap{flex-shrink:0;position:relative}.sidebar-avatar{object-fit:cover;border:2px solid var(--border);width:32px;height:32px;transition:all .3s var(--ease-out);border-radius:50%}.sidebar-item:hover .sidebar-avatar{border-color:var(--accent)}.sidebar-item.live .sidebar-avatar{border-color:var(--live);box-shadow:0 0 12px var(--live-glow)}.sidebar-avatar.placeholder{background:var(--surface-2);width:32px;height:32px;color:var(--text-dim);font-size:13px;font-weight:700;font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;display:flex}.sidebar-live-dot{background:var(--live);border:2px solid var(--bg-alt);border-radius:50%;width:12px;height:12px;animation:2s ease-in-out infinite pulse-live;position:absolute;bottom:0;right:0}.sidebar-info{flex:1;min-width:0}.sidebar-name{font-family:var(--display);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;transition:color .3s;display:block;overflow:hidden}.sidebar-game{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;display:block;overflow:hidden}.sidebar-offline-text{color:var(--text-dim);opacity:.4;margin-top:2px;font-size:13px}.sidebar-viewers{color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.sidebar-viewers-dot{background:var(--live);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-live}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--display);transition:all .25s var(--ease-out);letter-spacing:-.01em;border:1px solid #0000;align-items:center;gap:8px;padding:10px 22px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 2px 16px var(--accent-glow);background-size:200% 200%;border-color:#0000}.btn-primary:hover{box-shadow:0 4px 28px var(--accent-glow), 0 0 0 1px var(--accent-hover);filter:brightness(1.15);background-position:100% 0;transform:translateY(-3px)scale(1.02)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-unfollow{color:var(--live);background:0 0;border:1px solid #ef44444d}.btn-unfollow:hover{background:var(--live);color:#fff;border-color:var(--live);box-shadow:0 0 20px var(--live-glow);transform:translateY(-2px)}.btn-logout{color:var(--text-dim);background:0 0;padding:7px 12px;font-size:13px}.btn-logout:hover{color:var(--text-h);background:var(--bg-hover)}.btn-secondary{background:var(--surface-2);color:var(--text-h);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-lit);transform:translateY(-1px)}.btn-danger{background:var(--live);color:#fff;border-color:var(--live)}.btn-danger:hover{box-shadow:0 0 20px var(--live-glow);transform:translateY(-2px)}.btn-sm{padding:6px 14px;font-size:13px}.page{animation:fade-in .45s var(--ease-out);padding:28px 32px;transition:background .4s;overflow-x:hidden}.page-top{margin-bottom:24px}.page-title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-title-row h2{letter-spacing:-.04em;animation:text-reveal .4s var(--ease-out);margin:0;font-size:30px;font-weight:800;transition:color .3s}.section-header{font-family:var(--display);color:var(--text-h);border-bottom:1px solid var(--border);letter-spacing:-.02em;animation:text-reveal .5s var(--ease-out) backwards;align-items:center;gap:12px;margin:0 0 18px;padding-bottom:12px;font-size:18px;font-weight:700;transition:color .3s,border-color .3s;display:flex}.section-header.section-offline{color:var(--text-dim);margin-top:40px}.section-count{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:600}.browse-filters{animation:fade-in .3s var(--ease-out);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.browse-categories{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.browse-cat-chip{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s var(--ease-out);white-space:nowrap;font-size:13px;font-weight:500;font-family:var(--sans);border-radius:20px;align-items:center;gap:6px;padding:6px 16px;display:inline-flex}.browse-cat-chip:hover{border-color:var(--accent);transform:scale(1.04)}.browse-cat-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.browse-cat-count{opacity:.7;font-size:11px}.browse-platforms{flex-shrink:0;gap:5px;display:flex}.browse-plat-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;height:42px;transition:all .2s var(--ease-out);color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;display:flex}.browse-plat-btn:hover{border-color:var(--accent);transform:scale(1.05)}.browse-plat-btn.active{border-color:var(--accent);background:var(--accent-dim)}.browse-plat-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.browse-plat-count{color:var(--text-dim);font-size:13px;font-weight:600}.section-live-dot{background:var(--live);border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite pulse-live}.search-overlay{-webkit-backdrop-filter:blur(12px);z-index:200;opacity:0;pointer-events:none;transition:opacity .35s var(--ease-out);background:#0009;position:fixed;inset:0}.search-overlay.active{opacity:1;pointer-events:auto}.search-wrap{z-index:201;width:min(580px,100vw - 48px);transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);position:fixed;top:80px;left:50%;transform:translate(-50%)}.search-wrap.search-hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(-12px)}.search-wrap.search-expanded{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.search-icon{color:var(--text-dim);pointer-events:auto;transition:all .3s var(--ease-out);z-index:2;position:absolute;top:15px;left:16px}.search-input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text-h);font-size:16px;font-family:var(--sans);width:320px;transition:all .5s var(--ease-out);outline:none;padding:12px 18px 12px 44px}.search-input::placeholder{color:var(--text-dim);transition:color .2s}.search-wrap.search-expanded .search-input{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface-2);border-color:var(--accent);width:100%;box-shadow:0 0 0 3px var(--accent-dim), var(--shadow-lg);padding:16px 48px 16px 50px;font-size:20px}.search-wrap.search-expanded:not(:has(.search-dropdown)) .search-input{border-radius:var(--radius-lg)}.search-wrap.search-expanded .search-icon{color:var(--accent);top:17px;left:18px}.search-clear-btn{background:var(--bg-hover);color:var(--text-dim);cursor:pointer;width:24px;height:24px;transition:all .2s var(--ease-out);z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:15px;right:16px}.search-clear-btn:hover{color:var(--text-h);background:var(--border);transform:scale(1.1)}.search-dropdown{background:var(--surface-2);border:1px solid var(--accent);border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lg);max-height:400px;animation:dropdown-in .25s var(--ease-out);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-dropdown-empty{text-align:center;color:var(--text-dim);padding:24px;font-size:15px}.search-result-item{color:var(--text);transition:all .2s var(--ease-out);cursor:pointer;border-bottom:1px solid var(--border);animation:fade-in .25s var(--ease-out) backwards;align-items:center;gap:14px;padding:12px 18px;text-decoration:none;display:flex}.search-result-item:first-child{animation-delay:30ms}.search-result-item:nth-child(2){animation-delay:60ms}.search-result-item:nth-child(3){animation-delay:90ms}.search-result-item:nth-child(4){animation-delay:.12s}.search-result-item:nth-child(5){animation-delay:.15s}.search-result-item:nth-child(n+6){animation-delay:.18s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-hover);padding-left:22px}.search-result-avatar-wrap{flex-shrink:0;position:relative}.search-result-avatar{object-fit:cover;border:2px solid var(--border);border-radius:50%;width:44px;height:44px;transition:border-color .2s}.search-result-item.live .search-result-avatar{border-color:var(--live)}.search-result-avatar.placeholder{background:var(--surface);width:44px;height:44px;color:var(--text-dim);font-weight:700;font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.search-result-live-dot{background:var(--live);border:2px solid var(--surface-2);border-radius:50%;width:12px;height:12px;animation:2s ease-in-out infinite pulse-live;position:absolute;bottom:0;right:0}.search-result-info{flex:1;min-width:0}.search-result-name{font-family:var(--display);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;display:block;overflow:hidden}.search-result-detail{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:14px;display:block;overflow:hidden}.search-result-detail.offline{color:var(--text-dim);opacity:.5}.search-result-live-badge{background:var(--live);color:#fff;font-family:var(--display);letter-spacing:.5px;border-radius:6px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:700}.loading-text{text-align:center;color:var(--text-dim);padding:60px 0;font-size:16px}.loader{min-height:260px;animation:fade-in-scale .4s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:80px 0;display:flex}.loader-fullscreen{min-height:calc(100vh - 180px)}.loader-ring-wrap{place-items:center;width:64px;height:64px;display:grid;position:relative}.loader-ring{width:64px;height:64px;filter:drop-shadow(0 0 14px var(--accent-glow));animation:1.1s cubic-bezier(.5,.1,.5,1) infinite loader-spin;position:absolute;inset:0}.loader-core{background:var(--accent-gradient);width:10px;height:10px;box-shadow:0 0 16px var(--accent-glow);border-radius:50%;animation:1.6s ease-in-out infinite loader-core-pulse}@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes loader-core-pulse{0%,to{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.loader-label{font-family:var(--display);letter-spacing:3px;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:700;animation:1.6s ease-in-out infinite loader-label-pulse}@keyframes loader-label-pulse{0%,to{opacity:.4;color:var(--text-dim)}50%{opacity:1;color:var(--text-h)}}.empty-state{text-align:center;color:var(--text-dim);padding:100px 0;font-size:16px}.hint{opacity:.4;font-size:14px}.loading-skeleton{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px;display:grid}.skeleton-card{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;padding-top:56.25%;animation:1.8s ease-in-out infinite shimmer}.streamers-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px;display:grid}.card-wrapper{border-radius:var(--radius-lg);transition:all .35s var(--ease-out), background .4s ease;min-width:0;animation:fade-in-scale .5s var(--ease-out) backwards;padding:6px;overflow:hidden}.card-wrapper:first-child{animation-delay:20ms}.card-wrapper:nth-child(2){animation-delay:60ms}.card-wrapper:nth-child(3){animation-delay:.1s}.card-wrapper:nth-child(4){animation-delay:.14s}.card-wrapper:nth-child(5){animation-delay:.18s}.card-wrapper:nth-child(6){animation-delay:.22s}.card-wrapper:nth-child(7){animation-delay:.26s}.card-wrapper:nth-child(8){animation-delay:.3s}.card-wrapper:nth-child(n+9){animation-delay:.34s}.card-wrapper:hover{background:var(--surface);box-shadow:var(--shadow-md), 0 0 0 1px var(--accent-dim);transform:translateY(-6px)scale(1.01)}.streamer-card{color:inherit;border-radius:var(--radius-md);min-width:0;text-decoration:none;display:block;overflow:hidden}.tv-focusable:focus{outline:2px solid var(--accent);outline-offset:-2px}.card-thumbnail{background:var(--surface);border-radius:var(--radius-md);padding-top:56.25%;position:relative;overflow:hidden}.card-thumb-img{object-fit:cover;width:100%;max-width:100%;height:100%;transition:transform .5s var(--ease-out);position:absolute;top:0;left:0}.streamer-card:hover .card-thumb-img{transform:scale(1.06)}.card-thumb-offline{background:linear-gradient(135deg, var(--surface) 0%, var(--bg) 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.card-thumb-offline-avatar{opacity:.12;filter:grayscale(50%);border-radius:50%;width:56px;height:56px;transition:opacity .3s}.card-wrapper:hover .card-thumb-offline-avatar{opacity:.2}.card-live-badge{background:var(--live);color:#fff;font-family:var(--display);letter-spacing:.5px;animation:pulse-live 2s ease-in-out infinite, pop-in .3s var(--ease-spring) backwards;box-shadow:0 2px 8px var(--live-glow);border-radius:6px;padding:4px 12px;font-size:13px;font-weight:700;position:absolute;top:12px;left:12px}.card-viewers-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-variant-numeric:tabular-nums;animation:fade-in .3s var(--ease-out) .1s backwards;background:#000000d9;border-radius:6px;padding:4px 12px;font-size:14px;font-weight:600;position:absolute;bottom:12px;left:12px}.card-play-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;opacity:0;width:44px;height:44px;transition:all .25s var(--ease-spring);pointer-events:none;background:#0009;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:12px;right:12px;transform:scale(.8)}.card-wrapper:hover .card-play-btn{opacity:1;transform:scale(1)}.card-thumb-platform{width:26px;height:26px;animation:pop-in .3s var(--ease-spring) .1s backwards;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.card-thumb-platform.twitch{background:var(--twitch);color:#fff}.card-thumb-platform.youtube{background:var(--youtube);color:#fff}.card-thumb-platform.kick{background:var(--kick);color:#000}.card-body{align-items:flex-start;gap:14px;padding:12px 4px 4px;display:flex}.card-avatar-link{flex-shrink:0}.card-avatar{object-fit:cover;border:2px solid var(--border);width:44px;height:44px;transition:all .3s var(--ease-out);border-radius:50%}.card-wrapper:hover .card-avatar{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.card-avatar.placeholder{background:var(--surface-2);width:44px;height:44px;color:var(--text-dim);font-weight:700;font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.card-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.card-title-link{font-family:var(--display);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;text-decoration:none;transition:color .2s;overflow:hidden}.card-title-link:hover{color:var(--accent-hover)}.card-channel{color:var(--text);font-size:15px;transition:color .3s}.card-category{color:var(--text-dim);font-size:14px;transition:color .3s}.card-platform{font-family:var(--display);text-transform:uppercase;letter-spacing:.4px;width:fit-content;transition:transform .2s var(--ease-spring);border-radius:4px;align-items:center;margin-top:3px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.card-wrapper:hover .card-platform{transform:translate(2px)}.card-platform.twitch{background:var(--twitch);color:#fff}.card-platform.youtube{background:var(--youtube);color:#fff}.card-platform.kick{background:var(--kick);color:#000}.card-follow-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-dim);cursor:pointer;transition:all .25s var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;font-size:18px;display:flex}.card-follow-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-glow);transform:scale(1.2)rotate(90deg)}.card-follow-btn.following{color:var(--accent);border-color:var(--accent-dim)}.card-follow-btn.following:hover{background:var(--live);border-color:var(--live);color:#fff;box-shadow:0 0 20px var(--live-glow);transform:scale(1.15)rotate(0)}.stream-page-layout{flex-direction:column;height:100%;display:flex}.stream-player-area{background:#000;flex:1;min-height:0;display:flex;position:relative}.stream-player-container{flex:1;min-width:0;position:relative}.stream-chat-wrap{background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;width:340px;display:flex}.stream-chat-iframe{border:none;width:100%;height:100%}.kick-chat{background:var(--surface);height:100%;color:var(--text);flex-direction:column;font-size:14px;display:flex}.kick-chat-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.kick-chat-title{font-family:var(--display);color:var(--text-h);font-size:15px;font-weight:700}.kick-chat-count{color:var(--text-dim);background:var(--surface-2);border-radius:10px;padding:2px 8px;font-size:12px}.kick-chat-messages{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex;overflow-y:auto}.kick-chat-empty{color:var(--text-dim);text-align:center;padding:40px 0;font-size:13px}.kick-chat-msg{word-break:break-word;animation:kick-msg-in .15s var(--ease-out);align-items:baseline;gap:6px;padding:2px 0;line-height:1.4;display:flex}@keyframes kick-msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.kick-chat-badges{flex-shrink:0;gap:3px;display:inline-flex}.kick-chat-badge{vertical-align:middle;width:18px;height:18px}.kick-chat-user{white-space:nowrap;flex-shrink:0;font-weight:700}.kick-chat-user:after{content:":";color:var(--text-dim)}.kick-chat-text{color:var(--text)}.stream-player-container .player-wrapper{width:100%;height:100%;padding-top:0;position:absolute;top:0;left:0}.player-wrapper{padding-top:56.25%;position:relative}.player-wrapper iframe,.player-wrapper .hls-player{background:#000;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.custom-player{cursor:pointer;isolation:isolate;background:#000;outline:none;position:absolute;inset:0;overflow:hidden}.custom-player-video{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.youtube-host{z-index:1;width:100%;height:100%;position:absolute;inset:0}.youtube-host iframe{pointer-events:none;border:0;width:100%;height:100%}.custom-player .custom-player-center{z-index:12}.custom-player .custom-player-bar{z-index:22}.custom-player-center{z-index:10;pointer-events:none;animation:cp-center-in .35s var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.custom-player-center>*{pointer-events:auto}@keyframes cp-center-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.custom-player-play-btn{color:#fff;filter:drop-shadow(0 8px 32px #000000e6)drop-shadow(0 0 24px #7c3aed59);opacity:.92;transition:all .45s var(--ease-spring);cursor:pointer}.custom-player-play-btn:hover{opacity:1;filter:drop-shadow(0 10px 40px #000000f2) drop-shadow(0 0 40px var(--accent-glow));transform:scale(1.2)}.custom-player-play-btn:active{transform:scale(1.05)}.custom-player-spinner{border:3px solid #ffffff14;border-top-color:var(--accent);border-right-color:var(--accent-hover);width:58px;height:58px;filter:drop-shadow(0 0 18px var(--accent-glow));border-radius:50%;animation:.9s cubic-bezier(.5,.1,.5,1) infinite cp-spin}.custom-player-error{color:#ffffffb3;-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s var(--ease-out);background:#0000008c;border:1px solid #ffffff0f;flex-direction:column;align-items:center;gap:14px;padding:28px 36px;display:flex}.custom-player-error:hover{color:#fff;box-shadow:0 0 30px var(--accent-glow);border-color:#7c3aed66;transform:translateY(-2px)}.custom-player-error span{font-size:14px;font-family:var(--display);letter-spacing:.5px;font-weight:600}.custom-player-bar{opacity:0;transition:opacity .4s var(--ease-out), transform .4s var(--ease-out);z-index:20;pointer-events:none;background:linear-gradient(#0000 0%,#00000073 40%,#000000eb 100%);align-items:center;gap:6px;padding:22px 22px 16px;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.custom-player-bar:before{content:"";opacity:0;height:1px;transition:opacity .5s var(--ease-out) .1s;background:linear-gradient(90deg,#0000 0%,#ffffff14 20%,#7c3aed4d 50%,#ffffff14 80%,#0000 100%);position:absolute;top:16px;left:0;right:0}.custom-player.show-controls .custom-player-bar,.custom-player:hover .custom-player-bar{opacity:1;pointer-events:auto;transform:translateY(0)}.custom-player.show-controls .custom-player-bar:before,.custom-player:hover .custom-player-bar:before{opacity:1}.cp-btn{color:#ffffffd9;cursor:pointer;transition:background .2s var(--ease-out), color .2s var(--ease-out), transform .25s var(--ease-spring);font-family:var(--sans);background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;padding:9px;font-size:14px;display:flex;position:relative}.cp-btn svg{transition:transform .25s var(--ease-spring)}.cp-btn:hover{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.cp-btn:hover svg{transform:scale(1.1)}.cp-btn:active{transform:translateY(0)scale(.94)}.cp-spacer{flex:1}.cp-volume-group{transition:background .3s var(--ease-out), padding .35s var(--ease-spring);border-radius:22px;align-items:center;padding-right:0;display:flex}.cp-volume-group:hover,.cp-volume-group:focus-within{background:#ffffff0d;padding-right:14px}.cp-volume-slider{opacity:0;appearance:none;background:linear-gradient(to right, var(--accent-hover) 0%, var(--accent-hover) var(--vol,100%), #fff3 var(--vol,100%), #fff3 100%);cursor:pointer;width:0;height:4px;transition:width .4s var(--ease-spring), opacity .3s var(--ease-out), margin-left .4s var(--ease-spring);border-radius:2px;outline:none;margin-left:0}.cp-volume-group:hover .cp-volume-slider,.cp-volume-group:focus-within .cp-volume-slider{opacity:1;width:90px;margin-left:6px}.cp-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;width:13px;height:13px;box-shadow:0 2px 8px #00000080, 0 0 0 0 var(--accent-glow);transition:all .2s var(--ease-spring);background:#fff;border:none;border-radius:50%}.cp-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.25);box-shadow:0 2px 8px #00000080,0 0 0 6px #7c3aed40}.cp-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:13px;height:13px}.cp-live-badge{background:var(--live);color:#fff;font-size:10px;font-weight:800;font-family:var(--display);letter-spacing:1.2px;text-transform:uppercase;transition:all .25s var(--ease-out);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:6px 11px 6px 10px;display:inline-flex;box-shadow:0 2px 14px #ef444459}.cp-live-badge:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite cp-live-dot;box-shadow:0 0 8px #fffc}@keyframes cp-live-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.cp-live-badge.behind{background:var(--warning);cursor:pointer;animation:1.3s ease-in-out infinite pulse-behind;box-shadow:0 2px 14px #f59e0b8c}.cp-live-badge.behind:before{animation:none}.cp-live-badge.behind:hover{filter:brightness(1.2);transform:translateY(-1px)scale(1.05)}@keyframes pulse-behind{0%,to{opacity:1}50%{opacity:.65}}.cp-quality-wrap{position:relative}.cp-quality-btn{padding:9px 11px;font-size:13px}.cp-quality-label{opacity:.9;letter-spacing:.3px;font-size:12px;font-weight:600}.cp-quality-menu{-webkit-backdrop-filter:blur(24px)saturate(1.5);border-radius:var(--radius-md);z-index:30;min-width:180px;animation:dropdown-in .22s var(--ease-spring);background:#0c0c12eb;border:1px solid #ffffff0f;padding:8px;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 12px 40px #0000008c,0 0 0 1px #ffffff08,0 0 40px #7c3aed1f}.cp-quality-option{color:#ffffffa6;width:100%;font-size:14px;font-family:var(--sans);cursor:pointer;transition:all .15s var(--ease-out);text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-weight:500;display:flex}.cp-quality-option:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.cp-quality-option.active{color:var(--accent-hover);background:#7c3aed1a;font-weight:700}.cp-quality-option.active:after{content:"●";color:var(--accent-hover);font-size:10px}.cp-quality-bitrate{opacity:.45;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.custom-player.is-fullscreen{cursor:none}.custom-player.is-fullscreen.show-controls{cursor:pointer}@media (width<=640px){.custom-player-bar{gap:2px;padding:16px 14px 12px}.cp-btn{padding:8px}.cp-quality-label{display:none}}.stream-offline-area{background:var(--bg);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.stream-offline-banner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.offline-banner-gradient{background:radial-gradient(ellipse 80% 50% at 50% 0%, var(--accent-alpha,#7c3aed40) 0%, transparent 60%), radial-gradient(ellipse 60% 40% at 30% 20%, #ec48991f 0%, transparent 50%), radial-gradient(ellipse 50% 35% at 70% 15%, #3b82f61a 0%, transparent 50%), linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%);animation:8s ease-in-out infinite alternate banner-shimmer;position:absolute;inset:0}@keyframes banner-shimmer{0%{opacity:.8}50%{opacity:1}to{opacity:.85}}.offline-banner-content{z-index:1;text-align:center;animation:slide-up .6s var(--ease-out);padding:40px 20px;position:relative}.offline-avatar-wrap{background:linear-gradient(135deg, var(--accent), #ec4899, #3b82f6);width:120px;height:120px;animation:pop-in .5s var(--ease-spring) .15s backwards;border-radius:50%;margin:0 auto 20px;padding:4px}.offline-avatar{object-fit:cover;border:3px solid var(--bg);border-radius:50%;width:100%;height:100%}.offline-avatar.placeholder{border:3px solid var(--bg);background:var(--surface-2);width:100%;height:100%;font-size:42px;font-weight:800;font-family:var(--display);color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;display:flex}.offline-name{font-size:36px;font-weight:800;font-family:var(--display);letter-spacing:-.03em;animation:slide-up .5s var(--ease-out) .1s backwards;margin:0 0 14px}.offline-platforms{animation:slide-up .5s var(--ease-out) .15s backwards;justify-content:center;gap:8px;margin-bottom:20px;display:flex}.offline-plat-badge{border-radius:var(--radius-xl);letter-spacing:.02em;padding:5px 14px;font-size:13px;font-weight:600}.offline-plat-badge.twitch{color:#bf94ff;background:#9146ff26;border:1px solid #9146ff40}.offline-plat-badge.youtube{color:#ff6b6b;background:#ff00001f;border:1px solid #f003}.offline-plat-badge.kick{color:#53fc18;background:#53fc181f;border:1px solid #53fc1833}.offline-stats{animation:slide-up .5s var(--ease-out) .2s backwards;justify-content:center;gap:32px;margin-bottom:20px;display:flex}.offline-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.offline-stat-value{font-size:28px;font-weight:800;font-family:var(--display);color:var(--text-h);letter-spacing:-.02em}.offline-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:13px}.offline-hint{color:var(--text-dim);animation:slide-up .5s var(--ease-out) .25s backwards;margin:0 0 24px;font-size:16px}.btn-glow{animation:slide-up .5s var(--ease-out) .3s backwards;box-shadow:0 0 20px #7c3aed4d,0 0 40px #7c3aed26}.btn-glow:hover{box-shadow:0 0 30px #7c3aed80,0 0 60px #7c3aed40}.stream-bottom-bar{background:var(--glass-bg);border-top:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:slide-up .45s var(--ease-out) .1s backwards;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:14px 24px;transition:background .4s,border-color .4s;display:flex}.stream-bottom-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.back-link{color:var(--text-dim);border-radius:var(--radius-sm);transition:all .2s var(--ease-out);align-items:center;padding:8px 12px;font-size:20px;text-decoration:none;display:flex}.back-link:hover{background:var(--bg-hover);color:var(--text-h);transform:translate(-5px)}.back-link:active{transform:translate(-2px)scale(.95)}.stream-avatar-wrap{flex-shrink:0;position:relative}.stream-bar-avatar{object-fit:cover;border:2px solid var(--border);border-radius:50%;width:42px;height:42px}.stream-bar-avatar.placeholder{background:var(--surface-2);width:42px;height:42px;color:var(--text-dim);font-weight:700;font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;display:flex}.stream-bar-live-dot{background:var(--live);border:2px solid var(--bg-alt);border-radius:50%;width:12px;height:12px;animation:2s ease-in-out infinite pulse-live;position:absolute;bottom:0;right:0}.stream-bar-info{min-width:0}.stream-bar-name{font-family:var(--display);color:var(--text-h);letter-spacing:-.02em;font-size:18px;font-weight:700;transition:color .3s;display:block}.stream-bar-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:480px;margin-top:1px;font-size:15px;display:block;overflow:hidden}.stream-bar-tag{border-radius:var(--radius-xl);background:var(--surface-2);border:1px solid var(--border);color:var(--text);white-space:nowrap;flex-shrink:0;padding:5px 14px;font-size:14px;font-weight:500;transition:all .2s}.stream-bar-tag:hover{border-color:var(--accent-dim);background:var(--surface-3)}.stream-bottom-right{flex-shrink:0;align-items:center;gap:14px;display:flex}.stream-viewer-count{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;font-family:var(--display);animation:pop-in .35s var(--ease-spring) .2s backwards;align-items:center;gap:8px;transition:color .3s;display:flex}.viewer-dot{background:var(--live);border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite pulse-live}.stream-loading{height:100%;min-height:calc(100vh - 120px);color:var(--text-dim);font-size:17px;font-family:var(--display);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.stream-not-found{height:100%;min-height:calc(100vh - 120px);color:var(--text-dim);font-size:17px;font-family:var(--display);letter-spacing:.5px;justify-content:center;align-items:center;display:flex}.live-badge{background:var(--live);color:#fff;font-family:var(--display);letter-spacing:.4px;border-radius:5px;padding:3px 10px;font-size:11px;font-weight:700;animation:2s ease-in-out infinite pulse-live}.provider-tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.4px;border-radius:5px;padding:3px 10px;font-size:11px;font-weight:700}.provider-tag.twitch{background:var(--twitch);color:#fff}.provider-tag.google{color:#fff;background:#4285f4}.platform-switcher{border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;overflow:hidden}.toggle-btn{background:var(--surface);color:var(--text-dim);cursor:pointer;font-size:15px;font-family:var(--display);text-transform:capitalize;transition:all .25s var(--ease-out);letter-spacing:-.01em;border:none;padding:8px 18px;font-weight:600}.toggle-btn:hover{color:var(--text-h);background:var(--bg-hover);transform:translateY(-1px)}.toggle-btn.active.twitch{background:var(--twitch);color:#fff}.toggle-btn.active.youtube{background:var(--youtube);color:#fff}.toggle-btn.active.kick{background:var(--kick);color:#000}.add-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);animation:fade-in-scale .3s var(--ease-out);flex-direction:column;gap:16px;margin-bottom:24px;padding:24px;transition:background .4s,border-color .3s;display:flex}.form-field label{font-family:var(--display);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.form-field input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font-size:15px;font-family:var(--sans);transition:all .25s var(--ease-out);padding:11px 14px}.form-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none;transform:translateY(-1px)}.form-field input::placeholder{color:var(--text-dim)}.error-msg{color:var(--live);font-size:14px;font-weight:500}.admin-tabs{border-radius:var(--radius-sm);border:1px solid var(--border);width:fit-content;animation:fade-in .35s var(--ease-out);margin-bottom:24px;transition:border-color .3s;display:flex;overflow:hidden}.admin-actions{margin-bottom:20px}.admin-table{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);animation:fade-in-scale .4s var(--ease-out);transition:background .4s,border-color .4s;overflow-x:auto}.admin-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr 1fr 80px 180px;align-items:center;gap:14px;padding:12px 20px;font-size:15px;transition:background .15s;display:grid}.admin-row:last-child{border-bottom:none}.admin-row:not(.admin-header-row):hover{background:var(--bg-hover)}.admin-row-users{grid-template-columns:2fr 1fr 1.5fr 150px 90px}.admin-header-row{background:var(--bg-alt);font-family:var(--display);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.admin-name{color:var(--text-h);font-weight:600;font-family:var(--display);align-items:center;gap:10px;display:flex}.admin-mini-avatar{border:1px solid var(--border);border-radius:50%;width:28px;height:28px}.admin-cell{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-btn-group{gap:8px;display:flex}.admin-edit-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font-size:14px;font-family:var(--sans);border-radius:6px;padding:7px 10px;transition:border-color .2s}.admin-edit-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);outline:none}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:24px;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:600px;height:600px;transition:background .4s;animation:4s ease-in-out infinite glow-pulse;position:absolute;top:25%;left:50%;transform:translate(-50%,-50%)}.login-card{text-align:center;z-index:1;width:100%;max-width:420px;animation:slide-up .6s var(--ease-out);position:relative}.login-buttons>*{animation:fade-in .4s var(--ease-out) backwards}.login-buttons>:first-child{animation-delay:.15s}.login-buttons>:nth-child(2){animation-delay:.25s}.login-buttons>:nth-child(3){animation-delay:.35s}.login-buttons>:nth-child(4){animation-delay:.45s}.login-buttons>:nth-child(5){animation-delay:.55s}.login-card h1{letter-spacing:-.05em;background:linear-gradient(135deg, var(--text-h) 0%, var(--accent-hover) 50%, var(--accent) 100%);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:52px;font-weight:800;animation:5s infinite gradient-shift}.login-subtitle{color:var(--text-dim);animation:text-reveal .5s var(--ease-out) .15s backwards;margin-bottom:40px;font-size:18px;transition:color .3s}.login-buttons{flex-direction:column;align-items:center;gap:16px;display:flex}.btn-login{border-radius:var(--radius-md);justify-content:center;width:340px;padding:16px 24px;font-size:17px}.btn-login svg{flex-shrink:0}.btn-twitch{background:var(--twitch);color:#fff;border-color:var(--twitch)}.btn-twitch:hover{background:#7c2ff0;border-color:#7c2ff0;transform:translateY(-3px)scale(1.02);box-shadow:0 4px 28px #9146ff66}.btn-twitch:active{transform:translateY(0)scale(.98)}.google-btn-wrapper{justify-content:center;display:flex}.callback-loading,.callback-error{height:50vh;font-size:17px;font-family:var(--display);justify-content:center;align-items:center;display:flex}.callback-error{color:var(--live)}.share-code{font-family:var(--mono);color:var(--accent-hover);background:var(--accent-dim);border-radius:var(--radius-sm);letter-spacing:4px;-webkit-user-select:all;user-select:all;animation:fade-in-scale .3s var(--ease-out);box-shadow:0 0 16px var(--accent-glow);padding:5px 14px;font-size:20px;font-weight:700}.login-divider{width:100%;max-width:340px;color:var(--text-dim);align-items:center;gap:14px;font-size:14px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.code-login-form{width:100%;max-width:340px}.code-hint{color:var(--text-dim);margin:0 0 14px;font-size:14px;line-height:1.55}.code-input-row{gap:10px;display:flex}.code-input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text-h);font-family:var(--mono);letter-spacing:8px;text-align:center;transition:all .3s var(--ease-out);outline:none;flex:1;padding:12px 16px;font-size:22px;font-weight:700}.code-input::placeholder{color:var(--text-dim);letter-spacing:8px;opacity:.3}.code-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim), 0 0 20px var(--accent-glow);transform:translateY(-2px)}@media (width<=768px){.sidebar,.sidebar-toggle{display:none}.logo-text{display:inline!important}.page{padding:16px 12px}.app-header{height:50px;padding:0 12px}.header-left{gap:10px}.header-right{gap:8px}.logo{font-size:18px}.logo-icon{width:24px;height:24px;font-size:10px}.header-nav{gap:0}.nav-link{gap:4px;padding:7px 8px;font-size:13px}.nav-link svg{width:14px;height:14px}.nav-link.active:after{width:16px;bottom:-7px}.user-avatar{width:30px;height:30px}.user-name{display:none}.btn-logout{padding:5px 8px;font-size:12px}.user-info .btn-secondary{display:none}.share-code{letter-spacing:3px;padding:3px 10px;font-size:16px}.notif-btn{padding:6px}.notif-dropdown{width:calc(100vw - 24px);max-height:70vh;right:-60px}.hero-section{max-width:100%;margin-bottom:16px}.hero-section .hero-player-wrap{border-radius:var(--radius-md)}.hero-info{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 2px}.hero-info-right{gap:8px}.hero-channel-avatar{width:36px;height:36px}.hero-channel-name{font-size:14px}.hero-stream-title{font-size:12px}.hero-channel-game,.header-search-desktop{display:none}.header-search-mobile{display:flex}.search-wrap{width:calc(100vw - 24px);top:56px;left:12px;transform:none}.search-wrap.search-hidden{transform:translateY(-12px)}.search-wrap.search-expanded{transform:translateY(0)}.search-input{width:100%;font-size:16px}.search-dropdown{max-height:60vh}.btn-logout{display:none}.browse-filters{flex-direction:column;gap:8px}.browse-categories{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:5px;padding-bottom:2px;overflow-x:auto}.browse-categories::-webkit-scrollbar{display:none}.browse-cat-chip{white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:12px}.browse-platforms{gap:4px}.browse-plat-btn{height:32px;padding:0 8px;font-size:12px}.browse-plat-icon svg{width:14px;height:14px}.section-header{margin-bottom:12px;font-size:16px}.section-header.section-offline{margin-top:24px}.page-title-row{flex-direction:column;align-items:stretch;gap:12px}.page-title-row h2{font-size:22px}.streamers-grid{grid-template-columns:repeat(2,1fr);gap:8px}.card-wrapper{padding:0;animation-delay:0s!important}.card-wrapper:hover{box-shadow:none;background:0 0;transform:none}.card-thumbnail{border-radius:var(--radius-sm)}.card-body{gap:8px;padding:8px 2px 4px}.card-avatar{width:28px;height:28px}.card-avatar.placeholder{width:28px;height:28px;font-size:11px}.card-title-link{-webkit-line-clamp:2;font-size:12px}.card-channel,.card-category{font-size:11px}.card-live-badge{padding:2px 5px;font-size:9px;top:6px;left:6px}.card-viewers-badge{padding:2px 5px;font-size:9px;bottom:6px;left:6px}.card-thumb-platform{border-radius:4px;width:20px;height:20px;top:6px;right:6px}.card-thumb-platform svg{width:11px;height:11px}.card-play-btn{display:none}.card-follow-btn{width:28px;height:28px;font-size:16px}.stream-player-area{flex:none;height:0;padding-top:56.25%;display:block;position:relative}.stream-player-container{position:absolute;inset:0}.stream-chat-wrap{display:none}.stream-bottom-bar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.stream-bottom-left{gap:10px}.stream-bottom-right{flex-wrap:wrap;justify-content:flex-start;gap:8px}.back-link{padding:6px 8px;font-size:18px}.stream-bar-avatar,.stream-bar-avatar.placeholder{width:36px;height:36px}.stream-bar-name{font-size:15px}.stream-bar-title{max-width:55vw;font-size:13px}.stream-bar-tag{padding:3px 8px;font-size:11px}.stream-viewer-count{font-size:13px}.offline-avatar-wrap{width:80px;height:80px}.offline-name{font-size:22px}.offline-stat-value{font-size:20px}.offline-hint{font-size:13px}.profile-banner-bg{height:100px}.profile-info{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-top:-40px}.profile-avatar-wrap{width:80px;height:80px}.profile-name{font-size:22px}.profile-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{white-space:nowrap;padding:10px 14px;font-size:13px}.profile-live-grid{grid-template-columns:1fr}.profile-unfollow-btn{opacity:1}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-search-wrap{min-width:0}.admin-search-input{font-size:16px}.admin-filters{width:100%}.admin-filters select{flex:1;font-size:14px}.admin-hero-section{padding:12px 14px}.admin-hero-list{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.admin-hero-list::-webkit-scrollbar{display:none}.admin-hero-chip{flex-shrink:0}.admin-row{grid-template-columns:1fr;gap:6px;padding:12px 14px;font-size:14px}.admin-row-users{grid-template-columns:1fr}.admin-header-row{display:none}.admin-name{font-size:15px}.admin-btn-group{flex-wrap:wrap;justify-content:flex-start;gap:6px}.admin-cell{white-space:normal}.admin-edit-input{font-size:16px}.admin-pagination button{padding:10px 20px}.login-card h1{font-size:36px}.login-subtitle{margin-bottom:24px;font-size:15px}.btn-login{width:100%;max-width:320px}.login-page:before{width:300px;height:300px}.btn{padding:10px 16px;font-size:14px}.btn-sm{padding:7px 12px;font-size:13px}.platform-switcher{flex:1}.toggle-btn{text-align:center;flex:1;padding:7px 12px;font-size:14px}}@media (width<=380px){.page{padding:10px 8px}.app-header{padding:0 8px}.logo{font-size:16px}.logo-icon{width:22px;height:22px}.nav-link{padding:6px;font-size:12px}.streamers-grid{gap:6px}.card-body{gap:6px;padding:6px 1px 2px}.card-avatar{width:24px;height:24px}.card-avatar.placeholder{width:24px;height:24px;font-size:10px}.card-title-link{font-size:11px}.card-channel{font-size:10px}.card-follow-btn{width:24px;height:24px;font-size:14px}.hero-channel-avatar{width:32px;height:32px}.stream-bar-title{max-width:40vw}.btn-login{padding:14px 16px}.login-card h1{font-size:30px}}@media (width>=1600px){.streamers-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}@media (pointer:coarse) and (width>=769px){.btn{padding:12px 20px;font-size:16px}.nav-link{padding:10px 18px;font-size:16px}.sidebar-item{padding:12px 18px}.toggle-btn{padding:10px 18px}.card-follow-btn{width:40px;height:40px;font-size:22px}.search-input{padding:12px 16px 12px 44px;font-size:17px}.stream-bottom-bar{padding:18px 28px}}@media (width>=1920px) and (pointer:coarse){.streamers-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:18px}.card-body{padding:14px 4px}.card-avatar{width:48px;height:48px}.card-title-link{font-size:17px}.sidebar,.sidebar-inner{width:280px}.sidebar-avatar{width:36px;height:36px}.sidebar-name{font-size:15px}}.notif-wrap{position:relative}.notif-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;width:38px;height:38px;transition:all .2s var(--ease-out);background:0 0;justify-content:center;align-items:center;display:flex;position:relative}.notif-btn:hover{background:var(--bg-hover);color:var(--text-h);border-color:var(--border-lit)}.notif-btn.has-notifs{color:var(--accent)}.notif-badge{background:var(--live);color:#fff;min-width:18px;height:18px;animation:pop-in .3s var(--ease-spring);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.notif-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:340px;max-height:420px;box-shadow:var(--shadow-lg);z-index:1000;animation:slide-up .25s var(--ease-out);position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.notif-dropdown-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 16px;font-size:13px;font-weight:700;display:flex}.notif-dropdown-count{background:var(--live);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px}.notif-empty{text-align:center;color:var(--text-dim);padding:32px 16px;font-size:14px}.notif-item{color:var(--text);align-items:center;gap:12px;padding:10px 16px;text-decoration:none;transition:background .15s;display:flex}.notif-item:hover{background:var(--bg-hover);color:var(--text)}.notif-item-avatar-wrap{flex-shrink:0;position:relative}.notif-item-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px}.notif-item-avatar.placeholder{background:var(--surface-2);width:36px;height:36px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.notif-item-live-dot{background:var(--live);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.notif-item-info{flex:1;min-width:0}.notif-item-name{color:var(--text-h);font-size:14px;font-weight:600;display:block}.notif-item-detail{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.notif-item-platform{background:var(--surface-2);width:24px;height:24px;color:var(--text-dim);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.hero-section{max-width:900px;animation:fade-in-up .5s var(--ease-out);margin:0 auto 28px}.hero-section .hero-player-wrap{border-radius:var(--radius-lg);background:#000;width:100%;padding-bottom:56.25%;position:relative;overflow:hidden}.hero-info{color:var(--text);justify-content:space-between;align-items:center;gap:16px;padding:14px 4px;text-decoration:none;transition:opacity .2s;display:flex}.hero-info:hover{opacity:.8}.hero-info-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.hero-channel-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:42px;height:42px}.hero-channel-avatar.placeholder{background:var(--surface-2);color:var(--text-dim);justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.hero-info-text{flex-direction:column;gap:2px;min-width:0;display:flex}.hero-channel-name{color:var(--text-h);font-size:15px;font-weight:700}.hero-stream-title{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.hero-info-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.hero-live-badge{background:var(--live);color:#fff;border-radius:var(--radius-sm);letter-spacing:.05em;padding:3px 10px;font-size:11px;font-weight:700;animation:2s ease-in-out infinite pulse-live}.hero-viewers{color:var(--text-dim);font-size:13px;font-weight:500}.hero-platform{border-radius:var(--radius-sm);padding:3px 10px;font-size:12px;font-weight:600}.hero-platform.twitch{color:#bf94ff;background:#9146ff4d}.hero-platform.youtube{color:#ff6b6b;background:#ff000040}.hero-platform.kick{color:#53fc18;background:#53fc1840}.hero-channel-game{color:var(--text-dim);border-left:1px solid var(--border);padding-left:10px;font-size:13px}.admin-hero-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:20px;padding:16px 20px}.admin-hero-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-hero-label{color:var(--text-h);text-transform:uppercase;letter-spacing:.05em;font-size:14px;font-weight:700}.admin-hero-auto{color:var(--text-dim);font-size:13px}.admin-hero-list{flex-wrap:wrap;gap:8px;display:flex}.admin-hero-chip{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;font:inherit;color:var(--text);transition:all .2s var(--ease-out);align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;display:flex}.admin-hero-chip:hover{border-color:var(--accent);background:var(--accent-dim)}.admin-hero-chip.active{border-color:var(--accent);background:var(--accent);color:#fff}.admin-hero-chip-avatar{border-radius:50%;width:22px;height:22px}.admin-hero-chip-viewers{opacity:.6;font-size:11px}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-search-wrap{flex:1;min-width:200px;position:relative}.admin-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.admin-search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);outline:none;padding:9px 36px;font-size:14px;transition:border-color .2s}.admin-search-input:focus{border-color:var(--accent)}.admin-search-input::placeholder{color:var(--text-dim)}.admin-search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.admin-filters{gap:8px;display:flex}.admin-filters select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;outline:none;padding:9px 12px;font-size:13px}.admin-filters select:focus{border-color:var(--accent)}.admin-stats{color:var(--text-dim);margin-bottom:12px;padding:0 2px;font-size:13px}.admin-pagination{justify-content:center;align-items:center;gap:16px;margin-top:16px;padding:12px 0;display:flex}.admin-pagination button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;padding:8px 16px;font-size:14px;transition:all .2s}.admin-pagination button:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent)}.admin-pagination button:disabled{opacity:.3;cursor:default}.admin-pagination span{color:var(--text-dim);font-size:14px}.btn-hero{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;padding:4px 8px;font-size:16px;line-height:1;transition:all .2s}.btn-hero:hover{color:#f5c518;border-color:#f5c518}.btn-accent{color:#000;cursor:pointer;border-radius:var(--radius-sm);background:#f5c518;border:1px solid #f5c518;padding:4px 8px;font-size:16px;line-height:1}.browse-popular-cats{margin-bottom:28px}.popular-cats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.popular-cat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .25s var(--ease-out);animation:fade-in-up .4s var(--ease-out) backwards;text-align:left;color:inherit;font:inherit;padding:0;overflow:hidden}.popular-cat-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.popular-cat-thumb{aspect-ratio:16/9;position:relative;overflow:hidden}.popular-cat-thumb img{object-fit:cover;filter:brightness(.7)saturate(1.2);width:100%;height:100%;transition:filter .3s}.popular-cat-card:hover .popular-cat-thumb img{filter:brightness(.8)saturate(1.3)}.popular-cat-thumb-placeholder{background:linear-gradient(135deg, var(--surface-2), var(--surface-3));width:100%;height:100%}.popular-cat-overlay{pointer-events:none;background:linear-gradient(#0000 40%,#0009 100%);position:absolute;inset:0}.popular-cat-info{padding:10px 12px}.popular-cat-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;display:block;overflow:hidden}.popular-cat-meta{color:var(--text-dim);margin-top:2px;font-size:12px;display:block}.profile-page{max-width:900px;margin:0 auto}.profile-header{border-radius:var(--radius-lg);margin-bottom:0;position:relative;overflow:hidden}.profile-banner-bg{background:radial-gradient(ellipse 80% 60% at 50% 0%, var(--accent-alpha,#7c3aed4d) 0%, transparent 60%), radial-gradient(ellipse 50% 40% at 80% 30%, #ec489926 0%, transparent 50%), linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%);height:160px;animation:8s ease-in-out infinite alternate banner-shimmer}.profile-info{z-index:1;align-items:flex-end;gap:20px;margin-top:-50px;padding:0 24px 20px;display:flex;position:relative}.profile-avatar-wrap{background:linear-gradient(135deg, var(--accent), #ec4899, #3b82f6);width:100px;height:100px;animation:pop-in .5s var(--ease-spring) .1s backwards;border-radius:50%;flex-shrink:0;padding:3px}.profile-avatar{object-fit:cover;border:3px solid var(--bg);border-radius:50%;width:100%;height:100%}.profile-avatar.placeholder{border:3px solid var(--bg);background:var(--surface-2);width:100%;height:100%;font-size:36px;font-weight:800;font-family:var(--display);color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;display:flex}.profile-meta{padding-bottom:4px}.profile-name{font-size:28px;font-weight:800;font-family:var(--display);letter-spacing:-.03em;animation:slide-up .4s var(--ease-out) .15s backwards;margin:0 0 4px}.profile-stats-row{animation:slide-up .4s var(--ease-out) .2s backwards;gap:16px;display:flex}.profile-stat{color:var(--text-dim);font-size:14px}.profile-stat strong{color:var(--text-h);font-weight:700}.profile-tabs{border-bottom:1px solid var(--border);gap:4px;margin:20px 0 0;padding:0 8px;display:flex}.profile-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:12px 18px;font-size:14px;font-weight:600;transition:color .2s;display:flex;position:relative}.profile-tab:hover{color:var(--text-h)}.profile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.profile-tab-icon{font-size:12px}.profile-tab-count{background:var(--surface-2);color:var(--text-dim);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.profile-tab.active .profile-tab-count{background:var(--accent-dim);color:var(--accent)}.profile-content{padding:20px 0}.profile-follow-list{flex-direction:column;gap:2px;display:flex}.profile-follow-item{border-radius:var(--radius-sm);animation:fade-in-up .35s var(--ease-out) backwards;align-items:center;transition:background .15s;display:flex}.profile-follow-item:hover{background:var(--bg-hover)}.profile-follow-link{color:var(--text);flex:1;align-items:center;gap:12px;min-width:0;padding:10px 12px;text-decoration:none;display:flex}.profile-follow-avatar-wrap{flex-shrink:0;position:relative}.profile-follow-avatar{object-fit:cover;border-radius:50%;width:40px;height:40px}.profile-follow-avatar.placeholder{background:var(--surface-2);width:40px;height:40px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.profile-follow-live-dot{background:var(--live);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.profile-follow-info{flex:1;min-width:0}.profile-follow-name{color:var(--text-h);font-size:15px;font-weight:600;display:block}.profile-follow-detail{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.profile-follow-detail.offline{color:var(--text-dim);opacity:.6}.profile-follow-live-badge{border-radius:var(--radius-sm);color:var(--live);letter-spacing:.05em;background:#ef44441f;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.profile-unfollow-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);opacity:0;background:0 0;border:none;padding:8px 12px;font-size:14px;transition:all .2s}.profile-follow-item:hover .profile-unfollow-btn{opacity:1}.profile-unfollow-btn:hover{color:var(--live);background:#ef44441a}.profile-live-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.profile-live-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);transition:all .25s var(--ease-out);animation:fade-in-up .4s var(--ease-out) backwards;text-decoration:none;overflow:hidden}.profile-live-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);color:var(--text);transform:translateY(-2px)}.profile-live-thumb{aspect-ratio:16/9;background:var(--surface-2);position:relative;overflow:hidden}.profile-live-thumb img{object-fit:cover;width:100%;height:100%}.profile-live-thumb-placeholder{background:linear-gradient(135deg, var(--surface-2), var(--surface-3));width:100%;height:100%}.profile-live-viewers{color:#fff;border-radius:var(--radius-sm);background:#000000bf;padding:3px 8px;font-size:12px;font-weight:600;position:absolute;bottom:8px;left:8px}.profile-live-info{align-items:center;gap:10px;padding:10px 12px;display:flex}.profile-live-avatar-wrap{flex-shrink:0}.profile-live-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.profile-live-avatar.placeholder{background:var(--surface-2);width:32px;height:32px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.profile-live-name{color:var(--text-h);font-size:14px;font-weight:600;display:block}.profile-live-game{color:var(--text-dim);font-size:12px;display:block}.profile-settings{flex-direction:column;gap:28px;display:flex}.settings-section h3{color:var(--text-h);margin:0 0 14px;font-size:16px;font-weight:700}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.settings-label{color:var(--text-dim);font-size:14px}.settings-value{color:var(--text-h);font-size:14px;font-weight:600}.btn-danger{color:var(--live);border-radius:var(--radius-sm);cursor:pointer;background:#ef44441a;border:1px solid #ef444433;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-danger:hover{background:#ef444433;border-color:#ef444466}.account-row{border-bottom:1px solid var(--border);animation:fade-in-up .3s var(--ease-out) backwards;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.account-row:first-child{animation-delay:0s}.account-row:nth-child(2){animation-delay:50ms}.account-row:nth-child(3){animation-delay:.1s}.account-row-left{align-items:center;gap:14px;display:flex}.account-plat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:flex}.account-row-info{flex-direction:column;gap:2px;display:flex}.account-row-label{color:var(--text-h);font-size:15px;font-weight:700}.account-row-username{color:var(--accent);font-size:13px;font-weight:500}.account-row-hint{color:var(--text-dim);font-size:13px}.btn-unlink{color:var(--live);border-radius:var(--radius-sm);cursor:pointer;background:#ef444414;border:1px solid #ef444426;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s}.btn-unlink:hover{background:#ef444426;border-color:#ef44444d}.kick-link-form{align-items:center;gap:8px;display:flex}.kick-link-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-h);font-size:13px;font-family:var(--sans);outline:none;width:140px;padding:6px 12px;transition:border-color .2s}.kick-link-input:focus{border-color:var(--accent)}.user-avatar-link{align-items:center;display:flex}.user-avatar.placeholder{background:var(--surface-2);width:32px;height:32px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.tv-mode{overflow:hidden;cursor:none!important}.tv-mode ::-webkit-scrollbar{width:0}.tv-browse{background:var(--bg);height:100vh;font-family:var(--sans);flex-direction:column;display:flex}.tv-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:40px;padding:24px 48px;display:flex}.tv-logo{font-family:var(--display);color:var(--text-h);letter-spacing:-.02em;align-items:center;gap:12px;font-size:28px;font-weight:800;display:flex}.tv-logo-icon{background:var(--accent-gradient);color:#fff;width:40px;height:40px;box-shadow:0 0 20px var(--accent-glow);border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.tv-tabs{gap:6px;display:flex}.tv-tab{background:var(--surface-2);color:var(--text);font-family:var(--display);cursor:pointer;transition:all .25s var(--ease-out);border:2px solid #0000;border-radius:10px;outline:none;padding:12px 28px;font-size:18px;font-weight:600}.tv-tab.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 24px var(--accent-glow)}.tv-list{scroll-behavior:smooth;flex:1;padding:16px 48px 120px;overflow-y:auto}.tv-loading,.tv-empty{height:300px;color:var(--text-dim);font-size:20px;font-family:var(--display);justify-content:center;align-items:center;display:flex}.tv-item{transition:all .2s var(--ease-out);cursor:pointer;border:2px solid #0000;border-radius:14px;outline:none;align-items:center;gap:20px;margin-bottom:4px;padding:16px 24px;display:flex}.tv-item.focused,.tv-item:focus{background:var(--surface-2);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim), 0 0 30px var(--accent-glow);transform:scale(1.01)}.tv-item.offline{opacity:.5}.tv-item.focused.offline,.tv-item:focus.offline{opacity:.8}.tv-item-avatar{flex-shrink:0;position:relative}.tv-item-avatar img{object-fit:cover;border-radius:50%;width:56px;height:56px}.tv-item-avatar-ph{background:var(--surface-3);width:56px;height:56px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.tv-item-live-dot{background:var(--live);border:2px solid var(--bg);width:12px;height:12px;box-shadow:0 0 8px var(--live-glow);border-radius:50%;position:absolute;bottom:2px;right:2px}.tv-item-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tv-item-name{font-family:var(--display);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:700;overflow:hidden}.tv-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.tv-item-platform{font-size:13px;font-weight:700;font-family:var(--display);text-transform:uppercase;letter-spacing:.5px;border-radius:8px;flex-shrink:0;padding:5px 14px}.tv-item-platform.twitch{background:var(--twitch);color:#fff}.tv-item-platform.youtube{background:var(--youtube);color:#fff}.tv-item-platform.kick{background:var(--kick);color:#000}.tv-item-game{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:200px;font-size:14px;overflow:hidden}.tv-item-viewers{color:var(--text-h);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;min-width:80px;font-size:16px;font-weight:600;display:flex}.tv-viewers-dot{background:var(--live);width:8px;height:8px;box-shadow:0 0 8px var(--live-glow);border-radius:50%;animation:2s ease-in-out infinite pulse-live}.tv-item-offline{color:var(--text-dim);flex-shrink:0;font-size:15px}.tv-hint{background:linear-gradient(transparent, var(--bg) 40%);text-align:center;color:var(--text-dim);font-size:14px;font-family:var(--display);letter-spacing:.5px;pointer-events:none;padding:14px 48px;position:fixed;bottom:0;left:0;right:0}.tv-stream{background:#000;position:fixed;inset:0}.tv-player{position:absolute;inset:0}.tv-stream-loading{background:var(--bg);color:var(--text-dim);font-size:20px;font-family:var(--display);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.tv-overlay{z-index:50;opacity:0;transition:all .4s var(--ease-out);pointer-events:none;background:linear-gradient(#0000,#000000f2);flex-direction:column;gap:20px;padding:32px 48px;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(20px)}.tv-overlay.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.tv-overlay-info{align-items:center;gap:18px;display:flex}.tv-overlay-avatar{object-fit:cover;border:2px solid #fff3;border-radius:50%;width:52px;height:52px}.tv-overlay-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tv-overlay-name{font-family:var(--display);color:#fff;font-size:24px;font-weight:700}.tv-overlay-title{color:#ffffffb3;white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.tv-overlay-viewers{color:#fff;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.tv-overlay-platforms{gap:12px;display:flex}.tv-platform-btn{color:#ffffffb3;font-size:16px;font-weight:700;font-family:var(--display);text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s var(--ease-out);background:#ffffff14;border:2px solid #ffffff26;border-radius:10px;outline:none;padding:12px 32px}.tv-platform-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 20px var(--accent-glow)}.tv-platform-btn.focused{border-color:#fff;transform:scale(1.05);box-shadow:0 0 0 4px #fff3}.tv-platform-btn.twitch.active{background:var(--twitch);border-color:var(--twitch)}.tv-platform-btn.youtube.active{background:var(--youtube);border-color:var(--youtube)}.tv-platform-btn.kick.active{background:var(--kick);border-color:var(--kick);color:#000}.tv-overlay-hint{color:#fff6;font-size:13px;font-family:var(--display);letter-spacing:.5px}.tv-stream-offline{background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tv-stream-offline-card{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.tv-offline-avatar{object-fit:cover;border:3px solid var(--border);border-radius:50%;width:96px;height:96px}.tv-stream-offline-card h2{font-family:var(--display);color:var(--text-h);margin:0;font-size:32px}.tv-stream-offline-card p{color:var(--text-dim);margin:0;font-size:18px}.tv-offline-hint{color:var(--text-dim);font-size:14px;font-family:var(--display);margin-top:24px}.tv-quality-toast{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-family:var(--display);z-index:100;animation:tv-toast-in .25s var(--ease-out);background:#000000d9;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:10px;padding:14px 28px;font-size:20px;font-weight:600;display:flex;position:fixed;top:40px;right:40px}@keyframes tv-toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.tv-player-mode{cursor:none}
