*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=amber]{--clr-bg:#09111f;--clr-primary:#133b61;--clr-accent:#ffb53d;--clr-bubble-mine:linear-gradient(145deg, #ffd16c 0%, #ffac21 54%, #f28916 100%);--clr-accent-glow:#ffb53d57;--clr-accent-subtle:#ffb53d24;--clr-text:#f7fbff;--clr-text-muted:#ebf3ff94;--clr-surface:#ffffff13;--clr-surface-strong:#0c1627b8;--clr-surface-soft:#ffffff0b;--clr-border:#ffffff1f;--clr-shadow:0 24px 60px #03081261;--clr-shadow-soft:0 12px 30px #0409133d;--radius:1.25rem;--radius-sm:.875rem}[data-theme=sapphire]{--clr-accent:#4a9fff;--clr-bubble-mine:linear-gradient(150deg, #62adff 0%, #2d84e0 100%);--clr-accent-glow:#4a9fff4d;--clr-accent-subtle:#4a9fff1f}[data-theme=emerald]{--clr-accent:#3dd68c;--clr-bubble-mine:linear-gradient(150deg, #27a462 0%, #165e38 100%);--clr-accent-glow:#3dd68c4d;--clr-accent-subtle:#3dd68c1f}[data-theme=rose]{--clr-accent:#ff6b9d;--clr-bubble-mine:linear-gradient(150deg, #ff80aa 0%, #e04e7a 100%);--clr-accent-glow:#ff6b9d4d;--clr-accent-subtle:#ff6b9d1f}[data-theme=violet]{--clr-accent:#9b7fff;--clr-bubble-mine:linear-gradient(150deg, #ae91ff 0%, #7c60e0 100%);--clr-accent-glow:#9b7fff4d;--clr-accent-subtle:#9b7fff1f}html,body,#root{height:100dvh}body{color:var(--clr-text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;letter-spacing:-.01em;background:radial-gradient(circle at 0 0,#ffb53d2e,#0000 26%),radial-gradient(circle at 100% 0,#489dff29,#0000 28%),linear-gradient(#0d1727 0%,#09111f 52%,#070d18 100%);font-family:Manrope,Segoe UI Variable,Segoe UI,system-ui,sans-serif}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.page-header{z-index:10;-webkit-backdrop-filter:blur(18px)saturate(145%);border-bottom:1px solid var(--clr-border);background:linear-gradient(#080f1beb 0%,#080f1bc2 100%);justify-content:space-between;align-items:center;padding:1rem 1rem .9rem;display:flex;position:sticky;top:0;box-shadow:0 12px 32px #0308122e}.page-title{letter-spacing:-.03em;font-size:1.3rem;font-weight:800}.card{background:linear-gradient(180deg, #ffffff14 0%, #ffffff0b 100%), var(--clr-surface-strong);border:1px solid var(--clr-border);border-radius:var(--radius);box-shadow:var(--clr-shadow-soft);-webkit-backdrop-filter:blur(18px)saturate(130%);padding:1rem}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:700;transition:opacity .2s,transform .14s,box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--clr-bubble-mine);color:#142235;box-shadow:0 12px 24px var(--clr-accent-glow)}.btn-ghost{color:var(--clr-text-muted);border:1px solid var(--clr-border);background:#ffffff0a}.btn-danger{color:#ff8d8d;background:#ff505026;border:1px solid #ff505040}.input{border:1px solid var(--clr-border);width:100%;color:var(--clr-text);background:#ffffff0e;border-radius:1rem;outline:none;padding:.85rem 1rem;font-size:.9375rem;transition:border-color .2s,box-shadow .2s,background .2s}.input:focus{background:#ffffff13;border-color:#ffb53db3;box-shadow:0 0 0 4px #ffb53d1f}.input::placeholder{color:var(--clr-text-muted)}select.input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select.input option{background:var(--clr-surface,#1e1e2e);color:var(--clr-text,#fff)}.empty-state{color:var(--clr-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.empty-state span{font-size:3rem}.app-loading{color:#ffffff80;background:linear-gradient(#0d1727 0%,#09111f 100%);justify-content:center;align-items:center;min-height:100dvh;display:flex}.night-stars-bg{pointer-events:none;z-index:0;opacity:.32;position:absolute;inset:0;overflow:hidden}.night-stars-svg{filter:blur(.2px);width:100%;height:100%;position:absolute;inset:0}@keyframes twinkle{0%,to{opacity:.08;transform:scale(.92)}50%{opacity:.28;transform:scale(1.08)}}.night-star{transform-box:fill-box;transform-origin:50%;fill:#ebf2ffcc;animation:ease-in-out infinite twinkle}.night-star-bright{filter:drop-shadow(0 0 .5px #b4d2ff47);opacity:.5}@keyframes shoot{0%{opacity:0;transform:translate(0)translateY(0)rotate(-32deg)scaleX(.05)}4%{opacity:.85;transform:translate(0)translateY(0)rotate(-32deg)scaleX(1)}22%{opacity:0;transform:translate(260px)translateY(115px)rotate(-32deg)scaleX(1)}to{opacity:0;transform:translate(260px)translateY(115px)rotate(-32deg)scaleX(1)}}.shooting-star{display:none}.shooting-star:before{content:"";background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 0 2px #c8dcff59}.shooting-star.s1{animation-duration:14s;animation-delay:3s;top:9%;left:8%}.shooting-star.s2{animation-duration:21s;animation-delay:10s;top:22%;left:48%}.shooting-star.s3{animation-duration:17s;animation-delay:18s;top:5%;left:72%}.app-shell{background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;height:100dvh;transition:background .4s;display:flex;position:relative;overflow:hidden}.app-shell:before,.app-shell:after{content:"";pointer-events:none;z-index:0;filter:blur(14px);position:absolute}.app-shell:before{background:radial-gradient(circle,#ffb53d29 0%,#0000 68%);border-radius:50%;width:18rem;height:18rem;top:-5rem;right:-6rem}.app-shell:after{background:radial-gradient(circle,#4a9fff1f 0%,#0000 70%);border-radius:50%;width:22rem;height:22rem;bottom:3rem;left:-8rem}.app-main{-webkit-overflow-scrolling:touch;z-index:1;flex:1;position:relative;overflow:hidden auto}.app-nav{-webkit-backdrop-filter:blur(22px)saturate(150%);padding:.45rem .45rem calc(.6rem + env(safe-area-inset-bottom));z-index:100;margin:.6rem .75rem calc(.7rem + env(safe-area-inset-bottom));box-shadow:var(--clr-shadow);background:linear-gradient(#0a121fd1 0%,#070d18f2 100%);border-top:1px solid #ffffff14;border-radius:1.4rem;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.nav-item{color:#ffffff7a;border-radius:1rem;flex-direction:column;flex:1 1 0;align-items:center;gap:.2rem;min-width:0;max-width:5rem;padding:.45rem .35rem;text-decoration:none;transition:all .2s;display:flex}.nav-item.active{color:var(--clr-accent);background:#ffffff0f;box-shadow:inset 0 1px #ffffff0f}.nav-item:hover{color:var(--clr-text);background:#ffffff0b}.nav-icon{justify-content:center;align-items:center;width:22px;height:22px;line-height:1;display:flex;position:relative}.nav-badge{background:var(--clr-bubble-mine);color:#172538;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;right:-7px}.nav-label{text-overflow:ellipsis;white-space:nowrap;text-align:center;letter-spacing:0;max-width:100%;font-size:.58rem;font-weight:700;line-height:1.05;overflow:hidden}@media (width<=420px){.app-nav{margin:.45rem .45rem calc(.55rem + env(safe-area-inset-bottom));padding-inline:.25rem}.nav-item{max-width:4.45rem;padding-inline:.2rem}.nav-label{font-size:.54rem}}.app-loading{color:#ffffff80;background:#1a1e2d;justify-content:center;align-items:center;min-height:100vh;font-size:1rem;display:flex}.login-page{background:radial-gradient(circle at 0 0,#ffb53d38,#0000 26%),radial-gradient(circle at 100% 100%,#4a9fff33,#0000 28%),linear-gradient(145deg,#0f1a2d 0%,#0a1322 55%,#09111f 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);text-align:center;background:linear-gradient(#ffffff14 0%,#ffffff0a 100%),#0a121fc7;border:1px solid #ffffff1f;border-radius:1.75rem;width:100%;max-width:380px;padding:2.6rem 2rem;box-shadow:0 30px 70px #03081261}.login-title{color:#fff3d6;letter-spacing:-.04em;margin:0 0 .35rem;font-size:2.2rem;font-weight:800}.login-sub{color:#ffffff9e;margin:0 0 2rem;font-size:.92rem;line-height:1.55}.login-tabs{background:#ffffff0d;border:1px solid #ffffff14;border-radius:1rem;gap:.5rem;margin-bottom:1.5rem;padding:.3rem;display:flex}.login-tabs button{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:.8rem;flex:1;padding:.5rem;font-size:.875rem;transition:all .2s}.login-tabs button.active{color:#ffd879;background:linear-gradient(145deg,#ffd16c42 0%,#ffac212e 100%);box-shadow:inset 0 1px #ffffff14}.login-form{flex-direction:column;gap:.75rem;display:flex}.login-form input{color:#fff;background:#ffffff0f;border:1px solid #ffffff26;border-radius:1rem;outline:none;padding:.9rem 1rem;font-size:.9375rem;transition:border-color .2s,box-shadow .2s,background .2s}.login-form input:focus{background:#ffffff14;border-color:#ffb53d;box-shadow:0 0 0 4px #ffb53d1f}.login-form input::placeholder{color:#ffffff59}.login-form button[type=submit]{color:#162538;cursor:pointer;background:linear-gradient(145deg,#ffd16c 0%,#ffac21 60%,#f28916 100%);border:none;border-radius:999px;margin-top:.5rem;padding:.95rem;font-size:1rem;font-weight:800;transition:opacity .2s,transform .16s,box-shadow .2s;box-shadow:0 16px 30px #ffb53d47}.login-form button[type=submit]:hover:not(:disabled){transform:translateY(-1px)}.login-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#ff6b6b;margin:0;font-size:.8125rem}.login-hint{color:#ffffff70;margin-top:1.5rem;font-size:.8125rem;line-height:1.5}.calendar-page{flex-direction:column;min-height:100%;display:flex}.cal-nav{justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.cal-month-label{text-transform:capitalize;font-size:1rem;font-weight:600}.cal-nav-btn{border:1px solid var(--clr-border);color:var(--clr-text);cursor:pointer;background:linear-gradient(#ffffff14 0%,#ffffff0a 100%);border-radius:.85rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.125rem;transition:transform .16s,border-color .16s,background .16s;display:flex}.cal-nav-btn:hover{background:#ffffff1a;border-color:#ffffff29;transform:translateY(-1px)}.cal-grid{border-radius:var(--radius);box-shadow:var(--clr-shadow-soft);background:#ffffff12;grid-template-columns:repeat(7,1fr);gap:1px;margin:0 .5rem;padding:0 .75rem;display:grid;overflow:hidden}.cal-dow{text-align:center;color:var(--clr-text-muted);background:#0a121feb;padding:.5rem 0;font-size:.75rem;font-weight:600}.cal-cell{cursor:pointer;background:#0a121fe0;flex-direction:column;align-items:center;gap:.25rem;min-height:3rem;padding:.375rem .25rem .25rem;transition:background .15s;display:flex}.cal-cell:hover{background:#ffffff14}.cal-cell.empty{cursor:default;background:#0a121f73}.cal-cell.out{opacity:.35}.cal-day-num{border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.875rem;font-weight:500;display:flex}.cal-cell.today .cal-day-num{background:var(--clr-accent);color:#fff;font-weight:700}.cal-cell.selected .cal-day-num{background:var(--clr-primary);box-shadow:0 0 0 2px var(--clr-accent)}.cal-dots{gap:2px;display:flex}.cal-dot{border-radius:50%;width:5px;height:5px}.cal-dot.birthday{background:#f0a500}.cal-dot.event{background:#4fc3f7}.cal-day-events,.cal-upcoming{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.cal-day-title{color:var(--clr-text-muted);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.cal-no-events{color:var(--clr-text-muted);font-size:.875rem}.event-card{border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.event-card.birthday{border-left-color:#f0a500}.event-card.event{border-left-color:#4fc3f7}.event-card-main{flex:1;align-items:center;gap:.75rem;display:flex}.event-icon{flex-shrink:0;font-size:1.25rem}.event-title{font-size:.9375rem;font-weight:600}.event-desc{color:var(--clr-text-muted);margin-top:.125rem;font-size:.8125rem}.birthday-row{align-items:center;gap:.75rem;display:flex}.birthday-info{flex:1}.birthday-days{color:var(--clr-accent);white-space:nowrap;font-size:.8125rem;font-weight:600}.modal-overlay{z-index:200;padding:0 0 env(safe-area-inset-bottom);background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:480px;box-shadow:var(--clr-shadow);-webkit-backdrop-filter:blur(18px)saturate(145%);background:#0a1321f5;flex-direction:column;gap:1rem;padding:1.5rem 1rem 2rem;display:flex}.modal-title{font-size:1.125rem;font-weight:700}.event-form{flex-direction:column;gap:.75rem;display:flex}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.25rem;display:flex}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes menuIn{0%{opacity:0;transform:scale(.92)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.chat-list-page{flex-direction:column;min-height:100%;display:flex}.ui-icon{flex-shrink:0;width:1em;height:1em;display:inline-block}.ui-icon-btn{justify-content:center;align-items:center;display:inline-flex}.ui-icon-label{align-items:center;gap:.625rem;display:inline-flex}.ui-icon-label-btn{align-items:center;gap:.45rem;display:inline-flex}.topic-list{flex-direction:column;gap:.7rem;padding:1rem;display:flex}.topic-row{cursor:pointer;box-shadow:var(--clr-shadow-soft);background:linear-gradient(#ffffff12 0%,#ffffff0a 100%);border:1px solid #ffffff14;border-radius:1.1rem;align-items:center;gap:.875rem;padding:.95rem 1rem;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.topic-row:hover{background:linear-gradient(#ffffff1a 0%,#ffffff0d 100%);border-color:#ffffff24;transform:translateY(-1px)}.row-pinned{border-left:2.5px solid var(--clr-accent);padding-left:calc(1rem - 2.5px);box-shadow:0 16px 34px #ffb53d14}.pin-indicator{width:1.25rem;height:1.25rem;color:var(--clr-accent);opacity:1;pointer-events:none;background:#ffb53d1f;border:1px solid #ffb53d38;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.55rem;left:.55rem;box-shadow:0 6px 14px #ffb53d14}.pin-btn{color:#ffffff85;opacity:0;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;flex-shrink:0;width:1.95rem;height:1.95rem;padding:0;transition:color .15s,opacity .15s,background .15s,border-color .15s,transform .15s}@media (hover:none){.pin-btn{opacity:.35}}.topic-row:hover .pin-btn,.dm-user-row:hover .pin-btn{opacity:1}.pin-btn.pin-btn-active{color:var(--clr-accent);background:#ffb53d1a;border-color:#ffb53d38;opacity:1!important}.pin-btn:hover{color:var(--clr-accent);background:#ffb53d14;border-color:#ffb53d2e;transform:translateY(-1px)}.topic-emoji{background:linear-gradient(#ffffff1f 0%,#ffffff0d 100%);border:1px solid #ffffff14;border-radius:1rem;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;display:inline-flex}.topic-emoji-fallback{color:var(--clr-text-muted)}.topic-lock{color:var(--clr-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topic-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.topic-row-top{align-items:center;gap:.375rem;display:flex}.topic-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.topic-row-right{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.topic-time{color:var(--clr-text-muted);flex-shrink:0;font-size:.6875rem}.topic-last-msg{color:var(--clr-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.topic-unread-badge{background:var(--clr-bubble-mine);color:#172538;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;font-size:.6875rem;font-weight:700;display:flex}.topic-page{background-position:50%;background-size:cover;flex-direction:column;height:100%;transition:background .3s;display:flex}.topic-header{-webkit-backdrop-filter:blur(18px)saturate(145%);border-bottom:1px solid var(--clr-border);z-index:10;background:linear-gradient(#080f1beb 0%,#080f1bc2 100%);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.topic-back-btn{color:var(--clr-text);cursor:pointer;background:0 0;border:none;padding:.25rem}.topic-header-name{letter-spacing:-.02em;flex:1;font-size:1.08rem;font-weight:800}.pinned-banner{-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--clr-accent-subtle);cursor:pointer;background:linear-gradient(#0c1524db 0%,#0c1524bd 100%);align-items:center;gap:.625rem;padding:.5rem 1rem;transition:background .15s,border-color .15s;display:flex}.pinned-banner:hover{background:#101b2deb}.pinned-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;display:inline-flex}.pinned-content{flex-direction:column;flex:1;gap:.0625rem;min-width:0;display:flex}.pinned-label{color:var(--clr-accent);font-size:.6875rem;font-weight:600}.pinned-text{color:var(--clr-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.pinned-unpin{color:var(--clr-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem;transition:color .15s}.pinned-unpin:hover{color:#e05353}.msg-pin-badge{z-index:1;width:1.2rem;height:1.2rem;color:var(--clr-accent);background:#ffb53d29;border:1px solid #ffb53d3d;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-.35rem;right:-.15rem;box-shadow:0 8px 18px #ffb53d1f}.messages-area{flex-direction:column;flex:1;gap:1.125rem;padding:1.15rem 1rem 1.35rem;display:flex;overflow-y:auto}.msg-group{flex-direction:column;gap:.375rem;display:flex}.msg-group.mine{align-items:flex-end}.msg-group.theirs{align-items:flex-start}.msg-author{color:var(--clr-accent);padding:0 .5rem;font-size:.6875rem;font-weight:600}.msg-wrap{z-index:1;flex-direction:column;max-width:min(75%,36rem);animation:.22s ease-out both msgIn;display:flex;position:relative}.msg-wrap.has-menu{z-index:200}.msg-bubble{word-break:break-word;box-sizing:border-box;border:1px solid #0000;border-radius:1.25rem;width:100%;padding:.82rem 1rem;font-size:.9375rem;line-height:1.5;transition:transform .12s,box-shadow .18s,border-color .18s}.msg-group.mine .msg-bubble{background:var(--clr-bubble-mine);color:#1a1e2d;box-shadow:inset 0 1px 0 #ffffff47, 0 2px 10px var(--clr-accent-glow);border-bottom-right-radius:.3rem;font-weight:500}.msg-group.theirs .msg-bubble{-webkit-backdrop-filter:blur(12px)saturate(130%);color:#fff;background:linear-gradient(150deg,#ffffff24 0%,#ffffff14 100%);border-color:#ffffff14;border-bottom-left-radius:.3rem;box-shadow:inset 0 1px #ffffff1a,0 12px 28px #00000029}.msg-bubble-media{box-shadow:none!important;background:0 0!important;padding:.25rem!important}.msg-bubble-link{padding:.3rem!important}.msg-bubble img{border-radius:.875rem;max-width:100%;display:block}.msg-bubble audio{width:100%;min-width:200px}.audio-message-player{flex-direction:column;gap:.35rem;min-width:220px;display:flex}.audio-message-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.audio-message-label{color:var(--clr-accent);font-size:.75rem;font-weight:700}.audio-message-wave{flex:1;align-items:flex-end;gap:.15rem;height:1.2rem;display:flex}.audio-message-wave-bar{background:linear-gradient(180deg, #ffffffeb 0%, var(--clr-accent) 100%);transform-origin:bottom;border-radius:999px;width:.18rem;height:100%}.audio-message-player audio{width:100%;min-width:0}.message-link-anchor{color:inherit;text-underline-offset:.15rem;word-break:break-all;text-decoration:underline}.msg-link-actions{justify-content:flex-end;margin-top:.45rem;display:flex}.msg-link-delete-btn{color:var(--clr-text-muted);cursor:pointer;background:#00000029;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .55rem;font-size:.75rem;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.msg-link-delete-btn:hover{color:#ffb1b1;background:#8c232333;border-color:#ff6e6e47}.audio-message-duration{color:var(--clr-text-muted);align-self:flex-end;font-size:.6875rem}.poll-link-card{min-width:220px;color:inherit;background:linear-gradient(#ffffff17 0%,#ffffff0a 100%);border:1px solid #ffffff14;border-radius:.95rem;flex-direction:column;gap:.5rem;padding:.55rem;text-decoration:none;display:flex}.poll-link-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.poll-link-card-kicker{color:var(--clr-accent);align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;display:inline-flex}.poll-link-card-arrow{color:var(--clr-text-muted);transform:rotate(-90deg)}.poll-link-card-loading,.poll-link-card-missing{color:var(--clr-text-muted);font-size:.82rem}.poll-link-card-image{aspect-ratio:16/9;object-fit:cover;border-radius:.8rem;width:100%;display:block}.poll-link-card-title{font-size:.92rem;line-height:1.35}.poll-link-card-options{flex-direction:column;gap:.35rem;display:flex}.poll-link-card-option{color:var(--clr-text-muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.poll-link-card-option-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.poll-link-card-option-meta,.poll-link-card-total,.poll-link-card-url{color:var(--clr-text-muted);font-size:.76rem}.msg-sticker{font-size:3rem;box-shadow:none!important;background:0 0!important;padding:0!important}.msg-time{color:var(--clr-text-muted);align-items:center;gap:.15em;padding:0 .5rem;font-size:.625rem;display:inline-flex}.msg-tick{letter-spacing:-.15em;color:#ffffff59;font-size:.65rem;line-height:1}.msg-group.mine .msg-tick{color:#ffffff80}.msg-group.mine .msg-tick.msg-tick-read{color:#fffffff2}.chat-input-bar{padding:.7rem .8rem calc(.8rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);border-top:1px solid var(--clr-border);background:linear-gradient(#0a121fd1 0%,#080f1bf2 100%);align-items:flex-end;gap:.5rem;display:flex;box-shadow:0 -18px 36px #03081229}.chat-attach-btn{border:1px solid var(--clr-border);cursor:pointer;width:2.5rem;height:2.5rem;color:var(--clr-text-muted);background:linear-gradient(#ffffff17 0%,#ffffff0a 100%);border-radius:1rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;transition:background .15s,color .15s,transform .15s;display:flex}.chat-attach-btn:hover,.chat-attach-btn:active{background:var(--clr-accent-subtle);color:var(--clr-accent);transform:translateY(-1px)}.chat-send-btn{background:var(--clr-bubble-mine);cursor:pointer;color:#1a1e2d;width:2.75rem;height:2.75rem;box-shadow:0 14px 28px var(--clr-accent-glow);border:none;border-radius:1rem;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;transition:transform .12s,box-shadow .12s;display:flex}.chat-send-btn:not(:disabled):active{box-shadow:none;transform:scale(.9)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.voice-record-btn.recording{color:#ff8f8f;background:#ff50502e;border-color:#ff505059}.voice-record-btn{touch-action:none}.chat-send-btn.send-mode{background:var(--clr-bubble-mine);color:#1a1e2d;box-shadow:0 2px 10px var(--clr-accent-glow)}.chat-send-btn.voice-mode{color:var(--clr-text);border:1px solid var(--clr-border);box-shadow:none;background:linear-gradient(#ffffff17 0%,#ffffff0a 100%)}.chat-textarea{border:1px solid var(--clr-border);color:var(--clr-text);resize:none;background:linear-gradient(#ffffff16 0%,#ffffff0b 100%);border-radius:1.2rem;outline:none;flex:1;max-height:120px;padding:.78rem .95rem;font-family:inherit;font-size:.9375rem;line-height:1.45;transition:border-color .2s,box-shadow .2s;display:block;overflow-y:auto}.chat-textarea:focus{border-color:var(--clr-accent);box-shadow:0 0 0 4px #ffb53d1f}.chat-textarea::placeholder{color:var(--clr-text-muted)}.attach-menu{border:1px solid var(--clr-border);border-radius:var(--radius);z-index:50;width:min(15rem,100vw - 1.5rem);box-shadow:var(--clr-shadow);-webkit-backdrop-filter:blur(18px)saturate(140%);background:#0a1321f2;animation:.15s ease-out both menuIn;position:absolute;bottom:5rem;left:.75rem;overflow:hidden}.attach-menu button{width:100%;color:var(--clr-text);cursor:pointer;text-align:left;white-space:normal;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.9375rem;line-height:1.35;transition:background .15s;display:flex}.attach-menu button:hover{background:#ffffff0f}.sticker-picker{border-top:1px solid var(--clr-border);z-index:50;-webkit-backdrop-filter:blur(18px)saturate(140%);background:#0a1321f5;flex-direction:column;max-height:260px;animation:.15s ease-out both menuIn;display:flex;position:absolute;bottom:5rem;left:0;right:0}.sticker-tabs{border-bottom:1px solid var(--clr-border);scrollbar-width:none;flex-shrink:0;gap:.25rem;padding:.5rem .75rem 0;display:flex;overflow-x:auto}.sticker-tabs::-webkit-scrollbar{display:none}.sticker-tab{color:var(--clr-text-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;max-width:6.5rem;padding:.25rem .625rem .375rem;font-size:.8125rem;transition:color .15s;overflow:hidden}.sticker-tab.active{color:var(--clr-accent);border-bottom-color:var(--clr-accent)}.sticker-grid{flex-wrap:wrap;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.sticker-item{cursor:pointer;transition:transform .1s}.sticker-item:hover{transform:scale(1.15)}.sticker-item:active{transform:scale(.95)}.emoji-sticker{font-size:2rem}.img-sticker{object-fit:contain;border-radius:.5rem;width:64px;height:64px}.msg-sticker-img{object-fit:contain;width:120px;height:120px;display:block}.msg-bubble-wrapper{cursor:pointer;touch-action:pan-y;flex-direction:column;transition:transform .18s ease-out;display:inline-flex;position:relative}.msg-bubble-wrapper:active{transform:scale(.97)}.msg-context-menu{border:1px solid var(--clr-border);z-index:100;min-width:13.5rem;max-width:min(17rem,100vw - 2rem);box-shadow:var(--clr-shadow);-webkit-backdrop-filter:blur(18px)saturate(140%);background:#0a1321f5;border-radius:.625rem;animation:.15s ease-out both menuIn;position:absolute;top:calc(100% + 4px);overflow:hidden}.msg-context-menu.menu-right{right:0}.msg-context-menu.menu-left{left:0}.msg-context-menu button{width:100%;color:var(--clr-text);text-align:left;cursor:pointer;white-space:normal;word-break:break-word;background:0 0;border:none;padding:.625rem 1rem;font-size:.875rem;line-height:1.35;transition:background .15s;display:block}.msg-context-menu button:hover{background:#ffffff12}.msg-context-menu button.danger{color:#e05353}.msg-edit-wrap{flex-direction:column;gap:.375rem;width:100%;max-width:75vw;display:flex}.msg-edit-input{background:var(--clr-surface);border:1px solid var(--clr-accent);color:var(--clr-text);resize:none;box-sizing:border-box;width:100%;min-height:2.5rem;box-shadow:0 0 0 2px var(--clr-accent-glow);border-radius:.875rem;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;line-height:1.45}.msg-edit-actions{justify-content:flex-end;gap:.375rem;display:flex}.topic-lock{flex-shrink:0;font-size:.875rem}.topic-admin-actions{flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto;display:flex}.topic-toggle-row{cursor:pointer;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.9375rem;display:flex}.topic-toggle{border:1px solid var(--clr-border);cursor:pointer;background:#ffffff14;border-radius:1rem;flex-shrink:0;width:2.75rem;height:1.5rem;transition:background .2s,border-color .2s,box-shadow .2s;position:relative;box-shadow:inset 0 1px 1px #ffffff0d}.topic-toggle:after{content:"";background:linear-gradient(#fff 0%,#dfe8f5 100%);border-radius:50%;width:1.125rem;height:1.125rem;transition:transform .2s,box-shadow .2s;position:absolute;top:.125rem;left:.125rem;box-shadow:0 3px 8px #0000002e}.topic-toggle.on{background:#ffb53d2e;border-color:#ffb53d6b;box-shadow:0 0 0 4px #ffb53d14}.topic-toggle.on:after{transform:translate(1.25rem)}.user-picker{flex-direction:column;gap:.5rem;display:flex}.user-picker-hint{color:var(--clr-text-muted);margin:0;font-size:.8125rem}.user-picker-list{border:1px solid var(--clr-border);border-radius:var(--radius);flex-direction:column;gap:.25rem;max-height:200px;padding:.375rem;display:flex;overflow-y:auto}.user-picker-item{cursor:pointer;border-radius:.5rem;align-items:center;gap:.625rem;padding:.375rem .5rem;font-size:.9375rem;transition:background .15s;display:flex}.user-picker-item:hover{background:#ffffff0f}.user-picker-item input[type=checkbox]{appearance:none;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff38;border-radius:.35rem;flex-shrink:0;width:1.1rem;height:1.1rem;transition:background .16s,border-color .16s,box-shadow .16s;position:relative}.user-picker-item input[type=checkbox]:after{content:"";transform-origin:50%;border-bottom:2px solid #162538;border-right:2px solid #162538;transition:transform .14s;position:absolute;inset:.18rem .16rem .22rem .24rem;transform:rotate(45deg)scale(0)}.user-picker-item input[type=checkbox]:checked{background:linear-gradient(145deg,#ffd16c 0%,#ffac21 100%);border-color:#ffb53dcc;box-shadow:0 0 0 4px #ffb53d1a}.user-picker-item input[type=checkbox]:checked:after{transform:rotate(45deg)scale(1)}.user-picker-avatar{background:var(--clr-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:flex}.msg-quick-reactions{justify-content:space-between;gap:.125rem;padding:.375rem .5rem;display:flex}.quick-reaction-btn{cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.25rem;font-size:1.375rem;line-height:1;transition:background .12s,transform .12s}.quick-reaction-btn:hover{background:#ffffff1a;transform:scale(1.2)}.quick-reaction-btn:active{transform:scale(.95)}.quick-reaction-btn.reacted{background:var(--clr-accent-subtle)}.msg-context-divider{background:var(--clr-border);height:1px;margin:.125rem 0}.msg-reactions{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.msg-reaction{border:1px solid var(--clr-border);cursor:pointer;color:var(--clr-text);background:#ffffff14;border-radius:1rem;align-items:center;gap:.2rem;padding:.2rem .5rem;font-size:.875rem;transition:background .15s,border-color .15s;display:inline-flex}.msg-reaction span{color:var(--clr-text-muted);font-size:.75rem}.msg-reaction.mine{background:var(--clr-accent-subtle);border-color:var(--clr-accent)}.msg-reaction.mine span{color:var(--clr-accent)}.msg-reaction:hover{background:#ffffff21}.msg-reply-quote{cursor:pointer;background:#0000002e;border-left:2px solid #ffffff80;border-radius:.375rem;flex-direction:column;gap:.125rem;margin-bottom:.5rem;padding:.375rem .625rem;transition:background .15s;display:flex}.msg-reply-quote:hover{background:#00000040}.msg-group.mine .msg-reply-quote{background:#00000026;border-left-color:#1a1e2d73}.msg-reply-author{color:#ffffffbf;font-size:.6875rem;font-weight:700}.msg-group.mine .msg-reply-author{color:#1a1e2da6}.msg-reply-text{color:#fff9;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.msg-group.mine .msg-reply-text{color:#1a1e2d8c}.reply-bar{border-top:1px solid var(--clr-accent-subtle);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);background:linear-gradient(#0a121fd1 0%,#080f1bf2 100%);align-items:center;gap:.625rem;padding:.5rem 1rem;display:flex}.reply-bar-content{flex-direction:column;flex:1;gap:.0625rem;min-width:0;display:flex}.reply-bar-author{color:var(--clr-accent);font-size:.6875rem;font-weight:700}.reply-bar-text{color:var(--clr-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.reply-bar-close{color:var(--clr-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:1rem;transition:color .15s}.reply-bar-close:hover{color:var(--clr-text)}.voice-recorder-bar{border-top:1px solid var(--clr-accent-subtle);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);background:linear-gradient(#0a121fd6 0%,#080f1bf5 100%);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.voice-recorder-main{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.voice-recorder-copy{flex-direction:column;gap:.125rem;min-width:0;display:flex}.voice-recorder-copy strong{font-size:.8125rem}.voice-recorder-copy span{color:var(--clr-text-muted);font-size:.75rem}.voice-swipe-hint{color:#ffb3b3!important}.voice-error-copy strong{color:#ff8f8f}.voice-recording-dot{background:#ff6b6b;border-radius:50%;flex-shrink:0;width:.75rem;height:.75rem;animation:1.2s ease-out infinite voicePulse;box-shadow:0 0 #ff6b6b73}@keyframes voicePulse{0%{box-shadow:0 0 #ff6b6b73}70%{box-shadow:0 0 0 10px #ff6b6b00}to{box-shadow:0 0 #ff6b6b00}}.voice-preview-audio{min-width:210px;max-width:100%}.voice-levels{align-items:flex-end;gap:.18rem;min-width:4.25rem;height:1.9rem;display:flex}.voice-level-bar{background:linear-gradient(180deg, #ffffffeb 0%, var(--clr-accent) 100%);transform-origin:bottom;border-radius:999px;width:.18rem;height:100%;transition:transform .12s ease-out}.voice-recorder-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}@media (width<=640px){.voice-recorder-bar,.voice-recorder-main{flex-direction:column;align-items:stretch}.voice-levels{justify-content:center;width:100%;min-width:0}.voice-preview-audio{width:100%;min-width:0}.voice-recorder-actions{width:100%}.voice-recorder-actions .btn{flex:1}}.chat-input-bar .chat-textarea{order:2}.chat-input-bar .chat-send-btn{order:3;justify-content:center;align-items:center;display:inline-flex}.chat-input-bar .chat-attach-btn{justify-content:center;align-items:center;display:inline-flex}.attach-menu button,.msg-context-menu button{align-items:center;gap:.75rem;display:flex}.reply-bar-author{align-items:center;gap:.35rem;display:inline-flex}.reply-bar-close{font-size:0}.voice-audio-player{background:linear-gradient(#ffffff1f 0%,#ffffff0d 100%);border:1px solid #ffffff14;border-radius:1rem;padding:.4rem .45rem .3rem;box-shadow:inset 0 1px #ffffff14}.file-audio-player{padding:.15rem 0}.audio-file-icon{color:var(--clr-text-muted);justify-content:center;align-items:center;display:inline-flex}.audio-speed-btn{color:var(--clr-accent);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;flex-shrink:0;padding:.1rem .38rem;font-size:.68rem;font-weight:700;line-height:1.4;transition:background .15s}.audio-speed-btn:hover{background:#ffffff2e}.msg-group.mine .audio-speed-btn{color:#1a1e2d;background:#0000001f;border-color:#0000002e}.inline-emoji{vertical-align:-.3em;object-fit:contain;width:1.4em;height:1.4em;margin:0 .05em;display:inline-block}.msg-bubble .inline-emoji{border-radius:0;max-width:none;display:inline-block}.emoji-pack-item{object-fit:contain;cursor:pointer;border-radius:.5rem;width:2.5rem;height:2.5rem;padding:.15rem;transition:background .1s}.emoji-pack-item:hover{background:#ffffff1a}.sticker-tab-divider{background:var(--clr-border);flex-shrink:0;align-self:center;width:1px;height:1.5rem;margin:0 .125rem;display:block}.sticker-tab-emoji-preview{object-fit:contain;width:1.25rem;height:1.25rem}.chat-input-wrap{position:relative}.mention-dropdown{border:1px solid var(--clr-border);z-index:20;-webkit-backdrop-filter:blur(18px)saturate(140%);background:#0a1321f7;border-bottom:none;border-radius:.75rem .75rem 0 0;position:absolute;bottom:100%;left:0;right:0;overflow:hidden;box-shadow:0 -10px 28px #00000047}.mention-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mention-item{width:100%;color:var(--clr-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:.5rem 1rem;transition:background .1s;display:flex}.mention-item:hover,.mention-item:focus{background:#ffffff12;outline:none}.mention-item-avatar{background:var(--clr-accent);color:#1a1e2d;object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:700;display:flex;overflow:hidden}.mention-item-name{font-size:.9375rem;font-weight:500}.typing-indicator{border-top:1px solid var(--clr-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#0a121fb3 0%,#080f1bd9 100%);align-items:center;gap:.5rem;padding:.35rem 1rem;display:flex}.typing-text{color:var(--clr-text-muted);font-size:.78rem;font-style:italic}.typing-dots{align-items:center;gap:3px;display:flex}.typing-dots span{background:var(--clr-accent);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite typingBounce;display:block}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.unread-separator{align-items:center;gap:.625rem;margin:.25rem 0;padding:.25rem .5rem;display:flex}.unread-separator:before,.unread-separator:after{content:"";background:#ff505059;flex:1;height:1px}.unread-separator span{color:#ff8f8f;white-space:nowrap;flex-shrink:0;font-size:.6875rem;font-weight:600}.msg-author-row{align-items:center;gap:.35rem;padding:0 .5rem;display:flex}.msg-author-row .msg-author{padding:0}.msg-author-avatar{background:var(--clr-bubble-mine);color:#1a1e2d;object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.6rem;font-weight:700;display:flex}.msg-video{background:#000;border-radius:.875rem;max-width:100%;max-height:320px;display:block}.msg-file-bubble{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex;padding:.7rem 1rem!important}.msg-file-icon{opacity:.75;flex-shrink:0}.msg-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.875rem;overflow:hidden}.msg-file-dl{color:var(--clr-accent);border:1px solid var(--clr-accent);border-radius:999px;flex-shrink:0;padding:.18rem .6rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .15s}.msg-file-dl:hover{background:var(--clr-accent-subtle)}.mention-tag{color:#fffffff2;background:#ffffff26;border-radius:.25rem;padding:0 .22em;font-weight:600}.msg-group.mine .mention-tag{color:#1a1e2de6;background:#1a1e2d1f}.mention-tag-me{background:#ffffff47}.msg-group.mine .mention-tag-me{background:#1a1e2d38}.topic-header-actions{flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto;display:flex}.topic-header-actions .ui-icon-btn{color:#fffc;cursor:pointer;background:#ffffff17;border:1px solid #ffffff12;border-radius:50%;width:2.25rem;height:2.25rem;transition:background .15s}.topic-header-actions .ui-icon-btn:hover{background:#ffffff26}.topic-header-actions .ui-icon-btn:active{background:#fff3}.topic-search-input{color:#fff;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;outline:none;flex:1;min-width:0;padding:.35rem .9rem;font-size:.9rem}.topic-search-input::placeholder{color:#fff6}mark.search-highlight{color:inherit;background:#ffd23c73;border-radius:2px;padding:0 1px}.msg-forwarded{color:#ffffff80;margin-bottom:.2rem;font-size:.7rem;font-style:italic;display:block}.msg-group.mine .msg-forwarded{color:#1a1e2d8c}.link-preview-card{color:inherit;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:.75rem;flex-direction:column;max-width:280px;text-decoration:none;transition:background .15s;display:flex;overflow:hidden}.link-preview-card:hover{background:#ffffff1a}.link-preview-image{object-fit:cover;width:100%;max-height:150px;display:block}.link-preview-body{flex-direction:column;gap:.2rem;padding:.55rem .75rem;display:flex}.link-preview-title{color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.link-preview-desc{color:#fff9;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;display:-webkit-box;overflow:hidden}.link-preview-url{color:var(--clr-accent);margin-top:.1rem;font-size:.7rem}.link-preview-loading .link-preview-url{color:#fff6}.media-gallery-overlay{z-index:200;background:#000000d9;align-items:flex-end;display:flex;position:fixed;inset:0}.media-gallery{background:var(--clr-surface);border-radius:1.25rem 1.25rem 0 0;flex-direction:column;width:100%;max-height:85vh;display:flex;overflow:hidden}.media-gallery-header{border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;padding:.85rem 1rem .6rem;font-size:.95rem;font-weight:600;display:flex}.media-gallery-empty{text-align:center;color:var(--clr-text-muted);padding:2rem;font-size:.9rem}.media-gallery-grid{grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid;overflow-y:auto}.media-gallery-item{aspect-ratio:1;background:#111;display:block;position:relative;overflow:hidden}.media-gallery-item img,.media-gallery-item video{object-fit:cover;width:100%;height:100%;display:block}.media-gallery-play{color:#ffffffd9;pointer-events:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;inset:0}.forward-overlay{z-index:200;background:#000000a6;align-items:flex-end;display:flex;position:fixed;inset:0}.forward-modal{background:var(--clr-surface);border-radius:1.25rem 1.25rem 0 0;flex-direction:column;width:100%;max-height:75vh;display:flex;overflow:hidden}.forward-modal-header{border-bottom:1px solid var(--clr-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1rem .6rem;font-size:.95rem;font-weight:600;display:flex}.forward-preview{color:var(--clr-text-muted);border-bottom:1px solid var(--clr-border);flex-shrink:0;padding:.5rem 1rem;font-size:.82rem;font-style:italic}.forward-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-muted);flex-shrink:0;padding:.6rem 1rem .2rem;font-size:.72rem;font-weight:700}.forward-item{width:100%;color:var(--clr-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.65rem 1rem;font-size:.9rem;transition:background .12s;display:flex}.forward-item:hover{background:#ffffff0d}.forward-item.sent{opacity:.6}.forward-item-icon{flex-shrink:0;font-size:1.1rem}.forward-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.forward-sent-badge{color:var(--clr-accent);flex-shrink:0;font-size:.72rem;font-weight:600}.forward-modal>:last-child{padding-bottom:env(safe-area-inset-bottom,1rem)}.votes-page{flex-direction:column;min-height:100%;display:flex}.polls-list{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.poll-card{box-shadow:var(--clr-shadow-soft);background:linear-gradient(#ffffff12 0%,#ffffff0a 100%);border:1px solid #ffffff14;border-radius:1.2rem;flex-direction:column;gap:.85rem;display:flex}.poll-card.closed{opacity:.7}.poll-card.highlighted{border-color:var(--clr-accent);box-shadow:0 0 0 1px #f0a50047,0 10px 26px #00000038}.poll-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.poll-question{flex:1;font-size:1rem;font-weight:700;line-height:1.35}.poll-actions{flex-shrink:0;gap:.375rem;display:flex}.poll-closed-badge{color:var(--clr-text-muted);background:#ffffff1a;border-radius:1rem;align-self:flex-start;padding:.125rem .625rem;font-size:.75rem}.poll-gallery{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;display:grid}.poll-gallery-image{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--clr-border);background:#ffffff0a;border-radius:1rem;width:100%;display:block}.poll-options{flex-direction:column;gap:.5rem;display:flex}.poll-option{border-radius:var(--radius-sm);border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .2s,transform .18s,background .18s;display:flex;position:relative;overflow:hidden}.poll-option:hover:not(:disabled){background:#ffffff0f;transform:translateY(-1px)}.poll-option:disabled{cursor:default}.poll-option.chosen{border-color:var(--clr-accent)}.poll-option-bar{pointer-events:none;background:#ffb53d1f;transition:width .4s;position:absolute;top:0;bottom:0;left:0}.poll-option.chosen .poll-option-bar{background:#f0a50033}.poll-option-text{flex:1;position:relative}.poll-option-pct{color:var(--clr-text-muted);font-size:.8125rem;position:relative}.poll-option.chosen .poll-option-pct{color:var(--clr-accent)}.poll-total{color:var(--clr-text-muted);font-size:.8125rem}.votes-share-toast{color:var(--clr-text);background:#f0a5001f;border:1px solid #f0a50047;border-radius:1rem;margin:0 1rem;padding:.625rem .875rem;font-size:.875rem}.poll-form-option-row{gap:.5rem;display:flex}.poll-form-images{border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:#ffffff08;flex-direction:column;gap:.75rem;padding:.875rem;display:flex}.poll-form-images-header{flex-direction:column;gap:.15rem;display:flex}.poll-form-images-header strong{font-size:.9rem}.poll-form-images-header span{color:var(--clr-text-muted);font-size:.75rem}.poll-image-preview-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;display:grid}.poll-image-preview-card{border-radius:var(--radius-sm);border:1px solid var(--clr-border);background:#ffffff08;position:relative;overflow:hidden}.poll-image-preview{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.poll-image-remove{color:#fff;cursor:pointer;background:#090c14db;border:none;border-radius:999px;width:1.7rem;height:1.7rem;position:absolute;top:.35rem;right:.35rem;box-shadow:0 4px 12px #00000047}.poll-share-modal{width:min(42rem,100vw - 2rem)}.poll-share-subtitle{color:var(--clr-text-muted);margin-top:-.15rem;margin-bottom:.75rem;line-height:1.45}.poll-share-loading,.poll-share-empty{border:1px solid var(--clr-border);border-radius:var(--radius-sm);color:var(--clr-text-muted);background:#ffffff08;padding:.85rem .95rem;font-size:.875rem}.poll-share-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.poll-share-section{flex-direction:column;gap:.65rem;min-width:0;display:flex}.poll-share-section-head{color:var(--clr-text-muted);font-size:.85rem;font-weight:700}.poll-share-list{flex-direction:column;gap:.5rem;max-height:18rem;padding-right:.2rem;display:flex;overflow:auto}.poll-share-target{border:1px solid var(--clr-border);border-radius:var(--radius-sm);width:100%;color:var(--clr-text);text-align:left;cursor:pointer;background:#ffffff08;align-items:center;gap:.7rem;padding:.75rem .85rem;transition:border-color .2s,transform .2s,background .2s;display:flex}.poll-share-target:hover:not(:disabled){background:#ffffff0f;border-color:#f0a50047;transform:translateY(-1px)}.poll-share-target:disabled{opacity:.65;cursor:wait}.poll-share-target-icon{width:2.35rem;height:2.35rem;color:var(--clr-text);background:#ffffff14;border:1px solid #ffffff14;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.poll-share-target-avatar{background:#f0a50029;overflow:hidden}.poll-share-target-avatar img{object-fit:cover;width:100%;height:100%;display:block}.poll-share-target-body{flex-direction:column;min-width:0;display:flex}.poll-share-target-body strong,.poll-share-target-body span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.poll-share-target-body strong{font-size:.92rem}.poll-share-target-body span{color:var(--clr-text-muted);font-size:.75rem}@media (width<=640px){.poll-header{flex-direction:column}.poll-actions{align-self:flex-end}.poll-form-option-row{flex-direction:column}.poll-share-grid{grid-template-columns:1fr}}.wishlist-page{flex-direction:column;min-height:100%;display:flex}.user-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;padding:.75rem 1rem;display:flex;overflow-x:auto}.user-tabs::-webkit-scrollbar{display:none}.user-tab{border:1px solid var(--clr-border);color:var(--clr-text-muted);cursor:pointer;box-shadow:var(--clr-shadow-soft);background:linear-gradient(#ffffff12 0%,#ffffff0a 100%);border-radius:1rem;flex-direction:column;flex-shrink:0;align-items:center;gap:.25rem;padding:.5rem .75rem;transition:all .2s;display:flex}.user-tab.active{border-color:var(--clr-accent);color:var(--clr-accent);background:#ffb53d1f}.user-tab-avatar{background:var(--clr-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:700;display:flex}.user-tab-name{font-size:.75rem;font-weight:600}.wish-list{flex-direction:column;gap:.75rem;padding:.5rem 1rem 1rem;display:flex}.wish-card{box-shadow:var(--clr-shadow-soft);background:linear-gradient(#ffffff12 0%,#ffffff0a 100%);border:1px solid #ffffff14;border-radius:1.15rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1rem;display:flex}.wish-card.reserved{opacity:.6}.wish-info{flex:1;min-width:0}.wish-title{font-size:.9375rem;font-weight:600}.wish-link{color:var(--clr-accent);margin-top:.125rem;font-size:.8125rem;text-decoration:none;display:inline-block}.wish-reserved-badge{color:var(--clr-text-muted);margin-top:.25rem;font-size:.75rem;display:inline-block}.wish-actions{flex-shrink:0}.settings-page{flex-direction:column;min-height:100%;display:flex}.settings-content{flex-direction:column;gap:1.5rem;padding:1rem;display:flex}.settings-section{box-shadow:var(--clr-shadow-soft);background:linear-gradient(#ffffff12 0%,#ffffff0a 100%);border:1px solid #ffffff14;border-radius:1.25rem;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.settings-section-title{color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:700}.profile-card{align-items:center;gap:.875rem;display:flex}.profile-avatar-wrap{cursor:pointer;flex-shrink:0;position:relative}.profile-avatar{background:linear-gradient(145deg, #ffffff29 0%, #ffffff0a 100%), var(--clr-primary);border:2px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:3.2rem;height:3.2rem;font-size:1.25rem;font-weight:700;display:flex;box-shadow:0 14px 24px #00000029}.profile-avatar-img{object-fit:cover;display:block}.profile-avatar-edit{color:#f8fbff;pointer-events:none;-webkit-backdrop-filter:blur(8px);background:#090c14eb;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;padding:0;font-size:0;font-weight:700;line-height:1;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 6px 14px #00000052}.profile-avatar-edit svg{flex-shrink:0;width:.9rem;height:.9rem;display:block;overflow:visible}.settings-email{color:var(--clr-text-muted);margin-top:.25rem;font-size:.8125rem}.push-card{flex-direction:column;gap:.75rem;display:flex}.push-status-line{font-size:.95rem;font-weight:600}.push-help,.push-endpoint{color:var(--clr-text-muted);font-size:.8125rem;line-height:1.5}.push-endpoint{word-break:break-all}.push-error{color:#ff8f8f;font-size:.8125rem}.push-actions{flex-wrap:wrap;gap:.5rem;display:flex}.push-pref-list,.push-topic-list{flex-direction:column;gap:.5rem;display:flex}.push-topic-title{color:var(--clr-text-muted);font-size:.8125rem}.push-pref-row,.push-topic-row{border:1px solid var(--clr-border);width:100%;color:var(--clr-text);text-align:left;cursor:pointer;background:#ffffff0a;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;transition:border-color .18s,transform .18s,background .18s;display:flex}.push-pref-row:hover:not(:disabled),.push-topic-row:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff24;transform:translateY(-1px)}.push-pref-row strong{font-size:.9rem;display:block}.push-pref-row small{color:var(--clr-text-muted);margin-top:.2rem;font-size:.75rem;line-height:1.4;display:block}.push-pref-row.on,.push-topic-row.muted{border-color:var(--clr-accent);background:#f0a50014}.push-pref-row:disabled,.push-topic-row:disabled{opacity:.6;cursor:not-allowed}.push-pref-value{color:var(--clr-accent);flex-shrink:0;font-size:.75rem;font-weight:700}.push-topic-name{align-items:center;gap:.45rem;font-size:.875rem;display:inline-flex}.bg-preview{border-radius:var(--radius);background-position:50%;background-size:cover;align-items:flex-end;height:80px;padding:.5rem .75rem;display:flex}.bg-preview-label{color:#fff9;font-size:.75rem}.gradient-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.gradient-btn{border-radius:var(--radius-sm);cursor:pointer;background-size:cover;border:2px solid #0000;align-items:flex-end;height:3.5rem;padding:.25rem .375rem;transition:border-color .2s;display:flex}.gradient-btn.active{border-color:var(--clr-accent)}.gradient-btn-label{color:#ffffffb3;font-size:.6875rem;font-weight:600}.chat-bg-row{padding:0;overflow:hidden}.chat-bg-header{cursor:pointer;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.chat-bg-name{flex:1;font-weight:600}.chat-bg-preview-dot{background-size:cover;border:1px solid #fff3;border-radius:50%;width:1.25rem;height:1.25rem}.chat-bg-toggle{color:var(--clr-text-muted);justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.ui-inline-icon{flex-shrink:0}.theme-grid{flex-wrap:wrap;gap:.625rem;display:flex}.theme-btn{cursor:pointer;background:#ffffff0d;border:2px solid #0000;border-radius:1rem;flex-direction:column;align-items:center;gap:.375rem;min-width:4.5rem;padding:.7rem .9rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.theme-btn:hover{background:#ffffff17;transform:translateY(-1px)}.theme-btn.active{border-color:var(--clr-accent)}.theme-dot{border-radius:50%;width:1.75rem;height:1.75rem;box-shadow:0 2px 6px #0000004d}.theme-label{color:var(--clr-text-muted);white-space:nowrap;font-size:.6875rem}.chat-bg-options{border-top:1px solid var(--clr-border);flex-direction:column;gap:.75rem;padding:0 1rem 1rem;display:flex}.admin-page{flex-direction:column;min-height:100%;display:flex}.admin-content{flex-direction:column;gap:2rem;padding:1rem;display:flex}.admin-section{flex-direction:column;gap:.75rem;display:flex}.admin-section-title{color:var(--clr-text-muted);font-size:1rem;font-weight:600}.admin-section-header{justify-content:space-between;align-items:center;display:flex}.user-list{flex-direction:column;gap:.5rem;display:flex}.user-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.user-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.user-avatar{background:var(--clr-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.875rem;font-weight:700;display:flex}.user-name{align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.user-email{color:var(--clr-text-muted);font-size:.8125rem}.badge-you{color:var(--clr-accent);background:#f0a50026;border-radius:.25rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:500}.user-actions{align-items:center;gap:.5rem;display:flex}.role-badge{cursor:pointer;border:none;border-radius:1rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;transition:opacity .2s}.role-badge.admin{color:var(--clr-accent);background:#f0a50026}.role-badge.member{background:var(--clr-surface);color:var(--clr-text-muted)}.role-badge:disabled{cursor:default;opacity:.6}.icon-btn{font-size:.875rem;padding:.375rem .625rem!important}.invite-list{flex-direction:column;gap:.5rem;display:flex}.invite-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.invite-row.used{opacity:.45}.invite-info{align-items:center;gap:.75rem;display:flex}.invite-code{letter-spacing:.05em;color:var(--clr-accent);font-family:Courier New,monospace;font-size:1rem;font-weight:700}.invite-status{border-radius:1rem;padding:.125rem .5rem;font-size:.75rem}.invite-status.active{color:#50dc64;background:#50dc6426}.invite-status.used{background:var(--clr-surface);color:var(--clr-text-muted)}.invite-actions{align-items:center;gap:.5rem;display:flex}.pack-create-form{gap:.5rem;display:flex}.pack-create-form .input{flex:1}.pack-list{flex-direction:column;gap:.5rem;display:flex}.pack-item{padding:0;overflow:hidden}.pack-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.pack-name{font-size:.9375rem;font-weight:600}.pack-header-actions{align-items:center;gap:.5rem;display:flex}.pack-toggle{color:var(--clr-text-muted);font-size:.75rem}.pack-body{border-top:1px solid var(--clr-border);flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem;display:flex}.sticker-admin-grid{flex-wrap:wrap;gap:.5rem;display:flex}.sticker-admin-item{width:64px;height:64px;position:relative}.sticker-admin-item img{object-fit:contain;background:#ffffff0d;border-radius:.5rem;width:100%;height:100%}.sticker-delete-btn{background:var(--clr-danger,#e05353);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.6rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.emoji-admin-grid{grid-template-columns:repeat(auto-fill,minmax(3.5rem,1fr))}.emoji-admin-item{flex-direction:column;align-items:center;gap:.25rem;display:flex}.emoji-admin-item img{object-fit:contain;width:2.5rem;height:2.5rem}.emoji-admin-name{color:var(--clr-text-muted);text-align:center;word-break:break-all;text-overflow:ellipsis;white-space:nowrap;max-width:3.5rem;font-size:.6rem;overflow:hidden}.emoji-upload-hint{color:var(--clr-text-muted);margin:0;font-size:.75rem}.dm-list-page{flex-direction:column;min-height:100%;display:flex}.dm-user-list{flex-direction:column;gap:.7rem;padding:1rem;display:flex}.dm-user-row{cursor:pointer;box-shadow:var(--clr-shadow-soft);background:linear-gradient(#ffffff12 0%,#ffffff0a 100%);border:1px solid #ffffff14;border-radius:1.1rem;align-items:center;gap:.875rem;padding:.95rem 1rem;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;display:flex}.dm-user-row:hover{background:linear-gradient(#ffffff1a 0%,#ffffff0d 100%);border-color:#ffffff24;transform:translateY(-1px)}.dm-user-row.row-pinned{border-left:2.5px solid var(--clr-accent);padding-left:calc(1rem - 2.5px)}.dm-avatar-wrap{flex-shrink:0;position:relative}.dm-avatar-wrap .pin-indicator{background:var(--clr-surface);border-radius:50%;padding:1px;line-height:0;position:absolute;top:-3px;right:-3px}.dm-avatar{background:var(--clr-bubble-mine);color:#172538;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.125rem;font-weight:700;display:flex}.dm-avatar-img{object-fit:cover;background:var(--clr-surface)}.dm-user-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.dm-user-row-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dm-user-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9375rem;font-weight:600;overflow:hidden}.dm-time{color:var(--clr-text-muted);flex-shrink:0;font-size:.6875rem}.dm-favorites-row{border-color:#ffffff1a}.dm-favorites-avatar{font-size:0;color:var(--clr-accent)!important;background:#f0a50026!important}.dm-favorites-avatar svg{flex-shrink:0;width:1.1rem;height:1.1rem;display:block}.dm-last-msg{color:var(--clr-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.dm-row-right{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.fav-edit-btn{background:var(--clr-surface,#0a131f);border:1px solid var(--clr-border,#ffffff1a);width:1.1rem;height:1.1rem;color:var(--clr-text-muted);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;bottom:-2px;right:-2px}.fav-edit-btn:hover{background:var(--clr-accent-subtle);color:var(--clr-accent)}.fav-options-menu{border:1px solid var(--clr-border,#ffffff1a);z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a1321f7;border-radius:.75rem;min-width:11rem;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000059}.fav-options-menu button{width:100%;color:var(--clr-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;transition:background .12s;display:flex}.fav-options-menu button:hover{background:#ffffff12}.dm-unread-badge{background:var(--clr-bubble-mine);color:#172538;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;font-size:.6875rem;font-weight:700;display:flex}.dm-header-avatar{background:var(--clr-bubble-mine);color:#172538;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:700;display:flex}.dm-header-avatar-img{object-fit:cover;background:var(--clr-surface)}.dm-msg-row{align-items:flex-end;gap:.5rem;display:flex}.dm-msg-row.mine{justify-content:flex-end}.dm-msg-row.theirs{justify-content:flex-start}.dm-msg-row .msg-group{max-width:calc(100% - 2.25rem)}.msg-group-avatar{background:var(--clr-bubble-mine);color:#172538;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:1.75rem;height:1.75rem;margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:flex;box-shadow:0 8px 20px #ffb53d2e}.msg-group-avatar-img{object-fit:cover;background:var(--clr-surface)}.favorites-page{flex-direction:column;min-height:100%;display:flex}.favorites-list{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.favorite-card{cursor:pointer;box-shadow:var(--clr-shadow-soft);background:linear-gradient(#ffffff12 0%,#ffffff0a 100%);border:1px solid #ffffff14;border-radius:1.15rem;flex-direction:column;gap:.375rem;padding:.95rem 2.5rem .95rem 1rem;transition:background .18s,border-color .18s,transform .18s;display:flex;position:relative}.favorite-card:hover{background:linear-gradient(#ffffff1a 0%,#ffffff0d 100%);border-color:#ffffff24;transform:translateY(-1px)}.favorite-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.favorite-topic{color:var(--clr-accent);font-size:.75rem;font-weight:600}.favorite-date{color:var(--clr-text-muted);font-size:.6875rem}.favorite-card-body{flex-direction:column;gap:.125rem;display:flex}.favorite-author{color:var(--clr-text-muted);font-size:.8125rem;font-weight:600}.favorite-text{color:var(--clr-text);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9375rem;line-height:1.45;display:-webkit-box;overflow:hidden}.favorite-remove{color:var(--clr-accent);cursor:pointer;opacity:.7;background:0 0;border:none;padding:.25rem;font-size:1.125rem;line-height:1;transition:opacity .15s,transform .15s;position:absolute;top:.875rem;right:.75rem}.favorite-remove:hover{opacity:1;transform:scale(1.15)}
