:root{--bg-base: #070b14;--bg-base-2: #0b1222;--glow-1: rgba(42, 82, 200, .3);--glow-2: rgba(80, 52, 180, .22);--glow-3: rgba(25, 160, 255, .1);--panel: rgba(255, 255, 255, .045);--panel-strong: rgba(255, 255, 255, .07);--panel-border: rgba(255, 255, 255, .08);--panel-highlight: rgba(255, 255, 255, .05);--overlay: rgba(16, 23, 40, .8);--overlay-solid: #111a2d;--drawer: rgba(11, 17, 31, .94);--blur: blur(22px) saturate(160%);--bg-input: rgba(255, 255, 255, .055);--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .09);--bg-selected: rgba(47, 107, 255, .17);--bg-mention: rgba(47, 107, 255, .1);--bg-mention-hover: rgba(47, 107, 255, .15);--bg-code: rgba(0, 0, 0, .3);--bg-media: #0a0f1c;--text: #dfe5f1;--text-strong: #f6f8fc;--text-muted: #96a2ba;--text-faint: #6f7c95;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--accent: #2f6bff;--accent-2: #19c3ff;--accent-grad: linear-gradient(135deg, #2f6bff 0%, #19c3ff 100%);--accent-btn: linear-gradient(135deg, #2c5ff5 0%, #1670dc 100%);--accent-text: #6eb0ff;--accent-soft: rgba(47, 107, 255, .16);--accent-ring: rgba(64, 146, 255, .6);--focus: #5aa2ff;--accent-glow: 0 8px 22px -8px rgba(47, 107, 255, .75);--indigo: #9b97ff;--indigo-soft: rgba(124, 108, 255, .16);--green: #3ccf8e;--yellow: #f4b740;--red: #ff5d6c;--danger: #d93146;--link: var(--accent-text);--mention-fg: #b3d1ff;--mention-bg-pill: rgba(47, 107, 255, .24);--shadow: 0 24px 60px -16px rgba(0, 0, 0, .65), 0 2px 8px rgba(0, 0, 0, .3);--shadow-sm: 0 8px 24px -12px rgba(0, 0, 0, .55);--bg-primary: var(--overlay-solid);--bg-secondary: rgba(255, 255, 255, .04);--bg-tertiary: rgba(0, 0, 0, .25);--bg-floating: var(--overlay-solid);--brand: var(--accent);--text-primary: var(--text);--text-secondary: var(--text-muted);--radius-panel: 18px;--radius: 12px;--radius-sm: 8px;--gap: 8px;--dock-w: 64px;--sidebar-w: 248px;--members-w: 240px;--header-h: 56px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);color-scheme:dark}:root[data-theme=light]{--bg-base: #e8eef8;--bg-base-2: #dbe4f2;--glow-1: rgba(47, 107, 255, .18);--glow-2: rgba(124, 92, 255, .12);--glow-3: rgba(25, 195, 255, .14);--panel: rgba(255, 255, 255, .68);--panel-strong: rgba(255, 255, 255, .86);--panel-border: rgba(20, 35, 70, .09);--panel-highlight: rgba(255, 255, 255, .8);--overlay: rgba(250, 252, 255, .88);--overlay-solid: #f7f9fd;--drawer: rgba(246, 249, 254, .96);--bg-input: rgba(20, 35, 70, .05);--bg-hover: rgba(20, 35, 70, .045);--bg-active: rgba(20, 35, 70, .085);--bg-selected: rgba(47, 107, 255, .12);--bg-mention: rgba(47, 107, 255, .08);--bg-mention-hover: rgba(47, 107, 255, .12);--bg-code: rgba(20, 35, 70, .06);--bg-media: #dfe6f2;--text: #1c2436;--text-strong: #0b1220;--text-muted: #4d5a72;--text-faint: #7a869c;--border: rgba(20, 35, 70, .08);--border-strong: rgba(20, 35, 70, .16);--accent-text: #1f5fd6;--accent-soft: rgba(47, 107, 255, .11);--accent-ring: rgba(47, 107, 255, .55);--focus: #1f5fd6;--accent-glow: 0 8px 20px -8px rgba(47, 107, 255, .55);--indigo: #5547d1;--indigo-soft: rgba(91, 79, 214, .12);--green: #0f7d51;--yellow: #946005;--red: #cf2a3f;--danger: #cf2a3f;--mention-fg: #1d4fc2;--mention-bg-pill: rgba(47, 107, 255, .14);--shadow: 0 24px 56px -18px rgba(30, 50, 90, .32), 0 2px 8px rgba(30, 50, 90, .08);--shadow-sm: 0 8px 22px -12px rgba(30, 50, 90, .25);--bg-secondary: rgba(20, 35, 70, .035);--bg-tertiary: rgba(20, 35, 70, .06);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background:var(--bg-base)}body{background:transparent;color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60vw 55vh at 8% -8%,var(--glow-1),transparent 70%),radial-gradient(50vw 50vh at 100% 5%,var(--glow-2),transparent 72%),radial-gradient(70vw 60vh at 55% 115%,var(--glow-3),transparent 70%),linear-gradient(180deg,var(--bg-base) 0%,var(--bg-base-2) 100%)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:not-allowed}input,textarea,select{font:inherit;color:inherit}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}::selection{background:#2f6bff59}ul{list-style:none;margin:0;padding:0}h1,h2,h3{margin:0}.muted{color:var(--text-muted)}.small{font-size:13px}.pad{padding:12px}.spacer{flex:1}.error-text{color:var(--red);font-size:13px}.center-content{display:flex;align-items:center;justify-content:center}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}*{scrollbar-width:thin;scrollbar-color:rgba(150,165,200,.22) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#96a5c838;border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#96a5c861}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;color:var(--text-muted);flex:none;transition:background .12s,color .12s}.icon-btn:hover:not(:disabled){color:var(--text-strong);background:var(--bg-hover)}.icon-btn.active{color:var(--text-strong);background:var(--bg-active)}.icon-btn.danger:hover{color:var(--red)}.icon-btn.small{width:24px;height:24px;border-radius:7px}.link-btn{color:var(--link);margin:0 3px}.link-btn:hover{text-decoration:underline}.btn{padding:8px 16px;border-radius:10px;font-weight:600;font-size:14px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:box-shadow .15s,background .15s,transform .15s;text-decoration:none!important}.btn.primary{background:var(--accent-btn);color:#fff;box-shadow:inset 0 1px #ffffff2e,var(--accent-glow)}.btn.primary:hover:not(:disabled){box-shadow:inset 0 1px #ffffff38,0 10px 26px -8px #2f6bffe6;transform:translateY(-1px)}.btn.primary:active:not(:disabled){transform:none}.btn.danger-btn{background:var(--danger);color:#fff}.btn.danger-btn:hover:not(:disabled){filter:brightness(.92)}.btn.ghost{color:var(--text)}.btn.ghost:hover{background:var(--bg-hover)}.btn.soft{background:var(--bg-active);color:var(--text-strong);border:1px solid var(--border)}.btn.soft:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.5;box-shadow:none}.boot{height:100%;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--text-muted)}.boot img{border-radius:18px;box-shadow:0 16px 40px -12px #2f6bffb3}.boot p{margin:0}.boot p:first-of-type{color:var(--text-strong);font-weight:600}.avatar{position:relative;display:inline-block;flex:none;border-radius:50%}.avatar img,.avatar-fallback{width:100%;height:100%;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;-webkit-user-select:none;user-select:none}.presence-dot{position:absolute;right:-2px;bottom:-2px;width:30%;height:30%;min-width:10px;min-height:10px;border-radius:50%;border:3px solid var(--overlay-solid);background:var(--text-faint);box-sizing:content-box;transform:translate(0)}.presence-dot.online{background:var(--green)}.presence-dot.idle{background:var(--yellow)}.presence-dot.offline{background:var(--text-faint)}.app{display:flex;gap:var(--gap);height:100dvh;overflow:hidden;padding:calc(var(--gap) + var(--sat)) calc(var(--gap) + var(--sar)) calc(var(--gap) + var(--sab)) calc(var(--gap) + var(--sal))}@media(min-width:768px){.app>*{--sat: 0px;--sab: 0px;--sal: 0px;--sar: 0px}}.dock-rail,.sidebar,.main,.members{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-panel);box-shadow:inset 0 1px 0 var(--panel-highlight),var(--shadow-sm)}.sidebar{width:var(--sidebar-w);display:flex;flex-direction:column;flex:none;min-height:0;overflow:hidden;padding-left:var(--sal)}.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;min-height:0;overflow:hidden}.members{width:var(--members-w);flex:none;overflow-y:auto;padding:8px 8px 16px;padding-right:calc(8px + var(--sar))}.dock-rail{width:var(--dock-w);flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;z-index:5}.dock-item{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;color:var(--text-muted);transition:background .15s,color .15s,box-shadow .15s;text-decoration:none!important}.dock-item:hover{color:var(--text-strong);background:var(--bg-hover)}.dock-item.active{color:#fff;background:var(--accent-btn);box-shadow:inset 0 1px #fff3,0 6px 20px -4px #2f6bffb3}.dock-sep{width:28px;height:1px;margin:6px 0;background:var(--border-strong);flex:none}.dock-badge{position:absolute;top:-3px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px var(--bg-base)}.dock-dot{position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:var(--accent-grad);box-shadow:0 0 0 2px var(--bg-base),0 0 10px #19c3ffcc}.dock-item.active .dock-dot{display:none}.dock-state{position:absolute;right:5px;bottom:5px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px var(--bg-base-2)}.dock-state.up{background:var(--green)}.dock-state.down{background:var(--red);border-radius:2px;transform:rotate(45deg);width:7px;height:7px}.dock-state.unknown{background:transparent;border:2px solid var(--text-faint)}.dock-rail .dock-item[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translate(-4px,-50%);padding:5px 10px;border-radius:8px;white-space:nowrap;pointer-events:none;background:var(--overlay-solid);color:var(--text-strong);border:1px solid var(--panel-border);font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);opacity:0;transition:opacity .12s,transform .12s;z-index:50}.dock-rail .dock-item[data-tip]:hover:after,.dock-rail .dock-item[data-tip]:focus-visible:after{opacity:1;transform:translateY(-50%)}.dock-bar{display:flex;align-items:center;gap:6px;padding:calc(12px + var(--sat)) 10px 10px;border-bottom:1px solid var(--border);flex:none;overflow-x:auto}.dock-bar .dock-sep{width:1px;height:24px;margin:0 2px}.dock-bar .dock-item{width:auto;height:40px;padding:0 12px;gap:8px;border-radius:12px;font-size:14px;font-weight:600;flex:none;background:var(--bg-hover)}.dock-bar .dock-item.active{background:var(--accent-btn)}.dock-bar .dock-badge,.dock-bar .dock-dot{position:static;box-shadow:none}.dock-bar .dock-item.service{width:40px;padding:0}.dock-bar .dock-state{right:4px;bottom:4px;box-shadow:0 0 0 2px var(--overlay-solid)}.dock-bar+.server-header{padding-top:0;height:var(--header-h)}.server-header{height:var(--header-h);padding:var(--sat) 16px 0;box-sizing:content-box;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:750;font-size:16px;letter-spacing:-.01em;color:var(--text-strong);border-bottom:1px solid var(--border);flex:none;text-align:left;transition:background .12s}.server-header:not(:disabled):hover{background:var(--bg-hover)}.server-header:disabled{cursor:default}.channel-scroll{flex:1;overflow-y:auto;padding:6px 10px 10px;min-height:0}.category{margin-bottom:4px}.category-header{display:flex;align-items:center;padding:16px 0 6px 4px;color:var(--text-muted)}.category-toggle{display:flex;align-items:center;gap:4px;flex:1;min-width:0;text-align:left;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.08em;color:inherit}.category-toggle:hover{color:var(--text-strong)}.category-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category:first-child .category-header{padding-top:8px}.hover-only{opacity:0}.category-header:hover .hover-only,.channel-row:hover .hover-only,.hover-only:focus-visible{opacity:1}@media(hover:none){.hover-only{opacity:1}}.channel-row{display:flex;align-items:center;border-radius:10px;position:relative;color:var(--text-muted);margin-bottom:2px;padding-right:6px;border:1px solid transparent;transition:background .12s,color .12s}.channel-row:hover{background:var(--bg-hover);color:var(--text)}.channel-row.active{background:var(--bg-selected);border-color:#408cff47;color:var(--text-strong);box-shadow:0 6px 18px -10px #2f6bffcc}.channel-row.active .channel-icon{color:var(--accent-text);opacity:1}.channel-row.unread{color:var(--text-strong);font-weight:600}.channel-row.connected{color:var(--green)}.channel-link{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:6px 8px;color:inherit;text-align:left;min-height:36px}.channel-link:hover{text-decoration:none}.channel-link-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:0;color:inherit;text-align:left}.channel-link:has(.channel-activity){flex-wrap:wrap;gap:0}.channel-link:has(.channel-activity) .channel-link-main{flex-basis:100%}.channel-icon{flex:none;opacity:.75}.channel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:15px}.channel-row.unread .channel-name{font-weight:700}.unread-pip{position:absolute;left:-10px;top:50%;width:4px;height:10px;margin-top:-5px;background:var(--accent-grad);border-radius:0 4px 4px 0;box-shadow:0 0 8px #19c3ffb3}.badge{background:var(--danger);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 6px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.voice-participants{padding:0 0 4px 30px}.voice-participant{display:flex;align-items:center;gap:8px;padding:3px 8px;border-radius:8px;color:var(--text-muted);font-size:14px}.voice-participant:hover{background:var(--bg-hover);color:var(--text)}.vp-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vp-icons{display:flex;align-items:center;gap:4px;flex:none}.live-badge{background:var(--danger);color:#fff;font-size:10px;font-weight:800;padding:1px 6px;border-radius:5px;letter-spacing:.06em}.voice-participant .avatar{transition:box-shadow .12s}.voice-participant.speaking .avatar{box-shadow:0 0 0 2px var(--bg-base-2),0 0 0 4px var(--green)}.voice-participant.speaking .vp-name{color:var(--text-strong)}.voice-bar{display:flex;flex-direction:column;gap:8px;padding:10px;margin:0 8px 8px;border-radius:14px;background:var(--bg-hover);border:1px solid var(--border);flex:none}.voice-bar-top{display:flex;align-items:center;gap:8px;min-width:0}.voice-bar-info{flex:1;min-width:0;line-height:1.25}.voice-bar-title{font-size:13px;font-weight:700;color:var(--green)}.voice-bar.connecting .voice-bar-title,.voice-bar.reconnecting .voice-bar-title{color:var(--yellow)}.voice-bar-sub{display:block;max-width:100%;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.voice-bar-sub:hover{color:var(--text-strong);text-decoration:underline}.vq{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--text-muted);flex:none;transition:background .12s}.vq:hover,.vq.on{background:var(--bg-active)}.vq.good{color:var(--green)}.vq.poor{color:var(--yellow)}.vq.bad{color:var(--red)}.vc-buttons{display:flex;gap:4px}.vc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;height:34px;border-radius:10px;color:var(--text);background:var(--bg-hover);transition:background .12s,color .12s}.vc-btn:hover{background:var(--bg-active);color:var(--text-strong)}.vc-btn.on{color:var(--text-strong);background:var(--bg-active)}.vc-btn.danger.on{color:var(--red)}.vc-btn.hangup{color:#fff;background:var(--danger)}.vc-btn.hangup:hover{filter:brightness(.92);background:var(--danger)}.vc-buttons.big{gap:12px;justify-content:center;padding:8px;border-radius:999px;background:var(--overlay);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.vc-btn.big{flex:none;width:52px;height:52px;border-radius:50%;background:var(--bg-active)}.vc-btn.big.on{background:var(--text-strong);color:var(--bg-base)}.vc-btn.big.danger.on{background:var(--text-strong);color:var(--danger)}.vc-btn.big.hangup{background:var(--danger);color:#fff}.voice-view{background:#02050c59}:root[data-theme=light] .voice-view{background:var(--panel)}.voice-stage-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.voice-grid{flex:1;min-height:0;display:grid;gap:10px;padding:14px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));grid-auto-rows:minmax(160px,1fr);align-content:center;overflow-y:auto}.voice-grid.n1{grid-template-columns:minmax(0,1fr)}.voice-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-focus{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px}.voice-stage{flex:1;min-height:0;display:flex}.voice-stage .tile{flex:1}.voice-filmstrip{flex:none;display:flex;gap:10px;overflow-x:auto;height:120px}.voice-filmstrip .tile{flex:none;width:200px}.voice-view-controls{flex:none;padding:12px 12px calc(16px + var(--sab));display:flex;justify-content:center}.audio-blocked{margin:12px 12px 0;padding:10px 14px;border-radius:12px;background:#f4b740;color:#1a1405;font-weight:600}.tile{position:relative;border-radius:16px;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,#17213a,#0b101d 70%);border:1px solid rgba(255,255,255,.06);min-height:0;min-width:0;cursor:pointer;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .12s}.tile.speaking{outline:3px solid var(--green);outline-offset:-3px;box-shadow:0 0 24px -6px #3ccf8e99}.tile-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.tile-video.contain{object-fit:contain}.tile-video.mirror{transform:scaleX(-1)}.tile-avatar,.tile-stream-offer{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#e6ebf5}.tile.speaking .tile-avatar .avatar{box-shadow:0 0 0 3px #0b101d,0 0 0 6px var(--green)}.tile-stream-offer .btn{gap:6px}.tile-label{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:4px 10px;border-radius:999px;background:#0508109e;color:#fff;font-size:13px;font-weight:600}.tile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-actions{position:absolute;top:10px;right:10px;display:flex;gap:4px;opacity:0;transition:opacity .12s}.tile:hover .tile-actions,.tile:focus-within .tile-actions{opacity:1}@media(hover:none){.tile-actions{opacity:1}}.tile-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#0508109e;color:#fff}.tile-btn:hover{background:#050810e0}.tile-stats{position:absolute;top:10px;left:10px;padding:2px 8px;border-radius:6px;background:#0508109e;color:#fff;font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none}.tile:fullscreen{border-radius:0}.tile:fullscreen .tile-video{object-fit:contain}.voice-join{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--text-muted)}.voice-join h2{color:var(--text-strong);font-size:24px;letter-spacing:-.01em}.voice-join p{margin:0}.voice-join-avatars{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.btn.big{min-height:46px;padding:10px 28px;font-size:16px;border-radius:12px}.voice-user-menu{width:240px;padding:12px}.voice-diag{position:fixed;z-index:105;width:340px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;padding:12px 14px;border-radius:16px;background:var(--overlay);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--panel-border);box-shadow:inset 0 1px 0 var(--panel-highlight),var(--shadow);font-size:13px;animation:pop .14s ease-out}.vd-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.vd-head strong{color:var(--text-strong);font-size:14px}.vd-live{flex:1}.vd-section{padding:8px 0;border-top:1px solid var(--border)}.vd-section h4{margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.vd-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.vd-grid dt{color:var(--text-muted)}.vd-grid dd{margin:0;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.vd-gate{font-weight:600}.vd-gate.open{color:var(--green)}.vd-peer{padding:6px 0}.vd-peer+.vd-peer{border-top:1px dashed var(--border)}.vd-peer-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.vd-name{font-weight:650;color:var(--text-strong);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-est{display:inline-flex;align-items:center;gap:6px;flex:none;padding:2px 9px;border-radius:999px;background:var(--bg-active);font-weight:650;font-variant-numeric:tabular-nums;cursor:help}.vd-dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.vd-est.good{color:var(--green)}.vd-est.good .vd-dot{background:var(--green)}.vd-est.ok{color:var(--yellow)}.vd-est.ok .vd-dot{background:var(--yellow)}.vd-est.poor{color:var(--red)}.vd-est.poor .vd-dot{background:var(--red)}.vd-peer-stats{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:3px;font-variant-numeric:tabular-nums}.vd-parts{margin-top:2px;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.vd-foot{margin:6px 0 0;padding-top:8px;border-top:1px solid var(--border);font-size:12px}:root[data-theme=light] .vd-est.good{color:#12865a}:root[data-theme=light] .vd-est.ok{color:#9a6400}:root[data-theme=light] .vd-est.poor{color:#c22a3b}:root[data-theme=light] .vd-gate.open,:root[data-theme=light] .vad-state.open{color:#12865a}.vum-title{font-weight:700;color:var(--text-strong);margin-bottom:10px}.vum-row{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted);margin-bottom:10px}.vum-row input[type=range]{width:100%;accent-color:var(--accent)}.vum-check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.context-menu .vum-reset{margin-top:8px;font-size:13px;color:var(--text-muted)}.settings-tabs{display:flex;gap:4px;padding:0 20px 10px;border-bottom:1px solid var(--border)}.settings-tabs button{padding:6px 12px;border-radius:8px;font-weight:600;font-size:14px;color:var(--text-muted)}.settings-tabs button:hover{background:var(--bg-hover);color:var(--text)}.settings-tabs button.selected{background:var(--bg-selected);color:var(--text-strong);box-shadow:inset 0 0 0 1px #408cff4d}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.vad-settings{margin-bottom:18px}.vad-hint{margin:-4px 0 0}.vad-meter-block{margin:4px 0 10px}.vad-meter{position:relative;height:28px;display:flex;align-items:center}.vad-meter-track{position:relative;width:100%;height:10px;border-radius:5px;background:var(--bg-input);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.vad-meter.manual .vad-meter-track{margin:0 7px}.vad-meter-fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:var(--text-faint);transition:width .04s linear,background .08s}.vad-meter-fill.open{background:var(--green)}.vad-meter.plain .vad-meter-fill{background:var(--accent)}.vad-meter-marker{position:absolute;top:50%;height:20px;width:3px;margin:-10px 0 0 -1.5px;border-radius:2px;background:var(--accent-text);box-shadow:0 0 0 1px #00000059;transition:left .25s ease-out;pointer-events:none}.vad-settings .vad-meter input.vad-slider{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;appearance:none;-webkit-appearance:none;cursor:ew-resize}.vad-slider::-webkit-slider-runnable-track{height:100%;background:transparent}.vad-slider::-moz-range-track{height:100%;background:transparent}.vad-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:24px;margin-top:2px;border-radius:6px;background:#fff;border:2px solid var(--accent);box-shadow:0 2px 6px #0006}.vad-slider::-moz-range-thumb{width:12px;height:22px;border-radius:6px;background:#fff;border:2px solid var(--accent);box-shadow:0 2px 6px #0006}.vad-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-ring)}.vad-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-ring)}.vad-meter-info{display:flex;align-items:center;gap:10px;min-height:38px;flex-wrap:wrap}.vad-state{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:var(--text-muted);min-width:64px}.vad-state:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.vad-state.open{color:var(--green)}.vad-state.open:before{background:var(--green);box-shadow:0 0 8px #3ccf8eb3}.vad-readout{font-variant-numeric:tabular-nums}.keybind{min-width:120px;font-family:var(--mono)}.user-panel{display:flex;align-items:center;gap:10px;padding:10px 10px calc(10px + var(--sab)) 12px;border-top:1px solid var(--border);background:#ffffff05;flex:none}:root[data-theme=light] .user-panel{background:#fff6}.user-panel .presence-dot{border-color:var(--bg-base-2)}.user-panel-text{flex:1;min-width:0;line-height:1.25}.user-panel-name{font-size:14px;font-weight:650;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel-sub{font-size:12px;color:var(--text-muted);text-transform:capitalize}.members-heading{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);padding:16px 8px 6px}.member{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:10px;color:var(--text-muted)}.member:hover{background:var(--bg-hover);color:var(--text)}.member.offline{opacity:.55}.member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:14px}.admin-tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;background:var(--indigo-soft);color:var(--indigo);flex:none;letter-spacing:.04em}.member .presence-dot{border-color:var(--bg-base-2)}.channel-header{height:calc(var(--header-h) + var(--sat));padding:var(--sat) calc(12px + var(--sar)) 0 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);flex:none;min-width:0;box-sizing:border-box}.header-hash{color:var(--accent-text);flex:none;opacity:.9}.header-name{font-size:16px;font-weight:750;letter-spacing:-.01em;color:var(--text-strong);white-space:nowrap}.header-sep{width:1px;height:20px;background:var(--border-strong);margin:0 6px;flex:none}.header-topic{color:var(--text-muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.conn-pill{display:inline-flex;align-items:center;gap:5px;background:#f4b74029;color:var(--yellow);border:1px solid rgba(244,183,64,.35);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);text-align:center;padding:24px}.empty-state>svg{color:var(--accent-text);opacity:.8}.empty-state h2{color:var(--text-strong);font-size:20px}.empty-state p{margin:0}.message-area{flex:1;min-height:0;position:relative;display:flex}.message-scroll{flex:1;overflow-y:auto;overflow-anchor:none;min-height:0;padding-right:var(--sar)}.message-content{padding-bottom:12px;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end}.channel-welcome{padding:32px 20px 16px}.welcome-icon{width:64px;height:64px;border-radius:20px;background:var(--accent-btn);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:12px;box-shadow:var(--accent-glow)}.channel-welcome h2{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:4px}.channel-welcome p{margin:0;color:var(--text-muted)}.divider{display:flex;align-items:center;margin:18px 20px 8px;font-size:12px;font-weight:650;color:var(--text-muted);-webkit-user-select:none;user-select:none}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-strong)}.divider span{padding:0 10px}.new-divider{color:var(--red);margin-top:8px;flex-direction:row-reverse}.new-divider:before{display:none}.new-divider:after{background:var(--red);opacity:.55}.new-divider span{background:var(--danger);color:#fff;font-size:10px;font-weight:800;padding:1px 7px;border-radius:8px;margin-left:-1px;letter-spacing:.04em}.msg{position:relative;padding:3px 20px 3px calc(20px + var(--sal));margin-top:16px;-webkit-touch-callout:none}.msg.grouped{margin-top:0}.msg:hover{background:#ffffff07}:root[data-theme=light] .msg:hover{background:#14234608}.msg.mentioned{background:var(--bg-mention);box-shadow:inset 0 0 0 1px #5aa2ff47;border-radius:12px}.msg.mentioned:hover{background:var(--bg-mention-hover)}.msg.sending{opacity:.6}.msg.failed .md{color:var(--red)}.msg.editing{background:var(--bg-hover)}.msg-row{display:flex;gap:14px;align-items:flex-start}.msg-gutter{width:40px;flex:none;display:flex;justify-content:center;padding-top:2px}.msg.grouped .msg-gutter{padding-top:0}.hover-time{font-size:11px;color:var(--text-muted);opacity:0;line-height:22px;white-space:nowrap}.msg:hover .hover-time{opacity:1}@media(hover:none){.hover-time{display:none}}.msg-body{flex:1;min-width:0}.msg-header{display:flex;align-items:baseline;gap:8px;line-height:22px}.msg-author{font-weight:650;color:var(--text-strong)}.msg-time{font-size:12px;color:var(--text-muted)}.msg-content{font-size:15px;line-height:22px;overflow-wrap:anywhere;white-space:normal;color:var(--text)}.edited{font-size:10px;color:var(--text-muted);margin-left:4px;-webkit-user-select:none;user-select:none}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0}.md code{font:.86em/1.15 var(--mono);background:var(--bg-code);padding:.18em .42em;border-radius:6px}.md pre{background:var(--bg-code);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:6px 0;overflow-x:auto;max-width:100%}.md pre code{background:none;padding:0;font-size:.86rem;line-height:1.4;white-space:pre}.md blockquote{margin:4px 0;padding:6px 12px;background:#9b97ff14;border:1px solid rgba(155,151,255,.18);border-radius:10px;color:var(--text)}.md ul,.md ol{margin:4px 0;padding-left:24px;list-style:revert}.md a{word-break:break-all}.mention{background:var(--mention-bg-pill);color:var(--mention-fg);border-radius:5px;padding:0 3px;font-weight:600;cursor:default}.mention:hover,.mention-me{background:var(--accent-btn);color:#fff}:root[data-theme=light] .mention-me{color:#fff}.spoiler{background:var(--text-faint);color:transparent;border-radius:4px;cursor:pointer;padding:0 2px}.spoiler *{color:transparent!important}.spoiler.revealed{background:var(--bg-active);color:inherit;cursor:text}.spoiler.revealed *{color:inherit!important}.reply-ref{display:flex;align-items:center;gap:6px;margin-left:20px;padding-left:36px;font-size:14px;color:var(--text-muted);position:relative;min-width:0;height:22px}.reply-spine{position:absolute;left:18px;top:50%;width:30px;height:12px;border-left:2px solid var(--text-faint);border-top:2px solid var(--text-faint);border-top-left-radius:8px;opacity:.6}.reply-author{font-weight:600;color:var(--text);flex:none}.reply-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.msg:has(.reply-ref){margin-top:16px}.msg-actions{position:absolute;right:calc(16px + var(--sar));top:-18px;display:none;background:var(--overlay-solid);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-sm);padding:2px;z-index:3}.msg:hover .msg-actions,.msg:focus-within .msg-actions{display:flex}@media(hover:none){.msg-actions{display:none!important}}.inline-edit textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:12px;padding:10px 12px;resize:none;outline:none;line-height:22px;max-height:320px}.inline-edit textarea:focus{border-color:var(--accent-ring)}.inline-edit-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction{display:inline-flex;align-items:center;gap:6px;padding:0 9px;height:28px;border-radius:999px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:600}.reaction:hover{border-color:var(--border-strong)}.reaction.me{background:var(--accent-soft);border-color:#408cff8c;color:var(--mention-fg)}.reaction-emoji{font-size:16px;line-height:1}.reaction.add{padding:0 7px;opacity:0}.msg:hover .reaction.add,.reaction.add:focus-visible{opacity:1}@media(hover:none){.reaction.add{display:none}}.send-failed{display:flex;align-items:center;gap:4px;color:var(--red);font-size:13px;margin-top:2px}.attachments{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}.att-media{display:block;border-radius:12px;overflow:hidden;background:var(--bg-media);border:1px solid var(--border);max-width:100%;line-height:0;cursor:zoom-in}video.att-media{cursor:default;background:#000}.att-media img{display:block;width:100%;height:100%;object-fit:cover}.att-card{display:flex;align-items:center;gap:12px;background:var(--bg-hover);border:1px solid var(--border);border-radius:12px;padding:10px 12px;max-width:min(432px,100%);min-width:240px}.att-audio{flex-direction:column;align-items:stretch;gap:6px}.att-audio audio{width:100%}.att-file-icon{color:var(--accent-text);flex:none}.att-card-body{flex:1;min-width:0}.att-card-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.att-card-size{font-size:12px;color:var(--text-muted)}.embed{max-width:min(432px,100%);margin-top:6px;background:var(--bg-hover);border:1px solid var(--border);border-radius:12px;padding:10px 16px 12px}.embed-site{font-size:12px;color:var(--text-muted);margin-bottom:4px}.embed-title{font-weight:650;display:block;margin-bottom:4px}.embed-desc{font-size:14px;color:var(--text);overflow-wrap:anywhere}.embed-image{display:block;margin-top:8px;max-width:100%;max-height:260px;border-radius:8px}.jump-pill{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:var(--accent-btn);color:#fff;border-radius:999px;font-size:14px;font-weight:650;box-shadow:var(--accent-glow);z-index:4}.jump-pill:hover{box-shadow:0 10px 26px -8px #2f6bfff2}.typing{height:24px;padding:0 20px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;flex:none;color:var(--text-muted)}.typing-dots{display:inline-flex;gap:3px}.typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent-text);animation:pulse 1.2s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,60%,to{opacity:.35}30%{opacity:1}}.composer-wrap{padding:0 calc(16px + var(--sar)) calc(16px + var(--sab)) calc(16px + var(--sal));flex:none;position:relative;margin-top:-24px;padding-top:0}.composer-wrap>:first-child{margin-top:24px}.reply-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-active);border:1px solid var(--border);border-bottom:0;padding:6px 12px;border-radius:14px 14px 0 0;font-size:13px;color:var(--text-muted);margin-bottom:-1px}.reply-bar strong{color:var(--text)}.reply-bar-preview{opacity:.8}.composer{display:flex;align-items:flex-end;gap:2px;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:16px;padding:0 6px;position:relative;transition:border-color .15s,box-shadow .15s}.composer:focus-within{border-color:var(--accent-ring);box-shadow:0 0 0 3px #2f6bff29}:root[data-theme=light] .composer{background:#ffffffd9}.reply-bar+.composer,.upload-tray+.composer{border-top-left-radius:0;border-top-right-radius:0}.composer textarea{flex:1;min-width:0;background:none;border:0;outline:none;resize:none;padding:12px 6px;line-height:22px;max-height:220px;font-size:16px}.composer textarea::placeholder{color:var(--text-muted)}.composer-btn{width:40px;height:46px}.send-btn{width:36px;height:36px;margin:5px 2px 5px 4px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--accent-btn);box-shadow:var(--accent-glow);flex:none;transition:box-shadow .15s,opacity .15s}.send-btn:disabled{color:var(--text-faint);background:var(--bg-active);box-shadow:none}.char-count{align-self:center;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.char-count.over{color:var(--red);font-weight:700}.mention-popup{position:absolute;left:0;right:0;bottom:calc(100% + 8px);background:var(--overlay);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow);padding:6px;max-height:280px;overflow-y:auto;z-index:20}.mention-popup li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer}.mention-popup li.active{background:var(--bg-selected);color:var(--text-strong)}.upload-tray{display:flex;gap:8px;overflow-x:auto;background:var(--bg-active);border:1px solid var(--border);border-bottom:0;padding:12px;border-radius:14px 14px 0 0;margin-bottom:-1px}.upload-chip{position:relative;width:140px;flex:none;background:var(--overlay-solid);border:1px solid var(--border);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:4px}.chip-preview{height:90px;display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;background:var(--bg-input);color:var(--text-muted)}.chip-preview img{width:100%;height:100%;object-fit:cover}.chip-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-meta{font-size:12px;color:var(--text-muted)}.chip-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--danger);color:#fff;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:var(--shadow-sm)}.upload-chip.error{outline:1px solid var(--red)}.progress{height:4px;background:var(--bg-active);border-radius:2px;overflow:hidden}.progress>div{width:100%;height:100%;background:var(--accent-grad);transform-origin:left;transition:transform .15s ease-out}.drop-overlay{position:absolute;inset:0;background:#2f6bff2e;border:2px dashed var(--accent-ring);border-radius:inherit;z-index:30;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay>div{background:var(--overlay-solid);color:var(--text-strong);padding:16px 24px;border-radius:14px;font-weight:650;box-shadow:var(--shadow)}.modal-backdrop{position:fixed;inset:0;background:#03060e9e;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:fade .14s}:root[data-theme=light] .modal-backdrop{background:#1e2d5047}@keyframes fade{0%{opacity:0}}.modal{background:var(--overlay);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--panel-border);border-radius:20px;width:440px;max-width:100%;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;box-shadow:inset 0 1px 0 var(--panel-highlight),var(--shadow);overflow:hidden;animation:pop .16s ease-out}@keyframes pop{0%{transform:translateY(6px) scale(.985);opacity:0}}.modal.wide{width:560px}.modal form{display:flex;flex-direction:column;min-height:0}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 8px 22px}.modal-header h2{font-size:19px;font-weight:750;letter-spacing:-.01em;color:var(--text-strong)}.modal-body{padding:8px 22px 20px;overflow-y:auto}.modal-body p{margin:0}.modal-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:14px 22px;background:#ffffff06;border-top:1px solid var(--border)}:root[data-theme=light] .modal-footer{background:#14234606}.field{display:block;border:0;padding:0;margin:0 0 16px;min-width:0}.field>span,.field>legend{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;padding:0;letter-spacing:.08em}.field input:not([type=radio]),.field select{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none;min-height:42px}.field input:focus,.field select:focus{border-color:var(--accent-ring);box-shadow:0 0 0 3px #2f6bff29}.field select option{background:var(--overlay-solid);color:var(--text)}.inline-field{display:flex;gap:8px}.radio-card{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-hover);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;cursor:pointer;transition:background .12s,border-color .12s}.radio-card:hover{border-color:var(--border-strong)}.radio-card.selected{background:var(--bg-selected);border-color:#408cff80}.radio-card input{accent-color:var(--accent)}.radio-card span{display:flex;flex-direction:column}.radio-card small{color:var(--text-muted)}.settings section{margin-bottom:24px}.settings h3{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.08em;margin-bottom:12px}.settings-profile{display:flex;align-items:center;gap:16px;margin-bottom:16px}.settings-profile-actions{display:flex;flex-wrap:wrap;gap:8px}.identity-list{list-style:none;padding:0;margin:0 0 12px}.identity-list .setting-row{border-bottom:1px solid var(--border);padding:10px 0}.merge-confirm{padding:14px;margin:12px 0;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover)}.merge-confirm p{margin:0 0 14px;line-height:1.5}.link-screen{--link: #39ff7a;position:fixed;inset:0;display:grid;place-items:center;padding:24px;overflow:hidden;background:#000;color-scheme:dark}.link-rain{position:absolute;inset:0;width:100%;height:100%;opacity:.5}.link-terminal{position:relative;width:min(100%,520px);color:var(--link);font:15px/1.7 var(--mono);background:#000803d6;border:1px solid rgba(57,255,122,.32);border-radius:6px;box-shadow:0 0 0 1px #000,0 0 48px #39ff7a24,inset 0 0 60px #39ff7a0d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;overflow:hidden}.link-terminal:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.22) 0 1px,transparent 1px 3px)}.link-bar{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid rgba(57,255,122,.18);color:#39ff7a73;font-size:11px;letter-spacing:.08em}.link-bar i{width:8px;height:8px;border-radius:50%;border:1px solid rgba(57,255,122,.4)}.link-bar span{margin-left:auto}.link-body{padding:18px 20px 22px;min-height:120px}.link-line{display:block;margin:0;text-shadow:0 0 6px rgba(57,255,122,.55);white-space:pre-wrap}.link-prompt{width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.link-prompt:focus-visible{outline:none}.link-terminal:has(.link-prompt:focus-visible){border-color:#39ff7ab3;box-shadow:0 0 0 1px #000,0 0 56px #39ff7a3d,inset 0 0 60px #39ff7a0d}.link-caret{opacity:.55}.link-typed{color:#d9ffe6}.link-error{margin-bottom:10px;color:#ffb454;text-shadow:0 0 6px rgba(255,180,84,.45)}.link-cursor{display:inline-block;width:.6em;height:1.15em;margin-left:2px;vertical-align:-.22em;background:currentColor;box-shadow:0 0 8px #39ff7ab3;animation:link-blink 1.06s steps(1) infinite}@keyframes link-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.link-cursor{animation:none}}@media(max-width:480px){.link-terminal{font-size:14px}.link-body{padding:14px 14px 18px}}.file-btn{cursor:pointer}.segmented{display:inline-flex;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:3px}.segmented button{padding:6px 18px;border-radius:7px;font-weight:600;font-size:14px;color:var(--text-muted)}.segmented button.selected{background:var(--accent-btn);color:#fff;box-shadow:var(--accent-glow)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.setting-row p{margin:2px 0 0}.switch{width:40px;height:24px;border-radius:12px;background:var(--bg-active);border:1px solid var(--border-strong);position:relative;flex:none;transition:background .15s}.switch span{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .15s}.switch.on{background:var(--accent-btn);border-color:transparent}.switch.on span{transform:translate(16px)}.switch:disabled{opacity:.5}.menu-backdrop,.picker-backdrop{position:fixed;inset:0;z-index:110}.context-menu{position:fixed;background:var(--overlay);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:14px;padding:6px;min-width:196px;box-shadow:var(--shadow);border:1px solid var(--panel-border)}.context-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:8px;font-size:14px;font-weight:550}.context-menu button:hover{background:var(--accent-btn);color:#fff}.context-menu button.danger{color:var(--red)}.context-menu button.danger:hover{background:var(--danger);color:#fff}.picker-pop{position:fixed;z-index:111;box-shadow:var(--shadow);border-radius:16px;overflow:hidden;min-width:352px;min-height:200px;background:var(--overlay-solid);border:1px solid var(--panel-border)}.picker-pop em-emoji-picker{--border-radius: 16px;--rgb-accent: 47, 107, 255;--rgb-background: 17, 26, 45;--rgb-color: 223, 229, 241;--color-border: rgba(255, 255, 255, .08);--shadow: none}:root[data-theme=light] .picker-pop em-emoji-picker{--rgb-background: 247, 249, 253;--rgb-color: 28, 36, 54;--color-border: rgba(20, 35, 70, .08)}.sheet-backdrop{position:fixed;inset:0;background:#03060e8c;z-index:105;display:flex;align-items:flex-end;animation:fade .12s}.sheet{width:100%;background:var(--overlay);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--panel-border);border-bottom:0;border-radius:22px 22px 0 0;padding:8px 12px calc(12px + var(--sab));animation:rise .18s ease-out;max-height:80dvh;overflow-y:auto}@keyframes rise{0%{transform:translateY(40px);opacity:0}}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:4px auto 10px}.sheet-preview{font-size:14px;color:var(--text-muted);padding:0 4px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-preview strong{color:var(--text-strong)}.quick-reactions{display:flex;justify-content:space-between;padding:4px 0 10px}.quick-reactions button{width:46px;height:46px;border-radius:50%;background:var(--bg-active);font-size:24px;display:inline-flex;align-items:center;justify-content:center}.sheet-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 10px;border-radius:12px;font-size:16px;font-weight:550;text-align:left}.sheet-item:active{background:var(--bg-active)}.sheet-item.danger{color:var(--red)}.lightbox{position:fixed;inset:0;background:#03060ee6;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;animation:fade .12s}.lightbox img{max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;border-radius:10px;cursor:default}.lightbox-close{position:absolute;top:calc(12px + var(--sat));right:12px;color:#fff}.lightbox-open{color:#fff;opacity:.85;font-size:14px;display:inline-flex;gap:4px;align-items:center}.toasts{position:fixed;bottom:calc(24px + var(--sab));left:50%;transform:translate(-50%);z-index:130;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px))}.toast{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#300e18e6;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(255,93,108,.45);box-shadow:var(--shadow);color:#ffe4e7;padding:10px 12px 10px 16px;border-radius:14px;font-size:14px;animation:rise .18s ease-out}:root[data-theme=light] .toast{background:#fff1f3f0;color:#7a1424;border-color:#cf2a3f59}.toast .icon-btn{color:inherit}.scrim{position:fixed;inset:0;background:#03060e8c;z-index:40;animation:fade .15s}.header-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:10px;color:var(--text-muted);font-size:14px;font-weight:600;position:relative;flex:none;border:1px solid transparent;transition:background .12s,color .12s}.header-btn:hover{color:var(--text-strong);background:var(--bg-hover)}.header-btn.on{color:var(--text-strong);background:var(--bg-selected);border-color:#408cff59}.header-btn.on svg{color:var(--accent-text)}.header-btn-dot{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%;background:var(--accent-grad);box-shadow:0 0 0 2px var(--bg-base-2),0 0 8px #19c3ffcc}.icon-btn.watch-live{color:var(--accent-text);opacity:1}.icon-btn.watch-live:hover{color:var(--text-strong)}.play-theater{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.play-theater-main{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.play-browser{width:min(860px,100%);min-height:0;flex:1;display:flex;flex-direction:column;align-self:center;padding:18px 20px}.play-browser-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.play-kicker{color:var(--accent-text);font-size:10px;font-weight:800;letter-spacing:.12em}.play-browser-head h2{margin:3px 0 0;color:var(--text-strong);font-size:22px;font-weight:760}.play-search input{width:100%;height:42px;padding:0 14px;border:1px solid var(--border);border-radius:11px;color:var(--text-strong);background:var(--bg-base-2);outline:none}.play-search input:focus{border-color:var(--focus)}.play-systems{display:flex;gap:7px;overflow-x:auto;padding:12px 0;scrollbar-width:thin}.play-system-chip{display:inline-flex;align-items:center;gap:7px;flex:none;padding:7px 10px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);background:var(--bg-base-2);font-size:12px}.play-system-chip small{display:inline-grid;min-width:18px;height:18px;place-items:center;border-radius:9px;color:var(--text-muted);background:var(--bg-hover);font-size:10px}.play-system-chip.selected{color:var(--text-strong);border-color:#408cff73;background:var(--bg-selected)}.play-games{flex:1;min-height:120px;max-height:min(48vh,520px);overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg-base-2)}.play-game-row{width:100%;min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 12px;color:var(--text);text-align:left;border-bottom:1px solid var(--border)}.play-game-row:last-child{border-bottom:0}.play-game-row:hover,.play-game-row.selected{background:var(--bg-hover)}.play-game-row.selected{box-shadow:inset 3px 0 var(--accent)}.play-game-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.play-game-copy strong{overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px}.play-game-copy small,.play-game-size{color:var(--text-muted);font-size:12px}.play-game-size{flex:none}.play-list-message{padding:18px;color:var(--text-muted);font-size:13px;text-align:center}.play-more{align-self:center;margin:10px 0}.play-browser-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}.play-selected{min-width:0;display:flex;flex-direction:column;gap:3px;color:var(--text-strong);font-size:14px}.play-selected span,.play-selected.muted{color:var(--text-muted);font-size:12px}.play-config-note{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--text-muted);text-align:center}.play-config-note svg{color:var(--accent-text)}.play-config-note strong{color:var(--text-strong);font-size:18px}.play-config-note span{max-width:440px;line-height:1.5}.play-change-hint{margin:10px 0 0;color:var(--text-muted);font-size:12px}.play-join-prompt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;color:var(--text-muted)}.play-join-prompt>svg{color:var(--accent-text)}.play-join-prompt h2{margin:4px 0 0;color:var(--text-strong);font-size:22px}.play-join-prompt p{max-width:430px;margin:0 0 10px}.play-error{z-index:15;display:flex;align-items:center;gap:10px;align-self:center;margin:8px 12px;padding:8px 12px;border:1px solid rgba(255,105,120,.35);border-radius:10px;color:var(--red);background:var(--bg-base-2);font-size:13px}.play-error button{display:inline-flex;color:inherit}.play-session-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.play-session-title{min-width:0;display:flex;align-items:center;gap:10px}.play-session-title h2{overflow:hidden;margin:0 0 3px;color:var(--text-strong);font-size:17px;text-overflow:ellipsis;white-space:nowrap}.play-session-title span:not(.play-live-dot){color:var(--text-muted);font-size:12px}.play-live-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#43d68d;box-shadow:0 0 12px #43d68d8c}.play-session-actions{display:flex;align-items:center;gap:7px;flex:none}.play-session-actions .btn{display:inline-flex;align-items:center;gap:6px}.play-session-actions .btn.danger{color:var(--red)}.voice-mode-switch{display:inline-flex;align-items:center;padding:3px;gap:2px;border:1px solid var(--border);border-radius:13px;background:var(--bg-base-2)}.voice-mode-switch .header-btn{min-height:40px;height:40px;padding:0 12px;border-radius:10px}.voice-mode-switch .header-btn.on{background:var(--bg-selected);border-color:#408cff61}.voice-mode-switch .header-btn svg+svg{margin-left:-5px}.play-page{overflow-y:auto;padding:28px clamp(18px,4vw,56px) 48px}.play-page-header{margin:0 auto 20px;width:min(1100px,100%)}.play-page-header h1,.play-catalog-heading h1{margin:4px 0 0;color:var(--text-strong);font-size:30px;font-weight:780;letter-spacing:-.03em}.play-page>.play-search,.play-catalog>.play-search{display:flex;align-items:center;gap:8px;width:min(1100px,100%);height:46px;margin:0 auto 22px;padding:0 12px;color:var(--text-muted);border:1px solid var(--border-strong);border-radius:12px;background:var(--bg-base-2)}.play-page>.play-search input,.play-catalog>.play-search input{flex:1;min-width:0;height:100%;border:0;outline:0;color:var(--text-strong);background:transparent}.play-page>.play-search:focus-within,.play-catalog>.play-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.play-catalog{width:min(1100px,100%);margin:0 auto}.play-catalog.compact{width:100%;margin:0;min-height:0;flex:1;overflow-y:auto}.play-catalog-heading{margin-bottom:18px}.play-system-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(245px,100%),1fr));gap:14px}.play-system-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:16 / 10;overflow:hidden;padding:0;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--system-accent) 38%,var(--bg-base-2)),var(--bg-base-2) 78%);text-align:left;transition:transform .15s ease,border-color .15s,box-shadow .15s}.play-system-card:hover,.play-system-card:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--system-accent) 65%,var(--border));box-shadow:0 16px 34px -22px var(--system-accent)}.play-system-card:focus-visible,.play-poster-card:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.play-system-card img{position:absolute;inset:10px 10px 48px;width:calc(100% - 20px);height:calc(100% - 58px);object-fit:contain}.play-system-card-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:3px;padding:11px 13px;background:linear-gradient(transparent,color-mix(in srgb,var(--bg-base) 92%,transparent) 25%)}.play-system-card-copy strong{color:var(--text-strong);font-size:16px}.play-system-card-copy small,.play-catalog-tools>span{color:var(--text-muted);font-size:12px}.play-catalog-tools{min-height:42px;display:flex;align-items:center;gap:12px;margin-bottom:8px}.play-system-detail{display:flex;align-items:center;gap:18px;min-height:150px;margin:4px 0 10px;padding:12px 18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(110deg,color-mix(in srgb,var(--system-accent, var(--accent)) 25%,var(--bg-base-2)),var(--bg-base-2) 75%)}.play-system-detail img{width:min(220px,42%);height:130px;object-fit:contain}.play-system-detail div{display:flex;flex-direction:column;gap:5px}.play-system-detail strong{color:var(--text-strong);font-size:22px}.play-system-detail span{color:var(--text-muted);font-size:13px}.play-poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));align-items:start;gap:18px 14px;padding:2px 2px 16px}.play-poster-grid.wide{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.play-mobile-bar{display:flex;margin:0 0 6px -6px}.play-poster-card{min-width:0;display:flex;flex-direction:column;gap:5px;color:var(--text);text-align:left}.play-box-art{position:relative;display:grid;width:100%;aspect-ratio:var(--art-aspect, 3 / 4);place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:linear-gradient(155deg,color-mix(in srgb,var(--system-accent) 28%,var(--bg-base-2)),var(--bg-base-2) 72%);transition:transform .15s ease,box-shadow .15s ease}.play-box-art img{width:100%;height:100%;object-fit:contain}.play-box-art .poster-fallback-subtitle{color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.play-box-art .poster-fallback-title{font-size:12px}.play-poster-card:hover .play-box-art,.play-poster-card:focus-visible .play-box-art{transform:translateY(-3px);box-shadow:0 0 0 2px var(--system-accent),0 14px 26px -16px var(--system-accent)}.play-poster-card>strong{display:-webkit-box;min-height:2.65em;overflow:hidden;color:var(--text-strong);font-size:13px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.play-poster-card>small{overflow:hidden;color:var(--text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.play-region-chip{align-self:flex-start;max-width:100%;overflow:hidden;padding:2px 7px;border-radius:999px;color:var(--text-muted);background:var(--bg-hover);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.play-playing{width:min(1100px,100%);margin:0 auto 24px}.play-playing h2,.watch-start h2{margin:0 0 12px;color:var(--text-strong);font-size:19px}.play-playing-grid,.play-watching-grid{display:grid;gap:10px}.play-playing-card{display:flex;align-items:center;gap:14px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--bg-base-2)}.play-playing-art{position:relative;width:58px;height:72px;flex:none;overflow:hidden;border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--system-accent) 38%,var(--bg-base-2)),var(--bg-base-2) 75%)}.play-playing-art>*{width:100%;height:100%}.play-playing-art img{width:100%;height:100%;object-fit:contain}.play-playing-art .poster-fallback{padding:4px}.play-playing-art .poster-fallback-title,.play-playing-art .poster-fallback-subtitle{display:none}.play-playing-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.play-playing-info strong{overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.play-playing-info span,.play-playing-info small{color:var(--text-muted);font-size:12px}.play-slot-avatars{display:flex;align-items:center;gap:4px;margin-top:3px}.play-slot-avatar-empty{display:grid;width:24px;height:24px;place-items:center;border:1px dashed var(--border-strong);border-radius:50%;color:var(--text-muted);font-size:10px}.play-existing-session,.play-inline-error,.play-catalog-error{margin:12px 0 0;color:var(--text-muted);font-size:13px}.play-inline-error,.play-catalog-error{color:var(--red)}.play-slot-detail{display:flex;align-items:center;gap:6px;margin-top:12px;color:var(--text-muted);font-size:13px}.play-game-sheet .play-sheet-art{position:relative;width:144px;aspect-ratio:3 / 4;overflow:hidden;border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--system-accent) 38%,var(--bg-base-2)),var(--bg-base-2) 75%)}.play-sheet-art img{width:100%;height:100%;object-fit:contain}.play-game-sheet .ts-text h3{color:var(--text-strong);font-size:20px}.watch-start{width:min(1100px,100%);margin:28px auto}.watch-start p{margin:0 0 14px;color:var(--text-muted)}.watch-start>div{display:flex;flex-wrap:wrap;gap:10px}.channel-name-wrap{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.channel-name-wrap .channel-name{width:100%}.channel-activity{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;padding:0;border:0;color:var(--accent-text);background:none;font-size:11px;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.channel-activity{margin:-3px 0 2px 26px}.channel-activity svg{flex:none}.channel-activity-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-activity:hover,.channel-activity:focus-visible{color:var(--text-strong);text-decoration:underline}.channel-link:has(.channel-name-wrap){align-items:center}@media(prefers-reduced-motion:reduce){.play-system-card,.play-box-art{transition:none}.play-system-card:hover,.play-poster-card:hover .play-box-art{transform:none}}.play-change-panel{position:absolute;z-index:10;top:66px;left:16px;width:min(620px,calc(100% - 32px));height:min(70%,600px);overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--bg-base-2);box-shadow:0 20px 60px #0000008c}.play-change-panel .play-browser{width:100%;min-height:420px;padding:14px}.play-stage{position:relative;flex:1;min-height:200px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;background:#000;outline:none}.play-stage:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.play-stage:fullscreen{width:100vw;height:100vh;border-radius:0}.play-emulator-wrap{position:absolute;inset:0;background:#000}.play-host-runtime{position:fixed;z-index:3;overflow:hidden;background:#000}.play-host-runtime:fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:9999!important;background:#000}.play-emulator-frame{width:100%;height:100%;border:0;background:#000}.play-stream-video{width:100%;height:100%;object-fit:contain;background:#000}.play-stage-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;color:#d5dcec;background:radial-gradient(circle at center,#152039,#05070c 75%);text-align:center}.play-stage-cover.error{color:#ff9aa5}.play-audio-note{position:absolute;z-index:2;top:12px;left:50%;transform:translate(-50%);padding:6px 10px;border:1px solid rgba(255,193,84,.4);border-radius:999px;color:#ffdaa0;background:#080c16d9;font-size:12px}.play-audio-enable{position:absolute;z-index:4;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;color:#fff;background:#080c16d1}.play-controls{position:absolute;z-index:5;right:12px;bottom:12px;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#080c16b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.play-control-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:8px;color:#f5f7fb}.play-control-btn:hover,.play-control-btn.on{background:#ffffff21;color:#8cc4ff}.play-volume{width:76px;accent-color:#6eb0ff}.play-help-popover{position:absolute;right:0;bottom:44px;width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:11px;color:#dce5f4;background:#0a0f1bf2;box-shadow:0 10px 35px #0006;font-size:12px}.play-help-popover strong{margin-bottom:2px;color:#fff}.play-slots{flex:none;padding:10px 14px;background:var(--bg-base-2);border-top:1px solid var(--border)}.play-slots-list{display:flex;flex-wrap:wrap;gap:8px}.play-slot{min-width:170px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid var(--border);border-radius:11px;background:var(--bg-base)}.play-slot.mine{border-color:#408cff73}.play-slot-label{color:var(--accent-text);font-size:11px;font-weight:800}.play-slot-empty{width:26px;height:26px;display:inline-grid;place-items:center;border:1px dashed var(--border);border-radius:50%;color:var(--text-muted)}.play-slot-name{min-width:0;flex:1;overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px}.play-slot .btn.small{padding:4px 7px;font-size:11px;white-space:nowrap}.play-kick{flex:none;width:30px;height:30px;color:var(--red)}.play-voice-strip{flex:none;padding:8px 12px 10px;border-top:1px solid var(--border)}.play-key-capture{display:none}.play-pad-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fff;background:#192338a8;box-shadow:0 3px 12px #00000047;font-size:14px;font-weight:750;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:auto}.play-pad-btn:active{background:#2f6bffcc}.play-touch-pad{position:absolute;z-index:4;inset:0;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.play-touch-cluster{position:absolute;transform:translate(-50%,-50%) scale(var(--touch-scale, 1));opacity:var(--touch-opacity, .85)}.play-touch-cluster.editing{pointer-events:auto;cursor:grab;touch-action:none;outline:2px dashed rgba(120,170,255,.85);outline-offset:6px;border-radius:14px;background:#2f6bff1f}.play-touch-cluster.editing:active{cursor:grabbing}.play-touch-cluster.editing .play-pad-btn{pointer-events:none}.play-touch-dpad{width:126px;height:126px;display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);place-items:center}.play-touch-dpad .play-pad-btn{width:42px;height:42px;border-radius:11px}.play-touch-dpad [data-play-button=up]{grid-area:1 / 2}.play-touch-dpad [data-play-button=left]{grid-area:2 / 1}.play-touch-dpad [data-play-button=right]{grid-area:2 / 3}.play-touch-dpad [data-play-button=down]{grid-area:3 / 2}.play-touch-face .play-pad-btn{position:absolute;width:52px;height:52px;transform:translate(-50%,-50%);font-size:15px}.play-touch-shoulderL,.play-touch-shoulderR{display:flex;gap:6px}.play-pad-btn.shoulder{min-width:64px;min-height:34px;border-radius:10px;font-size:12px}.play-touch-meta{display:flex;gap:10px}.play-pad-btn.meta{min-width:58px;min-height:30px;border-radius:15px;font-size:11px}.play-touch-editbar{position:absolute;z-index:6;top:60px;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;max-width:calc(100% - 24px);padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#e6ecf7;background:#080c16e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;pointer-events:auto}.play-touch-editbar label{display:inline-flex;align-items:center;gap:6px}.play-touch-editbar input[type=range]{width:90px}.play-stage.touch-on .play-controls{top:12px;bottom:auto}.play-stage.touch-on .play-help-popover{top:44px;bottom:auto}.watch-theater{flex:1;min-height:0;display:flex}.watch-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px}.watch-player{position:relative;flex:1;min-height:0;display:flex;background:#000;border-radius:16px;overflow:hidden;color:#fff;box-shadow:0 20px 50px -20px #000c}.watch-player:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.watch-player:fullscreen{border-radius:0}.watch-player.idle{cursor:none}.watch-video{width:100%;height:100%;object-fit:contain;display:block;background:#000;cursor:pointer}.watch-video::cue{font-size:var(--cue-size, 24px);line-height:1.3;background:#0009;color:#fff}.watch-video::-webkit-media-text-track-container{transition:transform .2s}.watch-player:not(.idle) .watch-video::-webkit-media-text-track-container{transform:translateY(-64px)}.watch-topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:12px 16px 30px;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);pointer-events:none;transition:opacity .2s}.watch-title{font-weight:650;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.6)}.watch-notice-icon{display:inline-flex;flex:none;opacity:.8;pointer-events:auto;cursor:help}.watch-controls{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:30px 12px 8px;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.4) 60%,transparent);transition:opacity .2s}.watch-player.idle .watch-controls,.watch-player.idle .watch-topbar{opacity:0;pointer-events:none}.watch-controls-row{display:flex;align-items:center;gap:2px}.watch-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:#fff;flex:none}.watch-btn:hover:not(:disabled){background:#ffffff24}.watch-btn:disabled{opacity:.35}.watch-btn.on{color:#8cc4ff}:root[data-theme=light] .watch-btn.on{color:#8cc4ff}.watch-time{font-size:13px;font-variant-numeric:tabular-nums;margin-left:6px;white-space:nowrap;opacity:.9}.watch-volume{display:inline-flex;align-items:center}.watch-volume input{width:0;opacity:0;accent-color:#fff;transition:width .15s,opacity .15s;cursor:pointer}.watch-volume:hover input,.watch-volume:focus-within input{width:80px;opacity:1;margin:0 6px 0 2px}.watch-seek{position:relative;height:16px;display:flex;align-items:center;cursor:pointer;touch-action:none;margin:0 6px 2px}.watch-seek-track{position:relative;flex:1;height:4px;border-radius:2px;background:#ffffff38;overflow:hidden;transition:height .1s}.watch-seek:hover .watch-seek-track,.watch-seek.dragging .watch-seek-track,.watch-seek:focus-visible .watch-seek-track{height:6px}.watch-seek-buffered{position:absolute;top:0;bottom:0;background:#ffffff59}.watch-seek-fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#2f6bff,#19c3ff)}.watch-seek-thumb{position:absolute;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #2f6bff73,0 1px 3px #00000080;transform:scale(0);transition:transform .1s;pointer-events:none}.watch-seek:hover .watch-seek-thumb,.watch-seek.dragging .watch-seek-thumb,.watch-seek:focus-visible .watch-seek-thumb{transform:scale(1)}.watch-seek:focus-visible{outline:none}.watch-seek-tip{position:absolute;bottom:18px;transform:translate(-50%);padding:2px 8px;border-radius:6px;background:#080c16e6;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.watch-menu{position:absolute;right:12px;bottom:76px;width:240px;max-height:min(360px,calc(100% - 96px));overflow-y:auto;padding:6px;border-radius:14px;background:#0e1424db;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px -16px #000000b3;z-index:2}.watch-menu-heading{padding:8px 8px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#a9b4ca}.watch-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;border-radius:8px;font-size:14px;text-align:left;color:#fff}.watch-menu-item:hover{background:linear-gradient(135deg,#2c5ff5,#1670dc)}.watch-menu-check{display:inline-flex;width:16px;flex:none}.watch-menu-empty{padding:4px 8px 6px;font-size:13px;color:#a9b4ca}.watch-size{display:flex;margin:4px 8px 6px;background:#ffffff14;border-radius:8px;padding:2px}.watch-size button{flex:1;padding:5px 0;color:#a9b4ca;font-size:13px;border-radius:6px}.watch-size button.selected{background:#ffffff2e;color:#fff}.watch-cast-menu{width:min(340px,calc(100vw - 24px))}.receiver-row{margin:4px 6px 10px;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:12px}.receiver-row-title{display:flex;align-items:center;gap:6px;margin-bottom:6px}.receiver-row-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receiver-row-title span{color:#a9b4ca;margin-left:auto;white-space:nowrap}.receiver-row-title button{color:#ff9aa5;font-size:12px;white-space:nowrap;padding:2px 4px}.receiver-row label,.receiver-pair label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:13px}.receiver-row select{min-width:0;max-width:200px;color:#e6ebf5;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px}.receiver-row select option{background:#111a2d}.receiver-pair{display:flex;flex-direction:column;gap:8px}.receiver-pair p{overflow-wrap:anywhere;color:#a9b4ca}.receiver-pair input{width:100%;min-height:40px;padding:8px 10px;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px}.watch-cast-session{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;font-size:13px;color:#dfe5f1;line-height:1.35}.watch-cast-session>svg{flex:none;margin-top:1px}.watch-cast-session strong{color:#fff}.watch-cast-status{display:block;color:#a9b4ca}.watch-cast-error{display:block;padding:2px 8px 6px;color:#ff9aa5;font-size:13px;line-height:1.35}.watch-cast-session .watch-cast-error{padding:2px 0 0}.watch-cast-device{display:flex;flex-direction:column;min-width:0}.watch-cast-model{font-size:12px;color:#a9b4ca}.watch-menu-item:hover .watch-cast-model{color:#e3e9f5}.watch-menu-item:disabled{opacity:.6}.watch-menu-item:disabled:hover{background:none}.watch-cast-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 24px 96px;text-align:center;background:radial-gradient(circle at center,#17213a,#070b14 75%)}.watch-cast-overlay p{margin:0;font-size:17px;max-width:420px}.watch-cast-overlay .watch-cast-status{font-size:14px}.watch-cast-overlay .watch-cast-error{padding:0;font-size:14px}.watch-cast-overlay-icon{color:#6eb0ff;margin-bottom:4px}.watch-cast-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:6px}.watch-cast-actions .btn:not(.primary){background:#ffffff24;color:#fff}.watch-cast-actions .btn:not(.primary):hover:not(:disabled){background:#ffffff38}.watch-cast-chip{display:inline-flex;align-items:center;gap:5px;flex:none;min-width:0;max-width:220px;padding:2px 9px;border-radius:999px;background:#0000008c;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.watch-cast-chip>span{overflow:hidden;text-overflow:ellipsis}.watch-cast-chip.error{color:#ff9aa5}.watch-queue-cast{flex:none;display:flex;padding:0 12px 8px 16px}.watch-cast-chip.in-queue{background:var(--bg-active);color:var(--text-strong);max-width:100%}.watch-cast-chip.in-queue.error{color:var(--red)}.watch-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#ffffffe6}.watch-error{flex-direction:column;gap:10px;padding:24px;text-align:center;background:#0009;pointer-events:auto;z-index:1}.watch-error p{margin:0;max-width:420px;font-size:15px}.watch-error svg{color:#ff7b88}.watch-join{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0000008c;color:#fff;font-size:16px;font-weight:650;z-index:1}.watch-join svg{width:64px;height:64px;padding:18px;border-radius:50%;background:linear-gradient(135deg,#2c5ff5,#1670dc);box-shadow:0 10px 30px -8px #2f6bffe6;box-sizing:border-box}.watch-join:hover svg{box-shadow:0 12px 36px -6px #2f6bff}.watch-caption{position:absolute;top:48px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);padding:6px 14px;border-radius:999px;background:#080c16c7;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;animation:watch-caption 3.5s ease forwards;z-index:1}@keyframes watch-caption{0%{opacity:0;transform:translate(-50%,-6px)}8%,85%{opacity:1;transform:translate(-50%)}to{opacity:0}}.watch-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;color:#a9b4ca;background:radial-gradient(120% 90% at 50% 0%,#142040,#080c17 70%)}.watch-empty h2{font-size:20px;font-weight:750;color:#f6f8fc}.watch-empty p{margin:0;max-width:420px}.watch-empty .muted{color:#96a2ba}.watch-empty-icon{color:#6eb0ff;margin-bottom:4px;opacity:.85}.watch-empty-icon.failed{color:#ff7b88}.watch-empty-btn{gap:6px;margin-top:8px;max-width:100%}.watch-empty-progress{display:flex;align-items:center;gap:10px;width:min(320px,100%);font-size:13px;font-variant-numeric:tabular-nums}.watch-empty-progress .progress{flex:1;background:#ffffff1f}.watch-joinbar{flex:none;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 12px;border-radius:14px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted);font-size:14px}.watch-joinbar-avatars{display:flex;flex:none}.watch-joinbar-avatars .avatar+.avatar{margin-left:-6px;box-shadow:0 0 0 2px var(--bg-base-2)}.watch-joinbar-text{flex:1;min-width:0}.watch-voice-strip{flex:none;display:flex;flex-direction:column;gap:8px}.watch-voice-strip .audio-blocked{margin:0}.watch-voice-row{display:flex;align-items:center;gap:12px}.watch-voice-tiles{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;height:96px}.watch-voice-tiles .tile{flex:none;width:160px}.watch-voice-tiles .tile-avatar .avatar{width:48px!important;height:48px!important}.watch-voice-row .vc-buttons{flex:none;width:220px}.watch-queue{width:320px;flex:none;display:flex;flex-direction:column;min-height:0;background:#ffffff05;border-left:1px solid var(--border);padding-right:var(--sar)}.watch-queue.collapsed{width:auto;align-items:center;gap:6px;padding:8px 6px}.watch-queue-header{display:flex;align-items:center;gap:4px;padding:14px 8px 8px 16px;flex:none}.watch-queue-header h2{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.watch-queue-count{min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--accent-soft);color:var(--accent-text);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.btn.small-btn{min-height:30px;padding:4px 10px;gap:4px;font-size:13px;margin-right:2px;border-radius:9px;white-space:nowrap}.watch-queue-header .icon-btn:disabled{opacity:.35}.watch-encode{flex:none;padding:0 12px 10px 16px}.watch-encode-modes{display:flex;padding:2px}.watch-encode-modes button{flex:1;padding:4px 6px;font-size:12px;white-space:nowrap}.watch-encode-hint{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.wq-item:hover .hover-only:disabled,.wq-item:focus-within .hover-only:disabled{opacity:.35}@media(hover:none){.wq-actions .hover-only:disabled{opacity:.35}}.watch-notices{display:flex;align-items:flex-start;gap:6px;margin:0 8px 8px;padding:8px 6px 8px 10px;border-radius:10px;background:#f4b7401a;border:1px solid rgba(244,183,64,.32);font-size:13px;color:var(--text)}.watch-notices-text{flex:1;min-width:0;overflow-wrap:anywhere}.watch-notices p{margin:0}.watch-notices p+p{margin-top:4px}.watch-queue-list{flex:1;min-height:0;overflow-y:auto;margin:0;padding:0 8px 12px;list-style:none}.watch-queue-empty{margin:0;padding:8px 16px;font-size:14px;color:var(--text-muted)}.wq-item{border-radius:12px;margin-bottom:2px;color:var(--text-muted);border:1px solid transparent}.wq-item:hover{background:var(--bg-hover);color:var(--text)}.wq-item.current{background:var(--bg-selected);border-color:#408cff4d;color:var(--text-strong)}.wq-item.watched .wq-main{opacity:.55}.wq-item:hover .hover-only,.wq-item:focus-within .hover-only{opacity:1}.wq-row{display:flex;align-items:center;gap:2px;padding-right:4px}.wq-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 4px 8px 8px;text-align:left;border-radius:12px;color:inherit}.wq-main:disabled{cursor:default}.wq-index{position:relative;width:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.wq-play{display:none;color:var(--text-strong)}.wq-main:not(:disabled):hover .wq-num{display:none}.wq-main:not(:disabled):hover .wq-play{display:block}.wq-eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.wq-eq i{width:3px;background:var(--accent-grad);border-radius:1px;animation:wq-eq .9s ease-in-out infinite}.wq-eq i:nth-child(1){height:60%}.wq-eq i:nth-child(2){height:100%;animation-delay:-.3s}.wq-eq i:nth-child(3){height:40%;animation-delay:-.6s}@keyframes wq-eq{50%{transform:scaleY(.35)}}.wq-eq i{transform-origin:bottom}.wq-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.wq-title{font-size:14px;font-weight:550;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wq-item.current .wq-title{color:var(--text-strong);font-weight:650}.wq-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;font-size:12px;color:var(--text-muted)}.wq-now{color:var(--accent-text);font-weight:750;text-transform:uppercase;font-size:10px;letter-spacing:.06em}.wq-subs{display:inline-flex;align-items:center;gap:3px}.wq-adder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.wq-actions{display:flex;align-items:center;gap:2px;flex:none}.wq-progress{display:flex;align-items:center;gap:8px;padding:0 10px 8px 40px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.wq-progress .progress{flex:1}.wq-progress span{flex:none}.wq-item.processing .progress>div{background:var(--green)}.wq-error,.wq-notice{display:flex;align-items:flex-start;gap:6px;padding:0 10px 8px 40px;font-size:12px;line-height:1.35}.wq-error{color:var(--red)}.wq-error svg,.wq-notice svg{flex:none;margin-top:1px}.wq-error .link-btn{display:inline-flex;align-items:center;gap:3px;margin:0 0 0 auto;flex:none}.wq-notice,.wq-item.pending .wq-title,.wq-item.failed .wq-title{color:var(--text-muted)}.wq-item.library .wq-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.wq-tag{padding:0 6px;border-radius:5px;background:var(--indigo-soft);color:var(--indigo);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:16px}.watch-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%}.watch-empty-library{background:#ffffff1a;color:#f6f8fc;border:1px solid rgba(255,255,255,.12)}.watch-empty-library:hover{background:#ffffff29}.modal.lib-modal{width:960px;height:min(760px,calc(100dvh - 32px))}.modal:focus{outline:none}.lib{flex:1;min-height:0;display:flex;flex-direction:column}.lib-toolbar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:4px 22px 12px;border-bottom:1px solid var(--border)}.lib-crumbs{flex:1 1 240px;min-width:0}.lib-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0;list-style:none}.lib-crumbs li{display:flex;align-items:center;gap:2px;min-width:0;color:var(--text-faint)}.lib-crumbs button{padding:4px 8px;border-radius:8px;font-size:14px;font-weight:550;color:var(--text-muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-crumbs button:hover{color:var(--text-strong);background:var(--bg-hover)}.lib-crumbs button[aria-current]{color:var(--text-strong);font-weight:700}.lib-search{flex:0 1 300px;min-width:200px;display:flex;align-items:center;gap:6px;padding:0 6px 0 12px;height:38px;border-radius:10px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted)}.lib-search:focus-within{border-color:var(--accent-ring);box-shadow:0 0 0 3px #2f6bff29}.lib-search input{flex:1;min-width:0;height:100%;border:0;outline:none;background:none;font-size:14px}.lib-search input::-webkit-search-cancel-button{display:none}.lib-body{flex:1;min-height:0;overflow-y:auto;padding:14px 22px 22px}.lib-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px}.lib-season-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:12px}.lib-season-bar .lib-heading{margin:0}.lib-season-bar .btn{gap:6px;margin:0}.lib-bulk{flex-basis:100%;margin:0;font-size:13px;color:var(--text-muted);text-align:right}.lib-bulk.done{color:var(--green)}.lib-bulk.error{color:var(--red)}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:18px 14px;align-items:start;margin:0;padding:0;list-style:none}.lib-card{position:relative;min-width:0}.lib-card.wide{grid-column:span 2}.lib-card-main{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border-radius:10px;color:inherit}.lib-card-main:hover .lib-poster{box-shadow:0 0 0 2px var(--accent),0 10px 24px -10px #2f6bffcc}.lib-card-main:hover .lib-card-name{color:var(--text-strong)}.lib-poster{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:2 / 3;margin-bottom:6px;border-radius:10px;overflow:hidden;background:var(--bg-input);border:1px solid var(--border);color:var(--text-faint);transition:box-shadow .15s}.lib-poster.wide{aspect-ratio:16 / 9}.lib-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lib-card-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.lib-card-sub{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card-error{margin:4px 0 0;font-size:12px;line-height:1.35;color:var(--red)}.lib-add{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:32px;height:32px;padding:0 6px;border-radius:16px;background:#080c16c7;color:#fff;font-size:12px;font-weight:650;box-shadow:0 2px 8px #0006;transition:background .12s,transform .12s}.lib-add:hover:not(:disabled){background:linear-gradient(135deg,#2c5ff5,#1670dc);transform:scale(1.06)}.lib-add:disabled{cursor:default}.lib-add.added{padding:0 10px;background:#0f7d51}.lib-added{display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:0 12px;border-radius:10px;background:#3ccf8e24;color:var(--green);font-size:14px;font-weight:650}.lib-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:240px;padding:24px;text-align:center;color:var(--text-muted)}.lib-state p{margin:0;max-width:360px}.lib-state.error>svg{color:var(--red)}.lib-retry,.lib-more{background:var(--bg-active);color:var(--text-strong);gap:6px;border:1px solid var(--border)}.lib-retry:hover:not(:disabled),.lib-more:hover:not(:disabled){background:var(--bg-hover)}.lib-more{display:flex;margin:20px auto 0}.lib-more-error{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px 0 0;font-size:13px;color:var(--red)}.lib-detail{max-width:760px}.lib-back{display:inline-flex;align-items:center;gap:4px;margin:0 0 12px;font-size:14px}.lib-detail-main{display:flex;gap:20px;align-items:flex-start}.lib-detail-main>.lib-poster{flex:none;width:200px}.lib-detail-main>.lib-poster.wide{width:320px}.lib-detail-text{flex:1;min-width:0}.lib-detail-text h3{font-size:20px;font-weight:750;color:var(--text-strong);line-height:1.25;overflow-wrap:anywhere}.lib-detail-meta{margin:4px 0 0;font-size:14px;color:var(--text-muted)}.lib-detail-overview{margin:12px 0 0;font-size:14px;line-height:1.55;color:var(--text);white-space:pre-line}.lib-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px}.lib-detail-actions .btn{gap:6px}.lib-detail-actions .lib-card-error{margin:0;font-size:13px}.main.home{background:none;border:0;box-shadow:none;border-radius:0}.home-header{flex:none;display:flex;align-items:center;gap:14px;padding:10px 8px 14px}.home-logo{width:42px;height:42px;border-radius:13px;box-shadow:0 10px 28px -8px #2f6bffd9;flex:none}.home-titles{min-width:0}.home-header .voice-bar{margin:0;width:300px;background:var(--panel);border-color:var(--panel-border)}.home-titles h1{font-size:24px;font-weight:800;letter-spacing:-.025em;color:var(--text-strong);line-height:1.1}.home-titles p{margin:2px 0 0;font-size:14px;color:var(--text-muted)}.home-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 2px calc(16px + var(--sab))}.home-content{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:var(--gap);padding:0 6px 6px}.home-columns{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap);align-items:start}.home-columns>:only-child{grid-column:1 / -1}.home-section{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-panel);box-shadow:inset 0 1px 0 var(--panel-highlight),var(--shadow-sm);padding:16px 18px 18px;min-width:0}.home-section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-height:30px}.home-section-head h2{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:750;letter-spacing:-.01em;color:var(--text-strong)}.home-section-head h2 svg{color:var(--accent-text)}.home-section-tools{margin-left:auto;display:flex;gap:2px}.home-section-note{margin-left:auto;font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.home-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px 16px;text-align:center;color:var(--text-muted)}.home-state p{margin:0;max-width:420px}.home-state.error>svg{color:var(--red)}.home-state.compact{flex-direction:row;justify-content:flex-start;text-align:left;padding:10px 12px;margin-top:10px;border-radius:12px;background:#ff5d6c14;border:1px solid rgba(255,93,108,.25)}.home-state.compact p{flex:1;font-size:13px;color:var(--text)}.home-live{display:flex;align-items:center;gap:12px;min-width:0}.home-live-title{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--green);padding-left:6px}.home-live-title svg{animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{50%{opacity:.4}}.live-list{flex:1;min-width:0;display:flex;gap:var(--gap);overflow-x:auto;padding:2px}.live-card{flex:none;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 12px;min-width:260px;max-width:360px;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;box-shadow:inset 0 1px 0 var(--panel-highlight)}.live-avatars{display:flex;flex:none}.live-avatars .avatar+.avatar{margin-left:-8px;box-shadow:0 0 0 2px var(--bg-base-2)}.live-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.live-name{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:650;color:var(--text-strong)}.live-sub{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-row{display:grid;grid-auto-flow:column;grid-auto-columns:148px;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 8px;margin:0 -2px;scroll-padding:2px}.poster-row>li{scroll-snap-align:start}.poster-card{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;border-radius:12px;color:inherit}.poster{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:2 / 3;border-radius:12px;overflow:hidden;background:var(--bg-input);border:1px solid var(--border);color:var(--text-faint);margin-bottom:6px;transition:transform .18s,box-shadow .18s}.poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.poster-card:hover .poster,.poster-card:focus-visible .poster{transform:translateY(-3px);box-shadow:0 0 0 2px var(--accent),0 16px 30px -12px #2f6bffd9}.poster-card:focus-visible{outline:none}.poster-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;text-align:center;color:#ffffffd9;background:linear-gradient(160deg,#24418f,#2a2470 55%,#0d1430)}.poster-fallback-title{font-size:13px;font-weight:700;line-height:1.25;color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.poster-flag{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:999px;background:var(--accent-btn);color:#fff;font-size:11px;font-weight:700;letter-spacing:.01em;box-shadow:0 4px 12px -2px #00000080}.poster-title{font-size:14px;font-weight:650;color:var(--text-strong);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.poster-sub{font-size:12px;color:var(--text-muted)}.skeleton .poster,.skeleton-line,.svc-tile.skeleton{background:linear-gradient(90deg,var(--bg-hover) 0%,var(--bg-active) 50%,var(--bg-hover) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-line{display:block;height:10px;border-radius:5px;margin-top:4px;width:85%}.skeleton-line.short{width:50%}@keyframes shimmer{to{background-position:-200% 0}}.modal.title-sheet{width:580px}.ts-hero{display:flex;gap:18px;align-items:flex-start;margin-bottom:18px}.ts-poster{flex:none;width:130px;margin:0;box-shadow:0 16px 34px -14px #000c}.ts-text{flex:1;min-width:0}.ts-meta{font-size:13px;color:var(--text-muted);font-weight:600}.modal-body p.ts-flag{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:700}.modal-body p.ts-overview{margin-top:10px;font-size:14px;line-height:1.6;color:var(--text)}.ts-channels .radio-card{margin-bottom:6px}.ts-channels .radio-card>svg{color:var(--text-muted);flex:none}.modal-body p.ts-none{margin-bottom:8px}.search-box{display:flex;align-items:center;gap:8px;height:44px;padding:0 8px 0 14px;border-radius:12px;background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text-muted);transition:border-color .15s,box-shadow .15s}.search-box:focus-within{border-color:var(--accent-ring);box-shadow:0 0 0 3px #2f6bff29}:root[data-theme=light] .search-box{background:#fffc}.search-box input{flex:1;min-width:0;height:100%;border:0;outline:none;background:none;font-size:15px;color:var(--text-strong)}.search-box input::placeholder{color:var(--text-muted)}.search-box input::-webkit-search-cancel-button{display:none}.req-results{margin-top:10px;max-height:380px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.req-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;transition:background .12s}.req-item:hover{background:var(--bg-hover)}.req-item.compact{padding:6px 8px}.req-poster{position:relative;flex:none;width:40px;height:60px;border-radius:7px;overflow:hidden;background:var(--bg-input);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.req-poster.small{width:32px;height:48px;border-radius:6px}.req-poster img{width:100%;height:100%;object-fit:cover}.req-poster .poster-fallback{padding:0}.req-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.req-title{font-size:14px;font-weight:650;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-year{font-weight:500;color:var(--text-muted)}.req-meta{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-note{font-size:12px;color:var(--text-muted)}.req-note.error{color:var(--red)}.req-action{flex:none;display:flex;align-items:center;gap:6px}.req-done{color:var(--green)}.req-empty{display:flex;align-items:center;gap:6px;margin:12px 4px 0;font-size:14px;color:var(--text-muted)}.req-recent{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.req-recent-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.req-recent-head h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.req-list{display:flex;flex-direction:column;gap:2px;max-height:420px;overflow-y:auto}.status-pill{flex:none;display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:650;white-space:nowrap;border:1px solid transparent}.status-pill.s-none{background:var(--bg-active);color:var(--text-muted)}.status-pill.s-pending{background:#f4b74021;color:var(--yellow);border-color:#f4b7404d}.status-pill.s-approved{background:var(--accent-soft);color:var(--accent-text);border-color:#408cff59}.status-pill.s-partial{background:var(--indigo-soft);color:var(--indigo);border-color:#7c6cff59}.status-pill.s-available{background:#3ccf8e21;color:var(--green);border-color:#3ccf8e4d}.status-pill.s-denied{background:#ff5d6c1f;color:var(--red);border-color:#ff5d6c4d}.toggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;position:relative}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{position:relative;width:34px;height:20px;border-radius:10px;background:var(--bg-active);border:1px solid var(--border-strong);transition:background .15s}.toggle-track span{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .15s}.toggle input:checked+.toggle-track{background:var(--accent-btn);border-color:transparent}.toggle input:checked+.toggle-track span{transform:translate(14px)}.toggle input:checked~*{color:var(--text-strong)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--focus);outline-offset:2px}.svc-group+.svc-group{margin-top:16px}.svc-group h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px 2px}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.svc-tile{display:flex;align-items:center;gap:12px;min-height:72px;padding:11px 12px;border-radius:14px;background:var(--bg-hover);border:1px solid var(--border);color:inherit;text-decoration:none!important;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.svc-tile:hover{background:var(--bg-active);border-color:#408cff73;transform:translateY(-1px);box-shadow:0 12px 26px -16px #2f6bffe6}.svc-icon{flex:none;width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-text);border:1px solid rgba(64,140,255,.22)}.svc-tile.down .svc-icon{background:var(--bg-active);color:var(--text-muted);border-color:var(--border)}.svc-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.svc-name{font-size:14px;font-weight:650;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svc-desc{font-size:12px;color:var(--text-muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svc-status{margin-top:3px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.svc-status.down{color:var(--red)}.svc-dot{width:8px;height:8px;border-radius:50%;flex:none}.svc-status.up .svc-dot{background:var(--green);box-shadow:0 0 0 3px #3ccf8e2e}.svc-status.down .svc-dot{background:var(--red);border-radius:2px;transform:rotate(45deg);width:7px;height:7px}.svc-status.unknown .svc-dot{border:2px solid var(--text-faint)}.svc-tile.skeleton{min-height:72px;border-color:transparent}.svc-tile.skeleton:hover{transform:none;box-shadow:none}.app-page{background:none;border:0;box-shadow:none;border-radius:0}.app-header{min-height:66px}.app-icon{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;background:var(--accent-grad);box-shadow:0 10px 24px -8px #2f6bffb3}.app-accent-green{background:linear-gradient(135deg,#168b62,#3ccf8e)}.app-accent-cyan{background:linear-gradient(135deg,#1682c7,#19c3ff)}.app-accent-orange{background:linear-gradient(135deg,#bb571e,#f5a23a)}.app-accent-amber{background:linear-gradient(135deg,#a76500,#e3aa35)}.app-accent-purple,.app-accent-violet{background:linear-gradient(135deg,#653ed2,#a884ff)}.app-accent-pink{background:linear-gradient(135deg,#ba3985,#f47db8)}.app-accent-red{background:linear-gradient(135deg,#a52840,#f05b67)}.app-accent-teal{background:linear-gradient(135deg,#087b82,#31b6ad)}.app-title{flex:1}.app-title p{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.app-fresh{flex:none;display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.app-fresh i,.app-online i{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.app-fresh.up i,.app-online.up i{background:var(--green);box-shadow:0 0 0 3px #3ccf8e26}.app-fresh.warn i{background:var(--yellow)}.app-fresh.down i{background:var(--red)}.app-open{flex:none;gap:5px}.app-stale{flex:none;display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:8px 12px;border:1px solid rgba(244,183,64,.28);border-radius:12px;background:#f4b7401a;color:var(--text);font-size:13px}.app-stale .btn{min-height:30px}.app-content>*{flex-shrink:0}.app-frame-scroll{display:flex;flex:1;min-height:0}.app-content>.home-section{overflow:hidden}.app-content-wide{flex:1;width:100%;min-height:0;max-width:none;padding:0;gap:0;overflow:hidden}.app-page-iframe .home-header{padding-bottom:10px}.app-balatro{display:block;width:100%;height:100%;flex:1;min-height:0;border:0;border-radius:var(--radius-panel);background:#000}.app-state{flex:1;min-height:220px}.app-state h2{color:var(--text-strong);font-size:18px}.app-state-row{display:flex;align-items:center;gap:12px;min-height:32px}.app-muted{color:var(--text-muted);font-size:13px}.app-empty{margin:0;padding:12px 2px;color:var(--text-muted);font-size:14px}.app-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:22px;padding:2px 9px;border-radius:999px;background:var(--bg-active);color:var(--text-muted);font-size:12px;font-weight:650;line-height:1.2;white-space:nowrap}.app-pill.green{color:var(--green);background:#3ccf8e1f}.app-pill.red{color:var(--red);background:#ff5d6c1f}.app-pill.amber{color:var(--yellow);background:#f4b74024}.app-pill.neutral{color:var(--text-muted)}.app-positive{color:var(--green)!important}.app-negative{color:var(--red)!important}:root[data-theme=light]{--app-up: color-mix(in srgb, var(--green) 85%, var(--text-strong))}:root[data-theme=light] .app-positive{color:var(--app-up)!important}:root[data-theme=light] .app-negative{color:#c22a3b!important}:root[data-theme=light] .app-pill.green{color:var(--app-up)}:root[data-theme=light] .app-pill.red{color:#c22a3b}:root[data-theme=light] .app-pill.amber{color:#875600}.app-skeleton{min-height:200px}.app-skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}.app-skeleton-grid i{height:100px;border-radius:14px;background:linear-gradient(90deg,var(--bg-hover),var(--bg-active),var(--bg-hover));background-size:200% 100%;animation:shimmer 1.4s linear infinite}.app-skeleton-posters{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(88px,1fr);gap:10px;overflow:hidden;margin-top:18px}.app-skeleton-posters i{aspect-ratio:2 / 3;border-radius:10px;background:linear-gradient(90deg,var(--bg-hover),var(--bg-active),var(--bg-hover));background-size:200% 100%;animation:shimmer 1.4s linear infinite}.app-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}.app-index{display:flex;flex-direction:column;gap:5px}.app-index h2{color:var(--text-muted);font-size:13px;font-weight:600}.app-index strong{font-size:23px;font-variant-numeric:tabular-nums;color:var(--text-strong)}.app-index>span:nth-child(3){display:inline-flex;align-items:center;gap:3px;font-size:13px;font-variant-numeric:tabular-nums}.app-index .app-spark{margin-top:3px}.app-spark{vertical-align:middle}.app-table-scroll{max-height:60vh;overflow:auto}.app-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.app-table th{position:sticky;top:0;z-index:1;padding:8px 10px;background:var(--overlay-solid);color:var(--text-muted);text-align:left;font-weight:650;border-bottom:1px solid var(--border-strong)}.app-table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.app-table tr:last-child td{border-bottom:0}.app-table .right{text-align:right}.app-cell-sub{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px;font-weight:400}.app-mobile-table{display:flex;flex-direction:column}.app-mobile-table>li{padding:10px 0;border-bottom:1px solid var(--border)}.app-mobile-table>li:last-child{border-bottom:0}.app-mobile-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.app-mobile-row>span{min-width:0}.app-mobile-row strong{flex:none;text-align:right;font-variant-numeric:tabular-nums}.app-mobile-meta{display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:4px;color:var(--text-muted);font-size:12px}.app-mobile-meta i{font-style:normal}.app-mobile-meta i:after{content:" "}.app-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}.app-section-title{margin:2px 2px 0;color:var(--text-strong);font-size:16px;font-weight:750}.app-game{min-width:0}.app-game-top{display:flex;align-items:center;gap:8px;min-height:24px;margin-bottom:12px;color:var(--text-muted);font-size:12px}.app-game-top .app-pill:last-child{margin-left:auto}.app-team{display:flex;align-items:center;gap:10px;padding:6px 0}.app-team b{min-width:38px;padding:4px 5px;border-radius:7px;text-align:center;background:var(--bg-active);font-size:12px}.app-team span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-bars{display:grid;gap:8px;margin-top:12px;font-size:12px;color:var(--text-muted)}.app-bars>div{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}.app-bars i{height:6px;overflow:hidden;border-radius:99px;background:var(--bg-active)}.app-bars i b{display:block;height:100%;border-radius:inherit;background:var(--accent-grad)}.app-bars i.market b{background:var(--text-faint)}.app-more{align-self:center;margin:4px auto}.app-record{display:grid;grid-template-columns:auto auto;gap:4px 16px;align-items:baseline;justify-content:start}.app-record strong{font-size:26px;font-variant-numeric:tabular-nums}.app-record small{grid-column:1 / -1;color:var(--text-muted)}.app-footnote{margin:0;color:var(--text-muted);font-size:12px}.app-alert-card{border-color:#f4b7404d}.app-alert-card .home-section-head h2{color:var(--yellow)}.app-list{display:flex;flex-direction:column;gap:2px}.app-list>li{display:flex;align-items:center;gap:12px;min-height:40px;padding:7px 2px;border-bottom:1px solid var(--border)}.app-list>li:last-child{border-bottom:0}.app-list small{color:var(--text-muted)}.app-spy-hero{display:flex;justify-content:space-between;align-items:center;gap:18px}.app-spy-hero>div:first-child{display:flex;flex-direction:column;gap:3px}.app-spy-hero h2{color:var(--text-muted);font-size:13px;font-weight:700}.app-spy-hero strong{font-size:34px;font-variant-numeric:tabular-nums}.app-spy-hero>div:first-child span{display:inline-flex;align-items:center;gap:4px}.app-spy-hero>div:last-child{text-align:right}.app-spy-hero p{margin-top:8px;color:var(--text-muted);font-size:13px}.app-trade-time{color:var(--text-muted);font-size:12px}.app-status-banner{display:flex;flex-direction:column;gap:3px;padding:13px 16px;border-radius:14px;background:var(--bg-active);border:1px solid var(--border-strong)}.app-status-banner.running{background:#3ccf8e21;border-color:#3ccf8e52;color:var(--green)}.app-status-banner.stale{background:#f4b74021;border-color:#f4b74052;color:var(--yellow)}.app-status-banner.stopped{background:#ff5d6c1f;border-color:#ff5d6c4d;color:var(--red)}.app-status-banner span{color:var(--text);font-size:13px}.app-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-stat-grid>div{display:flex;flex-direction:column;gap:3px;min-width:0}.app-stat-grid small{color:var(--text-muted)}.app-stat-grid b{overflow-wrap:anywhere}.app-apk{display:flex;align-items:center;gap:12px}.app-apk>svg{flex:none}.app-apk p{flex:1}.app-apk small{display:block;color:var(--text-muted);margin-top:3px}.app-control{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.app-control .app-muted{margin-left:auto}.app-hosts{display:flex;flex-wrap:wrap;gap:6px}.app-hosts .app-pill{gap:5px}.app-thread-list{display:flex;flex-direction:column}.app-thread{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 0;border-bottom:1px solid var(--border)}.app-thread:last-child{border-bottom:0}.app-thread>i{width:9px;height:9px;border-radius:50%;background:var(--text-faint);flex:none}.app-thread>i.pulse{background:var(--green);box-shadow:0 0 0 4px #3ccf8e24;animation:live-pulse 1.5s ease-in-out infinite}.app-thread>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.app-thread small{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-project{display:flex;flex-direction:column;align-items:flex-start}.app-project-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.app-project h2{font-size:17px;color:var(--text-strong)}.app-online{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px}.app-project p{flex:1;margin:12px 0}.app-project>.btn{margin-top:14px}.app-repo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}.app-repo-grid .home-section{position:relative}.app-repo-grid .home-section-head{padding-right:30px}.app-repo-link{position:absolute;top:8px;right:8px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.app-commits{margin-top:14px}.app-commits li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 8px;padding:7px 0;border-top:1px solid var(--border)}.app-commits code{color:var(--text-muted);font-size:12px}.app-commits span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-commits small{grid-column:2;color:var(--text-muted)}.app-stream-search{display:flex;align-items:center;gap:10px}.app-stream-search .search-box{flex:1;min-width:0}.app-stream-search .segmented{flex:none}.app-stream-note{margin:-4px 0 10px}.app-poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:16px 12px}.app-poster-grid>li{min-width:0}.app-poster-grid .poster-card{text-align:left}.app-poster-row{grid-auto-columns:148px}.app-providers{display:flex;align-items:center;gap:4px;min-height:22px;margin-top:4px}.app-providers img,.app-providers>span{width:20px;height:20px;border-radius:5px;object-fit:cover;background:var(--bg-active);color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-size:11px}.app-providers small{color:var(--text-muted);font-size:11px}.app-title-sheet{width:min(760px,calc(100vw - 32px))}.app-detail-hero{display:flex;gap:18px}.app-detail-hero>.poster{flex:none;width:120px}.app-detail-hero h3{font-size:20px;color:var(--text-strong)}.app-detail-hero p{margin-top:8px}.app-offer-group{margin-top:16px}.app-offer-group h4{margin-bottom:5px;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.app-offer-group a,.app-offer-row{display:flex;align-items:center;gap:9px;min-height:42px;border-top:1px solid var(--border);color:var(--text)}.app-offer-group .app-providers{margin:0}.app-offer-price{margin-left:auto;color:var(--text-muted)}.app-title-sheet .modal-footer{display:flex;justify-content:flex-end;gap:8px}.app-cell-pills{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--gap)}.app-price-pills{justify-content:flex-end}.app-alert-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.app-alert-card .app-pill{flex-shrink:0}.app-league-skeleton{height:40px;width:260px;border-radius:12px;background:var(--bg-active)}.app-live{animation:live-pulse 1.5s ease-in-out infinite}.app-result-top,.app-result-bottom{display:flex;align-items:center;gap:var(--gap)}.app-result-bottom{margin-left:auto}.app-result-top time{color:var(--text-muted);font-size:12px}:root[data-theme=light] .app-alert-card .home-section-head h2{color:#875600}:root[data-theme=light] .app-status-banner.running{color:var(--app-up)}:root[data-theme=light] .app-status-banner.stopped{color:#c22a3b;background:color-mix(in srgb,var(--red) 8%,var(--overlay-solid))}:root[data-theme=light] .app-status-banner.stale{color:#875600}@media(max-width:767px){.app-results>li{display:block}.app-result-bottom{margin:6px 0 0}.app-repo-link{min-width:44px;min-height:44px}.app-mobile-row>strong{max-width:55%}}.svc-external{display:inline;margin-left:4px;vertical-align:-1px;color:var(--text-muted)}.svc-desc.glance-up{color:var(--green)}.svc-desc.glance-down{color:var(--red)}.svc-desc.glance-warn{color:var(--yellow)}:root[data-theme=light] .svc-desc.glance-up{color:var(--app-up)}:root[data-theme=light] .svc-desc.glance-down{color:#c22a3b}:root[data-theme=light] .svc-desc.glance-warn{color:#875600}@media(max-width:1100px){.home-columns{grid-template-columns:minmax(0,1fr)}.app-hide-narrow{display:none}.app-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-repo-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.app-header{padding:calc(10px + var(--sat)) calc(12px + var(--sar)) 12px calc(8px + var(--sal));gap:9px}.app-header .home-titles h1{font-size:20px}.app-header .home-titles p{max-width:45vw;font-size:12px}.app-icon{width:36px;height:36px;border-radius:11px}.app-fresh{font-size:0;gap:0}.app-fresh i{width:9px;height:9px}.app-open{width:44px;height:44px;min-height:44px;padding:0;justify-content:center}.app-content-wide{padding:0}.app-stale{flex-wrap:wrap;text-align:center}.app-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-index{padding:13px}.app-index strong{font-size:20px}.app-game-grid,.app-project-grid,.app-repo-grid{grid-template-columns:minmax(0,1fr)}.app-stream-search{align-items:stretch;flex-direction:column}.app-stream-search .segmented{align-self:flex-start}.app-stream-search .search-box{flex:none;min-height:44px}.app-content .segmented button,.app-content .btn{min-height:44px}.app-stream-search .icon-btn{min-width:44px;min-height:44px}.app-title-sheet .modal-footer .btn{min-height:44px}.app-poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 9px}.app-poster-row{grid-auto-columns:118px}.app-detail-hero{gap:12px}.app-detail-hero>.poster{width:92px}.app-list>li{flex-wrap:wrap;gap:6px 10px}.app-list>li>span:first-child{flex:0 0 auto}.app-apk{flex-wrap:wrap}.app-apk .btn{margin-left:auto}.app-spy-hero{align-items:flex-start}.app-spy-hero strong{font-size:28px}.app-control{align-items:flex-start}.app-control .app-muted{flex-basis:100%;margin-left:0}.app-table-scroll{max-height:none}.app-title-sheet.modal{width:100%;max-height:88dvh;margin-top:auto;border-radius:22px 22px 0 0}.app-title-sheet .modal-footer{position:sticky;bottom:0}.app-commits li{grid-template-columns:52px minmax(0,1fr)}.app-mobile-meta{row-gap:3px}.app-balatro{border-radius:0}.app-hide-narrow{display:none}.app-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app{padding:0;gap:0}.main{border:0;border-radius:0;box-shadow:none;background:#ffffff04}:root[data-theme=light] .main{background:#ffffff73}.sidebar,.members{position:fixed;top:0;bottom:0;z-index:50;width:min(86vw,320px);transition:transform .22s cubic-bezier(.2,.8,.2,1);background:var(--drawer);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow)}.sidebar{left:0;transform:translate(-105%);border-radius:0 22px 22px 0;border-left:0}.members{right:0;transform:translate(105%);padding-top:calc(8px + var(--sat));padding-bottom:calc(16px + var(--sab));border-radius:22px 0 0 22px;border-right:0}.sidebar.open,.members.open{transform:none}.msg{padding-left:calc(12px + var(--sal));padding-right:calc(12px + var(--sar))}.msg-row{gap:12px}.composer-wrap{padding-left:calc(8px + var(--sal));padding-right:calc(8px + var(--sar));padding-bottom:calc(10px + var(--sab))}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:22px 22px 0 0;width:100%;max-height:92dvh;padding-bottom:var(--sab);border-bottom:0;animation:rise .2s ease-out}.picker-pop{left:0!important;right:0;bottom:0;top:auto!important;width:100%;min-width:0;border-radius:22px 22px 0 0;padding-bottom:var(--sab)}.picker-pop em-emoji-picker{width:100%}.header-topic,.header-sep{display:none}.channel-welcome h2{font-size:24px}.voice-grid,.voice-grid.n2{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(180px,auto);align-content:start;padding:8px calc(8px + var(--sar)) 8px calc(8px + var(--sal))}.voice-grid .tile{aspect-ratio:16 / 9}.voice-focus{padding:8px}.voice-filmstrip{height:96px}.voice-filmstrip .tile{width:150px}.vc-btn.big{width:54px;height:54px}.vc-buttons.big{gap:8px}.settings-grid{grid-template-columns:1fr}.watch-theater{flex-direction:column;overflow-y:auto}.play-theater{overflow-y:auto}.play-theater-main{flex:none;min-height:0;overflow:visible}.play-browser{flex:none;width:100%;min-height:min(68dvh,620px);padding:12px calc(12px + var(--sar)) 16px calc(12px + var(--sal))}.play-browser-head h2{font-size:20px}.play-games{flex:1;max-height:38dvh}.play-session-header{align-items:flex-start;padding:10px 12px}.play-session-title h2{max-width:42vw;font-size:15px}.play-session-actions{flex-wrap:wrap;justify-content:flex-end}.play-session-actions .btn{min-height:34px;padding:6px 8px;font-size:12px}.play-change-panel{position:relative;inset:auto;width:100%;height:45dvh;min-height:260px;border-width:1px 0;border-radius:0}.play-change-panel .play-browser{min-height:100%}.play-stage{flex:none;width:100%;height:min(60dvh,520px);min-height:260px;aspect-ratio:16 / 9}.play-stage:fullscreen{height:100dvh}.play-slots{padding:8px calc(8px + var(--sar)) 8px calc(8px + var(--sal))}.play-slots-list{flex-wrap:nowrap;overflow-x:auto}.play-slot{min-width:160px}.play-voice-strip{padding:8px calc(8px + var(--sar)) calc(10px + var(--sab)) calc(8px + var(--sal))}.watch-main{flex:none;padding:0 0 8px;gap:8px}.watch-player{flex:none;aspect-ratio:16 / 9;max-height:60dvh;border-radius:0;box-shadow:none}.watch-player:fullscreen{aspect-ratio:auto;max-height:none}.watch-joinbar,.watch-voice-strip{margin:0 8px}.watch-voice-row{flex-direction:column;align-items:stretch}.watch-voice-row .vc-buttons{width:auto}.watch-voice-tiles{flex:none;height:84px}.watch-voice-tiles .tile{width:130px}.watch-queue{width:auto;flex:1 0 auto;border-left:0;border-top:1px solid var(--border);padding-bottom:var(--sab);background:none}.watch-queue-list{overflow:visible}.watch-volume input{display:none}.watch-controls{padding:20px 6px 4px}.watch-btn{width:40px;height:40px}.modal.lib-modal{height:92dvh}.lib-toolbar{padding:4px 12px 10px}.lib-search{flex:1 1 100%;order:-1;height:42px}.lib-body{padding:12px 12px 16px}.lib-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 10px}.lib-card{grid-column:span 2}.lib-card.wide{grid-column:span 3}.lib-detail-main{flex-direction:column}.lib-detail-main>.lib-poster{width:min(100%,220px)}.lib-detail-main>.lib-poster.wide{width:100%}.main.home{background:none}.home-header{padding:calc(10px + var(--sat)) calc(12px + var(--sar)) 12px calc(8px + var(--sal));gap:10px}.home-logo{width:36px;height:36px;border-radius:11px}.home-titles h1{font-size:21px}.home-content{padding:0 calc(8px + var(--sar)) 8px calc(8px + var(--sal))}.home-section{padding:14px 14px 16px;border-radius:16px}.home-live{flex-direction:column;align-items:stretch;gap:8px}.live-card{min-width:min(280px,82vw)}.poster-row{grid-auto-columns:118px;gap:12px}.svc-grid{grid-template-columns:minmax(0,1fr)}.ts-hero{gap:14px}.ts-poster{width:100px}.modal-footer{padding-bottom:14px}.modal-footer .btn{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-iteration-count:1!important;animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:720px){.play-page{padding:calc(18px + var(--sat)) calc(12px + var(--sar)) calc(32px + var(--sab)) calc(12px + var(--sal))}.play-page-header h1,.play-catalog-heading h1{font-size:25px}.play-system-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.play-poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px}.play-poster-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.play-system-card{aspect-ratio:1 / 1}.play-playing-card{gap:9px;padding:9px}.play-playing-art{width:46px;height:60px}.play-playing-card>.btn{padding-inline:10px}.play-game-sheet .ts-hero{align-items:flex-start}.play-game-sheet .play-sheet-art{width:105px}.voice-mode-switch{gap:1px}.voice-mode-switch .header-btn{min-width:44px;width:44px;padding:0;justify-content:center}.voice-mode-switch .header-btn svg+svg{margin-left:-4px}.channel-activity{max-width:190px}}
