@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg:#111214;--bg2:#18191d;--bg3:#222329;--bg4:#2a2b32;--border:#2a2b32;--border2:#3a3b43;--text:#f1f0f5;--text2:#a6a6b2;--text3:#777984;--accent:#c0b8ec;--accent-hover:#cec8f2;--on-accent:#211d32;--accent-dim:#2e2b3d;--green:#8fd1ae;--orange:#e0b36a;--danger:#f08a8a;--radius:16px;--radius-sm:12px;--app-height:100dvh}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;height:100%}body{background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-font-smoothing:antialiased;height:100%;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}#root{height:100%}button,input,textarea{color:inherit;font-family:inherit}button{cursor:pointer}img{display:block}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}.icon{flex-shrink:0;display:block}.dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.dot.off{background:var(--orange)}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;height:46px;padding:0 20px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--border2)}.btn-dark{background:var(--bg3);color:var(--text)}.btn-dark:hover{background:var(--bg4)}.btn-pill{border-radius:100px;height:40px;padding:0 16px;font-weight:500}.btn-primary.btn-pill{font-weight:600}.btn-block{width:100%}.round-btn{background:var(--bg3);width:44px;height:44px;color:var(--text2);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.round-btn:hover:not(:disabled),.round-btn.active{background:var(--bg4);color:var(--text)}.round-btn.accent{background:var(--accent);color:var(--on-accent)}.round-btn.lg{width:40px;height:40px}.icon-btn{background:var(--bg3);width:34px;height:34px;color:var(--text2);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--text);background:var(--bg4)}.icon-btn.sm{background:0 0;width:30px;height:30px}.icon-btn.sm:hover{background:var(--bg3)}.text-btn{height:32px;color:var(--text2);background:0 0;border:none;align-items:center;gap:7px;padding:0;font-size:13px;font-weight:500;display:inline-flex}.text-btn:hover{color:var(--text)}.text-btn.accent{color:var(--accent)}.chip-btn{border:1px solid var(--border);height:30px;color:var(--text2);background:0 0;border-radius:100px;padding:0 12px;font-size:12px;font-weight:500}.chip-btn:hover{color:var(--text);border-color:var(--border2)}.chip-btn.danger{color:var(--danger)}.input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg3);outline:none;width:100%;height:48px;padding:0 16px;font-size:15px}.input:focus{border-color:var(--border2)}.input::placeholder{color:var(--text3)}.field-label{margin:0 0 8px;font-size:13px;font-weight:500;display:block}.field-hint{color:var(--text2);font-size:13px}.search-field{border:1px solid var(--border2);background:var(--bg2);height:48px;color:var(--text2);border-radius:100px;align-items:center;gap:10px;padding:0 14px 0 16px;display:flex}.search-field:focus-within{border-color:var(--accent)}.search-field input{min-width:0;height:100%;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-field input::placeholder{color:var(--text3)}.search-clear{background:var(--bg4);width:22px;height:22px;color:var(--text2);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.scroll{scrollbar-width:none;flex-wrap:nowrap;margin:0 -20px;padding:0 20px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--bg2);height:36px;color:var(--text2);white-space:nowrap;border-radius:100px;flex-shrink:0;padding:0 16px;font-size:14px;font-weight:500}.chip:hover{color:var(--text)}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.segmented{background:var(--bg3);border-radius:var(--radius-sm);gap:4px;padding:4px;display:flex}.segmented button{height:36px;color:var(--text2);background:0 0;border:none;border-radius:9px;flex:1;font-size:14px;font-weight:500}.segmented button.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.avatar{background:var(--accent-dim);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.ring{box-shadow:0 0 0 2px var(--bg), 0 0 0 3.5px var(--accent)}.avatar.invite{border:1.5px dashed var(--border2);color:var(--text2);background:0 0}.avatar.more{background:var(--bg3);color:var(--text2);font-size:13px}.me-btn{background:0 0;border:none;border-radius:50%;padding:0}.stack{display:flex}.stack .avatar{border:2px solid var(--bg);margin-left:-8px}.stack .avatar:first-child{margin-left:0}.logo{align-items:center;gap:8px;display:inline-flex}.logo-text{letter-spacing:-1px;color:var(--text);font-size:23px;font-weight:800}.logo-btn{background:0 0;border:none;padding:0}.sheet-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009;animation:.18s fade;position:fixed;inset:0}.sheet{z-index:201;background:var(--bg2);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:min(480px,100vw - 32px);max-height:min(720px,100dvh - 48px);animation:.2s pop;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #00000080}.sheet-grabber{display:none}.sheet-header{justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 12px;display:flex}.sheet-title{letter-spacing:-.4px;margin:0;font-size:20px;font-weight:600}.sheet-body{flex-direction:column;gap:14px;padding:4px 20px 20px;display:flex;overflow-y:auto}.sheet-note{color:var(--text2);text-align:center;font-size:13px}.sheet-note.left{text-align:left;line-height:1.45}.sheet-note.error{color:var(--danger);text-align:left}.sheet-footnote{color:var(--text3);text-align:center;padding-top:2px;font-size:12px}.section-label{color:var(--text3);margin-bottom:-4px;font-size:12px;font-weight:500}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}}@keyframes slide-up{0%{transform:translateY(100%)}}.add-sheet .sheet-body{min-height:380px}.result-list{flex-direction:column;gap:12px;display:flex}.result-item{align-items:center;gap:12px;display:flex}.result-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#2b2a6b,#8a5a3f);border-radius:10px;flex-shrink:0;width:112px;overflow:hidden}.result-thumb img{object-fit:cover;width:100%;height:100%}.result-meta{flex:1;min-width:0}.result-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.result-sub{color:var(--text3);margin-top:4px;font-size:12px}.result-skeleton{background:var(--bg3);border-radius:10px;height:63px;animation:1.2s infinite alternate shimmer}.link-form{flex-direction:column;gap:12px;display:flex}@keyframes shimmer{0%{opacity:.5}to{opacity:1}}.profile-form{flex-direction:column;display:flex}.profile-avatar-row{align-items:center;gap:16px;margin-bottom:22px;display:flex}.profile-avatar{background:var(--accent-dim);width:64px;height:64px;color:var(--accent);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:24px;font-weight:500;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-meta{flex-direction:column;gap:2px;display:flex}.profile-avatar-actions{gap:14px;display:flex}.profile-form .btn{margin-top:18px}.settings-body{flex-direction:column;gap:14px;display:flex}.toggle-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.toggle-text{flex-direction:column;gap:3px;display:flex}.toggle-label{font-size:14px;font-weight:500}.toggle-desc{color:var(--text2);font-size:12px;line-height:1.4}.toggle{background:var(--bg4);border:none;border-radius:100px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .2s;position:relative}.toggle-thumb{background:var(--text3);border-radius:50%;width:20px;height:20px;transition:left .2s,background .2s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--accent)}.toggle.on .toggle-thumb{background:var(--on-accent);left:21px}.divider{background:var(--border);height:1px}.toast{z-index:300;background:var(--bg4);border:1px solid var(--border2);white-space:nowrap;pointer-events:none;opacity:0;border-radius:100px;padding:12px 18px;font-size:13px;font-weight:500;transition:opacity .2s,transform .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,8px);box-shadow:0 12px 32px #00000073}.toast.visible{opacity:1;transform:translate(-50%)}.menu-anchor{position:relative}.menu-backdrop{z-index:150;position:fixed;inset:0}.menu{z-index:151;background:var(--bg2);border:1px solid var(--border);border-radius:14px;flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #0000008c}.menu-item{text-align:left;background:0 0;border:none;border-radius:9px;padding:11px 12px;font-size:14px}.menu-item:hover{background:var(--bg3)}.menu-item.danger{color:var(--danger)}.spinner{border:3px solid var(--bg4);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shell{flex-direction:column;height:100dvh;display:flex;overflow-y:auto}.shell-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#111214e0;flex-shrink:0;align-items:center;gap:28px;height:72px;padding:0 max(20px,50vw - 560px);display:flex;position:sticky;top:0}.logo-link{text-decoration:none;display:flex}.shell-nav{flex:1;gap:6px;display:flex}.shell-nav-link{height:36px;color:var(--text2);border-radius:100px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.shell-nav-link:hover{color:var(--text)}.shell-nav-link.active{background:var(--bg3);color:var(--text)}.nav-badge{background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);border-radius:100px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.me-btn{text-decoration:none;display:flex}.shell-main{flex:1;width:100%}.bottom-nav{display:none}.page{flex-direction:column;gap:18px;width:100%;max-width:1160px;margin:0 auto;padding:36px 20px 24px;display:flex}.page.narrow{max-width:640px}.page-title{letter-spacing:-.8px;margin:0;font-size:30px;font-weight:700}.page-lead{color:var(--text2);margin:-8px 0 0;font-size:15px;line-height:1.45}.page-lead b{color:var(--text);font-weight:600}.empty-card{border:1px solid var(--border);background:var(--bg2);text-align:center;color:var(--text2);border-radius:20px;flex-direction:column;align-items:center;gap:14px;padding:36px 24px;display:flex}.empty-card p{max-width:360px;margin:0;line-height:1.5}.empty-card .icon{color:var(--accent)}.empty-card .btn{text-decoration:none}.auth-page{justify-content:center;padding:40px 20px;display:flex}.auth-card{border:1px solid var(--border);background:var(--bg2);border-radius:20px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:32px;display:flex}.auth-form{flex-direction:column;display:flex}.auth-form .field-label{margin-top:14px}.auth-form .btn{margin-top:20px}.input-prefix{position:relative}.input-prefix>span{color:var(--text3);font-size:15px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.input-prefix .input{padding-left:32px}.form-error{color:var(--danger);margin-top:12px;font-size:13px}.form-ok{color:var(--green);margin-top:12px;font-size:13px}.or-divider{color:var(--text3);align-items:center;gap:12px;font-size:12px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.tg-widget{justify-content:center;min-height:40px;display:flex}.auth-skip{align-self:center}.profile-login{align-self:center;margin-top:10px}.profile-head{align-items:center;gap:20px;display:flex}.profile-photo{background:0 0;border:none;border-radius:50%;padding:0;position:relative}.profile-photo-edit{border:3px solid var(--bg);background:var(--accent);width:30px;height:30px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px}.form-card{border:1px solid var(--border);background:var(--bg2);border-radius:20px;flex-direction:column;padding:22px;display:flex}.form-card .field-label{margin-top:14px}.form-card .field-label:first-child{margin-top:0}.form-card .text-btn{align-self:flex-start;margin-top:10px}.form-card .btn{margin-top:18px}.profile-links{border:1px solid var(--border);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.list-link{background:var(--bg2);color:var(--text);text-align:left;border:none;align-items:center;gap:12px;padding:16px 18px;font-size:15px;text-decoration:none;display:flex}.list-link+.list-link{border-top:1px solid var(--border)}.list-link>.icon:last-child{color:var(--text3);margin-left:auto}.list-link:hover{background:var(--bg3)}.list-link.muted{color:var(--text2);cursor:default}.list-link.muted:hover{background:var(--bg2)}.list-link.danger{color:var(--danger)}.list-section{flex-direction:column;gap:4px;display:flex}.list-title{align-items:center;gap:8px;margin:10px 0 6px;font-size:17px;font-weight:600;display:flex}.list-title span:not(.dot){color:var(--text3);font-size:14px;font-weight:500}.list-title .dot{width:8px;height:8px}.person-row,.watch-row{border-radius:14px;align-items:center;gap:12px;padding:8px;display:flex}.person-row:hover{background:var(--bg2)}.watch-row{border:1px solid var(--border);background:var(--bg2);text-align:left;width:100%;margin-bottom:6px}.watch-row:hover{border-color:#45414f}.person-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.person-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.person-row-sub{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.person-row-sub.accent,.list-empty a{color:var(--accent)}.avatar-wrap{flex-shrink:0;display:inline-flex;position:relative}.presence{border:2.5px solid var(--bg);background:var(--bg4);border-radius:50%;width:12px;height:12px;position:absolute;bottom:0;right:0}.presence.on{background:var(--green)}.chip-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.chip-btn.accent{background:var(--accent-dim);color:var(--accent);border-color:#0000}.chip-btn.accent:hover:not(:disabled){color:var(--accent-hover);background:#3a3550}.chip-btn:disabled{opacity:.55;cursor:default}.chip-btn.compact{justify-content:center;width:30px;padding:0}.btn.sm{height:32px;padding:0 14px;font-size:13px}.chip-count{opacity:.7;margin-left:6px;font-size:12px}.home-hint-card{border-radius:var(--radius);background:var(--bg2);border:1px solid var(--border);color:var(--text2);align-items:center;gap:12px;padding:14px 16px;font-size:13px;line-height:1.4;display:flex}.home-hint-card .icon{color:var(--accent)}.home-hint-card span{flex:1}.invite-body{flex-direction:column;gap:10px;display:flex}.invite-link{border-radius:var(--radius);color:var(--text2);text-align:left;background:linear-gradient(135deg,#25223a,#1d1c26);border:1px solid #3d3854;align-items:center;gap:14px;padding:12px 16px 12px 12px;display:flex}.invite-link:hover{border-color:var(--accent)}.invite-link .create-sub{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.notifier{z-index:400;flex-direction:column;gap:10px;width:min(400px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.notice{background:var(--bg3);border:1px solid var(--border2);border-radius:18px;align-items:center;gap:12px;padding:12px 10px 12px 12px;animation:.25s drop-in;display:flex;box-shadow:0 16px 40px #00000080}.notice-text{min-width:0;color:var(--text2);flex:1;font-size:13px;line-height:1.35}.notice-text b{color:var(--text);font-weight:600}.notice-sub{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}@keyframes drop-in{0%{opacity:0;transform:translateY(-10px)}}.home-h1{letter-spacing:-1px;margin:0;font-size:34px;font-weight:700}.home-lead{color:var(--text2);margin:-12px 0 4px;font-size:15px}.home-search{max-width:560px}.home-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.create-card{border-radius:var(--radius);text-align:left;width:100%;max-width:560px;color:var(--text2);background:linear-gradient(135deg,#25223a,#1d1c26);border:1px solid #3d3854;align-items:center;gap:14px;padding:14px 18px 14px 14px;transition:border-color .15s;display:flex}.create-card:hover{border-color:var(--accent)}.create-card.subtle{background:var(--bg2);border-color:var(--border)}.create-icon{background:var(--accent);width:44px;height:44px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.create-icon.dark{background:var(--bg3);color:var(--text)}.create-text{flex-direction:column;flex:1;gap:3px;display:flex}.create-title{color:var(--text);font-size:16px;font-weight:600}.create-sub{color:var(--text2);font-size:13px}.section-head{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.section-title{align-items:center;gap:10px;font-size:18px;font-weight:600;display:inline-flex}.section-title .dot{width:8px;height:8px}.section-count{color:var(--text2);font-size:14px}.room-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px 20px;display:grid}.room-card{text-align:left;background:0 0;border:none;flex-direction:column;gap:12px;padding:0;display:flex}.room-card.skeleton{aspect-ratio:16/11;border-radius:var(--radius);background:var(--bg2);animation:1.2s infinite alternate shimmer}.room-card-media{aspect-ratio:16/9;border-radius:var(--radius);position:relative;overflow:hidden}.room-card-media img{object-fit:cover;width:100%;height:100%}.room-card:hover .room-card-media img{transform:scale(1.03)}.room-card-media img{transition:transform .3s}.badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:24px;color:var(--text);background:#0a0a0eb8;border-radius:100px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex;position:absolute}.badge.live{top:10px;left:10px}.badge.source{font-weight:500;top:10px;right:10px}.badge.duration{border-radius:6px;bottom:12px;right:10px}.room-card-progress{background:var(--accent);height:3px;position:absolute;bottom:0;left:0}.room-card-info{align-items:center;gap:12px;display:flex}.room-card-text{flex-direction:column;gap:3px;min-width:0;display:flex}.room-card-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.room-card-sub{color:var(--text2);font-size:13px}.home-empty{border:1px dashed var(--border2);border-radius:var(--radius);text-align:center;color:var(--text2);padding:36px 20px;font-size:14px;line-height:1.5}.home-footer{text-align:center;color:var(--text3);padding:20px 0 8px;font-size:12px}.badge.private{color:var(--accent);background:#2e2b3de6;font-weight:500;top:40px;left:10px}.room-gate{justify-content:center;align-items:flex-start;height:100dvh;padding-top:40px;display:flex}.room{top:var(--app-top,0px);height:var(--app-height,100dvh);background:var(--bg);flex-direction:column;display:flex;position:fixed;left:0;right:0;overflow:hidden}.room-topbar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 24px;display:flex}.room-topbar-left,.room-topbar-right{align-items:center;gap:12px;min-width:0;display:flex}.vdivider{background:var(--border2);width:1px;height:22px;margin:0 6px}.room-name{white-space:nowrap;font-size:17px;font-weight:600}.live-pill{height:24px;color:var(--green);white-space:nowrap;background:#1f2a24;border-radius:100px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.live-pill.off{color:var(--orange);background:#2e2719}.room-body{flex:1;gap:28px;min-height:0;padding:24px;display:flex}.room-main{flex-direction:column;flex:1;gap:18px;min-width:0;padding-right:4px;display:flex;overflow-y:auto}.stage{aspect-ratio:16/9;width:100%;max-height:calc(var(--app-height,100dvh) - 68px - 48px - 96px);border-radius:var(--radius);-webkit-user-select:none;user-select:none;background:radial-gradient(90% 90% at 50% 45%,#24232d 0%,#121216 100%);flex-shrink:0;position:relative;overflow:hidden}.stage-media{position:absolute;inset:0}.stage-media video,.stage-media iframe,.stage-media>div:not(.stage-empty){border:none;display:block;width:100%!important;height:100%!important}.stage-media video{object-fit:contain;background:#000}.stage:fullscreen{border-radius:0;max-height:none}.stage-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.stage-empty-icon{width:60px;height:60px;color:var(--accent);background:#2d2a38;border:1px solid #45414f;border-radius:18px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.stage-empty-title{letter-spacing:-.4px;font-size:24px;font-weight:600}.stage-empty-text{color:var(--text2);max-width:380px;margin-bottom:8px;font-size:14px;line-height:1.5}.stage-top{display:none}.reaction-layer{pointer-events:none;z-index:4;width:50px;height:0;position:absolute;bottom:120px;right:26px}.reaction-float{font-size:30px;animation:2.6s ease-out forwards float-up;position:absolute;bottom:0;left:50%}@keyframes float-up{0%{opacity:0;transform:translate(-50%)scale(.6)}12%{transform:translate(calc(-50% + var(--x) * .3), -30px) scale(1.15);opacity:1}to{transform:translate(calc(-50% + var(--x)), -260px) scale(.9);opacity:0}}.stage-react{z-index:5;opacity:0;flex-direction:column;gap:10px;transition:opacity .25s;display:flex;position:absolute;top:50%;right:18px;transform:translateY(-30%)}.stage.chrome .stage-react{opacity:1}.react-bubble{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14141a8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;transition:transform .12s;display:flex}.react-bubble:active{transform:scale(1.25)}.react-bubble.heart{width:44px;height:44px;font-size:21px}.pc{z-index:3;pointer-events:none;opacity:0;transition:opacity .25s;position:absolute;inset:0}.stage.chrome .pc{opacity:1}.stage.chrome .pc .pc-bottom,.stage.chrome .pc .pc-center{pointer-events:auto}.pc-center{display:none}.pc-bottom{background:linear-gradient(#0000,#08080ce6);padding:60px 24px 16px;position:absolute;bottom:0;left:0;right:0}.pc-progress{align-items:center;height:18px;display:flex;position:relative}.pc-track{background:#ffffff2e;border-radius:4px;width:100%;height:4px;position:relative}.pc-buffer{background:#ffffff2e;border-radius:4px;position:absolute;inset:0 auto 0 0}.pc-fill{background:var(--accent);border-radius:4px;position:absolute;inset:0 auto 0 0}.pc-knob{background:var(--accent);border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.pc-progress.locked .pc-knob{display:none}.pc-progress input[type=range]{opacity:0;cursor:pointer;width:100%;margin:0;position:absolute;inset:0}.pc-row{align-items:center;gap:10px;margin-top:8px;display:flex}.pc-btn{color:#fff;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.pc-btn:hover{background:#ffffff1a}.pc-play{background:#ffffff24;width:38px;height:38px}.pc-time{font-variant-numeric:tabular-nums;margin-left:4px;font-size:14px;font-weight:500}.pc-spacer{flex:1}.pc-sync{background:#0a0a0e99;border-radius:100px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.pc-sync.off .dot{background:var(--orange)}.tap-to-join{z-index:6;background:var(--accent);height:46px;color:var(--on-accent);border:none;border-radius:100px;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0006}.vk-bar{color:var(--text2);align-items:center;gap:12px;margin-top:-6px;font-size:13px;display:flex}.now{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.now-text{min-width:0}.now-title{letter-spacing:-.4px;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:21px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.now-sub{color:var(--text2);align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.now-sub .icon{color:var(--accent)}.now-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.react-bar{border:1px solid var(--border);background:var(--bg2);border-radius:100px;align-items:center;height:44px;padding:0 6px;display:flex}.react-bar button{background:0 0;border:none;border-radius:50%;width:34px;height:34px;font-size:18px;transition:transform .12s,background .15s}.react-bar button:hover{background:var(--bg3);transform:scale(1.15)}.react-bar button:active{transform:scale(1.35)}.now-actions .btn-dark{border:1px solid var(--border);height:44px}.queue-pill,.mobile-people,.mobile-chat{display:none}.upnext-head{margin-bottom:12px;font-size:16px;font-weight:600}.upnext-head span{color:var(--text3);margin-left:4px;font-size:14px;font-weight:500}.upnext-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.queue-list{flex-direction:column;gap:10px;display:flex}.queue-item{border-radius:var(--radius-sm);background:0 0;align-items:center;gap:12px;padding:8px;transition:background .15s;display:flex}.queue-item:hover{background:var(--bg3)}.queue-item.card{border:1px solid var(--border);background:var(--bg2)}.queue-item[draggable=true]{cursor:grab}.queue-thumb{aspect-ratio:16/9;border-radius:8px;flex-shrink:0;width:96px;overflow:hidden}.queue-thumb img,.thumb-fallback{object-fit:cover;width:100%;height:100%;display:block}.thumb-fallback{background:linear-gradient(135deg,#2b2a6b,#8a5a3f)}.queue-meta{flex:1;min-width:0}.queue-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.queue-sub{color:var(--text3);margin-top:4px;font-size:12px}.queue-actions{gap:2px;display:flex}.queue-grip{color:var(--text3)}.list-empty{text-align:center;color:var(--text3);padding:18px 8px;font-size:13px;line-height:1.5}.room-side{border:1px solid var(--border);background:var(--bg2);border-radius:20px;flex-direction:column;flex-shrink:0;width:380px;display:flex;position:relative;overflow:hidden}.tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:24px;height:56px;padding:0 20px;display:flex}.tabs button{color:var(--text2);background:0 0;border:none;padding:0;font-size:15px;font-weight:500;position:relative}.tabs button span{color:var(--text3);margin-left:4px;font-size:13px}.tabs button.active{color:var(--text);font-weight:600}.tabs button.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.side-scroll{flex:1;min-height:0;padding:16px;overflow-y:auto}.people-row{scrollbar-width:none;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px;padding:14px 20px;display:flex;overflow-x:auto}.people-row::-webkit-scrollbar{display:none}.person{background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:48px;padding:0;display:flex}.person-name{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;max-width:52px;font-size:11px;overflow:hidden}.people-list{flex-direction:column;gap:6px;display:flex}.people-item{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:8px;display:flex}.people-item:hover{background:var(--bg3)}.people-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.people-name{align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.people-name .icon{color:var(--accent)}.people-sub{color:var(--text3);font-size:12px}.people-actions{gap:6px;display:flex}.people-list .btn{margin-top:8px}.chat-scroll{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px 20px 12px;display:flex;overflow-y:auto}.chat-scroll>:first-child{margin-top:auto}.chat-empty{text-align:center;color:var(--text3);font-size:13px}.msg-system{text-align:center;color:var(--text3);font-size:11px}.msg{align-items:flex-start;gap:10px;display:flex}.msg .avatar{width:30px;height:30px;font-size:12px}.msg-content{flex:1;min-width:0}.msg-name{align-items:center;gap:5px;margin-bottom:3px;font-size:13px;font-weight:600;display:flex}.msg-text{word-break:break-word;font-size:14px;line-height:1.45}.msg-reply{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;border-left:2px solid #45414f;margin-bottom:4px;padding:3px 8px;font-size:12px;overflow:hidden}.msg-image{object-fit:cover;border-radius:10px;max-width:220px;max-height:240px;margin-top:2px}.chat-down{z-index:5;border:1px solid var(--border2);background:var(--bg3);width:34px;height:34px;color:var(--text2);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:84px;right:16px}.rot-down{transform:rotate(-90deg)}.reply-bar{background:var(--bg3);color:var(--text2);border-radius:10px;align-items:center;gap:8px;margin:0 16px;padding:6px 6px 6px 12px;font-size:12px;display:flex}.reply-bar span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.composer{flex-shrink:0;align-items:center;gap:10px;padding:12px 16px 16px;display:flex;position:relative}.composer-field{border:1px solid var(--border);background:var(--bg3);border-radius:100px;flex:1;align-items:center;min-width:0;height:46px;display:flex}.composer-field:focus-within{border-color:var(--border2)}.composer-field input{background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;padding:0 4px 0 16px;font-size:14px}.composer-field input::placeholder{color:var(--text3)}.composer-photo{width:40px;height:100%;color:var(--text3);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.composer-photo:hover{color:var(--text2)}.send-btn{background:var(--accent);width:46px;height:46px;color:var(--on-accent);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-btn:hover{background:var(--accent-hover)}.emoji-pop{z-index:10;background:var(--bg2);border:1px solid var(--border2);border-radius:14px;grid-template-columns:repeat(8,36px);gap:2px;padding:8px;display:grid;position:absolute;bottom:calc(100% - 4px);left:12px;box-shadow:0 12px 32px #00000073}.emoji-pop button{background:0 0;border:none;border-radius:8px;height:36px;font-size:20px}.emoji-pop button:hover{background:var(--bg3)}@media (width>=769px) and (height<=760px){.room-topbar{height:60px}.room-body{padding:16px 24px}.stage{max-height:calc(var(--app-height,100dvh) - 60px - 32px - 80px)}}@media (width>=769px) and (width<=1180px){.room-side{width:330px}.react-bar{display:none}.upnext-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upnext-grid>:nth-child(3),.live-pill{display:none}}@media (width<=768px){.input,.search-field input,.composer-field input{font-size:16px}.sheet{width:100%;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:none;border-radius:22px 22px 0 0;animation:.24s slide-up;top:auto;bottom:0;left:0;transform:none}.sheet-grabber{background:var(--border2);border-radius:4px;width:40px;height:4px;margin:10px auto 0;display:block}.sheet-header{padding:12px 16px 10px}.sheet-body{padding:4px 16px 20px}.result-thumb{width:104px}.toast{bottom:auto;top:calc(14px + env(safe-area-inset-top));transform:translate(-50%,-8px)}.toast.visible{transform:translate(-50%)}.shell-header{background:var(--bg);border-bottom:none;height:64px;padding:0 20px}.shell-nav{display:none}.shell-header .me-btn{margin-left:auto}.shell-main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.bottom-nav{z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);background:#111214f0;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-link{color:var(--text3);flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px 0;font-size:11px;font-weight:500;text-decoration:none;display:flex}.bottom-nav-link.active{color:var(--accent)}.bottom-nav-icon{position:relative}.dot-badge{position:absolute;top:-6px;right:-10px}.page{gap:16px;padding:12px 20px 16px}.page-title{font-size:26px}.auth-page{padding:8px 16px 24px}.auth-card{background:0 0;border:none;padding:0}.home-h1{font-size:28px}.notifier{top:calc(10px + env(safe-area-inset-top));width:auto;left:10px;right:10px}.room-grid{grid-template-columns:1fr;gap:22px}.home-actions{gap:10px}.room{padding-top:env(safe-area-inset-top)}.room-topbar,.room-side,.upnext,.react-bar,.now-actions .btn-dark{display:none!important}.room-body{gap:0;padding:0}.room-main{gap:0;padding:0;overflow:hidden}.stage{border-radius:0;max-height:none}.stage-top{z-index:6;opacity:0;pointer-events:none;background:linear-gradient(#08080cbf,#0000);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 28px;transition:opacity .25s;display:flex;position:absolute;top:0;left:0;right:0}.stage.chrome .stage-top,.room:not(.has-video) .stage-top{opacity:1;pointer-events:auto}.stage-top-title{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;font-size:15px;font-weight:600;display:flex}.stage-top-sub{color:var(--text2);align-items:center;gap:5px;font-size:11px;font-weight:500;display:inline-flex}.glass-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#14141a99;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stage-empty{gap:6px;padding-top:56px}.stage-empty-icon{display:none}.stage-empty-title{font-size:18px}.stage-empty-text{margin-bottom:4px;font-size:13px}.stage-empty .btn{border-radius:100px;height:40px}.stage-react{gap:8px;top:22%;right:10px;transform:none}.react-bubble{width:34px;height:34px;font-size:16px}.react-bubble.heart{width:38px;height:38px}.reaction-layer{bottom:70px;right:16px}.reaction-float{font-size:26px}.pc-center{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#14141a8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pc-bottom{padding:40px 0 0}.pc-row{gap:4px;margin:0;position:absolute;bottom:10px;left:12px;right:8px}.pc-play,.pc-hide-mobile{display:none}.pc-time{margin-left:4px;font-size:12px}.pc-btn{width:32px;height:32px}.pc-progress{height:14px;margin-bottom:-6px;position:relative}.pc-track{border-radius:0;height:3px}.pc-knob{border-width:0;width:12px;height:12px}.pc-progress{padding:0}.stage:not(.chrome) .pc{opacity:1}.stage:not(.chrome) .pc-row,.stage:not(.chrome) .pc-center,.stage:not(.chrome) .pc-knob{opacity:0}.stage:not(.chrome) .pc-bottom{background:0 0}.now{align-items:center;padding:12px 16px 0}.now-title{-webkit-line-clamp:1;line-clamp:1;font-size:17px}.now-sub{margin-top:3px;font-size:12px}.queue-pill{border:1px solid var(--border);background:var(--bg2);height:34px;color:var(--text);border-radius:100px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.queue-pill .icon{color:var(--text2)}.mobile-people{display:block}.mobile-people .people-row{gap:14px;padding:12px 16px}.mobile-chat{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-scroll{gap:14px;padding:12px 16px 8px}.composer{padding:8px 12px calc(10px + env(safe-area-inset-bottom))}.emoji-pop{grid-template-columns:repeat(8,1fr);left:12px;right:12px}.chat-down{bottom:74px}.keyboard-open .now,.keyboard-open .mobile-people{display:none}.keyboard-open .composer{padding-bottom:8px}}
