@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/manrope-latin-DHIcAJRg.woff2) format("woff2")}@font-face{font-family:Unbounded;font-style:normal;font-weight:600 900;font-display:swap;src:url(/assets/unbounded-latin-D5afBTBx.woff2) format("woff2")}:root{--bg: oklch(.33 .065 162);--surface: oklch(.39 .065 162);--surface-2: oklch(.45 .065 162);--border: oklch(.52 .06 162);--text: oklch(.96 .01 162);--text-muted: oklch(.74 .02 162);--accent: #fec700;--accent-ink: oklch(.2 .03 162);--accent-2: oklch(.72 .16 195);--warn-bg: oklch(.3 .06 35);--warn-border: oklch(.54 .14 35);--warn-ink: oklch(.93 .02 50);--danger: #e5484d;--radius-lg: 28px;--radius-md: 18px;--radius-pill: 999px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4;overflow-x:hidden}.display{font-family:Unbounded,system-ui,sans-serif}#app{min-height:100vh;min-height:100dvh;min-height:calc(var(--app-vh, 100dvh));max-width:480px;margin:0 auto;display:flex;flex-direction:column;position:relative}a{color:var(--accent);font-weight:700}a:hover{opacity:.85}.hint{color:var(--text-muted);font-size:.9em}.error{color:var(--danger);font-size:.9em}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-md);padding:.85em 1.2em;font-family:Manrope,sans-serif;font-weight:800;font-size:1em;cursor:pointer;text-decoration:none;text-align:center}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger);font-weight:700}button.ghost,.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border);font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}input,select{width:100%;height:56px;padding:0 1.1em;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:Manrope,sans-serif;font-size:1em}input[type=checkbox],input[type=radio]{width:1.2em;height:1.2em;padding:0;border-radius:4px;flex-shrink:0}label{display:block;margin-bottom:1.1em;font-size:.78em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}label input,label select{margin-top:.5em;text-transform:none;letter-spacing:normal;font-size:1rem;font-weight:500;color:var(--text)}.form{display:flex;flex-direction:column}.password-field{position:relative;margin-top:.5em}.password-field input{margin-top:0;padding-right:3.2em}.password-toggle{position:absolute;top:0;right:0;width:3.2em;height:100%;padding:0;background:transparent;color:var(--text-muted);border-radius:var(--radius-md)}.password-toggle:hover{color:var(--text)}.auth-screen{min-height:100vh;padding:1.8rem 1.5rem 2rem;display:flex;flex-direction:column;gap:1.4rem;position:relative}.auth-glow{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 72%);opacity:.22;pointer-events:none;z-index:0}.auth-glow.top-right{top:-110px;right:-110px}.auth-glow.bottom-left{bottom:80px;left:-130px;opacity:.12}.auth-screen>*:not(.auth-glow){position:relative;z-index:1}.wordmark{color:var(--text);font-size:2.1rem;font-weight:900;line-height:1.05;letter-spacing:-.02em;margin:0}.warning-box{background:var(--warn-bg);border:1.5px solid var(--warn-border);border-radius:var(--radius-md);padding:1em;display:flex;gap:.75em;color:var(--warn-ink);font-size:.9em;line-height:1.5}.warning-box svg{flex-shrink:0;margin-top:2px}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;height:calc(var(--app-vh, 100dvh))}.app-header{display:flex;align-items:center;gap:.85em;padding:1.8rem 1.4rem 1.1rem;border-bottom:1px solid var(--border)}.app-header h1{font-family:Unbounded,sans-serif;font-size:1.4rem;font-weight:800;margin:0;flex:1}.chat-header-text{flex:1;min-width:0}.chat-header-text h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-title-input{font-family:Unbounded,sans-serif;font-size:1.4rem;font-weight:800;width:100%;height:auto;padding:.15em 0;border:none;border-bottom:2px solid var(--accent);border-radius:0;background:transparent;color:var(--text)}.chat-title-input:focus{outline:none}.typing-indicator{margin:.15em 0 0;font-size:.8em;font-weight:700;color:var(--accent-2)}.header-actions{display:flex;gap:.6em;align-items:center}.header-actions .btn{border-radius:var(--radius-pill);padding:.6em 1.1em;font-size:.85em}.back-link{font-size:1.3em;text-decoration:none;color:var(--text)}.icon-btn,.icon-link{width:40px;height:40px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);text-decoration:none;font-size:1.1em;flex-shrink:0}button.icon-btn.danger,button.icon-link.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.chat-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.chat-list-item{display:flex;align-items:center;gap:.9em;padding:1.1em 1.4rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.chat-list-row{position:relative;overflow:hidden}.chat-list-delete{position:absolute;top:0;right:0;bottom:0;width:76px;border:none;background:var(--danger);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.chat-list-swipe{position:relative;background:var(--bg);touch-action:pan-y}.avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:Unbounded,sans-serif;font-weight:700;font-size:1.05em;color:var(--accent-ink);background:color-mix(in oklch,var(--accent) 45%,var(--surface-2))}.chat-list-item .name{flex:1;font-weight:700;font-size:1.02em}.badge{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);padding:.2em .6em;font-size:.78em;font-weight:800;min-width:1.5em;text-align:center}.messages{flex:1;min-height:0;overflow-y:auto;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:1rem}.bubble-row{display:flex;flex-direction:column}.bubble-row.outgoing{align-items:flex-end}.bubble-row.incoming{align-items:flex-start}.bubble{max-width:78%;padding:.75em 1em;border-radius:var(--radius-lg);font-size:.95em;line-height:1.4;font-weight:500}.bubble-text{margin:0;white-space:pre-wrap;word-break:break-word}.bubble.incoming{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.bubble.outgoing{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:6px;font-weight:600}.bubble-meta{display:flex;align-items:center;gap:.5em;margin-top:.5em;font-size:.75em;font-weight:700}.bubble-row.outgoing .bubble-meta{justify-content:flex-end}.expiry-ring{flex-shrink:0}.read-pill{height:30px;padding:0 .9em;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);font-size:.85em;font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:.4em}.send-form{display:flex;align-items:flex-end;gap:.6em;padding:1rem 1.4rem 1.6rem;border-top:1px solid var(--border)}.send-form textarea{flex:1;resize:none;min-height:48px;max-height:6.5em;padding:.75em 1.1em;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:Manrope,sans-serif;font-size:1em;line-height:1.4;overflow-y:auto}.send-form button{width:48px;height:48px;padding:0;border-radius:50%;flex-shrink:0}.bubble{position:relative}.reaction-badge{position:absolute;bottom:-.6em;right:.6em;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05em .35em;font-size:.95em;line-height:1.4}.bubble-row.incoming .reaction-badge{right:auto;left:.6em}.react-trigger{background:none;border:none;color:var(--text-muted);display:inline-flex;align-items:center;padding:.1em .2em;cursor:pointer}.reaction-picker{display:flex;gap:.3em;margin-top:.5em;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.3em .5em;width:fit-content}.bubble-row.outgoing .reaction-picker{align-self:flex-end}.reaction-option{background:none;border:none;font-size:1.15em;line-height:1;padding:.15em;cursor:pointer}.reaction-option:hover{transform:scale(1.15)}.status-icon{display:inline-flex;align-items:center;color:var(--text-muted)}.status-icon.pending{font-weight:900;letter-spacing:1px}.bubble-image{display:block;max-width:100%;max-height:260px;border-radius:var(--radius-md);margin-bottom:.3em}.bubble-audio{display:block;width:100%;min-width:220px;margin-bottom:.2em}.bubble-file{display:flex;align-items:center;gap:.7em;text-decoration:none;color:inherit;padding:.2em 0}.bubble-file-info{display:flex;flex-direction:column;min-width:0}.bubble-file-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34vw}.recording-bar{display:flex;align-items:center;gap:.7em;padding:1rem 1.4rem 1.6rem;border-top:1px solid var(--border)}.recording-dot{width:12px;height:12px;border-radius:50%;background:var(--danger);flex-shrink:0;animation:recording-pulse 1.2s ease-in-out infinite}@keyframes recording-pulse{0%,to{opacity:1}50%{opacity:.3}}#recording-time{font-weight:800;font-variant-numeric:tabular-nums}.recording-bar .hint{flex:1}#recording-stop{width:48px;height:48px;padding:0;border-radius:50%;flex-shrink:0}.settings-screen,.invite-screen{padding:1.4rem;display:flex;flex-direction:column;gap:1.1em;flex:1}#install-status,#notification-status{display:flex;flex-direction:column;gap:1.1em}#disable-notifications-btn{margin-top:.6em}.chatlock-section{display:flex;flex-direction:column;gap:1.1em}.plus-card{display:flex;flex-direction:column;align-items:center;gap:.9em;padding:1.2em 1em;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center}.plus-logo{display:block;width:100%;max-width:220px;height:auto;transition:opacity .3s ease}.plus-logo-off{opacity:.3;filter:grayscale(1);pointer-events:none}.plus-text{display:flex;flex-direction:column;align-items:center;gap:.7em}.plus-text p{margin:0}#disguise-section{display:flex;flex-direction:column;gap:1.1em}.disguise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem .5rem}.disguise-item{display:flex;flex-direction:column;align-items:center;gap:.35em;padding:.5em .2em;background:transparent;color:var(--text-muted);border:2px solid transparent;border-radius:var(--radius-md);font-size:.75em;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.disguise-item img{display:block;width:56px;height:56px;border-radius:12px}.disguise-item[aria-pressed=true]{border-color:var(--accent);background:var(--surface);color:var(--text)}.qr-frame{background:#fff;border-radius:20px;padding:16px;display:flex;align-items:center;justify-content:center;align-self:center}.qr-frame canvas{display:block;border-radius:4px}.link-row{display:flex;gap:.6em}.link-pill{flex:1;height:52px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;padding:0 1em;font-size:.85em;color:var(--text-muted);font-family:monospace;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}hr{border:none;border-top:1px solid var(--border);width:100%}code{background:var(--surface);padding:.15em .45em;border-radius:4px;font-size:.92em}.wordmark-img{display:block;width:min(260px,100%);height:auto}.schedule-panel{display:flex;flex-direction:column;gap:.7rem;margin:0 1.4rem .6rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.schedule-panel input[type=datetime-local]{width:100%}.schedule-quick,.schedule-actions{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-panel .hint{margin:0;font-size:.85rem}.scheduled-label{display:inline-flex;align-items:center;gap:.35em;color:var(--accent);font-weight:700}.schedule-image{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.schedule-image .hint{margin:0;font-size:.85rem;color:var(--text-muted);overflow-wrap:anywhere}
