*{box-sizing:border-box}:root{--bg: #141414;--panel: #1f1f1f;--line: #333;--text: #eee;--muted: #999;--accent: #e50914;--ok: #2e7d32;--sidebar-w: 240px}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}button,.btn{font:inherit;font-size:.9rem;padding:.55rem .8rem;border-radius:8px;border:none;background:#333;color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff}button.ghost,.btn.ghost{background:none;border:1px solid #444;color:#ccc}button.link{background:none;color:var(--muted);text-decoration:underline;padding:.3rem}a{color:inherit}.muted{color:var(--muted)}.status{color:#aaa;font-size:.9rem;min-height:1.2em;margin:.5rem 0}.page>.status:empty{display:none}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{background:var(--panel);border-radius:14px;padding:2rem 1.5rem;width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}.auth-card h1{margin:0 0 .25rem;font-size:1.5rem}.auth-card .brand{margin-bottom:.25rem}.auth-card p{margin:0}.auth-card .status:empty{display:none}.auth-card .primary{width:100%;padding:.75rem;font-size:1rem;margin-top:.5rem}.username{color:var(--muted)}.fine-print{font-size:.78rem;color:#777;margin-top:.5rem!important}.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:-.01em}.logo{display:inline-flex;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(229,9,20,.35))}.logo svg{width:100%;height:100%}.logo-sm{width:30px;height:30px}.logo-md{width:36px;height:36px}.logo-lg{width:64px;height:64px}.brand-sm{font-size:1.05rem}.brand-md{font-size:1.15rem}.brand-lg{font-size:1.6rem;flex-direction:column;gap:.6rem}.wordmark-accent{color:var(--accent)}.icon{display:inline-flex;width:22px;height:22px;flex-shrink:0}.icon svg{width:100%;height:100%}.icon .accent-fill{fill:var(--accent);stroke:none}.icon .accent-stroke{stroke:var(--accent)}.nav-link.active .icon .accent-fill{fill:#fff}.nav-link.active .icon .accent-stroke{stroke:#fff}button .icon{width:18px;height:18px;margin-right:.45rem}.avatar{border-radius:50%;object-fit:cover;flex-shrink:0;background:#333}.avatar-sm{width:28px;height:28px}.avatar-md{width:40px;height:40px}.avatar-lg{width:88px;height:88px}.avatar-initials{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#ddd}.avatar-lg.avatar-initials{font-size:1.8rem}.sidebar{position:fixed;inset:0 auto 0 0;width:min(80vw,var(--sidebar-w));background:var(--panel);z-index:30;display:flex;flex-direction:column;gap:.75rem;padding:1rem .75rem;transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.menu-open .sidebar{transform:none;box-shadow:4px 0 20px #0009}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:20}.overlay[hidden]{display:none}.sidebar-brand{padding:.1rem .4rem .25rem}.me-card{display:flex;align-items:center;gap:.6rem;padding:.6rem .5rem;border-radius:10px;background:#262626;text-decoration:none;min-width:0;margin-top:auto;border:1px solid transparent}.me-card:hover{background:#2e2e2e}.me-card.active{border-color:var(--accent)}.me-card .person-names{flex:1}.me-card-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.person-names{display:flex;flex-direction:column;min-width:0}.person-names strong,.person-names .username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-names .username{font-size:.82rem}.nav{display:flex;flex-direction:column;gap:.2rem}.nav-link{display:flex;align-items:center;gap:.7rem;padding:.7rem .6rem;border-radius:8px;text-decoration:none;color:#ccc}.nav-link:hover{background:#2a2a2a}.nav-link.active{background:var(--accent);color:#fff}.nav-label{flex:1}.badge{background:#fff;color:#111;font-size:.72rem;font-weight:700;border-radius:999px;padding:.05rem .45rem}.nav-link:not(.active) .badge{background:var(--accent);color:#fff}.badge[hidden]{display:none}.account-settings{margin-top:1.25rem}.settings-title{font-size:1.15rem;margin:0 0 .25rem}.signed-in-as{margin:0 0 .75rem;font-size:.9rem;overflow-wrap:anywhere}.log-out .icon{color:var(--accent)}.mobile-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--panel);box-shadow:0 2px 8px #00000080}.hamburger{width:42px;height:42px;padding:0;background:none;border:1px solid #444;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.hamburger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px}.content{padding:.75rem;max-width:1400px}.page-title{margin:.25rem 0 .75rem;font-size:1.3rem}.section-title{margin:1.25rem 0 .5rem;font-size:1rem;color:#ccc}.profile-form{width:100%;display:flex;flex-direction:column;gap:.75rem;text-align:left;margin-top:.25rem}.field{display:flex;flex-direction:column;gap:.3rem}.field-label{font-size:.8rem;font-weight:600;color:#bbb;text-transform:uppercase;letter-spacing:.04em}.field input{width:100%;padding:.65rem .75rem;font-size:16px;border-radius:8px;border:1px solid #444;background:#222;color:var(--text)}.field input:focus,.search-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e5091440}.input-prefix{display:flex;align-items:center;border:1px solid #444;border-radius:8px;background:#222}.input-prefix:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #e5091440}.input-prefix .at{padding-left:.75rem;color:var(--muted);font-weight:600}.field .input-prefix input,.field .input-prefix input:focus{border:none;background:none;padding-left:.2rem;box-shadow:none}.field-hint{margin:0;min-height:1.1em;font-size:.8rem;color:var(--muted)}.field-hint.ok{color:#8fd694}.field-hint.error{color:#ff8a80}.profile-form .status:empty{display:none}.form-actions{display:flex;gap:.5rem}.form-actions .primary{flex:1}.auth-card .form-actions .primary{margin-top:0}.profile-names.edit-mode{flex:1;min-width:220px}.profile-names.edit-mode h2{font-size:1.1rem}.edit-btn{align-self:flex-start}.search-form{display:flex;gap:.4rem}.search-form input{flex:1;min-width:0;padding:.55rem .7rem;font-size:16px;border-radius:8px;border:1px solid #444;background:#222;color:var(--text)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}.card{background:var(--panel);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.card img,.no-poster{width:100%;aspect-ratio:2 / 3;object-fit:cover;display:block}.no-poster{display:flex;align-items:center;justify-content:center;background:#333;color:#777;font-size:.85rem}.card-body{padding:.5rem;display:flex;flex-direction:column;gap:.25rem;flex:1}.card h3{font-size:.85rem;line-height:1.25;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.meta{margin:0;color:var(--muted);font-size:.8rem}.card .card-action{margin-top:auto;padding:.5rem .4rem;border-radius:8px;font-size:.82rem;line-height:1.2;white-space:nowrap;gap:.3rem;min-height:36px}.card-action .icon{width:16px;height:16px;margin:0}.card-action.add{background:var(--accent);color:#fff;font-weight:600}.card-action.in-list{background:#2a2a2a;color:#f2f2f2;border:1px solid #3d3d3d;font-weight:600}.card-action.on-watchlist{background:#262626;color:#ddd;border:1px solid #444}.pager{display:flex;justify-content:center;align-items:center;gap:.75rem;padding-bottom:1.5rem;font-size:.9rem}.pager[hidden]{display:none}.tier-icon{color:var(--accent)}.chips{display:flex;gap:.4rem;overflow-x:auto;margin:0 -.75rem;padding:.1rem .75rem .6rem;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;gap:.35rem;border-radius:999px;padding:.45rem .8rem;background:#222;border:1px solid #3a3a3a;color:#ccc;font-size:.85rem}.chip .icon{width:16px;height:16px;margin:0}.chip small{color:var(--muted);font-size:.75rem}.chip.active{background:#fff;color:#111;border-color:#fff}.chip.active small{color:#555}.tier-section{margin-top:1rem}.tier-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.6rem;flex-wrap:wrap}.tier-header h3{margin:0;font-size:1.05rem;color:var(--text)}.tier-count{font-size:.85rem;color:#bbb;font-variant-numeric:tabular-nums}.tier-header .tier-full-pill{background:#2a2a2a;color:#bbb;font-size:.72rem;padding:.15rem .5rem}.tier-empty{margin:0;padding:.9rem;border-radius:10px;border:1px dashed #3a3a3a;color:var(--muted);font-size:.85rem}.empty-state{background:var(--panel);border-radius:14px;padding:1.5rem 1.25rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}.empty-state h3{margin:0}.empty-state p{margin:0;max-width:34ch}.btn.primary{background:var(--accent);color:#fff}body.sheet-open{overflow:hidden}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0009;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .15s ease}.sheet{position:relative;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;background:#1c1c1c;border-radius:18px 18px 0 0;padding:.5rem 1rem calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #00000080;animation:sheet-up .2s ease;outline:none}.sheet-leaving{opacity:0;transition:opacity .15s}.sheet-handle{width:40px;height:4px;border-radius:4px;background:#444;margin:.25rem auto .5rem}.sheet-close{position:absolute;top:.5rem;right:.6rem;width:36px;height:36px;padding:0;border-radius:50%;background:#2a2a2a;font-size:1.3rem;line-height:1}.sheet-body{display:flex;flex-direction:column;gap:.7rem}.sheet-body.is-busy{opacity:.6;pointer-events:none}.sheet-movie{display:flex;gap:.8rem;align-items:center;padding-right:2.5rem}.sheet-poster{width:56px;aspect-ratio:2 / 3;border-radius:6px;object-fit:cover;flex-shrink:0;background:#333}.sheet-movie-text h3{margin:0;font-size:1.05rem;line-height:1.25}.sheet-movie-text p{margin:.15rem 0 0;font-size:.85rem}.sheet-note{color:#ddd;font-weight:600}.sheet-section{margin:.3rem 0 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#aaa}.sheet-error:empty{display:none}.sheet-error{color:#ff8a80;margin:0}.tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.tier-btn{justify-content:flex-start;gap:.55rem;padding:.7rem;min-height:60px;text-align:left;white-space:normal;background:#242424;border:1px solid #353535;border-radius:12px}.tier-btn .icon{width:24px;height:24px;margin:0}.tier-btn-text{display:flex;flex-direction:column;min-width:0}.tier-btn strong{color:var(--text);font-size:.95rem}.tier-btn small{color:#aaa;font-size:.72rem;line-height:1.25}.tier-btn.is-full{background:#222;border-style:dashed;border-color:#444}.tier-btn.is-full:not(.is-current) strong{color:#aaa}.tier-btn.is-full:not(.is-current) .tier-icon{color:#777}.tier-btn.is-current{border-style:solid;opacity:1;background:#e509141f;border-color:var(--accent);cursor:default}.tier-btn:not(:disabled):active{transform:scale(.98)}.or{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.8rem}.or:before,.or:after{content:"";flex:1;height:1px;background:#333}.watch-btn{flex-direction:column;gap:.1rem;padding:.75rem;border-radius:12px;background:#262626;border:1px solid #3d3d3d}.watch-btn small{color:var(--muted);font-size:.75rem}button.wide{width:100%;padding:.7rem}button.danger{color:#ff8a80;border-color:#5a2a2a}button.small{padding:.4rem .6rem;font-size:.8rem}button.link.back{align-self:flex-start;text-decoration:none;padding:.2rem 0}.full-banner{display:flex;align-items:center;gap:.6rem;padding:.75rem;border-radius:12px;background:#242424;border:1px solid #353535}.full-banner .icon{width:28px;height:28px;margin:0}.full-banner span{display:flex;flex-direction:column}.full-banner strong{color:var(--text)}.full-banner small{color:#bbb;font-size:.8rem}.occupants{display:flex;flex-direction:column;gap:.5rem}.occupant{display:flex;gap:.6rem;align-items:center;background:#232323;padding:.5rem;border-radius:10px}.occupant-poster{width:40px;aspect-ratio:2 / 3;border-radius:4px;object-fit:cover;flex-shrink:0;background:#333;font-size:.7rem}.occupant-main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.occupant-main strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occupant-actions{display:flex;gap:.35rem;flex-wrap:wrap}.friend-row{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border-radius:12px;background:var(--panel);text-decoration:none}.friend-row:hover{background:#262626}.friend-row .person-names{flex:1}.friend-activity{font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-row.has-unseen .friend-activity{color:#ddd}.friend-row.has-unseen strong{color:#fff}.new-pill{background:var(--accent);color:#fff;font-size:.68rem;font-weight:700;border-radius:999px;padding:.05rem .45rem;text-transform:uppercase;letter-spacing:.03em}.suggest-btn{margin-top:-.2rem}.sheet-search{width:100%;padding:.6rem .75rem;font-size:16px;border-radius:10px;border:1px solid #444;background:#222;color:var(--text)}.sheet-search:focus,.note-input:focus{outline:none;border-color:var(--accent)}.friend-pick-list{display:flex;flex-direction:column;gap:.35rem;max-height:50vh;overflow-y:auto}.friend-pick{justify-content:flex-start;gap:.7rem;padding:.55rem;background:#232323;border-radius:10px;text-align:left;white-space:normal}.friend-pick:hover{background:#2a2a2a}.compose-pair{display:flex;flex-direction:column;gap:.5rem}.compose-to{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.note-input{width:100%;resize:vertical;min-height:4.5rem;padding:.6rem .75rem;font:inherit;font-size:16px;border-radius:10px;border:1px solid #444;background:#222;color:var(--text)}.note-counter{align-self:flex-end;color:var(--muted);font-size:.75rem}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:calc(1rem + env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;gap:.4rem;width:min(92vw,420px);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#f2f2f2;color:#111;padding:.7rem .9rem;border-radius:12px;box-shadow:0 6px 24px #00000073;font-size:.9rem;animation:sheet-up .18s ease}.toast-error{background:#ffdad6;color:#410002}.toast-leaving{opacity:0;transition:opacity .2s}.toast-action{background:none;color:var(--accent);font-weight:700;padding:.2rem .4rem}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.person-list{display:flex;flex-direction:column;gap:.5rem}.person-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--panel);padding:.6rem;border-radius:10px;flex-wrap:wrap}.person-identity{display:flex;align-items:center;gap:.6rem;text-decoration:none;min-width:0;flex:1 1 160px}.person-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.person-actions>button,.person-actions>.status-chip,.chip-menu-wrap>.status-chip,.btn-message,.profile-actions .edit-btn{height:40px;border-radius:10px;padding:0 1rem;font-size:.9rem;font-weight:600;gap:.4rem}.status-chip{display:inline-flex;align-items:center;justify-content:center;background:#2a2a2a;color:#e6e6e6;border:1px solid #3a3a3a;white-space:nowrap}.status-chip .icon{width:18px;height:18px;margin:0}.status-chip>.icon:first-child{color:#6fd88a}.friends-btn:hover,.friends-btn[aria-expanded=true]{background:#333}.friends-btn .icon:last-child{width:16px;height:16px;opacity:.7}.chip-menu-wrap{position:relative}.chip-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:15;min-width:200px;padding:.3rem;background:#242424;border:1px solid #3a3a3a;border-radius:12px;box-shadow:0 10px 30px #0000008c}.chip-menu[hidden]{display:none}.menu-item{width:100%;justify-content:flex-start;background:none;border-radius:8px;padding:.6rem .75rem}.menu-item:hover{background:#2f2f2f}.menu-item.danger{color:#ff8a80}.btn-message{color:#fff;background:linear-gradient(135deg,#ff4d2e,#b0060f);box-shadow:0 4px 14px #e5091459,inset 0 1px #ffffff40;transition:transform .12s ease,box-shadow .12s ease,filter .12s}.btn-message:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 6px 18px #e5091473,inset 0 1px #ffffff40}.btn-message:active{transform:translateY(0)}.btn-message:focus-visible{outline:2px solid #fff;outline-offset:2px}.btn-message .icon{width:20px;height:20px;margin:0}.btn-message .icon .accent-fill{fill:#fff}.pill{font-size:.8rem;padding:.3rem .6rem;border-radius:999px;background:#333;color:#ccc}.pill-ok{background:#2e7d3240;color:#8fd694}.request-summary{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:12px;background:var(--panel);text-decoration:none;border:1px solid transparent;margin-bottom:.25rem}.request-summary:hover{border-color:#444}.request-summary.incoming{background:linear-gradient(90deg,rgba(229,9,20,.18),var(--panel) 70%);border-color:#e5091459}.avatar-stack{display:inline-flex;flex-shrink:0}.avatar-stack .avatar{width:36px;height:36px;border:2px solid #2a1416;font-size:.72rem;letter-spacing:-.02em}.avatar-stack .avatar+.avatar{margin-left:-8px}.request-summary-text{display:flex;flex-direction:column;min-width:0;flex:1}.request-summary-text .muted{font-size:.85rem;line-height:1.3}.count-pill{background:var(--accent);color:#fff;font-weight:700;font-size:.8rem;border-radius:999px;padding:.15rem .55rem}.chevron{color:var(--muted);font-size:1.4rem;line-height:1}.sent-link{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding:.7rem .9rem;border-radius:10px;background:var(--panel);color:#ccc;text-decoration:none;font-size:.9rem}.back-link{display:inline-block;color:var(--muted);text-decoration:none;margin:.25rem 0;font-size:.9rem}.back-link:hover{color:var(--text)}.count-line{margin:-.5rem 0 .75rem;font-size:.9rem}.load-more{display:flex;margin:1rem auto}.load-more[hidden]{display:none}.profile-header{display:flex;align-items:center;gap:1rem;background:var(--panel);padding:1rem;border-radius:12px;flex-wrap:wrap}.profile-names{display:flex;flex-direction:column;gap:.3rem;min-width:0}.profile-names h2{margin:0;font-size:1.3rem;overflow-wrap:anywhere}.profile-names .username{margin:0}.locked{background:var(--panel);padding:1rem;border-radius:10px}.avatar-wrap{position:relative;display:inline-flex;flex-shrink:0}.avatar-wrap.online:after{content:"";position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 2px var(--panel)}.friend-top,.friend-bottom{display:flex;align-items:center;gap:.5rem;min-width:0}.friend-top strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-time{color:var(--muted);font-size:.75rem;flex-shrink:0}.friend-bottom .friend-activity{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-row.has-unseen .friend-time{color:var(--accent)}.friend-activity.is-typing,.chat-presence.is-typing{color:#6fd88a;font-style:italic}body.chat-open{overflow:hidden;overscroll-behavior:none}body.chat-open .main-col{position:fixed;left:0;right:0;top:var(--app-top, 0px);height:var(--app-h, 100dvh);display:flex;flex-direction:column}.content.chat-mode{padding:0;max-width:none;flex:1;min-height:0}.chat-page{height:100%}.chat{display:flex;flex-direction:column;height:100%;background:var(--bg)}.chat-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;background:var(--panel);border-bottom:1px solid #262626}.chat-back{font-size:1.8rem;line-height:1;padding:0 .35rem .15rem;text-decoration:none;color:#ccc}.chat-identity{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;text-decoration:none}.chat-presence{font-size:.78rem;color:var(--muted)}.chat-presence.online{color:#2ecc71}.chat-top-actions{display:flex;gap:.35rem;flex-shrink:0}.chat-top-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .55rem;border-radius:10px;border:1px solid #3a3a3a;text-decoration:none;font-size:.85rem;color:#ddd}.chat-top-btn:hover{background:#2a2a2a}.chat-top-btn .icon{width:18px;height:18px}.chat-top-btn.locked{opacity:.45}.chat-top-label{display:none}.chat-body{position:relative;flex:1;min-height:0}.chat-scroll{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:.5rem .6rem 1rem}.chat-older{text-align:center;color:#666;font-size:.78rem;min-height:1.4em;padding:.3rem 0}.chat-messages{display:flex;flex-direction:column;gap:.5rem;max-width:760px;margin:0 auto}.chat-day{display:flex;justify-content:center;margin:.6rem 0 .2rem}.chat-day span{background:#232323;color:#aaa;font-size:.74rem;padding:.2rem .65rem;border-radius:999px}.chat-empty{text-align:center;margin:3rem 1rem}.chat-empty p{margin:.3rem 0}.msg{display:flex;align-items:center;gap:.3rem;touch-action:pan-y}.msg.sent{flex-direction:row-reverse}.msg .bubble{transition:transform .15s ease}.msg-reply{opacity:0;background:none;padding:.35rem;border-radius:50%;color:#999;transition:opacity .15s}.msg:hover .msg-reply,.msg-reply:focus-visible{opacity:1}.msg.swipe-ready .msg-reply{opacity:1;color:var(--accent)}@media (hover: none){.msg-reply{display:none}.msg.swipe-ready .msg-reply{display:inline-flex}}.msg.flash .bubble{animation:flash 1.2s ease}@keyframes flash{0%,40%{box-shadow:0 0 0 3px #ffffff8c}to{box-shadow:0 0 0 0 transparent}}.bubble-quote{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;width:100%;margin-bottom:.3rem;padding:.3rem .55rem;border-left:3px solid rgba(255,255,255,.7);border-radius:6px;background:#00000038;color:inherit;text-align:left;white-space:normal;font-size:.8rem}.msg.received .bubble-quote{border-left-color:var(--accent);background:#ffffff0f}.bubble-quote strong{font-size:.76rem}.quote-text{display:flex;align-items:center;gap:.3rem;opacity:.85;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.quote-text .icon,.friend-activity .icon{width:15px;height:15px;vertical-align:-3px;margin-right:.2rem}.bubble-meta{display:flex;justify-content:flex-end;align-items:center;gap:.2rem;margin-top:.15rem}.bubble-meta .bubble-time{margin:0}.tick{width:16px;height:16px;opacity:.8}.tick.read{color:#4fc3f7;opacity:1}.tick.pending{opacity:.7}.msg.pending .bubble{opacity:.85}.msg.failed .bubble{background:#3a1416;border:1px solid rgba(255,138,128,.5)}.bubble-retry{display:block;margin:.3rem 0 0 auto;padding:.15rem 0;background:none;color:#ffb4ab;font-size:.75rem;text-decoration:underline;white-space:normal;text-align:right}.bubble-quote.static{cursor:default}.msg.sent .bubble.text .tick.read{color:#8fe0ff;filter:drop-shadow(0 0 1px rgba(0,0,0,.45))}.tick.read svg{stroke-width:2.2}.friend-activity .tick{width:15px;height:15px;margin-right:.15rem;vertical-align:-3px}.poster-icon{width:28px;height:28px;color:#888}.locked-status{display:flex;align-items:center;gap:.45rem}.list-link.locked>.icon{color:#999}.msg.grouped{margin-top:-.3rem}.bubble{max-width:min(78%,420px);border-radius:18px;padding:.5rem .75rem .35rem;background:#262626;position:relative;overflow-wrap:anywhere}.msg.sent .bubble{background:var(--accent);color:#fff}.msg.received .bubble{border-bottom-left-radius:6px}.msg.sent .bubble{border-bottom-right-radius:6px}.msg.grouped.received .bubble{border-top-left-radius:6px}.msg.grouped.sent .bubble{border-top-right-radius:6px}.bubble-text{white-space:pre-wrap;line-height:1.35}.bubble-time{font-size:.68rem;opacity:.65}.bubble.movie{padding:.45rem;width:min(78%,320px);background:#1d1d1d;border:1px solid #333}.msg.sent .bubble.movie{background:#2a1214;border-color:#e5091480;color:var(--text)}.bubble-movie-open{display:flex;justify-content:flex-start;gap:.6rem;align-items:center;width:100%;background:none;padding:0;text-align:left;white-space:normal;border-radius:12px}.bubble-poster{width:64px;aspect-ratio:2 / 3;border-radius:10px;object-fit:cover;flex-shrink:0;background:#333}.bubble-poster.no-poster{display:flex;align-items:center;justify-content:center}.bubble-movie-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.bubble-movie-text strong{font-size:.95rem;line-height:1.25}.bubble-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.bubble-note{margin:.45rem .15rem 0;white-space:pre-wrap;font-size:.9rem}.bubble-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem .1rem .1rem}.bubble-actions button{padding:.4rem .65rem;font-size:.82rem}.bubble-actions .card-action{width:auto}.chat-jump{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);border-radius:999px;background:#fff;color:#111;font-size:.8rem;box-shadow:0 4px 14px #00000080}.chat-jump[hidden]{display:none}.chat-composer{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid #262626}.chat-compose-row{display:flex;align-items:flex-end;gap:.45rem}.reply-bar{display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem .35rem .65rem;border-left:3px solid var(--accent);background:#262626;border-radius:8px}.reply-bar[hidden]{display:none}.reply-bar>.icon{color:var(--accent);width:18px;height:18px}.reply-bar-main{display:flex;flex-direction:column;min-width:0;flex:1;font-size:.82rem}.reply-bar-main strong{color:var(--accent);font-size:.78rem}.reply-bar-text{display:flex;align-items:center;gap:.3rem;color:#bbb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-bar-close{background:none;padding:.3rem;color:#aaa}.reply-bar-close .icon,.msg-reply .icon{margin:0;width:18px;height:18px}.chat-input{flex:1;resize:none;min-height:40px;max-height:140px;padding:.6rem .85rem;border-radius:20px;border:1px solid #3a3a3a;background:#141414;color:var(--text);font:inherit;font-size:16px;line-height:1.3}.chat-input:focus{outline:none;border-color:#666}.chat-plus-btn{width:40px;height:40px;padding:0;border-radius:50%;background:#2a2a2a;color:#eee;flex-shrink:0}.chat-plus-btn .icon{margin:0;width:22px;height:22px}.chat-plus-btn:hover{background:var(--accent)}.chat-send{border-radius:20px;height:40px;flex-shrink:0}.profile-presence{margin:0 0 .4rem;font-size:.85rem;color:var(--muted)}.profile-presence.online{color:#2ecc71}.profile-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.list-links{display:grid;gap:.6rem;margin-top:1rem}.list-link{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:12px;background:var(--panel);text-decoration:none}a.list-link:hover{background:#262626}.list-link-text{display:flex;flex-direction:column;flex:1;min-width:0}.list-link.locked{opacity:.75}.settings{margin-top:.5rem}.setting{border:none;padding:0;margin:0 0 1rem}.setting legend{font-size:.9rem;color:#ccc;margin-bottom:.45rem}.segmented{display:inline-flex;flex-wrap:wrap;background:var(--panel);border-radius:12px;padding:.25rem;gap:.25rem}.segmented label{cursor:pointer}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:inline-block;padding:.5rem .85rem;border-radius:9px;font-size:.88rem;color:#bbb}.segmented input:checked+span{background:#fff;color:#111;font-weight:600}.segmented input:focus-visible+span{outline:2px solid var(--accent)}.settings-status:empty{display:none}@media (max-width: 519px){.profile-names.edit-mode{flex-basis:100%}}@media (max-width: 360px){.content{padding:.5rem}.grid{gap:.5rem}.search-form button{padding:.55rem .6rem}}@media (min-width: 520px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-top-label{display:inline}.list-links{grid-template-columns:1fr 1fr}}@media (min-width: 600px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px;padding-bottom:1rem}.sheet-handle{display:none}}@media (min-width: 900px){.chips{margin:0;padding-left:0;padding-right:0;flex-wrap:wrap}.sidebar{transform:none;width:var(--sidebar-w);box-shadow:none}.overlay,.mobile-topbar{display:none!important}.main-col{margin-left:var(--sidebar-w)}.chat-scroll{padding:.75rem 1.25rem 1rem}.content{padding:1.25rem 2rem}.page-title{font-size:1.5rem}.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}.card-body{padding:.6rem}.card h3{font-size:.95rem}.card button{font-size:.85rem}}.install-head{display:flex;gap:.85rem;align-items:center;margin:.4rem 0 1rem}.install-head .logo{flex-shrink:0}.install-title{margin:0;font-size:1.1rem}.install-steps{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.7rem}.install-step{display:flex;gap:.7rem;align-items:center;font-size:.92rem;line-height:1.45}.install-step-n{flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:50%;background:#2a2a2a;color:var(--accent);font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}.install-inline{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.install-inline .icon{width:1.15em;height:1.15em}.install-actions{display:flex;gap:.6rem}.install-actions button{flex:1;padding:.7rem}.install-cta{gap:.45rem}.install-cta .icon{width:1.2em;height:1.2em}
