*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#f0f2f5;color:#1a1a1a}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:420px;margin:48px auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.06)}.page{max-width:680px;margin:0 auto;padding:16px 16px 80px}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.15rem;margin:0 0 .75rem}label{display:block;margin:12px 0 4px;font-size:.9rem;color:#444}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit}textarea{min-height:80px;resize:vertical}.btn,button{display:inline-block;width:auto;margin-top:8px;margin-right:8px;padding:8px 14px;border:none;border-radius:8px;background:#2563eb;color:#fff;font-size:.95rem;cursor:pointer;text-align:center}.btn:hover,button:hover{background:#1d4ed8;text-decoration:none}.btn.secondary,button.secondary{background:#64748b}.btn.danger,button.danger{background:#dc2626}.btn.ghost,button.ghost{background:#e2e8f0;color:#1e293b}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#dc2626;margin-top:12px;font-size:.9rem}.hint{color:#64748b;font-size:.85rem;margin-top:8px}.nav{text-align:center;margin-top:16px;font-size:.9rem}.devcode{background:#fef3c7;border:1px solid #f59e0b;padding:8px 12px;border-radius:8px;margin-top:12px;font-family:monospace}:root{--app-header-h:56px;--sidenav-w:220px;--fb-blue:#1877f2;--fb-grey:#e4e6eb;--fb-grey-hover:#d8dadf;--fb-hover:#f0f2f5}@media (min-width:768px) and (max-width:1099px){:root{--sidenav-w:72px}}@media (max-width:767px){:root{--app-header-h:104px}}html.nav-pending,html:has(.fb-header){scroll-padding-top:calc(var(--app-header-h) + 8px)}.app-shell{min-height:100vh;display:flex;align-items:stretch}.app-main{flex:1 1;min-width:0;width:100%}.app-shell:has(>.fb-header),html.nav-pending .app-shell{display:grid;grid-template-columns:var(--sidenav-w) minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start}.app-shell:has(>.fb-header){transition:grid-template-columns .2s ease}@media (prefers-reduced-motion:reduce){.app-shell:has(>.fb-header){transition:none}}.app-shell>.app-main{grid-column:2;grid-row:2}html.nav-pending .app-shell:not(:has(>.fb-header)):before{content:"";grid-column:1/-1;grid-row:1;height:var(--app-header-h);position:-webkit-sticky;position:sticky;top:0;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.04)}html.nav-pending .app-shell:not(:has(>.fb-header)):after{content:"";grid-column:1;grid-row:2;height:calc(100vh - var(--app-header-h))}.fb-header{grid-column:1/-1;grid-row:1;position:-webkit-sticky;position:sticky;top:0;z-index:30;height:var(--app-header-h);min-width:0;display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);grid-template-areas:"start tabs end";align-items:center;grid-column-gap:8px;column-gap:8px;padding:0 16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.04)}.fb-header-start{grid-area:start;justify-self:start;min-width:0}.fb-header-end,.fb-header-start{display:flex;align-items:center;gap:8px}.fb-header-end{grid-area:end;justify-self:end}.fb-brand,.fb-brand:hover{flex:none;display:inline-flex;align-items:center;gap:8px;min-width:0;border-radius:999px;color:var(--fb-blue);text-decoration:none}.fb-brand:focus-visible{outline:2px solid var(--fb-blue);outline-offset:2px}.fb-logo{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--fb-blue);color:#fff;font-size:1.3rem;font-weight:800;line-height:1}.fb-brand:hover .fb-logo{background:#166fe0}.fb-brand-name{font-size:1.15rem;font-weight:800;letter-spacing:.02em;white-space:nowrap;line-height:1}@media (max-width:767px){.fb-brand-name{display:none}}.fb-search-wrap{position:static;display:flex;align-items:center;min-width:0}.fb-search{gap:4px}.fb-search,.fb-search-field{display:flex;align-items:center;margin:0}.fb-search-field{gap:6px;width:240px;height:40px;padding:0 12px;border-radius:999px;background:var(--fb-hover);color:#65676b;font-size:inherit;cursor:text}.fb-search-icon{flex:none}.fb-search-field input{flex:1 1;width:auto;min-width:0;height:100%;margin:0;padding:0;border:none;border-radius:0;background:transparent;color:#050505;font-size:.95rem;outline:none}.fb-search-field input::placeholder{color:#65676b}.fb-search-field:focus-within{box-shadow:0 0 0 2px rgba(24,119,242,.35)}.fb-search-field input::-webkit-search-cancel-button{cursor:pointer}.fb-header .fb-circle.fb-search-toggle,.fb-header .fb-search-back{display:none}.fb-header .fb-circle{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:none;border-radius:50%;background:var(--fb-grey);color:#050505;text-decoration:none;-webkit-tap-highlight-color:transparent}.fb-header .fb-circle:hover{background:var(--fb-grey-hover);color:#050505;text-decoration:none}.fb-header .fb-circle.active,.fb-header .fb-circle.active:hover{background:#dbe7f2;color:var(--fb-blue)}.fb-header .fb-circle:focus-visible{outline:2px solid var(--fb-blue);outline-offset:2px}.fb-header .fb-avatar-btn,.fb-header .fb-avatar-btn.active,.fb-header .fb-avatar-btn:hover{background:transparent;overflow:visible}.fb-header .fb-avatar-btn:hover .fb-avatar{filter:brightness(.93)}.fb-header .fb-avatar-btn.active .fb-avatar{box-shadow:0 0 0 2px var(--fb-blue)}.fb-avatar{display:block;flex:none;border-radius:50%;object-fit:cover;background:#cbd5e1}.fb-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#8ab4f8;color:#fff;font-weight:700;line-height:1}.fb-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#e41e3f;color:#fff;font-size:.72rem;font-weight:700;line-height:19px;text-align:center;pointer-events:none}.fb-tabs{grid-area:tabs;display:flex;align-items:stretch;height:56px;min-width:0}.fb-tab{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(64px,7.5vw,112px);height:100%;padding:4px 2px 5px;color:#65676b;-webkit-tap-highlight-color:transparent}.fb-tab,.fb-tab:hover{text-decoration:none}.fb-tab-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:8px}.fb-tab:hover .fb-tab-inner{background:var(--fb-hover)}.fb-tab.active{color:var(--fb-blue)}.fb-tab.active:hover .fb-tab-inner{background:transparent}.fb-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--fb-blue)}.fb-tab:focus-visible{outline:none}.fb-tab:focus-visible .fb-tab-inner{box-shadow:inset 0 0 0 2px var(--fb-blue)}.fb-pop-wrap{position:relative;display:flex}.fb-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:2;max-height:calc(100vh - var(--app-header-h) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:8px;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.1);color:#050505;text-align:left}.fb-dd-title{padding:4px 8px 8px;font-size:1.35rem;font-weight:700}.fb-menu-panel{width:400px}.fb-menu-section+.fb-menu-section{margin-top:8px;padding-top:8px;border-top:1px solid #e4e6eb}.fb-menu-section-title{padding:4px 8px;color:#65676b;font-size:.85rem;font-weight:600}.fb-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:2px;gap:2px}.fb-dd-item,.fb-dd-profile,.fb-menu-item{display:flex;align-items:center;gap:10px;min-width:0;padding:8px;border-radius:8px;color:#050505;text-decoration:none}.fb-dd-profile:hover,.fb-menu-item:hover,a.fb-dd-item:hover{background:var(--fb-hover);text-decoration:none}.fb-menu-item.active{background:#e7f0fd}.fb-menu-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--fb-grey);color:#050505}.fb-menu-item.active .fb-menu-icon{background:var(--fb-blue);color:#fff}.fb-menu-text{display:flex;flex-direction:column;min-width:0}.fb-menu-label{font-size:.93rem;font-weight:600;white-space:nowrap}.fb-menu-badge{vertical-align:1px}.fb-menu-desc{color:#65676b;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-avatar-panel{width:320px}.fb-dd-profile-text{display:flex;flex-direction:column;min-width:0}.fb-dd-profile-text strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-dd-profile-text span{color:#65676b;font-size:.82rem}.fb-dd-profile.active{background:#e7f0fd}.fb-dd-sep{height:1px;margin:6px 8px;background:#e4e6eb}.fb-dropdown .fb-dd-item{width:100%;margin:0;border:none;background:transparent;font-size:.95rem;font-weight:500;font-family:inherit;text-align:left;cursor:pointer}.fb-dropdown .fb-dd-item:hover{background:var(--fb-hover);color:#050505}.fb-dropdown .fb-dd-item:focus-visible,.fb-dropdown .fb-dd-profile:focus-visible,.fb-dropdown .fb-menu-item:focus-visible{outline:2px solid var(--fb-blue);outline-offset:-2px}.fb-backdrop{display:none}.sidenav{grid-column:1;grid-row:2;position:-webkit-sticky;position:sticky;top:var(--app-header-h);z-index:20;width:100%;min-width:0;height:calc(100vh - var(--app-header-h));overflow-y:auto;overscroll-behavior:contain;padding:12px 8px}.sidenav-links{display:flex;flex-direction:column;gap:2px}.sidenav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px;border-radius:8px;color:#050505;font-size:.95rem;font-weight:500;text-decoration:none}.sidenav-link:hover{background:var(--fb-grey);text-decoration:none}.sidenav-link.active{background:#e7f0fd;color:var(--fb-blue)}.sidenav-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px}.sidenav-icon{display:block;color:var(--fb-blue)}.sidenav-me{font-weight:600}.sidenav-label{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidenav-full-badge{margin-left:0}.sidenav .sidenav-mini-badge{display:none}@media (max-width:1099px){.fb-header .fb-circle.fb-search-toggle{display:inline-flex}.fb-search{display:none}.fb-search-wrap.open .fb-search{display:flex;position:absolute;top:0;left:0;z-index:3;width:min(340px,100%);height:56px;padding:0 12px 0 8px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.1);border-radius:0 0 10px 0}.fb-search-wrap.open .fb-search-field{flex:1 1;width:auto}.fb-header .fb-search-wrap.open .fb-search-back{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;margin:0;padding:0;border:none;border-radius:50%;background:transparent;color:#65676b}.fb-header .fb-search-wrap.open .fb-search-back:hover{background:var(--fb-hover);color:#050505}}@media (min-width:768px) and (max-width:1099px){.sidenav{padding:8px 4px}.sidenav-link{flex-direction:column;justify-content:center;gap:4px;padding:10px 2px 8px;font-size:.68rem;line-height:1.2;text-align:center}.sidenav-label{flex:none;max-width:100%}.sidenav .sidenav-full-badge{display:none}.sidenav .sidenav-mini-badge{display:inline-block;top:-6px;right:-10px;min-width:17px;height:17px;padding:0 4px;font-size:.62rem;line-height:17px}}@media (min-width:768px){html.sidenav-collapsed{--sidenav-w:72px}html.sidenav-collapsed .sidenav{padding:12px 8px}html.sidenav-collapsed .sidenav .sidenav-link{flex-direction:row;justify-content:center;gap:0;min-height:48px;padding:10px 0}html.sidenav-collapsed .sidenav .sidenav-full-badge,html.sidenav-collapsed .sidenav .sidenav-label{display:none}html.sidenav-collapsed .sidenav .sidenav-mini-badge{display:inline-block;top:-6px;right:-10px;min-width:17px;height:17px;padding:0 4px;font-size:.62rem;line-height:17px}}@media (max-width:767px){.app-shell:has(>.fb-header),html.nav-pending .app-shell{grid-template-columns:minmax(0,1fr)}.app-shell>.app-main{grid-column:1}html.nav-pending .app-shell:not(:has(>.fb-header)):after{display:none}.fb-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:56px 48px;grid-template-areas:"start . end" "tabs tabs tabs";column-gap:6px;padding:0 12px}.fb-header-end,.fb-header-start{gap:6px}.fb-tabs{height:48px;margin:0 -12px;border-top:1px solid #e4e6eb}.fb-tab{flex:1 1;width:auto;padding:3px 2px 4px}.fb-search-wrap.open .fb-search{width:100%;border-radius:0;box-shadow:0 1px 2px rgba(0,0,0,.12)}.fb-search-field input{font-size:1rem}.sidenav{display:none}.sidenav.open{display:block;position:fixed;top:var(--app-header-h);left:0;bottom:0;z-index:30;width:min(300px,85vw);height:auto;padding:12px 8px;background:#fff;box-shadow:4px 0 24px rgba(0,0,0,.14);animation:sidenav-drawer-in .2s ease}.fb-pop-wrap{position:static}.fb-dropdown{max-height:calc(100vh - 56px - 16px)}.fb-avatar-panel{top:56px;right:8px;width:min(320px,calc(100vw - 16px))}.fb-menu-panel{width:min(400px,100vw);max-height:none;border-radius:0;box-shadow:-4px 0 24px rgba(0,0,0,.14)}.fb-backdrop,.fb-menu-panel{position:fixed;top:var(--app-header-h);right:0;bottom:0}.fb-backdrop{display:block;left:0;z-index:29;background:rgba(0,0,0,.35)}body.nav-drawer-open{overflow:hidden}}@keyframes sidenav-drawer-in{0%{transform:translateX(-100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.sidenav.open{animation:none}}@media (max-width:359px){.fb-menu-grid{grid-template-columns:minmax(0,1fr)}.fb-header-end,.fb-header-start{gap:4px}.fb-header .fb-circle:not(.fb-avatar-btn){width:36px;height:36px}}.card{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.cover{height:200px;background:linear-gradient(135deg,#93c5fd,#c4b5fd);border-radius:12px 12px 0 0;background-size:cover;background-position:50%}.avatar{width:72px;height:72px;border-radius:50%;border:3px solid #fff;margin-top:-36px}.avatar,.avatar-sm{object-fit:cover;background:#cbd5e1}.avatar-sm{width:40px;height:40px;border-radius:50%}.post-meta{color:#64748b;font-size:.85rem}.post-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.post-img{max-width:100%;border-radius:8px;margin-top:8px}.row{display:flex;gap:12px;align-items:flex-start}.badge{display:inline-block;background:#ef4444;color:#fff;border-radius:999px;padding:0 6px;font-size:.75rem;margin-left:4px}.composer textarea{min-height:70px}.msg-bubble{max-width:75%;padding:8px 12px;border-radius:12px;margin:6px 0;background:#e2e8f0}.msg-bubble.mine{background:#bfdbfe;margin-left:auto}.msg-list{display:flex;flex-direction:column;min-height:240px;max-height:50vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.msg-list::-webkit-scrollbar{display:none;width:0;height:0}.msg-older{display:flex;flex-direction:column;flex-shrink:0}.msg-older-btn{align-self:center;width:auto;margin:4px auto 8px;padding:4px 14px;font-size:13px;border-radius:999px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.msg-older-btn:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.msg-older-btn:disabled{opacity:.7;cursor:default}.msg-older-end{align-self:center;margin:4px auto 8px;font-size:12px}.list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9}.container button{width:100%}.admin-layout{display:flex;min-height:calc(100vh - 48px);max-width:1200px;margin:0 auto}.admin-sidebar{width:180px;flex-shrink:0;background:#fff;border-right:1px solid #e5e7eb;padding:16px 12px;position:-webkit-sticky;position:sticky;top:48px;align-self:flex-start;max-height:calc(100vh - 48px);overflow-y:auto}.admin-brand{font-weight:700;font-size:1.05rem;margin-bottom:12px;color:#0f172a}.admin-nav-link{display:block;padding:8px 10px;border-radius:8px;color:#334155;font-size:.92rem;margin-bottom:2px}.admin-nav-link:hover{background:#f1f5f9;text-decoration:none}.admin-nav-link.active{background:#dbeafe;color:#1d4ed8;font-weight:600}.admin-main{flex:1 1;padding:16px;min-width:0}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px}.admin-stat-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.06);color:inherit;display:block}.admin-stat-card,a.admin-stat-card:hover{text-decoration:none}.admin-stat-card.clickable{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.admin-stat-card.clickable:hover{box-shadow:0 4px 14px rgba(37,99,235,.18);transform:translateY(-1px)}.admin-stat-label{color:#64748b;font-size:.85rem}.admin-stat-value{font-size:1.6rem;font-weight:700;margin-top:4px;color:#0f172a}.admin-stat-go{margin-top:8px;font-size:.8rem;color:#2563eb;font-weight:500}.admin-stat-go.muted{color:#94a3b8;font-weight:400}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table td,.admin-table th{text-align:left;padding:8px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top}.admin-table th{color:#64748b;font-weight:600;white-space:nowrap}.admin-pager{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}@media (max-width:720px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;position:static;border-right:none;border-bottom:1px solid #e5e7eb;align-items:center}.admin-sidebar,.admin-sidebar nav{display:flex;flex-wrap:wrap;gap:4px}}.admin-phone{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;white-space:nowrap;color:#0f172a}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#e5e7eb;color:#374151}.tag.danger{background:#fee2e2;color:#b91c1c}.composer{display:flex;flex-direction:column;gap:8px;margin-top:12px}.composer-row{display:flex;gap:8px;align-items:center}.composer-row input:not([type=file]){flex:1 1}.emoji-toggle{flex:0 0 auto;width:42px;height:42px;padding:0;font-size:1.35rem;line-height:1;background:#f1f5f9;color:inherit;border:1px solid #e2e8f0}.emoji-toggle:hover{background:#e2e8f0}.more-toggle{font-size:1.5rem;font-weight:700;letter-spacing:.05em}.composer-more{position:relative;flex:0 0 auto}.composer-menu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:25;min-width:148px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);padding:6px;display:flex;flex-direction:column;gap:2px}.composer-menu button{margin:0;width:100%;text-align:left;background:transparent;color:#0f172a;border-radius:8px;padding:10px 12px;font-size:.95rem}.composer-menu button:hover:not(:disabled){background:#f1f5f9}.composer-menu button:disabled{opacity:.45;cursor:not-allowed}.composer-menu .composer-menu-item{margin:0;width:100%;text-align:left;background:transparent;color:#0f172a;border-radius:8px;padding:10px 12px;font-size:.95rem;cursor:pointer;box-sizing:border-box;display:block;position:relative;overflow:hidden}.composer-menu .composer-menu-item:hover{background:#f1f5f9}.composer-menu .composer-menu-item.is-disabled{opacity:.45;cursor:not-allowed}.composer-menu-file input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:64px;margin:0;padding:0;border:0;z-index:2}.emoji-picker{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:4px;gap:4px;max-height:180px;overflow-y:auto;padding:8px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.emoji-btn{padding:4px;font-size:1.25rem;line-height:1.2;background:transparent;border:none;color:inherit;min-width:0}.emoji-btn:hover{background:#f1f5f9;border-radius:6px}.msg-preview,.msg-text{white-space:pre-wrap;word-break:break-word;font-family:system-ui,Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif}.dm-header{justify-content:space-between;gap:12px;margin-bottom:.75rem;flex-wrap:wrap}.dm-header,.dm-voice-slot{display:flex;align-items:center}.voice-call-btn{margin-top:0;background:#059669}.voice-call-btn:hover{background:#047857}.voice-call-overlay{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;justify-content:center;padding:10px 12px;pointer-events:none}.voice-call-card{pointer-events:auto;width:min(520px,100%);background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 8px 28px rgba(0,0,0,.16);border:1px solid #e2e8f0;text-align:left}.voice-call-card.minimized{display:flex;align-items:center;gap:10px;padding:8px 12px;width:auto;max-width:min(520px,calc(100% - 24px))}.voice-call-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.voice-call-peer{font-size:1.05rem;font-weight:600;margin-bottom:2px}.voice-call-status{color:#475569;font-size:.9rem;margin-bottom:10px;min-height:1.2em}.voice-call-card.minimized .voice-call-status{margin-bottom:0;flex:1 1}.voice-call-actions{display:flex;flex-wrap:wrap;gap:8px}.voice-call-actions button{margin-top:0}.voice-call-toggle{margin-top:0;padding:6px 10px;font-size:.85rem;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0}.voice-call-toggle:hover{background:#e2e8f0}body.voice-call-active .app-main{padding-top:72px}body.voice-call-active .app-shell:has(>.fb-header){padding-top:72px}body.voice-call-active .fb-header~.app-main{padding-top:0}body.voice-call-active .fb-header{top:72px}body.voice-call-active .sidenav{top:calc(72px + var(--app-header-h));height:calc(100vh - 72px - var(--app-header-h))}@media (max-width:767px){body.voice-call-active .fb-backdrop,body.voice-call-active .fb-menu-panel{top:calc(72px + var(--app-header-h))}}.voice-call-card.video{width:min(640px,100%)}.call-video-stage{position:relative;width:100%;aspect-ratio:4/3;max-height:min(56vh,480px);background:#0f172a;border-radius:10px;overflow:hidden;margin-bottom:10px}.call-video-stage.hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}.call-video-remote{width:100%;height:100%;object-fit:cover;display:block;background:#0f172a}.call-video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#cbd5e1;font-size:.95rem}.call-video-local{position:absolute;right:8px;bottom:8px;width:28%;max-width:160px;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:2px solid hsla(0,0%,100%,.85);background:#1e293b;transform:scaleX(-1)}.call-video-local.off{display:none}body.video-call-active .voice-call-overlay{z-index:120}.loc-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;max-width:300px;transition:box-shadow .15s ease}.loc-card:hover{box-shadow:0 4px 14px rgba(15,23,42,.1)}.msg-bubble.mine .loc-card{background:#f8fafc;border-color:#bfdbfe}.loc-map{display:block;width:100%;height:150px;object-fit:cover;background:#e2e8f0}.loc-minimap{position:relative;overflow:hidden;width:300px;max-width:100%;background:#e5e7eb;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.loc-minimap-tile{position:absolute;width:256px;height:256px;max-width:none;opacity:0;transition:opacity .2s ease}.loc-minimap.ready .loc-minimap-tile{opacity:1}.loc-minimap-pin{position:absolute;left:calc(50% - 13px);top:calc(50% - 35px);filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}.loc-minimap-attr{position:absolute;right:4px;bottom:2px;font-size:10px;color:#475569;background:hsla(0,0%,100%,.7);padding:0 3px;border-radius:3px}.loc-card-body{padding:8px 10px 10px}.loc-card-title{font-weight:600;font-size:.95rem;margin-bottom:2px}.loc-card-addr{font-size:.85rem;color:#64748b;margin-bottom:4px;word-break:break-word}.loc-picker-overlay{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px}.loc-picker-panel{width:min(480px,100%);background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 16px 40px rgba(0,0,0,.18);padding:14px;display:flex;flex-direction:column;gap:10px;max-height:min(90vh,640px)}.loc-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.loc-picker-close{margin:0;width:36px;height:36px;padding:0;font-size:1.4rem;line-height:1;background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0;border-radius:8px}.loc-picker-close:hover{background:#e2e8f0}.loc-picker-search{display:flex;gap:8px}.loc-picker-search input{flex:1 1}.loc-picker-search button{margin-top:0;flex:0 0 auto}.loc-picker-map{position:relative;height:280px;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;background:#f1f5f9}.loc-picker-loading{color:#64748b;background:rgba(241,245,249,.85)}.loc-picker-meta .loc-picker-title{font-weight:600}.loc-picker-actions{display:flex;justify-content:flex-end;gap:8px}.loc-picker-actions button{margin-top:0}.loc-picker-cancel{background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0}.loc-picker-cancel:hover{background:#e2e8f0}.loc-picker-map-wrap{position:relative;width:100%;height:280px}.loc-picker-map-wrap .loc-picker-map{width:100%;height:100%}.loc-picker-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);pointer-events:none;z-index:2}.avatar-editable-wrap{position:relative;display:inline-block;margin-top:-36px}.avatar-editable-wrap.flat{margin-top:0}.avatar-editable-wrap .avatar{margin-top:0;display:block}.avatar-editable{position:relative;display:inline-block;margin:0;padding:0;border:none;background:transparent;border-radius:50%;cursor:pointer;line-height:0;width:auto;color:inherit}.avatar-editable:focus-visible,.avatar-editable:hover{background:transparent;outline:none}.avatar-editable:disabled{opacity:1;cursor:wait}.avatar-edit-hint{position:absolute;inset:0;border-radius:50%;background:rgba(15,23,42,.45);color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;opacity:.92;transition:opacity .15s ease;pointer-events:none;text-align:center;padding:4px;line-height:1.2}.avatar-editable.is-uploading .avatar-edit-hint,.avatar-editable:focus-visible .avatar-edit-hint,.avatar-editable:hover .avatar-edit-hint{opacity:1;background:rgba(15,23,42,.6)}.avatar-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:30;min-width:148px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.12);padding:6px;display:flex;flex-direction:column;gap:2px}.avatar-menu button{margin:0;width:100%;text-align:left;background:transparent;color:#0f172a;border-radius:8px;padding:10px 12px;font-size:.95rem}.avatar-menu button:hover:not(:disabled){background:#f1f5f9}.avatar-menu-cancel{color:#64748b!important}.cover-editable-wrap{position:relative;display:block;border-radius:12px 12px 0 0;overflow:visible}.cover-editable{position:relative;display:block;width:100%;margin:0;padding:0;border:none;background:transparent;cursor:pointer;line-height:0;color:inherit;border-radius:12px 12px 0 0;overflow:hidden}.cover-editable:focus-visible,.cover-editable:hover{background:transparent;outline:none}.cover-editable:disabled{opacity:1;cursor:wait}.cover-editable .cover{border-radius:0;pointer-events:none}.cover-edit-hint{position:absolute;inset:0;background:rgba(15,23,42,.45);color:#fff;font-size:.9rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease;pointer-events:none;text-align:center;padding:8px;line-height:1.2}.cover-editable.is-uploading .cover-edit-hint,.cover-editable:focus-visible .cover-edit-hint,.cover-editable:hover .cover-edit-hint{opacity:1}.cover-menu{left:50%;right:auto;top:auto;bottom:12px;transform:translateX(-50%);min-width:160px}.invite-landing,.invite-qr-card,.scan-invite-card{text-align:center}.invite-qr-wrap{display:inline-flex;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:8px 0}.invite-url-text{font-size:.8rem;color:#64748b;word-break:break-all;margin:8px 12px}.invite-qr-actions{flex-wrap:wrap;gap:4px;margin-top:8px}.invite-inviter,.invite-qr-actions{display:flex;justify-content:center}.invite-inviter{align-items:center;gap:12px;text-align:left;margin:16px 0}.invite-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:#e2e8f0}.invite-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;color:#475569}.invite-name{font-size:1.1rem;font-weight:600}.scan-preview{display:none;margin:12px auto 0;max-width:320px;border-radius:12px;overflow:hidden;background:#0f172a}.scan-preview.is-active,.scan-video{display:block}.scan-video{width:100%;max-height:360px;object-fit:cover}.scan-canvas-hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.invite-landing .nav button.linkish{background:none;border:none;color:#2563eb;padding:0;margin:0;font-size:inherit;cursor:pointer;width:auto}.invite-landing .nav button.linkish:hover{text-decoration:underline;background:none}.post-content{white-space:pre-wrap;margin:8px 0}.topic-link{color:#2563eb;text-decoration:none;font-weight:500}.topic-link:hover{text-decoration:underline}.topic-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.topic-chip{display:inline-block;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:2px 10px;font-size:.85rem;text-decoration:none}.topic-chip:hover{background:#dbeafe}.post-loc-chip{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;color:#334155;border-radius:999px;padding:4px 10px;font-size:.85rem;margin:6px 0}.post-loc-chip a{color:inherit;text-decoration:none}.post-loc-chip a:hover{text-decoration:underline}.link-preview{display:flex;gap:10px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;margin-top:8px;text-decoration:none;color:inherit;background:#f8fafc}.link-preview:hover{background:#f1f5f9}.link-preview-img{width:96px;min-height:72px;object-fit:cover;background:#e2e8f0;flex-shrink:0}.link-preview-meta{padding:8px 10px;min-width:0;flex:1 1}.link-preview-title{font-weight:600;font-size:.95rem}.link-preview-desc,.link-preview-title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.link-preview-desc{color:#64748b;font-size:.8rem;margin-top:4px}.link-preview-url{color:#94a3b8;font-size:.75rem;margin-top:4px}.post-video{max-width:100%;background:#0f172a}.post-video,.post-video-box{border-radius:8px;margin-top:8px}.post-video-box{position:relative;width:100%;max-height:70vh;overflow:hidden;background:#000}.post-video-cover{padding:0;margin:0;border:0;border-radius:0;cursor:pointer}.post-video-cover,.post-video-cover img,.post-video-el{position:absolute;inset:0;width:100%;height:100%;background:#000;display:block}.post-video-cover img,.post-video-el{object-fit:contain}.post-video-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(0,0,0,.55);border:2px solid hsla(0,0%,100%,.9);color:#fff;font-size:22px;line-height:52px;text-align:center;padding-left:4px;box-sizing:border-box;pointer-events:none}.post-video-box .post-video-cover:focus-visible,.post-video-box .post-video-cover:hover{background:#000}.post-video-cover:focus-visible .post-video-play,.post-video-cover:hover .post-video-play{background:rgba(0,0,0,.75)}.post-video-dur{position:absolute;right:8px;bottom:8px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;line-height:16px;pointer-events:none}.composer-media-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.composer-media-row button{width:auto}.composer-media-row label.composer-file-btn{position:relative;display:inline-block;width:auto;margin:8px 8px 0 0;font-family:inherit;line-height:normal;color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.composer-media-row label.composer-file-btn:focus-within{outline:2px solid #2563eb;outline-offset:2px}.composer-media-row label.composer-file-btn.is-disabled{opacity:.6;cursor:not-allowed}.composer-media-row .composer-file-input{position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;pointer-events:none}.composer-preview{margin:8px 0}.composer-loc{margin-bottom:8px}.feed-tabs{display:flex;gap:8px;margin:8px 0 16px;padding:4px;background:#f1f5f9;border-radius:12px;width:-moz-fit-content;width:fit-content}.feed-tab{border:none;background:transparent;color:#64748b;padding:8px 18px;border-radius:10px;font-weight:600;cursor:pointer;width:auto!important}.feed-tab:hover{color:#1e293b}.feed-tab.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 2px rgba(15,23,42,.08)}.msg-bubble.msg-image{padding:6px;max-width:85%}.dm-img-link{display:block;text-decoration:none;color:inherit}.dm-img{display:block;max-width:260px;max-height:320px;width:auto;height:auto;border-radius:10px;object-fit:cover}.dm-img-caption{margin-top:6px;padding:0 4px 2px;font-size:.92rem}.msg-bubble.mine .dm-img-link{color:inherit}.admin-section-title{font-size:1.05rem;margin:20px 0 10px;color:#0f172a}.admin-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px;margin-bottom:8px}.admin-chart-card{background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.admin-chart-title{font-weight:600;margin-bottom:10px;color:#334155;font-size:.92rem}.admin-bars{display:flex;align-items:flex-end;gap:4px;height:120px;padding-top:8px}.admin-bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;min-width:0}.admin-bar{width:100%;max-width:18px;border-radius:4px 4px 0 0;min-height:4px;transition:height .2s ease}.admin-bar-label{font-size:.65rem;color:#94a3b8;margin-top:4px;transform:rotate(-45deg);white-space:nowrap;height:18px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.admin-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:#475569}.admin-form-grid .span-2{grid-column:1/-1}.admin-form-grid input,.admin-form-grid textarea{width:100%}.admin-check{flex-direction:row!important;align-items:center;gap:8px!important}.admin-check input{width:auto}.feed-promo{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:12px;padding:14px 16px;margin-bottom:12px;display:flex;gap:12px;align-items:flex-start}.feed-promo-badge{display:inline-block;font-size:.72rem;background:#2563eb;color:#fff;padding:2px 8px;border-radius:999px;margin-bottom:6px;font-weight:600}.feed-promo-title{font-weight:700;color:#0f172a;margin-bottom:4px}.feed-promo-body{color:#475569;font-size:.92rem;margin-bottom:6px}.feed-promo img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex-shrink:0}.feed-promo a.feed-promo-link{font-size:.88rem;color:#2563eb;font-weight:500}@media (max-width:640px){.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .span-2{grid-column:auto}}.friends-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.friends-section-head h2{margin:0}.friends-section-head-inline{justify-content:flex-start}.friends-section-head-inline h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:1.15rem}.friends-toggle-inline{width:auto!important;margin:0!important;padding:6px 12px!important;font-size:.85rem!important;font-weight:500;vertical-align:middle}.friends-list-preview{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:4px 0 2px}.friend-preview-chip{display:inline-flex;align-items:center;gap:8px;max-width:160px;padding:6px 12px 6px 6px;background:#f1f5f9;border-radius:999px;color:#0f172a;text-decoration:none;font-size:.9rem}.friend-preview-chip:hover{background:#e2e8f0;text-decoration:none}.friend-preview-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#2563eb;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}.friend-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-preview-more{margin:0;padding:8px 14px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.88rem;font-weight:600;border:none;cursor:pointer}.friend-preview-more:hover{background:#cbd5e1}.add-friend-panel{display:flex;flex-direction:column;gap:12px;margin-top:12px}.add-friend-panel>.card{margin:0;box-shadow:none;border:1px solid #e2e8f0}.friends-list-compact{display:flex;flex-direction:column;gap:0;margin-top:8px}.friend-compact-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid #f1f5f9;color:#0f172a;text-decoration:none;min-height:44px}.friend-compact-row:last-child{border-bottom:none}.friend-compact-row:hover{background:#f8fafc;text-decoration:none}.friend-compact-name{font-size:.95rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-row-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover;background:#cbd5e1;display:inline-block}.friend-row-avatar-fallback{background:#2563eb;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600}.friend-preview-chip .friend-row-avatar{width:28px;height:28px}.friends-count-toggle{display:inline-flex;align-items:center;gap:10px;margin:0;padding:4px 0;border:none;background:transparent;color:#0f172a;cursor:pointer;width:auto!important;font:inherit}.friends-count-toggle:active,.friends-count-toggle:focus,.friends-count-toggle:hover{background:transparent!important;color:#0f172a!important;text-decoration:none}.friends-count-toggle:focus .friends-count-chevron,.friends-count-toggle:focus .friends-count-label,.friends-count-toggle:hover .friends-count-chevron,.friends-count-toggle:hover .friends-count-label{color:inherit}.friends-count-toggle:focus .friends-count-chevron,.friends-count-toggle:hover .friends-count-chevron{color:#64748b!important}.friends-count-label{font-size:1.15rem;font-weight:700}.friends-count-chevron{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:#64748b;line-height:1;transition:transform .15s ease;transform:rotate(0deg)}.friends-count-chevron.is-open{transform:rotate(90deg)}.nav-profile-right{position:fixed;top:12px;right:16px;z-index:35;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(15,23,42,.08);color:#334155;font-size:.92rem;font-weight:600;text-decoration:none}.nav-profile-right:hover{background:#f8fafc;color:#334155;text-decoration:none}.nav-profile-right.active{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}@media (max-width:860px){.nav-profile-right{top:12px;right:12px}}.dm-attach-btn{position:relative;overflow:hidden;flex:0 0 auto}.dm-attach-btn input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:.01;cursor:pointer;font-size:64px;margin:0;padding:0;border:0}.dm-attach-btn.is-disabled{opacity:.45;pointer-events:none}.composer-menu-file input[type=file]{opacity:.01!important}.dm-file-input{position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;padding:0!important;margin:0!important;border:0!important;flex:0 0 auto!important}.profile-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;color:#64748b;font-size:.9rem;margin:8px 0}.profile-stat-btn{margin:0;padding:2px 4px;width:auto!important;background:transparent;border:none;color:#64748b;font:inherit;cursor:pointer;border-radius:6px}.profile-stat-btn:focus,.profile-stat-btn:hover{background:#f1f5f9!important;color:#2563eb!important;text-decoration:none}.profile-stat-btn strong{color:#0f172a;font-weight:700}.profile-stat-sep{color:#94a3b8;-webkit-user-select:none;-moz-user-select:none;user-select:none}.profile-relation-overlay{position:fixed;inset:0;z-index:60;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px}.profile-relation-modal{width:min(420px,100%);max-height:min(70vh,560px);overflow:auto;margin:0}.profile-relation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.profile-relation-head button{width:auto!important;margin:0;flex:0 0 auto}.profile-qr-overlay{z-index:70}.profile-qr-popup{width:min(420px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(15,23,42,.25);outline:none}.profile-qr-popup>.card{margin:0;box-shadow:none;padding-bottom:8px}.profile-qr-popup-top{display:flex;justify-content:flex-start;padding:12px 12px 0}.profile-qr-popup-top button{margin:0;padding:6px 12px;font-size:.9rem}.profile-qr-popup-top+.card{padding-top:8px}.profile-qr-popup-foot{display:flex;justify-content:center;padding:0 16px 16px}.profile-qr-popup-foot .profile-qr-close{margin:0;min-width:96px}.profile-self-actions .btn,.profile-self-actions a.btn{width:auto;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.post-actions{margin-top:12px}.profile-card{overflow:visible}.profile-card>.cover,.profile-card>.cover-editable-wrap{border-radius:12px 12px 0 0;overflow:hidden}.profile-card .post-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;overflow:visible;max-width:100%}.profile-card .post-actions>.btn,.profile-card .post-actions>a.btn,.profile-card .post-actions>button{flex:0 0 auto;width:auto!important;max-width:100%;margin-top:0;margin-right:0;white-space:nowrap}.profile-card .post-actions>span.hint{flex:1 1 100%;margin:0}@media (max-width:860px){.profile-card .post-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.profile-card .post-actions>span.hint{grid-column:1/-1;order:0}.profile-card .post-actions>.profile-dm-btn{order:1;grid-column:1/-1;width:100%!important;justify-content:center}.profile-card .post-actions>.btn:not(.profile-dm-btn),.profile-card .post-actions>a.btn,.profile-card .post-actions>button:not(.profile-dm-btn){order:2}.profile-card .post-actions>.btn,.profile-card .post-actions>a.btn,.profile-card .post-actions>button{width:100%!important;justify-content:center}}.friends-nav-row{text-decoration:none;color:inherit;display:flex;width:100%;box-sizing:border-box}.friends-nav-row:hover{text-decoration:none;color:#2563eb}.profile-avatar-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-logout-btn{flex-shrink:0}.profile-settings{position:relative;flex-shrink:0}.profile-settings-backdrop,.profile-settings-backdrop:hover{position:fixed;inset:0;background:transparent;border:none;padding:0;z-index:40;cursor:default}.profile-settings-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;z-index:41}.profile-settings-title{font-size:12px;color:#6b7280;padding:6px 10px 4px}.profile-settings-item{display:block;width:100%;text-align:left;background:transparent;color:#111827;border:none;border-radius:6px;padding:8px 10px;font-size:14px;cursor:pointer}.profile-settings-item:hover{background:#f3f4f6}.profile-settings-item.danger-text{color:#dc2626}.profile-settings-item:focus-visible{outline:2px solid #2563eb}.account-settings-overlay{z-index:70}.account-settings-modal{width:min(460px,100%);max-height:min(88vh,720px)}.account-settings-modal .account-settings-close,.account-settings-modal .account-settings-close:hover{background:transparent;color:#64748b;border:none;padding:4px 8px;margin:0;font-size:18px;line-height:1;border-radius:6px}.account-settings-modal .account-settings-close:hover{background:#f1f5f9;color:#0f172a}.account-settings-section{border-top:1px solid #e5e7eb;padding-top:12px;margin-top:12px}.account-settings-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.account-settings-subtitle{font-size:1rem;margin:0 0 8px}.account-settings-current{font-size:.9rem;color:#334155;background:#f8fafc;border-radius:8px;padding:8px 10px;display:grid;grid-gap:4px;gap:4px;word-break:break-all}.account-settings-modal .account-settings-error{margin-top:8px}.account-settings-success{color:#16a34a;margin-top:8px;font-size:.9rem}.account-settings-footer{display:flex;justify-content:flex-end;border-top:1px solid #e5e7eb;margin-top:16px;padding-top:8px}.account-settings-footer button{margin-right:0}.confirm-dialog-overlay{z-index:75}.confirm-dialog-modal{width:min(360px,100%)}.confirm-dialog-modal .confirm-dialog-title{margin:0 0 8px}.confirm-dialog-modal .confirm-dialog-message{margin:0;color:#334155;font-size:.95rem;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e5e7eb;margin-top:16px;padding-top:12px}.confirm-dialog-actions button{margin:0;min-width:72px}.confirm-dialog-actions .confirm-dialog-cancel:hover{background:#475569}.confirm-dialog-actions .confirm-dialog-cancel:disabled:hover{background:#64748b}.confirm-dialog-actions button:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.report-dialog-overlay{z-index:75}.report-dialog-modal{width:min(420px,100%);max-height:min(88vh,560px)}.report-dialog-modal .report-dialog-title{margin:0 0 4px}.report-dialog-modal .report-dialog-label{margin-top:8px}.report-dialog-modal .report-dialog-textarea{min-height:110px}.report-dialog-modal .report-dialog-count{text-align:right;margin-top:4px;font-size:.75rem}.report-dialog-modal .report-dialog-error{margin:4px 0 0}.report-dialog-actions .report-dialog-submit:disabled:hover{background:#2563eb}.app-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;max-width:calc(100vw - 32px);box-sizing:border-box;padding:10px 16px;border-radius:8px;background:#0f172a;color:#fff;font-size:.9rem;line-height:1.4;box-shadow:0 8px 24px rgba(15,23,42,.25);text-align:center;overflow-wrap:anywhere;pointer-events:none}.app-toast.success:before{content:"✓ ";color:#4ade80}.app-toast.error{background:#b91c1c}.app-toast.error:before{content:"! ";font-weight:700}.diary-overlay{z-index:70}.diary-modal{width:min(480px,100%);max-height:min(88vh,760px)}.diary-modal .diary-close,.diary-modal .diary-close:hover{background:transparent;color:#64748b;border:none;padding:4px 8px;margin:0;font-size:18px;line-height:1;border-radius:6px}.diary-modal .diary-close:hover{background:#f1f5f9;color:#0f172a}.diary-date{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem;color:#334155;background:#f8fafc;border-radius:8px;padding:8px 10px}.diary-private-tag{font-size:.75rem;color:#64748b;background:#e2e8f0;border-radius:999px;padding:1px 8px}.diary-modal .diary-textarea{min-height:140px}.diary-modal .diary-count{text-align:right;margin-top:4px;font-size:.75rem}.diary-modal .diary-error,.diary-modal .diary-success{margin-top:4px}.diary-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.diary-actions button{margin:0}.diary-list-section{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:12px}.diary-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.diary-item{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.diary-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.diary-item-title{font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.diary-item-date{flex-shrink:0;font-size:.75rem;color:#64748b}.diary-item-snippet{margin:4px 0 0;font-size:.9rem;color:#334155;white-space:pre-wrap;word-break:break-word}.gc-overlay{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px}.card.gc-modal{width:min(480px,100%);max-height:min(88vh,720px);margin:0;display:flex;flex-direction:column;overflow:hidden}.gc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.gc-modal .gc-close,.gc-modal .gc-close:hover{background:transparent;color:#64748b;border:none;padding:4px 8px;margin:0;font-size:18px;line-height:1;border-radius:6px}.gc-modal .gc-close:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.gc-sub{margin:6px 0 0;flex-shrink:0}.gc-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.gc-form label[for=gc-name]{margin-top:10px}.gc-count{margin:12px 0 6px;flex-shrink:0}.gc-friend-list{flex:1 1 auto;min-height:80px;max-height:320px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:0 10px}.gc-modal label.gc-friend{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;padding:9px 0;border-bottom:1px solid #f1f5f9;cursor:pointer;color:inherit;font-size:.95rem;-webkit-tap-highlight-color:transparent}.gc-modal label.gc-friend:last-child{border-bottom:none}.gc-modal .gc-friend input[type=checkbox]{width:auto;flex:0 0 auto;margin:0;padding:0}.gc-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:12px;flex-shrink:0}.gc-actions button{margin:0}.gc-modal .gc-error{margin:0 auto 0 0}.group-create-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:12px}.group-create-actions button[type=submit]{margin:0}.group-create-actions button[type=submit]:disabled,.group-create-actions button[type=submit]:disabled:hover{background:#2563eb}.group-create-error{color:#dc2626;font-size:.9rem;line-height:1.4}.diary-modal .diary-list-toggle,.diary-modal .diary-list-toggle:hover{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.diary-modal .diary-list-toggle:hover{color:#2563eb}.diary-list-caret{display:inline-block;font-size:.8em;color:#64748b;transition:transform .15s ease}.diary-list-caret.open{transform:rotate(90deg)}.group-back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;padding:4px 10px;border-radius:999px;color:#334155;font-size:.9rem;font-weight:600;text-decoration:none;background:#f1f5f9}.group-back-link:hover{background:#e2e8f0;color:#2563eb;text-decoration:none}.gchat-card{display:flex;flex-direction:column}.gchat-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gchat-head h2{margin-bottom:8px}.gchat-join-hint{margin:4px 0 0;padding:16px;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px}.gchat-list{display:flex;flex-direction:column;gap:10px;height:260px;overflow-y:auto;overscroll-behavior:contain;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.gchat-empty{margin:auto;text-align:center}.gchat-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:80%;min-width:0}.gchat-msg.mine{align-self:flex-end;align-items:flex-end}.gchat-meta{display:flex;align-items:baseline;gap:6px;font-size:.78rem;color:#64748b;margin-bottom:3px;max-width:100%}.gchat-msg.mine .gchat-meta{flex-direction:row-reverse}.gchat-name{font-weight:600;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gchat-meta time{white-space:nowrap;flex-shrink:0}.gchat-bubble{padding:8px 12px;border-radius:12px;border-top-left-radius:4px;background:#fff;border:1px solid #e2e8f0;color:#1e293b;font-size:.95rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.gchat-msg.mine .gchat-bubble{background:#2563eb;border-color:#2563eb;color:#fff;border-top-left-radius:12px;border-top-right-radius:4px}.gchat-form{display:flex;align-items:flex-end;gap:8px;margin-top:10px}.gchat-form .gchat-input{flex:1 1;min-width:0;min-height:42px;max-height:120px;resize:none;padding:9px 12px;line-height:1.4}.gchat-form .gchat-send{margin:0;flex-shrink:0;height:42px;padding:0 18px}.gchat-error{margin-top:6px}@media (max-width:480px){.gchat-list{height:300px;max-height:45vh;min-height:200px}.gchat-msg{max-width:88%}}.group-list-heading{display:flex;align-items:center;gap:6px}.card .group-list-toggle,.card .group-list-toggle:hover{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;font:inherit;line-height:1;cursor:pointer}.card .group-list-toggle:hover{background:#f1f5f9;color:#2563eb}.card .group-list-toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.group-list-caret{display:inline-block;font-size:.8em;transition:transform .15s ease}.group-list-caret.open{transform:rotate(90deg)}.group-list-heading:has(>.group-list-toggle[aria-expanded=false]){margin-bottom:0}.group-list-body,.group-list-row{position:relative}.group-list-row{gap:8px;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.group-list-row .group-list-link{flex:1 1;min-width:0}.group-list-row.dragging{z-index:5;background:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.18);cursor:-webkit-grabbing;cursor:grabbing;will-change:transform}.group-list-body.is-dragging,.group-list-body.is-dragging *{cursor:-webkit-grabbing!important;cursor:grabbing!important}.card .group-list-handle,.card .group-list-handle:hover{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:40px;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:1rem;letter-spacing:-3px;line-height:1;cursor:-webkit-grab;cursor:grab;touch-action:none}.card .group-list-handle:hover{background:#f1f5f9;color:#475569}.card .group-list-handle:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.group-list-search{position:relative;margin:0 0 8px}.group-list-search .group-list-search-input{width:100%;padding-right:38px}.group-list-search-input::-webkit-search-cancel-button,.group-list-search-input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.card .group-list-search-clear,.card .group-list-search-clear:hover{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border:none;border-radius:50%;background:transparent;color:#94a3b8;font-size:.85rem;line-height:1;cursor:pointer}.card .group-list-search-clear:hover{background:#f1f5f9;color:#475569}.card .group-list-search-clear:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.group-list-empty{margin:12px 0 4px;text-align:center}.admin-report-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin:0 0 12px}.admin-report-tabs{margin:0;max-width:100%;flex-wrap:wrap;gap:4px}.admin-report-tabs .admin-report-tab{margin:0;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.admin-report-tabs .admin-report-tab:hover{background:hsla(0,0%,100%,.6);color:#1e293b}.admin-report-tabs .admin-report-tab.active,.admin-report-tabs .admin-report-tab.active:hover{background:#fff;color:#1d4ed8}.admin-report-tabs .admin-report-tab:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.admin-report-badge{display:inline-block;padding:1px 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:600;line-height:1.5}.admin-report-toolbar .admin-report-readall{margin:0;padding:6px 12px;font-size:.85rem;background:#fff;color:#1d4ed8;border:1px solid #bfdbfe}.admin-report-toolbar .admin-report-readall:hover{background:#eff6ff}.admin-report-toolbar .admin-report-readall:disabled,.admin-report-toolbar .admin-report-readall:disabled:hover{background:#fff;color:#94a3b8;border-color:#e2e8f0}.card.admin-report-card{box-shadow:none;border:1px solid #eee;border-left:4px solid transparent}.card.admin-report-card.is-unread{background:#f8fbff;border-color:#dbeafe #dbeafe #dbeafe #3b82f6}.admin-report-head{display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:8px;margin:-4px -6px 0;padding:4px 6px}.admin-report-head:hover{background:#f1f5f9}.admin-report-head:focus-visible{outline:2px solid #93c5fd;outline-offset:1px}.admin-report-summary{flex:1 1;min-width:0;overflow-wrap:anywhere}.admin-report-unread{flex-shrink:0;padding:0 7px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.72rem;font-weight:600;line-height:1.6}.admin-report-caret{flex-shrink:0;color:#64748b;transition:transform .15s}.admin-report-caret.open{transform:rotate(90deg)}.admin-report-detail{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 12px;gap:6px 12px;margin:10px 0 0;padding:10px 12px;background:#f8fafc;border-radius:8px;font-size:.9rem}.admin-report-detail dt{color:#64748b;white-space:nowrap}.admin-report-detail dd{margin:0;min-width:0;color:#0f172a;white-space:pre-wrap;overflow-wrap:anywhere}.admin-report-actions{margin-top:4px}.feed-comments{margin-top:8px}.feed-comment-section{background:#f8fafc;border-radius:8px;padding:8px 10px;margin-bottom:8px}.feed-comment-section>.hint:first-child{margin-top:0}.feed-comment-list,.feed-comment-replies{list-style:none;margin:0;padding:0}.feed-comment{padding:6px 0;border-bottom:1px solid #e5e7eb}.feed-comment:last-child{border-bottom:none}.feed-comment-replies{margin:6px 0 0 14px;padding-left:10px;border-left:2px solid #e2e8f0}.feed-comment-replies .feed-comment{padding:4px 0;border-bottom:none}.feed-comment-body{font-size:.92rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.feed-comment-author{font-weight:600;margin-right:6px}.feed-comment-meta{display:flex;align-items:center;gap:10px;margin-top:2px;font-size:.75rem;color:#94a3b8}.feed-comments .feed-comment-link,.feed-comments .feed-comment-link:hover{background:transparent;color:#2563eb;border:none;padding:0;margin:0;font-size:.75rem;border-radius:4px}.feed-comments .feed-comment-link:hover{text-decoration:underline}.feed-comment-error{margin:4px 0}.feed-comment-form{display:flex;gap:8px;align-items:center}.feed-comment-form input{flex:1 1;min-width:0}.feed-comment-form button{flex-shrink:0;margin:0;white-space:nowrap}.feed-reply-form{margin:6px 0 0 14px}.feed-reply-form input{padding:6px 10px;font-size:.9rem}.feed-reply-form button{padding:6px 12px}.share-dialog-modal .share-dialog-preview{display:flex;flex-direction:column;gap:2px;margin:4px 0;padding:8px 10px;background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:6px;font-size:.88rem;color:#334155;overflow-wrap:anywhere}.share-dialog-modal .share-dialog-preview-author{font-weight:600;color:#0f172a}.share-dialog-modal .share-dialog-note{margin:2px 0 0;font-size:.78rem}.admin-nav-badge{margin-left:6px;vertical-align:1px}.admin-img-intro{margin:0 0 10px;line-height:1.6}.admin-img-offline{margin:0 0 12px;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.admin-img-count{font-size:.75rem;color:#94a3b8;font-weight:500}.admin-img-table td{vertical-align:middle}.admin-img-thumb{display:block;width:64px;height:64px;object-fit:cover;border-radius:8px;background:#f1f5f9;border:1px solid #e2e8f0}.tag.admin-img-status{white-space:nowrap}.tag.admin-img-status.is-passed{background:#dcfce7;color:#15803d}.tag.admin-img-status.is-censored{background:#fee2e2;color:#b91c1c}.tag.admin-img-status.is-pending{background:#fef3c7;color:#b45309}.tag.admin-img-status.is-unchecked{background:#ffedd5;color:#c2410c}.tag.admin-img-status.is-deleted{background:#e5e7eb;color:#6b7280}.tag.admin-img-sim{margin-left:4px;background:#ede9fe;color:#6d28d9;white-space:nowrap}.admin-img-sub{margin-top:4px;font-size:.78rem}.admin-img-actions{white-space:nowrap}.admin-img-table .admin-img-actions{white-space:normal;min-width:150px;max-width:190px}.admin-img-actions button{margin:2px 6px 2px 0;padding:5px 10px;font-size:.85rem}.admin-img-actions .admin-img-approve,.confirm-dialog-actions .admin-img-approve{background:#16a34a}.admin-img-actions .admin-img-approve:hover,.confirm-dialog-actions .admin-img-approve:hover{background:#15803d}.admin-img-actions .danger:hover,.admin-img-preview .danger:hover{background:#b91c1c}.admin-img-actions .ghost:hover{background:#cbd5e1}.admin-img-actions button:disabled:hover{opacity:.6}.admin-img-preview-overlay{z-index:72}.card.admin-img-preview{width:min(720px,100%);max-height:90vh}.admin-img-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-img-preview-head .admin-img-preview-close{margin:0;background:transparent;color:#64748b;padding:4px 8px}.admin-img-preview-head .admin-img-preview-close:hover{background:#f1f5f9;color:#0f172a}.admin-img-preview-img{display:block;max-width:100%;max-height:60vh;margin:8px auto 0;border-radius:8px}.admin-img-usage{white-space:nowrap}.admin-img-kinds{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 10px}.admin-img-kinds .admin-img-kind{margin:0;padding:5px 12px;font-size:.85rem;background:#fff;color:#334155;border:1px solid #e2e8f0;border-radius:999px}.admin-img-kinds .admin-img-kind:hover{background:#f1f5f9}.admin-img-kinds .admin-img-kind.active,.admin-img-kinds .admin-img-kind.active:hover{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;font-weight:600}.admin-img-checking-hint{margin-left:6px}.admin-img-thumb.is-blurred{filter:blur(4px)}.admin-img-thumb-empty{display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#94a3b8}.admin-video-thumb-wrap{position:relative;display:inline-block;overflow:hidden;border-radius:8px}.admin-video-badge{position:absolute;left:4px;bottom:4px;padding:0 5px;border-radius:4px;background:rgba(15,23,42,.75);color:#fff;font-size:.68rem;line-height:1.5}.tag.admin-img-status.is-blocked{background:#fee2e2;color:#991b1b}.tag.admin-img-status.is-checking{background:#dbeafe;color:#1d4ed8}.admin-video-meta{max-width:220px}.admin-img-table tr.has-frames td{border-bottom:none}.admin-video-frames-row td{padding-top:0}.admin-video-frames-label{display:block;font-size:.8rem;color:#64748b;margin-bottom:4px}.admin-video-frames{display:flex;flex-wrap:wrap;gap:8px}.admin-video-frame{display:inline-flex;flex-direction:column;align-items:center;gap:2px;width:96px}.admin-video-frame-img{display:block;width:96px;height:54px;object-fit:cover;border-radius:6px;background:#f1f5f9;border:1px solid #fecaca}.admin-video-frame-cap{font-size:.7rem;line-height:1.3;color:#b91c1c;text-align:center}.admin-video-preview{width:100%;background:#000}.composer-media-row .composer-rec-btn:hover:not(:disabled){background:#475569}.composer-video-note{margin:8px 0 0;padding:8px 12px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:.85rem;line-height:1.5}.video-rec-overlay{z-index:80;background:rgba(15,23,42,.6)}.video-rec-modal{width:min(520px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:16px}.video-rec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.video-rec-head h2,.video-rec-head h3{margin:0;font-size:1.05rem}.video-rec-head .video-rec-x{flex:0 0 auto;width:36px;height:36px;margin:0;padding:0;border-radius:50%;background:#f1f5f9;color:#334155;font-size:1.2rem;line-height:36px}.video-rec-head .video-rec-x:hover{background:#e2e8f0;color:#0f172a}.video-rec-stage{position:relative;width:100%;aspect-ratio:4/3;max-height:60vh;max-height:60dvh;background:#0f172a;border-radius:10px;overflow:hidden}.video-rec-stage .video-rec-video{display:block;width:100%;height:100%;object-fit:contain;background:#0f172a}.video-rec-stage .video-rec-video.is-mirrored{transform:scaleX(-1)}.video-rec-overlay-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e2e8f0;font-size:.95rem}.video-rec-badge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.video-rec-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;animation:video-rec-blink 1s steps(2,start) infinite}@keyframes video-rec-blink{to{visibility:hidden}}.video-rec-meter{margin-top:10px}.video-rec-bar{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.video-rec-bar-fill{height:100%;background:#ef4444;transition:width .25s linear}.video-rec-status{margin-top:6px;min-height:1.3em;color:#475569;font-size:.85rem}.video-rec-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.video-rec-actions .video-rec-btn{width:auto;margin:0;min-height:40px;padding:8px 16px}.video-rec-actions .video-rec-record{background:#dc2626}.video-rec-actions .video-rec-record:hover:not(:disabled){background:#b91c1c}.video-rec-actions .video-rec-stop{background:#0f172a}.video-rec-actions .video-rec-stop:hover:not(:disabled){background:#1e293b}.video-rec-actions .video-rec-primary{background:#2563eb}.video-rec-actions .video-rec-primary:hover:not(:disabled){background:#1d4ed8}.video-rec-actions .secondary.video-rec-btn:hover:not(:disabled){background:#475569}.video-rec-error{padding:12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.9rem;line-height:1.6}@media (max-width:480px){.video-rec-overlay{padding:8px;align-items:flex-end}.video-rec-modal{padding:12px;border-radius:12px}.video-rec-stage{aspect-ratio:3/4}.video-rec-actions .video-rec-btn{flex:1 1;min-width:0}}.video-rec-short{margin:8px 0 0;padding:8px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.85rem;line-height:1.5}.video-rec-actions .video-rec-btn[hidden]{display:none}.composer-media-row .composer-rec-btn{background:#2563eb}.composer-media-row .composer-rec-btn:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#fca5a5;vertical-align:1px}.composer-media-row .composer-rec-btn:hover:not(:disabled){background:#1d4ed8}.composer-video-camnote{margin:4px 0 0;color:#b45309;font-size:.82rem;line-height:1.5}.video-rec-error .video-rec-native-note{margin:8px 0 0;color:#92400e;font-size:.85rem}.composer-row .dm-tools-inline{display:flex;gap:4px;flex:0 0 auto}.composer-row .dm-tool-btn{width:38px;height:42px;padding:0;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;background:#f1f5f9;color:inherit;border:1px solid #e2e8f0;border-radius:8px}.composer-row .dm-tool-btn:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.composer-row .dm-tool-btn:disabled{opacity:.45;cursor:not-allowed}.composer-row .dm-plus-btn{display:none;width:42px;height:42px;padding:0;flex:0 0 auto;align-items:center;justify-content:center;font-size:1.6rem;font-weight:400;line-height:1;background:#fff;color:#334155;border:1.5px solid #94a3b8;border-radius:50%;transition:transform .15s}.composer-row .dm-plus-btn:hover{background:#f1f5f9;color:#0f172a}.composer-row .dm-plus-btn.is-open{transform:rotate(45deg)}.composer .dm-tray{display:none}.composer .dm-media-busy{margin:0;color:#2563eb}@media (max-width:767px){.composer-row .dm-tools-inline{display:none}.composer-row .dm-plus-btn{display:inline-flex}.composer-row{gap:6px}.composer-row input:not([type=file]){min-width:0}.composer .dm-tray{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;padding:12px 6px 6px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:10px}}.composer .dm-tray .dm-tray-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;background:transparent;color:#334155;border:0;border-radius:10px;font-size:.8rem;line-height:1.2}.composer .dm-tray .dm-tray-item:hover:not(:disabled){background:#eef2f7;color:#0f172a}.composer .dm-tray .dm-tray-item:disabled{opacity:.45}.dm-tray-item .dm-tray-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.dm-tray-item .dm-tray-label{font-weight:600}.dm-tray-item .dm-tray-sub{font-size:.7rem;color:#64748b}.composer .dm-voice-bar{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px}.dm-voice-bar .dm-voice-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dm-voice-bar .dm-voice-dot{width:10px;height:10px;border-radius:50%;background:#cbd5e1}.dm-voice-bar .dm-voice-dot.is-on{background:#dc2626;animation:dmRecBlink 1s infinite}@keyframes dmRecBlink{50%{opacity:.25}}.dm-voice-bar .dm-voice-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem;color:#0f172a}.dm-voice-bar .dm-voice-limit{margin-left:auto;padding:2px 8px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:.8rem;font-weight:600}.dm-voice-bar .dm-voice-meter{height:6px;background:#fde2c4;border-radius:999px;overflow:hidden}.dm-voice-bar .dm-voice-meter-fill{height:100%;background:#ea580c;transition:width .1s linear}.dm-voice-bar .dm-voice-status{font-size:.85rem;color:#7c2d12}.dm-voice-bar .dm-voice-error{margin:0;color:#b91c1c;font-size:.9rem}.dm-voice-bar .dm-voice-actions{display:flex;gap:8px;justify-content:flex-end}.dm-voice-bar .dm-voice-btn{min-width:84px}.dm-voice-bar .dm-voice-send{background:#16a34a}.dm-voice-bar .dm-voice-send:hover:not(:disabled){background:#15803d}.msg-bubble.msg-video{padding:6px}.msg-bubble .dm-video{display:block;max-width:min(280px,70vw);max-height:360px;width:auto;height:auto;min-width:160px;border-radius:10px;background:#000}.msg-bubble.msg-voice{padding:6px 8px}.msg-bubble .dm-voice-bubble{display:flex;align-items:center;gap:8px;max-width:60vw;min-height:38px;padding:6px 12px;border:0;border-radius:10px;background:hsla(0,0%,100%,.65);color:#0f172a;text-align:left}.msg-bubble .dm-voice-bubble:hover{background:hsla(0,0%,100%,.9);color:#0f172a}.dm-voice-bubble .dm-voice-icon{width:18px;font-size:.85rem;text-align:center}.dm-voice-bubble .dm-voice-wave{display:inline-flex;gap:3px;align-items:center;flex:1 1}.dm-voice-bubble .dm-voice-wave i{display:block;width:3px;height:8px;background:#475569;border-radius:2px}.dm-voice-bubble .dm-voice-wave i:nth-child(2){height:14px}.dm-voice-bubble .dm-voice-wave i:nth-child(3){height:10px}.dm-voice-bubble.is-playing .dm-voice-wave i{animation:dmWave .8s ease-in-out infinite}.dm-voice-bubble.is-playing .dm-voice-wave i:nth-child(2){animation-delay:.15s}.dm-voice-bubble.is-playing .dm-voice-wave i:nth-child(3){animation-delay:.3s}@keyframes dmWave{50%{transform:scaleY(.4)}}.dm-voice-bubble .dm-voice-sec{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.msg-bubble .dm-file-card{display:flex;align-items:center;gap:10px;width:min(300px,64vw);padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.dm-file-card .dm-file-icon{font-size:1.8rem;line-height:1;flex:0 0 auto}.dm-file-card .dm-file-meta{flex:1 1;min-width:0}.dm-file-card .dm-file-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-file-card .dm-file-size{font-size:.8rem;color:#64748b}.dm-file-card .dm-file-dl{flex:0 0 auto;padding:6px 12px;font-size:.85rem}.dm-tools-inline .dm-tool-btn{position:relative}.dm-tools-inline .dm-tool-btn[data-tip]:focus-visible:after,.dm-tools-inline .dm-tool-btn[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:5px 9px;border-radius:6px;background:#0f172a;color:#fff;font-size:.78rem;font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none;z-index:30;box-shadow:0 4px 12px rgba(15,23,42,.25)}.dm-tools-inline .dm-tool-btn[data-tip]:focus-visible:before,.dm-tools-inline .dm-tool-btn[data-tip]:hover:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#0f172a;border-bottom:0;pointer-events:none;z-index:30}.msg-bubble.msg-file,.msg-bubble.msg-video,.msg-bubble.msg-voice{max-width:85%}.msg-bubble.msg-video .dm-video{max-width:min(280px,100%);min-width:0}.msg-bubble .post-video-box.dm-video-box{width:min(240px,64vw);max-width:100%;max-height:360px;margin-top:0;border-radius:10px}.msg-bubble.msg-file .dm-file-card{width:300px}.msg-bubble.msg-file .dm-file-card,.msg-bubble.msg-voice .dm-voice-bubble{box-sizing:border-box;max-width:100%}.composer .dm-media-error{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c}.composer .dm-media-error span{flex:1 1}.composer .dm-media-error .dm-media-error-x{flex:0 0 auto;width:22px;height:22px;padding:0;line-height:1;background:transparent;color:#b91c1c;font-size:1.1rem;border:0}.composer .dm-media-error .dm-media-error-x:hover{background:#fee2e2;color:#7f1d1d}.composer-row .dm-mode-btn{width:42px;height:42px;padding:0;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#334155;border:1.5px solid #94a3b8;border-radius:50%}.composer-row .dm-mode-btn:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.composer-row .dm-mode-btn.is-voice{color:#2563eb;border-color:#93c5fd}.composer-row .dm-hold-btn{flex:1 1;min-width:0;height:42px;padding:0 12px;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-weight:600;letter-spacing:.08em;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.composer-row .dm-hold-btn:hover:not(:disabled){background:#f8fafc;color:#0f172a}.composer-row .dm-hold-btn.is-holding,.composer-row .dm-hold-btn.is-holding:hover{background:#cbd5e1;color:#0f172a}.composer-row .dm-hold-btn.is-cancel,.composer-row .dm-hold-btn.is-cancel:hover{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.composer-row .dm-hold-btn:disabled{opacity:.5;cursor:not-allowed}.dm-hold-overlay{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%);z-index:2000;width:180px;min-height:170px;box-sizing:border-box;padding:18px 12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(15,23,42,.82);color:#fff;border-radius:16px;text-align:center;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;box-shadow:0 12px 32px rgba(15,23,42,.35)}.dm-hold-overlay.is-cancel{background:rgba(127,29,29,.9)}.dm-hold-overlay.is-flash{min-height:130px}.dm-hold-overlay .dm-hold-icon{font-size:2.6rem;line-height:1.1}.dm-hold-overlay .dm-hold-icon.is-rec{animation:dmHoldPulse 1.1s ease-in-out infinite}.dm-hold-overlay .dm-hold-icon.is-warn{width:48px;height:48px;border-radius:50%;border:3px solid #fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800}@keyframes dmHoldPulse{50%{transform:scale(.88);opacity:.75}}.dm-hold-overlay .dm-hold-time{font-size:1.15rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dm-hold-overlay .dm-hold-remain{font-size:.85rem;color:#fde68a}.dm-hold-overlay .dm-hold-hint{font-size:.85rem;line-height:1.35;padding:3px 8px;border-radius:6px}.dm-hold-overlay .dm-hold-hint.is-cancel{background:#dc2626;color:#fff;font-weight:600}.composer-row .dm-hold-btn,.composer-row .dm-mode-btn,.composer-row .dm-plus-btn{margin:0}.rn-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;line-height:20px;font-weight:600;white-space:nowrap;background:#e5e7eb;color:#475569}.rn-tag.is-none{background:#f1f5f9;color:#64748b}.rn-tag.is-pending{background:#fef3c7;color:#b45309}.rn-tag.is-verified{background:#dcfce7;color:#15803d}.rn-tag.is-rejected{background:#fee2e2;color:#b91c1c}.fb-dd-item .fb-dd-tag{margin-left:auto}.rn-reminder{position:fixed;right:20px;bottom:20px;z-index:28;width:360px;max-width:calc(100vw - 24px);padding:14px 16px 12px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 10px 30px rgba(15,23,42,.18);animation:rn-reminder-in .2s ease}@keyframes rn-reminder-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.rn-reminder-head{display:flex;align-items:center;gap:8px}.rn-reminder-head strong{font-size:1rem;color:#0f172a}.rn-reminder-icon{font-size:1.2rem}.rn-reminder-text{margin:8px 0 4px;font-size:.9rem;color:#334155;line-height:1.55}.rn-reminder-actions{display:flex;justify-content:flex-end;gap:8px}.rn-reminder-actions button{margin:8px 0 0}@media (max-width:640px){.rn-reminder{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));width:auto;max-width:none}.rn-reminder-actions button{flex:1 1;padding:10px 14px}}.realname-page h1{margin-bottom:12px}.rn-status-card{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#f8fafc}.rn-status-card.is-verified{background:#f0fdf4;border-color:#bbf7d0}.rn-status-card.is-rejected{background:#fef2f2;border-color:#fecaca}.rn-status-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600}.rn-status-text{margin:8px 0 0;color:#334155;line-height:1.6;font-size:.93rem}.rn-status-text.rn-reject{color:#b91c1c;font-weight:600}.rn-status-text.rn-verified{color:#15803d;font-weight:600;display:flex;align-items:center;gap:8px}.rn-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#16a34a;color:#fff;font-size:13px}.rn-info{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 14px;gap:6px 14px;margin:10px 0 0;font-size:.9rem}.rn-info dt{color:#64748b}.rn-info dd{margin:0;color:#0f172a;word-break:break-all}.rn-ok{margin:12px 0 0;padding:8px 12px;border-radius:8px;background:#dcfce7;color:#166534;font-size:.9rem}.rn-form{margin-top:16px}.rn-form h2{margin-bottom:4px}.rn-form input[aria-invalid=true]{border-color:#f87171;background:snow}.rn-field-err{min-height:1.2em;margin:4px 0 0;color:#dc2626;font-size:.85rem}.rn-form button[type=submit]{margin:12px 0 0;min-width:140px}.rn-attempts{margin-top:4px}.rn-privacy{margin-top:18px;padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px dashed #cbd5e1;font-size:.82rem;color:#475569;line-height:1.6}.rn-privacy p{margin:4px 0 0}@media (max-width:640px){.rn-form button[type=submit]{width:100%}.rn-form input{font-size:16px}}.rn-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.rn-settings-row .rn-tag{margin-left:4px}.rn-settings-id{margin-left:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#475569;font-size:.85rem}.rn-settings-link{font-weight:600;white-space:nowrap}.rn-admin-search{display:flex;gap:8px;align-items:center;flex:1 1 280px;max-width:460px}.rn-admin-search input{flex:1 1;min-width:0;padding:7px 10px;font-size:.9rem}.rn-admin-search button{margin:0;white-space:nowrap}.rn-admin-user{display:flex;flex-direction:column;gap:1px}.rn-admin-user .hint{margin:0}.rn-admin-uid{font-size:11px;color:#94a3b8}.rn-admin-mono,.rn-admin-uid{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.rn-admin-mono,.rn-admin-reason{white-space:nowrap}.rn-admin-reason{margin:4px 0 0;max-width:220px;overflow:hidden;text-overflow:ellipsis}.rn-admin-table td button{margin:0}.rn-admin-detail{width:min(720px,100%);max-height:min(88vh,900px);overflow:auto;margin:0}.rn-admin-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rn-admin-detail-head h2{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rn-admin-detail-head button{margin:0;flex:none}.rn-admin-info{margin-top:14px}.rn-admin-info dd .rn-reveal-btn{margin:0 0 0 10px;padding:3px 10px;font-size:.8rem}.rn-admin-dup{margin-top:12px;padding:8px 12px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:.88rem}.rn-admin-dup ul{margin:6px 0 0;padding-left:18px}.rn-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.rn-admin-actions button{margin:0}.rn-admin-reject-form{margin-top:12px}.rn-admin-audit-title{margin:18px 0 6px;font-size:.98rem}.rn-admin-checks{font-size:.82rem}.rn-admin-reqid{font-size:.75rem;color:#475569}.rn-admin-audit{list-style:none;margin:0;padding:0;font-size:.85rem}.rn-admin-audit li{display:flex;gap:10px;padding:5px 0;border-bottom:1px solid #f1f5f9}.rn-admin-audit-time{color:#64748b;white-space:nowrap}@media (max-width:640px){.rn-admin-search{max-width:none;flex-basis:100%}.rn-admin-detail{max-height:92vh;padding:14px}.rn-admin-info dd .rn-reveal-btn{margin:6px 0 0;display:block}.rn-admin-audit li{flex-direction:column;gap:0}}.rn-results{margin-top:10px;padding-top:10px;border-top:1px dashed #cbd5e1;display:flex;flex-direction:column;gap:6px}.rn-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.9rem}.rn-result-name{color:#475569}.rn-result{font-weight:700;white-space:nowrap;color:#64748b}.rn-result.is-ok{color:#15803d}.rn-result.is-ok:before{content:"✓ "}.rn-result.is-bad{color:#b91c1c}.rn-result.is-bad:before{content:"✕ "}.rn-result.is-warn{color:#b45309}.rn-result-msg{margin:2px 0 0;font-size:.84rem;color:#475569;line-height:1.5}.rn-flow-hint{margin-top:0}.rn-recheck{padding-top:12px;border-top:1px solid #e2e8f0}.gc-slots{margin:4px 0 6px;padding:8px 10px;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:14px}.gc-slots.full{background:#fef2f2;color:#b91c1c}.gc-add-btn{font-size:13px;padding:4px 10px}.group-member-count.full{color:#b91c1c;font-weight:600}.group-full-box{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:200px}.group-full-box button:disabled{cursor:not-allowed;opacity:.6}.group-full-msg{color:#b91c1c;text-align:right;font-size:13px}.group-full-tag{display:inline-block;margin-left:8px;padding:0 6px;border-radius:999px;font-size:12px;line-height:18px;background:#fee2e2;color:#b91c1c}.gchat-tools{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}.gchat-tool{display:inline-flex;align-items:center;gap:4px;margin:0;padding:5px 10px;font-size:.85rem;line-height:1.2;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;border-radius:999px}.gchat-tool:hover:not(:disabled){background:#e2e8f0}.gchat-tool.is-on{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.gchat-tool:disabled{opacity:.5;cursor:not-allowed}.gchat-emoji{margin-top:8px}.gchat-voice-row{align-items:stretch}.gchat-voice-row>*{flex:1 1}.gchat-busy{margin:6px 0 0}.gchat-body{max-width:100%;min-width:0}.gchat-image{display:block;max-width:min(260px,100%);max-height:260px;border-radius:10px;border:1px solid #e2e8f0;object-fit:cover;background:#f8fafc}.gchat-type-file .dm-file-card{max-width:300px}@media (max-width:480px){.gchat-tool{padding:5px 8px}.gchat-tool-label{font-size:.8rem}.gchat-image{max-width:200px;max-height:220px}}.jqr-modal{max-width:380px}.jqr-body{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0}.jqr-qr{padding:6px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;line-height:0}.jqr-name{font-weight:600;color:#0f172a}.jqr-name,.jqr-url{text-align:center;word-break:break-all}.jqr-url{margin:0;max-width:100%;font-size:12px;color:#64748b}.jqr-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.jqr-actions button{margin:0}.jqr-reset{color:#b91c1c}.jqr-err,.jqr-msg{text-align:center;margin:8px 0 0}.join-landing{max-width:460px;margin:24px auto;text-align:center}.join-landing .jl-cover{width:88px;height:88px;border-radius:16px;object-fit:cover;align-items:center;font-size:40px;background:#e0e7ff}.join-landing .jl-avatars,.join-landing .jl-cover{margin:4px auto 10px;display:flex;justify-content:center}.join-landing .jl-avatars{flex-wrap:wrap;gap:4px;max-width:220px}.join-landing .jl-avatars img,.join-landing .jl-avatars span{width:32px;height:32px;border-radius:8px;object-fit:cover;background:#dbeafe;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.join-landing h1{font-size:1.3rem;margin:0 0 6px;word-break:break-all}.join-landing .jl-meta{color:#64748b;margin:0 0 12px}.join-landing .jl-count.full{color:#b91c1c;font-weight:600}.join-landing .jl-btn{min-width:160px}.join-landing .jl-expired{font-size:1.15rem;color:#b91c1c;font-weight:600;margin:8px 0}.join-landing .jl-icon{font-size:44px;margin-bottom:6px}.group-head-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.group-head-actions button{margin:0}.jqr-actions .jqr-reset{background:#fff;color:#b91c1c;border:1px solid #fca5a5}.jqr-actions .jqr-reset:hover:not(:disabled){background:#fef2f2}.gc-member-list{max-height:min(50vh,420px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #f1f5f9}.muted-tag{display:inline-flex;align-items:center;gap:2px;margin-left:6px;padding:1px 8px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.75rem;font-weight:600;line-height:1.6;white-space:nowrap;vertical-align:middle}.muted-tag-detail{font-weight:400}.muted-banner{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.9rem;line-height:1.5}.mute-dialog .mute-options{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:12px}.mute-dialog .mute-option{margin:0;width:100%;background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1}.mute-dialog .mute-option:hover{background:#e2e8f0}.mute-dialog .mute-option.is-on{background:#1877f2;border-color:#1877f2;color:#fff}.mute-dialog .mute-forever-hint{margin:8px 0 0}.mute-dialog .mute-confirm,.mute-dialog .mute-confirm:hover{background:#dc2626;color:#fff}.mute-dialog .mute-confirm:disabled{opacity:.7}.member-mute-actions{margin-left:auto;display:inline-flex;gap:6px;flex:0 0 auto}.member-mute-actions button{margin:0;width:auto;padding:4px 10px;font-size:.8rem}.member-mute-actions .member-unmute-btn{background:#16a34a}.member-mute-actions .member-unmute-btn:hover{background:#15803d}.group-member-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}.member-mute-actions .member-admin-btn{background:#7c3aed}.member-mute-actions .member-admin-btn:hover{background:#6d28d9}.member-mute-actions .member-revoke-admin-btn:hover{background:#475569}.group-member-row .member-mute-actions{flex-wrap:wrap;justify-content:flex-end}.admin-tag{display:inline-flex;align-items:center;margin-left:6px;padding:1px 8px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:.75rem;font-weight:600;line-height:1.6;white-space:nowrap;vertical-align:middle}.gc-member-list .member-mute-actions{flex-wrap:wrap;justify-content:flex-end}.dm-member-row .member-mute-actions{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end}.groupchat-row .groupchat-row-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#e0e7ff;font-size:1.1rem}.groupchat-row .friend-compact-name{min-width:0}.groupchat-row-count{flex-shrink:0;color:#64748b;font-size:.85rem}.groupchat-role-tag{flex-shrink:0;margin-left:auto;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.5}.groupchat-role-tag.is-owner{background:#fef3c7;color:#b45309}.groupchat-role-tag.is-admin{background:#ede9fe;color:#6d28d9}.fb-tab-icon-wrap{position:relative;display:inline-flex}.fb-tab-icon-wrap .fb-tab-badge{top:-6px;right:-11px}.dm-row{display:flex;align-items:center;gap:10px;cursor:pointer}.dm-row-main{flex:1 1;min-width:0}.dm-row-top{display:flex;align-items:center;gap:6px;min-width:0}.dm-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-row-time{margin-left:auto;flex-shrink:0;font-size:.75rem;color:#94a3b8}.dm-row .msg-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-row-avatar{flex-shrink:0;width:40px;height:40px;border-radius:10px;object-fit:cover;background:#dcfce7}.dm-row-avatar-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem}.dm-row-group:hover{background:#f8fafc}.dm-type-tag{flex-shrink:0;padding:0 6px;border-radius:999px;font-size:.7rem;font-weight:600;line-height:1.6}.dm-type-tag.is-direct{background:#e0f2fe;color:#0369a1}.dm-type-tag.is-dmgroup{background:#e0e7ff;color:#4338ca}.dm-type-tag.is-group{background:#dcfce7;color:#15803d}.dm-header-title{display:flex}.dm-header-peer,.dm-header-title{align-items:center;gap:8px;min-width:0}.dm-header-peer{display:inline-flex;color:inherit;text-decoration:none}.dm-header-peer:hover h2{text-decoration:underline}.dm-header-avatar{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover;background:#cbd5e1;display:inline-flex;align-items:center;justify-content:center}.dm-header-avatar-fallback{background:#8ab4f8;color:#fff;font-weight:700;line-height:1}.dm-header-avatar-group{background:#e0e7ff;font-size:18px}.dm-back-btn{display:none;margin:0;width:auto;padding:4px 10px;font-size:.85rem;flex-shrink:0}.dm-chat-placeholder{display:none}@media (min-width:900px){.page.messages-page{max-width:1120px}.dm-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.dm-layout>.card{margin-top:0;min-width:0}.dm-list-card{position:-webkit-sticky;position:sticky;top:calc(var(--app-header-h, 56px) + 16px);max-height:calc(100vh - var(--app-header-h, 56px) - 32px);overflow-y:auto}.dm-chat-placeholder{display:flex;align-items:center;justify-content:center;min-height:320px}}@media (max-width:899px){.dm-layout.has-active .dm-list-card{display:none}.dm-back-btn{display:inline-flex}}.captcha-row{display:flex;gap:8px;align-items:stretch}.captcha-row input{flex:1 1 auto;min-width:0;letter-spacing:2px}.captcha-row .captcha-img,.container .captcha-row .captcha-img{flex:0 0 auto;width:124px;height:46px;margin:0;padding:0;border:1px solid #ddd;border-radius:8px;background:#f1f5f9;color:#64748b;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:.85rem}.captcha-row .captcha-img img{display:block;width:120px;height:44px}.captcha-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.captcha-meta .hint{margin-top:6px}.captcha-meta .captcha-refresh,.container .captcha-meta .captcha-refresh{width:auto;margin:6px 0 0;padding:2px 0;background:none;color:#2563eb;font-size:.85rem}.captcha-meta .captcha-refresh:hover{background:none;text-decoration:underline}.lock-notice{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:10px 12px;margin-top:12px;font-size:.9rem}.captcha-row .captcha-img:hover{background:#e2e8f0}.sec-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sec-chip{background:#f1f5f9;color:#334155;border-radius:999px;padding:4px 12px;font-size:.85rem}.sec-chip b{margin-left:4px}.sec-chip.is-danger{background:#fef2f2;color:#b91c1c}.sec-chip.is-warn{background:#fffbeb;color:#b45309}.sec-locks{margin-bottom:12px}.sec-locks h2{font-size:1rem}.sec-lock-list{list-style:none;margin:0;padding:0}.sec-lock-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f1f5f9}.sec-lock-row .sec-lock-target{flex:1 1 160px;min-width:0;word-break:break-all}.sec-lock-row button{margin:0}.sec-table .sec-time{white-space:nowrap}.sec-table .sec-ip{white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.sec-table .sec-detail{min-width:220px;font-size:.85rem;color:#475569}.rn-tag.is-warn{background:#fffbeb;color:#b45309}.privacy-locked{margin:12px 0 16px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.privacy-locked-row{margin:0 0 6px;line-height:1.6;word-break:break-word}.privacy-locked-label{font-weight:600;color:#334155}.privacy-locked-value{color:#0f172a}.privacy-locked .hint{margin:4px 0 0}.pages-feed-head{padding-bottom:6px}.pages-feed-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pages-feed-title{margin:0;font-size:1.35rem}.pages-feed-dir{white-space:nowrap;font-size:.9rem;padding:6px 12px}.pages-feed-desc{margin:6px 0 4px}.pages-feed-tabs{margin:8px 0 4px}.pages-feed-foot{text-align:center}.page-post-card{overflow-wrap:anywhere}.page-post-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;min-width:0}.page-post-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;object-fit:cover;background:#dbeafe}.page-post-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:#1d4ed8;font-weight:700}.page-post-meta{display:flex;flex-direction:column;min-width:0}.page-post-name{font-weight:700;color:#050505;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-post-name:hover{color:var(--fb-blue,#1877f2)}.page-post-sub{font-size:.8rem}.page-composer{display:flex;flex-direction:column;gap:8px}.page-composer textarea{width:100%;box-sizing:border-box}.page-composer-tools{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-composer-tools.composer-media-row,.page-composer-tools.composer-media-row label.composer-file-btn{margin:0}.page-composer-submit{margin:0 0 0 auto}.page-composer-emoji.active{background:#dbeafe;border-color:#93c5fd}.page-composer-emoji-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:min(380px,calc(100vw - 48px));box-shadow:0 10px 28px rgba(0,0,0,.16);border-radius:10px}.page-composer-emoji-panel .emoji-picker{max-height:220px}@media (max-width:480px){.page-composer-emoji-panel .emoji-picker{grid-template-columns:repeat(8,minmax(0,1fr))}.pages-feed-dir{font-size:.85rem;padding:6px 10px}}.composer-media-row button.composer-camera-btn{width:auto;margin:8px 8px 0 0}.page-composer-tools.composer-media-row .composer-camera-btn{margin:0}.composer-media-row .composer-camera-btn:before{content:"";display:inline-block;width:14px;height:11px;margin-right:6px;vertical-align:-1px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M8 0 6 3H2a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-4l-2-3H8zm4 6a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M8 0 6 3H2a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-4l-2-3H8zm4 6a5 5 0 1 1 0 10 5 5 0 0 1 0-10z'/%3E%3C/svg%3E") center /contain no-repeat}.photo-cam-overlay{z-index:80;background:rgba(15,23,42,.6)}.photo-cam-modal{width:min(560px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:16px}.photo-cam-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.photo-cam-head h2{margin:0;font-size:1.05rem}.photo-cam-head .photo-cam-x{flex:0 0 auto;width:36px;height:36px;margin:0;padding:0;border-radius:50%;background:#f1f5f9;color:#334155;font-size:1.2rem;line-height:36px}.photo-cam-head .photo-cam-x:hover{background:#e2e8f0;color:#0f172a}.photo-cam-stage{position:relative;width:100%;aspect-ratio:4/3;max-height:60vh;max-height:60dvh;background:#0f172a;border-radius:10px;overflow:hidden}.photo-cam-stage .photo-cam-media{display:block;width:100%;height:100%;object-fit:contain;background:#0f172a}.photo-cam-stage .photo-cam-media.is-mirrored{transform:scaleX(-1)}.photo-cam-overlay-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e2e8f0;font-size:.95rem}.photo-cam-inline-error{margin:8px 0 0;color:#b91c1c;font-size:.85rem}.photo-cam-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.photo-cam-actions .photo-cam-btn{width:auto;margin:0;min-height:40px;padding:8px 16px}.photo-cam-actions .photo-cam-primary{background:#2563eb;color:#fff}.photo-cam-actions .photo-cam-primary:hover:not(:disabled){background:#1d4ed8}.photo-cam-actions .secondary.photo-cam-btn:hover:not(:disabled){background:#475569}.photo-cam-actions label.photo-cam-native{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.photo-cam-actions .photo-cam-native .composer-file-input{position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;pointer-events:none}.photo-cam-error{padding:12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.9rem;line-height:1.6}.photo-cam-error p{margin:0}@media (max-width:480px){.photo-cam-overlay{padding:8px;align-items:flex-end}.photo-cam-modal{padding:12px;border-radius:12px}.photo-cam-stage{aspect-ratio:3/4}.photo-cam-actions .photo-cam-btn{flex:1 1;min-width:0;padding:8px 6px}}.alog-retention{display:inline-block;margin:4px 0 8px;padding:4px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.85rem}.alog-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-bottom:12px}.alog-field{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:0;font-size:.85rem;color:#475569}.alog-field input,.alog-field select{margin:0;padding:7px 10px;font-size:.9rem;min-width:0;width:100%;box-sizing:border-box}.alog-ip{flex:1 1 240px}.alog-ip-row{display:flex;gap:6px}.alog-ip-row input{flex:1 1 auto}.alog-ip-row select{flex:0 0 76px;width:76px}.alog-status{flex:0 1 110px}.alog-actions{display:flex;gap:8px}.alog-actions button{margin:0;white-space:nowrap}.alog-table td,.alog-table th{vertical-align:top;padding-left:6px;padding-right:6px}.alog-table .alog-time{white-space:nowrap}.alog-table .alog-xff{display:block}.alog-table .alog-ip-cell{white-space:nowrap}.alog-table .alog-ip-cell,.alog-table .alog-method,.alog-table .alog-path{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.alog-table .alog-path{min-width:180px;max-width:340px;word-break:break-all}.alog-table .alog-size{white-space:nowrap}.alog-table .alog-ua{min-width:150px;max-width:220px;font-size:.8rem;color:#475569;word-break:break-word}.alog-table .alog-ref{min-width:110px;max-width:180px;font-size:.8rem;color:#475569;word-break:break-all}.alog-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 24px}.alog-foot button{margin:0}@media (max-width:640px){.alog-field{flex:1 1 100%}.alog-status{flex:1 1 40%}.alog-kw{flex:1 1 55%}.alog-actions{flex:1 1 100%}.alog-actions button{flex:1 1}.admin-table-wrap.card:has(.alog-table){padding:0;background:transparent;box-shadow:none;border:0;overflow:visible}.alog-table,.alog-table tbody,.alog-table td,.alog-table tr{display:block;width:100%;box-sizing:border-box}.alog-table thead{display:none}.alog-table tr{background:#fff;border-radius:10px;padding:8px 12px;margin-bottom:8px;box-shadow:0 1px 2px rgba(0,0,0,.08)}.alog-table td{border:0;padding:3px 0;display:flex;gap:8px;max-width:none;min-width:0;white-space:normal}.alog-table td:before{content:attr(data-label);flex:0 0 64px;color:#94a3b8;font-size:.8rem;font-family:system-ui,sans-serif}.alog-table td[colspan]:before{content:none}.alog-table td .alog-v{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.alog-table .alog-ip-cell{white-space:normal}}.sms-row{display:flex;gap:8px;align-items:stretch}.sms-row input{flex:1 1 auto;min-width:0;letter-spacing:3px}.container .sms-row .sms-send,.sms-row .sms-send{flex:0 0 auto;width:124px;margin:0;padding:0 8px;white-space:nowrap;font-size:.9rem}.sms-row .sms-send:disabled{background:#94a3b8;opacity:1}.sms-info{color:#15803d}.home-page-post-avatar-link{flex:0 0 auto;display:inline-flex}.home-page-post-avatar{object-fit:cover;background:#dbeafe}.home-page-post-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:#1d4ed8;font-weight:700}.home-page-post-head{display:flex;align-items:center;gap:6px;min-width:0}.home-page-post-badge{flex:0 0 auto;font-size:.72rem;line-height:1.5;padding:0 6px;border-radius:4px;background:#e7f0fd;color:#1d4ed8;font-weight:600}.home-page-post-name{font-weight:700;color:#050505;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.home-page-post-name:hover{color:var(--fb-blue,#1877f2)}.home-page-post-by{color:inherit;font-weight:600}.pd-fieldset{border:1px solid #e4e6eb;border-radius:10px;padding:8px 12px 4px;margin:12px 0;min-width:0}.pd-fieldset legend{padding:0 6px;font-weight:700;color:#050505}.pd-fields{display:flex;flex-direction:column;min-width:0}.pd-fields select{width:100%;max-width:100%}.pd-region-row{display:flex;gap:8px;min-width:0}.pd-region-row select{flex:0 0 38%;width:auto;min-width:0}.pd-region-row input{flex:1 1 auto;min-width:0}.pd-region-row input:disabled{background:#f3f4f6;color:#9ca3af}.pd-counter{margin:2px 0 0;text-align:right;font-size:.8rem;color:#65676b}.pd-counter.over{color:#dc2626}.pd-privacy{margin-top:4px}.pd-section{margin:10px 0 6px;padding:10px 12px;border-radius:10px;background:#f7f8fa;text-align:left;overflow-wrap:anywhere}.pd-section-title{margin:0 0 6px;font-size:.95rem;color:#050505}.pd-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}.pd-list li{display:inline-flex;align-items:center;gap:6px;color:#1c1e21;min-width:0}.pd-icon{flex:0 0 auto}.pd-hobbies{margin-top:8px}.pd-hobbies-label{display:block;font-size:.8rem;color:#65676b;margin-bottom:2px}.pd-hobbies-text{margin:0;white-space:pre-wrap;color:#1c1e21}.pd-reminder{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;padding:8px 10px;border-radius:8px;background:#eef4ff;border:1px solid #d6e4ff;color:#1e3a8a;font-size:.9rem;text-align:left}.pd-reminder-text{flex:1 1 200px;min-width:0}.pd-reminder-link{font-weight:600;color:var(--fb-blue,#1877f2);white-space:nowrap}.pd-reminder-close{background:transparent;border:none;color:#64748b;font-size:1.1rem;line-height:1;padding:2px 6px;cursor:pointer;min-height:0}.pd-complete{max-width:560px;margin-left:auto;margin-right:auto}.pd-complete-intro{margin-bottom:8px}.pd-complete-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.ev-tab-hint{margin:8px 0 0}.ev-badge{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;font-size:.72rem;line-height:1.6;font-weight:600;vertical-align:middle}.ev-badge-ongoing{background:#dcfce7;color:#166534}.ev-badge-ended{background:#f1f5f9;color:#64748b}.ev-badge-cancelled{background:#fee2e2;color:#b91c1c}.ev-badge-mine{background:#e7f0fd;color:#1d4ed8}.ev-item-cancelled strong{color:#94a3b8;text-decoration:line-through}.ev-cancelled-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.ev-cancelled-banner span{flex:1 1 200px;min-width:0}.ev-notice{color:#166534;margin:8px 0 0}.ev-manage{align-items:center}.linklike{background:none;border:none;padding:0;min-height:0;cursor:pointer;font:inherit;text-decoration:underline}.auth-brand,.linklike{color:var(--fb-blue,#1877f2)}.auth-brand{display:flex;align-items:center;gap:10px;margin:4px 0 14px}.auth-brand-logo{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--fb-blue,#1877f2);color:#fff;font-size:1.3rem;font-weight:800;line-height:1}.auth-brand-name{font-size:1.35rem;font-weight:800;letter-spacing:.02em;line-height:1.2;overflow-wrap:anywhere}.admin-brand{display:flex;flex-direction:column;gap:2px}.admin-brand-site{color:var(--fb-blue,#1877f2);font-size:1.05rem;font-weight:800;overflow-wrap:anywhere}.admin-brand-site+span{font-size:.92rem;font-weight:600;color:#475569}.invite-site{margin:-4px 0 12px;color:#65676b;font-size:.92rem}.cam-quality{display:inline-flex;margin-left:auto;border:1px solid #cbd5e1;border-radius:999px;overflow:hidden;flex:0 0 auto}.cam-quality-opt{margin:0;padding:3px 10px;font-size:.8rem;line-height:1.4;border:0;border-radius:0;background:#fff;color:#475569;min-height:0}.cam-quality-opt+.cam-quality-opt{border-left:1px solid #cbd5e1}.cam-quality-opt.is-on{background:#1877f2;color:#fff}.cam-quality-opt:disabled{opacity:.6;cursor:default}.cam-quality-opt:not(.is-on):not(:disabled):hover{background:#f1f5f9}.call-spotcheck-notice{margin:8px 0 6px;padding:4px 8px;font-size:12px;line-height:1.5;color:#8a5a00;background:#fff7e0;border:1px solid #f3dfa6;border-radius:6px}.call-path-hint{margin:4px 0;font-size:12px}.voice-call-actions .call-report-btn{margin-left:auto;font-size:13px;color:#b42318}.admin-call-evidence{max-width:240px;max-height:180px;border-radius:6px;cursor:zoom-out}.account-delete-section h3{color:#b91c1c}.account-delete-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;margin:6px 0 10px;color:#7f1d1d;font-size:14px;line-height:1.6}.account-delete-warning ul{margin:6px 0;padding-left:18px}.account-delete-warning .account-delete-items{list-style:disc;padding-left:34px}.account-delete-agree{display:flex;align-items:center;gap:8px;margin:10px 0 4px;font-weight:400}.account-delete-agree input{width:auto;margin:0}.account-delete-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.pending-deletion-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:12px;margin:10px 0}.pending-deletion-box .row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.banned-box{background:#fef2f2;border-color:#fecaca}.banned-box .appeal-status{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px}.appeal-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600}.appeal-tag.appeal-pending{background:#fef3c7;color:#92400e}.appeal-tag.appeal-unbanned{background:#dcfce7;color:#166534}.appeal-tag.appeal-rejected{background:#e5e7eb;color:#374151}.appeal-reply{flex-basis:100%;margin:4px 0 0;padding:6px 8px;background:#fff;border-radius:6px;font-size:13px;white-space:pre-wrap}.appeal-done{margin:8px 0 0;color:#166534;font-size:14px}.appeal-form{margin-top:10px}.appeal-form textarea{width:100%;box-sizing:border-box;resize:vertical}.appeal-count{text-align:right;font-size:12px;color:#6b7280}.appeal-images{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.appeal-thumb{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.appeal-thumb img{width:100%;height:100%;object-fit:cover}.appeal-thumb button{position:absolute;top:2px;right:2px;width:22px;height:22px;min-width:0;padding:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:14px;line-height:22px}.appeal-add{width:72px;height:72px;padding:0;font-size:12px;background:#fff;color:#374151;border:1px dashed #9ca3af}.admin-appeal-imgs{display:flex;gap:6px;flex-wrap:wrap}.admin-appeal-imgs img{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid #e5e7eb;cursor:zoom-in}.admin-appeal-reason{white-space:pre-wrap;max-width:320px;font-size:13px}.reclaim-paused-tag{display:inline-block;padding:1px 6px;border-radius:6px;background:#e0f2fe;color:#075985;font-size:12px;white-space:nowrap}.appeal-images .appeal-add{width:72px;min-width:72px;flex:0 0 72px}@media (max-width:720px){.admin-appeal-table thead{display:none}.admin-appeal-table,.admin-appeal-table tbody,.admin-appeal-table td,.admin-appeal-table tr{display:block;width:100%;box-sizing:border-box}.admin-appeal-table tr{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:12px;padding:6px 0;background:#fff}.admin-appeal-table td{border:none!important;padding:6px 12px;min-width:0!important}.admin-appeal-table td:before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#6b7280;margin-bottom:2px}.admin-appeal-reason{max-width:none}}.support-h1{display:flex;align-items:center;gap:8px}.support-tabs{display:flex;gap:6px;border-bottom:1px solid #e5e7eb;margin:8px 0 14px}.support-tabs button{width:auto;flex:1 1;background:none;color:#4b5563;border:none;border-bottom:3px solid transparent;border-radius:0;padding:10px 4px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px}.support-tabs button.active{color:#1877f2;border-bottom-color:#1877f2}.support-tabs .badge{margin:0}.support-intro{display:flex;gap:10px;align-items:center;padding:10px;background:#f0f7ff;border-radius:10px}.support-avatar{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#1877f2;color:#fff;display:inline-flex;align-items:center;justify-content:center}.support-avatar.big{width:42px;height:42px}.support-list{margin-top:12px;gap:8px}.support-item,.support-list{display:flex;flex-direction:column}.support-item{width:100%;text-align:left;background:#fff;color:inherit;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;gap:4px;font-weight:400}.support-item:hover{background:#f9fafb}.support-item-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.support-item-top .badge{margin:0}.support-item-time{margin-left:auto;font-size:12px;color:#6b7280}.support-item-preview{font-size:14px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-cat-tag{background:#eef2ff;color:#3730a3}.support-cat-tag,.support-status{font-size:12px;padding:1px 8px;border-radius:999px}.support-status.support-open{background:#fef3c7;color:#92400e}.support-status.support-resolved{background:#dcfce7;color:#166534}.support-cats{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.support-cat{width:auto;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px);background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:999px;padding:8px 10px;font-weight:500}.support-cat.active{background:#1877f2;color:#fff;border-color:#1877f2}.support-composer textarea,.support-new textarea{width:100%;box-sizing:border-box;resize:vertical}.support-chat-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.support-back{width:auto;padding:6px 10px}.support-chat-title,.support-msgs{display:flex;flex-direction:column}.support-msgs{gap:12px;padding:12px 0;max-height:58vh;overflow-y:auto}.support-msg{display:flex;gap:8px;align-items:flex-start}.support-msg.mine{justify-content:flex-end}.support-bubble-wrap{max-width:78%;display:flex;flex-direction:column}.support-msg.mine .support-bubble-wrap{align-items:flex-end}.support-sender{font-size:12px;color:#1877f2;font-weight:600;margin-bottom:2px}.support-bubble{padding:8px 12px;border-radius:14px;background:#f0f2f5;color:#111827}.support-msg.mine .support-bubble{background:#1877f2;color:#fff}.support-text{white-space:pre-wrap;word-break:break-word;font-size:15px;line-height:1.5}.support-imgs{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.support-imgs img{width:96px;height:96px;object-fit:cover;border-radius:8px;display:block;background:#e5e7eb}.support-time{font-size:11px;color:#9ca3af;margin-top:2px}.support-resolved-note{background:#f0fdf4;padding:6px 10px;border-radius:8px}.support-composer{border-top:1px solid #f0f0f0;padding-top:8px}.support-composer-row{display:flex;align-items:center;gap:8px;margin-top:6px}.support-composer-row button{width:auto}.support-thumbs{display:flex;gap:6px;margin-bottom:6px}.support-notices{display:flex;flex-direction:column;gap:10px}.support-notice{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff}.support-notice.unread{border-color:#93c5fd;background:#f8fbff}.support-notice h3{margin:8px 0 4px;font-size:16px}.support-notice-head{display:flex;align-items:center;gap:6px}.support-new-dot{font-size:11px;color:#fff;background:#ef4444;border-radius:999px;padding:0 6px}.support-notice-img{max-width:100%;border-radius:8px;margin-top:8px;display:block}.support-recharge{text-align:center;padding:36px 12px;border:1px dashed #d1d5db;border-radius:12px;background:#fafafa}.support-recharge-icon{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:#fde68a;color:#92400e;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center}.admin-support{display:grid;grid-template-columns:320px 1fr;grid-gap:12px;gap:12px;align-items:start}.admin-support-list{display:flex;flex-direction:column;gap:6px;max-height:75vh;overflow-y:auto}.admin-support-list .support-item.active{border-color:#1877f2;background:#f0f7ff}.admin-support-pane{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#fff;min-height:300px}@media (max-width:860px){.admin-support{grid-template-columns:1fr}}.nearby-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.nearby-head .support-h1{margin:0}button.nearby-off{width:auto;padding:6px 14px;color:#dc2626}.nearby-consent{margin-top:10px}.nearby-consent-icon{width:60px;height:60px;border-radius:50%;background:#e8f1ff;color:#1877f2;display:flex;align-items:center;justify-content:center;margin:4px auto 8px}.nearby-consent h2{font-size:1.05rem;text-align:center;margin:0 0 8px}.nearby-consent ul{margin:0 0 12px;padding-left:1.2em;color:#334155;line-height:1.65;font-size:.93rem}.nearby-consent li{margin-bottom:4px}.nearby-agree{display:flex;align-items:center;gap:8px;margin:6px 0 12px;font-size:.95rem;cursor:pointer}.nearby-agree input{width:18px;height:18px;margin:0;flex:none}.nearby-consent>button{width:100%}.nearby-radius{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 10px}.nearby-radius-label{color:#64748b;font-size:.88rem;margin-right:2px}.nearby-radius button{width:auto;padding:6px 12px;border-radius:999px;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;font-size:.88rem}.nearby-radius button.active{background:#1877f2;color:#fff;border-color:#1877f2}.nearby-refresh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nearby-refresh>button{width:auto;padding:8px 18px}.nearby-refresh .hint{margin:0}.nearby-count{margin:14px 0 6px;font-weight:600;color:#334155;font-size:.93rem}.nearby-list{list-style:none;margin:0;padding:0}.nearby-item{justify-content:space-between;padding:10px 0;border-top:1px solid #f1f5f9}.nearby-item,.nearby-user{display:flex;align-items:center;gap:10px}.nearby-user{min-width:0;color:inherit;flex:1 1}.nearby-user:hover{text-decoration:none}.nearby-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#93b4f5;font-weight:700;flex:none}.nearby-name{display:flex;flex-direction:column;min-width:0}.nearby-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nearby-dist{color:#1877f2;font-size:.82rem}.nearby-actions{display:flex;gap:6px;flex:none;align-items:center}.nearby-actions .btn,.nearby-actions button{width:auto;padding:6px 12px;font-size:.88rem}.nearby-tag{color:#64748b;font-size:.85rem;padding:6px 4px}button.nearby-user{background:none;border:none;padding:0;text-align:left;cursor:pointer;font:inherit;width:auto}button.nearby-user:hover{background:none}.nearby-item.selected{background:#f0f7ff;border-radius:10px}.nearby-minipin{vertical-align:-2px;margin-right:2px;flex:none}.nearby-dist{display:inline-flex;align-items:center}.nearby-sheet{position:relative;margin:12px 0 4px;padding:18px 14px 14px;border:1px solid #dbe6f7;border-radius:14px;background:linear-gradient(180deg,#f0f7ff,#fff 60%);display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 14px rgba(24,119,242,.08)}button.nearby-sheet-close{position:absolute;top:6px;right:6px;width:32px;height:32px;padding:0;border-radius:50%;background:transparent;color:#64748b;font-size:1.3rem;line-height:1}button.nearby-sheet-close:hover{background:#e2e8f0}.nearby-sheet-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;font-size:1.8rem}.nearby-sheet-name{margin-top:8px;font-size:1.1rem}.nearby-sheet-dist{display:inline-flex;align-items:center;gap:2px;margin-top:6px;padding:3px 10px;border-radius:999px;background:#fff1f2;color:#b91c1c;font-size:.9rem;font-weight:600}.nearby-sheet-note{margin:6px 0 10px;font-size:.8rem}.nearby-sheet-actions{display:flex;gap:8px;justify-content:center;align-items:center}.nearby-sheet-actions .btn,.nearby-sheet-actions button{width:auto;padding:8px 18px}.call-remote-audio{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}button.call-audio-tap{width:100%;margin:6px 0 10px;background:#f59e0b;color:#fff;font-weight:700;font-size:1rem;padding:10px 14px}button.call-audio-tap:hover{background:#d97706}.call-audio-meter{margin:6px 0 10px;padding:8px 10px;border-radius:10px;background:rgba(15,23,42,.06)}.voice-call-card.video .call-audio-meter{background:hsla(0,0%,100%,.85)}.call-audio-row{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#334155;line-height:1.9}.call-audio-label{width:5.2em;flex:none}.call-audio-bar{flex:1 1;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.call-audio-bar i{display:block;height:100%;background:#22c55e;border-radius:999px;transition:width .25s ease}.call-audio-bar.mic i{background:#3b82f6}.call-audio-state{width:3.6em;flex:none;text-align:right;color:#64748b}.call-tone-hint{margin:2px 0 6px;min-height:0}.call-tone-hint:empty{display:none}img[data-viewer]{cursor:zoom-in}body.image-viewer-open{overflow:hidden}.image-viewer{position:fixed;z-index:3000;background:rgba(2,6,23,.9);cursor:zoom-out;-webkit-tap-highlight-color:transparent}.image-viewer,.image-viewer-stage{inset:0;display:flex;align-items:center;justify-content:center}.image-viewer-stage{position:absolute;padding:48px 64px;box-sizing:border-box}.image-viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;cursor:default;box-shadow:0 10px 40px rgba(0,0,0,.5);-moz-user-select:none;user-select:none;-webkit-user-select:none}.image-viewer-close,.image-viewer-nav{position:absolute;border:0;color:#fff;background:hsla(0,0%,100%,.14);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.image-viewer-close:hover,.image-viewer-nav:hover{background:hsla(0,0%,100%,.28)}.image-viewer-close:focus-visible,.image-viewer-nav:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.image-viewer-close{top:12px;right:12px;width:40px;height:40px;border-radius:50%;font-size:28px}.image-viewer-nav{top:50%;transform:translateY(-50%);width:44px;height:64px;border-radius:10px;font-size:40px}.image-viewer-nav.prev{left:10px}.image-viewer-nav.next{right:10px}.image-viewer-count{top:20px;color:#e2e8f0;font-size:14px}.image-viewer-count,.image-viewer-orig{position:absolute;left:50%;transform:translateX(-50%)}.image-viewer-orig{bottom:14px;color:#cbd5e1;font-size:13px;text-decoration:underline}@media (max-width:640px){.image-viewer-stage{padding:52px 8px 44px}.image-viewer-nav{width:36px;height:52px;font-size:32px;background:hsla(0,0%,100%,.1)}}.loc-picker-acc-row{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.loc-picker-acc{font-size:.85rem;color:#0f766e;flex:1 1 160px}.loc-picker-acc.poor{color:#b45309}.loc-picker-acc:empty{display:none}.loc-picker-relocate{margin-top:0;padding:4px 10px;font-size:.85rem;background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1}.loc-picker-relocate:hover:not(:disabled){background:#e2e8f0}.loc-picker-drag-tip{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:3;pointer-events:none;background:rgba(15,23,42,.7);color:#fff;font-size:12px;padding:3px 10px;border-radius:999px;white-space:nowrap}.lang-switch{display:inline-flex;align-items:center;gap:4px;font-size:.9rem;color:#65676b}.lang-switch-icon{font-size:.95rem;line-height:1}.lang-switch-sep{color:#cbd5e1}.lang-switch button{background:none;border:none;padding:2px 6px;min-height:0;width:auto;margin:0;border-radius:6px;color:#65676b;font:inherit;font-weight:500;cursor:pointer;box-shadow:none}.lang-switch button:hover:not(:disabled){background:#f0f2f5;color:#1c1e21}.lang-switch button.active{color:var(--fb-blue,#1877f2);font-weight:700;cursor:default}.lang-switch button.active:hover{background:none;color:var(--fb-blue,#1877f2)}.lang-switch-auth{display:flex;justify-content:flex-end;margin:-4px 0 4px}