:root{--bg:#f0f0f0;--bg-card:#ffffff;--bg-card-hover:#f8f8f8;--bg-nav:#ffffff;--text:#111111;--text-muted:#777777;--accent:#e53e3e;--accent-hover:#c53030;--live:#e53e3e;--border:#e8e8e8;--shadow:0 1px 4px rgba(0,0,0,0.08);--shadow-md:0 4px 16px rgba(0,0,0,0.12);--nav-h:58px;--sidebar-w:220px;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-nav{height:var(--nav-h);background:var(--bg-nav);border-bottom:1px solid var(--border);padding:0 1.25rem;gap:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}.nav-logo,.site-nav{display:flex;align-items:center}.nav-logo{text-decoration:none;flex-shrink:0}.nav-logo:hover{opacity:.88}.nav-search{flex:1 1;max-width:480px;margin:0 1rem;position:relative}.nav-search input{width:100%;padding:.45rem 1rem .45rem 2.5rem;border-radius:20px;border:1px solid var(--border);background:#f7f7f7;color:var(--text);font-size:.875rem}.nav-search input:focus{outline:none;border-color:var(--accent);background:#fff}.nav-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.9rem;pointer-events:none}.nav-spacer{flex:1 1}.nav-actions{display:flex;gap:.5rem;align-items:center}.nav-email{font-size:.8rem;color:var(--text-muted)}.app-body{display:flex;min-height:calc(100vh - var(--nav-h))}.site-sidebar{width:var(--sidebar-w);background:var(--bg-nav);border-right:1px solid var(--border);padding:1rem 0;flex-shrink:0;position:-webkit-sticky;position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));overflow-y:auto}.sidebar-section-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;padding:.6rem 1.25rem .25rem}.sidebar-divider{height:1px;background:var(--border);margin:.6rem 1rem}.sidebar-item{display:flex;align-items:center;gap:.65rem;padding:.55rem 1.25rem;color:var(--text-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .12s,background .12s;border-left:3px solid transparent}.sidebar-item:hover{color:var(--text);background:rgba(0,0,0,.03);text-decoration:none}.sidebar-item.active{color:var(--accent);background:rgba(229,62,62,.06);border-left-color:var(--accent)}.sidebar-icon{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.fsvg-nav{width:18px;height:18px}.sidebar-go-live{font-weight:600}.sidebar-go-live,.sidebar-go-live.active{color:var(--accent)}.site-main{flex:1 1;padding:1.5rem 1.75rem;min-width:0}.page-narrow{max-width:640px;margin:0 auto;padding:2rem 0}.section-hd{justify-content:space-between;margin-bottom:1rem}.section-hd,.section-hd-title{display:flex;align-items:center}.section-hd-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text);gap:.5rem}.section-hd-title:after{content:"";display:block;width:28px;height:3px;background:var(--accent);border-radius:2px;margin-left:.25rem}.section-hd-link{font-size:.78rem;color:var(--text-muted);font-weight:500}.featured-grid{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:230px 230px;grid-gap:5px;gap:5px;margin-bottom:2rem;border-radius:var(--radius);overflow:hidden}.featured-main{grid-row:1/3;grid-column:1}.featured-right{grid-row:1/3;grid-column:2;display:grid;grid-template-rows:1fr 1fr;grid-gap:5px;gap:5px}.featured-right-bottom{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px}.featured-card{position:relative;display:block;overflow:hidden;background:#111;cursor:pointer}.featured-card,.featured-card:hover{text-decoration:none}.featured-card:hover .feat-thumb img{transform:scale(1.04)}.feat-thumb{width:100%;height:100%;position:absolute;inset:0}.feat-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.feat-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,#1a1a2e,#16213e)}.feat-category{position:absolute;bottom:44px;left:10px;background:rgba(0,0,0,.7);color:#fff;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.06em;z-index:2}.feat-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem .75rem .6rem;background:linear-gradient(transparent,rgba(0,0,0,.82));z-index:2}.feat-title{color:#fff;font-weight:700;font-size:.95rem;line-height:1.3;margin-bottom:.2rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-main .feat-title{font-size:1.25rem}.feat-meta{color:rgba(255,255,255,.7);font-size:.72rem;gap:.5rem}.feat-live-tag,.feat-meta{display:flex;align-items:center}.feat-live-tag{position:absolute;bottom:8px;right:8px;gap:4px;background:rgba(0,0,0,.7);color:#fff;font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:3px;z-index:2}.feat-live-dot{width:6px;height:6px;border-radius:50%;background:var(--live);flex-shrink:0;animation:livepulse 2s infinite}.feat-elapsed{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.75);color:#fff;font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:3px;z-index:2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.room-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;background:#111827;text-decoration:none;color:#fff;box-shadow:var(--shadow-md);transition:transform .18s,box-shadow .18s}.room-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.25);text-decoration:none}.room-card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.room-card-no-thumb{position:absolute;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e 55%,#0f3460);display:flex;align-items:center;justify-content:center;font-size:2.5rem}.room-card-grad-top{top:0;height:58%;background:linear-gradient(180deg,rgba(0,0,0,.78) 0,transparent)}.room-card-grad-bot,.room-card-grad-top{position:absolute;left:0;right:0;z-index:1}.room-card-grad-bot{bottom:0;height:55%;background:linear-gradient(0deg,rgba(0,0,0,.86) 0,transparent)}.room-card-overlay{position:absolute;inset:0;z-index:2;flex-direction:column;padding:.55rem .65rem}.room-card-overlay,.room-card-top{display:flex;justify-content:space-between}.room-card-top{align-items:flex-start;gap:.4rem}.room-card-title-wrap{max-width:68%}.room-card-title{font-size:.76rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.05em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 4px rgba(0,0,0,.55)}.room-card-category{display:inline-block;background:rgba(229,62,62,.8);color:#fff;font-size:.55rem;font-weight:700;padding:1px 6px;border-radius:2px;text-transform:uppercase;letter-spacing:.07em;margin-top:.25rem}.room-card-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:.28rem;flex-shrink:0}.room-card-avatar{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.85);object-fit:cover;display:block;box-shadow:0 1px 4px rgba(0,0,0,.45)}.room-card-avatar-placeholder{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:.7rem}.room-card-elapsed{background:rgba(0,0,0,.62);color:#fff;font-size:.6rem;font-weight:700;padding:2px 5px;border-radius:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.03em}.room-card-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:.4rem}.room-card-location{font-size:.68rem;color:rgba(255,255,255,.92);font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.6);flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-card-pip{position:relative;width:36%;flex-shrink:0;border-radius:4px;overflow:hidden;border:1.5px solid rgba(255,255,255,.55);aspect-ratio:16/9;box-shadow:0 2px 8px rgba(0,0,0,.55)}.room-card-pip img{width:100%;height:100%;object-fit:cover;display:block}.room-card-pip-live{position:absolute;bottom:3px;right:3px;font-size:.5rem;padding:1px 5px;border-radius:2px}.room-card-live,.room-card-pip-live{background:var(--live);color:#fff;font-weight:800;letter-spacing:.08em}.room-card-live{display:flex;align-items:center;gap:4px;font-size:.58rem;padding:3px 7px;border-radius:3px;white-space:nowrap;flex-shrink:0}.room-card-live-dot{width:5px;height:5px;border-radius:50%;background:#fff;flex-shrink:0;animation:livepulse 2s infinite}.live-badge{display:inline-flex;align-items:center;background:var(--live);color:#fff;font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:3px;letter-spacing:.06em}.category-tag{display:inline-block;background:rgba(229,62,62,.08);color:var(--accent);font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:20px;text-transform:capitalize}.map-split{display:flex;gap:0;height:calc(100vh - var(--nav-h) - 80px);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.map-split-list{order:1;width:380px;flex-shrink:0;overflow-y:auto;background:var(--bg-card);border-right:1px solid var(--border)}.map-split-map{order:2;min-width:0}.map-split-map .map-wrapper{height:100%;border-radius:0;border:none}.map-list-card{display:flex;gap:0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background .12s;cursor:pointer}.map-list-card:hover{background:#f8f8f8;text-decoration:none}.map-list-thumb{width:120px;height:90px;flex-shrink:0;overflow:hidden;background:#e5e5e5}.map-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}.map-list-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:linear-gradient(135deg,#dde1e7,#c8ccd4)}.map-list-info{padding:.6rem .75rem;flex:1 1;min-width:0}.map-list-title{font-size:.83rem;font-weight:600;line-height:1.3;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-list-loc{font-size:.72rem;color:var(--text-muted);margin-bottom:.3rem}.map-list-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.map-wrapper{height:560px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.leaflet-popup-content-wrapper{background:#ffffff!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:8px!important;box-shadow:var(--shadow-md)!important}.leaflet-popup-tip{background:#ffffff!important}.leaflet-popup-content{margin:10px 14px!important}.map-popup-title{font-weight:600;font-size:.88rem;margin-bottom:3px;color:var(--text)}.map-popup-loc{font-size:.75rem;color:var(--text-muted);margin-bottom:6px}.live-pin{background:var(--live);box-shadow:0 0 10px rgba(229,62,62,.7);animation:livepulse 2s infinite}.live-pin,.private-pin{width:14px;height:14px;border-radius:50%;border:2px solid #fff}.private-pin{background:#6366f1;box-shadow:0 0 8px rgba(99,102,241,.6)}@keyframes livepulse{0%,to{box-shadow:0 0 8px rgba(229,62,62,.7)}50%{box-shadow:0 0 18px rgba(229,62,62,1)}}.discover-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.discover-toolbar .filter-bar{flex:1 1;min-width:0}.discover-toolbar .view-controls{flex-shrink:0}.filter-bar{display:flex;align-items:center;gap:.3rem;overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-pill{display:inline-flex;align-items:center;gap:.22rem;padding:.28rem .7rem;border-radius:20px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;position:relative;transition:border-color .15s,background .15s,color .15s}.filter-pill:hover{border-color:var(--accent);color:var(--accent)}.filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.fsvg{display:block;flex-shrink:0}@keyframes fsvg-people-bounce{0%,to{transform:translateY(0)}35%{transform:translateY(-3px)}65%{transform:translateY(-1.5px)}}.filter-pill:hover .fsvg-people-main,.filter-pill[data-tap] .fsvg-people-main{animation:fsvg-people-bounce .5s ease}.filter-pill:hover .fsvg-people-secondary,.filter-pill[data-tap] .fsvg-people-secondary{animation:fsvg-people-bounce .5s ease .09s}@keyframes fsvg-pin-drop{0%{transform:translateY(-5px);opacity:.4}55%{transform:translateY(2px);opacity:1}75%{transform:translateY(-1px)}to{transform:translateY(0)}}.filter-pill:hover .fsvg-pin,.filter-pill[data-tap] .fsvg-pin{transform-box:fill-box;transform-origin:center bottom;animation:fsvg-pin-drop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes fsvg-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.filter-pill:hover .fsvg-at-inner,.filter-pill[data-tap] .fsvg-at-inner{transform-box:fill-box;transform-origin:center;animation:fsvg-spin .55s cubic-bezier(.4,0,.2,1)}@keyframes fsvg-heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.28)}30%{transform:scale(.92)}45%{transform:scale(1.18)}60%{transform:scale(1)}}.filter-pill:hover .fsvg-heart,.filter-pill[data-tap] .fsvg-heart{transform-box:fill-box;transform-origin:center;animation:fsvg-heartbeat .6s ease}@keyframes fsvg-doc-lift{0%,to{transform:translateY(0) rotate(0deg)}40%{transform:translateY(-2px) rotate(-3deg)}70%{transform:translateY(-1px) rotate(-1.5deg)}}@keyframes fsvg-line-slide{0%{transform:translateX(-4px);opacity:0}to{transform:translateX(0);opacity:1}}.filter-pill:hover .fsvg-doc-page,.filter-pill[data-tap] .fsvg-doc-page{transform-box:fill-box;transform-origin:center bottom;animation:fsvg-doc-lift .45s ease}.filter-pill:hover .fsvg-doc-lines line:first-child,.filter-pill[data-tap] .fsvg-doc-lines line:first-child{transform-box:fill-box;animation:fsvg-line-slide .3s ease 0s both}.filter-pill:hover .fsvg-doc-lines line:nth-child(2),.filter-pill[data-tap] .fsvg-doc-lines line:nth-child(2){transform-box:fill-box;animation:fsvg-line-slide .3s ease .06s both}.filter-pill:hover .fsvg-doc-lines line:nth-child(3),.filter-pill[data-tap] .fsvg-doc-lines line:nth-child(3){transform-box:fill-box;animation:fsvg-line-slide .3s ease .12s both}@keyframes fsvg-clock-tick{0%{transform:rotate(0deg)}55%{transform:rotate(40deg)}80%{transform:rotate(32deg)}to{transform:rotate(36deg)}}.filter-pill:hover .fsvg-clock-hands,.filter-pill[data-tap] .fsvg-clock-hands{transform-box:view-box;transform-origin:50% 50%;animation:fsvg-clock-tick .5s cubic-bezier(.34,1.4,.64,1) forwards}.sidebar-item:hover .fsvg-people-main{animation:fsvg-people-bounce .5s ease}.sidebar-item:hover .fsvg-people-secondary{animation:fsvg-people-bounce .5s ease .09s}.sidebar-item:hover .fsvg-pin{transform-box:fill-box;transform-origin:center bottom;animation:fsvg-pin-drop .45s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-compass-needle{transform-box:fill-box;transform-origin:center;animation:fsvg-spin .55s cubic-bezier(.4,0,.2,1)}.sidebar-item:hover .fsvg-globe-lines{transform-box:fill-box;transform-origin:center;animation:fsvg-spin 1.1s linear}.sidebar-item:hover .fsvg-bag{transform-box:fill-box;transform-origin:top center;animation:fsvg-bag-swing .5s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-music-note{transform-box:fill-box;transform-origin:center bottom;animation:fsvg-people-bounce .5s ease}.sidebar-item:hover .fsvg-film-line1{animation:fsvg-line-slide .3s ease 0s both}.sidebar-item:hover .fsvg-film-line2{animation:fsvg-line-slide .3s ease .07s both}.sidebar-item:hover .fsvg-gamepad{transform-box:fill-box;transform-origin:center;animation:fsvg-heartbeat .45s ease}.sidebar-item:hover .fsvg-trophy{transform-origin:center bottom}.sidebar-item:hover .fsvg-gradcap,.sidebar-item:hover .fsvg-trophy{transform-box:fill-box;animation:fsvg-people-bounce .45s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-gradcap{transform-origin:center}.sidebar-item:hover .fsvg-sparkles{transform-box:fill-box;transform-origin:center;animation:fsvg-spin .7s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-mic{transform-box:fill-box;transform-origin:center bottom;animation:fsvg-people-bounce .45s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-joystick{transform-box:fill-box;transform-origin:bottom center;animation:fsvg-bag-swing .5s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-star{transform-box:fill-box;transform-origin:center;animation:fsvg-spin .6s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-building{transform-box:fill-box;transform-origin:center bottom;animation:fsvg-people-bounce .45s ease}.sidebar-item:hover .fsvg-list-lines{transform-box:fill-box;transform-origin:left center;animation:fsvg-line-slide .35s ease both}.sidebar-item:hover .fsvg-bar-mid{transform-box:fill-box;transform-origin:center bottom;animation:fsvg-bar-grow .4s cubic-bezier(.34,1.56,.64,1)}.sidebar-item:hover .fsvg-live-dot{transform-box:fill-box;transform-origin:center;animation:fsvg-live-pulse .9s ease-out}.sidebar-item:hover .fsvg-live-ring1{transform-box:fill-box;transform-origin:center;animation:fsvg-live-expand .7s ease-out .1s both}.sidebar-item:hover .fsvg-live-ring2{transform-box:fill-box;transform-origin:center;animation:fsvg-live-expand .7s ease-out .22s both}.sidebar-item:hover .fsvg-login-arrow{transform-box:fill-box;transform-origin:left center;animation:fsvg-slide-right .4s cubic-bezier(.34,1.56,.64,1)}@keyframes fsvg-bag-swing{0%,to{transform:rotate(0deg)}30%{transform:rotate(-10deg)}65%{transform:rotate(7deg)}}@keyframes fsvg-bar-grow{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes fsvg-live-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.7)}70%{transform:scale(.85)}}@keyframes fsvg-live-expand{0%{transform:scale(.65);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes fsvg-slide-right{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}.filter-active-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.8;flex-shrink:0}@media (max-width:520px){.filter-label{display:none}.filter-pill{padding:.28rem .5rem}}.fmodal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900;animation:fmodal-fade .15s ease}@keyframes fmodal-fade{0%{opacity:0}to{opacity:1}}.fmodal-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-radius:20px 20px 0 0;max-height:80vh;overflow-y:auto;z-index:901;animation:fmodal-slide .25s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom,0)}@keyframes fmodal-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fmodal-scale{0%{opacity:0;transform:translate(-50%,-53%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (min-width:640px){.fmodal-sheet{bottom:auto;top:50%;left:50%;right:auto;width:min(480px,90vw);transform:translate(-50%,-50%);border-radius:16px;max-height:85vh;animation:fmodal-scale .2s cubic-bezier(.32,.72,0,1)}}.fmodal-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:.6rem auto 0}@media (min-width:640px){.fmodal-handle{display:none}}.fmodal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .5rem}.fmodal-title{font-size:1rem;font-weight:700}.fmodal-close{background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:.25rem;line-height:1}.fmodal-close:hover{color:var(--text);background:transparent}.fmodal-body{padding:.5rem 1.25rem}.fmodal-footer{padding:.75rem 1.25rem 1.25rem}.fmodal-done-btn{width:100%;padding:.65rem;background:var(--accent);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s}.fmodal-done-btn:hover{background:var(--accent-hover)}.fmodal-search-wrap{position:relative;margin-bottom:1rem}.fmodal-search-input{width:100%;padding:.6rem 1rem;border-radius:10px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text);font-size:.88rem;outline:none;transition:border-color .15s}.fmodal-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(229,62,62,.1)}.fmodal-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:10;overflow:hidden}.fmodal-search-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .85rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .1s}.fmodal-search-item:hover{background:var(--bg-hover,rgba(0,0,0,.04))}.fmodal-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}.fmodal-avatar img{width:100%;height:100%;object-fit:cover}.fmodal-icon-cell{font-size:1.1rem;flex-shrink:0}.fmodal-item-name{font-size:.84rem;font-weight:600;color:var(--text)}.fmodal-item-sub{font-size:.72rem;color:var(--text-muted)}.fmodal-pin-list{display:flex;flex-direction:column;gap:.3rem}.fmodal-pin-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;background:var(--bg);border-radius:10px;transition:opacity .15s}.fmodal-pin-hidden{opacity:.45}.fmodal-pin-info{flex:1 1;min-width:0}.fmodal-pin-actions{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.fmodal-eye-btn{background:transparent;border:none;cursor:pointer;padding:.2rem;font-size:.9rem;line-height:1;opacity:.4;transition:opacity .1s}.fmodal-eye-btn.on,.fmodal-eye-btn:hover{opacity:1;background:transparent}.fmodal-remove-btn{background:transparent;border:none;cursor:pointer;color:var(--text-muted);font-size:.8rem;padding:.2rem .35rem;line-height:1;transition:color .1s}.fmodal-remove-btn:hover{color:var(--accent);background:transparent}.fmodal-empty{color:var(--text-muted);font-size:.84rem;text-align:center;padding:1.5rem 0}.fmodal-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.fmodal-toggle-label{font-size:.9rem;font-weight:600;margin-bottom:.15rem}.fmodal-toggle-desc{font-size:.78rem;color:var(--text-muted)}.fmodal-toggle{flex-shrink:0;width:44px;height:24px;border-radius:12px;background:var(--border);border:none;cursor:pointer;position:relative;transition:background .2s;padding:0}.fmodal-toggle.on{background:var(--accent)}.fmodal-toggle:hover{background:var(--border)}.fmodal-toggle.on:hover{background:var(--accent-hover)}.fmodal-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.fmodal-toggle.on .fmodal-toggle-thumb{left:22px}.fmodal-segment{display:flex;gap:.35rem;background:var(--bg);border-radius:10px;padding:.25rem}.fmodal-segment-btn{flex:1 1;padding:.4rem .5rem;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.fmodal-segment-btn.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}.fmodal-segment-btn:hover{background:transparent}.fmodal-segment-btn.active:hover{background:var(--bg-card)}.fmodal-time-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-bottom:.75rem}.fmodal-time-btn{padding:.75rem;border-radius:10px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.84rem;font-weight:600;cursor:pointer;text-align:center;transition:all .15s}.fmodal-time-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-card)}.fmodal-time-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.fmodal-time-btn.active:hover{background:var(--accent-hover)}.fmodal-clear-link{display:block;width:100%;text-align:center;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:.25rem;text-decoration:underline}.fmodal-clear-link:hover{color:var(--accent);background:transparent}.pin-fav-btn{flex-shrink:0;background:transparent;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted);padding:.25rem;line-height:1;transition:color .15s,transform .1s;align-self:flex-start}.pin-fav-btn:hover{transform:scale(1.15)}.pin-fav-btn.active,.pin-fav-btn:hover{color:var(--accent)}.pin-fav-btn:disabled{opacity:.5;cursor:default;transform:none}.vtoggle{position:relative;width:60px;height:30px;border-radius:999px;border:none;cursor:pointer;padding:0;overflow:hidden;flex-shrink:0;background:#0f172a;transition:background .45s ease;outline:none}.vtoggle:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.vtoggle[data-view=map]{background:var(--accent)}.vtoggle-bg{position:absolute;inset:0;pointer-events:none}.vtoggle-dots{position:absolute;right:7px;top:50%;display:grid;grid-template-columns:1fr 1fr;grid-gap:2.5px;gap:2.5px;transform:translateY(-50%);opacity:1;transition:opacity .3s ease,transform .3s ease}.vtoggle[data-view=map] .vtoggle-dots{opacity:0;transform:translateY(calc(-50% + 7px))}.vtoggle-dot{width:3.5px;height:3.5px;border-radius:.75px;background:rgba(255,255,255,.35)}.vtoggle-pin{position:absolute;left:9px;top:50%;color:rgba(255,255,255,.75);opacity:0;transform:translateY(calc(-50% - 7px));transition:opacity .3s ease,transform .3s ease}.vtoggle[data-view=map] .vtoggle-pin{opacity:1;transform:translateY(-50%)}.vtoggle-thumb{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#334155;box-shadow:0 1px 5px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;transition:transform .42s cubic-bezier(.34,1.56,.64,1),background .42s ease}.vtoggle[data-view=map] .vtoggle-thumb{transform:translateX(30px);background:var(--accent-hover)}.vtoggle-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .35s ease,opacity .35s ease}.vtoggle-icon-grid{transform:rotate(0deg) scale(1);opacity:1}.vtoggle[data-view=map] .vtoggle-icon-grid{transform:rotate(180deg) scale(0);opacity:0}.vtoggle-icon-map{transform:rotate(-180deg) scale(0);opacity:0}.vtoggle[data-view=map] .vtoggle-icon-map{transform:rotate(0deg) scale(1);opacity:1}button{cursor:pointer;font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text);padding:.45rem 1rem;font-size:.875rem;transition:background .15s}button:hover{background:var(--bg-card-hover)}.btn-primary,button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover,button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-muted)}label span{color:var(--text);font-weight:500}input,select,textarea{padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text);font:inherit;font-size:.9rem;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:80px}.muted{color:var(--text-muted);font-size:.85rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.section{margin-bottom:2rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.form-group{display:flex;flex-direction:column;gap:1rem}.error-text{color:#c53030;font-size:.85rem}.dash-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--bg-card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.dash-table th{text-align:left;padding:.6rem .9rem;color:var(--text-muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#fafafa}.dash-table td,.dash-table th{border-bottom:1px solid var(--border)}.dash-table td{padding:.65rem .9rem;vertical-align:middle}.dash-table tr:last-child td{border-bottom:none}.dash-table tr:hover td{background:#fafafa}.call-layout{position:fixed;inset:0;z-index:100;display:flex;background:#0d0d0d;color:#f1f1f1}.call-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.call-header{height:48px;background:#111;border-bottom:1px solid #2a2a2a;display:flex;align-items:center;padding:0 1rem;gap:.75rem;flex-shrink:0;color:#f1f1f1}.call-grid{flex:1 1;display:grid;grid-gap:4px;gap:4px;padding:4px;overflow:hidden;background:#0d0d0d;align-content:start}.call-tile{position:relative;background:#1a1a1a;border-radius:8px;overflow:hidden;aspect-ratio:16/9}.call-tile video{width:100%;height:100%;object-fit:cover;display:block}.call-tile-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1f1f2e;color:#888}.call-tile-name{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.65);color:#f1f1f1;font-size:.72rem;padding:2px 8px;border-radius:4px;pointer-events:none}.call-tile-mute{position:absolute;top:8px;right:8px;background:rgba(239,68,68,.85);border:none;color:#fff;font-size:.7rem;padding:2px 9px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s}.call-tile:hover .call-tile-mute{opacity:1}.call-controls{height:64px;background:#111;border-top:1px solid #2a2a2a;display:flex;align-items:center;padding:0 1.25rem;gap:.5rem;flex-shrink:0}.call-ctrl-btn{background:#2a2a2a;border:1px solid #3a3a3a;color:#f1f1f1;border-radius:8px;padding:.4rem 1rem;font-size:.85rem;cursor:pointer;transition:background .15s}.call-ctrl-btn:hover{background:#383838}.call-ctrl-btn.muted{background:#2d1515;border-color:rgba(239,68,68,.5);color:#f87171}.call-ctrl-btn.danger{background:#e53e3e;border-color:#e53e3e;color:#fff;font-weight:600}.call-ctrl-btn.danger:hover{background:#c53030}.call-ctrl-btn.active-blue{background:#1e3a5f;border-color:#3b82f6;color:#93c5fd}.call-ctrl-btn.icon-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.3rem .7rem;min-width:52px}.ctrl-icon{font-size:1.1rem;line-height:1}.ctrl-label{font-size:.62rem;color:inherit;opacity:.8}.call-live-dot{width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 8px rgba(239,68,68,.8);flex-shrink:0}.call-header-title{font-weight:600;font-size:.9rem}.call-header-count{font-size:.78rem;color:#666}.call-layout-btns{display:flex;gap:2px}.call-layout-btn{background:#222;border:1px solid #333;color:#888;border-radius:6px;padding:.25rem .55rem;font-size:1rem;cursor:pointer;line-height:1;transition:all .15s}.call-layout-btn:hover{background:#2e2e2e;color:#ccc}.call-layout-btn.active{background:#1e3a5f;border-color:#3b82f6;color:#93c5fd}.call-tile.speaking{outline:2px solid #22c55e;outline-offset:-2px}.call-thumbnail.speaking{outline:2px solid #22c55e;outline-offset:-1px}.call-tile-pin-hint{position:absolute;top:8px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#ccc;font-size:.62rem;padding:2px 8px;border-radius:10px;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none}.call-tile:hover .call-tile-pin-hint{opacity:1}.call-screen-tile{border:1px solid #3b82f6}.call-spotlight-layout{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.call-spotlight-main{flex:1 1;padding:4px;overflow:hidden;position:relative}.call-thumbnail-strip{height:110px;flex-shrink:0;display:flex;gap:4px;padding:4px;overflow-x:auto;background:#0a0a0a;border-top:1px solid #2a2a2a}.call-thumbnail-strip::-webkit-scrollbar{height:4px}.call-thumbnail-strip::-webkit-scrollbar-track{background:#111}.call-thumbnail-strip::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.call-thumbnail{height:100%;aspect-ratio:16/9;flex-shrink:0;position:relative;background:#1a1a1a;border-radius:6px;overflow:hidden;cursor:pointer;border:1px solid #2a2a2a;transition:border-color .15s}.call-thumbnail:hover{border-color:#555}.call-thumbnail.pinned{border-color:#3b82f6}.call-thumbnail video{width:100%;height:100%;object-fit:cover}.call-viewer-banner{display:flex;align-items:center;justify-content:space-between;padding:.45rem 1rem;background:rgba(59,130,246,.08);border-bottom:1px solid #1e3a5f;font-size:.8rem;color:#93c5fd;flex-shrink:0}.call-signin-btn{background:#3b82f6;color:#fff;padding:.2rem .75rem;border-radius:6px;font-size:.78rem;font-weight:600;text-decoration:none}.call-signin-btn:hover{background:#2563eb;text-decoration:none}.call-reactions-overlay{position:fixed;bottom:80px;left:0;right:300px;height:200px;pointer-events:none;z-index:200;overflow:hidden}@keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:1}to{opacity:0;transform:translateY(-160px) scale(1.3)}}.call-reaction-float{position:absolute;bottom:0;font-size:1.8rem;line-height:1;animation:floatUp 3s ease-out forwards;pointer-events:none}.call-reactions-bar{display:flex;gap:2px;align-items:center}.call-reaction-btn{background:none;border:none;font-size:1.15rem;cursor:pointer;padding:.2rem .25rem;border-radius:6px;line-height:1;opacity:.7;transition:opacity .15s,background .15s}.call-reaction-btn:hover{opacity:1;background:#2a2a2a}.call-chat-tabs{display:flex;border-bottom:1px solid #2a2a2a;flex-shrink:0}.call-chat-tab{flex:1 1;background:none;color:#666;padding:.55rem .5rem;font-size:.8rem;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.call-chat-tab:hover{color:#ccc}.call-chat-tab.active{color:#f1f1f1;border-bottom-color:#3b82f6}.call-participants-list{flex:1 1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:2px}.call-participant-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:6px}.call-participant-row:hover{background:#1a1a1a}.call-participant-dot{width:8px;height:8px;border-radius:50%;background:#333;flex-shrink:0;transition:background .2s}.call-participant-dot.speaking{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.6)}.call-participant-name{flex:1 1;font-size:.82rem;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-participant-mute{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:.65rem;padding:1px 7px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s;flex-shrink:0}.call-participant-row:hover .call-participant-mute{opacity:1}.call-chat{width:300px;flex-direction:column;background:#111;border-left:1px solid #2a2a2a}.call-chat,.call-chat-header{flex-shrink:0;display:flex;color:#f1f1f1}.call-chat-header{height:48px;border-bottom:1px solid #2a2a2a;align-items:center;padding:0 1rem;font-size:.875rem;font-weight:600}.call-chat-messages{flex:1 1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.6rem}.call-chat-msg{display:flex;flex-direction:column;gap:2px}.call-chat-sender{font-size:.72rem;font-weight:600;color:#60a5fa}.call-chat-text{font-size:.83rem;line-height:1.4;word-break:break-word;color:#e5e5e5}.call-chat-input{display:flex;border-top:1px solid #2a2a2a;padding:.5rem;gap:.4rem;flex-shrink:0}.call-chat-input input{flex:1 1;font-size:.85rem;padding:.4rem .6rem;background:#1e1e1e;border-color:#3a3a3a;color:#f1f1f1;border-radius:6px;width:auto}.call-chat-input button{padding:.4rem .75rem;font-size:.8rem;flex-shrink:0;background:#2a2a2a;border-color:#3a3a3a;color:#f1f1f1}.map-split-map{position:relative;flex:1 1}.map-layer-controls{position:absolute;top:10px;right:10px;z-index:1000;display:flex;gap:3px;background:#fff;border-radius:6px;padding:3px;box-shadow:0 2px 8px rgba(0,0,0,.18)}.map-layer-btn{border:none;background:transparent;padding:4px 10px;font-size:.72rem;font-weight:600;border-radius:4px;cursor:pointer;color:#555;white-space:nowrap}.map-layer-btn:hover{background:#f3f4f6}.map-layer-btn.active{background:var(--accent);color:#fff}.map-cluster-icon{border-radius:50%;background:#E53E3E;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.32);line-height:1}.map-loading-badge{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:1001;background:rgba(0,0,0,.72);color:#fff;font-size:.72rem;font-weight:600;padding:4px 14px;border-radius:12px;pointer-events:none;white-space:nowrap;animation:map-badge-in .18s ease}@keyframes map-badge-in{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.map-drop-pin-btn{position:absolute;bottom:20px;right:12px;z-index:1000;background:var(--accent);color:#fff;border:none;border-radius:24px;padding:.55rem 1.1rem;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(229,62,62,.4);transition:background .15s,transform .1s}.map-drop-pin-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.map-drop-pin-btn:disabled{opacity:.6;cursor:default;transform:none}.map-pin-marker{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.28);cursor:pointer;transition:transform .15s}.map-pin-marker:hover{transform:scale(1.1)}.map-pin-marker--active{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--accent),0 4px 16px rgba(0,0,0,.35);animation:marker-pulse 1.6s ease-in-out infinite;transform:scale(1)}@keyframes marker-pulse{0%,to{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--accent),0 4px 16px rgba(0,0,0,.35)}50%{box-shadow:0 0 0 3px #fff,0 0 0 10px rgba(229,62,62,.4),0 4px 16px rgba(0,0,0,.35)}}.map-pin-popup{min-width:150px;max-width:220px}.map-pin-popup-meta{font-size:.7rem;color:var(--text-muted);margin-top:4px}.pin-list-card{display:flex;gap:.6rem;padding:.75rem;border-bottom:1px solid var(--border);align-items:flex-start;cursor:default}.pin-list-thumb{width:64px;height:64px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#f0f0f0}.pin-list-thumb img{width:100%;height:100%;object-fit:cover}.pin-list-thumb-video{position:relative}.pin-list-play{position:absolute;inset:0;color:#fff;background:rgba(0,0,0,.35);z-index:1;pointer-events:none}.pin-list-play,.pin-list-type-icon{display:flex;align-items:center;justify-content:center;font-size:1.2rem}.pin-list-type-icon{width:40px;height:40px;border-radius:8px;background:#f0f0f0;flex-shrink:0}.pin-list-info{flex:1 1;min-width:0}.pin-list-type{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.pin-list-content{font-size:.8rem;color:var(--text);line-height:1.4;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pin-list-meta{display:flex;gap:.35rem;font-size:.68rem;color:var(--text-muted);flex-wrap:wrap}.upin-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);align-items:center;justify-content:center;z-index:2000}.upin-overlay,.upin-sheet{display:flex;padding:1rem;box-sizing:border-box}.upin-sheet{background:var(--bg-card);border-radius:16px;width:100%;max-width:520px;max-height:min(90dvh,90vh);overflow-y:auto;box-shadow:0 12px 48px rgba(0,0,0,.28);flex-direction:column;gap:.75rem}.upin-hdr{justify-content:space-between}.upin-city{font-size:.8rem;color:var(--text-muted);font-weight:500}.upin-expiry-btn{background:transparent;border:1px solid var(--border);border-radius:20px;padding:.25rem .65rem;font-size:.75rem;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.upin-expiry-btn:hover{border-color:var(--accent);color:var(--accent)}.upin-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted);padding:2px 6px;border-radius:4px;line-height:1;margin-left:.25rem}.upin-close:hover{background:#f0f0f0;color:var(--text)}.upin-composer{border:1px solid var(--border);border-radius:14px;overflow:visible;display:flex;flex-direction:column;background:var(--bg-card)}.upin-textarea{width:100%;padding:.85rem 1rem .5rem;border:none;outline:none;font-size:.92rem;font-family:inherit;resize:none;background:transparent;color:var(--text);line-height:1.55;min-height:72px;max-height:200px;overflow-y:auto;box-sizing:border-box}.upin-textarea::placeholder{color:var(--text-muted)}.upin-media-preview{position:relative;margin:0 .75rem .5rem;border-radius:10px;overflow:hidden;background:#000}.upin-media-preview img,.upin-media-preview video{width:100%;max-height:240px;object-fit:cover;display:block;border-radius:10px}.upin-media-remove{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.65);color:#fff;border:none;border-radius:50%;width:26px;height:26px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center}.upin-record-bar{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:#f9fafb;border-top:1px solid var(--border)}.upin-record-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:pulse-rec 1.2s ease-in-out infinite;flex-shrink:0}.upin-record-timer{font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.upin-record-action{padding:.25rem .75rem;border:none;border-radius:20px;background:#ef4444;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer}.upin-record-action.recording{background:#374151}.upin-record-cancel{background:none;border:1px solid var(--border);border-radius:6px;padding:.2rem .5rem;font-size:.82rem;color:var(--text-muted);cursor:pointer}@keyframes pulse-rec{0%,to{opacity:1}50%{opacity:.4}}.upin-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem .65rem;border-top:1px solid var(--border);gap:.4rem}.upin-tools-left,.upin-tools-right{display:flex;align-items:center;gap:.25rem}.upin-tool-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:5px 7px;border-radius:8px;color:var(--text-muted);transition:background .12s;line-height:1}.upin-tool-btn:hover{background:#f0f0f0}.upin-tool-btn.active{background:rgba(229,62,62,.08);color:var(--accent)}.upin-vis-btn{display:flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border:1px solid var(--border);border-radius:20px;background:transparent;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.upin-vis-btn:hover{border-color:var(--accent);color:var(--accent)}.upin-dropdown-menu{position:absolute;top:calc(100% + 4px);bottom:auto;left:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.12);z-index:100;min-width:160px;overflow:hidden}.upin-dropdown-item{display:block;width:100%;text-align:left;padding:.5rem .85rem;background:none;border:none;font-size:.83rem;color:var(--text);cursor:pointer;transition:background .1s}.upin-dropdown-item:hover{background:#f5f5f5}.upin-dropdown-item.active{font-weight:700;color:var(--accent)}.upin-avatar-btn{width:30px;height:30px;border-radius:50%;border:2px solid var(--border);background:#e5e7eb;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s;padding:0}.upin-avatar-btn img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.upin-avatar-btn.anon{border-color:#6b7280;background:#374151}.upin-avatar-init{font-size:.72rem;font-weight:700;color:var(--text-muted)}.upin-anon-icon{font-size:.95rem;line-height:1}.upin-post-btn{padding:.38rem 1.1rem;border:none;border-radius:20px;background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap}.upin-post-btn:hover:not(:disabled){background:var(--accent-hover)}.upin-post-btn:disabled{opacity:.55;cursor:default}.upin-vis-extra{padding:.5rem .75rem .6rem;border-top:1px solid var(--border)}.upin-select{width:100%;padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;font-size:.82rem;background:#fafafa;color:var(--text);cursor:pointer}.upin-at-prefix{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;font-size:.85rem}.upin-handle-input{width:100%;padding:.35rem .6rem .35rem 1.5rem;border:1px solid var(--border);border-radius:6px;font-size:.82rem;background:#fafafa;color:var(--text);box-sizing:border-box}.upin-geofence{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem .6rem;border-top:1px solid var(--border)}.upin-geofence-label{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.upin-geofence-range{flex:1 1;accent-color:var(--accent)}.upin-geofence-val{font-size:.78rem;color:var(--text);font-weight:600;white-space:nowrap;min-width:3rem}.upin-error{font-size:.82rem;color:#dc2626;background:rgba(220,38,38,.08);padding:.5rem .75rem;border-radius:8px;margin:0}.upin-muted{font-size:.78rem;color:var(--text-muted);margin:0}.upin-tab-bar{gap:.2rem;border-bottom:1px solid var(--border);padding-bottom:.5rem;margin-bottom:-.25rem}.upin-tab,.upin-tab-bar{display:flex;align-items:center}.upin-tab{gap:.3rem;padding:.38rem .75rem;border:none;background:none;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:background .12s,color .12s}.upin-tab:hover{background:#f0f0f0;color:var(--text)}.upin-tab.active{color:var(--accent);background:rgba(229,62,62,.07)}.upin-tab-close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .12s}.upin-tab-close:hover{background:#f0f0f0;color:var(--text)}.upin-hdr{gap:.4rem}.upin-hdr,.upin-hdr-right{display:flex;align-items:center;flex-wrap:wrap}.upin-hdr-right{gap:.3rem;margin-left:auto}.upin-avatar-row{display:flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;padding:2px 6px 2px 2px;border-radius:20px;transition:background .12s;flex-shrink:0}.upin-avatar-row:hover{background:#f0f0f0}.upin-avatar-row.anon .upin-avatar-wrap{background:#374151;border-color:#6b7280}.upin-avatar-wrap{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);background:#e5e7eb;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;color:var(--text-muted)}.upin-avatar-wrap img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.upin-posted-as{font-size:.74rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.upin-lock-btn{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:6px;padding:4px 5px;cursor:pointer;color:var(--text-muted);transition:background .12s,border-color .12s,color .12s}.upin-lock-btn:hover{background:#f0f0f0}.upin-lock-btn.active{background:rgba(229,62,62,.07);border-color:var(--accent);color:var(--accent)}.upin-poll,.upin-poll-options{display:flex;flex-direction:column}.upin-poll-options{padding:0 .75rem .65rem;gap:.35rem}.upin-poll-option-row{display:flex;align-items:center;gap:.35rem}.upin-poll-option-input{flex:1 1;padding:.38rem .65rem;border:1px solid var(--border);border-radius:8px;font-size:.85rem;background:#fafafa;color:var(--text);box-sizing:border-box;outline:none;font-family:inherit;transition:border-color .15s}.upin-poll-option-input:focus{border-color:var(--accent)}.upin-poll-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px;border-radius:4px;transition:color .12s,background .12s}.upin-poll-remove:hover{background:#fee2e2;color:#dc2626}.upin-poll-add-btn{align-self:flex-start;background:none;border:1px dashed var(--border);border-radius:8px;padding:.28rem .65rem;font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s;font-family:inherit}.upin-poll-add-btn:hover{background:rgba(229,62,62,.05);border-color:var(--accent);color:var(--accent)}.upin-golive{gap:.75rem}.upin-gl-label,.upin-golive{display:flex;flex-direction:column}.upin-gl-label{gap:.25rem;font-size:.82rem;font-weight:600;color:var(--text)}.upin-gl-input,.upin-gl-select{padding:.4rem .65rem;border:1px solid var(--border);border-radius:8px;font-size:.85rem;background:#fafafa;color:var(--text);box-sizing:border-box;width:100%;outline:none;font-family:inherit;transition:border-color .15s}.upin-gl-input:focus,.upin-gl-select:focus{border-color:var(--accent)}.upin-gl-textarea{padding:.4rem .65rem;border:1px solid var(--border);border-radius:8px;font-size:.85rem;background:#fafafa;color:var(--text);box-sizing:border-box;width:100%;outline:none;resize:none;font-family:inherit;transition:border-color .15s}.upin-gl-textarea:focus{border-color:var(--accent)}.upin-gl-location{font-size:.82rem;color:var(--text-muted)}.upin-gl-thumb-btn{padding:.35rem .8rem;border:1px solid var(--border);border-radius:8px;background:#fafafa;font-size:.8rem;cursor:pointer;color:var(--text-muted);font-family:inherit;transition:background .12s}.upin-gl-thumb-btn:hover:not(:disabled){background:#f0f0f0;color:var(--text)}.upin-gl-thumb-btn:disabled{opacity:.5;cursor:default}.upin-golive-btn{width:100%;padding:.65rem;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.upin-golive-btn:hover:not(:disabled){background:var(--accent-hover)}.upin-golive-btn:disabled{opacity:.55;cursor:default}.poll-block{display:flex;flex-direction:column;gap:.6rem}.poll-question{font-size:1rem;font-weight:600;color:var(--text);margin:0}.poll-options{display:flex;flex-direction:column;gap:.4rem}.poll-option{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:10px;background:#fafafa;cursor:pointer;font-size:.88rem;font-family:inherit;text-align:left;overflow:hidden;transition:border-color .15s}.poll-option:hover:not(.voted){border-color:var(--accent);background:rgba(229,62,62,.05)}.poll-option.chosen{border-color:var(--accent);background:rgba(229,62,62,.07);font-weight:700}.poll-option.voted{cursor:default}.poll-bar{position:absolute;inset:0;background:rgba(229,62,62,.12);transition:width .4s ease;z-index:0;border-radius:8px}.poll-opt-label{position:relative;z-index:1;flex:1 1}.poll-opt-pct{position:relative;z-index:1;font-size:.8rem;font-weight:700;color:var(--accent);white-space:nowrap}.poll-total{font-size:.75rem;color:var(--text-muted);margin:0}.upin-tool-btn{transition:background .12s,color .12s}.upin-tool-btn .msvg{transition:transform .15s,opacity .15s}.upin-tool-btn:hover .msvg{opacity:.85;transform:scale(1.1)}.upin-tool-btn.active .msvg{opacity:1}.upin-tab .msvg{transition:opacity .12s}.upin-tab:hover .msvg{opacity:.8}.upin-tab.active .msvg{opacity:1}.settings-stack{display:flex;flex-direction:column;gap:1.5rem;max-width:560px}.settings-card{padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.settings-card-title{font-size:.95rem;font-weight:700;margin-bottom:1rem}.settings-avatar-row{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem}.settings-avatar{width:76px;height:76px;border-radius:50%;overflow:hidden;border:2px solid var(--border);flex-shrink:0;background:var(--border);display:flex;align-items:center;justify-content:center}.settings-field-group{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.settings-label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-muted)}.settings-label input{margin-top:0}.settings-label-text{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.settings-field-hint{font-size:.72rem;color:var(--text-muted)}.settings-handle-prefix{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;font-size:.9rem}.settings-checkbox-row{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.settings-logo-preview{width:60px;height:60px;border-radius:8px;border:1px solid var(--border);background:#fff;overflow:hidden;padding:4px;flex-shrink:0}.settings-radius-row{display:flex;align-items:center;gap:1rem}.settings-radius-val{font-size:.9rem;font-weight:600;min-width:4rem;color:var(--text)}@media (max-width:900px){.featured-grid{grid-template-columns:1fr;grid-template-rows:280px;height:auto}.featured-main{grid-row:1}.featured-right{display:none}.site-main:has(.discover-wrap){padding:0}.discover-wrap{height:calc(100dvh - var(--nav-h));display:flex;flex-direction:column;overflow:hidden}.discover-toolbar{flex:none;padding:.5rem 1rem;margin-bottom:0;align-items:center}.map-split{flex:1 1;min-height:0;flex-direction:column;height:auto;overflow:hidden;margin:0;width:100%;border:none;border-radius:0;box-shadow:none}.map-split-map{order:0;flex:none;height:33vh;transition:height .2s ease}.map-split-map.map-shrunk{height:26vh}.map-split-map .map-wrapper{height:100%!important}.map-split-list{order:0;flex:1 1;min-height:0;overflow-y:auto;width:100%;max-height:none;border-right:none;border-top:1px solid var(--border);padding:0}.feed-card{border-radius:0;border-left:none;border-right:none;margin:0}.feed-media,.feed-video{border-radius:0;width:100%}.feed-room-img,.feed-room-thumb{border-radius:0}.feed-room-card{border-radius:0;border-left:none;border-right:none}}@media (max-width:600px){.upin-overlay{padding:.5rem}.upin-sheet{max-width:100%;width:100%;max-height:min(88dvh,88vh);padding:.75rem;gap:.5rem;box-sizing:border-box}.upin-textarea{min-height:60px;font-size:.88rem}.upin-posted-as,.upin-vis-label{display:none}.upin-city{font-size:.72rem;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upin-hdr-right{gap:.2rem}.upin-tab{padding:.3rem .55rem;font-size:.8rem}.upin-toolbar{flex-wrap:wrap;gap:0 .25rem;padding:.4rem .6rem .55rem}.upin-tools-left{flex:1 1;gap:.1rem}.upin-tools-right{width:100%;justify-content:flex-end;gap:.3rem;padding-top:.35rem;border-top:1px solid var(--border);margin-top:.1rem}.upin-post-btn{flex:1 1;text-align:center}.upin-vis-btn{padding:.28rem .5rem}.upin-tool-btn{padding:4px 5px}}@media (max-width:768px){.site-sidebar{display:none}.app-body{display:block}.call-chat{display:none}}@media (max-width:640px){.room-grid{grid-template-columns:1fr 1fr;gap:.75rem}.site-main{padding:1rem}.page-narrow{padding:1rem 0}}@media (max-width:380px){.room-grid{grid-template-columns:1fr}}.pdetail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:pdetail-fade .15s ease}@keyframes pdetail-fade{0%{opacity:0}to{opacity:1}}@keyframes pdetail-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pdetail-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pdetail-modal{position:relative;background:var(--bg-card);border-radius:16px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.25);animation:pdetail-scale .2s cubic-bezier(.32,.72,0,1);overflow:hidden}.pdetail-header-btns{position:absolute;top:.6rem;right:.75rem;z-index:1;display:flex;align-items:center;gap:.4rem}.pdetail-close{background:rgba(0,0,0,.12);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;color:var(--text);cursor:pointer;padding:0;transition:background .15s}.pdetail-close:hover{background:rgba(0,0,0,.22)}.pdetail-delete-btn{background:rgba(229,62,62,.12);border:none;border-radius:6px;padding:0 .6rem;height:28px;font-size:.75rem;font-weight:600;color:var(--accent);cursor:pointer;transition:background .15s}.pdetail-delete-btn:hover{background:rgba(229,62,62,.22)}.pdetail-delete-btn:disabled{opacity:.5;cursor:default}.pdetail-content{padding:1rem 1.1rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.pdetail-media-wrap{border-radius:10px;overflow:hidden;margin-bottom:.75rem;max-height:260px;background:#000;display:flex;align-items:center;justify-content:center}.pdetail-img{object-fit:contain}.pdetail-img,.pdetail-video{width:100%;max-height:260px;display:block}.pdetail-audio{width:100%;height:36px;margin-bottom:.5rem}.pdetail-text{font-size:.92rem;line-height:1.55;color:var(--text);margin-bottom:.5rem;white-space:pre-wrap}.pdetail-meta{display:flex;gap:.35rem;flex-wrap:wrap;font-size:.75rem;color:var(--text-muted)}.pdetail-meta-link{color:inherit;text-decoration:none}.pdetail-meta-link:hover{text-decoration:underline}.pdetail-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.65rem}.rctn-row{display:flex;flex-wrap:wrap;gap:.3rem}.rctn-add-wrap{position:relative}.rctn-add-btn{padding:.25rem .65rem;border:1px solid var(--border);border-radius:20px;background:transparent;font-size:.78rem;color:var(--text-muted);cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;gap:.25rem}.rctn-add-btn:hover{background:var(--bg-card-hover);border-color:#aaa}.rctn{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .55rem;border:1.5px solid var(--border);border-radius:20px;background:transparent;font-size:.85rem;cursor:pointer;transition:all .12s}.rctn span{font-size:.72rem;color:var(--text-muted);font-weight:600}.rctn.me,.rctn:hover{border-color:#3b82f6;background:#eff6ff}.rctn.me span{color:#3b82f6}.pdetail-comments{flex:1 1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.pdetail-comments-hd{padding:.55rem 1.1rem .35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;background:var(--bg-card);z-index:1}.pdetail-comments-list{padding:.25rem 0;flex:1 1}.pdetail-no-comments{padding:1rem 1.1rem;font-size:.84rem;color:var(--text-muted)}.cmt{display:flex;flex-direction:column;padding:.55rem 1.1rem}.cmt-reply{padding:.4rem 0}.cmt-main{display:flex;gap:.5rem;align-items:flex-start}.cmt-replies{margin-left:calc(28px + .5rem);padding-left:.65rem;border-left:2px solid var(--border);margin-top:.25rem}.comment-avatar{flex-shrink:0}.comment-avatar-init{background:#e8e8e8;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-muted)}.cmt-body{flex:1 1;min-width:0}.cmt-header{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.15rem}.cmt-handle{font-size:.8rem;font-weight:700;color:var(--text)}.cmt-time{font-size:.7rem}.cmt-delete,.cmt-time{color:var(--text-muted)}.cmt-delete{margin-left:auto;background:none;border:none;font-size:.9rem;cursor:pointer;padding:0 .2rem;line-height:1;opacity:0;transition:opacity .15s,color .15s}.cmt:hover .cmt-delete{opacity:1}.cmt-delete:hover{color:var(--accent);background:transparent}.cmt-text{font-size:.85rem;line-height:1.45;color:var(--text);word-break:break-word;margin-bottom:.3rem}.comment-mention{color:#3b82f6;font-weight:600}.cmt-actions{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.cmt-action-btn{background:none;border:none;font-size:.75rem;color:var(--text-muted);cursor:pointer;padding:.12rem .3rem;border-radius:4px;line-height:1;transition:background .1s,color .1s}.cmt-action-btn:hover{background:#f0f0f0;color:var(--text)}.cmt-emoji-wrap{position:relative;display:inline-block}.cmt-emoji-anchor{position:absolute;bottom:calc(100% + 4px);left:0;z-index:200}.pdetail-emoji-anchor{position:absolute;top:calc(100% + 4px);left:0;z-index:200}.pdetail-composer{border-top:1px solid var(--border);padding:.6rem .85rem;flex-shrink:0;background:var(--bg-card)}.composer-reply-to{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-muted);margin-bottom:.4rem;padding:.25rem .5rem;background:#f5f5f5;border-radius:6px}.composer-reply-cancel{margin-left:auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:0;line-height:1}.composer-reply-cancel:hover{color:var(--accent);background:transparent}.composer-row{display:flex;align-items:flex-end;gap:.5rem;position:relative}.composer-input{flex:1 1;resize:none;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:20px;font-size:.85rem;line-height:1.45;background:#f7f7f7;color:var(--text);transition:border-color .15s,background .15s;width:auto;min-height:unset}.composer-input:focus{border-color:var(--accent);background:#fff;outline:none}.composer-send{flex-shrink:0;padding:.45rem .85rem;border:none;border-radius:20px;background:#3b82f6;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s}.composer-send:hover:not(:disabled){background:#2563eb}.composer-send:disabled{opacity:.5;cursor:default}.mention-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.12);z-index:10;min-width:180px;overflow:hidden}.mention-option{display:flex;align-items:center;gap:.4rem;width:100%;padding:.45rem .75rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .1s}.mention-option:hover{background:#f5f5f5}.mention-handle{font-size:.82rem;font-weight:600;color:var(--text)}.mention-name{font-size:.75rem;color:var(--text-muted)}.epicker{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);width:242px;overflow:hidden}.epicker-cats{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:.3rem .35rem 0;gap:2px;border-bottom:1px solid var(--border)}.epicker-cats::-webkit-scrollbar{height:3px}.epicker-cats::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.epicker-cat{flex-shrink:0;padding:.28rem .38rem;border:1.5px solid transparent;border-radius:7px;background:transparent;font-size:1rem;line-height:1;cursor:pointer;transition:background .1s,border-color .1s}.epicker-cat:hover{background:#f0f0f0}.epicker-cat.active{border-color:#3b82f6;background:#eff6ff}.epicker-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;padding:.35rem;max-height:178px;overflow-y:auto}.epicker-grid::-webkit-scrollbar{width:4px}.epicker-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.epicker-emoji{padding:.22rem;border:none;background:transparent;font-size:1.1rem;line-height:1;cursor:pointer;border-radius:5px;text-align:center;transition:background .08s}.epicker-emoji:hover{background:#f0f0f0}.pin-list-card{cursor:pointer;transition:background .12s}.pin-list-card:hover{background:#fafafa}.feed-card{background:var(--card,var(--bg-card));border-bottom:1px solid var(--border);cursor:pointer;display:block;text-decoration:none;color:inherit;transition:background .1s}.feed-card:hover{background:rgba(0,0,0,.015)}.feed-card-hd{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem .5rem}.feed-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;display:block}.feed-avatar-init{background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.feed-card-hd-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.feed-author{font-size:.84rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-link{color:inherit;text-decoration:none}.feed-link:hover{text-decoration:underline}.feed-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-meta,.feed-type-badge{font-size:.72rem;color:var(--text-muted)}.feed-type-badge{flex-shrink:0}.feed-media{max-height:340px;object-fit:cover}.feed-media,.feed-video{display:block;width:100%;cursor:default}.feed-video{max-height:280px;background:#000}.feed-audio-wrap{padding:.4rem .85rem;cursor:default}.feed-audio{width:100%;height:36px}.mcarousel{position:relative;width:100%;overflow:hidden;background:#000}.mcarousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mcarousel-track::-webkit-scrollbar{display:none}.mcarousel-slide{flex:0 0 100%;scroll-snap-align:start;width:100%}.mcarousel-media{display:block;width:100%;max-height:380px;object-fit:cover}.mcarousel-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:5px;pointer-events:none}.mcarousel-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);border:none;cursor:pointer;pointer-events:all;padding:0;transition:background .2s,width .2s;flex-shrink:0}.mcarousel-dot.active{background:#fff;width:18px;border-radius:3px}.mcarousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.42);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2;opacity:.85}.mcarousel-arrow:hover{opacity:1}.mcarousel-arrow.left{left:8px}.mcarousel-arrow.right{right:8px}.mcarousel-counter{position:absolute;top:8px;right:10px;background:rgba(0,0,0,.45);color:#fff;font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:10px;pointer-events:none}.upin-media-grid{display:flex;flex-wrap:wrap;gap:6px;margin:0 .75rem .5rem}.upin-media-thumb{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;background:#111;flex-shrink:0}.upin-media-thumb-el{width:100%;height:100%;object-fit:cover;display:block}.upin-media-thumb .upin-media-remove{position:absolute;top:3px;right:3px;width:20px;height:20px;font-size:.65rem;padding:0;border-radius:50%;background:rgba(0,0,0,.6);border:none;color:#fff}.upin-media-add-more,.upin-media-thumb .upin-media-remove{cursor:pointer;display:flex;align-items:center;justify-content:center}.upin-media-add-more{width:80px;height:80px;border-radius:8px;border:2px dashed var(--border);background:none;font-size:1.6rem;color:var(--text-muted);flex-shrink:0}.upin-media-add-more:hover{border-color:var(--accent);color:var(--accent)}.feed-text{padding:.35rem .85rem .55rem;font-size:.88rem;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-word}.feed-poll{padding:.4rem .85rem .3rem}.feed-poll-q{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.feed-poll-opts{display:flex;flex-direction:column;gap:.3rem}.feed-poll-opt{background:rgba(0,0,0,.04);border:1px solid var(--border);border-radius:6px;padding:.38rem .7rem;font-size:.82rem;color:var(--text)}.feed-poll-hint{font-size:.7rem;color:var(--text-muted);margin-top:.35rem;text-align:right}.feed-sealed{padding:.65rem .85rem;font-size:.84rem;color:var(--text-muted);font-style:italic}.feed-actions{display:flex;align-items:center;padding:.45rem .85rem .6rem;border-top:1px solid var(--border);margin-top:.4rem}.feed-action-label{font-size:.78rem;color:var(--text-muted)}.feed-fav-btn{margin-left:auto;background:none;border:none;cursor:pointer;font-size:1.05rem;color:var(--text-muted);padding:.15rem .35rem;border-radius:5px;transition:color .12s;line-height:1}.feed-fav-btn:hover{color:var(--text)}.feed-fav-btn.active{color:var(--accent)}.feed-fav-btn:disabled{opacity:.5;cursor:default}.feed-room-card{cursor:pointer}.feed-live-badge{display:flex;align-items:center;gap:.3rem;background:var(--accent);color:#fff;font-size:.63rem;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:4px;flex-shrink:0}.feed-live-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:live-pulse 1.4s ease-in-out infinite}.feed-room-thumb{position:relative;width:100%;aspect-ratio:16/9;background:#111;overflow:hidden}.feed-room-img{width:100%;height:100%;object-fit:cover;display:block}.feed-room-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:var(--border)}.feed-category-tag{position:absolute;top:.5rem;right:.5rem;background:rgba(0,0,0,.55);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.07em;padding:2px 8px;border-radius:4px}.feed-room-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .85rem .75rem}.feed-room-footer-info{flex:1 1;min-width:0}.feed-room-title{font-size:.88rem;font-weight:700;color:var(--text);margin-bottom:.15rem}.feed-room-loc,.feed-room-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-room-loc{font-size:.72rem;color:var(--text-muted)}.feed-join-btn{background:var(--accent);color:#fff;font-size:.8rem;font-weight:700;padding:.38rem .9rem;border-radius:6px;white-space:nowrap;flex-shrink:0;transition:background .15s}.feed-room-card:hover .feed-join-btn{background:var(--accent-hover)}@media (max-width:540px){.pdetail-overlay{padding:0;align-items:flex-end}.pdetail-modal{border-radius:20px 20px 0 0;max-height:95vh;animation:pdetail-slide .25s cubic-bezier(.32,.72,0,1)}}.crf-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.crf-tab{flex:1 1;padding:.5rem 1rem;border-radius:8px;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s}.crf-tab.active{border-color:var(--accent);background:rgba(229,62,62,.08);color:var(--accent)}.crf-tab:not(.active):hover{border-color:var(--accent);color:var(--text)}.crf-mode-tabs{display:flex;gap:.4rem;margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.crf-mode-tab{padding:.3rem .85rem;border-radius:20px;border:1px solid var(--border);background:none;font-size:.82rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s}.crf-mode-tab.active{border-color:var(--accent);background:rgba(229,62,62,.08);color:var(--accent)}.crf-channel-row{display:flex;gap:.5rem;align-items:stretch}.crf-channel-row input{flex:1 1}.crf-resolve-btn{padding:0 1rem;border-radius:var(--radius);border:1px solid var(--accent);background:none;color:var(--accent);font-weight:600;font-size:.82rem;cursor:pointer;white-space:nowrap;transition:background .15s}.crf-resolve-btn:hover{background:rgba(229,62,62,.08)}.crf-resolve-btn:disabled{opacity:.5;cursor:default}.crf-channel-ok{color:#16a34a;font-weight:500}.crf-channel-err,.crf-channel-ok{margin-top:.35rem;font-size:.82rem}.crf-channel-err{color:var(--accent)}.crf-recurrence-hint{font-size:.8rem;color:var(--text-muted);background:var(--surface-2,rgba(0,0,0,.04));border-radius:8px;padding:.6rem .85rem;margin-top:-.25rem;line-height:1.5}.yt-room{max-width:1400px;margin:0 auto;padding:0 1rem 2rem}.yt-room-header{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0 .75rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.yt-back{font-size:.85rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;margin-top:.3rem}.yt-back:hover{color:var(--text)}.yt-room-meta{flex:1 1;min-width:0}.yt-title{font-size:1.2rem;font-weight:700;margin:0 0 .3rem;line-height:1.3}.yt-room-sub{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--text-muted);flex-wrap:wrap}.yt-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.18rem .55rem;border-radius:4px;letter-spacing:.04em}.yt-badge--live{background:rgba(229,62,62,.15);color:var(--accent)}.yt-badge--scheduled{background:rgba(214,158,46,.15);color:#b7791f}.yt-live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;animation:marker-pulse 1.4s ease-in-out infinite}.yt-live-layout{display:grid;grid-template-columns:1fr 380px;grid-gap:1rem;gap:1rem;height:72vh;min-height:480px}.yt-video-wrap{position:relative;background:#000;border-radius:10px;overflow:hidden}.yt-iframe{width:100%;height:100%;border:none;display:block}.yt-stream-ended{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;color:#fff;font-size:1.1rem;gap:.5rem}.yt-chat-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden}.yt-chat-iframe{width:100%;height:100%;border:none;display:block}.yt-scheduled{display:flex;gap:1.5rem;align-items:flex-start;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem}.yt-sched-thumb{flex-shrink:0;width:200px;border-radius:8px;overflow:hidden}.yt-sched-thumb img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}.yt-sched-info{flex:1 1;min-width:0}.yt-sched-label{font-size:.78rem;color:var(--text-muted);margin:0 0 .25rem}.yt-sched-time{font-size:1.1rem;font-weight:700;margin:0 0 .6rem}.yt-sched-desc{font-size:.88rem;color:var(--text-muted);margin:0}.yt-discussion{margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1.25rem}.yt-discussion-hd{font-size:1rem;font-weight:700;margin:0 0 1rem}.yt-comments{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;margin-bottom:1rem;padding-right:.25rem}.yt-no-comments{font-size:.85rem;color:var(--text-muted);text-align:center;padding:1.5rem 0}.yt-comment{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem}.yt-comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.yt-comment-handle{font-size:.8rem;font-weight:700}.yt-comment-time{font-size:.72rem;color:var(--text-muted);flex:1 1}.yt-comment-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .1rem;transition:color .15s}.yt-comment-delete:hover{color:var(--accent)}.yt-comment-text{font-size:.88rem;margin:0;line-height:1.5}.yt-composer{display:flex;gap:.5rem;align-items:flex-end}.yt-composer-input{flex:1 1;resize:none;font-size:.88rem;border-radius:8px;border:1px solid var(--border);padding:.55rem .75rem;background:var(--bg-card);color:var(--text);line-height:1.4}.yt-composer-btn{background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;padding:.5rem 1.1rem;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;transition:background .15s;align-self:flex-end}.yt-composer-btn:hover:not(:disabled){background:var(--accent-hover)}.yt-composer-btn:disabled{opacity:.5;cursor:not-allowed}.yt-sign-in{font-size:.88rem;color:var(--text-muted)}.yt-sign-in a{color:var(--accent)}@media (max-width:900px){.yt-live-layout{grid-template-columns:1fr;height:auto}.yt-video-wrap{aspect-ratio:16/9;height:auto}.yt-chat-wrap{height:400px}.yt-scheduled{flex-direction:column}.yt-sched-thumb{width:100%}}.adm-shell{display:flex;flex-direction:column;gap:0}.adm-nav{display:flex;gap:.25rem;border-bottom:2px solid var(--border);margin-bottom:1.75rem;padding-bottom:0}.adm-nav-btn{padding:.55rem 1.25rem;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:none;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;border-radius:6px 6px 0 0}.adm-nav-btn:hover{color:var(--text)}.adm-nav-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.adm-body{min-height:400px}.adm-loading{color:var(--text-muted);font-size:.88rem;padding:2rem 0;text-align:center}.adm-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1.75rem}.adm-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem}.adm-stat-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .35rem}.adm-stat-value{font-size:2rem;font-weight:800;line-height:1;margin:0 0 .3rem;color:var(--text)}.adm-stat-badge{display:inline-block;font-size:.7rem;font-weight:700;background:rgba(229,62,62,.12);color:var(--accent);padding:.15rem .5rem;border-radius:20px;margin-bottom:.3rem}.adm-stat-sub{font-size:.72rem;color:var(--text-muted);margin:0}.adm-section{margin-bottom:1.75rem}.adm-section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 1rem}.adm-role-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.adm-role-pill{display:flex;align-items:center;gap:.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:.3rem .75rem;font-size:.82rem}.adm-role-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.adm-role-dot--user{background:#6b7280}.adm-role-dot--creator{background:var(--accent)}.adm-role-dot--admin{background:#c53030}.adm-role-name{color:var(--text-muted)}.adm-role-count{font-weight:700;color:var(--text)}.adm-role-bar{height:8px;border-radius:4px;display:flex;overflow:hidden;background:var(--border);gap:1px}.adm-role-bar-seg{height:100%;transition:width .4s}.adm-role-bar-seg--user{background:#6b7280}.adm-role-bar-seg--creator{background:var(--accent)}.adm-role-bar-seg--admin{background:#c53030}.adm-charts-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}.adm-sparkline{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem .75rem}.adm-sparkline-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.adm-sparkline-label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.adm-sparkline-total{font-size:.78rem;font-weight:700;color:var(--text)}.adm-sparkline-axis{display:flex;justify-content:space-between;font-size:.68rem;color:var(--text-muted);margin-top:.3rem}.adm-toolbar{display:flex;gap:.6rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.adm-search{flex:1 1;min-width:180px;font-size:.88rem;padding:.45rem .75rem}.adm-filter-select,.adm-search{border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.adm-filter-select{font-size:.85rem;padding:.45rem .65rem}.adm-btn-primary{background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;padding:.45rem 1rem;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;transition:background .15s}.adm-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.adm-btn-primary:disabled{opacity:.5;cursor:not-allowed}.adm-btn-ghost{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:.85rem;font-weight:600;padding:.45rem .85rem;border-radius:8px;cursor:pointer;transition:color .15s}.adm-btn-ghost:hover:not(:disabled){color:var(--text)}.adm-btn-ghost:disabled{opacity:.4;cursor:not-allowed}.adm-table-count{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.adm-seg-tabs{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.adm-seg-tab{padding:.42rem 1rem;font-size:.85rem;font-weight:600;background:var(--bg-card);border:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.adm-seg-tab.active{background:var(--accent);color:#fff}.adm-seg-tab:not(.active):hover{color:var(--text)}.adm-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.adm-table{width:100%;border-collapse:collapse;font-size:.84rem}.adm-table thead th{padding:.65rem .85rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-card);white-space:nowrap}.adm-table thead th,.adm-table-row{border-bottom:1px solid var(--border)}.adm-table-row{cursor:pointer;transition:background .1s}.adm-table-row:last-child{border-bottom:none}.adm-table-row:hover{background:rgba(229,62,62,.04)}.adm-table-row--active{background:rgba(229,62,62,.07)}.adm-table td{padding:.65rem .85rem;vertical-align:middle}.adm-td-muted{color:var(--text-muted);font-size:.8rem}.adm-td-content,.adm-td-nowrap{white-space:nowrap}.adm-td-content{max-width:260px;overflow:hidden;text-overflow:ellipsis}.adm-empty{padding:2rem!important;text-align:center;color:var(--text-muted);cursor:default!important}.adm-user-cell{gap:.6rem}.adm-user-cell,.adm-user-init{display:flex;align-items:center}.adm-user-init{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;justify-content:center;flex-shrink:0}.adm-user-name{font-weight:600;font-size:.85rem}.adm-user-handle{font-size:.72rem;color:var(--text-muted)}.adm-role-tag{display:inline-block;font-size:.72rem;font-weight:700;padding:.18rem .55rem;border-radius:20px;text-transform:capitalize}.adm-role-tag--user{background:rgba(107,114,128,.12);color:#6b7280}.adm-role-tag--creator{background:rgba(229,62,62,.12);color:var(--accent)}.adm-role-tag--admin{background:rgba(197,48,48,.18);color:#c53030}.adm-type-tag{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.adm-type-tag--text{background:rgba(59,130,246,.12);color:#3b82f6}.adm-type-tag--image{background:rgba(16,185,129,.12);color:#10b981}.adm-type-tag--audio{background:rgba(245,158,11,.12);color:#f59e0b}.adm-type-tag--video{background:rgba(139,92,246,.12);color:#8b5cf6}.adm-type-tag--poll{background:rgba(236,72,153,.12);color:#ec4899}.adm-status-tag{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.adm-status--live{background:rgba(16,185,129,.12);color:#059669}.adm-status--scheduled{background:rgba(245,158,11,.12);color:#d97706}.adm-status--ended{background:rgba(107,114,128,.12);color:#6b7280}.adm-anon{font-size:.72rem;font-style:italic}.adm-anon,.adm-delete-btn,.adm-muted{color:var(--text-muted)}.adm-delete-btn{background:none;border:1px solid transparent;cursor:pointer;font-size:.9rem;padding:.2rem .4rem;border-radius:4px;transition:color .15s,border-color .15s,background .15s;line-height:1}.adm-delete-btn:hover{color:var(--accent);border-color:var(--accent);background:rgba(229,62,62,.06)}.adm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;display:flex;justify-content:flex-end}.adm-panel{background:var(--bg);width:380px;max-width:95vw;height:100%;overflow-y:auto;padding:1.5rem 1.25rem 2rem;position:relative;box-shadow:-4px 0 24px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:1.25rem;animation:adm-panel-in .22s ease}@keyframes adm-panel-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.adm-panel-close{position:absolute;top:1rem;right:1rem;background:none;border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:color .15s}.adm-panel-close:hover{color:var(--text)}.adm-panel-hd{display:flex;gap:.9rem;align-items:flex-start;padding-right:2rem}.adm-panel-avatar{width:52px;height:52px;border-radius:50%;flex-shrink:0;background:var(--accent);color:#fff;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden}.adm-panel-avatar img{width:100%;height:100%;object-fit:cover}.adm-panel-user-info{flex:1 1;min-width:0}.adm-panel-name{font-size:1rem;font-weight:700}.adm-panel-handle{font-size:.8rem;color:var(--text-muted)}.adm-panel-email{font-size:.78rem;color:var(--text-muted);word-break:break-all}.adm-panel-joined{font-size:.72rem;color:var(--text-muted);margin-top:.15rem}.adm-panel-stats{display:flex;gap:.75rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.85rem 0}.adm-panel-stat{flex:1 1;text-align:center;font-size:.72rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.adm-panel-stat span{display:block;font-size:1.4rem;font-weight:800;color:var(--text);letter-spacing:0;text-transform:none;line-height:1.1;margin-bottom:.15rem}.adm-panel-section{display:flex;flex-direction:column;gap:.5rem}.adm-panel-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0}.adm-panel-role-select{font-size:.85rem;padding:.4rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);width:100%}.adm-panel-items{display:flex;flex-direction:column;gap:.4rem}.adm-panel-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;background:var(--bg-card);border-radius:6px;border:1px solid var(--border);font-size:.8rem}.adm-panel-item-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-panel-item-date{font-size:.7rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.adm-panel-danger{border-top:1px solid var(--border);padding-top:1rem;margin-top:auto}.adm-btn-danger-outline{border:1.5px solid var(--accent);color:var(--accent);background:none;font-size:.85rem;font-weight:700;padding:.45rem 1rem;border-radius:8px;cursor:pointer;width:100%;transition:background .15s}.adm-btn-danger-outline:hover{background:rgba(229,62,62,.07)}.adm-confirm-row{display:flex;flex-direction:column;gap:.5rem;font-size:.82rem;color:var(--text-muted)}.adm-btn-danger{background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;padding:.45rem 1rem;border-radius:8px;border:none;cursor:pointer;transition:background .15s}.adm-btn-danger:hover:not(:disabled){background:var(--accent-hover)}.adm-btn-danger:disabled{opacity:.5;cursor:not-allowed}@media (max-width:760px){.adm-stat-grid{grid-template-columns:1fr 1fr}.adm-charts-grid{grid-template-columns:1fr}.adm-panel{width:100%}}@media (max-width:480px){.adm-stat-grid{grid-template-columns:1fr}}.qs-shell{max-width:600px;gap:1.5rem}.qs-section,.qs-shell{display:flex;flex-direction:column}.qs-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;gap:.65rem}.qs-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.1rem}.qs-handle-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.qs-handle-field{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden;flex:1 1;min-width:160px}.qs-handle-at{padding:0 .5rem 0 .75rem;color:var(--text-muted);font-weight:600;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qs-handle-input{border:none;background:transparent;padding:.5rem .75rem .5rem 0;width:100%;font-size:.95rem;font-family:monospace}.qs-handle-input:focus{outline:none}.qs-handle-field:focus-within{border-color:var(--accent)}.qs-badge{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}.qs-badge--checking{background:#f0f0f0;color:var(--text-muted)}.qs-badge--found{background:#dcfce7;color:#166534}.qs-badge--new{background:#dbeafe;color:#1e40af}.qs-badge--error{background:#fee2e2;color:#991b1b}.qs-found-user{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:#fafafa;border-radius:var(--radius);border:1px solid var(--border)}.qs-found-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.qs-found-name{font-weight:500;font-size:.9rem}.qs-new-fields{display:flex;flex-direction:column;gap:.5rem}.qs-input{padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text);font:inherit;font-size:.875rem;width:100%}.qs-input:focus{outline:none;border-color:var(--accent)}.qs-select{padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text);font:inherit;font-size:.875rem;width:100%}.qs-select:focus{outline:none;border-color:var(--accent)}.qs-geo-hint{font-size:.82rem;color:var(--text-muted)}.qs-geo-found{font-size:.85rem;font-weight:500;color:#166534}.qs-geo-error{font-size:.82rem;color:#991b1b}.qs-type-tabs{display:flex;gap:.3rem;flex-wrap:wrap}.qs-type-tab{padding:.3rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;text-transform:capitalize;transition:all .15s}.qs-type-tab:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-card)}.qs-type-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.qs-content{padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text);font:inherit;font-size:.9rem;width:100%;resize:vertical;min-height:72px}.qs-content:focus{outline:none;border-color:var(--accent)}.qs-poll{flex-direction:column}.qs-poll,.qs-poll-row{display:flex;gap:.4rem}.qs-poll-remove,.qs-poll-row{align-items:center}.qs-poll-remove{flex-shrink:0;width:26px;height:26px;padding:0;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.7rem;display:flex;justify-content:center;cursor:pointer}.qs-poll-remove:hover{border-color:var(--accent);color:var(--accent)}.qs-add-option{font-size:.8rem;color:var(--accent);background:transparent;border:1px dashed var(--accent);border-radius:var(--radius);padding:.3rem .75rem;cursor:pointer;align-self:flex-start}.qs-add-option:hover{background:rgba(229,62,62,.06)}.qs-exact-label{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qs-exact-cb{cursor:pointer;accent-color:var(--accent)}.qs-media-section{display:flex;flex-direction:column;gap:.5rem}.qs-media-upload-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.qs-upload-btn{font-size:.82rem;padding:.4rem .9rem;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);white-space:nowrap}.qs-upload-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.qs-upload-btn:disabled{opacity:.5;cursor:not-allowed}.qs-uploaded-file{display:flex;align-items:center;gap:.5rem}.qs-upload-preview{height:52px;width:80px;object-fit:cover;border-radius:4px;border:1px solid var(--border);display:block}.qs-upload-filename{font-size:.8rem;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-upload-remove{width:20px;height:20px;border-radius:50%;border:none;background:var(--surface2);color:var(--text-muted);cursor:pointer;font-size:.7rem;display:flex;align-items:center;justify-content:center}.qs-upload-remove:hover{background:var(--accent);color:#fff}.qs-media-or{font-size:.75rem;color:var(--text-muted)}.qs-submit-row{display:flex;align-items:center;gap:.75rem}.qs-hint{font-size:.8rem;color:var(--text-muted)}.qs-success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:var(--radius)}.qs-error,.qs-success{font-size:.85rem;padding:.5rem .75rem}.qs-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:var(--radius)}.post-page{max-width:680px;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.post-nav{display:flex;align-items:center;padding:0 .25rem}.post-back{font-size:.85rem;color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.post-back:hover{color:var(--text)}.post-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;gap:0}.post-author{display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem .75rem;flex-wrap:wrap}.post-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.post-author-text{display:flex;flex-direction:column;flex:1 1;min-width:0}.post-author-name{font-size:.88rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-author-handle{font-size:.78rem;color:var(--text-muted)}.post-author-right{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;margin-left:auto}.post-location{font-size:.78rem;color:var(--text-muted)}.post-date{font-size:.72rem;color:var(--text-muted)}.post-caption-wrap{padding:.75rem 1rem .25rem}.post-content{font-size:1rem;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0}.post-content--clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-read-more{background:none;border:none;padding:0;margin-top:.2rem;font-size:.85rem;color:var(--text-muted);cursor:pointer;font-weight:500}.post-read-more:hover{color:var(--accent)}.post-actions{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem .85rem}.post-share-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .85rem;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.post-share-btn:hover{color:var(--accent);border-color:var(--accent)}.post-media{width:100%;background:#000}.post-image{width:100%;display:block;max-height:72vh;object-fit:contain}.post-video-iframe{width:100%;aspect-ratio:16/9;border:none;display:block}.post-video{max-height:72vh}.post-audio,.post-video{width:100%;display:block}.post-audio{padding:1rem;background:var(--surface2)}.post-poll{display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1rem}.post-poll-option{border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .85rem;font-size:.9rem;color:var(--text);background:var(--surface2)}.post-footer{display:flex;justify-content:center}.post-footer-link{font-size:.85rem;color:var(--accent);text-decoration:none;font-weight:500}.post-footer-link:hover{text-decoration:underline}@media (max-width:600px){.post-page{padding:.75rem 0 3rem;gap:.75rem}.post-nav{padding:0 1rem}.post-card{border-left:none;border-right:none;border-radius:0;margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem)}.post-comments,.post-footer{padding:0 1rem}.post-image{max-height:80vw;object-fit:cover}}.pdetail-share-link{color:var(--text-muted);text-decoration:none;font-size:.78rem}.pdetail-share-link:hover{color:var(--accent)}.post-comments{display:flex;flex-direction:column;gap:1rem}.post-comments-hd{font-size:.9rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.post-comments-empty,.post-comments-loading{font-size:.88rem;color:var(--text-muted)}.post-comments-list{display:flex;flex-direction:column;gap:.1rem}.post-composer{display:flex;flex-direction:column;gap:.5rem}.post-reply-banner{font-size:.8rem;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .6rem;display:flex;align-items:center;justify-content:space-between}.post-reply-cancel{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 .2rem}.post-reply-cancel:hover{color:var(--accent)}.post-composer-wrap{display:flex;flex-direction:column;gap:.5rem}.post-composer-input{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .85rem;font-size:.9rem;color:var(--text);resize:vertical;font-family:inherit;box-sizing:border-box}.post-composer-input:focus{outline:none;border-color:var(--accent)}.post-composer-btn{align-self:flex-end;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.45rem 1.2rem;font-size:.88rem;font-weight:600;cursor:pointer}.post-composer-btn:disabled{opacity:.5;cursor:not-allowed}.post-sign-in{font-size:.88rem;color:var(--text-muted)}.post-sign-in a{color:var(--accent);text-decoration:none}.post-sign-in a:hover{text-decoration:underline}.link-preview{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;margin-top:.5rem;background:var(--bg-card);transition:border-color .15s;max-width:420px}.link-preview:hover{border-color:var(--accent)}.link-preview-img{width:80px;min-height:72px;object-fit:cover;flex-shrink:0;display:block}.link-preview-body{padding:.5rem .65rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.link-preview-domain{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.link-preview-title{font-size:.82rem;font-weight:600;color:var(--text)}.link-preview-desc,.link-preview-title{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.link-preview-desc{font-size:.75rem;color:var(--text-muted)}