:root{--bg-base:#08080c;--bg-panel:#0e0e1273;--bg-panel-secondary:#1c1c248c;--bg-glass:#0c0c1073;--bg-glass-active:#282830a6;--bg-bubble-self:linear-gradient(135deg, #5055f059 0%, #824bff33 100%);--bg-bubble-other:#ffffff0f;--border-glass:#ffffff1f;--border-glass-light:#ffffff0f;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--text-muted:#767680;--accent-graphite:#fff;--accent-graphite-hover:#e5e5ea;--accent-success:#30d158;--accent-danger:#ff453a;--transition-spring:all .4s cubic-bezier(.16, 1, .3, 1);--transition-fade:opacity .25s ease;--shadow-window:0 30px 80px #00000073, inset 0 1px 0 #ffffff26;--shadow-popover:0 10px 40px #0000004d, inset 0 1px 0 #fff3;--font-apple:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif}body.light-mode{--bg-base:#f4f4f7;--bg-panel:#ffffff8c;--bg-panel-secondary:#e6e6eba6;--bg-glass:#ffffff8c;--bg-glass-active:#dcdce2b3;--bg-bubble-self:linear-gradient(135deg, #5055f040 0%, #824bff26 100%);--bg-bubble-other:#0000000a;--border-glass:#00000014;--border-glass-light:#0000000a;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-muted:#86868b;--accent-graphite:#000;--accent-graphite-hover:#1d1d1f;--shadow-window:0 30px 80px #0000000f, inset 0 1px 0 #fffc;--shadow-popover:0 10px 40px #00000008, inset 0 1px 0 #ffffffe6}*{box-sizing:border-box;outline:none;margin:0;padding:0}@keyframes mesh-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}body{font-family:var(--font-apple);background:radial-gradient(circle at 10% 20%, #5a50ff26 0%, transparent 50%), radial-gradient(circle at 90% 80%, #ff46961f 0%, transparent 50%), radial-gradient(circle at 50% 50%, #1ebee614 0%, transparent 60%), var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-size:200% 200%;width:100vw;height:100vh;animation:18s infinite mesh-flow;overflow:hidden}body.light-mode{background:radial-gradient(circle at 10% 20%, #5a50ff0f 0%, transparent 50%), radial-gradient(circle at 90% 80%, #ff46960d 0%, transparent 50%), radial-gradient(circle at 50% 50%, #1ebee60a 0%, transparent 60%), var(--bg-base);background-size:200% 200%;animation:18s infinite mesh-flow}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:10px}body.light-mode ::-webkit-scrollbar-thumb{background:#0000000f}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.glass-pane{background:var(--bg-glass);-webkit-backdrop-filter:blur(45px)saturate(220%);border:1px solid var(--border-glass);box-shadow:var(--shadow-window);border-radius:24px;position:relative}.glass-pane:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff2e 0%,#ffffff05 50%,#0000000d 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}body.light-mode .glass-pane:before{background:linear-gradient(135deg,#fff6 0%,#ffffff1a 50%,#0000000a 100%)}.apple-button{background:var(--bg-panel-secondary);color:var(--text-primary);border:1px solid var(--border-glass);font-size:.88rem;font-weight:600;font-family:var(--font-apple);cursor:pointer;transition:var(--transition-spring);border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.3rem;display:inline-flex;box-shadow:0 2px 5px #0000000d}.apple-button:hover:not(:disabled){background:var(--bg-glass-active);border-color:#ffffff2e;transform:translateY(-1.5px);box-shadow:0 4px 12px #0000001f}body.light-mode .apple-button:hover:not(:disabled){border-color:#00000026}.apple-button:active:not(:disabled){background:var(--bg-panel);transform:translateY(-.5px);box-shadow:0 2px 4px #0000000f}.apple-button:disabled{opacity:.35;cursor:not-allowed}.apple-button.primary{background:var(--text-primary);color:var(--bg-base);border:none;font-weight:700}.apple-button.primary:hover:not(:disabled){background:#fff;box-shadow:0 4px 15px #ffffff26}body.light-mode .apple-button.primary:hover:not(:disabled){color:#fff;background:#000;box-shadow:0 4px 15px #00000026}.apple-button.danger{color:var(--accent-danger);background:#ff453a1a;border:1px solid #ff453a33}.apple-button.danger:hover:not(:disabled){background:#ff453a33;border-color:#ff453a4d}.apple-input-group{flex-direction:column;gap:.45rem;width:100%;display:flex}.apple-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;padding-left:2px;font-size:.76rem;font-weight:700}.apple-input,.apple-select,.apple-textarea{border:1px solid var(--border-glass-light);color:var(--text-primary);font-size:.92rem;font-family:var(--font-apple);transition:var(--transition-spring);background:#00000040;border-radius:10px;padding:.75rem 1rem}body.light-mode .apple-input,body.light-mode .apple-select,body.light-mode .apple-textarea{background:#ffffff80}.apple-input:focus,.apple-select:focus,.apple-textarea:focus{border-color:var(--accent-graphite);background:#0000004d;box-shadow:0 0 0 3px #ffffff14}body.light-mode .apple-input:focus,body.light-mode .apple-select:focus,body.light-mode .apple-textarea:focus{background:#ffffffb3;box-shadow:0 0 0 3px #0000000a}.apple-textarea{resize:none;height:80px}.checker-list{flex-direction:column;gap:.75rem;width:100%;display:flex}.checker-item{border:1px solid var(--border-glass-light);transition:var(--transition-spring);background:#ffffff05;border-radius:8px;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.checker-item:hover{background:#ffffff0a}.checker-info{flex-direction:column;display:flex}.checker-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.checker-details{color:var(--text-secondary);font-size:.75rem}.checker-badge{text-transform:uppercase;border-radius:12px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.checker-badge.success{color:var(--accent-success);background:#30d15826;border:1px solid #30d15833}.checker-badge.failed{color:var(--accent-danger);background:#ff453a26;border:1px solid #ff453a33}.checker-badge.warning{color:#ffbd2e;background:#ffbd2e26;border:1px solid #ffbd2e33}.message-bubble-container .msg-photo{border:1px solid var(--border-glass);cursor:zoom-in;max-width:260px;transition:var(--transition-spring);border-radius:10px;display:block}.message-bubble-container .msg-photo:hover{opacity:.9}.message-bubble-container .msg-video{border:1px solid var(--border-glass);background:#000;border-radius:10px;max-width:280px;display:block}.voice-player{align-items:center;gap:.8rem;min-width:200px;padding:.2rem 0;display:flex}.voice-play-btn{border:1px solid var(--border-glass);width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:var(--transition-spring);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.voice-play-btn:hover{background:#fff3}.voice-waveform{cursor:pointer;background:#ffffff26;border-radius:2px;flex:1;height:4px;position:relative}.voice-progress{background:var(--text-primary);border-radius:2px;width:0%;height:100%}.voice-duration{color:var(--text-secondary);font-size:.72rem;font-weight:500}.location-card{border:1px solid var(--border-glass-light);background:#00000026;border-radius:10px;flex-direction:column;gap:.6rem;max-width:250px;padding:.8rem;display:flex}.location-map-icon{text-align:center;font-size:1.8rem}.location-title{text-align:center;font-size:.85rem;font-weight:600}.location-btn{width:100%;padding:.4rem;font-size:.8rem;text-decoration:none}.lightbox-modal{z-index:9999;cursor:zoom-out;background:#0a0a0cf2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-img{border-radius:8px;max-width:90vw;max-height:90vh;animation:.3s cubic-bezier(.25,1,.5,1) forwards zoomIn;box-shadow:0 20px 50px #000c}.message-bubble strong{font-weight:700}.message-bubble em{font-style:italic}.message-bubble u{text-decoration:underline}.tab-navbar{border-bottom:1px solid var(--border-glass-light);background:#00000026;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-spring);text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.75rem .2rem;font-size:.78rem;font-weight:600}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-graphite);background:#ffffff05}.recording-bar{background:#ff453a1f;border:1px solid #ff453a33;border-radius:8px;flex:1;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.recording-info{color:var(--accent-danger);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.recording-dot{background:var(--accent-danger);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.recording-cancel{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:.8rem}.recording-cancel:hover{color:var(--text-primary)}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.animate-slide-up{animation:.6s cubic-bezier(.25,1,.5,1) forwards slideUp}.ios-overlay{-webkit-backdrop-filter:blur(20px);z-index:9999;background:#0a0a0c66;animation:.3s forwards fadeIn;position:fixed;inset:0}.ios-context-menu-container{z-index:10000;flex-direction:column;align-items:center;gap:.8rem;max-width:90vw;animation:.35s cubic-bezier(.34,1.56,.64,1) forwards scaleUp;display:flex;position:fixed}.reactions-bar{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-glass);box-shadow:var(--shadow-popover);border-radius:30px;gap:.5rem;padding:.5rem .8rem;display:flex}.reaction-emoji-btn{cursor:pointer;font-size:1.5rem;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.reaction-emoji-btn:hover{transform:scale(1.3)translateY(-2px)}.ios-context-menu-container .message-bubble-wrapper{max-width:100%;align-self:center!important}.ios-context-menu-container .message-bubble{transform:scale(1.02);box-shadow:0 10px 30px #0000004d}.context-actions{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-glass);width:220px;box-shadow:var(--shadow-popover);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.context-action-btn{color:var(--text-primary);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border-glass-light);background:0 0;padding:.8rem 1.2rem;font-size:.92rem;font-weight:500;transition:background .2s}.context-action-btn:last-child{border-bottom:none}.context-action-btn:hover{background:#ffffff14}body.light-mode .context-action-btn:hover{background:#0000000d}.context-action-btn.danger{color:var(--accent-danger)}.reactions-pill-container{flex-wrap:wrap;align-self:flex-end;gap:3px;margin-top:3px;display:flex}.message-bubble-wrapper.other .reactions-pill-container{align-self:flex-start}.reaction-pill{border:1px solid var(--border-glass);cursor:pointer;transition:var(--transition-spring);-webkit-user-select:none;user-select:none;color:var(--text-secondary);background:#00000040;border-radius:10px;align-items:center;gap:3px;padding:2px 6px;font-size:.72rem;display:inline-flex}body.light-mode .reaction-pill{color:var(--text-secondary);background:#0000000f}.reaction-pill:hover{color:var(--text-primary);background:#ffffff0d}body.light-mode .reaction-pill:hover{background:#0000001a}.reaction-pill.active{color:var(--text-primary);background:#8e8e9340;border-color:#8e8e9366}.gif-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(25px);border:1px solid var(--border-glass);width:320px;height:380px;box-shadow:var(--shadow-popover);z-index:100;border-radius:12px;flex-direction:column;animation:.3s cubic-bezier(.25,1,.5,1) forwards slideUp;display:flex;position:absolute;bottom:75px;right:20px;overflow:hidden}.gif-search-box{border-bottom:1px solid var(--border-glass-light);padding:.7rem}.gif-search-input{border:1px solid var(--border-glass);width:100%;color:var(--text-primary);background:#00000040;border-radius:6px;padding:.5rem .8rem;font-size:.85rem}.gif-grid{flex:1;grid-template-columns:repeat(2,1fr);gap:5px;padding:5px;display:grid;overflow-y:auto}.gif-item{object-fit:cover;cursor:pointer;border-radius:6px;width:100%;height:110px;transition:opacity .2s}.gif-item:hover{opacity:.85}.msg-gif{border:1px solid var(--border-glass);border-radius:10px;max-width:200px;display:block}.group-badge{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border-glass-light);vertical-align:middle;background:#8e8e9326;border-radius:4px;margin-left:.3rem;padding:1px 4px;font-size:.65rem;font-weight:700;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:11000;background:#0009;justify-content:center;align-items:center;animation:.25s forwards fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-panel);border:1px solid var(--border-glass);width:90%;max-width:400px;box-shadow:var(--shadow-window);border-radius:14px;animation:.3s cubic-bezier(.25,1,.5,1) forwards zoomIn;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-glass-light);justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex}.modal-title{font-size:.95rem;font-weight:600}.modal-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.modal-body{flex-direction:column;gap:1.2rem;padding:1.5rem;display:flex}.profile-card-avatar{background:var(--bg-panel-secondary);border:2px solid var(--border-glass);object-fit:cover;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto .5rem;font-size:2.5rem;display:flex;overflow:hidden}.profile-card-avatar img{object-fit:cover;width:100%;height:100%}.profile-card-name{text-align:center;font-size:1.2rem;font-weight:700}.profile-card-tag{text-align:center;color:var(--text-secondary);margin-top:-.4rem;font-size:.85rem}.profile-card-bio{color:var(--text-primary);border:1px solid var(--border-glass-light);background:#00000026;border-radius:8px;padding:.8rem;font-size:.85rem;line-height:1.45}body.light-mode .profile-card-bio{background:#0000000a}.profile-card-status{text-align:center;font-size:.8rem;font-weight:500}.profile-card-status.online{color:var(--accent-success)}.profile-card-status.offline{color:var(--text-muted)}.join-pane{text-align:center;flex-direction:column;gap:1.5rem;width:90%;max-width:400px;margin:auto;padding:2rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
