:root{--bg-primary:#0f0f23;--bg-secondary:#1a1a35;--bg-card:#22223a;--bg-card-hover:#2a2a48;--bg-elevated:#2d2d4f;--bg-glass:#22223ab3;--accent-green:#22c55e;--accent-green-glow:#22c55e4d;--accent-red:#ef4444;--accent-red-glow:#ef44444d;--accent-blue:#3b82f6;--accent-blue-glow:#3b82f640;--accent-purple:#a855f7;--accent-purple-glow:#a855f740;--accent-yellow:#facc15;--accent-orange:#f97316;--accent-pink:#ec4899;--gradient-primary:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-call:linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--gradient-end:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-hero:linear-gradient(135deg, #0f0f23 0%, #1a1a35 50%, #22223a 100%);--gradient-card:linear-gradient(145deg, #ffffff0d 0%, #ffffff03 100%);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#a5b4fc;--border-subtle:#ffffff0f;--border-light:#ffffff1a;--border-accent:#a5b4fc4d;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow-green:0 0 30px #22c55e66, 0 0 60px #22c55e26;--shadow-glow-red:0 0 30px #ef444466, 0 0 60px #ef444426;--shadow-glow-blue:0 0 30px #3b82f64d;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-smooth:.35s cubic-bezier(.4, 0, .2, 1);--font-family:"Outfit", system-ui, -apple-system, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.5;overflow-x:hidden}#app{flex-direction:column;min-height:100dvh;display:flex}#screen-container{padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);flex-direction:column;flex:1;display:flex}h1{letter-spacing:-.02em;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;line-height:1.2}h2{letter-spacing:-.01em;font-size:clamp(1.25rem,4vw,1.75rem);font-weight:600}h3{font-size:1.125rem;font-weight:600}p{color:var(--text-secondary);line-height:1.6}.btn{border-radius:var(--radius-md);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;touch-action:manipulation;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.96)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md), var(--shadow-glow-blue)}.btn-primary:hover{box-shadow:var(--shadow-lg), 0 0 40px #3b82f666;transform:translateY(-2px)}.btn-call{background:var(--gradient-call);color:#fff;box-shadow:var(--shadow-md), var(--shadow-glow-green);border-radius:var(--radius-full);min-width:64px;min-height:64px;padding:16px;font-size:1.5rem}.btn-call:hover{box-shadow:var(--shadow-lg), 0 0 50px #22c55e80;transform:translateY(-2px)scale(1.05)}.btn-end{color:#fff;box-shadow:inset 0 1px 1.5px #fff9, 0 8px 24px #ef444466, var(--shadow-glow-red);border-radius:var(--radius-full);min-width:64px;min-height:64px;transition:all var(--transition-fast);background:linear-gradient(135deg,#ef4444 0%,#dc2626 50%,#991b1b 100%);border:1px solid #ffffff47;padding:16px;font-size:1.5rem;position:relative;overflow:hidden}.btn-end:before{content:"";border-radius:var(--radius-full) var(--radius-full) 0 0;pointer-events:none;background:linear-gradient(#ffffff4d,#0000);height:48%;position:absolute;top:0;left:0;right:0}.btn-end:hover{transform:translateY(-2px)scale(1.06);box-shadow:inset 0 1px 2px #fffc,0 12px 32px #ef444499,0 0 50px #ef4444b3}.btn-end:active{transform:scale(.96)}.btn-control{color:var(--text-primary);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(20px);min-width:56px;min-height:56px;transition:all var(--transition-fast);background:linear-gradient(145deg,#ffffff24 0%,#ffffff0a 100%);border:1px solid #ffffff2e;padding:14px;font-size:1.25rem;position:relative;overflow:hidden;box-shadow:inset 0 1px 1.5px #fff6,0 6px 20px #0006}.btn-control:before{content:"";border-radius:var(--radius-full) var(--radius-full) 0 0;pointer-events:none;background:linear-gradient(#ffffff38,#0000);height:48%;position:absolute;top:0;left:0;right:0}.btn-control:hover{background:linear-gradient(145deg,#ffffff3d 0%,#ffffff14 100%);border-color:#ffffff6b;transform:translateY(-2px)scale(1.05);box-shadow:inset 0 1px 1.5px #fff9,0 10px 28px #00000073}.btn-control:active{transform:scale(.96)}.btn-control.active{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-color:#ffffff73;box-shadow:inset 0 1px 2px #ffffff80,0 0 24px #ef4444b3}.btn-ghost{color:var(--text-secondary);background:0 0;padding:10px 16px}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}.btn-google{color:#1f1f1f;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;gap:12px;padding:16px 32px;font-size:1.1rem;font-weight:600}.btn-google:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-google img{width:24px;height:24px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:20px}.card:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.screen{flex-direction:column;flex:1;min-height:100dvh;animation:.3s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.screen-centered{text-align:center;justify-content:center;align-items:center;padding:24px}.screen-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.screen-header h1{font-size:1.5rem}.screen-body{flex:1;padding:0 20px 20px;overflow-y:auto}.login-screen{background:var(--gradient-hero);position:relative;overflow:hidden}.login-screen:before{content:"";background:radial-gradient(circle at 30%,#667eea14 0%,#0000 50%),radial-gradient(circle at 70% 80%,#a855f70f 0%,#0000 50%);width:200%;height:200%;animation:20s ease-in-out infinite ambientFloat;position:absolute;top:-50%;left:-50%}@keyframes ambientFloat{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(2%,-1%)rotate(1deg)}66%{transform:translate(-1%,2%)rotate(-1deg)}}.login-content{z-index:1;flex-direction:column;align-items:center;gap:32px;max-width:400px;display:flex;position:relative}.login-logo{margin-bottom:-8px;font-size:4rem;line-height:1;animation:3s ease-in-out infinite logoFloat}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.login-title{background:linear-gradient(135deg,#a5b4fc,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.login-subtitle{color:var(--text-secondary);max-width:280px;font-size:1.1rem}.home-screen{background:radial-gradient(circle at 85% 15%, #6366f114 0%, transparent 40%), radial-gradient(circle at 15% 85%, #ec48990d 0%, transparent 40%), var(--bg-primary);flex-direction:column;flex:1;min-height:100dvh;display:flex;overflow:hidden auto}.home-container{flex-direction:column;gap:24px;width:100%;max-width:1380px;margin:0 auto;padding:16px 20px 48px;display:flex}.home-header{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md), inset 0 1px 1px #ffffff1a;z-index:10;background:#1a1a35bf;border:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex;position:relative}.home-brand{align-items:center;gap:12px;display:flex}.home-logo-icon{filter:drop-shadow(0 2px 8px #facc1559);font-size:2.2rem;line-height:1;animation:3.5s ease-in-out infinite gentleBounce;display:inline-block}.home-brand-text{flex-direction:column;gap:2px;display:flex}.home-title{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 40%,#a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:800;line-height:1.1}.home-badge{text-transform:uppercase;letter-spacing:.07em;color:#a5b4fc;border-radius:var(--radius-full);background:#a5b4fc1f;border:1px solid #a5b4fc38;align-self:flex-start;padding:2px 8px;font-size:.7rem;font-weight:700}.home-header-actions{align-items:center;gap:12px;display:flex}.home-add-member-btn{border-radius:var(--radius-full);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff24;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.home-add-member-btn:hover{background:#6366f138;border-color:#a5b4fc80;transform:translateY(-1px);box-shadow:0 4px 16px #6366f147}.btn-text-desktop{display:inline}@media (width<=520px){.btn-text-desktop{display:none}.home-add-member-btn{padding:8px 12px}}.home-hero-banner{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm), inset 0 1px 1px #ffffff14;-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#4f46e529 0%,#9333ea1f 50%,#ec489914 100%);border:1px solid #ffffff17;padding:24px 28px;position:relative;overflow:hidden}.home-hero-banner:before{content:"";pointer-events:none;background:radial-gradient(circle,#a855f733 0%,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-60px}.home-hero-content{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.home-hero-greeting h2{letter-spacing:-.01em;color:#fff;margin-bottom:6px;font-size:clamp(1.3rem,2.4vw,1.85rem);font-weight:700}.highlight-text{background:linear-gradient(135deg,#a5b4fc,#f472b6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.home-hero-subtitle{color:var(--text-secondary);max-width:540px;font-size:.95rem;line-height:1.5}.home-hero-stats{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stat-pill{border-radius:var(--radius-full);color:var(--text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;border:1px solid #ffffff1f;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.stat-pill.stat-online{color:#86efac;background:#22c55e1f;border-color:#22c55e52}.stat-dot{background:#22c55e;border-radius:50%;width:9px;height:9px;animation:2s ease-in-out infinite pulseGlow;box-shadow:0 0 10px #22c55e}.home-main-layout{flex-direction:column;gap:28px;display:flex}@media (width>=960px){.home-main-layout{grid-template-columns:1fr 340px;align-items:start;gap:32px;display:grid}}@media (width>=1280px){.home-main-layout{grid-template-columns:1fr 380px;gap:36px}}.home-members-column{min-width:0}.home-sidebar-column{flex-direction:column;gap:20px;display:flex}@media (width>=960px){.home-sidebar-column{position:sticky;top:24px}}.section-title-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:baseline;margin-bottom:18px;padding-bottom:8px;display:flex}.home-section-title{color:#fff;letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.home-section-desc{color:var(--text-muted);font-size:.85rem;font-weight:500}.family-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;display:grid}@media (width>=600px){.family-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:20px}}@media (width>=1400px){.family-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px}}.family-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(14px);cursor:pointer;background:#1e1e38a6;border:1px solid #ffffff14;flex-direction:column;justify-content:space-between;align-items:center;gap:14px;min-height:230px;padding:24px 16px 20px;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s,border-color .28s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #00000040}.family-card:before{content:"";background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-normal);border-radius:inherit;pointer-events:none;position:absolute;inset:0}.family-card:hover:before{opacity:.08}.family-card:after{content:"";pointer-events:none;background:linear-gradient(60deg,#0000 40%,#ffffff0f 50%,#0000 60%);width:200%;height:200%;transition:transform .65s;position:absolute;top:-50%;left:-50%;transform:rotate(25deg)translateY(-100%)}.family-card:hover:after{transform:rotate(25deg)translateY(100%)}.family-card:hover{border-color:#a5b4fc66;transform:translateY(-6px)scale(1.02);box-shadow:0 16px 36px #00000073,0 0 20px #6366f133}.family-card:active{transform:scale(.97)}.family-card.is-online{border-color:#22c55e40}.family-card.is-online:hover{border-color:#22c55e8c;box-shadow:0 16px 36px #00000073,0 0 24px #22c55e38}.avatar{border-radius:var(--radius-full);flex-shrink:0;width:72px;height:72px;position:relative;overflow:visible}.avatar-img{border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--bg-elevated);width:100%;height:100%}.avatar-fallback{border-radius:var(--radius-full);color:#fff;border:3px solid var(--bg-elevated);justify-content:center;align-items:center;width:100%;height:100%;font-size:1.75rem;font-weight:700;display:flex}.avatar-status{border-radius:var(--radius-full);border:3px solid var(--bg-card);z-index:1;width:16px;height:16px;position:absolute;bottom:2px;right:2px}.avatar-status.online{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green-glow)}.avatar-status.offline{background:var(--text-muted)}.avatar-small{width:40px;height:40px}.avatar-small .avatar-fallback{font-size:1rem}.avatar-large{width:120px;height:120px}.avatar-large .avatar-fallback{font-size:3rem}.avatar-color-1 .avatar-fallback{background:linear-gradient(135deg,#667eea,#764ba2)}.avatar-color-2 .avatar-fallback{background:linear-gradient(135deg,#f97316,#ef4444)}.avatar-color-3 .avatar-fallback{background:linear-gradient(135deg,#22c55e,#16a34a)}.avatar-color-4 .avatar-fallback{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.avatar-color-5 .avatar-fallback{background:linear-gradient(135deg,#ec4899,#a855f7)}.avatar-color-6 .avatar-fallback{background:linear-gradient(135deg,#facc15,#f97316)}.family-card-info{z-index:1;flex-direction:column;align-items:center;gap:6px;width:100%;display:flex;position:relative}.family-name{text-align:center;color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;max-width:100%;font-size:1.05rem;font-weight:700;line-height:1.25;overflow:hidden}.family-status-badge{border-radius:var(--radius-full);align-items:center;gap:6px;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.family-status-badge.online{color:#86efac;background:#22c55e26;border:1px solid #22c55e52}.family-status-badge.offline{color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff14}.status-pulse-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite pulseGlow;box-shadow:0 0 8px #22c55e}.status-offline-dot{background:#64748b;border-radius:50%;width:7px;height:7px}.family-call-btn{z-index:1;border-radius:var(--radius-full);background:var(--gradient-call);color:#fff;width:100%;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);touch-action:manipulation;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.92rem;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #22c55e4d}.family-call-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e7a}.family-call-btn:active{transform:scale(.96)}.call-icon{font-size:1rem}.call-label{letter-spacing:.01em}.family-card-add{background:#1e1e3859;border:2px dashed #a5b4fc4d;justify-content:center;gap:8px;min-height:230px}.family-card-add:hover{background:#6366f11f;border-color:#a5b4fcb3;transform:translateY(-4px)scale(1.02)}.add-card-circle{color:#a5b4fc;width:58px;height:58px;transition:transform var(--transition-normal), background var(--transition-normal);background:#6366f126;border:1px solid #a5b4fc47;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;font-size:1.5rem;display:flex}.family-card-add:hover .add-card-circle{background:#6366f14d;transform:scale(1.1)rotate(90deg)}.add-card-sub{color:var(--text-muted);font-size:.76rem}.home-widget-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-md), inset 0 1px 1px #ffffff14;background:#1a1a35bf;border:1px solid #ffffff14;padding:22px;position:relative;overflow:hidden}.group-call-widget{background:linear-gradient(145deg,#22c55e14 0%,#1a1a35cc 100%);border-color:#22c55e38;flex-direction:column;gap:16px;display:flex}.widget-header{align-items:center;gap:14px;display:flex}.widget-icon{border-radius:var(--radius-md);background:#ffffff0f;border:1px solid #ffffff14;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.8rem;display:flex}.widget-title{color:#fff;letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.widget-desc{color:var(--text-secondary);margin-top:1px;font-size:.82rem}.widget-avatars-preview{align-items:center;padding-left:6px;display:flex}.widget-avatars-preview .avatar{border:3px solid var(--bg-card);flex-shrink:0;margin-left:-10px;transition:transform .2s}.widget-avatars-preview .avatar:first-child{margin-left:0}.widget-avatars-preview .avatar:hover{z-index:10;transform:translateY(-4px)scale(1.15)}.mini-avatar-more{border:3px solid var(--bg-card);color:#fff;z-index:6;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-left:-10px;font-size:.82rem;font-weight:700;display:flex}.call-everyone-btn{background:var(--gradient-call);border-radius:var(--radius-lg);color:#fff;width:100%;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md), var(--shadow-glow-green);touch-action:manipulation;border:none;justify-content:center;align-items:center;gap:10px;padding:15px 20px;font-size:1.05rem;font-weight:700;display:flex;position:relative;overflow:hidden}.call-everyone-btn:hover{box-shadow:var(--shadow-lg), 0 0 45px #22c55e73;transform:translateY(-2px)}.call-everyone-btn:active{transform:scale(.98)}.call-everyone-btn .btn-icon{font-size:1.35rem}.features-spotlight-widget{flex-direction:column;gap:12px;display:flex}.features-pill-cloud{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.feature-chip{border-radius:var(--radius-full);color:var(--text-primary);cursor:default;background:#ffffff0d;border:1px solid #ffffff1a;padding:6px 12px;font-size:.78rem;font-weight:600;transition:all .2s}.feature-chip:hover{transform:translateY(-1px)scale(1.04)}.chip-poke{color:#fde047;background:#facc151a;border-color:#facc154d}.chip-op{color:#fca5a5;background:#ef44441a;border-color:#ef44444d}.chip-doors{color:#93c5fd;background:#3b82f61a;border-color:#3b82f64d}.chip-mc{color:#86efac;background:#22c55e1a;border-color:#22c55e4d}.chip-poppy{color:#d8b4fe;background:#a855f71a;border-color:#a855f74d}.safe-badge-pill{color:var(--text-muted);border-radius:var(--radius-md);background:#00000038;border:1px solid #ffffff0f;align-items:center;gap:8px;padding:9px 12px;font-size:.78rem;line-height:1.35;display:flex}.shine-sweep{position:relative;overflow:hidden}.shine-sweep:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff38,#0000);width:80px;height:100%;animation:6s cubic-bezier(.4,0,.2,1) infinite subtleBarShine;position:absolute;top:0;left:-150%;transform:skew(-25deg)}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.25)}}.incoming-call-screen{background:var(--bg-primary);z-index:1000;flex-direction:column;justify-content:center;align-items:center;gap:32px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;inset:0}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.incoming-caller-info{flex-direction:column;align-items:center;gap:16px;display:flex}.incoming-caller-name{font-size:1.75rem;font-weight:700}.incoming-label{color:var(--text-secondary);font-size:1.1rem;animation:2s ease-in-out infinite pulseText}@keyframes pulseText{0%,to{opacity:1}50%{opacity:.5}}.incoming-actions{gap:48px;margin-top:24px;display:flex}.incoming-action{flex-direction:column;align-items:center;gap:8px;display:flex}.incoming-action-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.pulse-ring{position:relative}.pulse-ring:before,.pulse-ring:after{content:"";border-radius:var(--radius-full);border:2px solid var(--accent-green);animation:2s ease-out infinite pulseRing;position:absolute;inset:-12px}.pulse-ring:after{animation-delay:.6s}@keyframes pulseRing{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.4)}}.call-screen{z-index:900;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.call-header{padding:14px 20px;padding-top:calc(14px + var(--safe-top));z-index:10;pointer-events:none;background:linear-gradient(#0a0a18d9 0%,#0000 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.call-timer{color:#fff;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(14px);border-radius:var(--radius-full);background:#ffffff1a;border:1px solid #ffffff29;padding:4px 12px;font-size:.85rem;font-weight:700;box-shadow:inset 0 1px 1px #ffffff4d,0 4px 12px #0000004d}.call-room-name{color:var(--text-accent);-webkit-backdrop-filter:blur(14px);border-radius:var(--radius-full);background:#141428a6;border:1px solid #ffffff1f;padding:4px 14px;font-size:.82rem;font-weight:600;box-shadow:inset 0 1px 1px #fff3}.video-grid{background:#0b0b16;flex:1;gap:8px;padding:8px;display:grid}.video-grid[data-count="1"]{grid-template-columns:1fr}.video-grid[data-count="2"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.video-grid[data-count="3"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.video-grid[data-count="3"] .video-tile:first-child{grid-column:span 2}.video-grid[data-count="4"]{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.video-grid[data-count="5"],.video-grid[data-count="6"]{grid-template-rows:repeat(3,1fr);grid-template-columns:1fr 1fr}@media (orientation:landscape){.video-grid[data-count="2"]{grid-template-rows:1fr;grid-template-columns:1fr 1fr}}.video-tile{border-radius:var(--radius-lg);width:100%;min-width:0;height:100%;min-height:0;transition:all var(--transition-fast);background:radial-gradient(circle at 50% 30%,#202042 0%,#121226 100%);border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000073}.video-tile.speaking{border-color:var(--accent-green);box-shadow:0 0 0 2px var(--accent-green), 0 0 24px #22c55e73}.video-tile video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.video-tile.local video{transform:scaleX(-1)}.video-tile-label{-webkit-backdrop-filter:blur(14px);border-radius:var(--radius-full);color:#fff;z-index:5;background:#0f0f1eb8;border:1px solid #ffffff26;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:inset 0 1px 1px #ffffff40,0 4px 12px #00000059}.video-tile-muted{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-full);z-index:5;background:#ef4444d9;border:1px solid #fff3;padding:5px 8px;font-size:.75rem;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #0000004d}.video-tile-placeholder{flex-direction:column;align-items:center;gap:12px;display:flex}.local-pip{top:calc(60px + var(--safe-top));border-radius:var(--radius-md);z-index:10;width:120px;height:160px;box-shadow:var(--shadow-lg);cursor:grab;border:2px solid #fff3;position:absolute;right:12px;overflow:hidden}.local-pip video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.call-controls{padding:20px;padding-bottom:calc(20px + var(--safe-bottom));z-index:10;background:linear-gradient(#0000,#000c);justify-content:center;align-items:center;gap:20px;display:flex;position:absolute;bottom:0;left:0;right:0}.calling-screen{background:var(--gradient-hero);z-index:950;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.calling-dots{gap:6px;display:flex}.calling-dots span{background:var(--text-secondary);border-radius:var(--radius-full);width:8px;height:8px;animation:1.4s ease-in-out infinite callingDot}.calling-dots span:nth-child(2){animation-delay:.2s}.calling-dots span:nth-child(3){animation-delay:.4s}@keyframes callingDot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:800;background:#0009;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:24px;padding-bottom:calc(24px + var(--safe-bottom));width:100%;max-width:480px;max-height:80dvh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.modal-handle{background:var(--text-muted);border-radius:var(--radius-full);width:36px;height:4px;margin:0 auto 20px}.modal-title{margin-bottom:16px;font-size:1.25rem;font-weight:700}.input-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.input-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.input-field{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:border-color var(--transition-fast);outline:none;padding:14px 16px;font-size:1rem}.input-field:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.input-field::placeholder{color:var(--text-muted)}.toast{top:calc(16px + var(--safe-top));background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);z-index:2000;box-shadow:var(--shadow-lg);text-align:center;max-width:calc(100vw - 32px);padding:12px 20px;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) toastIn,.3s 2.7s forwards toastOut;position:fixed;left:50%;transform:translate(-50%)}.toast.toast-error{background:#ef444426;border-color:#ef44444d}.toast.toast-success{background:#22c55e26;border-color:#22c55e4d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(-16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;pointer-events:none}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.empty-state-icon{opacity:.8;font-size:3.5rem}.empty-state-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}.empty-state-text{color:var(--text-secondary);max-width:280px;line-height:1.5}.spinner{border:3px solid var(--border-light);border-top-color:var(--accent-blue);border-radius:var(--radius-full);width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-small{border-width:2px;width:20px;height:20px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex-center{justify-content:center;align-items:center;display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-auto{margin-top:auto}.profile-btn{border-radius:var(--radius-full);border:2px solid var(--border-light);cursor:pointer;width:40px;height:40px;transition:border-color var(--transition-fast);background:var(--bg-elevated);padding:0;overflow:hidden}.profile-btn:hover{border-color:var(--border-accent)}.profile-btn img{object-fit:cover;width:100%;height:100%}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.call-emoji-overlay{pointer-events:none;z-index:15;position:absolute;inset:0;overflow:hidden}.emoji-anim-layer{pointer-events:none;position:absolute;inset:0}.emoji-reaction-pill{top:calc(75px + var(--safe-top));-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-full);color:#fff;z-index:30;background:#0f0f23e0;border:1.5px solid #ffffff40;align-items:center;gap:8px;padding:8px 18px;animation:2.5s cubic-bezier(.16,1,.3,1) forwards pillSlideBounce;display:inline-flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #00000080,0 0 20px #6366f166}.emoji-pill-symbol{font-size:1.4rem;line-height:1;animation:.6s ease-out pillSymbolPop}.emoji-pill-text{white-space:nowrap;font-size:.9rem;font-weight:600}.emoji-pill-text strong{color:#a5b4fc}@keyframes pillSlideBounce{0%{opacity:0;transform:translate(-50%,-24px)scale(.85)}15%{opacity:1;transform:translate(-50%)scale(1.05)}25%{transform:translate(-50%)scale(1)}80%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-16px)scale(.9)}}@keyframes pillSymbolPop{0%{transform:scale(.5)}50%{transform:scale(1.35)}to{transform:scale(1)}}.anim-center-pop{filter:drop-shadow(0 10px 25px #0009);z-index:20;font-size:5rem;line-height:1;animation:2.4s cubic-bezier(.16,1,.3,1) forwards centerPopBounce;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes centerPopBounce{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-15deg)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.3)rotate(5deg)}30%{transform:translate(-50%,-50%)scale(1)rotate(0)}75%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(.6)translateY(-40px)}}.anim-heartbeat{animation:2.4s ease-in-out forwards centerHeartbeat}@keyframes centerHeartbeat{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}25%{transform:translate(-50%,-50%)scale(.95)}35%{transform:translate(-50%,-50%)scale(1.3)}45%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(.7)translateY(-30px)}}.anim-laugh-shake{animation:2.4s ease-in-out forwards centerLaughShake}@keyframes centerLaughShake{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}25%{transform:translate(-50%,-50%)rotate(-12deg)scale(1.1)}35%{transform:translate(-50%,-50%)rotate(12deg)scale(1.15)}45%{transform:translate(-50%,-50%)rotate(-10deg)scale(1.05)}55%{transform:translate(-50%,-50%)rotate(10deg)scale(1.1)}75%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.6)translateY(-30px)}}.anim-flame-burst{animation:2.4s ease-out forwards centerFlameBurst}@keyframes centerFlameBurst{0%{opacity:0;filter:drop-shadow(0 0 20px #ff3d00);transform:translate(-50%,-50%)scale(.3)}20%{opacity:1;filter:drop-shadow(0 0 40px #ff9100);transform:translate(-50%,-50%)scale(1.35)}40%{transform:translate(-50%,-50%)scale(1.1)}60%{filter:drop-shadow(0 0 35px #ff3d00);transform:translate(-50%,-50%)scale(1.25)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.5)translateY(-50px)}}.anim-pizza-spin{animation:2.4s cubic-bezier(.16,1,.3,1) forwards centerPizzaSpin}@keyframes centerPizzaSpin{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-360deg)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.3)rotate(0)}35%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(.6)translateY(-40px)}}.anim-confetti-piece{pointer-events:none;animation-name:confettiFlutterFall;animation-timing-function:cubic-bezier(.25,.46,.45,.94);animation-fill-mode:forwards;position:absolute;box-shadow:0 2px 6px #0003}@keyframes confettiFlutterFall{0%{opacity:1;transform:translateY(0)rotateX(0)rotateY(0)rotate(0)}30%{transform:translateY(35vh)translate(25px)rotateX(180deg)rotateY(120deg)rotate(90deg)}65%{transform:translateY(70vh)translate(-20px)rotateX(360deg)rotateY(240deg)rotate(180deg)}to{opacity:0;transform:translateY(105vh)translate(15px)rotateX(540deg)rotateY(360deg)rotate(270deg)}}.anim-floating-heart{pointer-events:none;filter:drop-shadow(0 4px 12px #ec489980);line-height:1;animation:linear forwards floatHeartUp;position:absolute}@keyframes floatHeartUp{0%{opacity:0;transform:translateY(0)scale(.4)translate(0)}15%{opacity:1;transform:translateY(-15vh)scale(1)translate(15px)}50%{transform:translateY(-50vh)scale(1.1)translate(-20px)}85%{opacity:.9;transform:translateY(-85vh)scale(.95)translate(18px)}to{opacity:0;transform:translateY(-110vh)scale(.8)translate(-10px)}}.anim-bouncing-laugh{pointer-events:none;line-height:1;animation:ease-in forwards laughBounceFall;position:absolute}@keyframes laughBounceFall{0%{opacity:0;transform:translateY(0)scale(.5)rotate(0)}15%{opacity:1;transform:translateY(20vh)scale(1.15)rotate(15deg)}45%{transform:translateY(60vh)scale(1)rotate(-15deg)}75%{transform:translateY(85vh)scale(1.05)rotate(20deg)}to{opacity:0;transform:translateY(105vh)scale(.8)rotate(-20deg)}}.anim-rocket-ship{filter:drop-shadow(0 15px 30px #ff6400b3);z-index:25;font-size:5.5rem;line-height:1;animation:2.2s cubic-bezier(.2,.8,.2,1) forwards rocketFlyAcross;position:absolute;bottom:-80px;left:10%}@keyframes rocketFlyAcross{0%{opacity:0;transform:translate(0)rotate(45deg)scale(.6)}15%{opacity:1;transform:translate(15vw,-20vh)rotate(45deg)scale(1.2)}60%{opacity:1;transform:translate(65vw,-75vh)rotate(45deg)scale(1.1)}to{opacity:0;transform:translate(110vw,-125vh)rotate(45deg)scale(.8)}}.anim-space-star{pointer-events:none;filter:drop-shadow(0 0 8px #fffc);line-height:1;animation:1.8s linear forwards spaceStarStream;position:absolute}@keyframes spaceStarStream{0%{opacity:0;transform:translate(60px,-60px)scale(.4)}20%{opacity:1;transform:translate(0)scale(1.3)}80%{opacity:1;transform:translate(-100px,100px)scale(1)}to{opacity:0;transform:translate(-160px,160px)scale(.2)}}.anim-rainbow-arch-wrapper{pointer-events:none;z-index:20;width:90%;max-width:620px;animation:2.5s cubic-bezier(.16,1,.3,1) forwards rainbowArchSweep;position:absolute;top:15%;left:50%;transform:translate(-50%)}.anim-rainbow-svg{filter:drop-shadow(0 10px 25px #ff64c866);width:100%;height:auto}.anim-rainbow-cloud{filter:drop-shadow(0 6px 12px #0000004d);font-size:3.5rem;line-height:1;position:absolute;bottom:0}.anim-cloud-left{animation:2.5s ease-in-out infinite alternate cloudBob;left:-15px}.anim-cloud-right{animation:2.5s ease-in-out infinite alternate-reverse cloudBob;right:-15px}@keyframes rainbowArchSweep{0%{opacity:0;transform:translate(-50%)scale(.7)translateY(40px)}20%{opacity:1;transform:translate(-50%)scale(1.05)translateY(0)}35%{transform:translate(-50%)scale(1)translateY(0)}80%{opacity:1;transform:translate(-50%)scale(1.02)}to{opacity:0;transform:translate(-50%)scale(.8)translateY(-30px)}}@keyframes cloudBob{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.anim-rainbow-sparkle{pointer-events:none;font-size:1.8rem;line-height:1;animation:1.8s ease-in-out forwards sparkleTwinkle;position:absolute}@keyframes sparkleTwinkle{0%{opacity:0;transform:scale(.3)rotate(0)}30%{opacity:1;transform:scale(1.3)rotate(60deg)}70%{opacity:1;transform:scale(1)rotate(120deg)}to{opacity:0;transform:scale(.2)rotate(180deg)}}.anim-soap-bubble{pointer-events:none;background:radial-gradient(circle at 35% 35%,#fffc 0%,#a5f3fc66 40%,#f472b64d 70%,#c084fc66 100%);border:1.5px solid #fff9;border-radius:50%;animation:linear forwards bubbleRiseWobble;position:absolute;box-shadow:inset 0 0 14px #ffffff80,0 0 10px #a5f3fc4d}@keyframes bubbleRiseWobble{0%{opacity:0;transform:translateY(0)scale(.5)translate(0)}15%{opacity:.95;transform:translateY(-15vh)scale(1)translate(15px)}50%{transform:translateY(-55vh)scale(1.08)translate(-18px)}85%{opacity:.9;transform:translateY(-90vh)scale(1)translate(12px)}to{opacity:0;transform:translateY(-110vh)scale(1.3)translate(0)}}.anim-burst-star{pointer-events:none;filter:drop-shadow(0 0 10px #fde047cc);line-height:1;animation:2.2s cubic-bezier(.16,1,.3,1) forwards starburstRadiate;position:absolute;top:50%;left:50%}@keyframes starburstRadiate{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.2)}20%{opacity:1;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(-1 * var(--distance))) scale(1.3)}75%{opacity:.9;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(-1.2 * var(--distance))) scale(1)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(-1.35 * var(--distance))) scale(.3)}}.anim-swooping-ghost{filter:drop-shadow(0 0 25px #93c5fde6);z-index:25;font-size:5rem;line-height:1;animation:2.4s ease-in-out forwards ghostSwoop;position:absolute;top:40%;left:-100px}.anim-ghost-boo{color:#bfdbfe;text-shadow:0 0 20px #3b82f6cc;z-index:25;font-size:2.2rem;font-weight:800;animation:2.2s ease-out forwards ghostBooPop;position:absolute;top:32%;left:50%;transform:translate(-50%)}@keyframes ghostSwoop{0%{opacity:0;transform:translate(0)translateY(0)rotate(0)scale(.6)}20%{opacity:1;transform:translate(30vw)translateY(-40px)rotate(-15deg)scale(1.2)}50%{transform:translate(55vw)translateY(40px)rotate(15deg)scale(1.15)}80%{opacity:1;transform:translate(85vw)translateY(-30px)rotate(-10deg)scale(1.1)}to{opacity:0;transform:translate(110vw)translateY(0)rotate(0)scale(.7)}}@keyframes ghostBooPop{0%{opacity:0;transform:translate(-50%,20px)scale(.6)}25%{opacity:1;transform:translate(-50%)scale(1.25)}75%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-20px)scale(.8)}}.anim-cat-popup{filter:drop-shadow(0 10px 25px #f472b699);z-index:25;font-size:6rem;line-height:1;animation:2.4s cubic-bezier(.16,1,.3,1) forwards catPopUp;position:absolute;bottom:-100px;left:50%;transform:translate(-50%)}@keyframes catPopUp{0%{opacity:0;transform:translate(-50%)translateY(0)scale(.5)}25%{opacity:1;transform:translate(-50%)translateY(-220px)scale(1.2)rotate(-8deg)}35%{transform:translate(-50%)translateY(-210px)scale(1.15)rotate(8deg)}50%{transform:translate(-50%)translateY(-215px)scale(1.15)rotate(-5deg)}75%{opacity:1;transform:translate(-50%)translateY(-215px)scale(1)}to{opacity:0;transform:translate(-50%)translateY(20px)scale(.6)}}.anim-floating-paw{pointer-events:none;filter:drop-shadow(0 4px 10px #f472b666);line-height:1;animation:linear forwards floatPawUp;position:absolute}@keyframes floatPawUp{0%{opacity:0;transform:translateY(0)scale(.4)rotate(-15deg)}20%{opacity:1;transform:translateY(-20vh)scale(1.1)rotate(15deg)}75%{opacity:.9;transform:translateY(-70vh)scale(1)rotate(-10deg)}to{opacity:0;transform:translateY(-105vh)scale(.7)rotate(10deg)}}.anim-fire-ember{pointer-events:none;background:radial-gradient(circle,#fff7ed 0%,#fb923c 50%,#ea580c 100%);border-radius:50%;animation:ease-out forwards emberRise;position:absolute;box-shadow:0 0 12px #f97316,0 0 24px #ea580c}@keyframes emberRise{0%{opacity:0;transform:translateY(0)scale(.4)translate(0)}15%{opacity:1;transform:translateY(-15vh)scale(1.2)translate(12px)}60%{transform:translateY(-60vh)scale(1)translate(-15px)}85%{opacity:.8;transform:translateY(-85vh)scale(.7)translate(10px)}to{opacity:0;transform:translateY(-105vh)scale(.2)translate(-5px)}}.anim-floating-applause{pointer-events:none;filter:drop-shadow(0 4px 12px #facc1580);line-height:1;animation:ease-out forwards applauseSurge;position:absolute}@keyframes applauseSurge{0%{opacity:0;transform:translateY(0)scale(.5)rotate(-10deg)}20%{opacity:1;transform:translateY(-25vh)scale(1.2)rotate(10deg)}60%{transform:translateY(-65vh)scale(1.05)rotate(-5deg)}85%{opacity:.9;transform:translateY(-90vh)scale(.95)}to{opacity:0;transform:translateY(-110vh)scale(.7)}}.anim-food-fall{pointer-events:none;filter:drop-shadow(0 6px 14px #0006);line-height:1;animation:linear forwards foodFallTumble;position:absolute}@keyframes foodFallTumble{0%{opacity:0;transform:translateY(0)rotate(0)scale(.6)}15%{opacity:1;transform:translateY(18vh)rotate(60deg)scale(1.15)}60%{transform:translateY(60vh)rotate(200deg)scale(1)}85%{opacity:.9;transform:translateY(85vh)rotate(300deg)scale(.95)}to{opacity:0;transform:translateY(105vh)rotate(360deg)scale(.7)}}.call-controls-wrapper{z-index:10;padding-bottom:calc(20px + var(--safe-bottom));background:linear-gradient(#0000 0%,#0a0a1880 20%,#0a0a18eb 45%);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0}.call-controls-wrapper .call-controls{-webkit-backdrop-filter:blur(28px)saturate(190%);border-radius:var(--radius-full);background:#16162cc2;border:1px solid #ffffff29;align-items:center;gap:16px;padding:10px 22px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1.5px #ffffff59,0 12px 36px #0000008c}.call-controls-wrapper .call-controls:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff24,#0000);width:90px;height:100%;animation:7s cubic-bezier(.4,0,.2,1) infinite subtleBarShine;position:absolute;top:0;left:-150%;transform:skew(-25deg)}@keyframes subtleBarShine{0%,75%{left:-150%}to{left:250%}}.emoji-shelf{-webkit-backdrop-filter:blur(28px)saturate(190%);border-radius:var(--radius-xl);background:#141426d1;border:1px solid #ffffff29;flex-direction:column;gap:10px;width:92%;max-width:620px;margin-bottom:12px;padding:12px 18px 14px;animation:.25s cubic-bezier(.16,1,.3,1) slideUpShelf;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff40,0 14px 40px #0009}.emoji-shelf:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff73,#0000);height:1px;position:absolute;top:0;left:20%;right:20%}@keyframes slideUpShelf{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.emoji-category-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 4px;display:flex;overflow-x:auto}.emoji-category-tabs::-webkit-scrollbar{display:none}.emoji-cat-tab{border-radius:var(--radius-full);color:var(--text-primary);font-family:var(--font-family);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#ffffff14;border:1px solid #ffffff24;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.emoji-cat-tab:hover{background:#ffffff2e;border-color:#ffffff47;transform:translateY(-1px)}.emoji-cat-tab.active{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-color:#fff6;box-shadow:inset 0 1px 1px #ffffff80,0 0 16px #a855f799}.cat-tab-icon{font-size:.95rem;line-height:1}.cat-tab-label{font-size:.75rem}.emoji-scroll{-webkit-overflow-scrolling:touch;gap:12px;padding:4px 6px;display:flex;overflow-x:auto}.btn-emoji-item{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(14px);color:#fff;cursor:pointer;min-width:66px;height:66px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#ffffff24 0%,#ffffff0a 100%);border:1.5px solid #ffffff2e;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff4d,0 4px 10px #00000040}.btn-emoji-item:before{content:"";border-radius:var(--radius-full) var(--radius-full) 0 0;pointer-events:none;background:linear-gradient(#ffffff2e,#0000);height:48%;position:absolute;top:0;left:0;right:0}.btn-emoji-item:hover{background:linear-gradient(145deg,#ffffff3d 0%,#ffffff14 100%);border-color:#ffffff6b;transform:translateY(-2px)scale(1.04);box-shadow:inset 0 1px 1px #ffffff80,0 8px 20px #00000059}.btn-emoji-item.pop{background:var(--gradient-primary);border-color:#fff;transform:scale(1.22);box-shadow:inset 0 1px 2px #ffffffb3,0 0 22px #6366f1f2}.btn-cat-pokemon{border-color:#facc157a}.btn-cat-pokemon:hover{border-color:#facc15;box-shadow:inset 0 1px 1px #ffffff80,0 0 18px #facc15a6}.btn-cat-onepiece{border-color:#fbbf2473}.btn-cat-onepiece:hover{border-color:#fbbf24;box-shadow:inset 0 1px 1px #ffffff80,0 0 16px #fbbf2499}.btn-cat-doors{border-color:#ef444473}.btn-cat-doors:hover{border-color:#ef4444;box-shadow:inset 0 1px 1px #ffffff80,0 0 16px #ef444499}.btn-cat-minecraft{border-color:#22c55e73}.btn-cat-minecraft:hover{border-color:#22c55e;box-shadow:inset 0 1px 1px #ffffff80,0 0 16px #22c55e99}.btn-cat-poppy{border-color:#3b82f673}.btn-cat-poppy:hover{border-color:#3b82f6;box-shadow:inset 0 1px 1px #ffffff80,0 0 16px #3b82f699}.emoji-item-icon{font-size:1.45rem;line-height:1}.emoji-item-label{text-transform:capitalize;font-size:.65rem;font-weight:600}.btn-emoji-toggle.active{background:var(--gradient-primary);box-shadow:0 0 16px #6366f1cc}.btn-add-contact-toggle{background:#3b82f633;border-color:#3b82f666}.btn-add-contact-toggle:hover{background:#3b82f666;box-shadow:0 0 16px #3b82f680}.call-grace-banner{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:2px solid var(--accent-orange);border-radius:var(--radius-lg);z-index:50;background:#181825eb;flex-direction:column;gap:12px;width:90%;max-width:440px;padding:14px 18px;animation:.35s cubic-bezier(.16,1,.3,1) graceBannerSlide;display:flex;position:absolute;top:70px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0009,0 0 24px #f973164d}@keyframes graceBannerSlide{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.grace-badge{background:var(--accent-orange);color:#fff;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-self:flex-start;padding:2px 8px;font-size:.75rem;font-weight:700}.grace-content{flex-direction:column;gap:2px;display:flex}.grace-title{color:#fff;font-size:1rem;font-weight:700}.grace-subtitle{color:var(--text-secondary);font-size:.85rem}.grace-countdown{color:var(--accent-orange);font-size:.95rem;font-weight:800}.grace-actions{justify-content:flex-end;gap:10px;display:flex}.grace-actions .btn{border-radius:var(--radius-md);padding:8px 16px;font-size:.85rem}.grace-leave-btn{color:#fff;background:#ef4444}.grace-wait-btn{color:#fff;background:#ffffff1a;border:1px solid #fff3}.btn-install-pill{color:var(--text-primary);font-family:var(--font-family);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:linear-gradient(135deg,#6366f140 0%,#a855f740 100%);border:1px solid #a5b4fc59;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-install-pill:hover{border-color:var(--text-accent);background:linear-gradient(135deg,#6366f166 0%,#a855f766 100%);transform:translateY(-1px)}.btn-install-pill:active{transform:scale(.97)}.install-banner{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#6366f126 0%,#a855f71f 100%);border:1px solid #a5b4fc40;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:16px;padding:14px 18px;display:flex}.install-banner-content{text-align:left;align-items:center;gap:12px;display:flex}.install-banner-icon{font-size:1.8rem;line-height:1}.install-banner-text{flex-direction:column;display:flex}.install-banner-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.install-banner-subtitle{color:var(--text-accent);font-size:.8rem}.install-banner-btn{white-space:nowrap;flex-shrink:0;padding:8px 18px;font-size:.875rem;font-weight:600}.install-modal-content{width:90%;max-width:480px}.install-steps-list{text-align:left;flex-direction:column;gap:14px;margin:16px 0;display:flex}.install-step{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff0a;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.install-step-num{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.install-step-text{color:var(--text-primary);font-size:.92rem;line-height:1.45}.install-step-text strong{color:var(--text-accent)}.offline-banner{z-index:9999;color:#000;text-align:center;background:#f59e0b;width:100%;padding:8px 16px;font-size:.875rem;font-weight:600;animation:.3s ease-out slideDown;position:sticky;top:0;box-shadow:0 2px 8px #0000004d}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.add-contact-overlay{z-index:100;-webkit-backdrop-filter:blur(12px);background:#0a0a16bf;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.add-contact-overlay.closing{animation:.2s ease-in forwards fadeOut}.add-contact-modal{-webkit-backdrop-filter:blur(28px)saturate(190%);border-radius:var(--radius-xl);background:#16162ce0;border:1px solid #ffffff29;flex-direction:column;width:100%;max-width:440px;max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) forwards modalScaleUp;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1.5px #ffffff59,0 24px 60px #000000b3,0 0 40px #6366f133}.add-contact-modal:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff80,#0000);height:1px;position:absolute;top:0;left:15%;right:15%}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.add-contact-header{background:linear-gradient(135deg,#6366f126 0%,#a855f71a 100%);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.add-contact-title-group{align-items:center;gap:12px;display:flex}.add-contact-icon{font-size:1.6rem;line-height:1}.add-contact-title{color:var(--text-primary);margin-bottom:2px;font-size:1.15rem;font-weight:700}.add-contact-desc{color:var(--text-secondary);font-size:.78rem}.btn-close-modal{border-radius:var(--radius-full);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff14;border:1px solid #ffffff26;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:flex}.btn-close-modal:hover{color:var(--text-primary);background:#fff3;border-color:#ffffff4d;transform:scale(1.05)}.add-contact-body{flex-direction:column;gap:18px;padding:16px 20px;display:flex;overflow-y:auto}.contact-section-title{color:var(--text-accent);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;font-size:.8rem;font-weight:700}.contact-cards-container{flex-direction:column;gap:10px;max-height:240px;padding-right:4px;display:flex;overflow-y:auto}.contact-invite-card{border-radius:var(--radius-md);transition:all var(--transition-fast);background:linear-gradient(145deg,#ffffff0f 0%,#ffffff05 100%);border:1px solid #ffffff1a;align-items:center;gap:12px;padding:10px 14px;display:flex;box-shadow:inset 0 1px 1px #ffffff26}.contact-invite-card:hover{background:linear-gradient(145deg,#ffffff1f 0%,#ffffff0a 100%);border-color:#ffffff40;transform:translateY(-1px)}.contact-invite-card.in-call{opacity:.55}.contact-card-info{flex:1;min-width:0}.contact-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.contact-card-status{color:var(--text-secondary);font-size:.75rem}.btn-call-contact{background:var(--gradient-call);color:#fff;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border:none;padding:8px 14px;font-weight:600;box-shadow:0 0 12px #22c55e59}.btn-call-contact:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 18px #22c55e8c}.btn-call-contact.btn-invited-success{background:var(--accent-green);box-shadow:0 0 14px #22c55e99}.btn-already-in{opacity:.6;cursor:default;padding:6px 10px;font-size:.75rem}.add-contact-form{gap:10px;display:flex}.input-contact-email{border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:border-color var(--transition-fast);background:#ffffff0f;outline:none;flex:1;padding:10px 14px;font-size:.88rem}.input-contact-email:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f640}.btn-invite-email{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:10px 16px;font-weight:600}.contact-loading,.contact-empty,.contact-error{text-align:center;color:var(--text-secondary);padding:16px;font-size:.85rem}.poke-lightning-flash{opacity:0;pointer-events:none;z-index:16;background:radial-gradient(circle,#fef08af2 0%,#eab30866 60%,#0000 100%);animation:2.2s ease-out forwards lightningStrobe;position:absolute;inset:0}.poke-pika-center{z-index:22;flex-direction:column;align-items:center;animation:2.4s cubic-bezier(.16,1,.3,1) forwards animePopIn;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.poke-spark-sparks{letter-spacing:12px;filter:drop-shadow(0 0 20px #facc15);font-size:2.2rem;animation:.8s ease-in-out infinite alternate cloudFloat}.poke-pika-head{background:radial-gradient(circle at 50% 35%,#fef08a 0%,#facc15 65%,#eab308 100%);border-radius:50% 50% 45% 45%;justify-content:center;align-items:center;width:130px;height:120px;margin:12px 0;display:flex;position:relative;box-shadow:0 0 45px #facc15d9,0 0 80px #eab30880}.pika-ear{background:#facc15;border-radius:50% 50% 0 0;width:26px;height:60px;position:absolute;top:-46px;overflow:hidden;box-shadow:0 0 15px #facc1599}.pika-ear:after{content:"";background:#000;border-radius:50% 50% 0 0;height:22px;position:absolute;top:0;left:0;right:0}.pika-ear.left{left:10px;transform:rotate(-35deg)}.pika-ear.right{right:10px;transform:rotate(35deg)}.pika-eyes{justify-content:space-between;width:76px;display:flex;position:absolute;top:36px}.pika-eyes:before,.pika-eyes:after{content:"";background:#000;border-radius:50%;width:16px;height:16px;box-shadow:inset -2px -2px 0 3px #fff}.pika-cheeks{justify-content:space-between;width:110px;display:flex;position:absolute;top:54px}.pika-cheek{background:#ef4444;border-radius:50%;width:26px;height:26px;animation:.4s infinite alternate cheekGlow;box-shadow:0 0 16px #ef4444,0 0 30px #dc2626}@keyframes cheekGlow{0%{filter:brightness();transform:scale(.9)}to{filter:brightness(1.5);transform:scale(1.15)}}.pika-mouth{background:#b91c1c;border:2px solid #000;border-radius:0 0 24px 24px;width:24px;height:14px;position:absolute;bottom:24px}.pika-tail{filter:drop-shadow(0 0 15px #facc15);font-size:3rem;line-height:1;animation:.6s ease-in-out infinite alternate tailWag;position:absolute;bottom:10px;right:-36px;transform:rotate(20deg)}@keyframes tailWag{0%{transform:rotate(15deg)}to{transform:rotate(30deg)}}.poke-banner{border-color:#facc15;box-shadow:0 8px 30px #000c,0 0 25px #facc15b3}.anim-pika-bolt{transform-origin:top;width:5px;height:50vh;transform:rotate(var(--bolt-angle,0deg));filter:drop-shadow(0 0 8px #fff)drop-shadow(0 0 18px #facc15);z-index:18;background:linear-gradient(#fff,#facc15,#eab308,#0000);animation:1.2s ease-out forwards hakiBoltStrike;position:absolute;top:50%;left:50%}.poke-ball-scene{z-index:23;flex-direction:column;align-items:center;animation:2.5s cubic-bezier(.16,1,.3,1) forwards pokeBallToss;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes pokeBallToss{0%{opacity:0;transform:translate(-50%,60px)scale(.3)rotate(-180deg)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.1)rotate(0)}35%{transform:translate(-50%,-50%)scale(1)rotate(-12deg)}50%{transform:translate(-50%,-50%)scale(1)rotate(12deg)}65%{transform:translate(-50%,-50%)scale(1)rotate(-6deg)}75%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-70px)scale(.7)}}.poke-ball-element{background:#fff;border:5px solid #111;border-radius:50%;flex-direction:column;width:120px;height:120px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 35px #ef444499,0 10px 30px #0009}.poke-ball-top{background:linear-gradient(#ef4444 0%,#dc2626 100%);width:100%;height:50%}.poke-ball-center-band{z-index:2;background:#111;justify-content:center;align-items:center;height:10px;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.poke-ball-button{background:#fff;border:4px solid #111;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;animation:1.2s ease-in-out infinite pokeButtonGlow;display:flex;position:relative;box-shadow:0 0 12px #fffc}.poke-ball-button:after{content:"";background:#fff;border:2px solid #64748b;border-radius:50%;width:14px;height:14px}@keyframes pokeButtonGlow{0%,to{box-shadow:0 0 8px #fffc}50%{box-shadow:0 0 24px #facc15,0 0 40px #facc15}}.poke-ball-bottom{background:linear-gradient(#f8fafc 0%,#cbd5e1 100%);width:100%;height:50%}.poke-catch-banner{border-radius:var(--radius-lg);text-align:center;background:#0f172aeb;border:3px solid #facc15;margin-top:18px;padding:8px 24px;box-shadow:0 8px 30px #000c,0 0 25px #facc1599}.poke-gotcha-text{color:#facc15;letter-spacing:3px;text-shadow:0 0 15px #facc15;font-size:1.8rem;font-weight:900}.poke-sub-text{color:#fff;letter-spacing:1.5px;font-size:.85rem;font-weight:800}.poke-burst-star{pointer-events:none;z-index:24;font-size:1.8rem;line-height:1;animation:1.4s cubic-bezier(.16,1,.3,1) forwards pokeStarFly;position:absolute;top:50%;left:50%}@keyframes pokeStarFly{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}25%{opacity:1}to{opacity:0;transform:translate(calc(-50% + cos(var(--star-angle,0deg)) * var(--star-dist,140px)), calc(-50% + sin(var(--star-angle,0deg)) * var(--star-dist,140px))) scale(1.3) rotate(180deg)}}.poke-fire-vortex{pointer-events:none;z-index:17;background:radial-gradient(circle at 50% 60%,#f9731659 0%,#dc262640 50%,#0000 80%);animation:1.8s ease-in-out infinite alternate fireVortexPulse;position:absolute;inset:0}@keyframes fireVortexPulse{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.poke-charizard-center{z-index:23;flex-direction:column;align-items:center;animation:2.4s cubic-bezier(.16,1,.3,1) forwards animePopIn;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.charizard-wings{pointer-events:none;justify-content:space-between;width:220px;display:flex;position:absolute;top:-30px}.charizard-wing{background:linear-gradient(135deg,#ea580c 0%,#c2410c 60%,#0284c7 100%);border-radius:80% 20% 60% 0;width:90px;height:80px;box-shadow:0 0 25px #ea580ccc}.charizard-wing.left{animation:.8s ease-in-out infinite alternate wingFlapLeft;transform:rotate(-25deg)}.charizard-wing.right{animation:.8s ease-in-out infinite alternate wingFlapRight;transform:scaleX(-1)rotate(-25deg)}@keyframes wingFlapLeft{0%{transform:rotate(-30deg)}to{transform:rotate(-10deg)}}@keyframes wingFlapRight{0%{transform:scaleX(-1)rotate(-30deg)}to{transform:scaleX(-1)rotate(-10deg)}}.charizard-head{background:radial-gradient(circle at 50% 35%,#fb923c 0%,#ea580c 80%);border-radius:50% 50% 40% 40%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:90px;margin:14px 0;display:flex;position:relative;box-shadow:0 0 40px #ea580ce6}.charizard-horns{justify-content:space-between;width:70px;display:flex;position:absolute;top:-24px}.charizard-horns:before,.charizard-horns:after{content:"";background:#ea580c;border-radius:50% 50% 0 0;width:16px;height:30px}.charizard-horns:before{transform:rotate(-25deg)}.charizard-horns:after{transform:rotate(25deg)}.charizard-eyes{justify-content:space-between;width:50px;display:flex;position:absolute;top:28px}.charizard-eyes:before,.charizard-eyes:after{content:"";border-radius:var(--radius-full);background:#38bdf8;width:14px;height:8px;box-shadow:0 0 10px #38bdf8}.charizard-flame-breath{filter:drop-shadow(0 0 15px #f97316);font-size:2.2rem;line-height:1;animation:.4s infinite alternate flameBlast;position:absolute;bottom:-22px}@keyframes flameBlast{0%{filter:brightness();transform:scale(.9)}to{filter:brightness(1.6);transform:scale(1.2)}}.charizard-banner{border-color:#ea580c;box-shadow:0 8px 30px #000c,0 0 25px #ea580cb3}.poke-gengar-shadow{pointer-events:none;z-index:18;background:radial-gradient(circle,#581c8773 0%,#1e0a3cd9 100%);animation:.4s ease-out forwards fadeIn;position:absolute;inset:0}.poke-gengar-center{z-index:23;flex-direction:column;align-items:center;animation:2.4s cubic-bezier(.16,1,.3,1) forwards gengarPop;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes gengarPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-15deg)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.15)rotate(5deg)}35%{transform:translate(-50%,-50%)scale(1)rotate(0)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.6)translateY(20px)}}.gengar-body{background:radial-gradient(circle at 50% 40%,#7e22ce 0%,#581c87 75%,#3b0764 100%);border-radius:50% 50% 45% 45%;justify-content:center;align-items:center;width:130px;height:120px;margin:12px 0;display:flex;position:relative;box-shadow:0 0 45px #7e22ced9,0 0 90px #581c8799}.gengar-ears{justify-content:space-between;width:100px;display:flex;position:absolute;top:-24px}.gengar-ear{background:#581c87;border-radius:50% 50% 0 0;width:24px;height:36px}.gengar-ear.left{transform:rotate(-30deg)}.gengar-ear.right{transform:rotate(30deg)}.gengar-eyes{justify-content:space-between;width:80px;display:flex;position:absolute;top:36px}.gengar-eye{background:#ef4444;border-radius:50% 50% 10% 10%;width:26px;height:16px;position:relative;box-shadow:0 0 16px #ef4444,0 0 30px #dc2626}.gengar-eye:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:6px}.gengar-grin{background:#fff repeating-linear-gradient(90deg,#fff 0 8px,#3b0764 8px 12px);border:4px solid #3b0764;border-radius:0 0 50px 50px;width:90px;height:36px;position:absolute;bottom:22px;box-shadow:0 0 15px #fff6}.gengar-banner{border-color:#a855f7;box-shadow:0 8px 30px #000c,0 0 25px #a855f7b3}.poke-shadow-ball{z-index:22;background:radial-gradient(circle,#c084fc 0%,#7e22ce 60%,#3b0764 100%);border-radius:50%;width:26px;height:26px;animation:1.6s ease-out forwards shadowBallPulse;position:absolute;box-shadow:0 0 20px #a855f7,0 0 40px #7e22ce}@keyframes shadowBallPulse{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.3)}75%{opacity:.8}to{opacity:0;transform:scale(.3)translateY(-40px)}}.anime-speed-lines{pointer-events:none;z-index:15;background:repeating-conic-gradient(#ffffff24 0deg 3deg,#0000 3deg 8deg);width:200%;height:200%;animation:1.8s linear infinite animeSpeedSpin;position:absolute;inset:-50%}@keyframes animeSpeedSpin{0%{transform:rotate(0)scale(.9)}50%{transform:rotate(180deg)scale(1.15)}to{transform:rotate(360deg)scale(.9)}}.anime-lightning-flash{opacity:0;pointer-events:none;z-index:16;background:radial-gradient(circle,#fffffff2 0%,#fbbf2466 60%,#0000 100%);animation:2.2s ease-out forwards lightningStrobe;position:absolute;inset:0}@keyframes lightningStrobe{0%{opacity:0}5%{opacity:.95}10%{opacity:.2}15%{opacity:1}25%{opacity:.4}45%{opacity:.8}75%{opacity:.3}to{opacity:0}}.op-luffy-center{z-index:22;flex-direction:column;align-items:center;animation:2.4s cubic-bezier(.16,1,.3,1) forwards animePopIn;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes animePopIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-10deg)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.18)rotate(3deg)}35%{transform:translate(-50%,-50%)scale(1.05)rotate(-2deg)}75%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(.7)translateY(-30px)}}.op-nika-clouds{letter-spacing:12px;filter:drop-shadow(0 0 20px #fffffff2);font-size:2.2rem;animation:1.2s ease-in-out infinite alternate cloudFloat}@keyframes cloudFloat{0%{transform:translateY(0)scale(1)}to{transform:translateY(-8px)scale(1.08)}}.op-nika-silhouette{background:radial-gradient(circle at 50% 40%,#fff 0%,#fef08a 50%,#f59e0b 100%);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;margin:10px 0;display:flex;position:relative;box-shadow:0 0 50px #fef08ae6,0 0 100px #f59e0b99}.op-nika-grin{border-bottom:8px solid #000;border-radius:0 0 50px 50px;width:80px;height:40px;position:absolute;bottom:25px}.anime-battle-banner{border-radius:var(--radius-lg);text-align:center;background:#0a0a14eb;border:3px solid #fbbf24;padding:10px 24px;box-shadow:0 8px 30px #000c,0 0 25px #fbbf2499}.anime-kanji{color:#fff;letter-spacing:4px;text-shadow:0 0 15px #f59e0b,0 0 30px #ef4444;font-size:2.4rem;font-weight:900}.anime-sub{color:#fde047;letter-spacing:2px;font-size:.9rem;font-weight:800}.anim-haki-bolt{transform-origin:top;width:4px;height:45vh;transform:rotate(var(--bolt-angle,0deg));filter:drop-shadow(0 0 8px #ef4444)drop-shadow(0 0 16px #a855f7);z-index:18;background:linear-gradient(#ef4444,#7c3aed,#0000);animation:1.2s ease-out forwards hakiBoltStrike;position:absolute;top:50%;left:50%}@keyframes hakiBoltStrike{0%{opacity:0;transform:rotate(var(--bolt-angle,0deg)) scaleY(.1)}25%{opacity:1;transform:rotate(var(--bolt-angle,0deg)) scaleY(1.1)}60%{opacity:.8;transform:rotate(var(--bolt-angle,0deg)) scaleY(1)}to{opacity:0;transform:rotate(var(--bolt-angle,0deg)) scaleY(.4)}}.op-zoro-eyeflash{z-index:22;background:linear-gradient(90deg,#0000,#0f172af2 20% 80%,#0000);border-top:2px solid #22c55e;border-bottom:2px solid #22c55e;justify-content:center;align-items:center;height:60px;animation:2.2s cubic-bezier(.16,1,.3,1) forwards zoroEyeCutIn;display:flex;position:absolute;top:38%;left:0;right:0}@keyframes zoroEyeCutIn{0%{opacity:0;transform:scaleX(.2)}20%{opacity:1;transform:scaleX(1)}75%{opacity:1}to{opacity:0;transform:scaleX(1.1)}}.zoro-eye-glow{border-radius:var(--radius-full);background:#ef4444;width:40px;height:6px;animation:.5s infinite alternate zoroGlowPulse;box-shadow:0 0 25px #ef4444,0 0 50px #dc2626}@keyframes zoroGlowPulse{0%{filter:brightness();transform:scale(1)}to{filter:brightness(1.6);transform:scale(1.3)}}.op-zoro-slashes{z-index:24;pointer-events:none;position:absolute;inset:0}.zoro-slash{transform-origin:50%;background:linear-gradient(90deg,#0000,#86efac 20%,#22c55e 50%,#15803d 80%,#0000);width:120vw;height:6px;position:absolute;top:50%;left:50%;box-shadow:0 0 20px #22c55e,0 0 45px #16a34a,0 0 60px #a855f7}.zoro-slash.slash-1{animation:1.8s cubic-bezier(.16,1,.3,1) .15s forwards swordSlash;transform:translate(-50%,-50%)rotate(-35deg)scaleX(0)}.zoro-slash.slash-2{animation:1.8s cubic-bezier(.16,1,.3,1) .3s forwards swordSlash;transform:translate(-50%,-50%)rotate(35deg)scaleX(0)}.zoro-slash.slash-3{animation:1.8s cubic-bezier(.16,1,.3,1) .45s forwards swordSlash;transform:translate(-50%,-50%)rotate(0)scaleX(0)}@keyframes swordSlash{0%{opacity:0;transform:translate(-50%,-50%)scaleX(0)}30%{opacity:1;transform:translate(-50%,-50%)scaleX(1)}75%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%)scaleX(1.1)}}.zoro-banner{border-color:#22c55e;animation:2.2s cubic-bezier(.16,1,.3,1) forwards bannerFadeUp;position:absolute;bottom:22%;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #000c,0 0 25px #22c55e99}@keyframes bannerFadeUp{0%{opacity:0;transform:translate(-50%,20px)}25%{opacity:1;transform:translate(-50%)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-20px)}}.anim-green-flame{z-index:20;background:radial-gradient(circle,#bbf7d0 0%,#22c55e 50%,#15803d 100%);border-radius:50%;width:14px;height:14px;animation:1.8s ease-out forwards emberRise;position:absolute;box-shadow:0 0 16px #22c55e,0 0 30px #16a34a}.doors-strobe-overlay{z-index:18;background:#000;animation:2.2s step-end forwards doorsStrobe;position:absolute;inset:0}@keyframes doorsStrobe{0%{opacity:0}5%{opacity:.85}10%{opacity:0}15%{opacity:.9}20%{opacity:0}25%{opacity:.8}35%{opacity:0}50%{opacity:.7}70%{opacity:0}to{opacity:0}}.doors-room-sign{color:#fef3c7;border-radius:var(--radius-sm);letter-spacing:2px;z-index:21;background:#78350f;border:3px solid #b45309;padding:8px 24px;font-family:monospace;font-size:1.3rem;font-weight:800;animation:2.2s ease-in-out forwards doorSignJitter;position:absolute;top:15%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #000c}@keyframes doorSignJitter{0%{opacity:0;transform:translate(-50%,-20px)}15%{opacity:1;transform:translate(-50%)}20%{transform:translate(-52%,-2px)rotate(-2deg)}25%{transform:translate(-48%,2px)rotate(2deg)}30%{transform:translate(-51%,-1px)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)}}.doors-rush-demon{z-index:25;animation:2.2s cubic-bezier(.85,0,.15,1) forwards rushZoom;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes rushZoom{0%{opacity:0;filter:blur(10px);transform:translate(-50%,-50%)scale(.05)}25%{opacity:.4;transform:translate(-50%,-50%)scale(.3)}55%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1.6)}70%{opacity:1;transform:translate(-50%,-50%)scale(2.2)}to{opacity:0;filter:blur(15px);transform:translate(-50%,-50%)scale(4)}}.rush-face{background:#000;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;display:flex;position:relative;box-shadow:0 0 40px #fff,0 0 80px #fffc}.rush-eyes{justify-content:space-between;width:90px;height:25px;display:flex;position:absolute;top:35px}.rush-eyes:before,.rush-eyes:after{content:"";background:#fff;border-radius:50%;width:28px;height:24px;box-shadow:0 0 10px #fff}.rush-mouth{background:#fff;border-radius:0 0 50px 50px;width:80px;height:35px;position:absolute;bottom:25px;box-shadow:0 0 15px #fff}.doors-seek-slime{z-index:18;background:radial-gradient(circle,#0000 40%,#0f0505f2 90%),linear-gradient(#000 0%,#0000 25%);animation:.4s ease-out forwards fadeIn;position:absolute;inset:0}.doors-seek-eye{z-index:23;flex-direction:column;align-items:center;animation:2.5s ease-in-out forwards seekEyePop;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes seekEyePop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}35%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.5)}}.seek-sclera{background:#000;border:4px solid #ef4444;border-radius:50%;justify-content:center;align-items:center;width:140px;height:90px;display:flex;overflow:hidden;box-shadow:0 0 35px #dc2626,0 0 70px #dc262680}.seek-iris{background:radial-gradient(circle,#000 35%,#b91c1c 70%,#ef4444 100%);border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;animation:2.2s ease-in-out infinite seekLookAround;display:flex}@keyframes seekLookAround{0%,to{transform:translate(0)}25%{transform:translate(-18px)}50%{transform:translate(18px)}75%{transform:translate(0)translateY(-6px)}}.seek-pupil{background:#000;border-radius:50%;width:16px;height:16px}.doors-seek-run{color:#ef4444;letter-spacing:6px;text-shadow:0 0 20px #dc2626,0 0 40px #000;margin-top:16px;font-size:2.4rem;font-weight:900;animation:.35s infinite alternate runFlash}@keyframes runFlash{0%{opacity:.6;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}.doors-screech-wrapper{z-index:24;flex-direction:column;align-items:center;animation:2.2s ease-out forwards screechJumpscare;display:flex;position:absolute;top:30%;right:10%}@keyframes screechJumpscare{0%{opacity:0;transform:scale(.2)rotate(20deg)}15%{opacity:1;transform:scale(1.3)rotate(-10deg)}25%{transform:scale(1)rotate(0)}75%{opacity:1}to{opacity:0;transform:scale(.5)translateY(40px)}}.doors-psst-text{border-radius:var(--radius-full);color:#e2e8f0;background:#000000d9;border:1px solid #ffffff4d;margin-bottom:8px;padding:6px 14px;font-size:1.1rem;font-weight:800}.doors-screech-monster{background:#000;border:3px solid #64748b;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative;box-shadow:0 0 30px #000}.screech-eyes{justify-content:space-between;width:60px;display:flex;position:absolute;top:25px}.screech-eyes:before,.screech-eyes:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 8px #fff}.screech-teeth{background:repeating-linear-gradient(90deg,#fff 0 5px,#000 5px 10px);border-radius:4px;width:50px;height:20px;position:absolute;bottom:20px}.mc-creeper-container{z-index:23;flex-direction:column;align-items:center;animation:1.2s ease-in forwards creeperSwell;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes creeperSwell{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}25%{opacity:1;filter:brightness();transform:translate(-50%,-50%)scale(1)}60%{filter:brightness(1.4);transform:translate(-50%,-50%)scale(1.15)}85%{filter:brightness(2.2);transform:translate(-50%,-50%)scale(1.35)}95%{opacity:1;filter:brightness(3.5);transform:translate(-50%,-50%)scale(1.5)}to{opacity:0;filter:brightness(5);transform:translate(-50%,-50%)scale(2)}}.mc-creeper-head{background:#22c55e;border:4px solid #15803d;justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative;box-shadow:0 0 30px #22c55e99}.mc-creeper-face-grid{clip-path:polygon(0% 0%,35% 0%,35% 35%,0% 35%,0% 0%,65% 0%,100% 0%,100% 35%,65% 35%,65% 0%,35% 35%,65% 35%,65% 65%,85% 65%,85% 100%,65% 100%,65% 80%,35% 80%,35% 100%,15% 100%,15% 65%,35% 65%,35% 35%);background:#000;width:60px;height:60px}.mc-creeper-fuse{color:#ef4444;margin-top:10px;font-family:monospace;font-size:1.3rem;font-weight:800;animation:.2s infinite alternate fuseFlash}@keyframes fuseFlash{0%{opacity:.5}to{opacity:1}}.mc-pixel-block{z-index:22;border:1px solid #0000004d;width:18px;height:18px;animation:1.2s cubic-bezier(.16,1,.3,1) forwards pixelExplode;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 2px 2px #ffffff4d,inset -2px -2px #0006}@keyframes pixelExplode{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.2)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + cos(var(--block-angle,0deg)) * var(--block-dist,150px)), calc(-50% + sin(var(--block-angle,0deg)) * var(--block-dist,150px) + 80px)) rotate(360deg) scale(.6)}}.mc-sword-wrapper{z-index:23;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mc-diamond-blade{filter:drop-shadow(0 0 25px #38bdf8e6);font-size:6rem;line-height:1;animation:1.8s cubic-bezier(.16,1,.3,1) forwards swordSwing}@keyframes swordSwing{0%{opacity:0;transform:scale(.3)rotate(-60deg)translate(-80px,40px)}25%{opacity:1;transform:scale(1.3)rotate(35deg)translate(20px,-20px)}45%{transform:scale(1.1)rotate(15deg)}75%{opacity:1}to{opacity:0;transform:scale(.6)rotate(60deg)translateY(40px)}}.mc-achievement-toast{background:#27272a;border:3px solid #15803d;border-radius:4px;align-items:center;gap:12px;padding:10px 18px;animation:2.4s cubic-bezier(.16,1,.3,1) forwards achToastSlide;display:flex;position:absolute;top:15%;box-shadow:0 8px 24px #000c,0 0 15px #22c55e66}@keyframes achToastSlide{0%{opacity:0;transform:translateY(-40px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.mc-trophy-icon{font-size:1.8rem;line-height:1}.mc-ach-info{flex-direction:column;display:flex}.mc-ach-title{color:#facc15;font-family:monospace;font-size:.85rem;font-weight:700}.mc-ach-desc{color:#fff;font-family:monospace;font-size:.95rem;font-weight:800}.mc-crit-star{z-index:22;font-size:2rem;line-height:1;animation:1.5s ease-out forwards critStarTwinkle;position:absolute}@keyframes critStarTwinkle{0%{opacity:0;transform:scale(.3)rotate(0)}30%{opacity:1;transform:scale(1.3)rotate(60deg)}to{opacity:0;transform:scale(.4)rotate(180deg)translateY(30px)}}.mc-enderman-wrapper{z-index:21;background:radial-gradient(circle,#0000 40%,#2e1065cc 100%);justify-content:center;align-items:center;animation:2.2s ease-in-out forwards enderTeleport;display:flex;position:absolute;inset:0}@keyframes enderTeleport{0%{opacity:0}15%{opacity:1}45%{opacity:.2}60%{opacity:1}85%{opacity:.8}to{opacity:0}}.mc-enderman-silhouette{background:#000;border-radius:4px;justify-content:center;width:70px;height:180px;display:flex;position:relative;box-shadow:0 0 35px #a855f7}.mc-enderman-eye{background:#d8b4fe;width:14px;height:6px;position:absolute;top:30px;box-shadow:0 0 12px #c084fc,0 0 25px #a855f7}.mc-enderman-eye.left{left:12px}.mc-enderman-eye.right{right:12px}.mc-portal-particle{z-index:22;background:#c084fc;width:10px;height:10px;animation:1.8s ease-out forwards portalFloat;position:absolute;box-shadow:0 0 14px #a855f7}@keyframes portalFloat{0%{opacity:0;transform:translateY(0)scale(.4)}25%{opacity:1;transform:translateY(-40px)scale(1.2)}80%{opacity:.8;transform:translateY(-120px)scale(.9)}to{opacity:0;transform:translateY(-180px)scale(.2)}}.poppy-huggy-wrapper{z-index:23;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;animation:2.4s cubic-bezier(.16,1,.3,1) forwards huggyAttack;display:flex;position:absolute;inset:0}@keyframes huggyAttack{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:scale(1.15)}35%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:scale(.6)translateY(-30px)}}.poppy-playtime-logo{letter-spacing:4px;color:#facc15;border-radius:var(--radius-sm);background:#1e3a8a;border:2px solid #3b82f6;margin-bottom:12px;padding:4px 16px;font-family:Arial Black,Impact,sans-serif;font-size:1.1rem;box-shadow:0 4px 14px #0009}.huggy-face{background:#2563eb;border:4px solid #1d4ed8;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative;box-shadow:0 0 35px #2563ebcc}.huggy-eyes{justify-content:space-between;width:80px;margin-bottom:8px;display:flex}.huggy-eyes:before,.huggy-eyes:after{content:"";background:#fff;border:3px solid #000;border-radius:50%;width:26px;height:26px;box-shadow:inset 4px 4px #000}.huggy-mouth{background:#ef4444 repeating-linear-gradient(90deg,#fff 0 4px,#0000 4px 8px);border:3px solid #b91c1c;border-radius:0 0 50px 50px;width:80px;height:35px}.huggy-bowtie{font-size:1.8rem;position:absolute;bottom:-18px}.huggy-arms{pointer-events:none;position:absolute;inset:0}.huggy-arm{background:#2563eb;border-radius:20px;width:45vw;height:30px;position:absolute;top:30%;box-shadow:0 0 25px #2563ebb3}.huggy-arm.left{transform-origin:0;animation:2.2s cubic-bezier(.16,1,.3,1) forwards hugWrapLeft;left:-20px}.huggy-arm.right{transform-origin:100%;animation:2.2s cubic-bezier(.16,1,.3,1) forwards hugWrapRight;right:-20px}@keyframes hugWrapLeft{0%{transform:rotate(-50deg)scaleX(.2)}35%{transform:rotate(15deg)scaleX(1)}75%{transform:rotate(15deg)scaleX(1)}to{transform:rotate(-30deg)scaleX(.3)}}@keyframes hugWrapRight{0%{transform:rotate(50deg)scaleX(.2)}35%{transform:rotate(-15deg)scaleX(1)}75%{transform:rotate(-15deg)scaleX(1)}to{transform:rotate(30deg)scaleX(.3)}}.poppy-hug-banner,.poppy-kiss-banner{color:#fff;border-radius:var(--radius-full);background:#0a0a19d9;border:2px solid #3b82f6;margin-top:24px;padding:8px 22px;font-size:1.25rem;font-weight:800;box-shadow:0 4px 20px #0009}.poppy-kiss-banner{border-color:#ec4899}.poppy-kissy-wrapper{z-index:23;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;animation:2.4s cubic-bezier(.16,1,.3,1) forwards kissyPop;display:flex;position:absolute;inset:0}@keyframes kissyPop{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1.15)}35%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:scale(.7)translateY(-30px)}}.kissy-face{background:#ec4899;border:4px solid #db2777;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative;box-shadow:0 0 35px #ec4899cc}.kissy-eyes{justify-content:space-between;width:80px;margin-bottom:8px;display:flex}.kissy-eyes:before,.kissy-eyes:after{content:"";background:#fff;border:3px solid #000;border-radius:50%;width:24px;height:24px;box-shadow:inset 4px 4px #000}.kissy-mouth{font-size:2rem;line-height:1}.poppy-kiss-slap{pointer-events:none;filter:drop-shadow(0 4px 16px #ec489999);z-index:25;line-height:1;animation:1.8s cubic-bezier(.16,1,.3,1) forwards kissSlap;position:absolute}@keyframes kissSlap{0%{opacity:0;transform:scale(.2)rotate(-20deg)}25%{opacity:1;transform:scale(1.3)rotate(10deg)}40%{transform:scale(1)rotate(0)}75%{opacity:.9}to{opacity:0;transform:scale(.6)translateY(-20px)}}
