:root{--c-splash-bg: #0f351c;--c-deep-bg: #071e0f;--c-overlay: #0e2516;--c-brand: #2b974f;--c-accent: #5bd598;--c-bg-0: #071e0f;--c-bg-1: #0b2916;--c-bg-2: #0f351c;--c-bg-3: #154523;--c-bg-4: #1d5630;--c-border: #1f6b3a;--c-border-soft: #143d22;--c-brand-700: #1f6b3a;--c-brand-600: #248445;--c-brand-500: #2b974f;--c-brand-400: #36b561;--c-brand-300: #5bd598;--c-brand-glow: rgba(43, 151, 79, .45);--c-text: #eafff2;--c-text-muted: #9cc7ab;--c-text-dim: #6fa183;--c-text-on-brand: #04130a;--c-online: #5bd598;--c-away: #d5c45b;--c-danger: #e0566a;--c-warning: #e0a356;--c-success: #36b561;--c-pin-you: #5bd598;--c-pin-online: #2b974f;--c-pin-group: #36b561;--c-pin-place: #d5c45b;--shadow-1: 0 2px 8px rgba(0, 0, 0, .4);--shadow-2: 0 8px 28px rgba(0, 0, 0, .55);--glow: 0 0 0 3px var(--c-brand-glow);--radius: 14px;--radius-sm: 9px;--radius-pill: 999px;--font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--header-h: 56px;--panel-w: 380px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--c-bg-1);color:var(--c-text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{overflow:hidden}a{color:var(--c-brand-300);text-decoration:none}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-pill);padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;transition:transform .08s ease,background .15s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--c-brand-500);color:var(--c-text-on-brand)}.btn-primary:hover{background:var(--c-brand-400);box-shadow:var(--glow)}.btn-ghost{background:transparent;color:var(--c-text);border-color:var(--c-border)}.btn-ghost:hover{background:var(--c-bg-3)}.btn-accent{background:var(--c-brand-300);color:var(--c-text-on-brand)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:10px}::-webkit-scrollbar-track{background:transparent}#splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;transition:opacity .5s ease}#splash-screen.hidden{opacity:0;pointer-events:none}.splash-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--c-splash-bg);display:grid;place-items:center}.splash-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,transparent 0%,rgba(14,37,22,.25) 35%,var(--c-deep-bg) 100%)}#splash-logo{position:relative;text-align:center}.splash-mark{width:84px;height:84px;border-radius:24px;display:block;margin:0 auto 18px;object-fit:cover;box-shadow:var(--shadow-2),var(--glow);animation:pulse 1.8s ease-in-out infinite}.splash-title{font-weight:900;letter-spacing:1px;font-size:22px;color:var(--c-text)}.splash-sub{color:var(--c-text-dim);font-size:13px;margin-top:6px}@keyframes pulse{0%,to{transform:scale(1);box-shadow:var(--shadow-2),0 0 0 0 var(--c-brand-glow)}50%{transform:scale(1.04);box-shadow:var(--shadow-2),0 0 0 14px #2b974f00}}#app{position:fixed;top:0;left:0;right:0;height:100dvh;display:flex;flex-direction:column;z-index:1;background:var(--c-bg-1)}#seo-intro{position:relative;z-index:0;max-width:680px;margin:0 auto;padding:32px 20px 64px;color:var(--c-text-muted);line-height:1.6}#seo-intro h1{color:var(--c-text);font-size:26px;margin:0 0 10px}#seo-intro h2{color:var(--c-text);font-size:18px;margin:26px 0 6px}#seo-intro a{color:var(--c-brand-300)}.topbar{height:calc(var(--header-h) + env(safe-area-inset-top));flex:0 0 auto;padding-top:env(safe-area-inset-top);display:flex;align-items:center;gap:12px;padding-left:14px;padding-right:14px;background:linear-gradient(180deg,var(--c-bg-2),var(--c-bg-1));border-bottom:1px solid var(--c-border-soft);z-index:20;box-shadow:var(--shadow-1)}.brand{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.5px;background:none;border:0;padding:0;margin:0;color:inherit;font-family:inherit;font-size:inherit;cursor:pointer}.brand:hover .mark{transform:scale(1.06)}.brand .mark{transition:transform .2s ease}.brand .mark{width:30px;height:30px;border-radius:9px;display:block;object-fit:cover;box-shadow:var(--glow)}.brand .plus{font-size:10px;font-weight:900;color:var(--c-text-on-brand);background:var(--c-brand-300);padding:2px 6px;border-radius:6px}.topbar .spacer{flex:1}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--c-border-soft);background:var(--c-bg-2);color:var(--c-text);cursor:pointer;font-size:16px;display:grid;place-items:center;position:relative;flex:0 0 auto}.icon-btn:hover{background:var(--c-bg-3)}.icon-btn .badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;background:var(--c-danger);color:#fff;font-size:11px;font-weight:700;border-radius:9px;display:grid;place-items:center}.icon-btn.active{background:var(--c-brand-600);box-shadow:var(--glow)}.menu-toggle{display:none}@media(max-width:480px){.brand{min-width:0;flex:0 1 auto}.brand>span:not(.plus){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar>.icon-btn{display:none}.topbar>.icon-btn.menu-toggle{display:grid;margin-left:auto}.topbar .spacer{flex:1 1 0;min-width:0;font-size:0!important}}.nav-sheet{position:fixed;right:8px;z-index:85;top:calc(var(--header-h) + env(safe-area-inset-top) + 6px);min-width:216px;max-width:calc(100vw - 16px);padding:6px;background:var(--c-bg-2);border:1px solid var(--c-border-soft);border-radius:var(--radius);box-shadow:var(--shadow-2)}.nav-sheet button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;min-height:44px;background:none;border:none;border-radius:var(--radius-sm);color:var(--c-text);font-size:15px;font-weight:600;text-align:left;cursor:pointer}.nav-sheet button:hover,.nav-sheet button:focus-visible{background:var(--c-bg-3);outline:none}.nav-sheet .ico{font-size:18px;width:22px;text-align:center;flex:0 0 auto}.main{flex:1;display:flex;min-height:0;position:relative;padding-top:var(--banner-h, 0px);transition:padding-top .2s ease}#map{flex:1;min-width:0;height:100%;background:var(--c-bg-0)}.maplibregl-map{background:var(--c-bg-0)!important}.maplibregl-ctrl-group{background:var(--c-bg-2)!important;border:1px solid var(--c-border-soft)!important}.maplibregl-ctrl-group button{filter:invert(1) hue-rotate(180deg);width:44px!important;height:44px!important}.maplibregl-ctrl-bottom-right{margin-bottom:env(safe-area-inset-bottom)}.panel{width:var(--panel-w);max-width:92vw;flex:0 0 auto;height:100%;background:var(--c-bg-1);border-left:1px solid var(--c-border-soft);display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease;position:absolute;right:0;top:0;z-index:15;box-shadow:var(--shadow-2)}.panel.open{transform:translate(0)}.panel-head{height:52px;flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid var(--c-border-soft);font-weight:700}.panel-head .close{margin-left:auto}.panel-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.profile-hero{border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:1/1;background:var(--c-bg-3);margin-bottom:14px}.profile-hero .avatar-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:64px;color:var(--c-brand-300);background:radial-gradient(circle at 50% 30%,var(--c-bg-4),var(--c-bg-2))}.profile-hero .meta{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(transparent,#071e0feb)}.profile-hero .name{font-size:20px;font-weight:900;display:flex;align-items:center;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:var(--c-online);box-shadow:0 0 8px var(--c-online)}.dot.away{background:var(--c-away);box-shadow:0 0 8px var(--c-away)}.tagrow{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tag{font-size:12px;padding:5px 10px;border-radius:var(--radius-pill);background:var(--c-bg-3);border:1px solid var(--c-border-soft);color:var(--c-text-muted)}.tag.brand{background:#2b974f2e;border-color:var(--c-brand-600);color:var(--c-brand-300)}.kv{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--c-border-soft);font-size:14px}.kv .k{color:var(--c-text-dim)}.profile-tabs{display:flex;gap:4px;border-bottom:1px solid var(--c-border-soft);margin-bottom:12px}.profile-tabs button{flex:1;padding:10px 6px;font-size:14px;font-weight:700;cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;color:var(--c-text-dim);transition:color .15s,border-color .15s}.profile-tabs button.active{color:var(--c-brand-300);border-bottom-color:var(--c-brand-500)}.chat{display:flex;flex-direction:column;height:100%}.chat-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;display:flex;flex-direction:column;gap:8px}.msg{max-width:78%;padding:9px 13px;border-radius:16px;font-size:14px;line-height:1.35;word-wrap:break-word}.msg.them{align-self:flex-start;background:var(--c-bg-3);border-bottom-left-radius:4px}.msg.me{align-self:flex-end;background:var(--c-brand-600);color:var(--c-text);border-bottom-right-radius:4px}.msg .t{display:block;font-size:10px;color:var(--c-text-dim);margin-top:3px}.seen-row{align-self:flex-end;font-size:10px;color:var(--c-brand-300);padding:0 4px}.msg-img{display:block;max-width:220px;max-height:240px;border-radius:10px;margin-top:4px;cursor:pointer}.chat-input{flex:0 0 auto;display:flex;gap:8px;padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--c-border-soft)}.chat-input input{flex:1;background:var(--c-bg-2);border:1px solid var(--c-border-soft);color:var(--c-text);border-radius:var(--radius-pill);padding:11px 16px;font-size:16px;outline:none}.chat-input input:focus{border-color:var(--c-brand-500);box-shadow:var(--glow)}.row{display:flex;align-items:center;gap:11px;padding:11px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease}.row:hover{background:var(--c-bg-2)}.row .pic{width:46px;height:46px;border-radius:50%;flex:0 0 auto;position:relative;background:var(--c-bg-3);display:grid;place-items:center;color:var(--c-brand-300);font-size:20px}.row .pic .status{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border-radius:50%;border:2px solid var(--c-bg-1);background:var(--c-online)}.row .info{flex:1;min-width:0}.row .info .nm{font-weight:700;font-size:14px}.row .info .pv{color:var(--c-text-dim);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .when{color:var(--c-text-dim);font-size:11px}.theme-swatch{width:44px;height:44px;border-radius:50%;border:2px solid;cursor:pointer;display:grid;place-items:center}.theme-swatch.active{box-shadow:0 0 0 3px var(--c-brand-glow)}.uname{color:var(--c-brand-300);cursor:pointer}.uname:hover{text-decoration:underline}.ad-card{position:relative;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--c-brand-600);border-radius:var(--radius);background:linear-gradient(120deg,#2b974f29,#5bd5980f);cursor:pointer;margin-bottom:14px}.ad-card:hover{background:linear-gradient(120deg,#2b974f3d,#5bd5981a)}.ad-badge{position:absolute;top:6px;right:8px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-dim);border:1px solid var(--c-border-soft);border-radius:5px;padding:1px 5px}.ad-emoji{font-size:30px;flex:0 0 auto}.ad-title{font-weight:800;font-size:15px;color:var(--c-brand-300)}.ad-body{font-size:13px;color:var(--c-text-muted);line-height:1.35}.ad-link{display:block;text-decoration:none;color:inherit}.ad-frame-wrap{position:relative;margin-bottom:14px;border:1px solid var(--c-border-soft);border-radius:var(--radius);overflow:hidden}.ad-frame{display:block;width:100%;height:100px;border:0;background:var(--c-bg-2)}.ad-badge-float{z-index:2;background:var(--c-bg-2)}.camp-row{border:1px solid var(--c-border-soft);border-radius:var(--radius);padding:10px 12px;margin-bottom:10px}.camp-head{display:flex;align-items:center;gap:8px}.camp-name{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-stat{font-size:12px;color:var(--c-text-dim);margin-top:4px}.camp-kind{font-size:10px;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--c-border-soft);border-radius:5px;padding:1px 5px;color:var(--c-text-dim)}.camp-off{opacity:.5}#toasts{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--c-bg-3);border:1px solid var(--c-border);padding:10px 16px;border-radius:var(--radius-pill);font-size:13px;box-shadow:var(--shadow-2);animation:rise .25s ease}@keyframes rise{0%{transform:translateY(8px);opacity:0}}.pin{width:34px;height:34px;border-radius:50% 50% 50% 2px;transform:rotate(45deg);border:2px solid rgba(255,255,255,.85);cursor:pointer;box-shadow:var(--shadow-1);display:grid;place-items:center}.pin>*{transform:rotate(-45deg)}.pin.you{background:var(--c-pin-you);box-shadow:0 0 0 6px #5bd59840,var(--shadow-1)}.pin.online{background:var(--c-pin-online)}.pin.group{background:var(--c-pin-group);border-radius:12px;transform:none}.pin.group>*{transform:none}.pin.place{background:var(--c-pin-place)}.pin.pending{background:var(--c-warning);animation:pending-bob .9s ease-in-out infinite alternate}@keyframes pending-bob{0%{transform:rotate(45deg) translateY(0)}to{transform:rotate(45deg) translateY(-5px)}}.pin .face{width:26px;height:26px;border-radius:50%;background:var(--c-bg-1);display:grid;place-items:center;color:#fff;font-size:13px;overflow:hidden}.cluster{width:42px;height:42px;border-radius:50%;background:var(--c-brand-500);color:var(--c-text-on-brand);display:grid;place-items:center;font-weight:900;border:3px solid var(--c-brand-300);box-shadow:var(--shadow-1)}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,var(--c-bg-2),var(--c-deep-bg) 80%);padding:24px;text-align:center;cursor:pointer}.intro-stack{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:620px}.intro-line{font-size:clamp(17px,4.2vw,26px);font-weight:700;line-height:1.35;color:var(--c-text);opacity:0;transform:translateY(12px)}.intro-overlay.in .intro-line{animation:intro-rise .6s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * .52s * var(--speed, 1))}@keyframes intro-rise{to{opacity:1;transform:translateY(0)}}.intro-tagline{margin-top:14px;font-size:clamp(19px,5vw,30px);font-weight:900;letter-spacing:-.3px;white-space:nowrap;background-size:200% 100%;background-position:0% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(255,255,255,.16))}.intro-hint{margin-top:22px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-dim);opacity:0;transition:opacity .4s ease}.intro-overlay.in .intro-hint{animation:hint-in .5s ease 1.6s forwards}@keyframes hint-in{to{opacity:.55}}.intro-overlay.holding .intro-hint{opacity:1;color:var(--c-brand-300)}.intro-overlay.resolve .intro-hint{opacity:0;animation:none}.intro-overlay.holding .intro-stack{transform:scale(1.015)}.intro-stack{transition:transform .25s ease}.intro-overlay.resolve .intro-line{opacity:0;transform:translateY(-10px);transition:opacity .6s ease,transform .6s ease;animation:none}.intro-overlay.resolve{background:transparent;transition:background .6s ease}.shift{animation:hue-slide 6s linear infinite}@keyframes hue-slide{to{background-position:-200% 50%}}.auth-sub-hue{background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}@media(prefers-reduced-motion:reduce){.intro-overlay.in .intro-line{animation:none;opacity:1;transform:none}.shift{animation:none}}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,var(--c-bg-2),var(--c-deep-bg) 80%);padding:20px;overflow-y:auto}.auth-card{width:100%;max-width:380px;background:var(--c-bg-1);border:1px solid var(--c-border-soft);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow-2)}.auth-logo{width:64px;height:64px;border-radius:18px;margin:0 auto 14px;display:block;object-fit:cover;box-shadow:var(--glow)}.auth-title{text-align:center;font-weight:900;font-size:22px;letter-spacing:.5px}.auth-sub{text-align:center;color:var(--c-text-dim);font-size:13px;margin:4px 0 2px}.auth-members{text-align:center;color:var(--c-brand-300);font-size:12px;font-weight:700;min-height:16px;margin:0 0 16px}.auth-promo{border:1px solid var(--c-brand-500);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--c-brand-500) 12%,transparent);padding:10px 12px;margin:0 0 16px;text-align:center}.auth-promo-head{font-size:14px;font-weight:800;color:var(--c-brand-300)}.auth-promo-sub{font-size:12px;color:var(--c-text-dim);margin-top:3px}.auth-tabs{display:flex;gap:6px;background:var(--c-bg-2);border-radius:var(--radius-pill);padding:4px;margin-bottom:16px}.auth-tab{flex:1;text-align:center;padding:9px;border-radius:var(--radius-pill);cursor:pointer;font-weight:700;font-size:14px;color:var(--c-text-muted);border:none;background:transparent}.auth-tab.active{background:var(--c-brand-500);color:var(--c-text-on-brand)}.auth-link{background:none;border:none;color:var(--c-brand-300);font-size:13px;text-decoration:underline;cursor:pointer;padding:4px}.auth-field{margin-bottom:12px}.auth-field label{display:block;font-size:12px;color:var(--c-text-dim);margin-bottom:5px}.auth-field input{width:100%;background:var(--c-bg-2);border:1px solid var(--c-border-soft);color:var(--c-text);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px;outline:none}.auth-field input:focus{border-color:var(--c-brand-500);box-shadow:var(--glow)}.emoji-row{display:flex;gap:6px;flex-wrap:wrap}.emoji-pick{width:38px;height:38px;border-radius:50%;border:1px solid var(--c-border-soft);background:var(--c-bg-2);font-size:18px;cursor:pointer}.emoji-pick.active{border-color:var(--c-brand-400);box-shadow:var(--glow);background:var(--c-bg-3)}.auth-error{color:var(--c-danger);font-size:13px;min-height:18px;margin:2px 0 10px}.auth-hint{color:var(--c-text-dim);font-size:12px;margin-top:4px;line-height:1.4}.auth-guest{text-align:center;margin-top:14px}.auth-guest button{background:none;border:none;color:var(--c-text-dim);cursor:pointer;font-size:13px;text-decoration:underline}.edit-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;flex:0 0 auto;background:var(--c-bg-3);display:grid;place-items:center;border:2px solid var(--c-border)}.edit-avatar img{width:100%;height:100%;object-fit:cover}.edit-avatar-emoji{font-size:34px}.edit-gallery{display:flex;gap:8px;flex-wrap:wrap}.edit-slot{position:relative;width:84px;height:84px;border-radius:var(--radius-sm);overflow:hidden;background:var(--c-bg-2);border:1px solid var(--c-border-soft)}.edit-slot img{width:100%;height:100%;object-fit:cover}.edit-slot-add{display:grid;place-items:center;font-size:28px;color:var(--c-brand-300);cursor:pointer;border-style:dashed}.edit-slot-add:hover{background:var(--c-bg-3)}.edit-slot-x{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;font-size:11px}.ep-select{width:100%;background:var(--c-bg-2);border:1px solid var(--c-border-soft);color:var(--c-text);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px;outline:none}.ep-textarea{width:100%;background:var(--c-bg-2);border:1px solid var(--c-border-soft);color:var(--c-text);border-radius:var(--radius-sm);padding:12px;font-family:inherit;font-size:16px;outline:none;resize:vertical}.ep-check{display:flex;align-items:center;gap:8px;margin:4px 0 14px;font-size:14px;color:var(--c-text-muted);cursor:pointer}.ep-check input{width:18px;height:18px;accent-color:var(--c-brand-500)}.field-hint{color:var(--c-text-dim);font-size:12px;margin-left:8px}.stats{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.stats .stat{font-size:12px;padding:4px 9px;border-radius:var(--radius-pill);background:var(--c-bg-3);border:1px solid var(--c-border-soft);color:var(--c-text-muted)}.badge-emoji{font-size:18px}.kink{font-size:12px;padding:4px 9px;border-radius:var(--radius-pill);background:#2b974f29;border:1px solid var(--c-brand-600);color:var(--c-brand-300);cursor:pointer}.pv-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:4px 0 12px}.pv-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer}.globalchat{position:absolute;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:14;width:360px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:8px;pointer-events:none}.globalchat>*{pointer-events:auto}.gc-history{display:flex;flex-direction:column;max-height:42vh;overflow:hidden;background:#0b29169e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(91,213,152,.28);border-radius:var(--radius);box-shadow:var(--shadow-2)}.globalchat.collapsed .gc-history{display:none}.gc-history-head{padding:9px 12px;font-weight:700;font-size:12px;color:var(--c-text-muted);border-bottom:1px solid rgba(91,213,152,.14);flex:0 0 auto}.gc-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 10px;display:flex;flex-direction:column;gap:7px;min-height:90px}.gc-empty{color:var(--c-text-dim);font-size:12px;text-align:center;padding:16px 0}.gc-msg{display:flex;gap:7px;align-items:flex-start}.gc-em{font-size:15px;line-height:1.2;flex:0 0 auto}.gc-bubble{font-size:14px;line-height:1.4;color:var(--c-text);word-break:break-word}.gc-from{font-weight:700;color:var(--c-brand-300)}.gc-text{color:var(--c-text)}.gc-time{color:var(--c-text-dim);font-size:10px;margin-left:6px}.gc-img{display:block;margin-top:5px;max-width:200px;max-height:160px;border-radius:9px;cursor:pointer;border:1px solid rgba(91,213,152,.2)}.gc-bar{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:6px;background:#0b2916b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(91,213,152,.28);border-radius:var(--radius-pill);box-shadow:var(--shadow-2)}.gc-input{flex:1;background:transparent;border:none;color:var(--c-text);padding:9px 6px;font-size:16px;outline:none}.gc-input::placeholder{color:var(--c-text-dim)}.gc-toggle{position:relative;background:transparent;border:none;color:var(--c-brand-300);cursor:pointer;width:40px;height:40px;border-radius:50%;flex:0 0 auto;font-size:13px}.gc-toggle:hover{background:#ffffff0f}.gc-toggle-count{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;background:var(--c-brand-500);color:var(--c-text-on-brand);font-size:10px;font-weight:700;border-radius:8px;display:inline-grid;place-items:center}.gc-img-btn{background:transparent;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:18px;flex:0 0 auto}.gc-img-btn:hover{background:#ffffff0f}.vid-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 0%,var(--c-bg-2),var(--c-deep-bg) 70%);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.vid-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;font-weight:800;font-size:16px;color:var(--c-text)}.vid-status{font-size:12px;font-weight:700;color:var(--c-brand-300);background:#2b974f29;border:1px solid var(--c-brand-600);padding:4px 10px;border-radius:var(--radius-pill);white-space:nowrap}.vid-grid{flex:1;display:grid;gap:10px;padding:10px 12px;min-height:0;align-content:center;grid-template-columns:1fr}.vid-grid[data-count="2"],.vid-grid[data-count="3"],.vid-grid[data-count="4"]{grid-template-columns:repeat(2,1fr)}.vid-grid[data-count="5"],.vid-grid[data-count="6"]{grid-template-columns:repeat(3,1fr)}@media(max-width:560px){.vid-grid[data-count="3"],.vid-grid[data-count="4"],.vid-grid[data-count="5"],.vid-grid[data-count="6"]{grid-template-columns:repeat(2,1fr)}}.vid-tile{position:relative;background:var(--c-bg-2);border-radius:18px;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--c-border-soft);box-shadow:var(--shadow-1)}.vid-grid[data-count="1"] .vid-tile{aspect-ratio:auto;height:100%}.vid-tile video{width:100%;height:100%;object-fit:cover;background:#05130b;display:block}.vid-name{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);font-size:13px;font-weight:700;color:#fff;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 11px;border-radius:var(--radius-pill);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vid-bar{display:flex;justify-content:center;align-items:center;gap:12px;padding:14px 12px calc(14px + env(safe-area-inset-bottom));flex-wrap:wrap}.vid-ctrl{width:54px;height:54px;border-radius:50%;border:1px solid var(--c-border);background:var(--c-bg-3);color:#fff;font-size:21px;cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .1s}.vid-ctrl:active{transform:scale(.93)}.vid-ctrl.off{background:var(--c-bg-1);opacity:.45}.vid-ctrl.on{background:var(--c-brand-500);border-color:var(--c-brand-400)}.vid-ctrl.hang{background:var(--c-danger);border-color:var(--c-danger)}.call-ring{background:var(--c-brand-500);color:#fff}@keyframes ring-pulse{0%,to{box-shadow:var(--shadow-2)}50%{box-shadow:0 0 0 8px #2b974f40,var(--shadow-2)}}.call-ring{animation:ring-pulse 1.6s ease-in-out infinite}.invite-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:97;background:#0009;display:grid;place-items:center;padding:20px}.invite-card{width:100%;max-width:400px;background:var(--c-bg-1);border:1px solid var(--c-border-soft);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-2)}.invite-head{display:flex;align-items:center;justify-content:space-between;font-weight:800;margin-bottom:12px}.invite-head .vid-ctrl{width:36px;height:36px;font-size:15px}.invite-card input{width:100%;background:var(--c-bg-2);border:1px solid var(--c-border-soft);color:var(--c-text);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px;outline:none}.invite-card input:focus{border-color:var(--c-brand-500);box-shadow:var(--glow)}.invite-results{margin-top:10px;max-height:46vh;overflow-y:auto}.invite-row{display:flex;align-items:center;gap:11px;width:100%;min-height:52px;padding:8px 10px;margin-bottom:4px;border:none;border-radius:var(--radius-sm);background:none;color:var(--c-text);font-size:15px;font-weight:600;cursor:pointer;text-align:left}.invite-row:hover{background:var(--c-bg-3)}.invite-pic{width:38px;height:38px;border-radius:50%;flex:0 0 auto;object-fit:cover;background:var(--c-bg-3);display:grid;place-items:center;font-size:18px}.invite-empty{color:var(--c-text-dim);font-size:13px;padding:10px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000d9;display:grid;place-items:center;cursor:zoom-out;padding:24px}.lightbox img{max-width:100%;max-height:100%;border-radius:10px}.imp-banner{position:fixed;left:50%;transform:translate(-50%);z-index:70;top:calc(var(--header-h) + env(safe-area-inset-top) + 5px);display:flex;align-items:center;gap:12px;max-width:92vw;background:var(--c-warning);color:#1a1200;border-radius:var(--radius-pill);padding:6px 6px 6px 16px;box-shadow:var(--shadow-2);font-size:13px;font-weight:700}.imp-banner .btn{background:#0000002e;color:#1a1200}.verify-banner{position:fixed;left:50%;transform:translate(-50%);z-index:70;top:calc(var(--header-h) + env(safe-area-inset-top) + 5px);display:flex;align-items:center;gap:12px;max-width:92vw;background:var(--c-bg-3);border:1px solid var(--c-brand-600);border-radius:var(--radius-pill);padding:8px 8px 8px 18px;box-shadow:var(--shadow-2);font-size:13px;color:var(--c-text)}body:has(.imp-banner) .verify-banner{top:calc(var(--header-h) + env(safe-area-inset-top) + 51px)}.verify-x{background:none;border:none;color:var(--c-text-dim);cursor:pointer;font-size:14px;padding:4px 8px}.move-confirm{position:fixed;left:50%;transform:translate(-50%);z-index:75;bottom:calc(96px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);background:var(--c-bg-2);border:1px solid var(--c-brand-600);border-radius:var(--radius-pill);padding:8px 8px 8px 18px;box-shadow:var(--shadow-2);font-size:14px;font-weight:700}@media(max-width:720px){.panel{width:100%;max-width:100%}.verify-banner,.imp-banner{left:8px;right:8px;transform:none;max-width:none;border-radius:var(--radius);white-space:normal}.verify-banner>span,.imp-banner>span{flex:1;min-width:0}.verify-banner .btn,.imp-banner .btn{flex:none;white-space:nowrap}}
