@import "https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg:#000;--text:#fff;--link:#0ff;--font-body:"Raleway", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100dvh;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400}#root{flex-direction:column;display:flex}h1,h2,h3{margin:0;font-weight:800}p{margin:0}a{color:var(--link)}a:not(:link):not(:visited){color:inherit}button{font-family:var(--font-body);color:#000;background:var(--text);cursor:pointer;border:none;border-radius:8px;padding:12px 20px;font-size:16px;font-weight:700}button:disabled{opacity:.5;cursor:default}input,textarea{font-family:var(--font-body);color:var(--text);border:1px solid var(--text);background:0 0;border-radius:8px;padding:12px 16px;font-size:16px}input:focus,textarea:focus{outline:1px solid var(--link)}label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.error{color:var(--text);font-family:var(--font-mono);font-size:13px}.login-screen{padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.login-form{flex-direction:column;gap:8px;width:100%;max-width:320px;display:flex}.conversations-screen{flex-direction:column;flex:1;min-height:0;display:flex}.conversations-header,.search-header,.chat-header,.settings-header,.scheduled-messages-header,.admin-header{border-bottom:1px solid #ffffff26;flex:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.search-icon-button{cursor:pointer;background:0 0;border:none;flex:none;align-items:center;height:44px;padding:4px;display:flex}.search-icon{width:35px;height:35px;transition:transform .2s ease-out;display:block}.search-icon-button:hover .search-icon,.search-icon-button:active .search-icon,.search-icon-button:focus-visible .search-icon{transform:scale(1.3)}.search-icon-button:focus-visible{outline:none}.text-button{color:var(--text);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:0 0;padding:8px 4px;font-size:13px;font-weight:400}.brand-logo{cursor:pointer;height:44px;font-family:var(--font-body);color:var(--text);text-shadow:0 0 6px #ffffffe6,0 0 18px #ffffff80;background:0 0;border:none;flex:none;align-items:center;padding:8px 4px;font-size:25px;font-weight:800;transition:color .2s ease-out,text-shadow .2s ease-out;display:flex}.brand-logo:hover,.brand-logo:active,.brand-logo:focus-visible{text-shadow:0 0 6px var(--link), 0 0 18px var(--link);outline:none}.brand-logo.primary{text-shadow:0 0 6px var(--link), 0 0 18px var(--link)}.brand-logo.primary:hover,.brand-logo.primary:active,.brand-logo.primary:focus-visible{color:var(--link)}.brand-column,.chat-header-title{flex-direction:column;gap:2px;min-width:0;display:flex}.brand-column{align-items:flex-start}.chat-header-title{align-items:flex-end}.brand-name{cursor:pointer;min-width:0;max-width:100%;font-family:var(--font-body);color:var(--text);text-shadow:0 0 6px #ffffffe6,0 0 18px #ffffff80;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:none;padding:2px 4px;font-size:13px;font-weight:800;transition:color .2s ease-out,text-shadow .2s ease-out;overflow:hidden}.brand-name:hover,.brand-name:active,.brand-name:focus-visible{text-shadow:0 0 6px var(--link), 0 0 18px var(--link);outline:none}.brand-name.primary{text-shadow:0 0 6px var(--link), 0 0 18px var(--link)}.brand-name.primary:hover,.brand-name.primary:active,.brand-name.primary:focus-visible{color:var(--link)}.conversations-body{flex:1;overflow-y:auto}.status-text{text-align:center;opacity:.6;padding:24px}.empty-state{height:100%;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.conversation-list{margin:0;padding:0;list-style:none}.conversation-row{width:100%;color:var(--text);font-family:var(--font-body);text-align:left;background:0 0;border-bottom:1px solid #ffffff1a;border-radius:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;font-weight:400;transition:background-color .1s ease-out;display:flex}.conversation-row:hover{background:#ffffff0d}.conversation-row:active{background:#ffffff1f}.conversation-row:focus-visible{outline:1px solid var(--link);outline-offset:-1px}.conversation-row.pinned{border-bottom-color:#ffffff40}.conversation-row.pinned .conversation-name{color:var(--link)}.conversation-main{flex-direction:column;gap:4px;min-width:0;display:flex}.conversation-name-row{align-items:center;gap:4px;min-width:0;display:flex}.conversation-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:400;overflow:hidden}.verified-tick{color:var(--link);flex:none}.conversation-email-row{align-items:center;gap:4px;min-width:0;display:flex}.conversation-email{font-family:var(--font-mono);opacity:.6;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.conversation-preview{opacity:.6;white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.conversation-row.unread .conversation-name,.conversation-row.unread .conversation-preview{font-weight:600}.conversation-side{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.conversation-time{max-width:130px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;opacity:.6;text-align:right;white-space:normal;padding-top:2px;font-size:10px}.unread-badge{background:var(--link);min-width:20px;height:20px;color:var(--bg);font-family:var(--font-mono);text-align:center;border-radius:10px;flex:none;padding:0 6px;font-size:12px;font-weight:600;line-height:20px}.search-screen{flex-direction:column;flex:1;min-height:0;display:flex}.search-body{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.search-filters{flex-wrap:wrap;gap:8px;display:flex}.search-filter{color:var(--text);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:1px solid #ffffff4d;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:400}.search-filter.active{background:var(--link);color:var(--bg);border-color:var(--link)}.search-section{flex-direction:column;gap:4px;display:flex}.search-results{margin:0;padding:0;list-style:none}.search-result{width:100%;color:var(--text);text-align:left;background:0 0;border-bottom:1px solid #ffffff1a;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 4px;font-weight:400;display:flex}.search-result-preview{opacity:.6;font-size:14px}.search-result-time{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;opacity:.5;font-size:11px}.accent-text{color:var(--link)}.chat-screen{flex-direction:column;flex:1;min-height:0;display:flex}.chat-header-title .search-icon-button{padding:0}.chat-messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.load-older{justify-content:center;padding-bottom:4px;display:flex}.message-row.own{text-align:right}.message-row.other{text-align:left}.message-bubble{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;max-width:75%;padding:10px 14px;display:inline-block}.message-bubble.pending{opacity:.6}@keyframes message-highlight-flash{0%,40%{box-shadow:0 0 0 2px var(--link)}to{box-shadow:0 0 0 2px #0000}}.message-row.highlight .message-bubble{animation:2s ease-out message-highlight-flash}.message-row.own .message-bubble{color:var(--text);background:0 0;border:1px solid #ffffff4d;border-bottom-right-radius:4px}.message-row.other .message-bubble{color:var(--text);background:0 0;border:1px solid #ffffff4d;border-bottom-left-radius:4px}.message-bubble-editing{flex-direction:column;gap:6px;min-width:min(220px,75vw);display:flex}.message-edit-input{resize:vertical;width:100%;min-height:2.4em}.message-edit-actions{justify-content:flex-end;gap:8px;display:flex}.message-edit-actions button{padding:6px 14px;font-size:13px}.message-edit-trigger{color:var(--text);opacity:.5;cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-left:6px;padding:0;font-size:13px;line-height:1;display:inline-block}.message-edit-trigger:hover,.message-edit-trigger:focus-visible{opacity:1;color:var(--link)}.message-edited-marker{color:var(--text);opacity:.5;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:none;margin-top:4px;padding:0;font-size:11px;display:block}.message-edited-marker:hover,.message-edited-marker:focus-visible{opacity:.8;color:var(--link)}.message-original-body{opacity:.7;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #fff3;margin-top:4px;padding-top:4px;font-size:13px}.message-time{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:4px;margin-top:4px;font-size:10px;display:flex}.message-row.own .message-time{justify-content:flex-end}.message-row.other .message-time{justify-content:flex-start}.message-time-text{opacity:.5}.read-receipt{color:#ffffff80;flex:none}.read-receipt.read{color:var(--link)}.message-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-top:2px;font-size:13px;display:block}.message-row.own .message-status{text-align:right}.message-row.other .message-status{text-align:left}.message-status.failed{color:var(--text);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;opacity:1;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:400;text-decoration:underline}.offline-banner{font-family:var(--font-mono);border-top:1px solid #ffffff26;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;font-size:13px;display:flex}.offline-banner button{color:var(--text);opacity:.6;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:16px}.chat-composer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid #ffffff26;flex:none;align-items:flex-end;gap:8px;display:flex}.chat-composer textarea{resize:none;scrollbar-width:none;flex:1;max-height:120px;line-height:20px;overflow-y:auto}.chat-composer textarea::-webkit-scrollbar{display:none}.composer-file-input{display:none}.composer-attach{color:var(--text);cursor:pointer;background:0 0;border:none;flex:none;align-self:flex-end;padding:10px 4px;font-size:20px;line-height:1}.composer-attach:disabled{opacity:.4;cursor:default}.composer-input{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.composer-input textarea{width:100%}.composer-image-preview{font-family:var(--font-mono);border:1px solid #ffffff4d;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.composer-image-preview-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-image-preview button{color:var(--text);opacity:.7;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:14px}.composer-offline-hint,.composer-image-error{font-family:var(--font-mono);opacity:.8;font-size:12px}.message-bubble.image-bubble{max-width:min(75%,280px);padding:4px}.image-bubble-media{cursor:pointer;background:#ffffff0d;border:none;border-radius:12px;width:260px;max-width:100%;padding:0;display:block;overflow:hidden}.image-bubble-media:disabled{cursor:default}.image-bubble-media img{object-fit:cover;width:100%;height:100%;display:block}.image-bubble-placeholder{width:100%;height:100%;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;opacity:.6;justify-content:center;align-items:center;font-size:11px;display:flex}.image-bubble-caption{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 8px 2px}.image-lightbox{z-index:100;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-lightbox-media{object-fit:contain;max-width:100%;max-height:100%}.image-lightbox-close{top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px;font-size:24px;position:absolute}.settings-screen{flex-direction:column;flex:1;min-height:0;display:flex}.settings-body{padding:8px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:32px;display:flex;overflow-y:auto}.scheduled-messages-screen{flex-direction:column;flex:1;min-height:0;display:flex}.scheduled-messages-body{padding:8px 20px calc(24px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.scheduled-messages-title{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.scheduled-messages-title h1{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.scheduled-messages-counter{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;opacity:.6;font-size:13px}.schedule-form{gap:16px}.schedule-form-textarea{resize:none;width:100%;min-height:44px;max-height:160px;line-height:20px;overflow-y:auto}.schedule-form-time{flex-direction:column;gap:4px;display:flex}.schedule-form-time input{align-self:flex-start}.recipient-selector{border:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.recipient-row{align-items:center;gap:10px;font-size:15px;display:flex}.recipient-row input[type=checkbox]{flex:none;width:20px;height:20px}.recipient-row-all{border-bottom:1px solid #ffffff1a;padding-bottom:8px;font-weight:600}.scheduled-batch-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.scheduled-batch-row{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.scheduled-batch-main{flex-direction:column;gap:4px;min-width:0;display:flex}.scheduled-batch-preview{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.plugin-error{padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.settings-section{flex-direction:column;gap:12px;padding-top:24px;display:flex}.settings-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;opacity:.6;font-size:13px}.settings-email{color:var(--link);font-weight:600}.display-name-form,.accent-color-form{align-items:center;gap:8px;display:flex}.display-name-form input,.accent-color-form input[type=text]{flex:1;min-width:0}.display-name-form button,.accent-color-form button{flex:none;align-self:center}.accent-color-form input[type=color]{border-radius:8px;flex:none;width:44px;height:44px;padding:4px}.settings-hint{opacity:.6;font-size:14px}.settings-section button{align-self:flex-start}.plugin-list{margin:0;padding:0;list-style:none}.plugin-row{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.plugin-main{flex-direction:column;gap:2px;min-width:0;display:flex}.plugin-name{font-weight:600}.plugin-name.accent{color:var(--link)}.plugin-name-link{text-underline-offset:2px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px}.plugin-description{opacity:.6;font-size:14px}.toggle{background:#ffffff26;border-radius:12px;flex:none;width:44px;height:24px;padding:2px}.toggle.on{background:var(--text)}.toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s ease-out,background-color .15s ease-out;display:block}.toggle.on .toggle-knob{background:var(--link);transform:translate(20px)}.a2hs-banner{padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:#ffffff0f;border-bottom:1px solid #ffffff26;flex:none;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.a2hs-banner p{margin:0}.a2hs-icon{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:13px}.a2hs-dismiss{width:28px;height:28px;color:var(--text);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:flex}.a2hs-dismiss:active{background:#ffffff26}.a2hs-actions{flex:none;align-items:center;gap:4px;display:flex}.a2hs-install{border-radius:6px;padding:6px 14px;font-size:13px}.header-icons{flex:none;align-items:center;gap:4px;display:flex}.bell-button{cursor:pointer;height:44px;color:var(--text);background:0 0;border:none;flex:none;align-items:center;padding:4px;display:flex}.bell-button:disabled{opacity:.6;cursor:default}.admin-icon-button{cursor:pointer;height:44px;color:var(--text);background:0 0;border:none;flex:none;align-items:center;padding:4px;display:flex}.sheet-backdrop{z-index:100;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:480px;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));border:1px solid #ffffff26;border-bottom:none;border-radius:16px 16px 0 0;flex-direction:column;gap:12px;display:flex}.sheet button{align-self:flex-start}.admin-screen{flex-direction:column;flex:1;min-height:0;display:flex}.admin-body{padding:8px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.admin-header-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:18px;overflow:hidden}.admin-user-list{margin:0;padding:0;list-style:none}.admin-user-row{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 0;display:flex}.admin-user-row.disabled{opacity:.6}.admin-user-main{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-user-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.admin-user-side{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}
