.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--bg-2);border-radius:10px;padding:14px}.kpi-value{font-size:26px;font-weight:700}.kpi-label{color:var(--muted);font-size:13px}.admin-tabs{display:flex;gap:6px;padding:0 12px;flex-wrap:wrap}.admin-tabs a{padding:8px 12px;color:var(--muted);text-decoration:none;border-radius:6px}.admin-tabs a.active{background:var(--accent);color:#fff}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #00000033;font-size:14px}.data-table tbody tr:hover{background:var(--bg-3);cursor:pointer}.badge-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;color:#fff}.role-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-3);border-radius:14px;padding:4px 10px;margin:0 6px 6px 0}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.pagination{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px}.chart-card{background:var(--bg-2);border-radius:10px;padding:14px;margin:12px}.chart-title{font-weight:600;margin-bottom:8px}.donut-legend{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:4px}.donut-legend li{display:flex;align-items:center;gap:8px;font-size:13px}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.db-login{max-width:460px}.db-login-form{display:flex;gap:8px;margin-top:8px}.db-login-form input{flex:1}.db-layout{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:start}.db-tables{max-height:70vh;overflow:auto}.db-table-item{width:100%;text-align:left;background:transparent;border:0;padding:6px 8px;border-radius:6px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;cursor:pointer}.db-table-item:hover{background:var(--bg-3)}.db-table-item.selected{background:var(--accent);color:#fff}.db-query textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;resize:vertical}.db-table-scroll{overflow:auto;max-height:60vh;border:1px solid var(--bg-3);border-radius:8px}.db-table{border-collapse:collapse;width:100%;font-size:12.5px}.db-table th,.db-table td{border:1px solid var(--bg-3);padding:4px 8px;text-align:left;white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.db-table th{background:var(--bg-2);position:sticky;top:0}@media (max-width: 768px){.db-layout{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.chart-card{margin:12px 0}.toolbar input,.toolbar select{flex:1 1 160px;min-width:0}.pagination{flex-wrap:wrap;justify-content:flex-start}}.page{padding:20px 24px;max-width:920px;margin:0 auto}.page-head{margin-bottom:16px}.page-head h2{margin:6px 0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-gap{display:flex;align-items:center;gap:8px}.section-head{margin:4px 0 12px}.muted{color:var(--muted)}.small{font-size:12px}.back-link{color:var(--muted);text-decoration:none;font-size:13px;display:inline-block;margin-bottom:8px}.back-link:hover{color:var(--text)}.spinner-block{display:flex;align-items:center;gap:10px;padding:24px;color:var(--muted)}.spinner-inline{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid #ffffff33;border-top-color:var(--accent);display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.avatar{border-radius:50%;object-fit:cover;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.avatar-fallback{color:#fff;font-weight:600}.error-text{color:var(--danger);font-size:13px;margin:8px 0}.empty-state{padding:32px;text-align:center;color:var(--muted)}.empty-state-title{font-size:15px;margin-bottom:4px}.empty-state-hint{font-size:13px;opacity:.8}.badge{background:var(--bg);color:var(--muted);border-radius:10px;padding:1px 8px;font-size:11px;margin-left:6px}.badge-warn{color:#fff;background:var(--danger)}.icon-btn{background:transparent;color:var(--muted);font-size:20px;padding:0 6px}.icon-btn:hover{color:var(--text);filter:none}.link-btn{background:transparent;color:var(--muted);padding:4px 6px;font-size:13px}.link-btn:hover{color:var(--text);filter:none}.danger-text{color:var(--danger)}.active-text{color:var(--accent)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.auth-card{width:100%;max-width:380px}.auth-card h2{margin-top:0}.auth-alt{margin-top:12px;font-size:13px;color:var(--muted)}.auth-alt a{color:var(--accent)}.checkbox-row{display:flex;align-items:center;gap:8px;margin:12px 0 0}.checkbox-row input{width:auto}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0}.community-card{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.community-card:hover{outline:1px solid var(--accent)}.row-title{font-weight:600}.tabs{display:flex;gap:4px;border-bottom:1px solid #00000033;margin:8px 12px}.tab{background:transparent;color:var(--muted);border-radius:6px 6px 0 0}.tab:hover{color:var(--text);filter:none}.tab-active{color:var(--text);border-bottom:2px solid var(--accent)}.tab-panel{margin-top:0}.list-plain{list-style:none;padding:0;margin:0}.list-plain li{padding:8px 0;border-bottom:1px solid #ffffff0d}.channel-link{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:6px}.channel-link:hover{color:var(--accent)}.channel-hash{color:var(--muted)}.channel-hash svg{display:inline-block;vertical-align:-2px}.role-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.role-picker{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.role-pick{position:relative;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;background:var(--bg);border:1px solid transparent;-webkit-user-select:none;user-select:none;transition:background .12s ease,border-color .12s ease}.role-pick:hover{background:var(--bg-3)}.role-pick.is-on{background:#5865f21f;border-color:var(--accent)}.role-pick.is-busy{cursor:default;opacity:.6}.role-pick .role-dot{flex:0 0 auto;width:14px;height:14px}.role-pick-name{flex:1 1 auto;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-check-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.role-check-box{flex:0 0 auto;width:20px;height:20px;border-radius:6px;border:2px solid var(--muted);background:transparent;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,border-color .12s ease}.role-check-box:after{content:"";width:5px;height:9px;margin-top:-1px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .12s ease}.role-pick:hover .role-check-box{border-color:var(--text)}.role-check-input:checked+.role-check-box{background:var(--accent);border-color:var(--accent)}.role-check-input:checked+.role-check-box:after{transform:rotate(45deg) scale(1)}.role-check-input:focus-visible+.role-check-box{outline:2px solid var(--accent);outline-offset:2px}.invite-code{background:var(--bg);padding:2px 8px;border-radius:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000a;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--bg-2);border-radius:10px;width:100%;max-width:460px;padding:0;overflow:hidden;max-height:90vh;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #00000033;flex:0 0 auto}.modal-head h3{margin:0}.modal-body{padding:16px;overflow-y:auto;flex:1 1 auto;min-height:0}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #00000033;flex:0 0 auto}.modal-body{scrollbar-width:thin;scrollbar-color:var(--bg) transparent}.modal-body::-webkit-scrollbar{width:10px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background-color:var(--bg);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.modal-body::-webkit-scrollbar-thumb:hover{background-color:#16171a}.modal-body::-webkit-scrollbar-thumb:active{background-color:#0f1012}.chat-page{display:flex;flex-direction:column;height:100%;max-width:920px}.chat-page-with-members{flex-direction:row;align-items:stretch;gap:16px;max-width:1200px}.chat-page-with-members .chat-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.chat-main{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.chat-scroll{flex:1;overflow-y:auto;padding-bottom:12px}.chat-scroll{scrollbar-width:thin;scrollbar-color:var(--bg) transparent}.chat-scroll::-webkit-scrollbar{width:10px}.chat-scroll::-webkit-scrollbar-track{background:transparent}.chat-scroll::-webkit-scrollbar-thumb{background-color:var(--bg);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.chat-scroll::-webkit-scrollbar-thumb:hover{background-color:#16171a}.chat-scroll::-webkit-scrollbar-thumb:active{background-color:#0f1012}.member-panel{flex:0 0 220px;width:220px;align-self:stretch;border-left:1px solid #ffffff0d;padding-left:14px;overflow-y:auto;overflow-x:hidden}.member-panel-head{display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:var(--muted);margin:4px 0 8px}.member-panel-close{display:none;background:transparent;color:var(--muted);font-size:22px;line-height:1;padding:0 6px;margin:-2px -6px -2px 0}.member-panel-close:hover{color:var(--text);filter:none}.chat-head{position:relative}.chat-members-toggle{display:none}.member-panel-list{display:flex;flex-direction:column;gap:2px}.member-panel-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:none}.member-panel-item.clickable{cursor:pointer;border-radius:6px;padding:4px 6px;margin:0 -6px}.member-panel-item.clickable:hover{background:#ffffff0f}.member-panel-meta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;line-height:1.2}.member-panel-name{color:var(--text);font-size:14px;min-width:0;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-playing{font-size:11px;color:var(--ok, #3bb24a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-avatar-wrap{position:relative;flex:0 0 auto;display:inline-flex;line-height:0}.member-presence-dot{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:var(--muted);border:2px solid var(--bg-3);box-sizing:border-box}.message-list{display:flex;flex-direction:column;gap:4px}.message{display:flex;gap:10px;padding:6px 4px;border-radius:6px}.message:hover{background:#ffffff08}.message:hover .message-actions{opacity:1}.message-pinned{background:#5865f21a}.message-body{flex:1;min-width:0}.message-meta{display:flex;align-items:baseline;gap:8px}.message-author{font-weight:600}.message-content{white-space:pre-wrap;word-break:break-word}.message-edit textarea{margin-bottom:6px}.message-actions{display:flex;gap:4px;opacity:0;transition:opacity .1s}.reactions{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.reaction-chip{background:var(--bg);color:var(--text);padding:2px 8px;font-size:12px;border-radius:10px;border:1px solid transparent}.reaction-chip:hover{filter:brightness(1.15)}.reaction-chip.me{background:#5865f233;border-color:var(--accent);color:var(--text)}.message-actions .link-btn.liked{color:var(--accent)}.load-more{display:block;margin:8px auto}.composer{display:flex;gap:8px;padding:10px 0;align-items:flex-end}.composer textarea{resize:none;flex:1 1 auto;min-width:0}.composer button{flex:0 0 auto}.timeline-page{max-width:640px}.composer-card textarea{resize:vertical}.post-feed{display:flex;flex-direction:column}.post-card{display:flex;gap:12px}.post-main{flex:1;min-width:0}.post-meta{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.post-body{white-space:pre-wrap;word-break:break-word;margin:4px 0}.post-actions{display:flex;gap:12px;margin-top:6px}.hashtag-link{color:var(--accent);text-decoration:none}.cw{margin:4px 0}.session-row,.member-row,.role-row,.invite-row,.channel-row{align-items:center}code{font-family:Cascadia Code,Consolas,monospace}h3{margin-top:0}.session-row>div{min-width:0}.session-row>div .row-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.session-row>div .muted{overflow-wrap:anywhere}.session-row>button{flex:0 0 auto;white-space:nowrap}.community-body{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.community-col{flex:1 1 320px;min-width:0;margin:0}.community-manage{margin-top:12px}.community-manage .tabs{margin:8px 0}.role-create{margin-bottom:14px}.color-palette{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.swatch{width:22px;height:22px;border-radius:50%;padding:0;border:2px solid transparent;cursor:pointer;background-clip:padding-box}.swatch:hover{filter:brightness(1.1)}.swatch.selected{border-color:var(--text)}.swatch-custom{display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-size:14px;background:var(--bg);border:1px dashed var(--muted);position:relative;overflow:hidden}.swatch-custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:none}.community-search{margin:0 0 16px}.community-search input{width:100%}.invite-join{margin:0 0 8px}.invite-created{margin:12px 0}.row-gap input:not([type=checkbox]):not([type=radio]){flex:1 1 auto;min-width:0}.row-gap button{flex:0 0 auto}.profile-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.profile-panel{position:fixed;top:0;right:0;bottom:0;width:312px;background:var(--bg-2);border-left:1px solid #00000044;box-shadow:-8px 0 24px #0006;padding:20px;overflow-y:auto;display:flex;flex-direction:column}.profile-panel-close{position:absolute;top:12px;right:12px;background:transparent;color:var(--muted);font-size:22px;line-height:1;padding:2px 8px}.profile-panel-close:hover{color:var(--text);filter:none}.profile-panel-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:12px}.profile-panel-head{margin-bottom:8px}.profile-panel-name{font-size:20px;font-weight:700;color:var(--text)}.profile-panel-handle{color:var(--muted);font-size:14px}.profile-panel-presence{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;margin-top:4px}.profile-panel-presence .presence-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);display:inline-block}.profile-panel-presence.online .presence-dot{background:#23a559}.profile-panel-presence.online{color:#23a559}.profile-panel-bio{margin:12px 0 0;color:var(--text);font-size:14px;white-space:pre-wrap;word-break:break-word;align-self:stretch}.profile-follow-btn{margin-top:16px;align-self:stretch}.profile-panel-roles{margin-top:14px;align-self:stretch}.profile-panel-roles-label{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.profile-panel-role-list{display:flex;flex-wrap:wrap;gap:6px}.role-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;padding:2px 8px;font-size:12px;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.profile-dm-btn{margin-top:16px;align-self:stretch}.profile-dm-btn+.profile-follow-btn{margin-top:8px}.dm-list{display:flex;flex-direction:column;gap:2px;margin-top:12px}.dm-list-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer}.dm-list-item:hover{background:var(--surface-2, rgba(255, 255, 255, .05))}.dm-list-meta{display:flex;flex-direction:column;min-width:0;flex:1}.dm-list-name{font-weight:600;color:var(--text)}.dm-list-preview{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-list-time{color:var(--muted);font-size:12px;flex-shrink:0}.dm-header-title,.dm-head-row{display:flex;align-items:center;gap:10px}.dm-call-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--panel-2, rgba(255, 255, 255, .04));color:var(--text);font-size:16px;line-height:1;cursor:pointer;transition:background .12s ease,filter .12s ease}.dm-call-btn:hover:not(:disabled){background:#3ba55d;filter:brightness(1.05)}.dm-call-btn:disabled{opacity:.4;cursor:not-allowed}.entrant .watch-btn{opacity:0;pointer-events:none;transition:opacity .12s ease}.entrant:hover .watch-btn,.entrant:focus-within .watch-btn{opacity:1;pointer-events:auto}.entrant .watch-btn:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--accent);outline-offset:1px}.message-content strong{font-weight:700}.message-content em{font-style:italic}.message-content del{opacity:.7}.message-content a{color:var(--accent);text-decoration:none;word-break:break-word}.message-content a:hover{text-decoration:underline}.message-content code{background:var(--bg);border-radius:4px;padding:1px 5px;font-size:.9em;font-family:Cascadia Code,Consolas,monospace}.message-content pre{background:var(--bg);border:1px solid #ffffff14;border-radius:6px;padding:8px 10px;margin:6px 0;overflow-x:auto}.message-content pre code{background:transparent;padding:0;font-size:.85em;white-space:pre}.message-content ul,.message-content ol{margin:4px 0;padding-left:22px}.message-content li{margin:2px 0}.message-content blockquote{margin:6px 0;padding:2px 0 2px 10px;border-left:3px solid var(--bg-3, #ffffff22);color:var(--muted)}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:8px 0 4px;line-height:1.25;font-weight:700}.message-content h1{font-size:1.35em}.message-content h2{font-size:1.2em}.message-content h3{font-size:1.1em}.message-content h4,.message-content h5,.message-content h6{font-size:1em}.message-content hr{border:none;border-top:1px solid #ffffff14;margin:8px 0}.message-content>:first-child{margin-top:0}.message-content>:last-child{margin-bottom:0}.message-content p{margin:4px 0}.image-upload{display:flex;align-items:center;gap:14px;margin:8px 0}.image-upload-controls{display:flex;flex-direction:column;gap:6px;min-width:0}.image-upload-background{flex-direction:column;align-items:stretch;gap:8px}.image-upload-bg-preview{width:100%;height:72px;border-radius:8px;border:1px solid var(--border, #2b2d31);background-color:var(--bg, #1e1f22);display:flex;align-items:center;justify-content:center}.cropper{display:flex;flex-direction:column;align-items:center;gap:12px}.cropper-viewport{position:relative;overflow:hidden;border-radius:8px;background:var(--bg);border:1px solid #00000055;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cropper-viewport.is-dragging{cursor:grabbing}.cropper-image{position:absolute;max-width:none;pointer-events:none}.cropper-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.cropper-circle{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:50%;box-shadow:0 0 0 9999px #0006;border:1px solid #ffffff55}.cropper-zoom{display:flex;align-items:center;gap:10px;width:100%}.cropper-zoom-label{color:var(--muted);font-size:13px;flex:0 0 auto}.cropper-zoom input[type=range]{flex:1 1 auto;min-width:0;accent-color:var(--accent);cursor:pointer}.cropper-hint{font-size:12px;margin:0;text-align:center}.community-edit-row{align-items:flex-start}.community-edit{margin:10px 0}.community-edit textarea{width:100%;resize:vertical}.channel-row-actions{display:flex;gap:4px;align-items:center;flex:0 0 auto}.context-menu{position:fixed;z-index:80;min-width:168px;background:var(--bg-2);border:1px solid #00000055;border-radius:8px;box-shadow:0 8px 24px #0006;padding:4px;overflow:hidden}.context-menu-item{display:block;width:100%;text-align:left;background:transparent;color:var(--text);padding:8px 12px;border-radius:6px;font-size:14px}.context-menu-item:hover{background:var(--bg-3);filter:none}.context-menu-item.is-danger{color:var(--danger)}.context-menu-label{padding:6px 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-menu-item{display:flex;align-items:center;gap:9px}.status-menu-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 2px var(--bg-2)}.status-menu-name{flex:1}.status-menu-check{color:var(--muted);font-size:12px}@media (max-width: 768px){.page{padding:14px;max-width:100%}.page-head{padding-left:44px;min-height:36px}.community-body{flex-direction:column}.community-col{flex:1 1 auto;width:100%}.profile-panel{width:100%;max-width:100%}.chat-page-with-members{flex-direction:column;gap:0}.member-panel{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:82vw;z-index:49;transform:translate(100%);transition:transform .2s ease;background:var(--bg-2);border-left:1px solid #00000044;border-top:none;box-shadow:-8px 0 24px #0006;padding:14px;padding-top:calc(14px + env(safe-area-inset-top));padding-right:calc(14px + env(safe-area-inset-right));padding-bottom:calc(14px + env(safe-area-inset-bottom));overflow-y:auto}.member-panel.open{transform:translate(0)}.member-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;z-index:48}.member-panel-close{display:inline-flex;align-items:center}.chat-head{padding-right:60px}.chat-members-toggle{display:inline-flex;align-items:center;gap:5px;position:absolute;top:6px;right:6px;min-height:36px;padding:4px 10px;background:var(--bg-2);color:var(--text);border-radius:8px;font-size:16px;line-height:1}.chat-members-count{font-size:13px;font-weight:600}.composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.card{margin:12px 0}.chat-page,.timeline-page{max-width:100%}.grid-cards{grid-template-columns:1fr}.tabs{margin-left:0;margin-right:0}.modal-backdrop{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal{max-width:100%;max-height:85dvh}.modal-foot{flex-wrap:wrap}.profile-panel{padding-top:calc(20px + env(safe-area-inset-top))}.profile-panel-close{top:calc(12px + env(safe-area-inset-top))}}@media (max-width: 768px){html,body{overflow-x:hidden}}.audio-level-meter{position:relative;height:10px;border-radius:6px;background:var(--bg);border:1px solid #00000055;overflow:hidden}.audio-level-meter-fill{height:100%;width:0%;background:linear-gradient(90deg,#43b581,#faa61a 70%,#f04747 92%);transition:width 60ms linear;border-radius:6px 0 0 6px}.avatar-page{max-width:960px;margin:0 auto;padding:24px}.avatar-sub{color:var(--text-muted, #b5bac1);margin-top:4px}.avatar-preview-wrap{position:relative;margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid #00000055;background:#000}.avatar-preview{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.avatar-status{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;background:#0000009e;color:#dbdee1;font-size:12.5px}.avatar-status-dot{width:8px;height:8px;border-radius:50%;background:#80848e}.avatar-status.is-tracking .avatar-status-dot{background:#23a559;box-shadow:0 0 6px #23a55988}.avatar-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:10px}.avatar-preset{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px 10px;border:2px solid transparent;border-radius:10px;cursor:pointer;color:#f2f3f5}.avatar-preset:hover{filter:brightness(1.12)}.avatar-preset.selected{border-color:var(--accent, #5865f2)}.avatar-preset.is-disabled{opacity:.5;cursor:default;pointer-events:none}.avatar-preset.is-disabled .avatar-preset-actions{pointer-events:auto}.avatar-preset-actions{position:absolute;top:4px;right:4px;display:flex;gap:4px}.avatar-preset-edit,.avatar-preset-del{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#00000073;color:#fff;font-size:13px;line-height:1;cursor:pointer}.avatar-preset-edit:hover{background:#000000b3}.avatar-preset-del:hover{background:#d83c3e}.avatar-preset-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.avatar-add-btn{padding:7px 14px;border:1px solid var(--accent, #5865f2);border-radius:8px;background:transparent;color:var(--accent, #7c86f5);font-size:13px;cursor:pointer}.avatar-add-btn:hover{background:var(--accent, #5865f2);color:#fff}.avatar-editor{margin-top:16px;padding:16px;border:1px solid #00000055;border-radius:12px;background:var(--bg-2, #2b2d31)}.avatar-editor h3{margin:0 0 12px}.avatar-editor-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;max-width:340px;font-size:13px;color:var(--text-muted, #b5bac1)}.avatar-editor-field input[type=text],.avatar-editor-field select{width:100%}.avatar-editor-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin-bottom:12px}.avatar-color{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;color:var(--text-muted, #b5bac1)}.avatar-color input[type=color]{width:100%;height:34px;padding:0;border:1px solid #00000055;border-radius:6px;background:none;cursor:pointer}.avatar-editor-hint{margin:0 0 12px;font-size:12px;color:var(--text-muted, #b5bac1)}.avatar-editor-actions{display:flex;gap:10px}.avatar-preset-face{position:relative;width:52px;height:52px;border-radius:50%;overflow:hidden;box-shadow:0 2px 6px #00000059}.avatar-preset-hair{position:absolute;top:-14px;left:-6px;right:-6px;height:36px;border-radius:50%}.avatar-preset-name{font-size:13px}.avatar-model-actions{display:flex;gap:8px;flex-wrap:wrap}.avatar-model-tile{background:var(--bg-2, #2b2d31);border:2px solid #00000055}.avatar-model-tile.selected{border-color:var(--accent, #5865f2)}.avatar-model-thumb{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(180deg,#3a3d55,#23283c);font-size:26px;line-height:1}.avatar-model-badge{font-size:10.5px;font-weight:700;letter-spacing:.03em;padding:2px 7px;border-radius:999px;background:#5865f238;color:var(--accent, #98a0f7)}.avatar-model-status{position:absolute;right:12px;bottom:12px;max-width:62%;padding:4px 10px;border-radius:8px;background:#000000a8;color:#dbdee1;font-size:12px;text-align:right}.avatar-model-status.is-error,.avatar-model-status.is-core-missing{background:#78282cd1;color:#ffd9dc}.avatar-camera-select{max-width:420px}.avatar-hint{margin-top:18px;color:var(--text-muted, #b5bac1);font-size:13px}@media (max-width: 768px){.avatar-page{padding:52px 16px 24px}.avatar-preset-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.avatar-camera-select{width:100%;max-width:100%}}.plat-page{padding:20px 24px;max-width:1100px}.plat-page h1{font-size:22px;margin:0 0 4px}.plat-page h2{font-size:17px;margin:20px 0 8px}.plat-sub{color:var(--muted);font-size:13px;margin:0 0 16px}.plat-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.plat-row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.plat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.plat-spread{display:flex;justify-content:space-between;gap:8px}.plat-muted{color:var(--muted)}.plat-small{font-size:12px}.plat-mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace}.plat-card{background:var(--bg-2);border-radius:10px;padding:14px 16px;border:1px solid #00000033;display:flex;flex-direction:column;gap:8px}.plat-card.clickable{cursor:pointer;transition:border-color .12s}.plat-card.clickable:hover{border-color:var(--accent)}.plat-card-title{font-weight:600;font-size:15px}.plat-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--bg-2);padding:12px;border-radius:10px;margin-bottom:14px}.plat-field{display:flex;flex-direction:column;gap:2px;min-width:130px}.plat-field label{margin:0}.plat-field-inline{flex-direction:row;align-items:center;gap:6px}.plat-field-inline input[type=checkbox]{width:auto}.plat-field input,.plat-field select{width:100%}.plat-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.6;white-space:nowrap}.plat-badge-ok{background:#23a55933;color:var(--ok)}.plat-badge-warn{background:#e67e2233;color:#f0ad4e}.plat-badge-danger{background:#da373c33;color:var(--danger)}.plat-badge-info{background:#5865f233;color:#99a2ff}.plat-badge-muted{background:#ffffff14;color:var(--muted)}.plat-price-tag{font-weight:600}.plat-price-free{color:var(--ok)}.plat-chip-row{display:flex;gap:6px;flex-wrap:wrap}.plat-chip{background:#ffffff14;color:var(--muted);border-radius:6px;padding:1px 7px;font-size:11px}.plat-stat{display:flex;flex-direction:column}.plat-stat-value{font-size:18px;font-weight:700}.plat-stat-label{font-size:11px;color:var(--muted)}.plat-stats{display:flex;gap:22px;flex-wrap:wrap}.plat-table{width:100%;border-collapse:collapse;font-size:13px}.plat-table th,.plat-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #00000033}.plat-table th{color:var(--muted);font-weight:600}.plat-table td.num,.plat-table th.num{text-align:right;font-variant-numeric:tabular-nums}.plat-link{color:var(--accent);cursor:pointer;text-decoration:none}.plat-link:hover{text-decoration:underline}.plat-btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.plat-btn-row button{width:auto}.plat-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000a;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.plat-modal{background:var(--bg-3);border-radius:12px;padding:20px;width:100%;max-width:440px;max-height:90vh;overflow:auto;border:1px solid #00000044}.plat-modal h3{margin:0 0 8px}.plat-notice{background:#5865f21f;border:1px solid #5865f255;color:var(--text);border-radius:8px;padding:10px 12px;font-size:13px;margin:8px 0}.plat-warn-notice{background:#e67e221f;border:1px solid #e67e2255;border-radius:8px;padding:10px 12px;font-size:13px;margin:8px 0}.plat-bar{height:6px;background:#ffffff14;border-radius:999px;overflow:hidden}.plat-bar>span{display:block;height:100%;background:var(--accent)}.plat-tabs{display:flex;gap:4px;border-bottom:1px solid #00000044;margin-bottom:14px}.plat-tab{background:transparent;color:var(--muted);border-radius:6px 6px 0 0;padding:8px 14px;width:auto}.plat-tab.active{color:var(--text);background:var(--bg-2)}.plat-chat{display:flex;flex-direction:column;height:420px;background:var(--bg-2);border-radius:10px;overflow:hidden}.plat-chat-log{flex:1;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.plat-chat-msg{font-size:13px}.plat-chat-msg .who{font-weight:600;margin-right:6px}.plat-chat-tip{background:#5865f21f;border-radius:6px;padding:4px 8px}.plat-chat-input{display:flex;gap:6px;padding:8px;border-top:1px solid #00000033}.plat-chat-input input{flex:1}.plat-chat-input button{width:auto}.plat-video{background:#000;border-radius:10px;aspect-ratio:16 / 9;width:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px solid #00000055;overflow:hidden}.plat-thumb{background:#000;border-radius:8px;aspect-ratio:16 / 9;width:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.plat-source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.plat-source{border:2px solid transparent;border-radius:8px;padding:6px;cursor:pointer;background:var(--bg-2)}.plat-source.selected{border-color:var(--accent)}.plat-source img{width:100%;border-radius:4px;display:block}.plat-source .name{font-size:11px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plat-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--danger);margin-right:5px}.stream-layout{align-items:flex-start;margin-top:12px}.stream-main-col{flex:2 1 320px;min-width:0}.stream-side-col{flex:1 1 260px;min-width:0}.plat-mc-form{align-items:flex-end}.plat-mc-form .plat-field{min-width:220px;flex:1}.plat-mc-card{text-decoration:none;color:inherit}.plat-mc-detail{margin:14px 0}.plat-mc-search .plat-field{min-width:260px;flex:1}.plat-wl-list{list-style:none;margin:10px 0 0;padding:0}.plat-wl-row{padding:6px 0;border-top:1px solid var(--border, #2a2a2a)}.plat-gdev-section{margin:0 0 22px}.plat-gdev-section h2{margin-top:0}.plat-gdev-card{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;border:1px solid #ffffff14;border-radius:8px}.plat-gdev-card button{flex:0 0 auto}.plat-gdev-card-text{display:flex;flex-direction:column;gap:4px;min-width:0}.plat-srv-section{margin:0 0 22px}.plat-srv-head{margin:0 0 2px}.plat-srv-head h2{margin:0}.plat-srv-head button{flex:0 0 auto}.plat-srv-lead{margin:0 0 10px}.plat-srv-label{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--muted);margin:14px 0 6px}.plat-srv-card{border:1px solid #ffffff14;border-radius:8px}.plat-srv-badges{display:flex;gap:6px;flex-shrink:0}.plat-srv-preview{width:100%;aspect-ratio:16 / 9;border-radius:6px;border:1px solid #ffffff14;background:#0003;display:block}.plat-srv-preview-empty{display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--muted)}.plat-srv-modal{max-width:480px}.plat-srv-pick-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto}.plat-srv-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;padding:8px 10px;color:var(--text);text-align:left;font-size:13px}.plat-srv-pick:hover{border-color:var(--accent);filter:none}.plat-srv-pick-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.plat-srv-pick-sub{font-size:11px;color:var(--muted);flex-shrink:0}.plat-srv-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;padding:8px 10px;margin:4px 0 10px}.plat-srv-search{display:flex;gap:6px}.plat-srv-search input{flex:1}.plat-srv-search button{flex:0 0 auto}.plat-srv-modal-fields{display:flex;flex-direction:column;gap:10px;margin-top:4px}.plat-srv-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media (max-width: 768px){.plat-page{padding:52px 14px 16px;max-width:100%}.plat-grid{grid-template-columns:1fr}.plat-source-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.plat-toolbar{padding:10px;gap:8px}.plat-field{min-width:0;flex:1 1 140px}.plat-mc-form .plat-field,.plat-mc-search .plat-field{min-width:0}.stream-main-col,.stream-side-col{flex:1 1 100%}.plat-chat{height:340px}.plat-table{display:block;overflow-x:auto;white-space:nowrap}.plat-modal{max-width:100%}.plat-gdev-card{flex-direction:column;align-items:stretch}.plat-srv-head{flex-wrap:wrap}}@media (max-width: 768px){.billing-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.billing-tabs .plat-tab{flex:0 0 auto;white-space:nowrap}}.link-card-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.link-card{display:flex;align-items:stretch;gap:0;max-width:420px;margin-top:6px;border:1px solid #ffffff14;border-left:4px solid var(--accent);border-radius:8px;background:var(--bg-2);text-decoration:none;color:var(--text);overflow:hidden;transition:background .12s ease,border-color .12s ease}.link-card:first-child{margin-top:0}.link-card:hover{background:var(--bg-3);border-color:#ffffff26}.link-card-thumb{flex:0 0 auto;width:80px;height:80px}.link-card-thumb img{display:block;width:80px;height:80px;object-fit:cover}.link-card-body{flex:1 1 auto;min-width:0;padding:8px 12px;display:flex;flex-direction:column;gap:3px}.link-card-site{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-card-title{font-weight:700;font-size:14px;line-height:1.3;color:var(--accent);overflow:hidden;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.link-card-desc{font-size:12.5px;line-height:1.35;color:var(--muted);overflow:hidden;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000d9;-webkit-user-select:none;user-select:none}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px #0009}.lightbox-close,.lightbox-nav{position:absolute;display:flex;align-items:center;justify-content:center;border:none;background:#0006;color:#fff;cursor:pointer;line-height:1;border-radius:50%;transition:background .12s ease}.lightbox-close:hover,.lightbox-nav:hover{background:#ffffff2e}.lightbox-close{top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));width:40px;height:40px;font-size:26px}.lightbox-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:34px}.lightbox-prev{left:calc(16px + env(safe-area-inset-left))}.lightbox-next{right:calc(16px + env(safe-area-inset-right))}.lightbox-counter{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);padding:4px 12px;border-radius:12px;background:#00000080;color:#fff;font-size:13px}@media (max-width: 768px){.lightbox-overlay{padding:12px}.lightbox-close{width:44px;height:44px}}.media-embed-image{display:block;max-width:320px;max-height:320px;width:auto;height:auto;margin-top:6px;border-radius:8px;cursor:zoom-in;object-fit:cover}.media-embed-video{display:block;max-width:420px;width:100%;margin-top:6px;border-radius:8px;background:#000}.media-embed-frame{position:relative;width:100%;max-width:480px;margin-top:6px;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;background:#000}.media-embed-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.message-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.message-attachment-image{display:block;max-width:320px;max-height:320px;width:auto;height:auto;border-radius:8px;cursor:zoom-in;object-fit:cover}.message-attachment-pdfs{display:flex;flex-direction:column;gap:6px;margin-top:6px}.message-attachment-pdf{display:flex;flex-direction:column;gap:0;width:min(480px,100%);border:1px solid #ffffff14;border-radius:8px;background:var(--bg-2);overflow:hidden}.message-attachment-pdf-name{display:block;padding:6px 10px;color:var(--text);text-decoration:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-attachment-pdf-name:hover{background:var(--bg-3)}.message-attachment-pdf-frame{display:block;width:100%;height:360px;border:0;border-top:1px solid #ffffff14;background:var(--bg-3)}.message-attachment-files{display:flex;flex-direction:column;gap:4px;margin-top:6px}.message-attachment-file{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;max-width:320px;padding:6px 10px;border:1px solid #ffffff14;border-radius:8px;background:var(--bg-2);color:var(--text);text-decoration:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-attachment-file:hover{background:var(--bg-3)}.mention{display:inline;padding:0 3px;border-radius:4px;background:#5865f233;color:#c9cdfb;font-weight:500;text-decoration:none;-webkit-user-select:none;user-select:none;cursor:default;white-space:nowrap}.mention:hover{background:#5865f24d}.mention-me{background:#f0b13255;color:#ffe7a8}.mention-me:hover{background:#f0b13270}.mention-everyone{background:#eb459e40;color:#ffd0ec;font-weight:600}.mention-everyone:hover{background:#eb459e5c}.composer-wrap{position:relative}.mention-autocomplete-anchor{position:absolute;left:0;right:0;bottom:100%;margin-bottom:6px;z-index:40;max-width:320px}.mention-autocomplete{background:var(--bg-2);border:1px solid #00000055;border-radius:8px;box-shadow:0 8px 24px #0006;padding:4px;max-height:240px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bg) transparent}.mention-autocomplete-head{padding:4px 10px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mention-autocomplete-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.mention-autocomplete-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--text);border-bottom:none}.mention-autocomplete-item:hover{background:var(--bg-3)}.mention-autocomplete-item.active{background:var(--accent);color:#fff}.mention-autocomplete-name{font-size:14px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-autocomplete-handle{font-size:12px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-autocomplete-item.active .mention-autocomplete-handle{color:#fffc}.mention-autocomplete-everyone-glyph{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#eb459e;color:#fff;font-weight:700;font-size:14px;flex:0 0 auto}.mention-autocomplete-item.active .mention-autocomplete-everyone-glyph{background:#fff3}.message-tearoff{cursor:grab}.message-tearoff:active{cursor:grabbing}.message-avatar-grip{display:flex;align-self:flex-start;flex:0 0 auto}.message-popout-root{padding:12px}.message-popout-header{padding:0 4px 8px;border-bottom:1px solid rgba(128,128,128,.25);margin-bottom:8px}.message-popout .message{padding:4px}.popout-pdf-bar{display:flex;align-items:center;gap:8px}.popout-pdf-bar .message-attachment-pdf-name{flex:1 1 auto}.popout-zoom-btn{flex:0 0 auto;margin-right:8px;padding:2px 10px;border:1px solid rgba(128,128,128,.35);border-radius:6px;background:transparent;color:inherit;font-size:12px;cursor:pointer;text-decoration:none;white-space:nowrap}.popout-zoom-btn:hover{background:#8080802e}.popout-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000d9}.popout-zoom-image{max-width:96vw;max-height:96vh;width:auto;height:auto;object-fit:contain;border-radius:4px}.popout-zoom-pdf{width:96vw;height:94vh;border:0;background:#fff;border-radius:4px}.popout-zoom-close{position:fixed;top:8px;right:12px;z-index:10000;width:40px;height:40px;border:0;border-radius:50%;background:#0000008c;color:#fff;font-size:26px;line-height:1;cursor:pointer}.popout-zoom-close:hover{background:#000c}.chat-main{position:relative}.bgm-player{position:absolute;top:10px;right:14px;z-index:6;display:flex;align-items:center;gap:8px;max-width:min(300px,calc(100vw - 28px));padding:5px 10px 5px 6px;border-radius:999px;background:color-mix(in srgb,var(--bg-2) 85%,transparent);border:1px solid #00000033;box-shadow:0 2px 10px #00000040;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bgm-toggle{display:inline-flex;align-items:center;gap:2px;width:auto;padding:4px 8px;border:none;border-radius:999px;background:var(--bg-3);color:var(--text);cursor:pointer;line-height:1}.bgm-toggle:hover{background:color-mix(in srgb,var(--accent) 40%,var(--bg-3))}.bgm-icon{font-size:12px}.bgm-player.is-playing .bgm-note{animation:bgm-pulse 1.6s ease-in-out infinite}@keyframes bgm-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.bgm-skip{width:auto;padding:4px 7px;border:none;border-radius:999px;background:var(--bg-3);color:var(--text);cursor:pointer;line-height:1;flex:0 0 auto}.bgm-skip:hover{background:color-mix(in srgb,var(--accent) 40%,var(--bg-3))}.bgm-own-toggle{width:auto;padding:3px 8px;border:1px solid #ffffff22;border-radius:999px;background:var(--bg-3);color:var(--muted);cursor:pointer;font-size:11px;line-height:1.4;flex:0 0 auto}.bgm-own-toggle.is-on{background:var(--accent);color:#fff;border-color:transparent}.bgm-meta{display:flex;flex-direction:column;min-width:0;line-height:1.2}.bgm-source{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bgm-blocked{font-size:10px;color:var(--muted)}.bgm-volume{width:84px;flex:0 0 auto;margin:0;accent-color:var(--accent);cursor:pointer}.bgm-volume-value{flex:0 0 auto;min-width:30px;text-align:right;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.audio-upload{display:flex;flex-direction:column;gap:8px;margin:6px 0}.audio-upload-preview{width:100%;max-width:360px;height:36px}.bgm-playlist-editor{margin:6px 0}.bgm-track-list{display:flex;flex-direction:column;gap:6px;margin:6px 0}.bgm-track-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;background:var(--bg-2)}.bgm-track-row.is-selected{box-shadow:inset 0 0 0 1px var(--accent)}.bgm-track-index{flex:0 0 auto;color:var(--muted);font-size:12px}.bgm-track-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.bgm-track-audio{flex:0 0 auto;width:180px;height:30px}@media (max-width: 768px){.bgm-toggle,.bgm-skip{min-height:34px;padding:6px 10px}}.pinned-bar{flex:0 0 auto;position:relative;z-index:2;margin:0 0 6px;border-radius:10px;border:1px solid rgba(127,127,127,.18);background:#1415189e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:var(--text, #f2f3f5);font-size:.9rem;overflow:hidden}.pinned-bar-summary{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}.pinned-bar-summary:hover{background:#ffffff0f;filter:none}.pinned-bar-summary-count{font-weight:600;flex:0 0 auto}.pinned-bar-summary-preview{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted, #b5bac1)}.pinned-bar-chevron{flex:0 0 auto;color:var(--muted, #b5bac1);font-size:.8em}.pinned-bar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-bottom:1px solid rgba(127,127,127,.16)}.pinned-bar-title{font-weight:600}.pinned-bar-collapse{background:transparent;border:none;color:var(--muted, #b5bac1);font:inherit;cursor:pointer;padding:2px 4px}.pinned-bar-collapse:hover{color:var(--text, #f2f3f5);filter:none}.pinned-bar-list{display:flex;flex-direction:column;max-height:40vh;overflow-y:auto}.pinned-item{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 12px}.pinned-item+.pinned-item{border-top:1px solid rgba(127,127,127,.1)}.pinned-item-main{display:flex;align-items:baseline;gap:8px;flex:1 1 auto;min-width:0;background:transparent;border:none;color:inherit;font:inherit;text-align:left;padding:2px 0;cursor:pointer}.pinned-item-main:hover{filter:none}.pinned-item-main:hover .pinned-item-preview{color:var(--text, #f2f3f5)}.pinned-item-author{flex:0 0 auto;font-weight:600;max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-item-preview{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted, #b5bac1)}.pinned-item-time{flex:0 0 auto;color:var(--muted, #b5bac1);font-size:.8em}.pinned-item-unpin{flex:0 0 auto;background:transparent;border:1px solid rgba(127,127,127,.28);border-radius:6px;color:var(--muted, #b5bac1);font:inherit;font-size:.82em;padding:2px 8px;cursor:pointer}.pinned-item-unpin:hover{color:var(--text, #f2f3f5);border-color:#7f7f7f80;filter:none}.message-jump-highlight{animation:pinned-jump-flash 1.6s ease-out;border-radius:8px}@keyframes pinned-jump-flash{0%{background:#5865f257}to{background:transparent}}@media (max-width: 480px){.pinned-bar{font-size:.86rem}.pinned-item-author{max-width:40%}.pinned-item-time{display:none}}.chat-page.has-chat-bg{background-size:cover;background-position:center;background-repeat:no-repeat;max-width:none;position:relative;isolation:isolate}.chat-page.has-chat-bg .chat-bg-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}.chat-page.has-chat-bg .chat-scroll{background:#1415188c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:10px;padding:8px 10px;margin:8px 0}.chat-page.has-chat-bg .page-head{background:#14151873;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:10px;padding:8px 14px}.chat-page.has-chat-bg .composer{background:#14151880;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:10px;padding:10px;margin-top:8px}.chat-page.has-chat-bg .member-panel{background:#1415186b;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:10px;padding:10px;border-left:none;margin-left:8px}.composer-attach-btn{flex:0 0 auto;background:transparent;border:1px solid var(--border, rgba(127, 127, 127, .3));border-radius:8px;font-size:18px;line-height:1;padding:0 10px;cursor:pointer}.composer-attach-btn:disabled{opacity:.5;cursor:default}.composer-attachments{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}.composer-attachment-item{position:relative;width:88px;height:88px;border-radius:10px;overflow:hidden;background:#7f7f7f24}.composer-attachment-item img{width:100%;height:100%;object-fit:cover;display:block}.composer-attachment-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:999px;background:#0009;color:#fff;font-size:14px;line-height:1;cursor:pointer}.composer-attachment-remove:hover{background:#000c}.composer-attachment-file{position:relative;display:inline-flex;align-items:center;gap:8px;max-width:240px;padding:8px 28px 8px 10px;border-radius:10px;background:#7f7f7f24;border:1px solid var(--border, rgba(127, 127, 127, .3))}.composer-file-icon{font-size:18px;line-height:1;flex:0 0 auto}.composer-file-meta{display:flex;flex-direction:column;min-width:0}.composer-file-size{font-size:.78em;opacity:.7}.composer-attachment-file .composer-attachment-remove{top:50%;transform:translateY(-50%)}@media (max-width: 768px){.chat-page.has-chat-bg .member-panel{margin-left:0;border-radius:0;background:#141518eb}.chat-page.has-chat-bg .composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}.gshome-page{padding:20px 24px;max-width:1100px}.gshome-page h1{font-size:20px;font-weight:600;margin:0 0 4px;letter-spacing:.01em}.gshome-page h2{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;margin:0 0 10px}.gshome-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #ffffff14}.gshome-head-text{min-width:0;flex:1 1 320px}.gshome-sub{color:var(--muted);font-size:13px;margin:0;max-width:620px;line-height:1.7}.gshome-create-btn{flex:0 0 auto;font-weight:500}.gshome-section{margin:0 0 28px}.gshome-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.gshome-card{background:var(--bg-2);border:1px solid #ffffff14;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:border-color .12s ease}.gshome-card:hover{border-color:#ffffff24}.gshome-card-top{display:flex;align-items:center;gap:8px;min-width:0}.gshome-card-title{font-weight:600;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gshome-badge{flex:0 0 auto;display:inline-block;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:500;line-height:1.6;white-space:nowrap;background:#23a5591a;border:1px solid #23a55940;color:var(--ok)}.gshome-badge-mp{background:#5865f21a;border-color:#5865f24d;color:#a3adf7}.gshome-card-meta{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:12px}.gshome-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}.gshome-card-actions button{width:auto;font-size:13px;padding:6px 12px}.gshome-card-preview{display:block;width:100%;aspect-ratio:16 / 9;border-radius:6px;border:1px solid #ffffff14;background:var(--bg);overflow:hidden}.gshome-card-preview-empty{display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--muted);opacity:.6;background:linear-gradient(180deg,#ffffff08,transparent)}.gshome-like-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;background:none;border:1px solid #ffffff14;border-radius:6px;color:var(--muted);font-size:13px;padding:6px 10px;cursor:pointer;transition:border-color .12s ease,color .12s ease}.gshome-like-btn:hover{border-color:#fff3;color:var(--text);filter:none}.gshome-like-btn.liked{color:#e0245e;border-color:#e0245e55}.gshome-like-btn.liked:hover{border-color:#e0245e88}.gshome-like-count{font-variant-numeric:tabular-nums}.gshome-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.gshome-search{flex:1 1 220px;max-width:360px;background:var(--bg-2);border:1px solid #ffffff14;border-radius:6px;color:var(--text);font-size:13px;padding:7px 10px}.gshome-search:focus{outline:none;border-color:var(--accent)}.gshome-sort-tabs{display:inline-flex;border:1px solid #ffffff14;border-radius:6px;overflow:hidden}.gshome-sort-tabs button{background:none;border:none;border-radius:0;color:var(--muted);font-size:13px;padding:7px 14px;cursor:pointer;transition:background .12s ease,color .12s ease}.gshome-sort-tabs button+button{border-left:1px solid #ffffff14}.gshome-sort-tabs button:hover{color:var(--text);filter:none}.gshome-sort-tabs button.active{background:#5865f22a;color:var(--text)}.gshome-title-hint{color:var(--muted);font-size:12px;margin-top:4px}.gshome-rename-modal .gshome-rename-input{width:100%}.gshome-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.gshome-template{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center;text-align:left;background:var(--bg);color:var(--text);border:1px solid #ffffff14;border-radius:8px;padding:10px 12px;cursor:pointer;white-space:normal;transition:border-color .12s ease,background .12s ease}.gshome-template:hover{border-color:#fff3;filter:none}.gshome-template.selected{border-color:var(--accent);background:#5865f214}.gshome-template-icon{font-size:18px;line-height:1;grid-row:1 / span 2}.gshome-template-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gshome-template-desc{color:var(--muted);font-size:12px;grid-column:2;line-height:1.5}.gshome-template-diff{flex:0 0 auto;font-weight:500;font-size:10.5px;line-height:1.6;padding:0 6px;border-radius:4px;border:1px solid #ffffff24;background:#ffffff0a;color:var(--muted);white-space:nowrap}.gshome-godot-card{background:var(--bg-2);border:1px solid #ffffff14;border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:16px}.gshome-godot-text{flex:1;min-width:0}.gshome-godot-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;margin-bottom:4px}.gshome-godot-logo{width:20px;height:20px}.gshome-godot-desc{color:var(--muted);font-size:13px;margin:0 0 6px;line-height:1.6}.gshome-godot-note{color:var(--muted);font-size:11.5px;margin:0;line-height:1.5;opacity:.85}.gshome-godot-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;align-items:stretch}.gshome-godot-btn{white-space:nowrap}.gshome-godot-tab-link{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:2px}.gshome-godot-tab-link:hover{color:var(--accent);text-decoration:underline;filter:none}@media (max-width: 768px){.gshome-page{padding:52px 14px 16px;max-width:100%}.gshome-head{flex-direction:column;align-items:stretch}.gshome-create-btn{width:100%}.gshome-grid,.gshome-template-grid{grid-template-columns:1fr}.gshome-godot-card{flex-direction:column;align-items:stretch}.gshome-search{font-size:16px}}.gsed-page{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-3)}.gsed-page-center{align-items:center;justify-content:center;gap:12px;padding:24px}.gsed-back-link{color:var(--accent);text-decoration:none;font-size:14px}.gsed-back-link:hover{text-decoration:underline}.gsed-topbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-2);border-bottom:1px solid #00000055}.gsed-topbar button{width:auto;font-size:13px}.gsed-back{color:var(--muted);text-decoration:none;font-size:13px;white-space:nowrap;padding:6px 4px}.gsed-back:hover{color:var(--text)}.gsed-title-input{background:transparent;border:1px solid transparent;font-size:14px;font-weight:600;color:var(--text);padding:6px 8px;border-radius:6px;width:auto;flex:0 1 320px;min-width:110px}.gsed-title-input:hover{border-color:#ffffff1f}.gsed-title-input:focus{background:var(--bg);border-color:var(--accent);outline:none}.gsed-save{font-size:12px;color:var(--muted);white-space:nowrap}.gsed-save-saved{color:var(--ok)}.gsed-save-error{color:var(--danger)}.gsed-topbar-spacer{flex:1 1 0}.gsed-pub-on{background:var(--ok)}.gsed-hist-btns{display:flex;gap:2px}.gsed-icon-btn{width:30px;min-width:30px;height:30px;padding:0;font-size:15px;line-height:1;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text)}.gsed-icon-btn:hover:not(:disabled){background:var(--bg-3);border-color:#ffffff14;filter:none}.gsed-icon-btn:disabled{opacity:.35;cursor:default}.gsed-help-btn{font-size:13px;font-weight:600;color:var(--muted)}.gsed-help-btn:hover{color:var(--text)}.gsed-help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#000000a8;display:flex;align-items:center;justify-content:center;padding:24px}.gsed-help-panel{background:var(--bg-2);border:1px solid #ffffff1f;border-radius:8px;padding:16px 18px;width:420px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px #00000080}.gsed-help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.gsed-help-head h3{margin:0;font-size:14px;font-weight:600}.gsed-help-close{width:28px;min-width:28px;padding:0;font-size:16px;line-height:1;background:transparent;border:none;color:var(--muted)}.gsed-help-close:hover{color:var(--text);filter:none;background:transparent}.gsed-help-table{width:100%;border-collapse:collapse}.gsed-help-table td{padding:5px 0;font-size:12px;vertical-align:top}.gsed-help-table td:first-child{width:55%;padding-right:12px;white-space:nowrap}.gsed-help-or{color:var(--muted);font-size:11px}.gsed-kbd{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--text);background:var(--bg-3);border:1px solid #ffffff1f;border-bottom-width:2px;border-radius:4px;padding:1px 6px}.gsed-main{flex:1;display:flex;min-height:0}.gsed-palette{flex:0 0 200px;overflow-y:auto;background:var(--bg-2);border-right:1px solid #00000044;padding:10px;display:flex;flex-direction:column;gap:4px}.gsed-panel-title{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted);padding:2px 4px 6px}.gsed-palette-btn{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);text-align:left;padding:7px 10px}.gsed-palette-btn:hover:not(:disabled){background:var(--bg-3);border-color:#ffffff14;filter:none}.gsed-palette-btn:disabled{opacity:.45;cursor:not-allowed}.gsed-palette-btn.armed{background:var(--bg-3);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.gsed-palette-icon{font-size:16px;line-height:1}.gsed-palette-label{font-size:13px}.gsed-palette-group{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--muted);padding:8px 4px 2px;margin-top:8px;border-top:1px solid #ffffff0f}.gsed-palette-group:first-of-type{margin-top:0;border-top:none;padding-top:2px}.gsed-palette-hint{font-size:11px;color:var(--muted);margin:8px 4px 0;line-height:1.6}.gsed-canvas-wrap{flex:1 1 auto;min-width:0;position:relative;background:var(--bg)}.gsed-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.gsed-canvas-hint{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:11px;color:var(--muted);background:#000000a0;border:1px solid #ffffff14;padding:3px 10px;border-radius:6px;pointer-events:none;white-space:nowrap;max-width:95%;overflow:hidden;text-overflow:ellipsis}.gsed-canvas.gsed-armed{cursor:crosshair}.gsed-grid-tools{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:8px;background:#000000a0;border:1px solid #ffffff14;padding:4px 8px;border-radius:6px;-webkit-user-select:none;user-select:none}.gsed-tool-check{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--text);cursor:pointer;white-space:nowrap}.gsed-tool-check input{width:auto;margin:0}.gsed-grid-size{width:auto;font-size:12px;padding:2px 4px;background:var(--bg-2);border:1px solid #ffffff1f;border-radius:4px;color:var(--text)}.gsed-grid-vis{width:auto;padding:3px 9px;font-size:12px;background:var(--bg-2);border:1px solid transparent;border-radius:4px;color:var(--muted)}.gsed-grid-vis:hover{background:var(--bg-3);filter:none}.gsed-grid-vis.on{color:var(--text);border-color:var(--accent)}.gsed-zoom-tools{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:4px;background:#000000a0;border:1px solid #ffffff14;padding:4px 6px;border-radius:6px}.gsed-zoom-tools button{width:auto;padding:2px 9px;font-size:13px;background:var(--bg-2)}.gsed-zoom-tools button:hover{background:var(--bg-3);filter:none}.gsed-zoom-val{font-size:12px;color:var(--text);min-width:42px;text-align:center;font-variant-numeric:tabular-nums}.gsed-play-wrap{flex:1 1 auto;min-width:0;position:relative;background:#000}.gsed-play-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.gsed-inspector{flex:0 0 260px;overflow-y:auto;background:var(--bg-2);border-left:1px solid #00000044;padding:12px}.gsed-insp-head{margin:0 0 10px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center}.gsed-insp-tip{font-size:12px;color:var(--muted);margin:0 0 12px;line-height:1.6}.gsed-insp-warn{font-size:12px;color:#f0b429;margin:6px 0 0;line-height:1.5}.gsed-insp-section{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px;border-top:1px solid #ffffff14;padding-top:10px}.gsed-field{margin-bottom:10px}.gsed-field label{margin:0 0 3px;font-size:12px}.gsed-insp-hint{font-size:11px;color:var(--muted);margin:3px 0 0;line-height:1.5}.gsed-num-input{width:100%;font-variant-numeric:tabular-nums}.gsed-check-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.gsed-check-row input{width:auto;margin:0}.gsed-range-row{display:flex;align-items:center;gap:8px}.gsed-range-row input[type=range]{flex:1;min-width:0}.gsed-range-val{font-size:12px;color:var(--text);min-width:38px;text-align:right;font-variant-numeric:tabular-nums}.gsed-skin-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.gsed-skin-btn{background:var(--bg-3);padding:4px 0;font-size:16px;line-height:1.4;border:1px solid #ffffff14;border-radius:6px}.gsed-skin-btn:hover{background:var(--bg);border-color:#fff3;filter:none}.gsed-skin-btn.on{border-color:var(--accent);background:var(--bg)}.gsed-skin-none{font-size:11px;color:var(--muted);grid-column:span 2}.gsed-color-field{margin-top:8px}.gsed-color-field input[type=color]{padding:2px;height:34px;cursor:pointer}.gsed-swatch-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.gsed-swatch{width:26px;height:26px;border-radius:6px;padding:0;border:1px solid #ffffff1f}.gsed-swatch:hover{border-color:#fff6;filter:none}.gsed-swatch.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.gsed-swatch-custom{width:34px;height:30px;padding:2px;cursor:pointer}.gsed-world-row{display:flex;gap:6px}.gsed-world-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg-3);color:var(--text);padding:8px 4px;border:1px solid #ffffff14;border-radius:6px}.gsed-world-btn:hover{border-color:#fff3;filter:none}.gsed-world-btn.on{border-color:var(--accent)}.gsed-world-dim{font-size:10px;color:var(--muted)}.gsed-delete-btn{width:100%;margin-top:14px;background:var(--danger)}.gsed-multi-actions{display:flex;gap:6px}.gsed-multi-actions button{flex:1 1 0;width:auto;font-size:12px}.gsed-align-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gsed-align-btn{width:100%;background:var(--bg-3);color:var(--text);padding:7px 4px;font-size:12px;border:1px solid #ffffff14;border-radius:6px}.gsed-align-btn:hover:not(:disabled){background:var(--bg);border-color:#fff3;filter:none}.gsed-align-btn:disabled{opacity:.4;cursor:default}@media (max-width: 900px){.gsed-palette{flex-basis:150px}.gsed-inspector{flex-basis:220px}}@media (max-width: 768px){.gsed-page{height:auto;min-height:100%;overflow:visible}.gsed-topbar{padding-left:56px;flex-wrap:wrap}.gsed-title-input{flex:1 1 140px;font-size:16px}.gsed-grid-size{font-size:16px}.gsed-back{min-height:40px;display:inline-flex;align-items:center}.gsed-icon-btn{min-width:40px}.gsed-main{flex-direction:column}.gsed-palette{flex:0 0 auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid #00000044}.gsed-palette .gsed-panel-title,.gsed-palette .gsed-palette-group,.gsed-palette-hint{display:none}.gsed-palette-btn{flex:0 0 auto;flex-direction:column;gap:2px;padding:6px 8px}.gsed-palette-label{font-size:11px}.gsed-canvas-wrap,.gsed-play-wrap{flex:0 0 auto;height:62vw;min-height:240px}.gsed-canvas-hint{display:none}.gsed-inspector{flex:0 0 auto;border-left:none;border-top:1px solid #00000044}}.gsplay-page{padding:20px 24px;max-width:1160px;margin:0 auto}.gsplay-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 auto 14px;max-width:1100px}.gsplay-back{flex:0 0 auto;display:inline-block;padding:7px 12px;border-radius:6px;border:1px solid #ffffff1f;background:var(--bg-2);color:var(--text);font-size:13px;text-decoration:none}.gsplay-back:hover{border-color:#fff4}.gsplay-edit-link{color:var(--accent);text-decoration:none}.gsplay-edit-link:hover{text-decoration:underline}.gsplay-title{font-size:18px;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsplay-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-left:auto}.gsplay-stage{display:flex;justify-content:center}.gsplay-stage-inner{position:relative;width:100%;max-width:1100px}.gsplay-canvas{width:100%;aspect-ratio:16 / 9;display:block;background:#000;border-radius:8px;border:1px solid #ffffff14;box-shadow:0 8px 24px #0005;touch-action:none}.gsplay-hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:8px;overflow:hidden}.gsplay-hud-chips{position:absolute;top:10px;left:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:calc(100% - 220px)}.gsplay-hud-chip{display:inline-flex;align-items:center;gap:4px;background:#0a0e148c;color:#fff;border:1px solid #ffffff1f;border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}.gsplay-heart{color:#ff5d6c;font-size:14px}.gsplay-heart.off{color:#ffffff38}.gsplay-hud-timer{font-variant-numeric:tabular-nums}.gsplay-hud-timer.warn{color:#ff6b6b;border-color:#ff6b6b66}.gsplay-hud-controls{position:absolute;top:10px;right:12px;display:flex;gap:8px}.gsplay-hud-btn{pointer-events:auto;background:#0a0e148c;color:#fff;border:1px solid #ffffff2b;border-radius:6px;padding:5px 12px;font-size:12px;line-height:1.4;cursor:pointer}.gsplay-hud-btn:hover{background:#161e28bf;border-color:#fff5}.gsplay-help{text-align:center;color:var(--muted);font-size:13px;margin:10px auto 0;max-width:1100px}.gsplay-result{text-align:center;font-size:14px;font-weight:500;margin:8px auto 0;max-width:1100px;color:var(--text)}.gsplay-result.won{color:var(--ok)}.gsplay-retry-btn{margin-left:10px;padding:4px 12px;border-radius:6px;border:1px solid #ffffff2b;background:var(--bg-2);color:var(--text);font-size:13px;cursor:pointer}.gsplay-retry-btn:hover{border-color:#fff5}.gsplay-error-hint{color:var(--muted);font-size:13px;margin:6px 0 12px}.gsplay-back-link{color:var(--accent);text-decoration:none;font-size:14px}.gsplay-back-link:hover{text-decoration:underline}.gsplay-mp-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#090b0fed;border-radius:8px}.gsplay-mp-panel{width:min(380px,100%);max-height:100%;overflow-y:auto;background:var(--bg-2);border:1px solid #ffffff14;border-radius:8px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}.gsplay-mp-panel-title{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.06em}.gsplay-mp-panel-sub{color:var(--muted);font-size:12.5px;margin:0;line-height:1.6}.gsplay-mp-mode-buttons{display:flex;flex-direction:column;gap:8px}.gsplay-mp-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--bg);color:var(--text);border:1px solid #ffffff14;border-radius:8px;padding:12px 14px;cursor:pointer;white-space:normal;transition:border-color .12s ease,background .12s ease}.gsplay-mp-mode-btn:hover{border-color:var(--accent);background:#5865f214;filter:none}.gsplay-mp-mode-name{font-weight:600;font-size:14px}.gsplay-mp-mode-desc{color:var(--muted);font-size:12px}.gsplay-mp-primary{width:100%;font-weight:500}.gsplay-mp-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}.gsplay-mp-divider:before,.gsplay-mp-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.gsplay-mp-join-row{display:flex;gap:8px}.gsplay-mp-join-row button{flex:0 0 auto}.gsplay-mp-code-input{flex:1;min-width:0;font-family:Consolas,SF Mono,Menlo,monospace;font-size:15px;letter-spacing:.3em;text-transform:uppercase;text-align:center;border:1px solid #ffffff1f}.gsplay-mp-code-input:focus{outline:none;border-color:var(--accent)}.gsplay-mp-error{color:#ff6b6b;font-size:12.5px;line-height:1.5;border:1px solid #ff6b6b44;background:#ff6b6b12;border-radius:6px;padding:7px 10px}.gsplay-mp-back{align-self:flex-start;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:2px 0}.gsplay-mp-back:hover{color:var(--text);filter:none;text-decoration:underline}.gsplay-mp-code-row{display:flex;align-items:center;gap:12px}.gsplay-mp-code{font-family:Consolas,SF Mono,Menlo,monospace;font-size:30px;font-weight:700;letter-spacing:.22em;-webkit-user-select:all;user-select:all}.gsplay-mp-copy{background:var(--bg);color:var(--text);border:1px solid #ffffff1f;border-radius:6px;font-size:12px;padding:5px 10px}.gsplay-mp-copy:hover{border-color:#fff4;filter:none}.gsplay-mp-players-head{font-size:12px;color:var(--muted);margin-bottom:6px}.gsplay-mp-player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:168px;overflow-y:auto}.gsplay-mp-player{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid #ffffff0f;border-radius:6px;padding:6px 10px;font-size:13px}.gsplay-mp-player.self{border-color:#5865f266;background:#5865f212}.gsplay-mp-player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsplay-mp-tag{flex:0 0 auto;font-size:10.5px;line-height:1.7;padding:0 6px;border-radius:4px;border:1px solid #ffffff24;background:#ffffff0a;color:var(--muted)}.gsplay-mp-tag.host{border-color:#f0b23255;background:#f0b2321a;color:#f0b232}.gsplay-mp-waiting{color:var(--muted);font-size:13px;text-align:center;padding:2px 0}.gsplay-mp-ranks{position:absolute;top:52px;right:12px;pointer-events:none;background:#0a0e149e;border:1px solid #ffffff1f;border-radius:8px;padding:8px 12px;min-width:150px;max-width:240px;display:flex;flex-direction:column;gap:4px}.gsplay-mp-ranks-title{font-size:11px;color:#fff9;letter-spacing:.06em}.gsplay-mp-rank{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:#fff}.gsplay-mp-rank.self .gsplay-mp-rank-name{color:#9db4ff}.gsplay-mp-rank-pos{flex:0 0 auto;font-weight:600;white-space:nowrap}.gsplay-mp-rank-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsplay-mp-rank-score{flex:0 0 auto;margin-left:auto;font-variant-numeric:tabular-nums;color:#ffffffb0}.gsplay-mp-waitnote{margin-left:10px;color:var(--muted);font-size:12.5px}.gsplay-srv-name{color:var(--text);font-weight:500}.gsplay-srv-exit{align-self:flex-start;color:var(--muted);font-size:12px;text-decoration:none;padding:2px 0}.gsplay-srv-exit:hover{color:var(--text);text-decoration:underline}.gsplay-srv-board{position:absolute;top:52px;right:12px;pointer-events:none;background:#0a0e149e;border:1px solid #ffffff1f;border-radius:8px;padding:8px 12px;min-width:170px;max-width:250px;display:flex;flex-direction:column;gap:4px}.gsplay-srv-board-title{font-size:11px;color:#fff9;letter-spacing:.06em}.gsplay-srv-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:#fff}.gsplay-srv-row-pos{flex:0 0 auto;min-width:16px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.gsplay-srv-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsplay-srv-row-score{flex:0 0 auto;margin-left:auto;font-variant-numeric:tabular-nums;color:#ffffffb0}.gsplay-srv-board-empty{color:#ffffff80;font-size:12px}.gsplay-srv-board-me{margin-top:4px;padding-top:6px;border-top:1px solid #ffffff1f;font-size:12px;color:#9db4ff;font-variant-numeric:tabular-nums}@media (max-width: 768px){.gsplay-page{padding:52px 14px 16px;max-width:100%}.gsplay-head{gap:10px}.gsplay-meta{margin-left:0;flex-basis:100%}.gsplay-canvas,.gsplay-hud{border-radius:6px}.gsplay-hud-chip{font-size:12px;padding:3px 9px}.gsplay-hud-btn{font-size:11px;padding:4px 10px}.gsplay-hud-chips{max-width:calc(100% - 190px)}.gsplay-mp-overlay{padding:10px;border-radius:6px}.gsplay-mp-panel{padding:14px 16px;gap:10px}.gsplay-mp-code{font-size:24px}.gsplay-mp-ranks{top:46px;right:10px;min-width:130px;padding:6px 10px}.gsplay-srv-board{top:46px;right:10px;min-width:140px;padding:6px 10px}.gsplay-back{min-height:40px;display:inline-flex;align-items:center}.gsplay-mp-code-input{font-size:16px}}.gsgd-page{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-3)}.gsgd-center{display:flex;align-items:center;justify-content:center}.gsgd-topbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-2);border-bottom:1px solid #00000055;flex:0 0 auto;min-width:0}.gsgd-back{color:var(--text);text-decoration:none;font-size:13px;padding:5px 10px;border-radius:6px;border:1px solid #ffffff1f;background:var(--bg-3);flex:0 0 auto}.gsgd-back:hover{border-color:#fff4}.gsgd-title{font-weight:600;font-size:14px;flex:0 0 auto}.gsgd-note{color:var(--muted);font-size:11.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto}.gsgd-tab-btn{flex:0 0 auto;padding:4px 10px}.gsgd-tut-btn{flex:0 0 auto;padding:4px 10px;white-space:nowrap}.gsgd-tut-btn.is-open{border-color:var(--accent);color:var(--accent)}.gsgd-body{display:flex;flex:1;min-height:0;position:relative}.gsgd-frame{flex:1;width:100%;min-width:0;border:0;display:block;background:#1d2229}.gsgd-fallback{max-width:460px;text-align:center;padding:24px}.gsgd-fallback h2{margin:0 0 10px;font-size:17px}.gsgd-fallback p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 16px}.gsgd-fallback-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.gsgd-back-link{color:var(--accent);text-decoration:none;font-size:13px}.gsgd-back-link:hover{text-decoration:underline}.gstut-panel{flex:0 0 320px;width:320px;min-height:0;display:flex;flex-direction:column;background:var(--bg-2);border-left:1px solid #00000055}.gstut-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #ffffff14}.gstut-head-title{font-weight:600;font-size:13px;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gstut-close{flex:0 0 auto;background:none;border:0;color:var(--muted);font-size:14px;line-height:1;padding:4px 7px;border-radius:6px;cursor:pointer}.gstut-close:hover{color:var(--text);background:#ffffff14}.gstut-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px}.gstut-lead{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.7}.gstut-chapter{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--bg-3);border:1px solid #ffffff14;border-radius:8px;padding:10px 12px;margin:0 0 8px;color:var(--text);font-size:13px;cursor:pointer}.gstut-chapter:hover{border-color:#fff3}.gstut-chapter-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff14;color:var(--muted);font-size:11.5px;font-weight:600}.gstut-chapter.is-done .gstut-chapter-num{background:var(--accent);color:#fff}.gstut-chapter-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gstut-chapter-meta{flex:0 0 auto;color:var(--muted);font-size:11px}.gstut-crumb{display:flex;align-items:center;gap:8px;margin:0 0 10px;min-width:0}.gstut-back-btn{flex:0 0 auto;background:none;border:0;padding:0;color:var(--accent);font-size:12px;cursor:pointer}.gstut-back-btn:hover{text-decoration:underline}.gstut-progress-label{margin-left:auto;color:var(--muted);font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gstut-bar{height:4px;border-radius:2px;background:#ffffff1a;overflow:hidden;margin:0 0 14px}.gstut-bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .2s ease}.gstut-step-title{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text);line-height:1.5}.gstut-body-text p{margin:0 0 10px;color:var(--text);font-size:13px;line-height:1.85}.gstut-tip{display:flex;gap:8px;align-items:flex-start;background:#ffffff0a;border-left:2px solid var(--accent);border-radius:0 6px 6px 0;padding:8px 10px;margin:0 0 10px;color:var(--text);font-size:12.5px;line-height:1.7}.gstut-tip-icon{flex:0 0 auto}.gstut-code{margin:0 0 10px;padding:10px 12px;background:#0006;border:1px solid #ffffff14;border-radius:8px;color:var(--text);font-family:Consolas,Menlo,Courier New,monospace;font-size:12px;line-height:1.6;white-space:pre;overflow-x:auto;-moz-tab-size:4;tab-size:4}.gstut-nav{flex:0 0 auto;display:flex;gap:8px;padding:10px 12px;border-top:1px solid #ffffff14}.gstut-nav button{flex:1;padding:8px 0;border-radius:6px;border:1px solid #ffffff1f;background:var(--bg-3);color:var(--text);font-size:13px;cursor:pointer}.gstut-nav button:hover:not(:disabled){border-color:#fff4}.gstut-nav button:disabled{opacity:.4;cursor:default}.gstut-nav .gstut-next{background:var(--accent);border-color:transparent;color:#fff;font-weight:600}.gstut-nav .gstut-next:hover:not(:disabled){filter:brightness(1.08)}@media (max-width: 768px){.gsgd-topbar{padding-left:52px;flex-wrap:wrap;gap:8px}.gsgd-note{display:none}.gsgd-back{min-height:40px;display:inline-flex;align-items:center}.gsgd-tab-btn{min-width:40px}.gstut-panel{position:absolute;top:0;right:0;bottom:0;width:min(90vw,320px);z-index:6;border-left:1px solid #ffffff14;box-shadow:-8px 0 24px #0006}}.gpu-section{margin-bottom:26px}.gpu-subhead{font-size:14px;color:var(--muted);margin:16px 0 8px}.gpu-section-head{margin:20px 0 8px}.gpu-section-head h2{margin:0}.gpu-section-head button{flex:0 0 auto;width:auto}.gpu-name{font-size:17px;font-weight:700;line-height:1.3;min-width:0;overflow-wrap:anywhere}.gpu-owner{display:flex;align-items:center;gap:8px;min-width:0}.gpu-owner-name{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpu-notes{font-size:12px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.gpu-price{font-size:13px;font-weight:600;color:var(--ok)}.gpu-chip-active{background:#23a55933;color:var(--ok)}.gpu-lend-form .gpu-field-wide{flex:1 1 260px}.gpu-detect-row{display:flex;gap:8px}.gpu-detect-row input{flex:1;min-width:0}.gpu-detect-row button{flex:0 0 auto}.gpu-search .plat-field{min-width:260px;flex:1}.gpu-modal-actions{justify-content:flex-end}.gpu-job-card{cursor:pointer}.gpu-job-title{font-size:15px;font-weight:700;min-width:0;overflow-wrap:anywhere}.gpu-job-image{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpu-bar{display:flex;height:8px;background:#ffffff14;border-radius:999px;overflow:hidden}.gpu-bar-seg{display:block;height:100%;min-width:2px}.gpu-seg-ok{background:var(--ok)}.gpu-seg-fail{background:var(--danger)}.gpu-seg-run{background:#f0ad4e}.gpu-seg-assign{background:#5865f2}.gpu-seg-pending{background:#fff3}.gpu-seg-cancel{background:#fff2}.gpu-job-progress{display:flex;flex-direction:column;gap:4px}.gpu-job-progress-legend{display:flex;gap:10px;flex-wrap:wrap}.gpu-legend-fail{color:var(--danger)}.gpu-job-form{gap:14px;margin-bottom:14px}.gpu-form-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.gpu-form-grid .plat-field{min-width:130px;flex:1 1 130px}.gpu-form-grid .gpu-field-wide{flex:1 1 260px}.gpu-form-block{display:flex;flex-direction:column;gap:8px}.gpu-form-block-title{font-size:13px;font-weight:600}.gpu-task-hint{margin:0}.gpu-kv{display:flex;flex-direction:column;gap:6px}.gpu-kv-row{display:flex;align-items:center;gap:6px}.gpu-kv-key{flex:1 1 40%;min-width:0}.gpu-kv-val{flex:1 1 60%;min-width:0}.gpu-kv-eq{color:var(--muted);flex:0 0 auto}.gpu-kv-del{flex:0 0 auto;width:auto;padding:4px 10px}.gpu-kv-add{align-self:flex-start;width:auto}.gpu-bulk{display:flex;gap:6px;align-items:center}.gpu-bulk input{width:90px}.gpu-bulk button{flex:0 0 auto;width:auto}.gpu-task-list{display:flex;flex-direction:column;gap:8px}.gpu-task-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.gpu-task-idx{color:var(--muted);font-weight:600}.gpu-worker-panel{gap:12px;margin-bottom:16px;border:1px solid #ffffff14}.gpu-worker-head{margin:0}.gpu-worker-stats{gap:22px}.gpu-pulse-ok{background:var(--ok)}.gpu-preflight{border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:#ffffff08;border:1px solid #ffffff14}.gpu-worker-log{display:flex;flex-direction:column;gap:4px}.gpu-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.gpu-log-list li{color:var(--muted)}.modal.gpu-detail-modal{max-width:760px}.gpu-detail{display:flex;flex-direction:column;gap:12px}.gpu-detail-meta{display:flex;flex-direction:column;gap:6px;font-size:13px}.gpu-detail-meta>div{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;min-width:0}.gpu-detail-meta .plat-mono{overflow-wrap:anywhere;min-width:0}.gpu-detail-label{color:var(--muted);flex:0 0 auto;font-size:12px}.gpu-detail-bar{height:10px}.gpu-task-table-wrap{max-height:360px;overflow:auto;border:1px solid #00000033;border-radius:8px}.gpu-task-table{width:100%}.gpu-task-table th{position:sticky;top:0;background:var(--bg-2);z-index:1}.gpu-worker-cell{color:var(--muted)}.gpu-log-toggle{background:none;border:none;padding:0;width:auto;cursor:pointer}.gpu-log-row td{background:#0002}.gpu-task-error{color:var(--danger);font-size:12px;margin-bottom:6px;overflow-wrap:anywhere}.gpu-stdout{margin:0;max-height:200px;overflow:auto;background:#0004;border-radius:6px;padding:8px 10px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 768px){.gpu-lend-form .gpu-field-wide,.gpu-form-grid .plat-field,.gpu-form-grid .gpu-field-wide{flex:1 1 100%;min-width:0}}@media (max-width: 480px){.gpu-detect-row{flex-wrap:wrap}.gpu-detect-row button{flex:1 1 auto}.gpu-kv-row{flex-wrap:wrap}.gpu-kv-key,.gpu-kv-val{flex:1 1 100%}}.mm-create-form{align-items:flex-end}.mm-field-wide{min-width:240px;flex:1}.mm-card{text-decoration:none;color:inherit}.mm-card-host{display:flex;align-items:center;gap:8px;min-width:0}.mm-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mm-detail-meta{flex-direction:row;gap:32px;margin:12px 0}.mm-conn{margin:12px 0}.mm-conn-row{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.mm-conn-row .plat-stat-label{min-width:110px}.mm-conn-row button{width:auto}.mm-edit-form{margin:12px 0;gap:10px}.mm-prompt-stack{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));right:calc(16px + env(safe-area-inset-right));z-index:4000;display:flex;flex-direction:column;gap:10px;width:340px;max-width:calc(100vw - 32px)}.mm-prompt{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px 34px 14px 14px;border-radius:12px;background:var(--bg-2, #2b2d31);color:var(--text, #f2f3f5);border:1px solid #ffffff14;border-left:3px solid var(--accent, #5865f2);box-shadow:0 8px 28px #00000073;animation:mm-prompt-slide-in .22s cubic-bezier(.21,1.02,.73,1) both}.mm-prompt-title{font-size:13px;font-weight:700;line-height:1.3}.mm-prompt-body{font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mm-prompt .plat-btn-row{margin-top:0}.mm-prompt-close{position:absolute;top:6px;right:6px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted, #b5bac1);font-size:16px;line-height:1;cursor:pointer}.mm-prompt-close:hover{background:#ffffff14;color:var(--text, #f2f3f5)}@keyframes mm-prompt-slide-in{0%{opacity:0;transform:translate(24px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@media (max-width: 768px){.mm-detail-meta{gap:16px}.mm-conn-row .plat-stat-value{min-width:0;overflow-wrap:anywhere}.mm-conn-row .plat-stat-label,.mm-field-wide{min-width:0}}.post-body{white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.5}.post-body p{margin:0 0 .5em}.post-body p:last-child{margin-bottom:0}.post-body h1,.post-body h2,.post-body h3,.post-body h4,.post-body h5,.post-body h6{margin:.6em 0 .3em;line-height:1.25;font-weight:700}.post-body h1{font-size:1.35rem}.post-body h2{font-size:1.2rem}.post-body h3{font-size:1.08rem}.post-body h4,.post-body h5,.post-body h6{font-size:1rem}.post-body ul,.post-body ol{margin:.25em 0 .5em;padding-left:1.4em}.post-body li{margin:.15em 0}.post-body blockquote{margin:.4em 0;padding:.2em .9em;border-left:3px solid var(--border, #3a3c43);color:var(--muted, #9aa0aa)}.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;padding:.1em .35em;border-radius:4px;background:#7f7f7f2e}.post-body pre.code-block{margin:.5em 0;padding:.7em .9em;border-radius:8px;overflow-x:auto;background:#7f7f7f24}.post-body pre.code-block code{padding:0;background:none;white-space:pre}.post-body a{color:var(--accent, #5865f2);text-decoration:none}.post-body a:hover{text-decoration:underline}.post-body a.hashtag-link{color:var(--accent, #5865f2);font-weight:600;cursor:pointer}.post-actions{display:flex;gap:.35rem;margin-top:.4rem}.post-action{display:inline-flex;align-items:center;gap:.35em;padding:.3em .55em;border:none;border-radius:999px;background:transparent;color:var(--muted, #9aa0aa);font:inherit;font-size:.85rem;line-height:1;cursor:pointer;transition:background-color .12s ease,color .12s ease}.post-action:hover{background:#7f7f7f24}.post-action:disabled{cursor:default;opacity:.6}.post-action .icon{width:18px;height:18px;display:block;flex:0 0 auto}.post-action .count{min-width:1ch;font-variant-numeric:tabular-nums}.post-action.is-active.like,.post-action.like:hover{color:#f4366d}.post-action.is-active.repost,.post-action.repost:hover{color:#00ba7c}.post-action.is-active.favorite,.post-action.favorite:hover{color:#f5b01a}.post-action.is-active .icon{fill:currentColor}.composer-tools{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.composer-media{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.composer-media-item{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;background:#7f7f7f24}.composer-media-item img,.composer-media-item video{width:100%;height:100%;object-fit:cover;display:block}.composer-media-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:999px;background:#0009;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.composer-media-remove:hover{background:#000c}.composer-card textarea{background:var(--bg);border:1px solid #00000044;border-radius:12px;padding:11px 14px;font-size:1.02rem;line-height:1.55;width:100%}.composer-card textarea:focus{outline:none;border-color:var(--accent)}.composer-bar{align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(127,127,127,.16)}.composer-attach-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--accent);cursor:pointer}.composer-attach-btn:hover:not(:disabled){background:#7f7f7f24}.composer-attach-btn:disabled{opacity:.45;cursor:default}.composer-attach-btn .icon{width:20px;height:20px}.composer-visibility{width:auto;border-radius:999px;padding:6px 12px}.composer-submit{border-radius:999px;padding:8px 22px;font-weight:600}.composer-file-item{display:inline-flex;align-items:center;gap:8px;max-width:260px;height:40px;padding:0 10px;border-radius:10px;background:#7f7f7f24;font-size:.9rem}.composer-file-icon{font-size:1.15rem;line-height:1;flex:0 0 auto}.composer-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-file-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;flex:0 0 auto;border:none;border-radius:999px;background:#00000080;color:#fff;font-size:.95rem;line-height:1;cursor:pointer}.composer-file-remove:hover{background:#000000bf}.modal.composer-modal{max-width:600px}.post-avatar{display:inline-flex;flex:0 0 auto;border-radius:999px}.post-avatar.has-menu{cursor:context-menu}.post-follow-btn{margin-left:auto;padding:.2em .7em;border:1px solid var(--accent, #5865f2);border-radius:999px;background:var(--accent, #5865f2);color:#fff;font:inherit;font-size:.78rem;line-height:1.4;cursor:pointer}.post-follow-btn:hover{filter:brightness(1.08)}.post-follow-btn:disabled{opacity:.6;cursor:default}.post-follow-btn.following{background:transparent;color:var(--muted, #9aa0aa);border-color:var(--border, #3a3c43)}.user-context-menu{position:fixed;z-index:1000;min-width:168px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--bg-3, #1e1f22);border:1px solid #00000044;border-radius:10px;box-shadow:0 8px 24px #0008}.user-context-item{display:block;width:100%;text-align:left;background:transparent;color:var(--text, #e7e8ea);border:none;padding:8px 10px;border-radius:6px;font:inherit;font-size:14px;cursor:pointer}.user-context-item:hover{background:var(--bg-2, #2b2d31);filter:none}.user-context-item.is-danger{color:var(--danger, #f23f43)}.user-context-confirm{padding:6px 10px 4px;font-size:.8rem;color:var(--muted, #9aa0aa)}.post-action.reply:hover{color:var(--accent, #5865f2)}.sns-fab{position:fixed;right:28px;bottom:28px;z-index:40;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:999px;background:var(--accent, #5865f2);color:#fff;cursor:pointer;box-shadow:0 6px 18px #0006;transition:filter .12s ease,transform .12s ease}.sns-fab:hover{filter:brightness(1.08)}.sns-fab:active{transform:scale(.96)}.sns-fab .icon{width:26px;height:26px;display:block}.sns-search-link{display:inline-flex;align-items:center;gap:.35em;padding:.35em .7em;border-radius:999px;color:var(--muted, #9aa0aa);text-decoration:none;font-size:.9rem}.sns-search-link:hover{background:#7f7f7f24;color:var(--text, #e7e8ea)}.sns-search-link .icon{width:18px;height:18px;display:block}.sns-search-form{display:flex;gap:.5rem;margin-bottom:.75rem}.sns-search-form input{flex:1 1 auto}.thread-reply-box{margin:.75rem 0}.thread-replies-title{margin:1rem 0 .5rem;font-size:.95rem;color:var(--muted, #9aa0aa)}.post-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin:.5rem 0 .25rem}.post-media-item{width:100%;max-width:100%;max-height:420px;object-fit:cover;border-radius:12px;display:block;background:#7f7f7f1a}.post-avatar.is-link{cursor:pointer}.post-avatar.is-link:focus-visible{outline:2px solid var(--accent, #5865f2);outline-offset:2px}.post-author-link{padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.post-author-link:hover{text-decoration:underline;filter:none}.post-author-link:focus-visible{outline:2px solid var(--accent, #5865f2);outline-offset:2px;border-radius:4px}.profile-header{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.profile-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-header-actions{display:flex;align-items:center}.profile-header-actions .profile-follow-btn{margin-top:0;align-self:auto}.profile-edit-btn{display:inline-block;padding:.45em 1em;border:1px solid var(--border, #3a3c43);border-radius:999px;background:transparent;color:var(--text, #e7e8ea);font-size:.85rem;text-decoration:none}.profile-edit-btn:hover{background:#7f7f7f24}.profile-identity{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.profile-name{margin:0;font-size:1.4rem;line-height:1.2}.profile-handle{color:var(--muted, #9aa0aa);font-size:.95rem}.profile-presence{display:flex;align-items:center;gap:6px;color:var(--muted, #9aa0aa);font-size:.82rem}.profile-presence .presence-dot{width:9px;height:9px;border-radius:50%;background:var(--muted, #9aa0aa);display:inline-block}.profile-presence.online,.profile-presence.online .presence-dot{color:#23a559}.profile-presence.online .presence-dot{background:#23a559}.profile-bio{margin:.5rem 0 0;color:var(--text, #e7e8ea);font-size:.95rem;white-space:pre-wrap;word-break:break-word}.profile-stats{display:flex;gap:1.5rem;margin:.75rem 0 0}.profile-stat{display:flex;align-items:baseline;gap:.35rem}.profile-stat dt{color:var(--muted, #9aa0aa);font-size:.85rem;order:2}.profile-stat dd{margin:0;font-weight:700;font-size:1rem;order:1}.profile-stat-btn{padding:2px 6px;margin:-2px -6px;border-radius:6px;cursor:pointer}.profile-stat-btn:hover{background:var(--bg, #1b1c20)}.follow-list{display:flex;flex-direction:column;gap:2px}.follow-row{display:flex;align-items:center;gap:.75rem;padding:8px 6px;border-radius:8px}.follow-row.clickable{cursor:pointer}.follow-row.clickable:hover{background:var(--bg, #1b1c20)}.follow-row-meta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;line-height:1.25}.follow-row-name{font-weight:600;color:var(--text, #e8eaed);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-row-handle{color:var(--muted, #9aa0aa);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follow-row-btn{flex:0 0 auto;padding:4px 12px;font-size:.85rem}.follow-list-more{display:flex;justify-content:center;margin-top:12px}.profile-feed-title{margin:1rem 0 .5rem;font-size:1rem;color:var(--muted, #9aa0aa)}.profile-more{display:flex;justify-content:center;margin:1rem 0}.profile-panel-avatar-btn{padding:0;border:none;background:transparent;border-radius:999px;cursor:pointer}.profile-panel-avatar-btn:hover{filter:brightness(1.05)}.profile-panel-view-btn{margin-top:10px;align-self:stretch;background:transparent;border:1px solid var(--border, #3a3c43);color:var(--text, #e7e8ea)}.profile-panel-view-btn:hover{background:#7f7f7f24;filter:none}.reply-attrib{display:inline-flex;align-items:center;gap:.3em;padding:0;margin-bottom:2px;border:none;background:transparent;color:var(--muted, #9aa0aa);font:inherit;font-size:.8rem;cursor:pointer}.reply-attrib:hover{color:var(--accent, #5865f2);text-decoration:underline;filter:none}.reply-attrib .icon{width:14px;height:14px}.heatmap{margin-bottom:1rem}.heatmap-head{align-items:center;margin-bottom:.5rem}.heatmap-title{margin:0;font-size:1rem}.heatmap-years{display:flex;flex-wrap:wrap;gap:.3rem}.heatmap-year{padding:.15em .6em;border:1px solid var(--border, #3a3c43);border-radius:999px;background:transparent;color:var(--muted, #9aa0aa);font-size:.78rem;cursor:pointer}.heatmap-year:hover{background:#7f7f7f24;filter:none}.heatmap-year.active{background:var(--accent, #5865f2);border-color:var(--accent, #5865f2);color:#fff}.heatmap-totals{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:.75rem}.heatmap-total-main{font-size:.95rem}.heatmap-scroll{overflow-x:auto;padding-bottom:.25rem}.heatmap-body{display:flex;gap:4px;min-width:max-content}.heatmap-weekdays{display:flex;flex-direction:column;gap:3px}.heatmap-months-spacer{display:block;height:16px}.heatmap-weekday{height:11px;line-height:11px;font-size:9px;color:var(--muted, #9aa0aa);white-space:nowrap}.heatmap-cal{display:flex;flex-direction:column}.heatmap-months{display:flex;height:13px;margin-bottom:3px}.heatmap-month{width:14px;flex:0 0 14px;font-size:10px;line-height:13px;color:var(--muted, #9aa0aa);white-space:nowrap;overflow:visible}.heatmap-weeks{display:flex;gap:3px}.heatmap-col{display:flex;flex-direction:column;gap:3px}.heatmap-cell{width:11px;height:11px;border-radius:2px;background:#7f7f7f24;display:inline-block}.heatmap-cell.is-empty{background:transparent}.heatmap-cell.hm-l0{background:#7f7f7f24}.heatmap-cell.hm-l1{background:#9be9a8}.heatmap-cell.hm-l2{background:#40c463}.heatmap-cell.hm-l3{background:#30a14e}.heatmap-cell.hm-l4{background:#216e39}.heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:.5rem}.heatmap-tooltip{position:fixed;transform:translate(-50%,calc(-100% - 8px));z-index:1000;padding:6px 10px;background:var(--bg-3, #1e1f22);border:1px solid #00000044;border-radius:8px;box-shadow:0 8px 24px #0008;pointer-events:none;white-space:nowrap;font-size:.8rem}.heatmap-tip-date{font-weight:700;margin-bottom:2px}.heatmap-tip-break{color:var(--muted, #9aa0aa);margin-top:2px}@media (max-width: 768px){.sns-fab{right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom))}.post-actions{flex-wrap:wrap;gap:.15rem}.post-action{min-height:40px;padding:.4em .6em}.post-follow-btn{padding:.35em .85em;font-size:.8rem}.user-context-menu{max-width:calc(100vw - 24px)}.composer-bar{flex-wrap:wrap;row-gap:10px}.composer-attach-btn{width:40px;height:40px}.composer-file-item{max-width:100%}.profile-header-actions .profile-follow-btn,.profile-edit-btn{min-height:40px;display:inline-flex;align-items:center}.profile-stats{gap:1rem}.heatmap-year{min-height:40px;display:inline-flex;align-items:center;padding:.2em .8em}.heatmap-tooltip{max-width:calc(100vw - 24px);white-space:normal}.follow-row-btn{min-height:40px}}.post-media-item.is-clickable{cursor:zoom-in}.post-file-item{display:inline-flex;align-items:center;gap:10px;max-width:360px;padding:10px 12px;border-radius:10px;background:#7f7f7f1f;border:1px solid #00000022;color:var(--text);text-decoration:none}.post-file-item:hover{background:#7f7f7f2e}.post-file-icon{font-size:1.3rem;line-height:1;flex:0 0 auto}.post-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.post-file-dl{color:var(--muted);flex:0 0 auto}@media (max-width: 768px){.post-file-item{max-width:100%}}.stream-live-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#da373c1f;border:1px solid #da373c66;border-radius:10px;padding:12px 16px;margin-bottom:16px}.stream-live-banner .stream-live-title{font-weight:600;font-size:15px}.stream-live-banner .stream-live-meta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:200px}.stream-live-banner .stream-banner-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stream-live-banner .stream-banner-actions button{width:auto}.stream-host-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg-2);border:1px solid #00000044;border-radius:10px;padding:10px 14px;margin:10px 0}.stream-host-bar .stream-host-label{font-weight:600;font-size:13px}.stream-host-bar .stream-host-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:auto}.stream-host-bar .stream-host-actions button{width:auto}.stream-video-wrap{position:relative;background:#000;border:1px solid #00000055;border-radius:10px;aspect-ratio:16 / 9;width:100%;overflow:hidden}.stream-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000}.stream-video-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;color:var(--muted);font-size:14px;background:#0006;pointer-events:none}.stream-video-error{color:#ffb4b4}.stream-video-badge{position:absolute;top:8px;left:8px;background:#000a;color:#fff;font-size:12px;border-radius:6px;padding:4px 8px;pointer-events:none}.stream-video-fps{position:absolute;left:8px;bottom:8px;z-index:2;background:#0005;color:#fff;opacity:.45;font-size:11px;line-height:1;font-variant-numeric:tabular-nums;border-radius:5px;padding:2px 6px;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 1px rgba(0,0,0,.6)}.stream-video-volume{position:absolute;right:8px;bottom:8px;z-index:3;display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:8px;background:#0006}.stream-volume-mute{width:auto;padding:2px 6px;font-size:14px;line-height:1;background:transparent;border-radius:6px;cursor:pointer}.stream-volume-slider{width:92px;max-width:92px;cursor:pointer}.stream-volume-value{flex:0 0 auto;min-width:30px;text-align:right;font-size:11px;color:#fffc;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.stream-video-actions{position:absolute;top:8px;right:8px;z-index:4;display:flex;align-items:center;gap:6px}.stream-video-action{width:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:#000a;color:#fff;padding:6px 10px;border-radius:6px;font-size:14px;line-height:1;cursor:pointer}.stream-video-action:hover{background:var(--accent, #5865f2);filter:none}.stream-video-action svg{display:block}.stream-video-wrap:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:none;border-radius:0}.ssv-pip-doc .stream-video-wrap{width:100vw;height:100vh;aspect-ratio:auto;border:none;border-radius:0}.stream-video-detached{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:14px}.stream-video-redock{width:auto;padding:8px 18px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer}.stream-preview-thumb{position:relative;overflow:hidden}.stream-preview-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px}.stream-preview-empty{position:relative;z-index:1}.stream-preview-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px;background:#000;opacity:0;transition:opacity .18s ease;pointer-events:none}.stream-preview-video.is-visible{opacity:1}.stream-preview-spinner{position:absolute;top:8px;right:8px;z-index:2;width:16px;height:16px;border-radius:50%;border:2px solid #ffffff55;border-top-color:#fff;animation:stream-preview-spin .7s linear infinite;pointer-events:none}@keyframes stream-preview-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.stream-live-banner .stream-banner-actions{width:100%;justify-content:flex-start}.stream-video-action{min-height:38px;min-width:38px;padding:8px 12px;font-size:15px}.stream-video-actions{gap:8px}.stream-volume-mute{min-height:34px;min-width:34px;padding:4px 8px}}.avatar-ov{display:flex;flex-direction:column;gap:10px}.avatar-ov-enable,.avatar-ov-transparent{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text, #f2f3f5)}.avatar-ov-enable input,.avatar-ov-transparent input{width:16px;height:16px;accent-color:var(--accent, #5865f2);cursor:pointer}.avatar-ov-stage{position:relative;width:100%;max-width:460px;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:repeating-linear-gradient(135deg,#1f2430 0,#1f2430 14px,#232a38 14px,#232a38 28px);border:1px solid #00000055;touch-action:none;-webkit-user-select:none;user-select:none}.avatar-ov-screen-label{position:absolute;top:8px;left:10px;font-size:12px;color:#8a93a4;letter-spacing:.04em;pointer-events:none}.avatar-ov-box{position:absolute;aspect-ratio:16 / 9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:8px;background:linear-gradient(180deg,#5865f280,#281e408c);border:1.5px solid rgba(255,255,255,.85);box-shadow:0 3px 10px #00000073;color:#fff;cursor:grab;overflow:hidden;min-width:34px;min-height:20px}.avatar-ov-box:active{cursor:grabbing}.avatar-ov-box-emoji{font-size:clamp(16px,4vw,30px);line-height:1}.avatar-ov-box-label{font-size:11px;opacity:.9}.avatar-ov-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 45%,rgba(255,255,255,.9) 45% 55%,transparent 55%),linear-gradient(135deg,transparent 65%,rgba(255,255,255,.9) 65% 75%,transparent 75%);border-bottom-right-radius:8px}.avatar-ov-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.avatar-ov-size{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted, #b5bac1)}.avatar-ov-size input[type=range]{width:150px;accent-color:var(--accent, #5865f2)}.avatar-ov-size-val{min-width:40px;font-variant-numeric:tabular-nums;color:var(--text, #f2f3f5)}.avatar-ov-hint{margin:0;font-size:12px;color:var(--text-muted, #b5bac1)}@media (max-width: 480px){.avatar-ov-size input[type=range]{width:110px}}.wiki-page-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.wiki-row{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:var(--text)}.wiki-row:hover{outline:1px solid var(--accent)}.wiki-row-main{min-width:0}.wiki-row-title{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-row-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin-top:4px}.wiki-byline{margin-top:6px}.wiki-doc{padding:4px 18px 14px}.wiki-editor label{display:block;margin:10px 0 4px}.wiki-editor-textarea{width:100%;min-height:320px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.6;-moz-tab-size:2;tab-size:2}.wiki-stale-notice{background:#f0b23219;border:1px solid #f0b23255;color:#f0b232;border-radius:6px;padding:8px 12px;font-size:13px;margin:4px 0 10px}.modal.wiki-wide-modal{width:min(680px,92vw)}.wiki-rev-list{list-style:none;padding:0;margin:0}.wiki-rev-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #ffffff0d}.wiki-rev-main{min-width:0}.wiki-rev-title{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiki-rev-meta{margin-top:2px}.wiki-rev-preview{margin-top:12px;border:1px solid #ffffff1a;border-radius:8px;padding:10px 14px;background:var(--bg)}.wiki-rev-preview-body{max-height:320px;overflow-y:auto}.wiki-md{line-height:1.7;word-break:break-word}.wiki-md h1{font-size:1.55em;margin:.9em 0 .45em;border-bottom:1px solid #ffffff1a;padding-bottom:.25em}.wiki-md h2{font-size:1.3em;margin:.85em 0 .4em}.wiki-md h3{font-size:1.12em;margin:.75em 0 .35em}.wiki-md p{margin:.5em 0}.wiki-md a{color:var(--accent)}.wiki-md a:hover{text-decoration:underline}.wiki-md .wiki-inline-code{background:#0005;border:1px solid #ffffff12;border-radius:4px;padding:1px 5px;font-size:.88em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.wiki-md pre.wiki-pre{background:#0d0f13;border:1px solid #ffffff14;border-radius:8px;padding:12px 14px;overflow-x:auto;margin:.7em 0}.wiki-md pre.wiki-pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;color:#e6edf3;white-space:pre}.wiki-md blockquote{margin:.6em 0;padding:4px 14px;border-left:3px solid var(--accent);border-radius:0 6px 6px 0;background:#ffffff08;color:var(--muted)}.wiki-md ul,.wiki-md ol{margin:.5em 0;padding-left:1.6em}.wiki-md li{margin:.2em 0}.wiki-md hr{border:none;border-top:1px solid #ffffff22;margin:1.2em 0}.wiki-md img{max-width:100%;height:auto}@media (max-width: 768px){.wiki-page>.back-link{margin-left:44px}.wiki-page .page-head .row-between,.wiki-list-page .page-head .row-between{flex-wrap:wrap}.wiki-page .page-head .row-between>h2,.wiki-list-page .page-head .row-between>h2{min-width:0;overflow-wrap:anywhere}}.ssc-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:9000;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;max-width:calc(100vw - 24px);padding:8px 14px;border-radius:10px;background:#1e1f22;border:1px solid #3a3c41;box-shadow:0 6px 24px #00000073;color:#e7e8ea;font-size:13px;-webkit-user-select:none;user-select:none}.ssc-dot{width:9px;height:9px;border-radius:50%;background:#f23f43;box-shadow:0 0 #f23f43b3;animation:ssc-pulse 1.8s infinite}@keyframes ssc-pulse{0%{box-shadow:0 0 #f23f4399}70%{box-shadow:0 0 0 7px #f23f4300}to{box-shadow:0 0 #f23f4300}}.ssc-label{font-weight:600}.ssc-drag{display:inline-flex;align-items:center;gap:8px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.ssc-grip{display:inline-flex;align-items:center;color:#6d7075}.ssc-drag:hover .ssc-grip{color:#9aa0a6}.ssc-bar.ssc-dragging,.ssc-bar.ssc-dragging .ssc-drag{cursor:grabbing}.ssc-bar.ssc-dragging{opacity:.94;box-shadow:0 12px 34px #0000008c}.ssc-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin:0}.ssc-toggle input{width:16px;height:16px;cursor:pointer}.ssc-warn{color:#f0b232;font-weight:600}.ssc-toggle-disabled{cursor:not-allowed;opacity:.55}.ssc-toggle-disabled input{cursor:not-allowed}.ssc-note{color:#9aa0a6;font-size:12px}.ssc-setting{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin:0;white-space:nowrap}.ssc-setting-label{color:#9aa0a6;font-size:12px;font-weight:600;white-space:nowrap}.ssc-select{background:#2b2d31;color:#e7e8ea;border:1px solid #3a3c41;border-radius:6px;padding:3px 6px;font-size:12px;line-height:1.2;cursor:pointer;flex-shrink:0;width:auto;min-width:4.5rem}.ssc-select:focus{outline:none;border-color:var(--accent, #5865f2)}.ssc-encstat{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:6px;white-space:nowrap;cursor:help}.ssc-enc-hw{color:#43b581;background:#43b58124}.ssc-enc-sw{color:#f0b232;background:#f0b23224}.ssc-enc-limit{color:#f23f43;background:#f23f4329}.ssc-audiostat{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap;cursor:help}.ssc-audio-on{color:#43b581;background:#43b58124}.ssc-audio-off{color:#9aa0a6;background:#9aa0a624}@media (max-width: 768px){.ssc-bar{gap:8px;bottom:calc(14px + env(safe-area-inset-bottom))}.ssc-select{padding:6px 8px;font-size:13px;min-height:36px}.ssc-toggle input{width:20px;height:20px}}.notif-toast-stack{position:fixed;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));z-index:4000;display:flex;flex-direction:column;gap:10px;width:340px;max-width:calc(100vw - 32px);pointer-events:none}@media (max-width: 768px){.notif-toast-stack{max-width:calc(100vw - 72px)}}.notif-toast{pointer-events:auto;position:relative;display:flex;align-items:flex-start;gap:10px;padding:12px 34px 12px 12px;border-radius:12px;background:var(--bg-2, #2b2d31);color:var(--text, #f2f3f5);border:1px solid #ffffff14;border-left:3px solid var(--accent, #5865f2);box-shadow:0 8px 28px #00000073;cursor:pointer;overflow:hidden;animation:notif-slide-in .22s cubic-bezier(.21,1.02,.73,1) both}.notif-toast:hover{filter:brightness(1.06)}.notif-toast-avatar{flex:0 0 auto;display:flex}.notif-toast-body{flex:1 1 auto;min-width:0}.notif-toast-title{font-size:13px;font-weight:700;line-height:1.3;color:var(--text, #f2f3f5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-toast-text{margin-top:2px;font-size:12px;line-height:1.35;color:var(--muted, #b5bac1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-toast-close{position:absolute;top:6px;right:6px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted, #b5bac1);font-size:16px;line-height:1;cursor:pointer}.notif-toast-close:hover{background:#ffffff14;color:var(--text, #f2f3f5);filter:none}@keyframes notif-slide-in{0%{opacity:0;transform:translate(24px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}.community-unread-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;margin-left:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--danger, #da373c);color:#fff;font-size:11px;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--bg-2, #2b2d31)}.remote-cursors{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:5}.remote-cursor{position:absolute;display:flex;align-items:flex-start;gap:2px;transform:translate(-1px,-1px);transition:left .05s linear,top .05s linear;will-change:left,top}.remote-cursor-arrow{display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));flex:0 0 auto}.remote-cursor-label{margin-top:8px;padding:1px 6px;border-radius:8px;font-size:11px;font-weight:600;line-height:1.5;color:#fff;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.45);box-shadow:0 1px 4px #0006;max-width:140px;overflow:hidden;text-overflow:ellipsis}.ssv-volume-value{flex:0 0 auto;min-width:30px;text-align:right;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.ssv-volume-value{display:none}}.voice-bar-controls-row{display:flex;align-items:stretch;gap:6px}.voice-bar-controls-row .voice-bar-share{flex:1 1 auto;width:auto;min-width:0}.voice-bar-camera{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;background:#ffffff14;color:var(--text);border:none;padding:6px;border-radius:6px;cursor:pointer}.voice-bar-camera:hover:not(:disabled){background:#fff2}.voice-bar-camera:disabled{opacity:.6;cursor:default}.voice-bar-camera.active{background:var(--accent);color:#fff}.voice-bar-camera.active:hover:not(:disabled){background:var(--accent);filter:brightness(1.1)}.voice-bar-camera-icon{display:inline-flex;flex:0 0 auto}.voice-cam-tiles{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow-y:auto}.voice-cam-tile{position:relative;width:calc(50% - 3px);aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;background:#000;border:1px solid var(--bg-2)}.voice-cam-tile video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.voice-cam-tile.self video{transform:scaleX(-1)}.voice-cam-label{position:absolute;left:4px;bottom:4px;max-width:calc(100% - 8px);padding:1px 6px;border-radius:4px;background:#000a;color:#fff;font-size:10px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-cam-window{border:1px solid var(--accent, #5865f2)}.ssv-video.voice-cam-self{transform:scaleX(-1)}.voice-cam-stage-label{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:3px 10px;border-radius:6px;background:#000a;color:#fff;font-size:13px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:2}.ssv-stage-min{position:absolute;top:16px;right:16px;z-index:62;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:8px;background:#0008;color:#fff;font-size:18px;font-weight:700;line-height:1;cursor:pointer}.ssv-stage-min:hover{background:#000b}.ssv-stage-restore{position:fixed;right:16px;bottom:16px;z-index:70;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:999px;background:var(--accent, #5865f2);color:#fff;font-size:13px;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 6px 20px #00000073}.ssv-stage-restore:hover{filter:brightness(1.08)}.voice-user-context-menu{position:fixed;z-index:9500;min-width:200px;max-width:calc(100vw - 16px);padding:10px 12px;border-radius:10px;background:#1e1f22;border:1px solid #3a3c41;box-shadow:0 8px 28px #00000080;color:#e7e8ea;font-size:13px;-webkit-user-select:none;user-select:none}.vucm-title{font-weight:600;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.vucm-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.vucm-label{color:#b5bac1}.vucm-value{font-variant-numeric:tabular-nums;color:#e7e8ea}.vucm-slider{width:100%;margin:2px 0 0;cursor:pointer;accent-color:#5865f2}.vucm-slider.boosted{accent-color:#e67e22}.vucm-value{transition:color .1s ease}.vucm-server-mute-btn{display:block;width:100%;margin-top:10px;padding-top:8px;border-top:1px solid #3a3c41;background:transparent;color:#e7e8ea;text-align:left;font:inherit;font-size:12px;cursor:pointer}.vucm-server-mute-btn:hover,.vucm-server-mute-btn.active{color:#f23f42}.vucm-kick-btn{display:block;width:100%;margin-top:6px;padding-top:8px;border:0;border-top:1px solid #3a3c41;background:transparent;color:#f23f42;text-align:left;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.vucm-kick-btn:hover{color:#ff5c5f}.entrant-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;opacity:.85}.entrant-icon-mute,.entrant-icon-deafen{color:var(--muted)}.entrant-icon-servermute{color:var(--danger)}.entrant-avatar-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%}.entrant-avatar-wrap.speaking .avatar{box-shadow:0 0 0 2px var(--ok, #23a559),0 0 7px 1px #23a559bf;animation:entrant-speaking-pulse 1.4s ease-in-out infinite}@keyframes entrant-speaking-pulse{0%,to{box-shadow:0 0 0 2px var(--ok, #23a559),0 0 6px 1px #23a5598c}50%{box-shadow:0 0 0 2px var(--ok, #23a559),0 0 10px 2px #23a559e6}}@media (prefers-reduced-motion: reduce){.entrant-avatar-wrap.speaking .avatar{animation:none}}.voice-bar-mute.server-locked{position:relative;color:var(--danger);cursor:not-allowed}.voice-bar-mute.server-locked:hover{background:transparent}.voice-bar-server-mute-badge{position:absolute;bottom:-2px;right:-2px;display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;font-size:8px;border-radius:50%;background:var(--danger);color:#fff;line-height:1;pointer-events:none}.entrant[draggable=true]{cursor:grab}.entrant[draggable=true]:active{cursor:grabbing}.entrant.dragging{opacity:.5}.entrant[draggable=true] img{-webkit-user-drag:none;user-drag:none}.voice-channel-row.drag-over{outline:2px dashed var(--accent, #5865f2);outline-offset:-2px;border-radius:6px;background:color-mix(in srgb,var(--accent, #5865f2) 16%,transparent)}.channel-tree-item[draggable=true],.voice-channel-row[draggable=true]{cursor:grab}.channel-tree-item[draggable=true]:active,.voice-channel-row[draggable=true]:active{cursor:grabbing}.channel-reorder-over{border-top:2px solid var(--accent, #5865f2);background:color-mix(in srgb,var(--accent, #5865f2) 12%,transparent)}.voice-bar-whiteboard{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:#ffffff14;color:var(--text);border:none;padding:6px 8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.voice-bar-whiteboard:hover{background:#fff2}.voice-bar-whiteboard.active{background:var(--accent);color:#fff}.voice-bar-whiteboard.active:hover{background:var(--accent);filter:brightness(1.1)}.voice-bar-whiteboard-icon{display:inline-flex;flex:0 0 auto}.wb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;background:#0009;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.wb-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));background:var(--bg-2, #2b2d31);border-bottom:1px solid #00000044;flex:0 0 auto}.wb-title{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30vw;flex:0 0 auto}.wb-tools{display:flex;align-items:center;gap:6px;flex:1 1 auto;flex-wrap:wrap}.wb-sep{width:1px;height:22px;background:#fff2;margin:0 4px;flex:0 0 auto}.wb-swatch{width:22px;height:22px;border-radius:50%;padding:0;cursor:pointer;border:2px solid #ffffff33;flex:0 0 auto}.wb-swatch.active{border-color:var(--accent, #2f6df6);box-shadow:0 0 0 2px var(--accent, #2f6df6)}.wb-size{width:28px;height:28px;padding:0;border-radius:6px;cursor:pointer;background:#ffffff14;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.wb-size.active{background:#ffffff2a;border-color:var(--accent, #2f6df6)}.wb-size-dot{background:currentColor;border-radius:50%;color:var(--text);display:block}.wb-btn{background:#ffffff14;color:var(--text);border:1px solid transparent;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;flex:0 0 auto}.wb-btn:hover{background:#fff2}.wb-btn.active{background:var(--accent, #2f6df6);color:#fff}.wb-close{background:transparent;color:var(--muted);border:none;cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;border-radius:6px;flex:0 0 auto}.wb-close:hover{background:var(--danger, #e23b3b);color:#fff}.wb-stage{flex:1 1 auto;min-height:0;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));display:flex;align-items:stretch;justify-content:center}.wb-canvas-wrap{position:relative;width:100%;height:100%;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #00000080}.wb-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}@media (max-width: 768px){.wb-toolbar{flex-wrap:wrap;gap:8px}.wb-title{order:0;flex:1 1 0;min-width:0;max-width:none}.wb-close{order:1;min-width:40px;min-height:40px;font-size:20px}.wb-tools{order:2;flex-basis:100%}.wb-swatch{width:34px;height:34px}.wb-size{width:40px;height:40px}.wb-btn{padding:9px 12px;min-height:40px}.wb-stage{padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}}.audio-device-panel{position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:30;background:var(--bg-3);border:1px solid #00000055;border-radius:10px;padding:12px;box-shadow:0 8px 24px #0000007a;display:flex;flex-direction:column;gap:10px;text-align:left}.audio-device-title{font-size:13px;font-weight:700;color:var(--text);margin:0 0 2px}.audio-device-field{display:flex;flex-direction:column;gap:4px}.audio-device-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.audio-device-select{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid #00000066;border-radius:6px;padding:6px 8px;font-size:13px;cursor:pointer}.audio-device-select:focus{outline:none;border-color:var(--accent)}.audio-device-note{font-size:11px;color:var(--muted);line-height:1.4}.audio-device-refresh{align-self:flex-start;background:transparent;color:var(--accent);border:none;padding:2px 0;font-size:12px;font-weight:600;cursor:pointer}.audio-device-refresh:hover{text-decoration:underline}@media (max-width: 768px){.audio-device-select{min-height:40px}.audio-device-refresh{min-height:32px}}.modal.screen-picker-modal{max-width:860px}.share-source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:8px;max-height:64vh;overflow-y:auto}.share-source{display:flex;flex-direction:column;gap:6px;padding:6px;background:var(--bg-2);border:2px solid transparent;border-radius:8px;cursor:pointer;text-align:left;width:100%;color:var(--text)}.share-source:hover{background:var(--bg-3)}.share-source.selected{border-color:var(--accent)}.share-source img,.share-source-thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:5px;background:var(--bg);display:block}.share-source-name{font-size:12px;line-height:1.3;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-source-overlay{margin-top:14px;padding-top:14px;border-top:1px solid var(--bg-3, #00000044)}@media (max-width: 768px){.modal.screen-picker-modal{max-width:100%}.share-source-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.call-incoming-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.call-incoming-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(320px,90vw);padding:28px 24px 22px;border-radius:16px;background:var(--panel, #1e1f24);border:1px solid var(--border, #33353b);box-shadow:0 20px 60px #00000080;color:var(--text, #e8e8ea);text-align:center;animation:call-pop-in .16s ease-out}@keyframes call-pop-in{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.call-incoming-name{font-size:18px;font-weight:700;margin-top:4px}.call-incoming-sub{color:var(--muted, #9aa0aa);font-size:13px}.call-incoming-actions{display:flex;gap:14px;margin-top:12px}.call-outgoing{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:3900;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:var(--panel, #1e1f24);border:1px solid var(--border, #33353b);box-shadow:0 10px 30px #00000073;color:var(--text, #e8e8ea);max-width:90vw}.call-outgoing-text{display:flex;flex-direction:column;line-height:1.25}.call-outgoing-name{font-weight:600;font-size:14px}.call-outgoing-sub{color:var(--muted, #9aa0aa);font-size:12px;animation:call-pulse 1.4s ease-in-out infinite}@keyframes call-pulse{0%,to{opacity:.55}50%{opacity:1}}.call-btn{border:none;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;color:#fff;transition:filter .12s ease}.call-btn:hover{filter:brightness(1.1)}.call-accept{background:#3ba55d}.call-decline{background:#ed4245}.call-cancel{background:#ed4245;padding:6px 14px;font-size:13px}.call-notice{position:fixed;left:50%;bottom:78px;transform:translate(-50%);z-index:3900;padding:8px 16px;border-radius:999px;background:#000000d1;color:#fff;font-size:13px;box-shadow:0 8px 24px #0006;animation:call-pop-in .14s ease-out}.update-toast{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:120;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px);gap:10px;padding:8px 10px 8px 14px;background:#1c1e24f5;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 6px 24px #00000059;font-size:13px;color:#e8eaed}.update-toast-reload{padding:4px 12px;font-size:12.5px;border-radius:6px}.update-toast-close{background:none;border:none;padding:2px 6px;color:#ffffff8c;font-size:14px;line-height:1;cursor:pointer}.update-toast-close:hover{color:#fff}:root{--bg: #1e1f22;--bg-2: #2b2d31;--bg-3: #313338;--text: #f2f3f5;--muted: #b5bac1;--accent: #5865f2;--danger: #da373c;--ok: #23a559}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,system-ui,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;background:var(--bg);color:var(--text)}.app{display:flex;height:100vh;height:100dvh}.sidebar{width:clamp(240px,17vw,340px);flex-shrink:0;background:var(--bg-2);display:flex;flex-direction:column;padding:12px;gap:10px}.brand{font-weight:700;font-size:20px;padding:4px 8px;color:var(--accent)}.sidebar-top{display:flex;gap:6px}.sidebar-top a{flex:1;text-align:center;color:var(--muted);text-decoration:none;padding:8px 4px;border-radius:8px;font-size:13px;background:var(--bg-3);white-space:nowrap}.sidebar-top a:hover{color:var(--text);filter:brightness(1.1)}.sidebar-top a.active{background:var(--accent);color:#fff}.community-home-link{display:block;text-align:center;color:var(--muted);background:var(--bg-3);text-decoration:none;padding:8px;border-radius:8px;font-size:13px}.community-home-link:hover{color:var(--text);filter:brightness(1.1)}.community-home-link.active{background:var(--accent);color:#fff}.community-rail{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;border-top:1px solid #00000033;padding-top:8px}.sidebar{scrollbar-width:thin;scrollbar-color:var(--bg) transparent}.sidebar::-webkit-scrollbar,.sidebar ::-webkit-scrollbar{width:5px;height:5px}.sidebar::-webkit-scrollbar-track,.sidebar ::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.sidebar ::-webkit-scrollbar-thumb{background-color:var(--bg);border-radius:8px;border:1px solid transparent;background-clip:padding-box}.sidebar::-webkit-scrollbar-thumb:hover,.sidebar ::-webkit-scrollbar-thumb:hover{background-color:#16171a}.sidebar::-webkit-scrollbar-thumb:active,.sidebar ::-webkit-scrollbar-thumb:active{background-color:#0f1012}.community-rail-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 2px}.community-rail-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.rail-add{background:transparent;color:var(--muted);font-size:18px;line-height:1;padding:0 6px;border-radius:6px}.rail-add:hover{color:var(--text);background:var(--bg-3);filter:none}.community-list{display:flex;flex-direction:column;gap:2px}.community-group{display:flex;flex-direction:column;border-radius:8px}.community-group.dragging{opacity:.45}.community-group.drag-over{box-shadow:inset 0 2px 0 var(--accent)}.community-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border-radius:8px;color:var(--muted);background:transparent;border:none;text-align:left;font:inherit;cursor:pointer;text-decoration:none}.community-item:hover{background:var(--bg-3);color:var(--text);filter:none}.community-item.active{background:var(--accent);color:#fff}.community-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.community-caret{font-size:12px;opacity:.8}.community-empty{padding:16px 8px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:10px;align-items:center}.community-empty-hint{margin:0;font-size:13px}.community-item.pending{opacity:.85}.community-item .community-pending{margin-left:4px}.community-limited{margin-top:8px;text-align:center}.channel-tree{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 8px;padding-left:8px;border-left:1px solid #ffffff14}.tree-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:6px 4px 2px}.tree-empty{padding:2px 6px}.channel-tree-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;color:var(--muted);text-decoration:none;font-size:14px}.channel-tree-item:hover{background:var(--bg-3);color:var(--text)}.channel-tree-item.active{background:var(--accent);color:#fff}.channel-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-channel-row{display:flex;align-items:center;gap:2px}.voice-channel-row .channel-tree-item{flex:1;min-width:0}.voice-chat-link{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:15px;line-height:1;text-decoration:none;opacity:.7}.voice-chat-link:hover{background:var(--bg-3);opacity:1}.channel-lock{flex:0 0 auto;margin-left:4px;font-size:11px;opacity:.65;line-height:1}.entrant-list{list-style:none;margin:6px 0 0;padding:6px 0 0;border-top:1px solid #ffffff0d;display:flex;flex-direction:column;gap:1px}.entrant-list:empty{display:none}.entrant{display:flex;align-items:center}.entrant-btn{display:flex;align-items:center;gap:10px;width:100%;padding:5px 6px 5px 12px;border-radius:6px;background:transparent;color:var(--muted);text-align:left;cursor:pointer;font:inherit}.entrant-btn:hover{background:var(--bg-3);color:var(--text);filter:none}.entrant-btn{flex:1;min-width:0}.entrant-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.entrant .avatar{width:26px!important;height:26px!important;font-size:11px!important}.live-badge{flex:0 0 auto;font-size:9px;font-weight:700;letter-spacing:.02em;color:#fff;background:var(--danger);border-radius:4px;padding:1px 4px;line-height:1.4;white-space:nowrap}.watch-btn{flex:0 0 auto;font-size:11px;padding:2px 8px;border-radius:6px;background:var(--bg-3);color:var(--text);margin-left:4px}.watch-btn:hover{background:var(--accent);filter:none}.sidebar-footer{position:relative;border-top:1px solid #00000033;padding-top:8px}.profile-chip{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--text);padding:6px 8px;border-radius:8px}.profile-chip:hover{background:var(--bg-3);filter:none}.profile-avatar-wrap{position:relative;flex:0 0 auto;display:inline-flex;line-height:0}.profile-status-dot{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-2);box-sizing:border-box}.profile-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.profile-caret{color:var(--muted);font-size:14px}.profile-login{color:var(--muted);text-decoration:none;display:block;padding:8px}.profile-login:hover{color:var(--text)}.profile-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);background:var(--bg-3);border:1px solid #00000044;border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 24px #0008;z-index:20}.profile-menu-item{display:block;width:100%;text-align:left;background:transparent;color:var(--text);text-decoration:none;padding:8px 10px;border-radius:6px;font-size:14px}.profile-menu-item:hover{background:var(--bg-2);filter:none}.profile-menu-item.danger-text{color:var(--danger)}.voice-bar{display:flex;flex-direction:column;gap:6px;padding:6px 8px;border-radius:8px;background:#0003;border-top:1px solid #00000033;position:relative}.voice-bar-main{display:flex;align-items:center;gap:8px}.voice-bar-icon{display:inline-flex;color:var(--ok);flex:0 0 auto}.voice-bar-info{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2}.voice-bar-status{font-size:11px;font-weight:600;color:var(--ok)}.voice-bar-name{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-bar-leave{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);padding:6px;border-radius:6px;flex:0 0 auto}.voice-bar-leave:hover{background:var(--danger);color:#fff;filter:none}.voice-bar-mute{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);padding:6px;border-radius:6px;flex:0 0 auto;cursor:pointer;border:none}.voice-bar-mute:hover{background:#ffffff14;color:var(--text)}.voice-bar-mute.active{color:var(--danger)}.voice-bar-mute.active:hover{background:var(--danger);color:#fff}.voice-bar-share{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:#ffffff14;color:var(--text);border:none;padding:6px 8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.voice-bar-share:hover:not(:disabled){background:#fff2}.voice-bar-share:disabled{opacity:.6;cursor:default}.voice-bar-share.active{background:var(--danger);color:#fff}.voice-bar-share.active:hover:not(:disabled){background:var(--danger);filter:brightness(1.1)}.voice-bar-share-icon{display:inline-flex;flex:0 0 auto}.mobile-back{display:none;position:fixed;top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));z-index:46;background:var(--bg-2);color:var(--text);padding:8px;min-width:40px;min-height:40px;border-radius:8px;box-shadow:0 2px 8px #0006;align-items:center;justify-content:center}.mobile-back:hover{filter:none;background:var(--bg-3)}.mobile-tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:47;height:calc(54px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--bg-2);border-top:1px solid #00000044;box-shadow:0 -2px 12px #0005}.mobile-tab{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;color:var(--muted);border:none;border-radius:0;padding:4px 2px;min-height:0;font-size:10px;line-height:1;white-space:nowrap}.mobile-tab:hover{filter:none}.mobile-tab.active{color:var(--text)}.mobile-tab-icon{display:block}.mobile-tab-label{font-size:10px}.mobile-tab-avatar{display:inline-flex;line-height:0;opacity:.85}.mobile-tab.active .mobile-tab-avatar{opacity:1;box-shadow:0 0 0 2px var(--accent);border-radius:50%}.content{flex:1;overflow:auto;background:var(--bg-3)}.loading,.empty,.error-pane{padding:32px;color:var(--muted)}.error-pane{color:var(--danger)}button{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:14px;white-space:nowrap}button:hover{filter:brightness(1.07)}button.secondary{background:var(--bg-2)}button.danger{background:var(--danger)}input,textarea,select{background:var(--bg);color:var(--text);border:1px solid #00000044;border-radius:6px;padding:8px 10px;font-size:14px;width:100%}input[type=range]{background:transparent;border:none;border-radius:0;padding:0}label{display:block;margin:10px 0 4px;color:var(--muted);font-size:13px}.card{background:var(--bg-2);border-radius:10px;padding:16px;margin:12px}@media (max-width: 768px){.app{flex-direction:column}:root{--tabbar-h: calc(54px + env(safe-area-inset-bottom)) }.sidebar,.content{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;max-width:100%;z-index:1}.sidebar{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:12px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}.app[data-mv=list] .content{display:none}.app[data-mv=list] .sidebar{bottom:var(--tabbar-h)}.app[data-mv=list] .mobile-tabbar{display:flex}.app[data-mv=root] .sidebar{display:none}.app[data-mv=root] .content{bottom:var(--tabbar-h)}.app[data-mv=root] .mobile-tabbar{display:flex}.app[data-mv=root] .mobile-back{display:inline-flex}.app[data-mv=detail] .sidebar{display:none}.app[data-mv=detail] .content{bottom:0}.app[data-mv=detail] .mobile-back{display:inline-flex}.content{min-width:0}.content>*{padding-top:0}.content>.page{padding-top:calc(20px + env(safe-area-inset-top))}input,textarea,select{font-size:16px}button{min-height:40px}.reaction-chip,.icon-btn,.link-btn,.rail-add,.mobile-tab{min-height:0}}.ssv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#000c;padding:24px}.ssv-grid{display:grid;gap:14px;width:100%;max-width:1500px;max-height:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));align-content:center;justify-items:stretch;overflow:auto}.ssv-window{display:flex;flex-direction:column;width:100%;max-height:86vh;min-width:0;background:var(--bg-2);border-radius:12px;overflow:hidden;box-shadow:0 12px 48px #000a}.ssv-slot{display:flex;min-width:0}.ssv-slot>.ssv-window{width:100%}.ssv-slot-detached{position:fixed;left:-100000px;top:0;width:640px;height:360px;opacity:0;pointer-events:none}.ssv-overlay-detached{background:transparent;pointer-events:none}.ssv-pip{display:inline-flex;align-items:center;justify-content:center}.ssv-pip svg{display:block}.ssv-pip-doc{margin:0;background:#000}.ssv-pip-root{height:100vh;display:flex}.ssv-pip-doc .ssv-window{width:100vw;height:100vh;max-height:100vh;border-radius:0}.ssv-pip-doc .ssv-body{flex:1 1 auto;min-height:0}.ssv-pip-doc .ssv-video{max-height:none;width:100%;height:100%;object-fit:contain}.ssv-window:fullscreen{width:100vw;max-height:100vh;height:100vh;border-radius:0}.ssv-window:fullscreen .ssv-body{flex:1 1 auto}.ssv-window:fullscreen .ssv-video{max-height:none;height:100%;width:100%;object-fit:contain}.ssv-volume{flex:0 0 auto;display:flex;align-items:center;gap:6px}.ssv-mute{flex:0 0 auto;background:var(--bg-3);color:var(--text);padding:4px 8px;border-radius:6px;font-size:14px;line-height:1}.ssv-mute:hover{background:var(--accent, #5865f2);filter:none}.ssv-volume-slider{width:84px;max-width:84px;cursor:pointer}.ssv-fs{flex:0 0 auto;background:var(--bg-3);color:var(--text);padding:4px 10px;border-radius:6px;font-size:14px;line-height:1}.ssv-fs:hover{background:var(--accent, #5865f2);filter:none}.ssv-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #00000044}.ssv-live{font-size:11px;font-weight:700;color:var(--danger);flex:0 0 auto}.ssv-title{flex:1;min-width:0;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ssv-close{flex:0 0 auto;background:var(--bg-3);color:var(--text);padding:4px 10px;border-radius:6px;font-size:14px;line-height:1}.ssv-close:hover{background:var(--danger);filter:none}.ssv-body{position:relative;background:#000;min-height:240px;display:flex;align-items:center;justify-content:center}.ssv-video{width:100%;max-height:78vh;display:block;background:#000}.ssv-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);font-size:14px}.ssv-status.ssv-error{color:var(--danger)}.ssv-control-badge{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--accent, #5865f2)}.ssv-video-controllable{cursor:none;outline:2px solid var(--accent, #5865f2);outline-offset:-2px}.ssv-fps{position:absolute;left:8px;bottom:8px;z-index:6;font-size:11px;line-height:1;font-variant-numeric:tabular-nums;color:#fff;opacity:.45;background:#0005;padding:2px 6px;border-radius:5px;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 1px rgba(0,0,0,.6)}.ssv-control-hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);background:#000a;color:#fff;font-size:12px;padding:4px 10px;border-radius:6px;pointer-events:none}@media (max-width: 768px){.ssv-overlay{padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.ssv-grid{gap:8px}.ssv-window{max-height:92vh}.ssv-video{max-height:70vh}.ssv-head{gap:6px;padding:8px 10px}.ssv-volume-slider{display:none}}:root[data-theme=midnight]{--bg: #0b0d10;--bg-2: #14171c;--bg-3: #1b1f26;--text: #e6e9ef;--muted: #8b94a3;--accent: #5865f2;--danger: #da373c;--ok: #23a559}:root[data-theme=light]{--bg: #ffffff;--bg-2: #f2f3f5;--bg-3: #e3e5e8;--text: #1e1f22;--muted: #5c5e66;--accent: #5865f2;--danger: #d5292f;--ok: #1a8a4a}:root[data-theme=forest]{--bg: #0f1512;--bg-2: #172019;--bg-3: #1e2a22;--text: #e7f0e9;--muted: #93a89a;--accent: #3ba55d;--danger: #da373c;--ok: #23a559}:root[data-theme=plum]{--bg: #160f1a;--bg-2: #1f1526;--bg-3: #281b30;--text: #f0e9f5;--muted: #a596ad;--accent: #a855f7;--danger: #da373c;--ok: #23a559}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin-top:8px}.theme-swatch{background:var(--bg);color:var(--text);border:2px solid #00000033;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:left;cursor:pointer}.theme-swatch:hover{filter:brightness(1.05)}.theme-swatch.active{border-color:var(--accent)}.theme-swatch-preview{position:relative;display:block;height:48px;border-radius:6px;overflow:hidden}.theme-swatch-bar{position:absolute;left:0;top:0;bottom:0;width:22px}.theme-swatch-dot{position:absolute;left:30px;top:8px;width:14px;height:14px;border-radius:50%}.theme-swatch-line{position:absolute;left:30px;top:27px;width:52px;height:5px;border-radius:3px;opacity:.9}.theme-swatch-line.short{top:37px;width:34px;opacity:.55}.theme-swatch-label{font-size:12px;color:var(--text);white-space:normal}.theme-accent-preview{display:inline-block;width:22px;height:22px;border-radius:50%;border:1px solid #00000033;flex:0 0 auto}
